@satrush/client 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -427,6 +427,11 @@ type PublicDeploySettled = {
427
427
  wonSharesAmount: bigint;
428
428
  /** Hashrate points credited for the play. */
429
429
  hashrateEarned: bigint;
430
+ /**
431
+ * Deferred hashrate bonus accrued to `Miner.unclaimed_hashrate`
432
+ * (`hashrate_earned · unclaimed_hashrate_bps / 10_000`, floored).
433
+ */
434
+ unclaimedHashrateEarned: bigint;
430
435
  /** The deployment was created by a `PublicAutomation`. */
431
436
  isAutomation: boolean;
432
437
  /**
@@ -446,6 +451,11 @@ type PublicDeploySettledArgs = {
446
451
  wonSharesAmount: number | bigint;
447
452
  /** Hashrate points credited for the play. */
448
453
  hashrateEarned: number | bigint;
454
+ /**
455
+ * Deferred hashrate bonus accrued to `Miner.unclaimed_hashrate`
456
+ * (`hashrate_earned · unclaimed_hashrate_bps / 10_000`, floored).
457
+ */
458
+ unclaimedHashrateEarned: number | bigint;
449
459
  /** The deployment was created by a `PublicAutomation`. */
450
460
  isAutomation: boolean;
451
461
  /**
@@ -474,8 +484,20 @@ type RoundRevealed = {
474
484
  * roll into the round's payout pools).
475
485
  */
476
486
  isStrikeTriggered: boolean;
487
+ strikeBonusUsd: bigint;
488
+ strikeBonusBtc: bigint;
489
+ };
490
+ type RoundRevealedArgs = {
491
+ roundId: number;
492
+ winningTile: number;
493
+ /**
494
+ * Whether the ~1/1440 strike jackpot draw fired for this round (its funds
495
+ * roll into the round's payout pools).
496
+ */
497
+ isStrikeTriggered: boolean;
498
+ strikeBonusUsd: number | bigint;
499
+ strikeBonusBtc: number | bigint;
477
500
  };
478
- type RoundRevealedArgs = RoundRevealed;
479
501
  declare function getRoundRevealedEncoder(): FixedSizeEncoder<RoundRevealedArgs>;
480
502
  declare function getRoundRevealedDecoder(): FixedSizeDecoder<RoundRevealed>;
481
503
  declare function getRoundRevealedCodec(): FixedSizeCodec<RoundRevealedArgs, RoundRevealed>;
@@ -521,6 +543,42 @@ declare function getRoundStateEncoder(): FixedSizeEncoder<RoundStateArgs>;
521
543
  declare function getRoundStateDecoder(): FixedSizeDecoder<RoundState>;
522
544
  declare function getRoundStateCodec(): FixedSizeCodec<RoundStateArgs, RoundState>;
523
545
 
546
+ /**
547
+ * This code was AUTOGENERATED using the Codama library.
548
+ * Please DO NOT EDIT THIS FILE, instead use visitors
549
+ * to add features, then rerun Codama to update it.
550
+ *
551
+ * @see https://github.com/codama-idl/codama
552
+ */
553
+
554
+ type SatsClaimed = {
555
+ authority: Address;
556
+ /** Shares burned by this claim. */
557
+ claimedShares: bigint;
558
+ /** Net BTC transferred to the miner (after the vault claim fee). */
559
+ btcReceived: bigint;
560
+ /**
561
+ * Unclaimed hashrate converted into `hashrate_amount`, proportional to
562
+ * the share of the balance claimed.
563
+ */
564
+ claimedHashrate: bigint;
565
+ };
566
+ type SatsClaimedArgs = {
567
+ authority: Address;
568
+ /** Shares burned by this claim. */
569
+ claimedShares: number | bigint;
570
+ /** Net BTC transferred to the miner (after the vault claim fee). */
571
+ btcReceived: number | bigint;
572
+ /**
573
+ * Unclaimed hashrate converted into `hashrate_amount`, proportional to
574
+ * the share of the balance claimed.
575
+ */
576
+ claimedHashrate: number | bigint;
577
+ };
578
+ declare function getSatsClaimedEncoder(): FixedSizeEncoder<SatsClaimedArgs>;
579
+ declare function getSatsClaimedDecoder(): FixedSizeDecoder<SatsClaimed>;
580
+ declare function getSatsClaimedCodec(): FixedSizeCodec<SatsClaimedArgs, SatsClaimed>;
581
+
524
582
  /**
525
583
  * This code was AUTOGENERATED using the Codama library.
526
584
  * Please DO NOT EDIT THIS FILE, instead use visitors
@@ -754,12 +812,21 @@ type Miner = {
754
812
  unclaimedUsdAmount: bigint;
755
813
  /** Amount of unclaimed btc shares in Sats Vault */
756
814
  unclaimedBtcShares: bigint;
757
- /** Amount of accumulated hashrate points */
815
+ /**
816
+ * Amount of accumulated hashrate points, in raw units with 2 display
817
+ * decimals (`HASHRATE_DECIMALS`): raw 101 = 1.01 points.
818
+ */
758
819
  hashrateAmount: bigint;
759
820
  /** Amount of consequential rounds played */
760
821
  currentStreakCount: number;
761
822
  /** Last played round id */
762
823
  lastMinedRoundId: number;
824
+ /**
825
+ * Deferred hashrate bonus (same raw units as `hashrate_amount`), accrued
826
+ * at settle as a bps share of the play's reward; converts into
827
+ * `hashrate_amount` share-proportionally on `claim_sats`.
828
+ */
829
+ unclaimedHashrate: bigint;
763
830
  /** Reserved */
764
831
  reserved: ReadonlyUint8Array;
765
832
  };
@@ -774,12 +841,21 @@ type MinerArgs = {
774
841
  unclaimedUsdAmount: number | bigint;
775
842
  /** Amount of unclaimed btc shares in Sats Vault */
776
843
  unclaimedBtcShares: number | bigint;
777
- /** Amount of accumulated hashrate points */
844
+ /**
845
+ * Amount of accumulated hashrate points, in raw units with 2 display
846
+ * decimals (`HASHRATE_DECIMALS`): raw 101 = 1.01 points.
847
+ */
778
848
  hashrateAmount: number | bigint;
779
849
  /** Amount of consequential rounds played */
780
850
  currentStreakCount: number;
781
851
  /** Last played round id */
782
852
  lastMinedRoundId: number;
853
+ /**
854
+ * Deferred hashrate bonus (same raw units as `hashrate_amount`), accrued
855
+ * at settle as a bps share of the play's reward; converts into
856
+ * `hashrate_amount` share-proportionally on `claim_sats`.
857
+ */
858
+ unclaimedHashrate: number | bigint;
783
859
  /** Reserved */
784
860
  reserved: ReadonlyUint8Array;
785
861
  };
@@ -987,12 +1063,19 @@ type PublicAutomation = {
987
1063
  /** Whether settled USD winnings reload `remaining_usd_amount`. */
988
1064
  reload: boolean;
989
1065
  /**
990
- * Gross deploy size per round; fee legs are charged on top of it from the
991
- * balance, matching manual deploy semantics.
1066
+ * Gross deploy size per round; all fee legs are deducted from it, so it is
1067
+ * exactly what the balance parts with, matching manual deploy semantics.
992
1068
  */
993
1069
  perRoundUsdAmount: bigint;
994
1070
  /** Escrowed funds still available; mirrors the automation's USD ATA. */
995
1071
  remainingUsdAmount: bigint;
1072
+ /**
1073
+ * Lifetime gross USD debited by executes. Only executes move it, and each
1074
+ * debits exactly `per_round_usd_amount` (immutable), so rounds played =
1075
+ * `total_spent_usd_amount / per_round_usd_amount` without indexing.
1076
+ * Carved out of `reserved`, so pre-existing accounts read 0.
1077
+ */
1078
+ totalSpentUsdAmount: bigint;
996
1079
  /** Reserved. */
997
1080
  reserved: ReadonlyUint8Array;
998
1081
  };
@@ -1016,12 +1099,19 @@ type PublicAutomationArgs = {
1016
1099
  /** Whether settled USD winnings reload `remaining_usd_amount`. */
1017
1100
  reload: boolean;
1018
1101
  /**
1019
- * Gross deploy size per round; fee legs are charged on top of it from the
1020
- * balance, matching manual deploy semantics.
1102
+ * Gross deploy size per round; all fee legs are deducted from it, so it is
1103
+ * exactly what the balance parts with, matching manual deploy semantics.
1021
1104
  */
1022
1105
  perRoundUsdAmount: number | bigint;
1023
1106
  /** Escrowed funds still available; mirrors the automation's USD ATA. */
1024
1107
  remainingUsdAmount: number | bigint;
1108
+ /**
1109
+ * Lifetime gross USD debited by executes. Only executes move it, and each
1110
+ * debits exactly `per_round_usd_amount` (immutable), so rounds played =
1111
+ * `total_spent_usd_amount / per_round_usd_amount` without indexing.
1112
+ * Carved out of `reserved`, so pre-existing accounts read 0.
1113
+ */
1114
+ totalSpentUsdAmount: number | bigint;
1025
1115
  /** Reserved. */
1026
1116
  reserved: ReadonlyUint8Array;
1027
1117
  };
@@ -1059,8 +1149,10 @@ type PublicDeployment = {
1059
1149
  authority: Address;
1060
1150
  /** Deployment round id. */
1061
1151
  roundId: number;
1062
- /** Amount of deployed USD after protocol fees. */
1152
+ /** Gross USD amount the user provided at deploy time, before the fees */
1063
1153
  deployedUsdAmount: bigint;
1154
+ /** Total USD stake after protocol fees are taken. */
1155
+ totalStakeUsdAmount: bigint;
1064
1156
  /** 21-bit selection mask */
1065
1157
  selectionMask: number;
1066
1158
  /**
@@ -1068,7 +1160,7 @@ type PublicDeployment = {
1068
1160
  * the reward reflects the streak this play earned, not the miner's live
1069
1161
  * streak (which advances on later deploys).
1070
1162
  */
1071
- streakSnapshot: number;
1163
+ streakMultiplier: number;
1072
1164
  /**
1073
1165
  * `PublicAutomation` PDA that created this deployment, or `None` for
1074
1166
  * manual deploys. Settlement reads it to route USD winnings and rent.
@@ -1086,8 +1178,10 @@ type PublicDeploymentArgs = {
1086
1178
  authority: Address;
1087
1179
  /** Deployment round id. */
1088
1180
  roundId: number;
1089
- /** Amount of deployed USD after protocol fees. */
1181
+ /** Gross USD amount the user provided at deploy time, before the fees */
1090
1182
  deployedUsdAmount: number | bigint;
1183
+ /** Total USD stake after protocol fees are taken. */
1184
+ totalStakeUsdAmount: number | bigint;
1091
1185
  /** 21-bit selection mask */
1092
1186
  selectionMask: number;
1093
1187
  /**
@@ -1095,7 +1189,7 @@ type PublicDeploymentArgs = {
1095
1189
  * the reward reflects the streak this play earned, not the miner's live
1096
1190
  * streak (which advances on later deploys).
1097
1191
  */
1098
- streakSnapshot: number;
1192
+ streakMultiplier: number;
1099
1193
  /**
1100
1194
  * `PublicAutomation` PDA that created this deployment, or `None` for
1101
1195
  * manual deploys. Settlement reads it to route USD winnings and rent.
@@ -1137,8 +1231,8 @@ type Round = {
1137
1231
  id: number;
1138
1232
  /** Round state */
1139
1233
  state: RoundState;
1140
- /** Entropy value, derived from the slot hashes */
1141
- entropy: ReadonlyUint8Array;
1234
+ /** Raw blockhash entropy, read from the SlotHashes sysvar at reveal. */
1235
+ blockhashEntropy: ReadonlyUint8Array;
1142
1236
  /** Winning tile index, revealed upon settlement */
1143
1237
  winningTile: Option<number>;
1144
1238
  /** Total net USD deployed into the round before the USD->BTC swap */
@@ -1151,12 +1245,7 @@ type Round = {
1151
1245
  deployedUsdOnWinningTileAmount: bigint;
1152
1246
  /** Total amount of players in the round */
1153
1247
  minersCount: number;
1154
- /**
1155
- * Number of miners whose selection is revealed. Public deploys are revealed
1156
- * by construction, so they advance this counter at deploy time; future
1157
- * private deploys join `miners_count` first and catch up here on reveal.
1158
- * The round can only settle once it equals `miners_count`.
1159
- */
1248
+ /** Number of miners whose selection is revealed. */
1160
1249
  revealedMinersCount: number;
1161
1250
  /** Total amount of winners, revealed during settlement */
1162
1251
  winnersCount: number;
@@ -1172,6 +1261,19 @@ type Round = {
1172
1261
  * tile's totals without a per-deployment settlement pass.
1173
1262
  */
1174
1263
  publicTileStakes: Array<TileStake>;
1264
+ /** Running hash-chain accumulator of every public deploy. */
1265
+ deployEntropyAcc: ReadonlyUint8Array;
1266
+ /** Slot at which the round reached `Settled` state. */
1267
+ settledAtSlot: bigint;
1268
+ /**
1269
+ * Epoch Vault fee accrued by this round's deploys, in USD base units.
1270
+ * Physically sits in the board's USD pool until swept at rotation.
1271
+ */
1272
+ pendingEpochFeeUsdAmount: bigint;
1273
+ /** 1 BTC Vault fee accrued by this round's deploys; same lifecycle. */
1274
+ pendingOneBtcFeeUsdAmount: bigint;
1275
+ /** Protocol (treasury) fee accrued by this round's deploys; same lifecycle. */
1276
+ pendingProtocolFeeUsdAmount: bigint;
1175
1277
  /** Reserved. */
1176
1278
  reserved: ReadonlyUint8Array;
1177
1279
  };
@@ -1184,8 +1286,8 @@ type RoundArgs = {
1184
1286
  id: number;
1185
1287
  /** Round state */
1186
1288
  state: RoundStateArgs;
1187
- /** Entropy value, derived from the slot hashes */
1188
- entropy: ReadonlyUint8Array;
1289
+ /** Raw blockhash entropy, read from the SlotHashes sysvar at reveal. */
1290
+ blockhashEntropy: ReadonlyUint8Array;
1189
1291
  /** Winning tile index, revealed upon settlement */
1190
1292
  winningTile: OptionOrNullable<number>;
1191
1293
  /** Total net USD deployed into the round before the USD->BTC swap */
@@ -1198,12 +1300,7 @@ type RoundArgs = {
1198
1300
  deployedUsdOnWinningTileAmount: number | bigint;
1199
1301
  /** Total amount of players in the round */
1200
1302
  minersCount: number;
1201
- /**
1202
- * Number of miners whose selection is revealed. Public deploys are revealed
1203
- * by construction, so they advance this counter at deploy time; future
1204
- * private deploys join `miners_count` first and catch up here on reveal.
1205
- * The round can only settle once it equals `miners_count`.
1206
- */
1303
+ /** Number of miners whose selection is revealed. */
1207
1304
  revealedMinersCount: number;
1208
1305
  /** Total amount of winners, revealed during settlement */
1209
1306
  winnersCount: number;
@@ -1219,6 +1316,19 @@ type RoundArgs = {
1219
1316
  * tile's totals without a per-deployment settlement pass.
1220
1317
  */
1221
1318
  publicTileStakes: Array<TileStakeArgs>;
1319
+ /** Running hash-chain accumulator of every public deploy. */
1320
+ deployEntropyAcc: ReadonlyUint8Array;
1321
+ /** Slot at which the round reached `Settled` state. */
1322
+ settledAtSlot: number | bigint;
1323
+ /**
1324
+ * Epoch Vault fee accrued by this round's deploys, in USD base units.
1325
+ * Physically sits in the board's USD pool until swept at rotation.
1326
+ */
1327
+ pendingEpochFeeUsdAmount: number | bigint;
1328
+ /** 1 BTC Vault fee accrued by this round's deploys; same lifecycle. */
1329
+ pendingOneBtcFeeUsdAmount: number | bigint;
1330
+ /** Protocol (treasury) fee accrued by this round's deploys; same lifecycle. */
1331
+ pendingProtocolFeeUsdAmount: number | bigint;
1222
1332
  /** Reserved. */
1223
1333
  reserved: ReadonlyUint8Array;
1224
1334
  };
@@ -1251,10 +1361,10 @@ type SatrushConfig = {
1251
1361
  version: number;
1252
1362
  /** Bump seed for the config account. */
1253
1363
  bump: number;
1254
- /** Current update authority address for both Config and other PDAs - can be updated. */
1255
- adminAuthority: Address;
1256
1364
  /** Owner of the program. Can change ownership and set the admin of the program. */
1257
1365
  ownerAuthority: Address;
1366
+ /** Current update authority address for both Config and other PDAs - can be updated. */
1367
+ adminAuthority: Address;
1258
1368
  /** Address of the authority controlling the round flow. */
1259
1369
  roundAuthority: Address;
1260
1370
  /** Protocol fees recipient address. */
@@ -1275,6 +1385,18 @@ type SatrushConfig = {
1275
1385
  satsVaultClaimFeeBps: number;
1276
1386
  /** Protocol fee in basis points. */
1277
1387
  protocolFeeBps: number;
1388
+ /** Share of each settled play's hashrate reward deferred until the sats claim in basis points. */
1389
+ unclaimedHashrateBps: number;
1390
+ /** Minimum gross deploy size per round, manual or automated, in USD mint (6 decimals). */
1391
+ minDeployUsdAmount: bigint;
1392
+ /** Epoch Vault iteration length in slots. */
1393
+ epochVaultIterationDuration: bigint;
1394
+ /**
1395
+ * Grace window, in slots after `Round::settled_at_slot`, during which
1396
+ * only the normal settle path applies; afterward stale deployments
1397
+ * become eligible for third-party cleanup
1398
+ */
1399
+ deploymentSettleGraceDuration: bigint;
1278
1400
  /** Reserved */
1279
1401
  reserved: ReadonlyUint8Array;
1280
1402
  };
@@ -1283,10 +1405,10 @@ type SatrushConfigArgs = {
1283
1405
  version: number;
1284
1406
  /** Bump seed for the config account. */
1285
1407
  bump: number;
1286
- /** Current update authority address for both Config and other PDAs - can be updated. */
1287
- adminAuthority: Address;
1288
1408
  /** Owner of the program. Can change ownership and set the admin of the program. */
1289
1409
  ownerAuthority: Address;
1410
+ /** Current update authority address for both Config and other PDAs - can be updated. */
1411
+ adminAuthority: Address;
1290
1412
  /** Address of the authority controlling the round flow. */
1291
1413
  roundAuthority: Address;
1292
1414
  /** Protocol fees recipient address. */
@@ -1307,6 +1429,18 @@ type SatrushConfigArgs = {
1307
1429
  satsVaultClaimFeeBps: number;
1308
1430
  /** Protocol fee in basis points. */
1309
1431
  protocolFeeBps: number;
1432
+ /** Share of each settled play's hashrate reward deferred until the sats claim in basis points. */
1433
+ unclaimedHashrateBps: number;
1434
+ /** Minimum gross deploy size per round, manual or automated, in USD mint (6 decimals). */
1435
+ minDeployUsdAmount: number | bigint;
1436
+ /** Epoch Vault iteration length in slots. */
1437
+ epochVaultIterationDuration: number | bigint;
1438
+ /**
1439
+ * Grace window, in slots after `Round::settled_at_slot`, during which
1440
+ * only the normal settle path applies; afterward stale deployments
1441
+ * become eligible for third-party cleanup
1442
+ */
1443
+ deploymentSettleGraceDuration: number | bigint;
1310
1444
  /** Reserved */
1311
1445
  reserved: ReadonlyUint8Array;
1312
1446
  };
@@ -1340,10 +1474,19 @@ type SatsVault = {
1340
1474
  version: number;
1341
1475
  /** PDA bump seed. */
1342
1476
  bump: number;
1343
- /** Total BTC backing outstanding shares. Mirrors `sats_vault_btc_ata.amount`. */
1477
+ /**
1478
+ * Total BTC backing outstanding shares. Together with `leftovers` it
1479
+ * mirrors the reserves: `sats_vault_btc_ata.amount == btc_amount + leftovers`.
1480
+ */
1344
1481
  btcAmount: bigint;
1345
1482
  /** Total shares issued against `btc_amount`. */
1346
1483
  btcShares: bigint;
1484
+ /**
1485
+ * BTC left behind by full drains (fees with no remaining holders). Sits in
1486
+ * `sats_vault_btc_ata` but backs no shares; claimable by the protocol.
1487
+ * Invariant: `sats_vault_btc_ata.amount == btc_amount + leftovers`.
1488
+ */
1489
+ leftovers: bigint;
1347
1490
  /** Reserved */
1348
1491
  reserved: ReadonlyUint8Array;
1349
1492
  };
@@ -1352,10 +1495,19 @@ type SatsVaultArgs = {
1352
1495
  version: number;
1353
1496
  /** PDA bump seed. */
1354
1497
  bump: number;
1355
- /** Total BTC backing outstanding shares. Mirrors `sats_vault_btc_ata.amount`. */
1498
+ /**
1499
+ * Total BTC backing outstanding shares. Together with `leftovers` it
1500
+ * mirrors the reserves: `sats_vault_btc_ata.amount == btc_amount + leftovers`.
1501
+ */
1356
1502
  btcAmount: number | bigint;
1357
1503
  /** Total shares issued against `btc_amount`. */
1358
1504
  btcShares: number | bigint;
1505
+ /**
1506
+ * BTC left behind by full drains (fees with no remaining holders). Sits in
1507
+ * `sats_vault_btc_ata` but backs no shares; claimable by the protocol.
1508
+ * Invariant: `sats_vault_btc_ata.amount == btc_amount + leftovers`.
1509
+ */
1510
+ leftovers: number | bigint;
1359
1511
  /** Reserved */
1360
1512
  reserved: ReadonlyUint8Array;
1361
1513
  };
@@ -1391,6 +1543,8 @@ type Treasury = {
1391
1543
  bump: number;
1392
1544
  /** USD protocol fees accrued and not yet withdrawn; mirrors the ATA balance. */
1393
1545
  pendingUsdAmount: bigint;
1546
+ /** BTC swept from no-winner rounds and not yet withdrawn; */
1547
+ pendingBtcAmount: bigint;
1394
1548
  /** Reserved. */
1395
1549
  reserved: ReadonlyUint8Array;
1396
1550
  };
@@ -1401,6 +1555,8 @@ type TreasuryArgs = {
1401
1555
  bump: number;
1402
1556
  /** USD protocol fees accrued and not yet withdrawn; mirrors the ATA balance. */
1403
1557
  pendingUsdAmount: number | bigint;
1558
+ /** BTC swept from no-winner rounds and not yet withdrawn; */
1559
+ pendingBtcAmount: number | bigint;
1404
1560
  /** Reserved. */
1405
1561
  reserved: ReadonlyUint8Array;
1406
1562
  };
@@ -1452,91 +1608,81 @@ declare const SATRUSH_ERROR__ALREADY_REVEALED = 6010;
1452
1608
  declare const SATRUSH_ERROR__INVALID_SLOT_HASH = 6011;
1453
1609
  /** RoundNotRevealed: Round winning tile has not been revealed yet */
1454
1610
  declare const SATRUSH_ERROR__ROUND_NOT_REVEALED = 6012;
1455
- /** AlreadySettled: Deployment has already been settled */
1456
- declare const SATRUSH_ERROR__ALREADY_SETTLED = 6013;
1611
+ /** RoundNotFinished: Round is not in the finished state */
1612
+ declare const SATRUSH_ERROR__ROUND_NOT_FINISHED = 6013;
1457
1613
  /** RoundNotSettled: Round is not in the settled state */
1458
1614
  declare const SATRUSH_ERROR__ROUND_NOT_SETTLED = 6014;
1459
- /** DeploymentNotSettled: Deployment has not been settled yet */
1460
- declare const SATRUSH_ERROR__DEPLOYMENT_NOT_SETTLED = 6015;
1461
- /** RoundWindowClosed: Round is not currently accepting deploys (window closed) */
1462
- declare const SATRUSH_ERROR__ROUND_WINDOW_CLOSED = 6016;
1463
- /** BoardAlreadyBootstrapped: Board already has a round; use advance_round to rotate */
1464
- declare const SATRUSH_ERROR__BOARD_ALREADY_BOOTSTRAPPED = 6017;
1465
1615
  /** InvalidSwapProgram: Swap program account does not match the configured swap program */
1466
- declare const SATRUSH_ERROR__INVALID_SWAP_PROGRAM = 6018;
1616
+ declare const SATRUSH_ERROR__INVALID_SWAP_PROGRAM = 6015;
1467
1617
  /** AlreadySwapped: Round stake has already been swapped into BTC */
1468
- declare const SATRUSH_ERROR__ALREADY_SWAPPED = 6019;
1618
+ declare const SATRUSH_ERROR__ALREADY_SWAPPED = 6016;
1469
1619
  /** SwapOverspent: Swap spent more USD than the budgeted amount */
1470
- declare const SATRUSH_ERROR__SWAP_OVERSPENT = 6020;
1620
+ declare const SATRUSH_ERROR__SWAP_OVERSPENT = 6017;
1471
1621
  /** SlippageExceeded: Swap output is below the minimum acceptable amount */
1472
- declare const SATRUSH_ERROR__SLIPPAGE_EXCEEDED = 6021;
1473
- /** InvalidJupiterRoute: Invalid jupiter route was provided */
1474
- declare const SATRUSH_ERROR__INVALID_JUPITER_ROUTE = 6022;
1622
+ declare const SATRUSH_ERROR__SLIPPAGE_EXCEEDED = 6018;
1475
1623
  /** InvalidShareAmount: Share amount must be greater than zero */
1476
- declare const SATRUSH_ERROR__INVALID_SHARE_AMOUNT = 6023;
1624
+ declare const SATRUSH_ERROR__INVALID_SHARE_AMOUNT = 6019;
1477
1625
  /** InsufficientShares: Miner does not hold enough Sats Vault shares */
1478
- declare const SATRUSH_ERROR__INSUFFICIENT_SHARES = 6024;
1626
+ declare const SATRUSH_ERROR__INSUFFICIENT_SHARES = 6020;
1479
1627
  /** StrikeAlreadyTriggered: Strike jackpot was already triggered on the provided round */
1480
- declare const SATRUSH_ERROR__STRIKE_ALREADY_TRIGGERED = 6025;
1481
- /** StrikeBelowThreshold: Strike pending balance is below the swap threshold */
1482
- declare const SATRUSH_ERROR__STRIKE_BELOW_THRESHOLD = 6026;
1628
+ declare const SATRUSH_ERROR__STRIKE_ALREADY_TRIGGERED = 6021;
1483
1629
  /** EpochNotOpen: Epoch iteration is not accepting ticket purchases */
1484
- declare const SATRUSH_ERROR__EPOCH_NOT_OPEN = 6027;
1630
+ declare const SATRUSH_ERROR__EPOCH_NOT_OPEN = 6022;
1485
1631
  /** EpochWindowNotElapsed: Epoch iteration window has not elapsed yet */
1486
- declare const SATRUSH_ERROR__EPOCH_WINDOW_NOT_ELAPSED = 6028;
1487
- /** EpochBelowThreshold: Epoch pending balance is below the swap threshold */
1488
- declare const SATRUSH_ERROR__EPOCH_BELOW_THRESHOLD = 6029;
1632
+ declare const SATRUSH_ERROR__EPOCH_WINDOW_NOT_ELAPSED = 6023;
1489
1633
  /** EpochNotSettling: Epoch iteration is not in the settling state */
1490
- declare const SATRUSH_ERROR__EPOCH_NOT_SETTLING = 6030;
1634
+ declare const SATRUSH_ERROR__EPOCH_NOT_SETTLING = 6024;
1491
1635
  /** EpochNotSettled: Epoch iteration is not in the settled state */
1492
- declare const SATRUSH_ERROR__EPOCH_NOT_SETTLED = 6031;
1636
+ declare const SATRUSH_ERROR__EPOCH_NOT_SETTLED = 6025;
1493
1637
  /** EpochInvalidPage: Supplied page does not contain the current winning ticket */
1494
- declare const SATRUSH_ERROR__EPOCH_INVALID_PAGE = 6032;
1638
+ declare const SATRUSH_ERROR__EPOCH_INVALID_PAGE = 6026;
1495
1639
  /** EpochNotAWinner: Signer is not a winner of this epoch draw */
1496
- declare const SATRUSH_ERROR__EPOCH_NOT_A_WINNER = 6033;
1640
+ declare const SATRUSH_ERROR__EPOCH_NOT_A_WINNER = 6027;
1497
1641
  /** EpochAlreadyClaimed: Epoch reward has already been claimed */
1498
- declare const SATRUSH_ERROR__EPOCH_ALREADY_CLAIMED = 6034;
1642
+ declare const SATRUSH_ERROR__EPOCH_ALREADY_CLAIMED = 6028;
1499
1643
  /** EpochMaxParticipants: Epoch iteration has reached the maximum number of participants */
1500
- declare const SATRUSH_ERROR__EPOCH_MAX_PARTICIPANTS = 6035;
1501
- /** EpochBelowMinHashrate: Hashrate spent is below the minimum required for entry */
1502
- declare const SATRUSH_ERROR__EPOCH_BELOW_MIN_HASHRATE = 6036;
1644
+ declare const SATRUSH_ERROR__EPOCH_MAX_PARTICIPANTS = 6029;
1645
+ /** InvalidTicketsCount: Tickets count must be greater than zero */
1646
+ declare const SATRUSH_ERROR__INVALID_TICKETS_COUNT = 6030;
1503
1647
  /** InsufficientHashrate: Miner does not have enough hashrate */
1504
- declare const SATRUSH_ERROR__INSUFFICIENT_HASHRATE = 6037;
1648
+ declare const SATRUSH_ERROR__INSUFFICIENT_HASHRATE = 6031;
1505
1649
  /** OneBtcNotOpen: 1 BTC Vault iteration is not accepting ticket purchases */
1506
- declare const SATRUSH_ERROR__ONE_BTC_NOT_OPEN = 6038;
1650
+ declare const SATRUSH_ERROR__ONE_BTC_NOT_OPEN = 6032;
1507
1651
  /** OneBtcNotSettled: 1 BTC Vault iteration is not in the settled state */
1508
- declare const SATRUSH_ERROR__ONE_BTC_NOT_SETTLED = 6039;
1509
- /** OneBtcBelowThreshold: 1 BTC Vault pending balance is below the swap threshold */
1510
- declare const SATRUSH_ERROR__ONE_BTC_BELOW_THRESHOLD = 6040;
1652
+ declare const SATRUSH_ERROR__ONE_BTC_NOT_SETTLED = 6033;
1511
1653
  /** OneBtcNotTriggerable: 1 BTC Vault has not accumulated enough BTC to trigger a draw */
1512
- declare const SATRUSH_ERROR__ONE_BTC_NOT_TRIGGERABLE = 6041;
1654
+ declare const SATRUSH_ERROR__ONE_BTC_NOT_TRIGGERABLE = 6034;
1513
1655
  /** OneBtcNoParticipants: 1 BTC Vault draw has no participants */
1514
- declare const SATRUSH_ERROR__ONE_BTC_NO_PARTICIPANTS = 6042;
1656
+ declare const SATRUSH_ERROR__ONE_BTC_NO_PARTICIPANTS = 6035;
1515
1657
  /** OneBtcNotAWinner: Ticket does not hold the winning ticket for this draw */
1516
- declare const SATRUSH_ERROR__ONE_BTC_NOT_A_WINNER = 6043;
1517
- /** OneBtcBelowMinHashrate: Hashrate spent is below the minimum required for a ticket purchase */
1518
- declare const SATRUSH_ERROR__ONE_BTC_BELOW_MIN_HASHRATE = 6044;
1658
+ declare const SATRUSH_ERROR__ONE_BTC_NOT_A_WINNER = 6036;
1519
1659
  /** OneBtcWinningTicketLocked: The winning ticket cannot be closed until the prize is claimed */
1520
- declare const SATRUSH_ERROR__ONE_BTC_WINNING_TICKET_LOCKED = 6045;
1660
+ declare const SATRUSH_ERROR__ONE_BTC_WINNING_TICKET_LOCKED = 6037;
1521
1661
  /** EpochPageAlreadySealed: Epoch page has already been sealed */
1522
- declare const SATRUSH_ERROR__EPOCH_PAGE_ALREADY_SEALED = 6046;
1662
+ declare const SATRUSH_ERROR__EPOCH_PAGE_ALREADY_SEALED = 6038;
1523
1663
  /** EpochPageNotSealed: Epoch page is not sealed yet */
1524
- declare const SATRUSH_ERROR__EPOCH_PAGE_NOT_SEALED = 6047;
1664
+ declare const SATRUSH_ERROR__EPOCH_PAGE_NOT_SEALED = 6039;
1525
1665
  /** EpochSealMismatch: Epoch sealed page chain does not reconcile with the iteration's ticket total */
1526
- declare const SATRUSH_ERROR__EPOCH_SEAL_MISMATCH = 6048;
1666
+ declare const SATRUSH_ERROR__EPOCH_SEAL_MISMATCH = 6040;
1527
1667
  /** TreasuryEmpty: Treasury has no accrued fees to withdraw */
1528
- declare const SATRUSH_ERROR__TREASURY_EMPTY = 6049;
1668
+ declare const SATRUSH_ERROR__TREASURY_EMPTY = 6041;
1529
1669
  /** InvalidClaimAmount: Claim amount must be greater than zero */
1530
- declare const SATRUSH_ERROR__INVALID_CLAIM_AMOUNT = 6050;
1670
+ declare const SATRUSH_ERROR__INVALID_CLAIM_AMOUNT = 6042;
1531
1671
  /** InsufficientUnclaimedUsd: Miner does not hold enough unclaimed USD */
1532
- declare const SATRUSH_ERROR__INSUFFICIENT_UNCLAIMED_USD = 6051;
1533
- /** InsufficientAutomationBalance: Automation balance cannot cover the per-round gross cost */
1534
- declare const SATRUSH_ERROR__INSUFFICIENT_AUTOMATION_BALANCE = 6052;
1672
+ declare const SATRUSH_ERROR__INSUFFICIENT_UNCLAIMED_USD = 6043;
1673
+ /** InsufficientAutomationBalance: Automation balance cannot cover the per-round deploy amount */
1674
+ declare const SATRUSH_ERROR__INSUFFICIENT_AUTOMATION_BALANCE = 6044;
1535
1675
  /** InvalidAutomationAmount: Automation amount must be greater than zero */
1536
- declare const SATRUSH_ERROR__INVALID_AUTOMATION_AMOUNT = 6053;
1676
+ declare const SATRUSH_ERROR__INVALID_AUTOMATION_AMOUNT = 6045;
1537
1677
  /** InvalidAutomationStrategyMask: Selection mask does not match the automation strategy */
1538
- declare const SATRUSH_ERROR__INVALID_AUTOMATION_STRATEGY_MASK = 6054;
1539
- type SatrushError = typeof SATRUSH_ERROR__ALREADY_REVEALED | typeof SATRUSH_ERROR__ALREADY_SETTLED | typeof SATRUSH_ERROR__ALREADY_SWAPPED | typeof SATRUSH_ERROR__BOARD_ALREADY_BOOTSTRAPPED | typeof SATRUSH_ERROR__DEPLOYMENT_NOT_SETTLED | typeof SATRUSH_ERROR__EPOCH_ALREADY_CLAIMED | typeof SATRUSH_ERROR__EPOCH_BELOW_MIN_HASHRATE | typeof SATRUSH_ERROR__EPOCH_BELOW_THRESHOLD | typeof SATRUSH_ERROR__EPOCH_INVALID_PAGE | typeof SATRUSH_ERROR__EPOCH_MAX_PARTICIPANTS | typeof SATRUSH_ERROR__EPOCH_NOT_A_WINNER | typeof SATRUSH_ERROR__EPOCH_NOT_OPEN | typeof SATRUSH_ERROR__EPOCH_NOT_SETTLED | typeof SATRUSH_ERROR__EPOCH_NOT_SETTLING | typeof SATRUSH_ERROR__EPOCH_PAGE_ALREADY_SEALED | typeof SATRUSH_ERROR__EPOCH_PAGE_NOT_SEALED | typeof SATRUSH_ERROR__EPOCH_SEAL_MISMATCH | typeof SATRUSH_ERROR__EPOCH_WINDOW_NOT_ELAPSED | typeof SATRUSH_ERROR__INSUFFICIENT_AUTOMATION_BALANCE | typeof SATRUSH_ERROR__INSUFFICIENT_HASHRATE | typeof SATRUSH_ERROR__INSUFFICIENT_SHARES | typeof SATRUSH_ERROR__INSUFFICIENT_UNCLAIMED_USD | typeof SATRUSH_ERROR__INVALID_AUTOMATION_AMOUNT | typeof SATRUSH_ERROR__INVALID_AUTOMATION_STRATEGY_MASK | typeof SATRUSH_ERROR__INVALID_CLAIM_AMOUNT | typeof SATRUSH_ERROR__INVALID_DEPLOYMENT_AMOUNT | typeof SATRUSH_ERROR__INVALID_ENTROPY | typeof SATRUSH_ERROR__INVALID_JUPITER_ROUTE | typeof SATRUSH_ERROR__INVALID_ROUND_DURATION | typeof SATRUSH_ERROR__INVALID_ROUND_ID | typeof SATRUSH_ERROR__INVALID_SELECTION_MASK | typeof SATRUSH_ERROR__INVALID_SHARE_AMOUNT | typeof SATRUSH_ERROR__INVALID_SLOT_HASH | typeof SATRUSH_ERROR__INVALID_SWAP_PROGRAM | typeof SATRUSH_ERROR__MATH_OVERFLOW | typeof SATRUSH_ERROR__MATH_UNDERFLOW | typeof SATRUSH_ERROR__ONE_BTC_BELOW_MIN_HASHRATE | typeof SATRUSH_ERROR__ONE_BTC_BELOW_THRESHOLD | typeof SATRUSH_ERROR__ONE_BTC_NO_PARTICIPANTS | typeof SATRUSH_ERROR__ONE_BTC_NOT_A_WINNER | typeof SATRUSH_ERROR__ONE_BTC_NOT_OPEN | typeof SATRUSH_ERROR__ONE_BTC_NOT_SETTLED | typeof SATRUSH_ERROR__ONE_BTC_NOT_TRIGGERABLE | typeof SATRUSH_ERROR__ONE_BTC_WINNING_TICKET_LOCKED | typeof SATRUSH_ERROR__ROUND_IN_PROGRESS | typeof SATRUSH_ERROR__ROUND_NOT_ACTIVE | typeof SATRUSH_ERROR__ROUND_NOT_REVEALED | typeof SATRUSH_ERROR__ROUND_NOT_SETTLED | typeof SATRUSH_ERROR__ROUND_WINDOW_CLOSED | typeof SATRUSH_ERROR__SLIPPAGE_EXCEEDED | typeof SATRUSH_ERROR__STRIKE_ALREADY_TRIGGERED | typeof SATRUSH_ERROR__STRIKE_BELOW_THRESHOLD | typeof SATRUSH_ERROR__SWAP_OVERSPENT | typeof SATRUSH_ERROR__TREASURY_EMPTY | typeof SATRUSH_ERROR__UNAUTHORIZED;
1678
+ declare const SATRUSH_ERROR__INVALID_AUTOMATION_STRATEGY_MASK = 6046;
1679
+ /** DeployAmountBelowMinimum: Deploy amount is below the 1 USD minimum */
1680
+ declare const SATRUSH_ERROR__DEPLOY_AMOUNT_BELOW_MINIMUM = 6047;
1681
+ /** InvalidEpochIterationDuration: Epoch iteration duration must be greater than zero */
1682
+ declare const SATRUSH_ERROR__INVALID_EPOCH_ITERATION_DURATION = 6048;
1683
+ /** InvalidUnclaimedHashrateBps: Unclaimed hashrate bps must not exceed 10_000 */
1684
+ declare const SATRUSH_ERROR__INVALID_UNCLAIMED_HASHRATE_BPS = 6049;
1685
+ type SatrushError = typeof SATRUSH_ERROR__ALREADY_REVEALED | typeof SATRUSH_ERROR__ALREADY_SWAPPED | typeof SATRUSH_ERROR__DEPLOY_AMOUNT_BELOW_MINIMUM | typeof SATRUSH_ERROR__EPOCH_ALREADY_CLAIMED | typeof SATRUSH_ERROR__EPOCH_INVALID_PAGE | typeof SATRUSH_ERROR__EPOCH_MAX_PARTICIPANTS | typeof SATRUSH_ERROR__EPOCH_NOT_A_WINNER | typeof SATRUSH_ERROR__EPOCH_NOT_OPEN | typeof SATRUSH_ERROR__EPOCH_NOT_SETTLED | typeof SATRUSH_ERROR__EPOCH_NOT_SETTLING | typeof SATRUSH_ERROR__EPOCH_PAGE_ALREADY_SEALED | typeof SATRUSH_ERROR__EPOCH_PAGE_NOT_SEALED | typeof SATRUSH_ERROR__EPOCH_SEAL_MISMATCH | typeof SATRUSH_ERROR__EPOCH_WINDOW_NOT_ELAPSED | typeof SATRUSH_ERROR__INSUFFICIENT_AUTOMATION_BALANCE | typeof SATRUSH_ERROR__INSUFFICIENT_HASHRATE | typeof SATRUSH_ERROR__INSUFFICIENT_SHARES | typeof SATRUSH_ERROR__INSUFFICIENT_UNCLAIMED_USD | typeof SATRUSH_ERROR__INVALID_AUTOMATION_AMOUNT | typeof SATRUSH_ERROR__INVALID_AUTOMATION_STRATEGY_MASK | typeof SATRUSH_ERROR__INVALID_CLAIM_AMOUNT | typeof SATRUSH_ERROR__INVALID_DEPLOYMENT_AMOUNT | typeof SATRUSH_ERROR__INVALID_ENTROPY | typeof SATRUSH_ERROR__INVALID_EPOCH_ITERATION_DURATION | typeof SATRUSH_ERROR__INVALID_ROUND_DURATION | typeof SATRUSH_ERROR__INVALID_ROUND_ID | typeof SATRUSH_ERROR__INVALID_SELECTION_MASK | typeof SATRUSH_ERROR__INVALID_SHARE_AMOUNT | typeof SATRUSH_ERROR__INVALID_SLOT_HASH | typeof SATRUSH_ERROR__INVALID_SWAP_PROGRAM | typeof SATRUSH_ERROR__INVALID_TICKETS_COUNT | typeof SATRUSH_ERROR__INVALID_UNCLAIMED_HASHRATE_BPS | typeof SATRUSH_ERROR__MATH_OVERFLOW | typeof SATRUSH_ERROR__MATH_UNDERFLOW | typeof SATRUSH_ERROR__ONE_BTC_NO_PARTICIPANTS | typeof SATRUSH_ERROR__ONE_BTC_NOT_A_WINNER | typeof SATRUSH_ERROR__ONE_BTC_NOT_OPEN | typeof SATRUSH_ERROR__ONE_BTC_NOT_SETTLED | typeof SATRUSH_ERROR__ONE_BTC_NOT_TRIGGERABLE | typeof SATRUSH_ERROR__ONE_BTC_WINNING_TICKET_LOCKED | typeof SATRUSH_ERROR__ROUND_IN_PROGRESS | typeof SATRUSH_ERROR__ROUND_NOT_ACTIVE | typeof SATRUSH_ERROR__ROUND_NOT_FINISHED | typeof SATRUSH_ERROR__ROUND_NOT_REVEALED | typeof SATRUSH_ERROR__ROUND_NOT_SETTLED | typeof SATRUSH_ERROR__SLIPPAGE_EXCEEDED | typeof SATRUSH_ERROR__STRIKE_ALREADY_TRIGGERED | typeof SATRUSH_ERROR__SWAP_OVERSPENT | typeof SATRUSH_ERROR__TREASURY_EMPTY | typeof SATRUSH_ERROR__UNAUTHORIZED;
1540
1686
  declare function getSatrushErrorMessage(code: SatrushError): string;
1541
1687
  declare function isSatrushError<TProgramErrorCode extends SatrushError>(error: unknown, transactionMessage: {
1542
1688
  instructions: Record<number, {
@@ -1709,7 +1855,7 @@ declare function findTreasuryPda(config?: {
1709
1855
  * @see https://github.com/codama-idl/codama
1710
1856
  */
1711
1857
 
1712
- declare const SATRUSH_PROGRAM_ADDRESS: Address<"ADp1CgM1xEhyAoXL7zdqSsbHvR3Ug77iPQvyiQB7XGDE">;
1858
+ declare const SATRUSH_PROGRAM_ADDRESS: Address<"satRushGBRY2vgapeTAkoxz26vL2cYqyPi6CnBj7Tco">;
1713
1859
  declare enum SatrushAccount {
1714
1860
  Board = 0,
1715
1861
  EpochVault = 1,
@@ -1743,33 +1889,38 @@ declare enum SatrushInstruction {
1743
1889
  CloseEpochPage = 9,
1744
1890
  CloseOneBtcIteration = 10,
1745
1891
  CloseOneBtcTicket = 11,
1746
- CreateBoard = 12,
1747
- CreateEpochVault = 13,
1748
- CreateOneBtcVault = 14,
1749
- CreatePublicAutomation = 15,
1750
- CreateSatrushConfig = 16,
1751
- CreateSatsVault = 17,
1752
- CreateTreasury = 18,
1753
- DeployPublic = 19,
1754
- ExecutePublicAutomation = 20,
1755
- RotateRound = 21,
1756
- SealEpochPage = 22,
1757
- SelectEpochWinner = 23,
1758
- SettleDeployPublic = 24,
1759
- SwapEpochStake = 25,
1760
- SwapOneBtcStake = 26,
1761
- SwapRoundStake = 27,
1762
- SwapStrikeStake = 28,
1763
- TopUpPublicAutomation = 29,
1764
- TriggerEpochDraw = 30,
1765
- TriggerOneBtcDraw = 31,
1766
- UpdateBoardRoundDuration = 32,
1767
- WithdrawProtocolFees = 33
1892
+ CloseRound = 12,
1893
+ CreateBoard = 13,
1894
+ CreateEpochVault = 14,
1895
+ CreateOneBtcVault = 15,
1896
+ CreatePublicAutomation = 16,
1897
+ CreateSatrushConfig = 17,
1898
+ CreateSatsVault = 18,
1899
+ CreateTreasury = 19,
1900
+ DeployPublic = 20,
1901
+ ExecutePublicAutomation = 21,
1902
+ RotateRound = 22,
1903
+ SealEpochPage = 23,
1904
+ SelectEpochWinner = 24,
1905
+ SettleDeployPublic = 25,
1906
+ SwapEpochStake = 26,
1907
+ SwapOneBtcStake = 27,
1908
+ SwapRoundStake = 28,
1909
+ SwapStrikeStake = 29,
1910
+ TopUpPublicAutomation = 30,
1911
+ TriggerEpochDraw = 31,
1912
+ TriggerOneBtcDraw = 32,
1913
+ UpdateBoardRoundDuration = 33,
1914
+ UpdateDeploymentSettleGraceDuration = 34,
1915
+ UpdateEpochVaultIterationDuration = 35,
1916
+ UpdateMinDeployUsdAmount = 36,
1917
+ UpdateUnclaimedHashrateBps = 37,
1918
+ WithdrawProtocolFees = 38
1768
1919
  }
1769
1920
  declare function identifySatrushInstruction(instruction: {
1770
1921
  data: ReadonlyUint8Array;
1771
1922
  } | ReadonlyUint8Array): SatrushInstruction;
1772
- type ParsedSatrushInstruction<TProgram extends string = 'ADp1CgM1xEhyAoXL7zdqSsbHvR3Ug77iPQvyiQB7XGDE'> = ({
1923
+ type ParsedSatrushInstruction<TProgram extends string = 'satRushGBRY2vgapeTAkoxz26vL2cYqyPi6CnBj7Tco'> = ({
1773
1924
  instructionType: SatrushInstruction.BuyEpochTickets;
1774
1925
  } & ParsedBuyEpochTicketsInstruction<TProgram>) | ({
1775
1926
  instructionType: SatrushInstruction.BuyOneBtcTickets;
@@ -1794,6 +1945,8 @@ type ParsedSatrushInstruction<TProgram extends string = 'ADp1CgM1xEhyAoXL7zdqSsb
1794
1945
  } & ParsedCloseOneBtcIterationInstruction<TProgram>) | ({
1795
1946
  instructionType: SatrushInstruction.CloseOneBtcTicket;
1796
1947
  } & ParsedCloseOneBtcTicketInstruction<TProgram>) | ({
1948
+ instructionType: SatrushInstruction.CloseRound;
1949
+ } & ParsedCloseRoundInstruction<TProgram>) | ({
1797
1950
  instructionType: SatrushInstruction.CreateBoard;
1798
1951
  } & ParsedCreateBoardInstruction<TProgram>) | ({
1799
1952
  instructionType: SatrushInstruction.CreateEpochVault;
@@ -1836,6 +1989,14 @@ type ParsedSatrushInstruction<TProgram extends string = 'ADp1CgM1xEhyAoXL7zdqSsb
1836
1989
  } & ParsedTriggerOneBtcDrawInstruction<TProgram>) | ({
1837
1990
  instructionType: SatrushInstruction.UpdateBoardRoundDuration;
1838
1991
  } & ParsedUpdateBoardRoundDurationInstruction<TProgram>) | ({
1992
+ instructionType: SatrushInstruction.UpdateDeploymentSettleGraceDuration;
1993
+ } & ParsedUpdateDeploymentSettleGraceDurationInstruction<TProgram>) | ({
1994
+ instructionType: SatrushInstruction.UpdateEpochVaultIterationDuration;
1995
+ } & ParsedUpdateEpochVaultIterationDurationInstruction<TProgram>) | ({
1996
+ instructionType: SatrushInstruction.UpdateMinDeployUsdAmount;
1997
+ } & ParsedUpdateMinDeployUsdAmountInstruction<TProgram>) | ({
1998
+ instructionType: SatrushInstruction.UpdateUnclaimedHashrateBps;
1999
+ } & ParsedUpdateUnclaimedHashrateBpsInstruction<TProgram>) | ({
1839
2000
  instructionType: SatrushInstruction.WithdrawProtocolFees;
1840
2001
  } & ParsedWithdrawProtocolFeesInstruction<TProgram>);
1841
2002
  declare function parseSatrushInstruction<TProgram extends string>(instruction: Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array>): ParsedSatrushInstruction<TProgram>;
@@ -1877,6 +2038,7 @@ type SatrushPluginInstructions = {
1877
2038
  closeEpochPage: (input: CloseEpochPageAsyncInput) => ReturnType<typeof getCloseEpochPageInstructionAsync> & SelfPlanAndSendFunctions;
1878
2039
  closeOneBtcIteration: (input: CloseOneBtcIterationAsyncInput) => ReturnType<typeof getCloseOneBtcIterationInstructionAsync> & SelfPlanAndSendFunctions;
1879
2040
  closeOneBtcTicket: (input: CloseOneBtcTicketInput) => ReturnType<typeof getCloseOneBtcTicketInstruction> & SelfPlanAndSendFunctions;
2041
+ closeRound: (input: CloseRoundAsyncInput) => ReturnType<typeof getCloseRoundInstructionAsync> & SelfPlanAndSendFunctions;
1880
2042
  createBoard: (input: CreateBoardAsyncInput) => ReturnType<typeof getCreateBoardInstructionAsync> & SelfPlanAndSendFunctions;
1881
2043
  createEpochVault: (input: CreateEpochVaultAsyncInput) => ReturnType<typeof getCreateEpochVaultInstructionAsync> & SelfPlanAndSendFunctions;
1882
2044
  createOneBtcVault: (input: CreateOneBtcVaultAsyncInput) => ReturnType<typeof getCreateOneBtcVaultInstructionAsync> & SelfPlanAndSendFunctions;
@@ -1898,20 +2060,24 @@ type SatrushPluginInstructions = {
1898
2060
  triggerEpochDraw: (input: TriggerEpochDrawAsyncInput) => ReturnType<typeof getTriggerEpochDrawInstructionAsync> & SelfPlanAndSendFunctions;
1899
2061
  triggerOneBtcDraw: (input: TriggerOneBtcDrawAsyncInput) => ReturnType<typeof getTriggerOneBtcDrawInstructionAsync> & SelfPlanAndSendFunctions;
1900
2062
  updateBoardRoundDuration: (input: UpdateBoardRoundDurationAsyncInput) => ReturnType<typeof getUpdateBoardRoundDurationInstructionAsync> & SelfPlanAndSendFunctions;
2063
+ updateDeploymentSettleGraceDuration: (input: UpdateDeploymentSettleGraceDurationAsyncInput) => ReturnType<typeof getUpdateDeploymentSettleGraceDurationInstructionAsync> & SelfPlanAndSendFunctions;
2064
+ updateEpochVaultIterationDuration: (input: UpdateEpochVaultIterationDurationAsyncInput) => ReturnType<typeof getUpdateEpochVaultIterationDurationInstructionAsync> & SelfPlanAndSendFunctions;
2065
+ updateMinDeployUsdAmount: (input: UpdateMinDeployUsdAmountAsyncInput) => ReturnType<typeof getUpdateMinDeployUsdAmountInstructionAsync> & SelfPlanAndSendFunctions;
2066
+ updateUnclaimedHashrateBps: (input: UpdateUnclaimedHashrateBpsAsyncInput) => ReturnType<typeof getUpdateUnclaimedHashrateBpsInstructionAsync> & SelfPlanAndSendFunctions;
1901
2067
  withdrawProtocolFees: (input: WithdrawProtocolFeesAsyncInput) => ReturnType<typeof getWithdrawProtocolFeesInstructionAsync> & SelfPlanAndSendFunctions;
1902
2068
  };
1903
2069
  type SatrushPluginPdas = {
1904
2070
  miner: typeof findMinerPda;
2071
+ satrushConfig: typeof findSatrushConfigPda;
1905
2072
  epochVault: typeof findEpochVaultPda;
1906
2073
  oneBtcVault: typeof findOneBtcVaultPda;
1907
- satrushConfig: typeof findSatrushConfigPda;
1908
2074
  publicAutomation: typeof findPublicAutomationPda;
1909
2075
  satsVault: typeof findSatsVaultPda;
1910
2076
  board: typeof findBoardPda;
2077
+ treasury: typeof findTreasuryPda;
1911
2078
  initialRound: typeof findInitialRoundPda;
1912
2079
  epochVaultIteration: typeof findEpochVaultIterationPda;
1913
2080
  oneBtcVaultIteration: typeof findOneBtcVaultIterationPda;
1914
- treasury: typeof findTreasuryPda;
1915
2081
  nextRound: typeof findNextRoundPda;
1916
2082
  };
1917
2083
  type SatrushPluginRequirements = ClientWithRpc<GetAccountInfoApi & GetMultipleAccountsApi> & ClientWithTransactionPlanning & ClientWithTransactionSending;
@@ -1929,9 +2095,10 @@ declare function satrushProgram(): <T extends SatrushPluginRequirements>(client:
1929
2095
 
1930
2096
  declare const BUY_EPOCH_TICKETS_DISCRIMINATOR: ReadonlyUint8Array;
1931
2097
  declare function getBuyEpochTicketsDiscriminatorBytes(): ReadonlyUint8Array;
1932
- type BuyEpochTicketsInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountAuthority extends string | AccountMeta<string> = string, TAccountMiner extends string | AccountMeta<string> = string, TAccountEpochVault extends string | AccountMeta<string> = string, TAccountEpochVaultIteration extends string | AccountMeta<string> = string, TAccountEpochVaultPage extends string | AccountMeta<string> = string, TAccountEpochVaultEntry extends string | AccountMeta<string> = string, TAccountSystemProgram extends string | AccountMeta<string> = '11111111111111111111111111111111', TAccountEventAuthority extends string | AccountMeta<string> = string, TAccountProgram extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
2098
+ type BuyEpochTicketsInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountAuthority extends string | AccountMeta<string> = string, TAccountMiner extends string | AccountMeta<string> = string, TAccountSatrushConfig extends string | AccountMeta<string> = string, TAccountEpochVault extends string | AccountMeta<string> = string, TAccountEpochVaultIteration extends string | AccountMeta<string> = string, TAccountEpochVaultPage extends string | AccountMeta<string> = string, TAccountEpochVaultEntry extends string | AccountMeta<string> = string, TAccountSystemProgram extends string | AccountMeta<string> = '11111111111111111111111111111111', TAccountEventAuthority extends string | AccountMeta<string> = string, TAccountProgram extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
1933
2099
  TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
1934
2100
  TAccountMiner extends string ? WritableAccount<TAccountMiner> : TAccountMiner,
2101
+ TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
1935
2102
  TAccountEpochVault extends string ? ReadonlyAccount<TAccountEpochVault> : TAccountEpochVault,
1936
2103
  TAccountEpochVaultIteration extends string ? WritableAccount<TAccountEpochVaultIteration> : TAccountEpochVaultIteration,
1937
2104
  TAccountEpochVaultPage extends string ? WritableAccount<TAccountEpochVaultPage> : TAccountEpochVaultPage,
@@ -1943,19 +2110,20 @@ type BuyEpochTicketsInstruction<TProgram extends string = typeof SATRUSH_PROGRAM
1943
2110
  ]>;
1944
2111
  type BuyEpochTicketsInstructionData = {
1945
2112
  discriminator: ReadonlyUint8Array;
1946
- hashrateToSpend: bigint;
2113
+ ticketsToBuy: bigint;
1947
2114
  pageIndex: number;
1948
2115
  };
1949
2116
  type BuyEpochTicketsInstructionDataArgs = {
1950
- hashrateToSpend: number | bigint;
2117
+ ticketsToBuy: number | bigint;
1951
2118
  pageIndex: number;
1952
2119
  };
1953
2120
  declare function getBuyEpochTicketsInstructionDataEncoder(): FixedSizeEncoder<BuyEpochTicketsInstructionDataArgs>;
1954
2121
  declare function getBuyEpochTicketsInstructionDataDecoder(): FixedSizeDecoder<BuyEpochTicketsInstructionData>;
1955
2122
  declare function getBuyEpochTicketsInstructionDataCodec(): FixedSizeCodec<BuyEpochTicketsInstructionDataArgs, BuyEpochTicketsInstructionData>;
1956
- type BuyEpochTicketsAsyncInput<TAccountAuthority extends string = string, TAccountMiner extends string = string, TAccountEpochVault extends string = string, TAccountEpochVaultIteration extends string = string, TAccountEpochVaultPage extends string = string, TAccountEpochVaultEntry extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
2123
+ type BuyEpochTicketsAsyncInput<TAccountAuthority extends string = string, TAccountMiner extends string = string, TAccountSatrushConfig extends string = string, TAccountEpochVault extends string = string, TAccountEpochVaultIteration extends string = string, TAccountEpochVaultPage extends string = string, TAccountEpochVaultEntry extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
1957
2124
  authority: TransactionSigner<TAccountAuthority>;
1958
2125
  miner?: Address<TAccountMiner>;
2126
+ satrushConfig?: Address<TAccountSatrushConfig>;
1959
2127
  epochVault?: Address<TAccountEpochVault>;
1960
2128
  epochVaultIteration: Address<TAccountEpochVaultIteration>;
1961
2129
  epochVaultPage: Address<TAccountEpochVaultPage>;
@@ -1963,15 +2131,16 @@ type BuyEpochTicketsAsyncInput<TAccountAuthority extends string = string, TAccou
1963
2131
  systemProgram?: Address<TAccountSystemProgram>;
1964
2132
  eventAuthority: Address<TAccountEventAuthority>;
1965
2133
  program: Address<TAccountProgram>;
1966
- hashrateToSpend: BuyEpochTicketsInstructionDataArgs['hashrateToSpend'];
2134
+ ticketsToBuy: BuyEpochTicketsInstructionDataArgs['ticketsToBuy'];
1967
2135
  pageIndex: BuyEpochTicketsInstructionDataArgs['pageIndex'];
1968
2136
  };
1969
- declare function getBuyEpochTicketsInstructionAsync<TAccountAuthority extends string, TAccountMiner extends string, TAccountEpochVault extends string, TAccountEpochVaultIteration extends string, TAccountEpochVaultPage extends string, TAccountEpochVaultEntry extends string, TAccountSystemProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: BuyEpochTicketsAsyncInput<TAccountAuthority, TAccountMiner, TAccountEpochVault, TAccountEpochVaultIteration, TAccountEpochVaultPage, TAccountEpochVaultEntry, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
2137
+ declare function getBuyEpochTicketsInstructionAsync<TAccountAuthority extends string, TAccountMiner extends string, TAccountSatrushConfig extends string, TAccountEpochVault extends string, TAccountEpochVaultIteration extends string, TAccountEpochVaultPage extends string, TAccountEpochVaultEntry extends string, TAccountSystemProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: BuyEpochTicketsAsyncInput<TAccountAuthority, TAccountMiner, TAccountSatrushConfig, TAccountEpochVault, TAccountEpochVaultIteration, TAccountEpochVaultPage, TAccountEpochVaultEntry, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
1970
2138
  programAddress?: TProgramAddress;
1971
- }): Promise<BuyEpochTicketsInstruction<TProgramAddress, TAccountAuthority, TAccountMiner, TAccountEpochVault, TAccountEpochVaultIteration, TAccountEpochVaultPage, TAccountEpochVaultEntry, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>>;
1972
- type BuyEpochTicketsInput<TAccountAuthority extends string = string, TAccountMiner extends string = string, TAccountEpochVault extends string = string, TAccountEpochVaultIteration extends string = string, TAccountEpochVaultPage extends string = string, TAccountEpochVaultEntry extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
2139
+ }): Promise<BuyEpochTicketsInstruction<TProgramAddress, TAccountAuthority, TAccountMiner, TAccountSatrushConfig, TAccountEpochVault, TAccountEpochVaultIteration, TAccountEpochVaultPage, TAccountEpochVaultEntry, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>>;
2140
+ type BuyEpochTicketsInput<TAccountAuthority extends string = string, TAccountMiner extends string = string, TAccountSatrushConfig extends string = string, TAccountEpochVault extends string = string, TAccountEpochVaultIteration extends string = string, TAccountEpochVaultPage extends string = string, TAccountEpochVaultEntry extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
1973
2141
  authority: TransactionSigner<TAccountAuthority>;
1974
2142
  miner: Address<TAccountMiner>;
2143
+ satrushConfig: Address<TAccountSatrushConfig>;
1975
2144
  epochVault: Address<TAccountEpochVault>;
1976
2145
  epochVaultIteration: Address<TAccountEpochVaultIteration>;
1977
2146
  epochVaultPage: Address<TAccountEpochVaultPage>;
@@ -1979,24 +2148,25 @@ type BuyEpochTicketsInput<TAccountAuthority extends string = string, TAccountMin
1979
2148
  systemProgram?: Address<TAccountSystemProgram>;
1980
2149
  eventAuthority: Address<TAccountEventAuthority>;
1981
2150
  program: Address<TAccountProgram>;
1982
- hashrateToSpend: BuyEpochTicketsInstructionDataArgs['hashrateToSpend'];
2151
+ ticketsToBuy: BuyEpochTicketsInstructionDataArgs['ticketsToBuy'];
1983
2152
  pageIndex: BuyEpochTicketsInstructionDataArgs['pageIndex'];
1984
2153
  };
1985
- declare function getBuyEpochTicketsInstruction<TAccountAuthority extends string, TAccountMiner extends string, TAccountEpochVault extends string, TAccountEpochVaultIteration extends string, TAccountEpochVaultPage extends string, TAccountEpochVaultEntry extends string, TAccountSystemProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: BuyEpochTicketsInput<TAccountAuthority, TAccountMiner, TAccountEpochVault, TAccountEpochVaultIteration, TAccountEpochVaultPage, TAccountEpochVaultEntry, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
2154
+ declare function getBuyEpochTicketsInstruction<TAccountAuthority extends string, TAccountMiner extends string, TAccountSatrushConfig extends string, TAccountEpochVault extends string, TAccountEpochVaultIteration extends string, TAccountEpochVaultPage extends string, TAccountEpochVaultEntry extends string, TAccountSystemProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: BuyEpochTicketsInput<TAccountAuthority, TAccountMiner, TAccountSatrushConfig, TAccountEpochVault, TAccountEpochVaultIteration, TAccountEpochVaultPage, TAccountEpochVaultEntry, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
1986
2155
  programAddress?: TProgramAddress;
1987
- }): BuyEpochTicketsInstruction<TProgramAddress, TAccountAuthority, TAccountMiner, TAccountEpochVault, TAccountEpochVaultIteration, TAccountEpochVaultPage, TAccountEpochVaultEntry, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>;
2156
+ }): BuyEpochTicketsInstruction<TProgramAddress, TAccountAuthority, TAccountMiner, TAccountSatrushConfig, TAccountEpochVault, TAccountEpochVaultIteration, TAccountEpochVaultPage, TAccountEpochVaultEntry, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>;
1988
2157
  type ParsedBuyEpochTicketsInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
1989
2158
  programAddress: Address<TProgram>;
1990
2159
  accounts: {
1991
2160
  authority: TAccountMetas[0];
1992
2161
  miner: TAccountMetas[1];
1993
- epochVault: TAccountMetas[2];
1994
- epochVaultIteration: TAccountMetas[3];
1995
- epochVaultPage: TAccountMetas[4];
1996
- epochVaultEntry: TAccountMetas[5];
1997
- systemProgram: TAccountMetas[6];
1998
- eventAuthority: TAccountMetas[7];
1999
- program: TAccountMetas[8];
2162
+ satrushConfig: TAccountMetas[2];
2163
+ epochVault: TAccountMetas[3];
2164
+ epochVaultIteration: TAccountMetas[4];
2165
+ epochVaultPage: TAccountMetas[5];
2166
+ epochVaultEntry: TAccountMetas[6];
2167
+ systemProgram: TAccountMetas[7];
2168
+ eventAuthority: TAccountMetas[8];
2169
+ program: TAccountMetas[9];
2000
2170
  };
2001
2171
  data: BuyEpochTicketsInstructionData;
2002
2172
  };
@@ -2025,10 +2195,10 @@ type BuyOneBtcTicketsInstruction<TProgram extends string = typeof SATRUSH_PROGRA
2025
2195
  ]>;
2026
2196
  type BuyOneBtcTicketsInstructionData = {
2027
2197
  discriminator: ReadonlyUint8Array;
2028
- hashrateToSpend: bigint;
2198
+ ticketsToBuy: bigint;
2029
2199
  };
2030
2200
  type BuyOneBtcTicketsInstructionDataArgs = {
2031
- hashrateToSpend: number | bigint;
2201
+ ticketsToBuy: number | bigint;
2032
2202
  };
2033
2203
  declare function getBuyOneBtcTicketsInstructionDataEncoder(): FixedSizeEncoder<BuyOneBtcTicketsInstructionDataArgs>;
2034
2204
  declare function getBuyOneBtcTicketsInstructionDataDecoder(): FixedSizeDecoder<BuyOneBtcTicketsInstructionData>;
@@ -2043,7 +2213,7 @@ type BuyOneBtcTicketsAsyncInput<TAccountAuthority extends string = string, TAcco
2043
2213
  systemProgram?: Address<TAccountSystemProgram>;
2044
2214
  eventAuthority: Address<TAccountEventAuthority>;
2045
2215
  program: Address<TAccountProgram>;
2046
- hashrateToSpend: BuyOneBtcTicketsInstructionDataArgs['hashrateToSpend'];
2216
+ ticketsToBuy: BuyOneBtcTicketsInstructionDataArgs['ticketsToBuy'];
2047
2217
  };
2048
2218
  declare function getBuyOneBtcTicketsInstructionAsync<TAccountAuthority extends string, TAccountMiner extends string, TAccountOneBtcVault extends string, TAccountOneBtcVaultIteration extends string, TAccountTicket extends string, TAccountSystemProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: BuyOneBtcTicketsAsyncInput<TAccountAuthority, TAccountMiner, TAccountOneBtcVault, TAccountOneBtcVaultIteration, TAccountTicket, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
2049
2219
  programAddress?: TProgramAddress;
@@ -2058,7 +2228,7 @@ type BuyOneBtcTicketsInput<TAccountAuthority extends string = string, TAccountMi
2058
2228
  systemProgram?: Address<TAccountSystemProgram>;
2059
2229
  eventAuthority: Address<TAccountEventAuthority>;
2060
2230
  program: Address<TAccountProgram>;
2061
- hashrateToSpend: BuyOneBtcTicketsInstructionDataArgs['hashrateToSpend'];
2231
+ ticketsToBuy: BuyOneBtcTicketsInstructionDataArgs['ticketsToBuy'];
2062
2232
  };
2063
2233
  declare function getBuyOneBtcTicketsInstruction<TAccountAuthority extends string, TAccountMiner extends string, TAccountOneBtcVault extends string, TAccountOneBtcVaultIteration extends string, TAccountTicket extends string, TAccountSystemProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: BuyOneBtcTicketsInput<TAccountAuthority, TAccountMiner, TAccountOneBtcVault, TAccountOneBtcVaultIteration, TAccountTicket, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
2064
2234
  programAddress?: TProgramAddress;
@@ -2334,7 +2504,7 @@ declare function parseClaimOneBtcRewardInstruction<TProgram extends string, TAcc
2334
2504
 
2335
2505
  declare const CLAIM_SATS_DISCRIMINATOR: ReadonlyUint8Array;
2336
2506
  declare function getClaimSatsDiscriminatorBytes(): ReadonlyUint8Array;
2337
- type ClaimSatsInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountAuthority extends string | AccountMeta<string> = string, TAccountSatrushConfig extends string | AccountMeta<string> = string, TAccountSatsVault extends string | AccountMeta<string> = string, TAccountMiner extends string | AccountMeta<string> = string, TAccountBtcMint extends string | AccountMeta<string> = string, TAccountSatsVaultBtcAta extends string | AccountMeta<string> = string, TAccountAuthorityBtcAta extends string | AccountMeta<string> = string, TAccountTokenProgram extends string | AccountMeta<string> = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA', TAccountAssociatedTokenProgram extends string | AccountMeta<string> = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL', TAccountSystemProgram extends string | AccountMeta<string> = '11111111111111111111111111111111', TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
2507
+ type ClaimSatsInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountAuthority extends string | AccountMeta<string> = string, TAccountSatrushConfig extends string | AccountMeta<string> = string, TAccountSatsVault extends string | AccountMeta<string> = string, TAccountMiner extends string | AccountMeta<string> = string, TAccountBtcMint extends string | AccountMeta<string> = string, TAccountSatsVaultBtcAta extends string | AccountMeta<string> = string, TAccountAuthorityBtcAta extends string | AccountMeta<string> = string, TAccountTokenProgram extends string | AccountMeta<string> = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA', TAccountAssociatedTokenProgram extends string | AccountMeta<string> = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL', TAccountSystemProgram extends string | AccountMeta<string> = '11111111111111111111111111111111', TAccountEventAuthority extends string | AccountMeta<string> = string, TAccountProgram extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
2338
2508
  TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
2339
2509
  TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
2340
2510
  TAccountSatsVault extends string ? WritableAccount<TAccountSatsVault> : TAccountSatsVault,
@@ -2345,6 +2515,8 @@ type ClaimSatsInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRE
2345
2515
  TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
2346
2516
  TAccountAssociatedTokenProgram extends string ? ReadonlyAccount<TAccountAssociatedTokenProgram> : TAccountAssociatedTokenProgram,
2347
2517
  TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
2518
+ TAccountEventAuthority extends string ? ReadonlyAccount<TAccountEventAuthority> : TAccountEventAuthority,
2519
+ TAccountProgram extends string ? ReadonlyAccount<TAccountProgram> : TAccountProgram,
2348
2520
  ...TRemainingAccounts
2349
2521
  ]>;
2350
2522
  type ClaimSatsInstructionData = {
@@ -2357,7 +2529,7 @@ type ClaimSatsInstructionDataArgs = {
2357
2529
  declare function getClaimSatsInstructionDataEncoder(): FixedSizeEncoder<ClaimSatsInstructionDataArgs>;
2358
2530
  declare function getClaimSatsInstructionDataDecoder(): FixedSizeDecoder<ClaimSatsInstructionData>;
2359
2531
  declare function getClaimSatsInstructionDataCodec(): FixedSizeCodec<ClaimSatsInstructionDataArgs, ClaimSatsInstructionData>;
2360
- type ClaimSatsAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountSatsVault extends string = string, TAccountMiner extends string = string, TAccountBtcMint extends string = string, TAccountSatsVaultBtcAta extends string = string, TAccountAuthorityBtcAta extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string> = {
2532
+ type ClaimSatsAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountSatsVault extends string = string, TAccountMiner extends string = string, TAccountBtcMint extends string = string, TAccountSatsVaultBtcAta extends string = string, TAccountAuthorityBtcAta extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
2361
2533
  authority: TransactionSigner<TAccountAuthority>;
2362
2534
  satrushConfig?: Address<TAccountSatrushConfig>;
2363
2535
  /** The vault: source of BTC and the authority over its own reserves ATA. */
@@ -2372,12 +2544,14 @@ type ClaimSatsAsyncInput<TAccountAuthority extends string = string, TAccountSatr
2372
2544
  tokenProgram?: Address<TAccountTokenProgram>;
2373
2545
  associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
2374
2546
  systemProgram?: Address<TAccountSystemProgram>;
2547
+ eventAuthority: Address<TAccountEventAuthority>;
2548
+ program: Address<TAccountProgram>;
2375
2549
  shares: ClaimSatsInstructionDataArgs['shares'];
2376
2550
  };
2377
- declare function getClaimSatsInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountSatsVault extends string, TAccountMiner extends string, TAccountBtcMint extends string, TAccountSatsVaultBtcAta extends string, TAccountAuthorityBtcAta extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: ClaimSatsAsyncInput<TAccountAuthority, TAccountSatrushConfig, TAccountSatsVault, TAccountMiner, TAccountBtcMint, TAccountSatsVaultBtcAta, TAccountAuthorityBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>, config?: {
2551
+ declare function getClaimSatsInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountSatsVault extends string, TAccountMiner extends string, TAccountBtcMint extends string, TAccountSatsVaultBtcAta extends string, TAccountAuthorityBtcAta extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: ClaimSatsAsyncInput<TAccountAuthority, TAccountSatrushConfig, TAccountSatsVault, TAccountMiner, TAccountBtcMint, TAccountSatsVaultBtcAta, TAccountAuthorityBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
2378
2552
  programAddress?: TProgramAddress;
2379
- }): Promise<ClaimSatsInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountSatsVault, TAccountMiner, TAccountBtcMint, TAccountSatsVaultBtcAta, TAccountAuthorityBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>>;
2380
- type ClaimSatsInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountSatsVault extends string = string, TAccountMiner extends string = string, TAccountBtcMint extends string = string, TAccountSatsVaultBtcAta extends string = string, TAccountAuthorityBtcAta extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string> = {
2553
+ }): Promise<ClaimSatsInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountSatsVault, TAccountMiner, TAccountBtcMint, TAccountSatsVaultBtcAta, TAccountAuthorityBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>>;
2554
+ type ClaimSatsInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountSatsVault extends string = string, TAccountMiner extends string = string, TAccountBtcMint extends string = string, TAccountSatsVaultBtcAta extends string = string, TAccountAuthorityBtcAta extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
2381
2555
  authority: TransactionSigner<TAccountAuthority>;
2382
2556
  satrushConfig: Address<TAccountSatrushConfig>;
2383
2557
  /** The vault: source of BTC and the authority over its own reserves ATA. */
@@ -2392,11 +2566,13 @@ type ClaimSatsInput<TAccountAuthority extends string = string, TAccountSatrushCo
2392
2566
  tokenProgram?: Address<TAccountTokenProgram>;
2393
2567
  associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
2394
2568
  systemProgram?: Address<TAccountSystemProgram>;
2569
+ eventAuthority: Address<TAccountEventAuthority>;
2570
+ program: Address<TAccountProgram>;
2395
2571
  shares: ClaimSatsInstructionDataArgs['shares'];
2396
2572
  };
2397
- declare function getClaimSatsInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountSatsVault extends string, TAccountMiner extends string, TAccountBtcMint extends string, TAccountSatsVaultBtcAta extends string, TAccountAuthorityBtcAta extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: ClaimSatsInput<TAccountAuthority, TAccountSatrushConfig, TAccountSatsVault, TAccountMiner, TAccountBtcMint, TAccountSatsVaultBtcAta, TAccountAuthorityBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>, config?: {
2573
+ declare function getClaimSatsInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountSatsVault extends string, TAccountMiner extends string, TAccountBtcMint extends string, TAccountSatsVaultBtcAta extends string, TAccountAuthorityBtcAta extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: ClaimSatsInput<TAccountAuthority, TAccountSatrushConfig, TAccountSatsVault, TAccountMiner, TAccountBtcMint, TAccountSatsVaultBtcAta, TAccountAuthorityBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
2398
2574
  programAddress?: TProgramAddress;
2399
- }): ClaimSatsInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountSatsVault, TAccountMiner, TAccountBtcMint, TAccountSatsVaultBtcAta, TAccountAuthorityBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>;
2575
+ }): ClaimSatsInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountSatsVault, TAccountMiner, TAccountBtcMint, TAccountSatsVaultBtcAta, TAccountAuthorityBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>;
2400
2576
  type ParsedClaimSatsInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
2401
2577
  programAddress: Address<TProgram>;
2402
2578
  accounts: {
@@ -2414,6 +2590,8 @@ type ParsedClaimSatsInstruction<TProgram extends string = typeof SATRUSH_PROGRAM
2414
2590
  tokenProgram: TAccountMetas[7];
2415
2591
  associatedTokenProgram: TAccountMetas[8];
2416
2592
  systemProgram: TAccountMetas[9];
2593
+ eventAuthority: TAccountMetas[10];
2594
+ program: TAccountMetas[11];
2417
2595
  };
2418
2596
  data: ClaimSatsInstructionData;
2419
2597
  };
@@ -2764,6 +2942,147 @@ type ParsedCloseOneBtcTicketInstruction<TProgram extends string = typeof SATRUSH
2764
2942
  };
2765
2943
  declare function parseCloseOneBtcTicketInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedCloseOneBtcTicketInstruction<TProgram, TAccountMetas>;
2766
2944
 
2945
+ /**
2946
+ * This code was AUTOGENERATED using the Codama library.
2947
+ * Please DO NOT EDIT THIS FILE, instead use visitors
2948
+ * to add features, then rerun Codama to update it.
2949
+ *
2950
+ * @see https://github.com/codama-idl/codama
2951
+ */
2952
+
2953
+ declare const CLOSE_ROUND_DISCRIMINATOR: ReadonlyUint8Array;
2954
+ declare function getCloseRoundDiscriminatorBytes(): ReadonlyUint8Array;
2955
+ type CloseRoundInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountAuthority extends string | AccountMeta<string> = string, TAccountSatrushConfig extends string | AccountMeta<string> = string, TAccountBoard extends string | AccountMeta<string> = string, TAccountRound extends string | AccountMeta<string> = string, TAccountTreasury extends string | AccountMeta<string> = string, TAccountUsdMint extends string | AccountMeta<string> = string, TAccountBtcMint extends string | AccountMeta<string> = string, TAccountBoardUsdAta extends string | AccountMeta<string> = string, TAccountBoardBtcAta extends string | AccountMeta<string> = string, TAccountTreasuryUsdAta extends string | AccountMeta<string> = string, TAccountTreasuryBtcAta extends string | AccountMeta<string> = string, TAccountTokenProgram extends string | AccountMeta<string> = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA', TAccountAssociatedTokenProgram extends string | AccountMeta<string> = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL', TAccountSystemProgram extends string | AccountMeta<string> = '11111111111111111111111111111111', TAccountEventAuthority extends string | AccountMeta<string> = string, TAccountProgram extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
2956
+ TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
2957
+ TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
2958
+ TAccountBoard extends string ? ReadonlyAccount<TAccountBoard> : TAccountBoard,
2959
+ TAccountRound extends string ? WritableAccount<TAccountRound> : TAccountRound,
2960
+ TAccountTreasury extends string ? WritableAccount<TAccountTreasury> : TAccountTreasury,
2961
+ TAccountUsdMint extends string ? ReadonlyAccount<TAccountUsdMint> : TAccountUsdMint,
2962
+ TAccountBtcMint extends string ? ReadonlyAccount<TAccountBtcMint> : TAccountBtcMint,
2963
+ TAccountBoardUsdAta extends string ? WritableAccount<TAccountBoardUsdAta> : TAccountBoardUsdAta,
2964
+ TAccountBoardBtcAta extends string ? WritableAccount<TAccountBoardBtcAta> : TAccountBoardBtcAta,
2965
+ TAccountTreasuryUsdAta extends string ? WritableAccount<TAccountTreasuryUsdAta> : TAccountTreasuryUsdAta,
2966
+ TAccountTreasuryBtcAta extends string ? WritableAccount<TAccountTreasuryBtcAta> : TAccountTreasuryBtcAta,
2967
+ TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
2968
+ TAccountAssociatedTokenProgram extends string ? ReadonlyAccount<TAccountAssociatedTokenProgram> : TAccountAssociatedTokenProgram,
2969
+ TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
2970
+ TAccountEventAuthority extends string ? ReadonlyAccount<TAccountEventAuthority> : TAccountEventAuthority,
2971
+ TAccountProgram extends string ? ReadonlyAccount<TAccountProgram> : TAccountProgram,
2972
+ ...TRemainingAccounts
2973
+ ]>;
2974
+ type CloseRoundInstructionData = {
2975
+ discriminator: ReadonlyUint8Array;
2976
+ };
2977
+ type CloseRoundInstructionDataArgs = {};
2978
+ declare function getCloseRoundInstructionDataEncoder(): FixedSizeEncoder<CloseRoundInstructionDataArgs>;
2979
+ declare function getCloseRoundInstructionDataDecoder(): FixedSizeDecoder<CloseRoundInstructionData>;
2980
+ declare function getCloseRoundInstructionDataCodec(): FixedSizeCodec<CloseRoundInstructionDataArgs, CloseRoundInstructionData>;
2981
+ type CloseRoundAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountBoard extends string = string, TAccountRound extends string = string, TAccountTreasury extends string = string, TAccountUsdMint extends string = string, TAccountBtcMint extends string = string, TAccountBoardUsdAta extends string = string, TAccountBoardBtcAta extends string = string, TAccountTreasuryUsdAta extends string = string, TAccountTreasuryBtcAta extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
2982
+ authority: TransactionSigner<TAccountAuthority>;
2983
+ satrushConfig?: Address<TAccountSatrushConfig>;
2984
+ /** PDA that owns the board's token pools; signs the sweep transfers. */
2985
+ board?: Address<TAccountBoard>;
2986
+ /**
2987
+ * The finished round being torn down. `Finished` implies every miner
2988
+ * settled and the round was rotated out, so it cannot be the active round
2989
+ * and no settlement can still be pending against it.
2990
+ */
2991
+ round: Address<TAccountRound>;
2992
+ treasury?: Address<TAccountTreasury>;
2993
+ usdMint: Address<TAccountUsdMint>;
2994
+ btcMint: Address<TAccountBtcMint>;
2995
+ /** Board's USD pool — sweep source. */
2996
+ boardUsdAta?: Address<TAccountBoardUsdAta>;
2997
+ /** Board's BTC reserves — sweep source. */
2998
+ boardBtcAta?: Address<TAccountBoardBtcAta>;
2999
+ /** Treasury's USD pool — sweep destination. */
3000
+ treasuryUsdAta?: Address<TAccountTreasuryUsdAta>;
3001
+ /**
3002
+ * Treasury's BTC pool — sweep destination. Created lazily: the treasury
3003
+ * predates the BTC side, so the ATA may not exist yet.
3004
+ */
3005
+ treasuryBtcAta?: Address<TAccountTreasuryBtcAta>;
3006
+ tokenProgram?: Address<TAccountTokenProgram>;
3007
+ associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
3008
+ systemProgram?: Address<TAccountSystemProgram>;
3009
+ eventAuthority: Address<TAccountEventAuthority>;
3010
+ program: Address<TAccountProgram>;
3011
+ };
3012
+ declare function getCloseRoundInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountBoard extends string, TAccountRound extends string, TAccountTreasury extends string, TAccountUsdMint extends string, TAccountBtcMint extends string, TAccountBoardUsdAta extends string, TAccountBoardBtcAta extends string, TAccountTreasuryUsdAta extends string, TAccountTreasuryBtcAta extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: CloseRoundAsyncInput<TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountTreasury, TAccountUsdMint, TAccountBtcMint, TAccountBoardUsdAta, TAccountBoardBtcAta, TAccountTreasuryUsdAta, TAccountTreasuryBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
3013
+ programAddress?: TProgramAddress;
3014
+ }): Promise<CloseRoundInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountTreasury, TAccountUsdMint, TAccountBtcMint, TAccountBoardUsdAta, TAccountBoardBtcAta, TAccountTreasuryUsdAta, TAccountTreasuryBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>>;
3015
+ type CloseRoundInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountBoard extends string = string, TAccountRound extends string = string, TAccountTreasury extends string = string, TAccountUsdMint extends string = string, TAccountBtcMint extends string = string, TAccountBoardUsdAta extends string = string, TAccountBoardBtcAta extends string = string, TAccountTreasuryUsdAta extends string = string, TAccountTreasuryBtcAta extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
3016
+ authority: TransactionSigner<TAccountAuthority>;
3017
+ satrushConfig: Address<TAccountSatrushConfig>;
3018
+ /** PDA that owns the board's token pools; signs the sweep transfers. */
3019
+ board: Address<TAccountBoard>;
3020
+ /**
3021
+ * The finished round being torn down. `Finished` implies every miner
3022
+ * settled and the round was rotated out, so it cannot be the active round
3023
+ * and no settlement can still be pending against it.
3024
+ */
3025
+ round: Address<TAccountRound>;
3026
+ treasury: Address<TAccountTreasury>;
3027
+ usdMint: Address<TAccountUsdMint>;
3028
+ btcMint: Address<TAccountBtcMint>;
3029
+ /** Board's USD pool — sweep source. */
3030
+ boardUsdAta: Address<TAccountBoardUsdAta>;
3031
+ /** Board's BTC reserves — sweep source. */
3032
+ boardBtcAta: Address<TAccountBoardBtcAta>;
3033
+ /** Treasury's USD pool — sweep destination. */
3034
+ treasuryUsdAta: Address<TAccountTreasuryUsdAta>;
3035
+ /**
3036
+ * Treasury's BTC pool — sweep destination. Created lazily: the treasury
3037
+ * predates the BTC side, so the ATA may not exist yet.
3038
+ */
3039
+ treasuryBtcAta: Address<TAccountTreasuryBtcAta>;
3040
+ tokenProgram?: Address<TAccountTokenProgram>;
3041
+ associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
3042
+ systemProgram?: Address<TAccountSystemProgram>;
3043
+ eventAuthority: Address<TAccountEventAuthority>;
3044
+ program: Address<TAccountProgram>;
3045
+ };
3046
+ declare function getCloseRoundInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountBoard extends string, TAccountRound extends string, TAccountTreasury extends string, TAccountUsdMint extends string, TAccountBtcMint extends string, TAccountBoardUsdAta extends string, TAccountBoardBtcAta extends string, TAccountTreasuryUsdAta extends string, TAccountTreasuryBtcAta extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: CloseRoundInput<TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountTreasury, TAccountUsdMint, TAccountBtcMint, TAccountBoardUsdAta, TAccountBoardBtcAta, TAccountTreasuryUsdAta, TAccountTreasuryBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
3047
+ programAddress?: TProgramAddress;
3048
+ }): CloseRoundInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountTreasury, TAccountUsdMint, TAccountBtcMint, TAccountBoardUsdAta, TAccountBoardBtcAta, TAccountTreasuryUsdAta, TAccountTreasuryBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>;
3049
+ type ParsedCloseRoundInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
3050
+ programAddress: Address<TProgram>;
3051
+ accounts: {
3052
+ authority: TAccountMetas[0];
3053
+ satrushConfig: TAccountMetas[1];
3054
+ /** PDA that owns the board's token pools; signs the sweep transfers. */
3055
+ board: TAccountMetas[2];
3056
+ /**
3057
+ * The finished round being torn down. `Finished` implies every miner
3058
+ * settled and the round was rotated out, so it cannot be the active round
3059
+ * and no settlement can still be pending against it.
3060
+ */
3061
+ round: TAccountMetas[3];
3062
+ treasury: TAccountMetas[4];
3063
+ usdMint: TAccountMetas[5];
3064
+ btcMint: TAccountMetas[6];
3065
+ /** Board's USD pool — sweep source. */
3066
+ boardUsdAta: TAccountMetas[7];
3067
+ /** Board's BTC reserves — sweep source. */
3068
+ boardBtcAta: TAccountMetas[8];
3069
+ /** Treasury's USD pool — sweep destination. */
3070
+ treasuryUsdAta: TAccountMetas[9];
3071
+ /**
3072
+ * Treasury's BTC pool — sweep destination. Created lazily: the treasury
3073
+ * predates the BTC side, so the ATA may not exist yet.
3074
+ */
3075
+ treasuryBtcAta: TAccountMetas[10];
3076
+ tokenProgram: TAccountMetas[11];
3077
+ associatedTokenProgram: TAccountMetas[12];
3078
+ systemProgram: TAccountMetas[13];
3079
+ eventAuthority: TAccountMetas[14];
3080
+ program: TAccountMetas[15];
3081
+ };
3082
+ data: CloseRoundInstructionData;
3083
+ };
3084
+ declare function parseCloseRoundInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedCloseRoundInstruction<TProgram, TAccountMetas>;
3085
+
2767
3086
  /**
2768
3087
  * This code was AUTOGENERATED using the Codama library.
2769
3088
  * Please DO NOT EDIT THIS FILE, instead use visitors
@@ -3400,7 +3719,7 @@ declare function parseCreateTreasuryInstruction<TProgram extends string, TAccoun
3400
3719
 
3401
3720
  declare const DEPLOY_PUBLIC_DISCRIMINATOR: ReadonlyUint8Array;
3402
3721
  declare function getDeployPublicDiscriminatorBytes(): ReadonlyUint8Array;
3403
- type DeployPublicInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountAuthority extends string | AccountMeta<string> = string, TAccountSatrushConfig extends string | AccountMeta<string> = string, TAccountBoard extends string | AccountMeta<string> = string, TAccountRound extends string | AccountMeta<string> = string, TAccountUsdMint extends string | AccountMeta<string> = string, TAccountAuthorityUsdAta extends string | AccountMeta<string> = string, TAccountBoardUsdAta extends string | AccountMeta<string> = string, TAccountPublicDeployment extends string | AccountMeta<string> = string, TAccountMiner extends string | AccountMeta<string> = string, TAccountEpochVault extends string | AccountMeta<string> = string, TAccountEpochVaultUsdAta extends string | AccountMeta<string> = string, TAccountOneBtcVault extends string | AccountMeta<string> = string, TAccountOneBtcVaultUsdAta extends string | AccountMeta<string> = string, TAccountTreasury extends string | AccountMeta<string> = string, TAccountTreasuryUsdAta extends string | AccountMeta<string> = string, TAccountTokenProgram extends string | AccountMeta<string> = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA', TAccountSystemProgram extends string | AccountMeta<string> = '11111111111111111111111111111111', TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
3722
+ type DeployPublicInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountAuthority extends string | AccountMeta<string> = string, TAccountSatrushConfig extends string | AccountMeta<string> = string, TAccountBoard extends string | AccountMeta<string> = string, TAccountRound extends string | AccountMeta<string> = string, TAccountUsdMint extends string | AccountMeta<string> = string, TAccountAuthorityUsdAta extends string | AccountMeta<string> = string, TAccountBoardUsdAta extends string | AccountMeta<string> = string, TAccountPublicDeployment extends string | AccountMeta<string> = string, TAccountMiner extends string | AccountMeta<string> = string, TAccountTokenProgram extends string | AccountMeta<string> = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA', TAccountSystemProgram extends string | AccountMeta<string> = '11111111111111111111111111111111', TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
3404
3723
  TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
3405
3724
  TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
3406
3725
  TAccountBoard extends string ? WritableAccount<TAccountBoard> : TAccountBoard,
@@ -3410,12 +3729,6 @@ type DeployPublicInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_AD
3410
3729
  TAccountBoardUsdAta extends string ? WritableAccount<TAccountBoardUsdAta> : TAccountBoardUsdAta,
3411
3730
  TAccountPublicDeployment extends string ? WritableAccount<TAccountPublicDeployment> : TAccountPublicDeployment,
3412
3731
  TAccountMiner extends string ? WritableAccount<TAccountMiner> : TAccountMiner,
3413
- TAccountEpochVault extends string ? WritableAccount<TAccountEpochVault> : TAccountEpochVault,
3414
- TAccountEpochVaultUsdAta extends string ? WritableAccount<TAccountEpochVaultUsdAta> : TAccountEpochVaultUsdAta,
3415
- TAccountOneBtcVault extends string ? WritableAccount<TAccountOneBtcVault> : TAccountOneBtcVault,
3416
- TAccountOneBtcVaultUsdAta extends string ? WritableAccount<TAccountOneBtcVaultUsdAta> : TAccountOneBtcVaultUsdAta,
3417
- TAccountTreasury extends string ? WritableAccount<TAccountTreasury> : TAccountTreasury,
3418
- TAccountTreasuryUsdAta extends string ? WritableAccount<TAccountTreasuryUsdAta> : TAccountTreasuryUsdAta,
3419
3732
  TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
3420
3733
  TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
3421
3734
  ...TRemainingAccounts
@@ -3432,7 +3745,7 @@ type DeployPublicInstructionDataArgs = {
3432
3745
  declare function getDeployPublicInstructionDataEncoder(): FixedSizeEncoder<DeployPublicInstructionDataArgs>;
3433
3746
  declare function getDeployPublicInstructionDataDecoder(): FixedSizeDecoder<DeployPublicInstructionData>;
3434
3747
  declare function getDeployPublicInstructionDataCodec(): FixedSizeCodec<DeployPublicInstructionDataArgs, DeployPublicInstructionData>;
3435
- type DeployPublicAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountBoard extends string = string, TAccountRound extends string = string, TAccountUsdMint extends string = string, TAccountAuthorityUsdAta extends string = string, TAccountBoardUsdAta extends string = string, TAccountPublicDeployment extends string = string, TAccountMiner extends string = string, TAccountEpochVault extends string = string, TAccountEpochVaultUsdAta extends string = string, TAccountOneBtcVault extends string = string, TAccountOneBtcVaultUsdAta extends string = string, TAccountTreasury extends string = string, TAccountTreasuryUsdAta extends string = string, TAccountTokenProgram extends string = string, TAccountSystemProgram extends string = string> = {
3748
+ type DeployPublicAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountBoard extends string = string, TAccountRound extends string = string, TAccountUsdMint extends string = string, TAccountAuthorityUsdAta extends string = string, TAccountBoardUsdAta extends string = string, TAccountPublicDeployment extends string = string, TAccountMiner extends string = string, TAccountTokenProgram extends string = string, TAccountSystemProgram extends string = string> = {
3436
3749
  authority: TransactionSigner<TAccountAuthority>;
3437
3750
  satrushConfig?: Address<TAccountSatrushConfig>;
3438
3751
  board?: Address<TAccountBoard>;
@@ -3457,37 +3770,15 @@ type DeployPublicAsyncInput<TAccountAuthority extends string = string, TAccountS
3457
3770
  * loaded on subsequent ones; its streak advances on every play.
3458
3771
  */
3459
3772
  miner?: Address<TAccountMiner>;
3460
- /** Epoch Vault singleton — receives the epoch fee leg. */
3461
- epochVault?: Address<TAccountEpochVault>;
3462
- /** Epoch Vault's USD pool the epoch fee is transferred into. */
3463
- epochVaultUsdAta?: Address<TAccountEpochVaultUsdAta>;
3464
- /** 1 BTC Vault singleton — receives the 1 BTC fee leg. */
3465
- oneBtcVault?: Address<TAccountOneBtcVault>;
3466
- /** 1 BTC Vault's USD pool the 1 BTC fee is transferred into. */
3467
- oneBtcVaultUsdAta?: Address<TAccountOneBtcVaultUsdAta>;
3468
- /**
3469
- * Treasury singleton — receives the protocol fee leg. No seeds constraint:
3470
- * the PDA derivation is redundant — the discriminator + owner checks already
3471
- * pin the one Treasury instance that can ever exist (`init` on fixed seeds).
3472
- */
3473
- treasury: Address<TAccountTreasury>;
3474
- /**
3475
- * Treasury's USD fee pool the protocol fee is transferred into. Validated by
3476
- * field equality (`token::`) rather than ATA derivation (`associated_token::`):
3477
- * this instruction sits at the 4 KB BPF stack ceiling and cannot afford the
3478
- * derivation. Any treasury-owned USD account passes, but misdirecting the fee
3479
- * into a non-canonical one only strands the payer's own fee.
3480
- */
3481
- treasuryUsdAta: Address<TAccountTreasuryUsdAta>;
3482
3773
  tokenProgram?: Address<TAccountTokenProgram>;
3483
3774
  systemProgram?: Address<TAccountSystemProgram>;
3484
3775
  selectionMask: DeployPublicInstructionDataArgs['selectionMask'];
3485
3776
  amount: DeployPublicInstructionDataArgs['amount'];
3486
3777
  };
3487
- declare function getDeployPublicInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountBoard extends string, TAccountRound extends string, TAccountUsdMint extends string, TAccountAuthorityUsdAta extends string, TAccountBoardUsdAta extends string, TAccountPublicDeployment extends string, TAccountMiner extends string, TAccountEpochVault extends string, TAccountEpochVaultUsdAta extends string, TAccountOneBtcVault extends string, TAccountOneBtcVaultUsdAta extends string, TAccountTreasury extends string, TAccountTreasuryUsdAta extends string, TAccountTokenProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: DeployPublicAsyncInput<TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountUsdMint, TAccountAuthorityUsdAta, TAccountBoardUsdAta, TAccountPublicDeployment, TAccountMiner, TAccountEpochVault, TAccountEpochVaultUsdAta, TAccountOneBtcVault, TAccountOneBtcVaultUsdAta, TAccountTreasury, TAccountTreasuryUsdAta, TAccountTokenProgram, TAccountSystemProgram>, config?: {
3778
+ declare function getDeployPublicInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountBoard extends string, TAccountRound extends string, TAccountUsdMint extends string, TAccountAuthorityUsdAta extends string, TAccountBoardUsdAta extends string, TAccountPublicDeployment extends string, TAccountMiner extends string, TAccountTokenProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: DeployPublicAsyncInput<TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountUsdMint, TAccountAuthorityUsdAta, TAccountBoardUsdAta, TAccountPublicDeployment, TAccountMiner, TAccountTokenProgram, TAccountSystemProgram>, config?: {
3488
3779
  programAddress?: TProgramAddress;
3489
- }): Promise<DeployPublicInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountUsdMint, TAccountAuthorityUsdAta, TAccountBoardUsdAta, TAccountPublicDeployment, TAccountMiner, TAccountEpochVault, TAccountEpochVaultUsdAta, TAccountOneBtcVault, TAccountOneBtcVaultUsdAta, TAccountTreasury, TAccountTreasuryUsdAta, TAccountTokenProgram, TAccountSystemProgram>>;
3490
- type DeployPublicInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountBoard extends string = string, TAccountRound extends string = string, TAccountUsdMint extends string = string, TAccountAuthorityUsdAta extends string = string, TAccountBoardUsdAta extends string = string, TAccountPublicDeployment extends string = string, TAccountMiner extends string = string, TAccountEpochVault extends string = string, TAccountEpochVaultUsdAta extends string = string, TAccountOneBtcVault extends string = string, TAccountOneBtcVaultUsdAta extends string = string, TAccountTreasury extends string = string, TAccountTreasuryUsdAta extends string = string, TAccountTokenProgram extends string = string, TAccountSystemProgram extends string = string> = {
3780
+ }): Promise<DeployPublicInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountUsdMint, TAccountAuthorityUsdAta, TAccountBoardUsdAta, TAccountPublicDeployment, TAccountMiner, TAccountTokenProgram, TAccountSystemProgram>>;
3781
+ type DeployPublicInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountBoard extends string = string, TAccountRound extends string = string, TAccountUsdMint extends string = string, TAccountAuthorityUsdAta extends string = string, TAccountBoardUsdAta extends string = string, TAccountPublicDeployment extends string = string, TAccountMiner extends string = string, TAccountTokenProgram extends string = string, TAccountSystemProgram extends string = string> = {
3491
3782
  authority: TransactionSigner<TAccountAuthority>;
3492
3783
  satrushConfig: Address<TAccountSatrushConfig>;
3493
3784
  board: Address<TAccountBoard>;
@@ -3512,36 +3803,14 @@ type DeployPublicInput<TAccountAuthority extends string = string, TAccountSatrus
3512
3803
  * loaded on subsequent ones; its streak advances on every play.
3513
3804
  */
3514
3805
  miner: Address<TAccountMiner>;
3515
- /** Epoch Vault singleton — receives the epoch fee leg. */
3516
- epochVault: Address<TAccountEpochVault>;
3517
- /** Epoch Vault's USD pool the epoch fee is transferred into. */
3518
- epochVaultUsdAta: Address<TAccountEpochVaultUsdAta>;
3519
- /** 1 BTC Vault singleton — receives the 1 BTC fee leg. */
3520
- oneBtcVault: Address<TAccountOneBtcVault>;
3521
- /** 1 BTC Vault's USD pool the 1 BTC fee is transferred into. */
3522
- oneBtcVaultUsdAta: Address<TAccountOneBtcVaultUsdAta>;
3523
- /**
3524
- * Treasury singleton — receives the protocol fee leg. No seeds constraint:
3525
- * the PDA derivation is redundant — the discriminator + owner checks already
3526
- * pin the one Treasury instance that can ever exist (`init` on fixed seeds).
3527
- */
3528
- treasury: Address<TAccountTreasury>;
3529
- /**
3530
- * Treasury's USD fee pool the protocol fee is transferred into. Validated by
3531
- * field equality (`token::`) rather than ATA derivation (`associated_token::`):
3532
- * this instruction sits at the 4 KB BPF stack ceiling and cannot afford the
3533
- * derivation. Any treasury-owned USD account passes, but misdirecting the fee
3534
- * into a non-canonical one only strands the payer's own fee.
3535
- */
3536
- treasuryUsdAta: Address<TAccountTreasuryUsdAta>;
3537
3806
  tokenProgram?: Address<TAccountTokenProgram>;
3538
3807
  systemProgram?: Address<TAccountSystemProgram>;
3539
3808
  selectionMask: DeployPublicInstructionDataArgs['selectionMask'];
3540
3809
  amount: DeployPublicInstructionDataArgs['amount'];
3541
3810
  };
3542
- declare function getDeployPublicInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountBoard extends string, TAccountRound extends string, TAccountUsdMint extends string, TAccountAuthorityUsdAta extends string, TAccountBoardUsdAta extends string, TAccountPublicDeployment extends string, TAccountMiner extends string, TAccountEpochVault extends string, TAccountEpochVaultUsdAta extends string, TAccountOneBtcVault extends string, TAccountOneBtcVaultUsdAta extends string, TAccountTreasury extends string, TAccountTreasuryUsdAta extends string, TAccountTokenProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: DeployPublicInput<TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountUsdMint, TAccountAuthorityUsdAta, TAccountBoardUsdAta, TAccountPublicDeployment, TAccountMiner, TAccountEpochVault, TAccountEpochVaultUsdAta, TAccountOneBtcVault, TAccountOneBtcVaultUsdAta, TAccountTreasury, TAccountTreasuryUsdAta, TAccountTokenProgram, TAccountSystemProgram>, config?: {
3811
+ declare function getDeployPublicInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountBoard extends string, TAccountRound extends string, TAccountUsdMint extends string, TAccountAuthorityUsdAta extends string, TAccountBoardUsdAta extends string, TAccountPublicDeployment extends string, TAccountMiner extends string, TAccountTokenProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: DeployPublicInput<TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountUsdMint, TAccountAuthorityUsdAta, TAccountBoardUsdAta, TAccountPublicDeployment, TAccountMiner, TAccountTokenProgram, TAccountSystemProgram>, config?: {
3543
3812
  programAddress?: TProgramAddress;
3544
- }): DeployPublicInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountUsdMint, TAccountAuthorityUsdAta, TAccountBoardUsdAta, TAccountPublicDeployment, TAccountMiner, TAccountEpochVault, TAccountEpochVaultUsdAta, TAccountOneBtcVault, TAccountOneBtcVaultUsdAta, TAccountTreasury, TAccountTreasuryUsdAta, TAccountTokenProgram, TAccountSystemProgram>;
3813
+ }): DeployPublicInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountUsdMint, TAccountAuthorityUsdAta, TAccountBoardUsdAta, TAccountPublicDeployment, TAccountMiner, TAccountTokenProgram, TAccountSystemProgram>;
3545
3814
  type ParsedDeployPublicInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
3546
3815
  programAddress: Address<TProgram>;
3547
3816
  accounts: {
@@ -3569,30 +3838,8 @@ type ParsedDeployPublicInstruction<TProgram extends string = typeof SATRUSH_PROG
3569
3838
  * loaded on subsequent ones; its streak advances on every play.
3570
3839
  */
3571
3840
  miner: TAccountMetas[8];
3572
- /** Epoch Vault singleton — receives the epoch fee leg. */
3573
- epochVault: TAccountMetas[9];
3574
- /** Epoch Vault's USD pool the epoch fee is transferred into. */
3575
- epochVaultUsdAta: TAccountMetas[10];
3576
- /** 1 BTC Vault singleton — receives the 1 BTC fee leg. */
3577
- oneBtcVault: TAccountMetas[11];
3578
- /** 1 BTC Vault's USD pool the 1 BTC fee is transferred into. */
3579
- oneBtcVaultUsdAta: TAccountMetas[12];
3580
- /**
3581
- * Treasury singleton — receives the protocol fee leg. No seeds constraint:
3582
- * the PDA derivation is redundant — the discriminator + owner checks already
3583
- * pin the one Treasury instance that can ever exist (`init` on fixed seeds).
3584
- */
3585
- treasury: TAccountMetas[13];
3586
- /**
3587
- * Treasury's USD fee pool the protocol fee is transferred into. Validated by
3588
- * field equality (`token::`) rather than ATA derivation (`associated_token::`):
3589
- * this instruction sits at the 4 KB BPF stack ceiling and cannot afford the
3590
- * derivation. Any treasury-owned USD account passes, but misdirecting the fee
3591
- * into a non-canonical one only strands the payer's own fee.
3592
- */
3593
- treasuryUsdAta: TAccountMetas[14];
3594
- tokenProgram: TAccountMetas[15];
3595
- systemProgram: TAccountMetas[16];
3841
+ tokenProgram: TAccountMetas[9];
3842
+ systemProgram: TAccountMetas[10];
3596
3843
  };
3597
3844
  data: DeployPublicInstructionData;
3598
3845
  };
@@ -3608,7 +3855,7 @@ declare function parseDeployPublicInstruction<TProgram extends string, TAccountM
3608
3855
 
3609
3856
  declare const EXECUTE_PUBLIC_AUTOMATION_DISCRIMINATOR: ReadonlyUint8Array;
3610
3857
  declare function getExecutePublicAutomationDiscriminatorBytes(): ReadonlyUint8Array;
3611
- type ExecutePublicAutomationInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountAuthority extends string | AccountMeta<string> = string, TAccountSatrushConfig extends string | AccountMeta<string> = string, TAccountBoard extends string | AccountMeta<string> = string, TAccountRound extends string | AccountMeta<string> = string, TAccountPublicAutomation extends string | AccountMeta<string> = string, TAccountUsdMint extends string | AccountMeta<string> = string, TAccountAutomationUsdAta extends string | AccountMeta<string> = string, TAccountBoardUsdAta extends string | AccountMeta<string> = string, TAccountPublicDeployment extends string | AccountMeta<string> = string, TAccountMiner extends string | AccountMeta<string> = string, TAccountEpochVault extends string | AccountMeta<string> = string, TAccountEpochVaultUsdAta extends string | AccountMeta<string> = string, TAccountOneBtcVault extends string | AccountMeta<string> = string, TAccountOneBtcVaultUsdAta extends string | AccountMeta<string> = string, TAccountTreasury extends string | AccountMeta<string> = string, TAccountTreasuryUsdAta extends string | AccountMeta<string> = string, TAccountSlotHashes extends string | AccountMeta<string> = 'SysvarS1otHashes111111111111111111111111111', TAccountTokenProgram extends string | AccountMeta<string> = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA', TAccountSystemProgram extends string | AccountMeta<string> = '11111111111111111111111111111111', TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
3858
+ type ExecutePublicAutomationInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountAuthority extends string | AccountMeta<string> = string, TAccountSatrushConfig extends string | AccountMeta<string> = string, TAccountBoard extends string | AccountMeta<string> = string, TAccountRound extends string | AccountMeta<string> = string, TAccountPublicAutomation extends string | AccountMeta<string> = string, TAccountUsdMint extends string | AccountMeta<string> = string, TAccountAutomationUsdAta extends string | AccountMeta<string> = string, TAccountBoardUsdAta extends string | AccountMeta<string> = string, TAccountPublicDeployment extends string | AccountMeta<string> = string, TAccountMiner extends string | AccountMeta<string> = string, TAccountSlotHashes extends string | AccountMeta<string> = 'SysvarS1otHashes111111111111111111111111111', TAccountTokenProgram extends string | AccountMeta<string> = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA', TAccountSystemProgram extends string | AccountMeta<string> = '11111111111111111111111111111111', TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
3612
3859
  TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
3613
3860
  TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
3614
3861
  TAccountBoard extends string ? WritableAccount<TAccountBoard> : TAccountBoard,
@@ -3619,12 +3866,6 @@ type ExecutePublicAutomationInstruction<TProgram extends string = typeof SATRUSH
3619
3866
  TAccountBoardUsdAta extends string ? WritableAccount<TAccountBoardUsdAta> : TAccountBoardUsdAta,
3620
3867
  TAccountPublicDeployment extends string ? WritableAccount<TAccountPublicDeployment> : TAccountPublicDeployment,
3621
3868
  TAccountMiner extends string ? WritableAccount<TAccountMiner> : TAccountMiner,
3622
- TAccountEpochVault extends string ? WritableAccount<TAccountEpochVault> : TAccountEpochVault,
3623
- TAccountEpochVaultUsdAta extends string ? WritableAccount<TAccountEpochVaultUsdAta> : TAccountEpochVaultUsdAta,
3624
- TAccountOneBtcVault extends string ? WritableAccount<TAccountOneBtcVault> : TAccountOneBtcVault,
3625
- TAccountOneBtcVaultUsdAta extends string ? WritableAccount<TAccountOneBtcVaultUsdAta> : TAccountOneBtcVaultUsdAta,
3626
- TAccountTreasury extends string ? WritableAccount<TAccountTreasury> : TAccountTreasury,
3627
- TAccountTreasuryUsdAta extends string ? WritableAccount<TAccountTreasuryUsdAta> : TAccountTreasuryUsdAta,
3628
3869
  TAccountSlotHashes extends string ? ReadonlyAccount<TAccountSlotHashes> : TAccountSlotHashes,
3629
3870
  TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
3630
3871
  TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
@@ -3640,7 +3881,7 @@ type ExecutePublicAutomationInstructionDataArgs = {
3640
3881
  declare function getExecutePublicAutomationInstructionDataEncoder(): Encoder<ExecutePublicAutomationInstructionDataArgs>;
3641
3882
  declare function getExecutePublicAutomationInstructionDataDecoder(): Decoder<ExecutePublicAutomationInstructionData>;
3642
3883
  declare function getExecutePublicAutomationInstructionDataCodec(): Codec<ExecutePublicAutomationInstructionDataArgs, ExecutePublicAutomationInstructionData>;
3643
- type ExecutePublicAutomationAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountBoard extends string = string, TAccountRound extends string = string, TAccountPublicAutomation extends string = string, TAccountUsdMint extends string = string, TAccountAutomationUsdAta extends string = string, TAccountBoardUsdAta extends string = string, TAccountPublicDeployment extends string = string, TAccountMiner extends string = string, TAccountEpochVault extends string = string, TAccountEpochVaultUsdAta extends string = string, TAccountOneBtcVault extends string = string, TAccountOneBtcVaultUsdAta extends string = string, TAccountTreasury extends string = string, TAccountTreasuryUsdAta extends string = string, TAccountSlotHashes extends string = string, TAccountTokenProgram extends string = string, TAccountSystemProgram extends string = string> = {
3884
+ type ExecutePublicAutomationAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountBoard extends string = string, TAccountRound extends string = string, TAccountPublicAutomation extends string = string, TAccountUsdMint extends string = string, TAccountAutomationUsdAta extends string = string, TAccountBoardUsdAta extends string = string, TAccountPublicDeployment extends string = string, TAccountMiner extends string = string, TAccountSlotHashes extends string = string, TAccountTokenProgram extends string = string, TAccountSystemProgram extends string = string> = {
3644
3885
  /**
3645
3886
  * The crank (round authority); pays the deployment rent, recovered at
3646
3887
  * settle.
@@ -3660,7 +3901,7 @@ type ExecutePublicAutomationAsyncInput<TAccountAuthority extends string = string
3660
3901
  /** The automation's escrow the deploy is funded from. */
3661
3902
  automationUsdAta: Address<TAccountAutomationUsdAta>;
3662
3903
  /** Board's USD deposit pool. */
3663
- boardUsdAta: Address<TAccountBoardUsdAta>;
3904
+ boardUsdAta?: Address<TAccountBoardUsdAta>;
3664
3905
  /**
3665
3906
  * Per-(user, round) deployment record. Init fails if the user already
3666
3907
  * deployed into this round (manually or via this automation).
@@ -3671,16 +3912,6 @@ type ExecutePublicAutomationAsyncInput<TAccountAuthority extends string = string
3671
3912
  * `create_public_automation`, so no `init_if_needed` here (stack + rent).
3672
3913
  */
3673
3914
  miner: Address<TAccountMiner>;
3674
- epochVault?: Address<TAccountEpochVault>;
3675
- epochVaultUsdAta: Address<TAccountEpochVaultUsdAta>;
3676
- oneBtcVault?: Address<TAccountOneBtcVault>;
3677
- oneBtcVaultUsdAta: Address<TAccountOneBtcVaultUsdAta>;
3678
- /**
3679
- * Same rationale as DeployPublic: discriminator + owner checks pin the
3680
- * singleton; no seeds constraint needed.
3681
- */
3682
- treasury: Address<TAccountTreasury>;
3683
- treasuryUsdAta: Address<TAccountTreasuryUsdAta>;
3684
3915
  /**
3685
3916
  * because the sysvar is too large to deserialize. Feeds Random-strategy
3686
3917
  * mask generation only, but is always passed (cheap).
@@ -3690,10 +3921,10 @@ type ExecutePublicAutomationAsyncInput<TAccountAuthority extends string = string
3690
3921
  systemProgram?: Address<TAccountSystemProgram>;
3691
3922
  selectionMask: ExecutePublicAutomationInstructionDataArgs['selectionMask'];
3692
3923
  };
3693
- declare function getExecutePublicAutomationInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountBoard extends string, TAccountRound extends string, TAccountPublicAutomation extends string, TAccountUsdMint extends string, TAccountAutomationUsdAta extends string, TAccountBoardUsdAta extends string, TAccountPublicDeployment extends string, TAccountMiner extends string, TAccountEpochVault extends string, TAccountEpochVaultUsdAta extends string, TAccountOneBtcVault extends string, TAccountOneBtcVaultUsdAta extends string, TAccountTreasury extends string, TAccountTreasuryUsdAta extends string, TAccountSlotHashes extends string, TAccountTokenProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: ExecutePublicAutomationAsyncInput<TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountPublicAutomation, TAccountUsdMint, TAccountAutomationUsdAta, TAccountBoardUsdAta, TAccountPublicDeployment, TAccountMiner, TAccountEpochVault, TAccountEpochVaultUsdAta, TAccountOneBtcVault, TAccountOneBtcVaultUsdAta, TAccountTreasury, TAccountTreasuryUsdAta, TAccountSlotHashes, TAccountTokenProgram, TAccountSystemProgram>, config?: {
3924
+ declare function getExecutePublicAutomationInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountBoard extends string, TAccountRound extends string, TAccountPublicAutomation extends string, TAccountUsdMint extends string, TAccountAutomationUsdAta extends string, TAccountBoardUsdAta extends string, TAccountPublicDeployment extends string, TAccountMiner extends string, TAccountSlotHashes extends string, TAccountTokenProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: ExecutePublicAutomationAsyncInput<TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountPublicAutomation, TAccountUsdMint, TAccountAutomationUsdAta, TAccountBoardUsdAta, TAccountPublicDeployment, TAccountMiner, TAccountSlotHashes, TAccountTokenProgram, TAccountSystemProgram>, config?: {
3694
3925
  programAddress?: TProgramAddress;
3695
- }): Promise<ExecutePublicAutomationInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountPublicAutomation, TAccountUsdMint, TAccountAutomationUsdAta, TAccountBoardUsdAta, TAccountPublicDeployment, TAccountMiner, TAccountEpochVault, TAccountEpochVaultUsdAta, TAccountOneBtcVault, TAccountOneBtcVaultUsdAta, TAccountTreasury, TAccountTreasuryUsdAta, TAccountSlotHashes, TAccountTokenProgram, TAccountSystemProgram>>;
3696
- type ExecutePublicAutomationInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountBoard extends string = string, TAccountRound extends string = string, TAccountPublicAutomation extends string = string, TAccountUsdMint extends string = string, TAccountAutomationUsdAta extends string = string, TAccountBoardUsdAta extends string = string, TAccountPublicDeployment extends string = string, TAccountMiner extends string = string, TAccountEpochVault extends string = string, TAccountEpochVaultUsdAta extends string = string, TAccountOneBtcVault extends string = string, TAccountOneBtcVaultUsdAta extends string = string, TAccountTreasury extends string = string, TAccountTreasuryUsdAta extends string = string, TAccountSlotHashes extends string = string, TAccountTokenProgram extends string = string, TAccountSystemProgram extends string = string> = {
3926
+ }): Promise<ExecutePublicAutomationInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountPublicAutomation, TAccountUsdMint, TAccountAutomationUsdAta, TAccountBoardUsdAta, TAccountPublicDeployment, TAccountMiner, TAccountSlotHashes, TAccountTokenProgram, TAccountSystemProgram>>;
3927
+ type ExecutePublicAutomationInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountBoard extends string = string, TAccountRound extends string = string, TAccountPublicAutomation extends string = string, TAccountUsdMint extends string = string, TAccountAutomationUsdAta extends string = string, TAccountBoardUsdAta extends string = string, TAccountPublicDeployment extends string = string, TAccountMiner extends string = string, TAccountSlotHashes extends string = string, TAccountTokenProgram extends string = string, TAccountSystemProgram extends string = string> = {
3697
3928
  /**
3698
3929
  * The crank (round authority); pays the deployment rent, recovered at
3699
3930
  * settle.
@@ -3724,16 +3955,6 @@ type ExecutePublicAutomationInput<TAccountAuthority extends string = string, TAc
3724
3955
  * `create_public_automation`, so no `init_if_needed` here (stack + rent).
3725
3956
  */
3726
3957
  miner: Address<TAccountMiner>;
3727
- epochVault: Address<TAccountEpochVault>;
3728
- epochVaultUsdAta: Address<TAccountEpochVaultUsdAta>;
3729
- oneBtcVault: Address<TAccountOneBtcVault>;
3730
- oneBtcVaultUsdAta: Address<TAccountOneBtcVaultUsdAta>;
3731
- /**
3732
- * Same rationale as DeployPublic: discriminator + owner checks pin the
3733
- * singleton; no seeds constraint needed.
3734
- */
3735
- treasury: Address<TAccountTreasury>;
3736
- treasuryUsdAta: Address<TAccountTreasuryUsdAta>;
3737
3958
  /**
3738
3959
  * because the sysvar is too large to deserialize. Feeds Random-strategy
3739
3960
  * mask generation only, but is always passed (cheap).
@@ -3743,9 +3964,9 @@ type ExecutePublicAutomationInput<TAccountAuthority extends string = string, TAc
3743
3964
  systemProgram?: Address<TAccountSystemProgram>;
3744
3965
  selectionMask: ExecutePublicAutomationInstructionDataArgs['selectionMask'];
3745
3966
  };
3746
- declare function getExecutePublicAutomationInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountBoard extends string, TAccountRound extends string, TAccountPublicAutomation extends string, TAccountUsdMint extends string, TAccountAutomationUsdAta extends string, TAccountBoardUsdAta extends string, TAccountPublicDeployment extends string, TAccountMiner extends string, TAccountEpochVault extends string, TAccountEpochVaultUsdAta extends string, TAccountOneBtcVault extends string, TAccountOneBtcVaultUsdAta extends string, TAccountTreasury extends string, TAccountTreasuryUsdAta extends string, TAccountSlotHashes extends string, TAccountTokenProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: ExecutePublicAutomationInput<TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountPublicAutomation, TAccountUsdMint, TAccountAutomationUsdAta, TAccountBoardUsdAta, TAccountPublicDeployment, TAccountMiner, TAccountEpochVault, TAccountEpochVaultUsdAta, TAccountOneBtcVault, TAccountOneBtcVaultUsdAta, TAccountTreasury, TAccountTreasuryUsdAta, TAccountSlotHashes, TAccountTokenProgram, TAccountSystemProgram>, config?: {
3967
+ declare function getExecutePublicAutomationInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountBoard extends string, TAccountRound extends string, TAccountPublicAutomation extends string, TAccountUsdMint extends string, TAccountAutomationUsdAta extends string, TAccountBoardUsdAta extends string, TAccountPublicDeployment extends string, TAccountMiner extends string, TAccountSlotHashes extends string, TAccountTokenProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: ExecutePublicAutomationInput<TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountPublicAutomation, TAccountUsdMint, TAccountAutomationUsdAta, TAccountBoardUsdAta, TAccountPublicDeployment, TAccountMiner, TAccountSlotHashes, TAccountTokenProgram, TAccountSystemProgram>, config?: {
3747
3968
  programAddress?: TProgramAddress;
3748
- }): ExecutePublicAutomationInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountPublicAutomation, TAccountUsdMint, TAccountAutomationUsdAta, TAccountBoardUsdAta, TAccountPublicDeployment, TAccountMiner, TAccountEpochVault, TAccountEpochVaultUsdAta, TAccountOneBtcVault, TAccountOneBtcVaultUsdAta, TAccountTreasury, TAccountTreasuryUsdAta, TAccountSlotHashes, TAccountTokenProgram, TAccountSystemProgram>;
3969
+ }): ExecutePublicAutomationInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountPublicAutomation, TAccountUsdMint, TAccountAutomationUsdAta, TAccountBoardUsdAta, TAccountPublicDeployment, TAccountMiner, TAccountSlotHashes, TAccountTokenProgram, TAccountSystemProgram>;
3749
3970
  type ParsedExecutePublicAutomationInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
3750
3971
  programAddress: Address<TProgram>;
3751
3972
  accounts: {
@@ -3779,23 +4000,13 @@ type ParsedExecutePublicAutomationInstruction<TProgram extends string = typeof S
3779
4000
  * `create_public_automation`, so no `init_if_needed` here (stack + rent).
3780
4001
  */
3781
4002
  miner: TAccountMetas[9];
3782
- epochVault: TAccountMetas[10];
3783
- epochVaultUsdAta: TAccountMetas[11];
3784
- oneBtcVault: TAccountMetas[12];
3785
- oneBtcVaultUsdAta: TAccountMetas[13];
3786
- /**
3787
- * Same rationale as DeployPublic: discriminator + owner checks pin the
3788
- * singleton; no seeds constraint needed.
3789
- */
3790
- treasury: TAccountMetas[14];
3791
- treasuryUsdAta: TAccountMetas[15];
3792
4003
  /**
3793
4004
  * because the sysvar is too large to deserialize. Feeds Random-strategy
3794
4005
  * mask generation only, but is always passed (cheap).
3795
4006
  */
3796
- slotHashes: TAccountMetas[16];
3797
- tokenProgram: TAccountMetas[17];
3798
- systemProgram: TAccountMetas[18];
4007
+ slotHashes: TAccountMetas[10];
4008
+ tokenProgram: TAccountMetas[11];
4009
+ systemProgram: TAccountMetas[12];
3799
4010
  };
3800
4011
  data: ExecutePublicAutomationInstructionData;
3801
4012
  };
@@ -3811,13 +4022,22 @@ declare function parseExecutePublicAutomationInstruction<TProgram extends string
3811
4022
 
3812
4023
  declare const ROTATE_ROUND_DISCRIMINATOR: ReadonlyUint8Array;
3813
4024
  declare function getRotateRoundDiscriminatorBytes(): ReadonlyUint8Array;
3814
- type RotateRoundInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountAuthority extends string | AccountMeta<string> = string, TAccountSatrushConfig extends string | AccountMeta<string> = string, TAccountBoard extends string | AccountMeta<string> = string, TAccountCurrentRound extends string | AccountMeta<string> = string, TAccountNextRound extends string | AccountMeta<string> = string, TAccountSlotHashes extends string | AccountMeta<string> = 'SysvarS1otHashes111111111111111111111111111', TAccountSystemProgram extends string | AccountMeta<string> = '11111111111111111111111111111111', TAccountEventAuthority extends string | AccountMeta<string> = string, TAccountProgram extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
4025
+ type RotateRoundInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountAuthority extends string | AccountMeta<string> = string, TAccountSatrushConfig extends string | AccountMeta<string> = string, TAccountBoard extends string | AccountMeta<string> = string, TAccountCurrentRound extends string | AccountMeta<string> = string, TAccountNextRound extends string | AccountMeta<string> = string, TAccountUsdMint extends string | AccountMeta<string> = string, TAccountBoardUsdAta extends string | AccountMeta<string> = string, TAccountEpochVault extends string | AccountMeta<string> = string, TAccountEpochVaultUsdAta extends string | AccountMeta<string> = string, TAccountOneBtcVault extends string | AccountMeta<string> = string, TAccountOneBtcVaultUsdAta extends string | AccountMeta<string> = string, TAccountTreasury extends string | AccountMeta<string> = string, TAccountTreasuryUsdAta extends string | AccountMeta<string> = string, TAccountSlotHashes extends string | AccountMeta<string> = 'SysvarS1otHashes111111111111111111111111111', TAccountTokenProgram extends string | AccountMeta<string> = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA', TAccountSystemProgram extends string | AccountMeta<string> = '11111111111111111111111111111111', TAccountEventAuthority extends string | AccountMeta<string> = string, TAccountProgram extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
3815
4026
  TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
3816
4027
  TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
3817
4028
  TAccountBoard extends string ? WritableAccount<TAccountBoard> : TAccountBoard,
3818
4029
  TAccountCurrentRound extends string ? WritableAccount<TAccountCurrentRound> : TAccountCurrentRound,
3819
4030
  TAccountNextRound extends string ? WritableAccount<TAccountNextRound> : TAccountNextRound,
4031
+ TAccountUsdMint extends string ? ReadonlyAccount<TAccountUsdMint> : TAccountUsdMint,
4032
+ TAccountBoardUsdAta extends string ? WritableAccount<TAccountBoardUsdAta> : TAccountBoardUsdAta,
4033
+ TAccountEpochVault extends string ? WritableAccount<TAccountEpochVault> : TAccountEpochVault,
4034
+ TAccountEpochVaultUsdAta extends string ? WritableAccount<TAccountEpochVaultUsdAta> : TAccountEpochVaultUsdAta,
4035
+ TAccountOneBtcVault extends string ? WritableAccount<TAccountOneBtcVault> : TAccountOneBtcVault,
4036
+ TAccountOneBtcVaultUsdAta extends string ? WritableAccount<TAccountOneBtcVaultUsdAta> : TAccountOneBtcVaultUsdAta,
4037
+ TAccountTreasury extends string ? WritableAccount<TAccountTreasury> : TAccountTreasury,
4038
+ TAccountTreasuryUsdAta extends string ? WritableAccount<TAccountTreasuryUsdAta> : TAccountTreasuryUsdAta,
3820
4039
  TAccountSlotHashes extends string ? ReadonlyAccount<TAccountSlotHashes> : TAccountSlotHashes,
4040
+ TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
3821
4041
  TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
3822
4042
  TAccountEventAuthority extends string ? ReadonlyAccount<TAccountEventAuthority> : TAccountEventAuthority,
3823
4043
  TAccountProgram extends string ? ReadonlyAccount<TAccountProgram> : TAccountProgram,
@@ -3830,11 +4050,20 @@ type RotateRoundInstructionDataArgs = {};
3830
4050
  declare function getRotateRoundInstructionDataEncoder(): FixedSizeEncoder<RotateRoundInstructionDataArgs>;
3831
4051
  declare function getRotateRoundInstructionDataDecoder(): FixedSizeDecoder<RotateRoundInstructionData>;
3832
4052
  declare function getRotateRoundInstructionDataCodec(): FixedSizeCodec<RotateRoundInstructionDataArgs, RotateRoundInstructionData>;
3833
- type RotateRoundAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountBoard extends string = string, TAccountCurrentRound extends string = string, TAccountNextRound extends string = string, TAccountSlotHashes extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
4053
+ type RotateRoundAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountBoard extends string = string, TAccountCurrentRound extends string = string, TAccountNextRound extends string = string, TAccountUsdMint extends string = string, TAccountBoardUsdAta extends string = string, TAccountEpochVault extends string = string, TAccountEpochVaultUsdAta extends string = string, TAccountOneBtcVault extends string = string, TAccountOneBtcVaultUsdAta extends string = string, TAccountTreasury extends string = string, TAccountTreasuryUsdAta extends string = string, TAccountSlotHashes extends string = string, TAccountTokenProgram extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
3834
4054
  authority: TransactionSigner<TAccountAuthority>;
3835
4055
  satrushConfig?: Address<TAccountSatrushConfig>;
4056
+ /**
4057
+ * Stays a regular `Account`: `get_next_round_id()` feeds `next_round`'s
4058
+ * PDA seeds, which `LazyAccount` cannot serve.
4059
+ */
3836
4060
  board?: Address<TAccountBoard>;
3837
- /** The current round being closed out (revealed). */
4061
+ /**
4062
+ * The current round being closed out (revealed). Lazy for the same stack
4063
+ * reason as the config; its PDA derives from `board.round_id` (a plain
4064
+ * field path the IDL seed parser can encode), which pins it to the
4065
+ * board's current round with no separate id constraint.
4066
+ */
3838
4067
  currentRound: Address<TAccountCurrentRound>;
3839
4068
  /**
3840
4069
  * The freshly deployed next round, which becomes the board's active round.
@@ -3842,20 +4071,46 @@ type RotateRoundAsyncInput<TAccountAuthority extends string = string, TAccountSa
3842
4071
  * populates it via `Round::try_new`.
3843
4072
  */
3844
4073
  nextRound?: Address<TAccountNextRound>;
4074
+ usdMint: Address<TAccountUsdMint>;
4075
+ /** Board's USD pool where every deploy's full amount landed — the sweep source. */
4076
+ boardUsdAta?: Address<TAccountBoardUsdAta>;
4077
+ /** Epoch Vault singleton — receives the round's accumulated epoch fee leg. */
4078
+ epochVault?: Address<TAccountEpochVault>;
4079
+ epochVaultUsdAta?: Address<TAccountEpochVaultUsdAta>;
4080
+ /** 1 BTC Vault singleton — receives the round's accumulated 1 BTC fee leg. */
4081
+ oneBtcVault?: Address<TAccountOneBtcVault>;
4082
+ oneBtcVaultUsdAta?: Address<TAccountOneBtcVaultUsdAta>;
4083
+ /**
4084
+ * Treasury singleton — receives the round's accumulated protocol fee leg.
4085
+ * No seeds constraint: discriminator + owner checks pin the one Treasury
4086
+ * instance that can ever exist (`init` on fixed seeds).
4087
+ */
4088
+ treasury: Address<TAccountTreasury>;
4089
+ treasuryUsdAta?: Address<TAccountTreasuryUsdAta>;
3845
4090
  /** because the sysvar is too large to deserialize. */
3846
4091
  slotHashes?: Address<TAccountSlotHashes>;
4092
+ tokenProgram?: Address<TAccountTokenProgram>;
3847
4093
  systemProgram?: Address<TAccountSystemProgram>;
3848
4094
  eventAuthority: Address<TAccountEventAuthority>;
3849
4095
  program: Address<TAccountProgram>;
3850
4096
  };
3851
- declare function getRotateRoundInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountBoard extends string, TAccountCurrentRound extends string, TAccountNextRound extends string, TAccountSlotHashes extends string, TAccountSystemProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: RotateRoundAsyncInput<TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountCurrentRound, TAccountNextRound, TAccountSlotHashes, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
4097
+ declare function getRotateRoundInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountBoard extends string, TAccountCurrentRound extends string, TAccountNextRound extends string, TAccountUsdMint extends string, TAccountBoardUsdAta extends string, TAccountEpochVault extends string, TAccountEpochVaultUsdAta extends string, TAccountOneBtcVault extends string, TAccountOneBtcVaultUsdAta extends string, TAccountTreasury extends string, TAccountTreasuryUsdAta extends string, TAccountSlotHashes extends string, TAccountTokenProgram extends string, TAccountSystemProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: RotateRoundAsyncInput<TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountCurrentRound, TAccountNextRound, TAccountUsdMint, TAccountBoardUsdAta, TAccountEpochVault, TAccountEpochVaultUsdAta, TAccountOneBtcVault, TAccountOneBtcVaultUsdAta, TAccountTreasury, TAccountTreasuryUsdAta, TAccountSlotHashes, TAccountTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
3852
4098
  programAddress?: TProgramAddress;
3853
- }): Promise<RotateRoundInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountCurrentRound, TAccountNextRound, TAccountSlotHashes, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>>;
3854
- type RotateRoundInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountBoard extends string = string, TAccountCurrentRound extends string = string, TAccountNextRound extends string = string, TAccountSlotHashes extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
4099
+ }): Promise<RotateRoundInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountCurrentRound, TAccountNextRound, TAccountUsdMint, TAccountBoardUsdAta, TAccountEpochVault, TAccountEpochVaultUsdAta, TAccountOneBtcVault, TAccountOneBtcVaultUsdAta, TAccountTreasury, TAccountTreasuryUsdAta, TAccountSlotHashes, TAccountTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>>;
4100
+ type RotateRoundInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountBoard extends string = string, TAccountCurrentRound extends string = string, TAccountNextRound extends string = string, TAccountUsdMint extends string = string, TAccountBoardUsdAta extends string = string, TAccountEpochVault extends string = string, TAccountEpochVaultUsdAta extends string = string, TAccountOneBtcVault extends string = string, TAccountOneBtcVaultUsdAta extends string = string, TAccountTreasury extends string = string, TAccountTreasuryUsdAta extends string = string, TAccountSlotHashes extends string = string, TAccountTokenProgram extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
3855
4101
  authority: TransactionSigner<TAccountAuthority>;
3856
4102
  satrushConfig: Address<TAccountSatrushConfig>;
4103
+ /**
4104
+ * Stays a regular `Account`: `get_next_round_id()` feeds `next_round`'s
4105
+ * PDA seeds, which `LazyAccount` cannot serve.
4106
+ */
3857
4107
  board: Address<TAccountBoard>;
3858
- /** The current round being closed out (revealed). */
4108
+ /**
4109
+ * The current round being closed out (revealed). Lazy for the same stack
4110
+ * reason as the config; its PDA derives from `board.round_id` (a plain
4111
+ * field path the IDL seed parser can encode), which pins it to the
4112
+ * board's current round with no separate id constraint.
4113
+ */
3859
4114
  currentRound: Address<TAccountCurrentRound>;
3860
4115
  /**
3861
4116
  * The freshly deployed next round, which becomes the board's active round.
@@ -3863,22 +4118,48 @@ type RotateRoundInput<TAccountAuthority extends string = string, TAccountSatrush
3863
4118
  * populates it via `Round::try_new`.
3864
4119
  */
3865
4120
  nextRound: Address<TAccountNextRound>;
4121
+ usdMint: Address<TAccountUsdMint>;
4122
+ /** Board's USD pool where every deploy's full amount landed — the sweep source. */
4123
+ boardUsdAta: Address<TAccountBoardUsdAta>;
4124
+ /** Epoch Vault singleton — receives the round's accumulated epoch fee leg. */
4125
+ epochVault: Address<TAccountEpochVault>;
4126
+ epochVaultUsdAta: Address<TAccountEpochVaultUsdAta>;
4127
+ /** 1 BTC Vault singleton — receives the round's accumulated 1 BTC fee leg. */
4128
+ oneBtcVault: Address<TAccountOneBtcVault>;
4129
+ oneBtcVaultUsdAta: Address<TAccountOneBtcVaultUsdAta>;
4130
+ /**
4131
+ * Treasury singleton — receives the round's accumulated protocol fee leg.
4132
+ * No seeds constraint: discriminator + owner checks pin the one Treasury
4133
+ * instance that can ever exist (`init` on fixed seeds).
4134
+ */
4135
+ treasury: Address<TAccountTreasury>;
4136
+ treasuryUsdAta: Address<TAccountTreasuryUsdAta>;
3866
4137
  /** because the sysvar is too large to deserialize. */
3867
4138
  slotHashes?: Address<TAccountSlotHashes>;
4139
+ tokenProgram?: Address<TAccountTokenProgram>;
3868
4140
  systemProgram?: Address<TAccountSystemProgram>;
3869
4141
  eventAuthority: Address<TAccountEventAuthority>;
3870
4142
  program: Address<TAccountProgram>;
3871
4143
  };
3872
- declare function getRotateRoundInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountBoard extends string, TAccountCurrentRound extends string, TAccountNextRound extends string, TAccountSlotHashes extends string, TAccountSystemProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: RotateRoundInput<TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountCurrentRound, TAccountNextRound, TAccountSlotHashes, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
4144
+ declare function getRotateRoundInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountBoard extends string, TAccountCurrentRound extends string, TAccountNextRound extends string, TAccountUsdMint extends string, TAccountBoardUsdAta extends string, TAccountEpochVault extends string, TAccountEpochVaultUsdAta extends string, TAccountOneBtcVault extends string, TAccountOneBtcVaultUsdAta extends string, TAccountTreasury extends string, TAccountTreasuryUsdAta extends string, TAccountSlotHashes extends string, TAccountTokenProgram extends string, TAccountSystemProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: RotateRoundInput<TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountCurrentRound, TAccountNextRound, TAccountUsdMint, TAccountBoardUsdAta, TAccountEpochVault, TAccountEpochVaultUsdAta, TAccountOneBtcVault, TAccountOneBtcVaultUsdAta, TAccountTreasury, TAccountTreasuryUsdAta, TAccountSlotHashes, TAccountTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
3873
4145
  programAddress?: TProgramAddress;
3874
- }): RotateRoundInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountCurrentRound, TAccountNextRound, TAccountSlotHashes, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>;
4146
+ }): RotateRoundInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountCurrentRound, TAccountNextRound, TAccountUsdMint, TAccountBoardUsdAta, TAccountEpochVault, TAccountEpochVaultUsdAta, TAccountOneBtcVault, TAccountOneBtcVaultUsdAta, TAccountTreasury, TAccountTreasuryUsdAta, TAccountSlotHashes, TAccountTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>;
3875
4147
  type ParsedRotateRoundInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
3876
4148
  programAddress: Address<TProgram>;
3877
4149
  accounts: {
3878
4150
  authority: TAccountMetas[0];
3879
4151
  satrushConfig: TAccountMetas[1];
4152
+ /**
4153
+ * Stays a regular `Account`: `get_next_round_id()` feeds `next_round`'s
4154
+ * PDA seeds, which `LazyAccount` cannot serve.
4155
+ */
3880
4156
  board: TAccountMetas[2];
3881
- /** The current round being closed out (revealed). */
4157
+ /**
4158
+ * The current round being closed out (revealed). Lazy for the same stack
4159
+ * reason as the config; its PDA derives from `board.round_id` (a plain
4160
+ * field path the IDL seed parser can encode), which pins it to the
4161
+ * board's current round with no separate id constraint.
4162
+ */
3882
4163
  currentRound: TAccountMetas[3];
3883
4164
  /**
3884
4165
  * The freshly deployed next round, which becomes the board's active round.
@@ -3886,11 +4167,28 @@ type ParsedRotateRoundInstruction<TProgram extends string = typeof SATRUSH_PROGR
3886
4167
  * populates it via `Round::try_new`.
3887
4168
  */
3888
4169
  nextRound: TAccountMetas[4];
4170
+ usdMint: TAccountMetas[5];
4171
+ /** Board's USD pool where every deploy's full amount landed — the sweep source. */
4172
+ boardUsdAta: TAccountMetas[6];
4173
+ /** Epoch Vault singleton — receives the round's accumulated epoch fee leg. */
4174
+ epochVault: TAccountMetas[7];
4175
+ epochVaultUsdAta: TAccountMetas[8];
4176
+ /** 1 BTC Vault singleton — receives the round's accumulated 1 BTC fee leg. */
4177
+ oneBtcVault: TAccountMetas[9];
4178
+ oneBtcVaultUsdAta: TAccountMetas[10];
4179
+ /**
4180
+ * Treasury singleton — receives the round's accumulated protocol fee leg.
4181
+ * No seeds constraint: discriminator + owner checks pin the one Treasury
4182
+ * instance that can ever exist (`init` on fixed seeds).
4183
+ */
4184
+ treasury: TAccountMetas[11];
4185
+ treasuryUsdAta: TAccountMetas[12];
3889
4186
  /** because the sysvar is too large to deserialize. */
3890
- slotHashes: TAccountMetas[5];
3891
- systemProgram: TAccountMetas[6];
3892
- eventAuthority: TAccountMetas[7];
3893
- program: TAccountMetas[8];
4187
+ slotHashes: TAccountMetas[13];
4188
+ tokenProgram: TAccountMetas[14];
4189
+ systemProgram: TAccountMetas[15];
4190
+ eventAuthority: TAccountMetas[16];
4191
+ program: TAccountMetas[17];
3894
4192
  };
3895
4193
  data: RotateRoundInstructionData;
3896
4194
  };
@@ -4932,6 +5230,210 @@ type ParsedUpdateBoardRoundDurationInstruction<TProgram extends string = typeof
4932
5230
  };
4933
5231
  declare function parseUpdateBoardRoundDurationInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedUpdateBoardRoundDurationInstruction<TProgram, TAccountMetas>;
4934
5232
 
5233
+ /**
5234
+ * This code was AUTOGENERATED using the Codama library.
5235
+ * Please DO NOT EDIT THIS FILE, instead use visitors
5236
+ * to add features, then rerun Codama to update it.
5237
+ *
5238
+ * @see https://github.com/codama-idl/codama
5239
+ */
5240
+
5241
+ declare const UPDATE_DEPLOYMENT_SETTLE_GRACE_DURATION_DISCRIMINATOR: ReadonlyUint8Array;
5242
+ declare function getUpdateDeploymentSettleGraceDurationDiscriminatorBytes(): ReadonlyUint8Array;
5243
+ type UpdateDeploymentSettleGraceDurationInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountAuthority extends string | AccountMeta<string> = string, TAccountSatrushConfig extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
5244
+ TAccountAuthority extends string ? ReadonlySignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
5245
+ TAccountSatrushConfig extends string ? WritableAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
5246
+ ...TRemainingAccounts
5247
+ ]>;
5248
+ type UpdateDeploymentSettleGraceDurationInstructionData = {
5249
+ discriminator: ReadonlyUint8Array;
5250
+ newGraceDuration: bigint;
5251
+ };
5252
+ type UpdateDeploymentSettleGraceDurationInstructionDataArgs = {
5253
+ newGraceDuration: number | bigint;
5254
+ };
5255
+ declare function getUpdateDeploymentSettleGraceDurationInstructionDataEncoder(): FixedSizeEncoder<UpdateDeploymentSettleGraceDurationInstructionDataArgs>;
5256
+ declare function getUpdateDeploymentSettleGraceDurationInstructionDataDecoder(): FixedSizeDecoder<UpdateDeploymentSettleGraceDurationInstructionData>;
5257
+ declare function getUpdateDeploymentSettleGraceDurationInstructionDataCodec(): FixedSizeCodec<UpdateDeploymentSettleGraceDurationInstructionDataArgs, UpdateDeploymentSettleGraceDurationInstructionData>;
5258
+ type UpdateDeploymentSettleGraceDurationAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string> = {
5259
+ authority: TransactionSigner<TAccountAuthority>;
5260
+ satrushConfig?: Address<TAccountSatrushConfig>;
5261
+ newGraceDuration: UpdateDeploymentSettleGraceDurationInstructionDataArgs['newGraceDuration'];
5262
+ };
5263
+ declare function getUpdateDeploymentSettleGraceDurationInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: UpdateDeploymentSettleGraceDurationAsyncInput<TAccountAuthority, TAccountSatrushConfig>, config?: {
5264
+ programAddress?: TProgramAddress;
5265
+ }): Promise<UpdateDeploymentSettleGraceDurationInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig>>;
5266
+ type UpdateDeploymentSettleGraceDurationInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string> = {
5267
+ authority: TransactionSigner<TAccountAuthority>;
5268
+ satrushConfig: Address<TAccountSatrushConfig>;
5269
+ newGraceDuration: UpdateDeploymentSettleGraceDurationInstructionDataArgs['newGraceDuration'];
5270
+ };
5271
+ declare function getUpdateDeploymentSettleGraceDurationInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: UpdateDeploymentSettleGraceDurationInput<TAccountAuthority, TAccountSatrushConfig>, config?: {
5272
+ programAddress?: TProgramAddress;
5273
+ }): UpdateDeploymentSettleGraceDurationInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig>;
5274
+ type ParsedUpdateDeploymentSettleGraceDurationInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
5275
+ programAddress: Address<TProgram>;
5276
+ accounts: {
5277
+ authority: TAccountMetas[0];
5278
+ satrushConfig: TAccountMetas[1];
5279
+ };
5280
+ data: UpdateDeploymentSettleGraceDurationInstructionData;
5281
+ };
5282
+ declare function parseUpdateDeploymentSettleGraceDurationInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedUpdateDeploymentSettleGraceDurationInstruction<TProgram, TAccountMetas>;
5283
+
5284
+ /**
5285
+ * This code was AUTOGENERATED using the Codama library.
5286
+ * Please DO NOT EDIT THIS FILE, instead use visitors
5287
+ * to add features, then rerun Codama to update it.
5288
+ *
5289
+ * @see https://github.com/codama-idl/codama
5290
+ */
5291
+
5292
+ declare const UPDATE_EPOCH_VAULT_ITERATION_DURATION_DISCRIMINATOR: ReadonlyUint8Array;
5293
+ declare function getUpdateEpochVaultIterationDurationDiscriminatorBytes(): ReadonlyUint8Array;
5294
+ type UpdateEpochVaultIterationDurationInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountAuthority extends string | AccountMeta<string> = string, TAccountSatrushConfig extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
5295
+ TAccountAuthority extends string ? ReadonlySignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
5296
+ TAccountSatrushConfig extends string ? WritableAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
5297
+ ...TRemainingAccounts
5298
+ ]>;
5299
+ type UpdateEpochVaultIterationDurationInstructionData = {
5300
+ discriminator: ReadonlyUint8Array;
5301
+ newIterationDuration: bigint;
5302
+ };
5303
+ type UpdateEpochVaultIterationDurationInstructionDataArgs = {
5304
+ newIterationDuration: number | bigint;
5305
+ };
5306
+ declare function getUpdateEpochVaultIterationDurationInstructionDataEncoder(): FixedSizeEncoder<UpdateEpochVaultIterationDurationInstructionDataArgs>;
5307
+ declare function getUpdateEpochVaultIterationDurationInstructionDataDecoder(): FixedSizeDecoder<UpdateEpochVaultIterationDurationInstructionData>;
5308
+ declare function getUpdateEpochVaultIterationDurationInstructionDataCodec(): FixedSizeCodec<UpdateEpochVaultIterationDurationInstructionDataArgs, UpdateEpochVaultIterationDurationInstructionData>;
5309
+ type UpdateEpochVaultIterationDurationAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string> = {
5310
+ authority: TransactionSigner<TAccountAuthority>;
5311
+ satrushConfig?: Address<TAccountSatrushConfig>;
5312
+ newIterationDuration: UpdateEpochVaultIterationDurationInstructionDataArgs['newIterationDuration'];
5313
+ };
5314
+ declare function getUpdateEpochVaultIterationDurationInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: UpdateEpochVaultIterationDurationAsyncInput<TAccountAuthority, TAccountSatrushConfig>, config?: {
5315
+ programAddress?: TProgramAddress;
5316
+ }): Promise<UpdateEpochVaultIterationDurationInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig>>;
5317
+ type UpdateEpochVaultIterationDurationInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string> = {
5318
+ authority: TransactionSigner<TAccountAuthority>;
5319
+ satrushConfig: Address<TAccountSatrushConfig>;
5320
+ newIterationDuration: UpdateEpochVaultIterationDurationInstructionDataArgs['newIterationDuration'];
5321
+ };
5322
+ declare function getUpdateEpochVaultIterationDurationInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: UpdateEpochVaultIterationDurationInput<TAccountAuthority, TAccountSatrushConfig>, config?: {
5323
+ programAddress?: TProgramAddress;
5324
+ }): UpdateEpochVaultIterationDurationInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig>;
5325
+ type ParsedUpdateEpochVaultIterationDurationInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
5326
+ programAddress: Address<TProgram>;
5327
+ accounts: {
5328
+ authority: TAccountMetas[0];
5329
+ satrushConfig: TAccountMetas[1];
5330
+ };
5331
+ data: UpdateEpochVaultIterationDurationInstructionData;
5332
+ };
5333
+ declare function parseUpdateEpochVaultIterationDurationInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedUpdateEpochVaultIterationDurationInstruction<TProgram, TAccountMetas>;
5334
+
5335
+ /**
5336
+ * This code was AUTOGENERATED using the Codama library.
5337
+ * Please DO NOT EDIT THIS FILE, instead use visitors
5338
+ * to add features, then rerun Codama to update it.
5339
+ *
5340
+ * @see https://github.com/codama-idl/codama
5341
+ */
5342
+
5343
+ declare const UPDATE_MIN_DEPLOY_USD_AMOUNT_DISCRIMINATOR: ReadonlyUint8Array;
5344
+ declare function getUpdateMinDeployUsdAmountDiscriminatorBytes(): ReadonlyUint8Array;
5345
+ type UpdateMinDeployUsdAmountInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountAuthority extends string | AccountMeta<string> = string, TAccountSatrushConfig extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
5346
+ TAccountAuthority extends string ? ReadonlySignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
5347
+ TAccountSatrushConfig extends string ? WritableAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
5348
+ ...TRemainingAccounts
5349
+ ]>;
5350
+ type UpdateMinDeployUsdAmountInstructionData = {
5351
+ discriminator: ReadonlyUint8Array;
5352
+ newMinDeployUsdAmount: bigint;
5353
+ };
5354
+ type UpdateMinDeployUsdAmountInstructionDataArgs = {
5355
+ newMinDeployUsdAmount: number | bigint;
5356
+ };
5357
+ declare function getUpdateMinDeployUsdAmountInstructionDataEncoder(): FixedSizeEncoder<UpdateMinDeployUsdAmountInstructionDataArgs>;
5358
+ declare function getUpdateMinDeployUsdAmountInstructionDataDecoder(): FixedSizeDecoder<UpdateMinDeployUsdAmountInstructionData>;
5359
+ declare function getUpdateMinDeployUsdAmountInstructionDataCodec(): FixedSizeCodec<UpdateMinDeployUsdAmountInstructionDataArgs, UpdateMinDeployUsdAmountInstructionData>;
5360
+ type UpdateMinDeployUsdAmountAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string> = {
5361
+ authority: TransactionSigner<TAccountAuthority>;
5362
+ satrushConfig?: Address<TAccountSatrushConfig>;
5363
+ newMinDeployUsdAmount: UpdateMinDeployUsdAmountInstructionDataArgs['newMinDeployUsdAmount'];
5364
+ };
5365
+ declare function getUpdateMinDeployUsdAmountInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: UpdateMinDeployUsdAmountAsyncInput<TAccountAuthority, TAccountSatrushConfig>, config?: {
5366
+ programAddress?: TProgramAddress;
5367
+ }): Promise<UpdateMinDeployUsdAmountInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig>>;
5368
+ type UpdateMinDeployUsdAmountInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string> = {
5369
+ authority: TransactionSigner<TAccountAuthority>;
5370
+ satrushConfig: Address<TAccountSatrushConfig>;
5371
+ newMinDeployUsdAmount: UpdateMinDeployUsdAmountInstructionDataArgs['newMinDeployUsdAmount'];
5372
+ };
5373
+ declare function getUpdateMinDeployUsdAmountInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: UpdateMinDeployUsdAmountInput<TAccountAuthority, TAccountSatrushConfig>, config?: {
5374
+ programAddress?: TProgramAddress;
5375
+ }): UpdateMinDeployUsdAmountInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig>;
5376
+ type ParsedUpdateMinDeployUsdAmountInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
5377
+ programAddress: Address<TProgram>;
5378
+ accounts: {
5379
+ authority: TAccountMetas[0];
5380
+ satrushConfig: TAccountMetas[1];
5381
+ };
5382
+ data: UpdateMinDeployUsdAmountInstructionData;
5383
+ };
5384
+ declare function parseUpdateMinDeployUsdAmountInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedUpdateMinDeployUsdAmountInstruction<TProgram, TAccountMetas>;
5385
+
5386
+ /**
5387
+ * This code was AUTOGENERATED using the Codama library.
5388
+ * Please DO NOT EDIT THIS FILE, instead use visitors
5389
+ * to add features, then rerun Codama to update it.
5390
+ *
5391
+ * @see https://github.com/codama-idl/codama
5392
+ */
5393
+
5394
+ declare const UPDATE_UNCLAIMED_HASHRATE_BPS_DISCRIMINATOR: ReadonlyUint8Array;
5395
+ declare function getUpdateUnclaimedHashrateBpsDiscriminatorBytes(): ReadonlyUint8Array;
5396
+ type UpdateUnclaimedHashrateBpsInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountAuthority extends string | AccountMeta<string> = string, TAccountSatrushConfig extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
5397
+ TAccountAuthority extends string ? ReadonlySignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
5398
+ TAccountSatrushConfig extends string ? WritableAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
5399
+ ...TRemainingAccounts
5400
+ ]>;
5401
+ type UpdateUnclaimedHashrateBpsInstructionData = {
5402
+ discriminator: ReadonlyUint8Array;
5403
+ newUnclaimedHashrateBps: number;
5404
+ };
5405
+ type UpdateUnclaimedHashrateBpsInstructionDataArgs = {
5406
+ newUnclaimedHashrateBps: number;
5407
+ };
5408
+ declare function getUpdateUnclaimedHashrateBpsInstructionDataEncoder(): FixedSizeEncoder<UpdateUnclaimedHashrateBpsInstructionDataArgs>;
5409
+ declare function getUpdateUnclaimedHashrateBpsInstructionDataDecoder(): FixedSizeDecoder<UpdateUnclaimedHashrateBpsInstructionData>;
5410
+ declare function getUpdateUnclaimedHashrateBpsInstructionDataCodec(): FixedSizeCodec<UpdateUnclaimedHashrateBpsInstructionDataArgs, UpdateUnclaimedHashrateBpsInstructionData>;
5411
+ type UpdateUnclaimedHashrateBpsAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string> = {
5412
+ authority: TransactionSigner<TAccountAuthority>;
5413
+ satrushConfig?: Address<TAccountSatrushConfig>;
5414
+ newUnclaimedHashrateBps: UpdateUnclaimedHashrateBpsInstructionDataArgs['newUnclaimedHashrateBps'];
5415
+ };
5416
+ declare function getUpdateUnclaimedHashrateBpsInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: UpdateUnclaimedHashrateBpsAsyncInput<TAccountAuthority, TAccountSatrushConfig>, config?: {
5417
+ programAddress?: TProgramAddress;
5418
+ }): Promise<UpdateUnclaimedHashrateBpsInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig>>;
5419
+ type UpdateUnclaimedHashrateBpsInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string> = {
5420
+ authority: TransactionSigner<TAccountAuthority>;
5421
+ satrushConfig: Address<TAccountSatrushConfig>;
5422
+ newUnclaimedHashrateBps: UpdateUnclaimedHashrateBpsInstructionDataArgs['newUnclaimedHashrateBps'];
5423
+ };
5424
+ declare function getUpdateUnclaimedHashrateBpsInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: UpdateUnclaimedHashrateBpsInput<TAccountAuthority, TAccountSatrushConfig>, config?: {
5425
+ programAddress?: TProgramAddress;
5426
+ }): UpdateUnclaimedHashrateBpsInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig>;
5427
+ type ParsedUpdateUnclaimedHashrateBpsInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
5428
+ programAddress: Address<TProgram>;
5429
+ accounts: {
5430
+ authority: TAccountMetas[0];
5431
+ satrushConfig: TAccountMetas[1];
5432
+ };
5433
+ data: UpdateUnclaimedHashrateBpsInstructionData;
5434
+ };
5435
+ declare function parseUpdateUnclaimedHashrateBpsInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedUpdateUnclaimedHashrateBpsInstruction<TProgram, TAccountMetas>;
5436
+
4935
5437
  /**
4936
5438
  * This code was AUTOGENERATED using the Codama library.
4937
5439
  * Please DO NOT EDIT THIS FILE, instead use visitors
@@ -4942,14 +5444,17 @@ declare function parseUpdateBoardRoundDurationInstruction<TProgram extends strin
4942
5444
 
4943
5445
  declare const WITHDRAW_PROTOCOL_FEES_DISCRIMINATOR: ReadonlyUint8Array;
4944
5446
  declare function getWithdrawProtocolFeesDiscriminatorBytes(): ReadonlyUint8Array;
4945
- type WithdrawProtocolFeesInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountAuthority extends string | AccountMeta<string> = string, TAccountSatrushConfig extends string | AccountMeta<string> = string, TAccountTreasury extends string | AccountMeta<string> = string, TAccountUsdMint extends string | AccountMeta<string> = string, TAccountTreasuryUsdAta extends string | AccountMeta<string> = string, TAccountFeeRecipient extends string | AccountMeta<string> = string, TAccountFeeRecipientUsdAta extends string | AccountMeta<string> = string, TAccountTokenProgram extends string | AccountMeta<string> = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA', TAccountAssociatedTokenProgram extends string | AccountMeta<string> = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL', TAccountSystemProgram extends string | AccountMeta<string> = '11111111111111111111111111111111', TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
5447
+ type WithdrawProtocolFeesInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountAuthority extends string | AccountMeta<string> = string, TAccountSatrushConfig extends string | AccountMeta<string> = string, TAccountTreasury extends string | AccountMeta<string> = string, TAccountUsdMint extends string | AccountMeta<string> = string, TAccountTreasuryUsdAta extends string | AccountMeta<string> = string, TAccountBtcMint extends string | AccountMeta<string> = string, TAccountTreasuryBtcAta extends string | AccountMeta<string> = string, TAccountFeeRecipient extends string | AccountMeta<string> = string, TAccountFeeRecipientUsdAta extends string | AccountMeta<string> = string, TAccountFeeRecipientBtcAta extends string | AccountMeta<string> = string, TAccountTokenProgram extends string | AccountMeta<string> = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA', TAccountAssociatedTokenProgram extends string | AccountMeta<string> = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL', TAccountSystemProgram extends string | AccountMeta<string> = '11111111111111111111111111111111', TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
4946
5448
  TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
4947
5449
  TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
4948
5450
  TAccountTreasury extends string ? WritableAccount<TAccountTreasury> : TAccountTreasury,
4949
5451
  TAccountUsdMint extends string ? ReadonlyAccount<TAccountUsdMint> : TAccountUsdMint,
4950
5452
  TAccountTreasuryUsdAta extends string ? WritableAccount<TAccountTreasuryUsdAta> : TAccountTreasuryUsdAta,
5453
+ TAccountBtcMint extends string ? ReadonlyAccount<TAccountBtcMint> : TAccountBtcMint,
5454
+ TAccountTreasuryBtcAta extends string ? WritableAccount<TAccountTreasuryBtcAta> : TAccountTreasuryBtcAta,
4951
5455
  TAccountFeeRecipient extends string ? ReadonlyAccount<TAccountFeeRecipient> : TAccountFeeRecipient,
4952
5456
  TAccountFeeRecipientUsdAta extends string ? WritableAccount<TAccountFeeRecipientUsdAta> : TAccountFeeRecipientUsdAta,
5457
+ TAccountFeeRecipientBtcAta extends string ? WritableAccount<TAccountFeeRecipientBtcAta> : TAccountFeeRecipientBtcAta,
4953
5458
  TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
4954
5459
  TAccountAssociatedTokenProgram extends string ? ReadonlyAccount<TAccountAssociatedTokenProgram> : TAccountAssociatedTokenProgram,
4955
5460
  TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
@@ -4962,7 +5467,7 @@ type WithdrawProtocolFeesInstructionDataArgs = {};
4962
5467
  declare function getWithdrawProtocolFeesInstructionDataEncoder(): FixedSizeEncoder<WithdrawProtocolFeesInstructionDataArgs>;
4963
5468
  declare function getWithdrawProtocolFeesInstructionDataDecoder(): FixedSizeDecoder<WithdrawProtocolFeesInstructionData>;
4964
5469
  declare function getWithdrawProtocolFeesInstructionDataCodec(): FixedSizeCodec<WithdrawProtocolFeesInstructionDataArgs, WithdrawProtocolFeesInstructionData>;
4965
- type WithdrawProtocolFeesAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountTreasury extends string = string, TAccountUsdMint extends string = string, TAccountTreasuryUsdAta extends string = string, TAccountFeeRecipient extends string = string, TAccountFeeRecipientUsdAta extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string> = {
5470
+ type WithdrawProtocolFeesAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountTreasury extends string = string, TAccountUsdMint extends string = string, TAccountTreasuryUsdAta extends string = string, TAccountBtcMint extends string = string, TAccountTreasuryBtcAta extends string = string, TAccountFeeRecipient extends string = string, TAccountFeeRecipientUsdAta extends string = string, TAccountFeeRecipientBtcAta extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string> = {
4966
5471
  authority: TransactionSigner<TAccountAuthority>;
4967
5472
  satrushConfig?: Address<TAccountSatrushConfig>;
4968
5473
  /** The treasury: owns the fee pool and signs the withdrawal transfer. */
@@ -4970,6 +5475,12 @@ type WithdrawProtocolFeesAsyncInput<TAccountAuthority extends string = string, T
4970
5475
  usdMint: Address<TAccountUsdMint>;
4971
5476
  /** Treasury's USD fee pool — the withdrawal source. */
4972
5477
  treasuryUsdAta?: Address<TAccountTreasuryUsdAta>;
5478
+ btcMint: Address<TAccountBtcMint>;
5479
+ /**
5480
+ * Treasury's BTC pool — swept no-winner round pots. Created lazily: the
5481
+ * treasury predates the BTC side, so the ATA may not exist yet.
5482
+ */
5483
+ treasuryBtcAta?: Address<TAccountTreasuryBtcAta>;
4973
5484
  /** as the authority of the destination ATA. */
4974
5485
  feeRecipient: Address<TAccountFeeRecipient>;
4975
5486
  /**
@@ -4977,14 +5488,19 @@ type WithdrawProtocolFeesAsyncInput<TAccountAuthority extends string = string, T
4977
5488
  * crank if missing.
4978
5489
  */
4979
5490
  feeRecipientUsdAta?: Address<TAccountFeeRecipientUsdAta>;
5491
+ /**
5492
+ * Fee recipient's BTC account — the BTC withdrawal destination. Created by
5493
+ * the crank if missing.
5494
+ */
5495
+ feeRecipientBtcAta?: Address<TAccountFeeRecipientBtcAta>;
4980
5496
  tokenProgram?: Address<TAccountTokenProgram>;
4981
5497
  associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
4982
5498
  systemProgram?: Address<TAccountSystemProgram>;
4983
5499
  };
4984
- declare function getWithdrawProtocolFeesInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountTreasury extends string, TAccountUsdMint extends string, TAccountTreasuryUsdAta extends string, TAccountFeeRecipient extends string, TAccountFeeRecipientUsdAta extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: WithdrawProtocolFeesAsyncInput<TAccountAuthority, TAccountSatrushConfig, TAccountTreasury, TAccountUsdMint, TAccountTreasuryUsdAta, TAccountFeeRecipient, TAccountFeeRecipientUsdAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>, config?: {
5500
+ declare function getWithdrawProtocolFeesInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountTreasury extends string, TAccountUsdMint extends string, TAccountTreasuryUsdAta extends string, TAccountBtcMint extends string, TAccountTreasuryBtcAta extends string, TAccountFeeRecipient extends string, TAccountFeeRecipientUsdAta extends string, TAccountFeeRecipientBtcAta extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: WithdrawProtocolFeesAsyncInput<TAccountAuthority, TAccountSatrushConfig, TAccountTreasury, TAccountUsdMint, TAccountTreasuryUsdAta, TAccountBtcMint, TAccountTreasuryBtcAta, TAccountFeeRecipient, TAccountFeeRecipientUsdAta, TAccountFeeRecipientBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>, config?: {
4985
5501
  programAddress?: TProgramAddress;
4986
- }): Promise<WithdrawProtocolFeesInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountTreasury, TAccountUsdMint, TAccountTreasuryUsdAta, TAccountFeeRecipient, TAccountFeeRecipientUsdAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>>;
4987
- type WithdrawProtocolFeesInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountTreasury extends string = string, TAccountUsdMint extends string = string, TAccountTreasuryUsdAta extends string = string, TAccountFeeRecipient extends string = string, TAccountFeeRecipientUsdAta extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string> = {
5502
+ }): Promise<WithdrawProtocolFeesInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountTreasury, TAccountUsdMint, TAccountTreasuryUsdAta, TAccountBtcMint, TAccountTreasuryBtcAta, TAccountFeeRecipient, TAccountFeeRecipientUsdAta, TAccountFeeRecipientBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>>;
5503
+ type WithdrawProtocolFeesInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountTreasury extends string = string, TAccountUsdMint extends string = string, TAccountTreasuryUsdAta extends string = string, TAccountBtcMint extends string = string, TAccountTreasuryBtcAta extends string = string, TAccountFeeRecipient extends string = string, TAccountFeeRecipientUsdAta extends string = string, TAccountFeeRecipientBtcAta extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string> = {
4988
5504
  authority: TransactionSigner<TAccountAuthority>;
4989
5505
  satrushConfig: Address<TAccountSatrushConfig>;
4990
5506
  /** The treasury: owns the fee pool and signs the withdrawal transfer. */
@@ -4992,6 +5508,12 @@ type WithdrawProtocolFeesInput<TAccountAuthority extends string = string, TAccou
4992
5508
  usdMint: Address<TAccountUsdMint>;
4993
5509
  /** Treasury's USD fee pool — the withdrawal source. */
4994
5510
  treasuryUsdAta: Address<TAccountTreasuryUsdAta>;
5511
+ btcMint: Address<TAccountBtcMint>;
5512
+ /**
5513
+ * Treasury's BTC pool — swept no-winner round pots. Created lazily: the
5514
+ * treasury predates the BTC side, so the ATA may not exist yet.
5515
+ */
5516
+ treasuryBtcAta: Address<TAccountTreasuryBtcAta>;
4995
5517
  /** as the authority of the destination ATA. */
4996
5518
  feeRecipient: Address<TAccountFeeRecipient>;
4997
5519
  /**
@@ -4999,13 +5521,18 @@ type WithdrawProtocolFeesInput<TAccountAuthority extends string = string, TAccou
4999
5521
  * crank if missing.
5000
5522
  */
5001
5523
  feeRecipientUsdAta: Address<TAccountFeeRecipientUsdAta>;
5524
+ /**
5525
+ * Fee recipient's BTC account — the BTC withdrawal destination. Created by
5526
+ * the crank if missing.
5527
+ */
5528
+ feeRecipientBtcAta: Address<TAccountFeeRecipientBtcAta>;
5002
5529
  tokenProgram?: Address<TAccountTokenProgram>;
5003
5530
  associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
5004
5531
  systemProgram?: Address<TAccountSystemProgram>;
5005
5532
  };
5006
- declare function getWithdrawProtocolFeesInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountTreasury extends string, TAccountUsdMint extends string, TAccountTreasuryUsdAta extends string, TAccountFeeRecipient extends string, TAccountFeeRecipientUsdAta extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: WithdrawProtocolFeesInput<TAccountAuthority, TAccountSatrushConfig, TAccountTreasury, TAccountUsdMint, TAccountTreasuryUsdAta, TAccountFeeRecipient, TAccountFeeRecipientUsdAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>, config?: {
5533
+ declare function getWithdrawProtocolFeesInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountTreasury extends string, TAccountUsdMint extends string, TAccountTreasuryUsdAta extends string, TAccountBtcMint extends string, TAccountTreasuryBtcAta extends string, TAccountFeeRecipient extends string, TAccountFeeRecipientUsdAta extends string, TAccountFeeRecipientBtcAta extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: WithdrawProtocolFeesInput<TAccountAuthority, TAccountSatrushConfig, TAccountTreasury, TAccountUsdMint, TAccountTreasuryUsdAta, TAccountBtcMint, TAccountTreasuryBtcAta, TAccountFeeRecipient, TAccountFeeRecipientUsdAta, TAccountFeeRecipientBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>, config?: {
5007
5534
  programAddress?: TProgramAddress;
5008
- }): WithdrawProtocolFeesInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountTreasury, TAccountUsdMint, TAccountTreasuryUsdAta, TAccountFeeRecipient, TAccountFeeRecipientUsdAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>;
5535
+ }): WithdrawProtocolFeesInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountTreasury, TAccountUsdMint, TAccountTreasuryUsdAta, TAccountBtcMint, TAccountTreasuryBtcAta, TAccountFeeRecipient, TAccountFeeRecipientUsdAta, TAccountFeeRecipientBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>;
5009
5536
  type ParsedWithdrawProtocolFeesInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
5010
5537
  programAddress: Address<TProgram>;
5011
5538
  accounts: {
@@ -5016,16 +5543,27 @@ type ParsedWithdrawProtocolFeesInstruction<TProgram extends string = typeof SATR
5016
5543
  usdMint: TAccountMetas[3];
5017
5544
  /** Treasury's USD fee pool — the withdrawal source. */
5018
5545
  treasuryUsdAta: TAccountMetas[4];
5546
+ btcMint: TAccountMetas[5];
5547
+ /**
5548
+ * Treasury's BTC pool — swept no-winner round pots. Created lazily: the
5549
+ * treasury predates the BTC side, so the ATA may not exist yet.
5550
+ */
5551
+ treasuryBtcAta: TAccountMetas[6];
5019
5552
  /** as the authority of the destination ATA. */
5020
- feeRecipient: TAccountMetas[5];
5553
+ feeRecipient: TAccountMetas[7];
5021
5554
  /**
5022
5555
  * Fee recipient's USD account — the withdrawal destination. Created by the
5023
5556
  * crank if missing.
5024
5557
  */
5025
- feeRecipientUsdAta: TAccountMetas[6];
5026
- tokenProgram: TAccountMetas[7];
5027
- associatedTokenProgram: TAccountMetas[8];
5028
- systemProgram: TAccountMetas[9];
5558
+ feeRecipientUsdAta: TAccountMetas[8];
5559
+ /**
5560
+ * Fee recipient's BTC account — the BTC withdrawal destination. Created by
5561
+ * the crank if missing.
5562
+ */
5563
+ feeRecipientBtcAta: TAccountMetas[9];
5564
+ tokenProgram: TAccountMetas[10];
5565
+ associatedTokenProgram: TAccountMetas[11];
5566
+ systemProgram: TAccountMetas[12];
5029
5567
  };
5030
5568
  data: WithdrawProtocolFeesInstructionData;
5031
5569
  };
@@ -5104,6 +5642,59 @@ declare function buildCancelPublicAutomationInstruction(authority: Address, usdM
5104
5642
  */
5105
5643
  declare function buildExecutePublicAutomationInstruction(crankAuthority: Address, automationAuthority: Address, usdMint: Address, roundId: number, selectionMask: number | null): Promise<Instruction>;
5106
5644
 
5645
+ /** Display decimals of hashrate points, mirroring the program's `HASHRATE_DECIMALS`: 1 raw unit = 0.01 point. */
5646
+ declare const HASHRATE_DECIMALS = 2;
5647
+ /** Raw hashrate units per vault ticket, mirroring the program's `HASHRATE_PER_TICKET` (10^HASHRATE_DECIMALS): one ticket costs 1.00 point. */
5648
+ declare const HASHRATE_PER_TICKET = 100n;
5649
+ /** Loyalty channel weight (α) in the hashrate reward formula, mirroring the program's `LOYALTY_WEIGHT`. */
5650
+ declare const LOYALTY_WEIGHT = 1n;
5651
+ /** Skill channel weight (β) in the hashrate reward formula, mirroring the program's `SKILL_WEIGHT`. */
5652
+ declare const SKILL_WEIGHT = 1n;
5653
+ /**
5654
+ * Format raw hashrate units as the UI points amount with 2 decimals
5655
+ * ({@link HASHRATE_DECIMALS}): raw 101 → `"1.01"`. Lossless for the full
5656
+ * u64 range, unlike a number conversion.
5657
+ */
5658
+ declare function getHashrateUiAmount(hashrate: bigint): string;
5659
+ /**
5660
+ * Whole vault tickets purchasable with `hashrate` raw units, flooring at
5661
+ * {@link HASHRATE_PER_TICKET} raw units (1.00 point) per ticket.
5662
+ */
5663
+ declare function getHashrateTicketsCount(hashrate: bigint): bigint;
5664
+ /**
5665
+ * The reward one settled play would credit, split into its channels, as
5666
+ * computed by {@link hashrateReward}. `loyaltyPoints + skillPoints ===
5667
+ * total` by construction.
5668
+ */
5669
+ type HashrateReward = {
5670
+ /** α·m channel contribution (absorbs the rounding remainder). */
5671
+ loyaltyPoints: bigint;
5672
+ /** β·N/n channel contribution. */
5673
+ skillPoints: bigint;
5674
+ /** Total points that would be added to `Miner.hashrateAmount`. */
5675
+ total: bigint;
5676
+ };
5677
+ /**
5678
+ * Hashrate points a play would credit, mirroring the program's
5679
+ * `hashrate_reward` so a caller can preview them before deploying or
5680
+ * settling.
5681
+ *
5682
+ * - `stake` — net USD stake in the mint's native units
5683
+ * (`PublicDeployment.deployedUsdAmount` for an existing deployment).
5684
+ * - `streak` — the streak multiplier `m`, already capped
5685
+ * (`PublicDeployment.streakMultiplier` for an existing deployment, or
5686
+ * {@link nextStreakMultiplier} to preview an upcoming one).
5687
+ * - `covered` / `totalTiles` — tiles selected (`n`) out of the board (`N`,
5688
+ * {@link TILE_COUNT}); `covered` is in `1..=totalTiles`.
5689
+ * - `usdUnit` — `10^decimals` of the USD mint.
5690
+ *
5691
+ * The returned points are raw units with 2 display decimals
5692
+ * ({@link HASHRATE_DECIMALS}): raw 101 = 1.01 points.
5693
+ *
5694
+ * Returns an all-zero reward when `stake === 0n` or `covered === 0`.
5695
+ */
5696
+ declare function hashrateReward(stake: bigint, streak: number, covered: number, totalTiles: number, usdUnit: bigint): HashrateReward;
5697
+
5107
5698
  declare function getSatrushConfigAddress(): Promise<ProgramDerivedAddress>;
5108
5699
  /**
5109
5700
  * Anchor's event-CPI authority PDA — the extra account every `#[event_cpi]`
@@ -5124,6 +5715,12 @@ declare function getOneBtcVaultIterationAddress(iterationId: number): Promise<Pr
5124
5715
  declare function getTreasuryAddress(): Promise<ProgramDerivedAddress>;
5125
5716
  declare function getPublicAutomationAddress(authority: Address): Promise<ProgramDerivedAddress>;
5126
5717
 
5718
+ /**
5719
+ * Virtual share base used by the on-chain vault math (decimal offset of 3):
5720
+ * conversions behave as if `SHARE_OFFSET` extra shares and 1 extra satoshi
5721
+ * always exist, so an empty vault mints 1_000 shares per satoshi.
5722
+ */
5723
+ declare const SHARE_OFFSET = 1000n;
5127
5724
  /** BTC value of a sats-vault share amount, as computed by {@link satsToBtc}. */
5128
5725
  type BtcSharesValue = {
5129
5726
  /** Value at the current exchange rate, before the claim fee. */
@@ -5142,9 +5739,10 @@ declare function satsToBtc(shares: bigint, vaultAmount: bigint, vaultShares: big
5142
5739
  /**
5143
5740
  * Shares minted for depositing `btcAmount` BTC into a vault holding
5144
5741
  * `vaultAmount` BTC with `vaultShares` shares issued (`SatsVault.btcAmount` /
5145
- * `SatsVault.btcShares`): 1:1 while no shares exist, otherwise scaled by the
5146
- * vault's `shares / assets` ratio and floored. Throws when the vault has
5147
- * shares but no BTC, or the result exceeds `u64::MAX`.
5742
+ * `SatsVault.btcShares`): scaled by the vault's virtual
5743
+ * `(shares + SHARE_OFFSET) / (assets + 1)` ratio and floored, so an empty
5744
+ * vault mints {@link SHARE_OFFSET} shares per satoshi. Throws when the result
5745
+ * exceeds `u64::MAX`.
5148
5746
  */
5149
5747
  declare function btcToSats(btcAmount: bigint, vaultAmount: bigint, vaultShares: bigint): bigint;
5150
5748
 
@@ -5165,4 +5763,25 @@ declare function selectionMaskFromTiles(tiles: boolean[]): number;
5165
5763
  */
5166
5764
  declare function tilesFromSelectionMask(mask: number): boolean[];
5167
5765
 
5168
- export { AutomationStrategy, type AutomationStrategyArgs, BOARD_DISCRIMINATOR, BUY_EPOCH_TICKETS_DISCRIMINATOR, BUY_ONE_BTC_TICKETS_DISCRIMINATOR, type Board, type BoardArgs, type BtcSharesValue, type BuyEpochTicketsAsyncInput, type BuyEpochTicketsInput, type BuyEpochTicketsInstruction, type BuyEpochTicketsInstructionData, type BuyEpochTicketsInstructionDataArgs, type BuyOneBtcTicketsAsyncInput, type BuyOneBtcTicketsInput, type BuyOneBtcTicketsInstruction, type BuyOneBtcTicketsInstructionData, type BuyOneBtcTicketsInstructionDataArgs, CANCEL_PUBLIC_AUTOMATION_DISCRIMINATOR, CLAIM_EPOCH_REWARD_DISCRIMINATOR, CLAIM_ONE_BTC_REWARD_DISCRIMINATOR, CLAIM_SATS_DISCRIMINATOR, CLAIM_USD_DISCRIMINATOR, CLOSE_EPOCH_ENTRY_DISCRIMINATOR, CLOSE_EPOCH_ITERATION_DISCRIMINATOR, CLOSE_EPOCH_PAGE_DISCRIMINATOR, CLOSE_ONE_BTC_ITERATION_DISCRIMINATOR, CLOSE_ONE_BTC_TICKET_DISCRIMINATOR, CREATE_BOARD_DISCRIMINATOR, CREATE_EPOCH_VAULT_DISCRIMINATOR, CREATE_ONE_BTC_VAULT_DISCRIMINATOR, CREATE_PUBLIC_AUTOMATION_DISCRIMINATOR, CREATE_SATRUSH_CONFIG_DISCRIMINATOR, CREATE_SATS_VAULT_DISCRIMINATOR, CREATE_TREASURY_DISCRIMINATOR, type CancelPublicAutomationAsyncInput, type CancelPublicAutomationInput, type CancelPublicAutomationInstruction, type CancelPublicAutomationInstructionData, type CancelPublicAutomationInstructionDataArgs, type ClaimEpochRewardAsyncInput, type ClaimEpochRewardInput, type ClaimEpochRewardInstruction, type ClaimEpochRewardInstructionData, type ClaimEpochRewardInstructionDataArgs, type ClaimOneBtcRewardAsyncInput, type ClaimOneBtcRewardInput, type ClaimOneBtcRewardInstruction, type ClaimOneBtcRewardInstructionData, type ClaimOneBtcRewardInstructionDataArgs, type ClaimSatsAsyncInput, type ClaimSatsInput, type ClaimSatsInstruction, type ClaimSatsInstructionData, type ClaimSatsInstructionDataArgs, type ClaimUsdAsyncInput, type ClaimUsdInput, type ClaimUsdInstruction, type ClaimUsdInstructionData, type ClaimUsdInstructionDataArgs, type CloseEpochEntryAsyncInput, type CloseEpochEntryInput, type CloseEpochEntryInstruction, type CloseEpochEntryInstructionData, type CloseEpochEntryInstructionDataArgs, type CloseEpochIterationAsyncInput, type CloseEpochIterationInput, type CloseEpochIterationInstruction, type CloseEpochIterationInstructionData, type CloseEpochIterationInstructionDataArgs, type CloseEpochPageAsyncInput, type CloseEpochPageInput, type CloseEpochPageInstruction, type CloseEpochPageInstructionData, type CloseEpochPageInstructionDataArgs, type CloseOneBtcIterationAsyncInput, type CloseOneBtcIterationInput, type CloseOneBtcIterationInstruction, type CloseOneBtcIterationInstructionData, type CloseOneBtcIterationInstructionDataArgs, type CloseOneBtcTicketInput, type CloseOneBtcTicketInstruction, type CloseOneBtcTicketInstructionData, type CloseOneBtcTicketInstructionDataArgs, type CreateBoardAsyncInput, type CreateBoardInput, type CreateBoardInstruction, type CreateBoardInstructionData, type CreateBoardInstructionDataArgs, type CreateEpochVaultAsyncInput, type CreateEpochVaultInput, type CreateEpochVaultInstruction, type CreateEpochVaultInstructionData, type CreateEpochVaultInstructionDataArgs, type CreateOneBtcVaultAsyncInput, type CreateOneBtcVaultInput, type CreateOneBtcVaultInstruction, type CreateOneBtcVaultInstructionData, type CreateOneBtcVaultInstructionDataArgs, type CreatePublicAutomationAsyncInput, type CreatePublicAutomationInput, type CreatePublicAutomationInstruction, type CreatePublicAutomationInstructionData, type CreatePublicAutomationInstructionDataArgs, type CreateSatrushConfigAsyncInput, type CreateSatrushConfigInput, type CreateSatrushConfigInstruction, type CreateSatrushConfigInstructionData, type CreateSatrushConfigInstructionDataArgs, type CreateSatsVaultAsyncInput, type CreateSatsVaultInput, type CreateSatsVaultInstruction, type CreateSatsVaultInstructionData, type CreateSatsVaultInstructionDataArgs, type CreateTreasuryAsyncInput, type CreateTreasuryInput, type CreateTreasuryInstruction, type CreateTreasuryInstructionData, type CreateTreasuryInstructionDataArgs, DEPLOY_PUBLIC_DISCRIMINATOR, type DeployPublicAsyncInput, type DeployPublicInput, type DeployPublicInstruction, type DeployPublicInstructionData, type DeployPublicInstructionDataArgs, EPOCH_VAULT_DISCRIMINATOR, EPOCH_VAULT_ENTRY_DISCRIMINATOR, EPOCH_VAULT_ITERATION_DISCRIMINATOR, EPOCH_VAULT_PAGE_DISCRIMINATOR, EXECUTE_PUBLIC_AUTOMATION_DISCRIMINATOR, type EpochDrawTriggered, type EpochDrawTriggeredArgs, EpochState, type EpochStateArgs, type EpochTicketsBought, type EpochTicketsBoughtArgs, type EpochVault, type EpochVaultArgs, type EpochVaultEntry, type EpochVaultEntryArgs, type EpochVaultIteration, type EpochVaultIterationArgs, type EpochVaultPage, type EpochVaultPageArgs, type EpochWinnerSelected, type EpochWinnerSelectedArgs, type ExecutePublicAutomationAsyncInput, type ExecutePublicAutomationInput, type ExecutePublicAutomationInstruction, type ExecutePublicAutomationInstructionData, type ExecutePublicAutomationInstructionDataArgs, MINER_DISCRIMINATOR, type Miner, type MinerArgs, type MinerSeeds, type NextRoundSeeds, ONE_BTC_VAULT_DISCRIMINATOR, ONE_BTC_VAULT_ENTRY_DISCRIMINATOR, ONE_BTC_VAULT_ITERATION_DISCRIMINATOR, type OneBtcDrawTriggered, type OneBtcDrawTriggeredArgs, OneBtcState, type OneBtcStateArgs, type OneBtcTicketsBought, type OneBtcTicketsBoughtArgs, type OneBtcVault, type OneBtcVaultArgs, type OneBtcVaultEntry, type OneBtcVaultEntryArgs, type OneBtcVaultIteration, type OneBtcVaultIterationArgs, PUBLIC_AUTOMATION_DISCRIMINATOR, PUBLIC_DEPLOYMENT_DISCRIMINATOR, type PageEntry, type PageEntryArgs, type ParsedBuyEpochTicketsInstruction, type ParsedBuyOneBtcTicketsInstruction, type ParsedCancelPublicAutomationInstruction, type ParsedClaimEpochRewardInstruction, type ParsedClaimOneBtcRewardInstruction, type ParsedClaimSatsInstruction, type ParsedClaimUsdInstruction, type ParsedCloseEpochEntryInstruction, type ParsedCloseEpochIterationInstruction, type ParsedCloseEpochPageInstruction, type ParsedCloseOneBtcIterationInstruction, type ParsedCloseOneBtcTicketInstruction, type ParsedCreateBoardInstruction, type ParsedCreateEpochVaultInstruction, type ParsedCreateOneBtcVaultInstruction, type ParsedCreatePublicAutomationInstruction, type ParsedCreateSatrushConfigInstruction, type ParsedCreateSatsVaultInstruction, type ParsedCreateTreasuryInstruction, type ParsedDeployPublicInstruction, type ParsedExecutePublicAutomationInstruction, type ParsedRotateRoundInstruction, type ParsedSatrushInstruction, type ParsedSealEpochPageInstruction, type ParsedSelectEpochWinnerInstruction, type ParsedSettleDeployPublicInstruction, type ParsedSwapEpochStakeInstruction, type ParsedSwapOneBtcStakeInstruction, type ParsedSwapRoundStakeInstruction, type ParsedSwapStrikeStakeInstruction, type ParsedTopUpPublicAutomationInstruction, type ParsedTriggerEpochDrawInstruction, type ParsedTriggerOneBtcDrawInstruction, type ParsedUpdateBoardRoundDurationInstruction, type ParsedWithdrawProtocolFeesInstruction, type PublicAutomation, type PublicAutomationArgs, type PublicAutomationSeeds, type PublicDeploySettled, type PublicDeploySettledArgs, type PublicDeployment, type PublicDeploymentArgs, ROTATE_ROUND_DISCRIMINATOR, ROUND_DISCRIMINATOR, type RotateRoundAsyncInput, type RotateRoundInput, type RotateRoundInstruction, type RotateRoundInstructionData, type RotateRoundInstructionDataArgs, type Round, type RoundArgs, type RoundRevealed, type RoundRevealedArgs, type RoundStakeSwapped, type RoundStakeSwappedArgs, RoundState, type RoundStateArgs, SATRUSH_CONFIG_DISCRIMINATOR, SATRUSH_ERROR__ALREADY_REVEALED, SATRUSH_ERROR__ALREADY_SETTLED, SATRUSH_ERROR__ALREADY_SWAPPED, SATRUSH_ERROR__BOARD_ALREADY_BOOTSTRAPPED, SATRUSH_ERROR__DEPLOYMENT_NOT_SETTLED, SATRUSH_ERROR__EPOCH_ALREADY_CLAIMED, SATRUSH_ERROR__EPOCH_BELOW_MIN_HASHRATE, SATRUSH_ERROR__EPOCH_BELOW_THRESHOLD, SATRUSH_ERROR__EPOCH_INVALID_PAGE, SATRUSH_ERROR__EPOCH_MAX_PARTICIPANTS, SATRUSH_ERROR__EPOCH_NOT_A_WINNER, SATRUSH_ERROR__EPOCH_NOT_OPEN, SATRUSH_ERROR__EPOCH_NOT_SETTLED, SATRUSH_ERROR__EPOCH_NOT_SETTLING, SATRUSH_ERROR__EPOCH_PAGE_ALREADY_SEALED, SATRUSH_ERROR__EPOCH_PAGE_NOT_SEALED, SATRUSH_ERROR__EPOCH_SEAL_MISMATCH, SATRUSH_ERROR__EPOCH_WINDOW_NOT_ELAPSED, SATRUSH_ERROR__INSUFFICIENT_AUTOMATION_BALANCE, SATRUSH_ERROR__INSUFFICIENT_HASHRATE, SATRUSH_ERROR__INSUFFICIENT_SHARES, SATRUSH_ERROR__INSUFFICIENT_UNCLAIMED_USD, SATRUSH_ERROR__INVALID_AUTOMATION_AMOUNT, SATRUSH_ERROR__INVALID_AUTOMATION_STRATEGY_MASK, SATRUSH_ERROR__INVALID_CLAIM_AMOUNT, SATRUSH_ERROR__INVALID_DEPLOYMENT_AMOUNT, SATRUSH_ERROR__INVALID_ENTROPY, SATRUSH_ERROR__INVALID_JUPITER_ROUTE, SATRUSH_ERROR__INVALID_ROUND_DURATION, SATRUSH_ERROR__INVALID_ROUND_ID, SATRUSH_ERROR__INVALID_SELECTION_MASK, SATRUSH_ERROR__INVALID_SHARE_AMOUNT, SATRUSH_ERROR__INVALID_SLOT_HASH, SATRUSH_ERROR__INVALID_SWAP_PROGRAM, SATRUSH_ERROR__MATH_OVERFLOW, SATRUSH_ERROR__MATH_UNDERFLOW, SATRUSH_ERROR__ONE_BTC_BELOW_MIN_HASHRATE, SATRUSH_ERROR__ONE_BTC_BELOW_THRESHOLD, SATRUSH_ERROR__ONE_BTC_NOT_A_WINNER, SATRUSH_ERROR__ONE_BTC_NOT_OPEN, SATRUSH_ERROR__ONE_BTC_NOT_SETTLED, SATRUSH_ERROR__ONE_BTC_NOT_TRIGGERABLE, SATRUSH_ERROR__ONE_BTC_NO_PARTICIPANTS, SATRUSH_ERROR__ONE_BTC_WINNING_TICKET_LOCKED, SATRUSH_ERROR__ROUND_IN_PROGRESS, SATRUSH_ERROR__ROUND_NOT_ACTIVE, SATRUSH_ERROR__ROUND_NOT_REVEALED, SATRUSH_ERROR__ROUND_NOT_SETTLED, SATRUSH_ERROR__ROUND_WINDOW_CLOSED, SATRUSH_ERROR__SLIPPAGE_EXCEEDED, SATRUSH_ERROR__STRIKE_ALREADY_TRIGGERED, SATRUSH_ERROR__STRIKE_BELOW_THRESHOLD, SATRUSH_ERROR__SWAP_OVERSPENT, SATRUSH_ERROR__TREASURY_EMPTY, SATRUSH_ERROR__UNAUTHORIZED, SATRUSH_PROGRAM_ADDRESS, SATS_VAULT_DISCRIMINATOR, SEAL_EPOCH_PAGE_DISCRIMINATOR, SELECT_EPOCH_WINNER_DISCRIMINATOR, SETTLE_DEPLOY_PUBLIC_DISCRIMINATOR, SWAP_EPOCH_STAKE_DISCRIMINATOR, SWAP_ONE_BTC_STAKE_DISCRIMINATOR, SWAP_ROUND_STAKE_DISCRIMINATOR, SWAP_STRIKE_STAKE_DISCRIMINATOR, SatrushAccount, type SatrushConfig, type SatrushConfigArgs, type SatrushError, SatrushInstruction, type SatrushPlugin, type SatrushPluginAccounts, type SatrushPluginInstructions, type SatrushPluginPdas, type SatrushPluginRequirements, type SatsVault, type SatsVaultArgs, type SealEpochPageAsyncInput, type SealEpochPageInput, type SealEpochPageInstruction, type SealEpochPageInstructionData, type SealEpochPageInstructionDataArgs, type SelectEpochWinnerAsyncInput, type SelectEpochWinnerInput, type SelectEpochWinnerInstruction, type SelectEpochWinnerInstructionData, type SelectEpochWinnerInstructionDataArgs, type SettleDeployPublicAsyncInput, type SettleDeployPublicInput, type SettleDeployPublicInstruction, type SettleDeployPublicInstructionData, type SettleDeployPublicInstructionDataArgs, type SwapEpochStakeAsyncInput, type SwapEpochStakeInput, type SwapEpochStakeInstruction, type SwapEpochStakeInstructionData, type SwapEpochStakeInstructionDataArgs, type SwapOneBtcStakeAsyncInput, type SwapOneBtcStakeInput, type SwapOneBtcStakeInstruction, type SwapOneBtcStakeInstructionData, type SwapOneBtcStakeInstructionDataArgs, type SwapRoundStakeAsyncInput, type SwapRoundStakeInput, type SwapRoundStakeInstruction, type SwapRoundStakeInstructionData, type SwapRoundStakeInstructionDataArgs, type SwapStrikeStakeAsyncInput, type SwapStrikeStakeInput, type SwapStrikeStakeInstruction, type SwapStrikeStakeInstructionData, type SwapStrikeStakeInstructionDataArgs, TILE_COUNT, TOP_UP_PUBLIC_AUTOMATION_DISCRIMINATOR, TREASURY_DISCRIMINATOR, TRIGGER_EPOCH_DRAW_DISCRIMINATOR, TRIGGER_ONE_BTC_DRAW_DISCRIMINATOR, type TileStake, type TileStakeArgs, type TopUpPublicAutomationAsyncInput, type TopUpPublicAutomationInput, type TopUpPublicAutomationInstruction, type TopUpPublicAutomationInstructionData, type TopUpPublicAutomationInstructionDataArgs, type Treasury, type TreasuryArgs, type TriggerEpochDrawAsyncInput, type TriggerEpochDrawInput, type TriggerEpochDrawInstruction, type TriggerEpochDrawInstructionData, type TriggerEpochDrawInstructionDataArgs, type TriggerOneBtcDrawAsyncInput, type TriggerOneBtcDrawInput, type TriggerOneBtcDrawInstruction, type TriggerOneBtcDrawInstructionData, type TriggerOneBtcDrawInstructionDataArgs, UPDATE_BOARD_ROUND_DURATION_DISCRIMINATOR, type UpdateBoardRoundDurationAsyncInput, type UpdateBoardRoundDurationInput, type UpdateBoardRoundDurationInstruction, type UpdateBoardRoundDurationInstructionData, type UpdateBoardRoundDurationInstructionDataArgs, WITHDRAW_PROTOCOL_FEES_DISCRIMINATOR, type Winner, type WinnerArgs, type WithdrawProtocolFeesAsyncInput, type WithdrawProtocolFeesInput, type WithdrawProtocolFeesInstruction, type WithdrawProtocolFeesInstructionData, type WithdrawProtocolFeesInstructionDataArgs, btcToSats, buildCancelPublicAutomationInstruction, buildClaimSatsInstruction, buildClaimUsdInstruction, buildCreatePublicAutomationInstruction, buildDeployPublicInstruction, buildExecutePublicAutomationInstruction, buildSettleDeployPublicInstruction, buildTopUpPublicAutomationInstruction, decodeBoard, decodeEpochVault, decodeEpochVaultEntry, decodeEpochVaultIteration, decodeEpochVaultPage, decodeMiner, decodeOneBtcVault, decodeOneBtcVaultEntry, decodeOneBtcVaultIteration, decodePublicAutomation, decodePublicDeployment, decodeRound, decodeSatrushConfig, decodeSatsVault, decodeTreasury, fetchAllBoard, fetchAllEpochVault, fetchAllEpochVaultEntry, fetchAllEpochVaultIteration, fetchAllEpochVaultPage, fetchAllMaybeBoard, fetchAllMaybeEpochVault, fetchAllMaybeEpochVaultEntry, fetchAllMaybeEpochVaultIteration, fetchAllMaybeEpochVaultPage, fetchAllMaybeMiner, fetchAllMaybeOneBtcVault, fetchAllMaybeOneBtcVaultEntry, fetchAllMaybeOneBtcVaultIteration, fetchAllMaybePublicAutomation, fetchAllMaybePublicDeployment, fetchAllMaybeRound, fetchAllMaybeSatrushConfig, fetchAllMaybeSatsVault, fetchAllMaybeTreasury, fetchAllMiner, fetchAllOneBtcVault, fetchAllOneBtcVaultEntry, fetchAllOneBtcVaultIteration, fetchAllPublicAutomation, fetchAllPublicDeployment, fetchAllRound, fetchAllSatrushConfig, fetchAllSatsVault, fetchAllTreasury, fetchBoard, fetchEpochVault, fetchEpochVaultEntry, fetchEpochVaultIteration, fetchEpochVaultPage, fetchMaybeBoard, fetchMaybeEpochVault, fetchMaybeEpochVaultEntry, fetchMaybeEpochVaultIteration, fetchMaybeEpochVaultPage, fetchMaybeMiner, fetchMaybeOneBtcVault, fetchMaybeOneBtcVaultEntry, fetchMaybeOneBtcVaultIteration, fetchMaybePublicAutomation, fetchMaybePublicDeployment, fetchMaybeRound, fetchMaybeSatrushConfig, fetchMaybeSatsVault, fetchMaybeTreasury, fetchMiner, fetchOneBtcVault, fetchOneBtcVaultEntry, fetchOneBtcVaultIteration, fetchPublicAutomation, fetchPublicDeployment, fetchRound, fetchSatrushConfig, fetchSatsVault, fetchTreasury, findBoardPda, findEpochVaultIterationPda, findEpochVaultPda, findInitialRoundPda, findMinerPda, findNextRoundPda, findOneBtcVaultIterationPda, findOneBtcVaultPda, findPublicAutomationPda, findSatrushConfigPda, findSatsVaultPda, findTreasuryPda, getAutomationStrategyCodec, getAutomationStrategyDecoder, getAutomationStrategyEncoder, getBoardAddress, getBoardCodec, getBoardDecoder, getBoardDiscriminatorBytes, getBoardEncoder, getBoardSize, getBuyEpochTicketsDiscriminatorBytes, getBuyEpochTicketsInstruction, getBuyEpochTicketsInstructionAsync, getBuyEpochTicketsInstructionDataCodec, getBuyEpochTicketsInstructionDataDecoder, getBuyEpochTicketsInstructionDataEncoder, getBuyOneBtcTicketsDiscriminatorBytes, getBuyOneBtcTicketsInstruction, getBuyOneBtcTicketsInstructionAsync, getBuyOneBtcTicketsInstructionDataCodec, getBuyOneBtcTicketsInstructionDataDecoder, getBuyOneBtcTicketsInstructionDataEncoder, getCancelPublicAutomationDiscriminatorBytes, getCancelPublicAutomationInstruction, getCancelPublicAutomationInstructionAsync, getCancelPublicAutomationInstructionDataCodec, getCancelPublicAutomationInstructionDataDecoder, getCancelPublicAutomationInstructionDataEncoder, getClaimEpochRewardDiscriminatorBytes, getClaimEpochRewardInstruction, getClaimEpochRewardInstructionAsync, getClaimEpochRewardInstructionDataCodec, getClaimEpochRewardInstructionDataDecoder, getClaimEpochRewardInstructionDataEncoder, getClaimOneBtcRewardDiscriminatorBytes, getClaimOneBtcRewardInstruction, getClaimOneBtcRewardInstructionAsync, getClaimOneBtcRewardInstructionDataCodec, getClaimOneBtcRewardInstructionDataDecoder, getClaimOneBtcRewardInstructionDataEncoder, getClaimSatsDiscriminatorBytes, getClaimSatsInstruction, getClaimSatsInstructionAsync, getClaimSatsInstructionDataCodec, getClaimSatsInstructionDataDecoder, getClaimSatsInstructionDataEncoder, getClaimUsdDiscriminatorBytes, getClaimUsdInstruction, getClaimUsdInstructionAsync, getClaimUsdInstructionDataCodec, getClaimUsdInstructionDataDecoder, getClaimUsdInstructionDataEncoder, getCloseEpochEntryDiscriminatorBytes, getCloseEpochEntryInstruction, getCloseEpochEntryInstructionAsync, getCloseEpochEntryInstructionDataCodec, getCloseEpochEntryInstructionDataDecoder, getCloseEpochEntryInstructionDataEncoder, getCloseEpochIterationDiscriminatorBytes, getCloseEpochIterationInstruction, getCloseEpochIterationInstructionAsync, getCloseEpochIterationInstructionDataCodec, getCloseEpochIterationInstructionDataDecoder, getCloseEpochIterationInstructionDataEncoder, getCloseEpochPageDiscriminatorBytes, getCloseEpochPageInstruction, getCloseEpochPageInstructionAsync, getCloseEpochPageInstructionDataCodec, getCloseEpochPageInstructionDataDecoder, getCloseEpochPageInstructionDataEncoder, getCloseOneBtcIterationDiscriminatorBytes, getCloseOneBtcIterationInstruction, getCloseOneBtcIterationInstructionAsync, getCloseOneBtcIterationInstructionDataCodec, getCloseOneBtcIterationInstructionDataDecoder, getCloseOneBtcIterationInstructionDataEncoder, getCloseOneBtcTicketDiscriminatorBytes, getCloseOneBtcTicketInstruction, getCloseOneBtcTicketInstructionDataCodec, getCloseOneBtcTicketInstructionDataDecoder, getCloseOneBtcTicketInstructionDataEncoder, getCreateBoardDiscriminatorBytes, getCreateBoardInstruction, getCreateBoardInstructionAsync, getCreateBoardInstructionDataCodec, getCreateBoardInstructionDataDecoder, getCreateBoardInstructionDataEncoder, getCreateEpochVaultDiscriminatorBytes, getCreateEpochVaultInstruction, getCreateEpochVaultInstructionAsync, getCreateEpochVaultInstructionDataCodec, getCreateEpochVaultInstructionDataDecoder, getCreateEpochVaultInstructionDataEncoder, getCreateOneBtcVaultDiscriminatorBytes, getCreateOneBtcVaultInstruction, getCreateOneBtcVaultInstructionAsync, getCreateOneBtcVaultInstructionDataCodec, getCreateOneBtcVaultInstructionDataDecoder, getCreateOneBtcVaultInstructionDataEncoder, getCreatePublicAutomationDiscriminatorBytes, getCreatePublicAutomationInstruction, getCreatePublicAutomationInstructionAsync, getCreatePublicAutomationInstructionDataCodec, getCreatePublicAutomationInstructionDataDecoder, getCreatePublicAutomationInstructionDataEncoder, getCreateSatrushConfigDiscriminatorBytes, getCreateSatrushConfigInstruction, getCreateSatrushConfigInstructionAsync, getCreateSatrushConfigInstructionDataCodec, getCreateSatrushConfigInstructionDataDecoder, getCreateSatrushConfigInstructionDataEncoder, getCreateSatsVaultDiscriminatorBytes, getCreateSatsVaultInstruction, getCreateSatsVaultInstructionAsync, getCreateSatsVaultInstructionDataCodec, getCreateSatsVaultInstructionDataDecoder, getCreateSatsVaultInstructionDataEncoder, getCreateTreasuryDiscriminatorBytes, getCreateTreasuryInstruction, getCreateTreasuryInstructionAsync, getCreateTreasuryInstructionDataCodec, getCreateTreasuryInstructionDataDecoder, getCreateTreasuryInstructionDataEncoder, getDeployPublicDiscriminatorBytes, getDeployPublicInstruction, getDeployPublicInstructionAsync, getDeployPublicInstructionDataCodec, getDeployPublicInstructionDataDecoder, getDeployPublicInstructionDataEncoder, getEpochDrawTriggeredCodec, getEpochDrawTriggeredDecoder, getEpochDrawTriggeredEncoder, getEpochStateCodec, getEpochStateDecoder, getEpochStateEncoder, getEpochTicketsBoughtCodec, getEpochTicketsBoughtDecoder, getEpochTicketsBoughtEncoder, getEpochVaultAddress, getEpochVaultCodec, getEpochVaultDecoder, getEpochVaultDiscriminatorBytes, getEpochVaultEncoder, getEpochVaultEntryAddress, getEpochVaultEntryCodec, getEpochVaultEntryDecoder, getEpochVaultEntryDiscriminatorBytes, getEpochVaultEntryEncoder, getEpochVaultEntrySize, getEpochVaultIterationAddress, getEpochVaultIterationCodec, getEpochVaultIterationDecoder, getEpochVaultIterationDiscriminatorBytes, getEpochVaultIterationEncoder, getEpochVaultIterationSize, getEpochVaultPageAddress, getEpochVaultPageCodec, getEpochVaultPageDecoder, getEpochVaultPageDiscriminatorBytes, getEpochVaultPageEncoder, getEpochVaultPageSize, getEpochVaultSize, getEpochWinnerSelectedCodec, getEpochWinnerSelectedDecoder, getEpochWinnerSelectedEncoder, getEventAuthorityAddress, getExecutePublicAutomationDiscriminatorBytes, getExecutePublicAutomationInstruction, getExecutePublicAutomationInstructionAsync, getExecutePublicAutomationInstructionDataCodec, getExecutePublicAutomationInstructionDataDecoder, getExecutePublicAutomationInstructionDataEncoder, getMinerAddress, getMinerCodec, getMinerDecoder, getMinerDiscriminatorBytes, getMinerEncoder, getMinerSize, getOneBtcDrawTriggeredCodec, getOneBtcDrawTriggeredDecoder, getOneBtcDrawTriggeredEncoder, getOneBtcStateCodec, getOneBtcStateDecoder, getOneBtcStateEncoder, getOneBtcTicketsBoughtCodec, getOneBtcTicketsBoughtDecoder, getOneBtcTicketsBoughtEncoder, getOneBtcVaultAddress, getOneBtcVaultCodec, getOneBtcVaultDecoder, getOneBtcVaultDiscriminatorBytes, getOneBtcVaultEncoder, getOneBtcVaultEntryCodec, getOneBtcVaultEntryDecoder, getOneBtcVaultEntryDiscriminatorBytes, getOneBtcVaultEntryEncoder, getOneBtcVaultEntrySize, getOneBtcVaultIterationAddress, getOneBtcVaultIterationCodec, getOneBtcVaultIterationDecoder, getOneBtcVaultIterationDiscriminatorBytes, getOneBtcVaultIterationEncoder, getOneBtcVaultIterationSize, getOneBtcVaultSize, getPageEntryCodec, getPageEntryDecoder, getPageEntryEncoder, getPublicAutomationAddress, getPublicAutomationCodec, getPublicAutomationDecoder, getPublicAutomationDiscriminatorBytes, getPublicAutomationEncoder, getPublicAutomationSize, getPublicDeploySettledCodec, getPublicDeploySettledDecoder, getPublicDeploySettledEncoder, getPublicDeploymentAddress, getPublicDeploymentCodec, getPublicDeploymentDecoder, getPublicDeploymentDiscriminatorBytes, getPublicDeploymentEncoder, getRotateRoundDiscriminatorBytes, getRotateRoundInstruction, getRotateRoundInstructionAsync, getRotateRoundInstructionDataCodec, getRotateRoundInstructionDataDecoder, getRotateRoundInstructionDataEncoder, getRoundAddress, getRoundCodec, getRoundDecoder, getRoundDiscriminatorBytes, getRoundEncoder, getRoundRevealedCodec, getRoundRevealedDecoder, getRoundRevealedEncoder, getRoundStakeSwappedCodec, getRoundStakeSwappedDecoder, getRoundStakeSwappedEncoder, getRoundStateCodec, getRoundStateDecoder, getRoundStateEncoder, getSatrushConfigAddress, getSatrushConfigCodec, getSatrushConfigDecoder, getSatrushConfigDiscriminatorBytes, getSatrushConfigEncoder, getSatrushConfigSize, getSatrushErrorMessage, getSatsVaultAddress, getSatsVaultCodec, getSatsVaultDecoder, getSatsVaultDiscriminatorBytes, getSatsVaultEncoder, getSatsVaultSize, getSealEpochPageDiscriminatorBytes, getSealEpochPageInstruction, getSealEpochPageInstructionAsync, getSealEpochPageInstructionDataCodec, getSealEpochPageInstructionDataDecoder, getSealEpochPageInstructionDataEncoder, getSelectEpochWinnerDiscriminatorBytes, getSelectEpochWinnerInstruction, getSelectEpochWinnerInstructionAsync, getSelectEpochWinnerInstructionDataCodec, getSelectEpochWinnerInstructionDataDecoder, getSelectEpochWinnerInstructionDataEncoder, getSettleDeployPublicDiscriminatorBytes, getSettleDeployPublicInstruction, getSettleDeployPublicInstructionAsync, getSettleDeployPublicInstructionDataCodec, getSettleDeployPublicInstructionDataDecoder, getSettleDeployPublicInstructionDataEncoder, getSwapEpochStakeDiscriminatorBytes, getSwapEpochStakeInstruction, getSwapEpochStakeInstructionAsync, getSwapEpochStakeInstructionDataCodec, getSwapEpochStakeInstructionDataDecoder, getSwapEpochStakeInstructionDataEncoder, getSwapOneBtcStakeDiscriminatorBytes, getSwapOneBtcStakeInstruction, getSwapOneBtcStakeInstructionAsync, getSwapOneBtcStakeInstructionDataCodec, getSwapOneBtcStakeInstructionDataDecoder, getSwapOneBtcStakeInstructionDataEncoder, getSwapRoundStakeDiscriminatorBytes, getSwapRoundStakeInstruction, getSwapRoundStakeInstructionAsync, getSwapRoundStakeInstructionDataCodec, getSwapRoundStakeInstructionDataDecoder, getSwapRoundStakeInstructionDataEncoder, getSwapStrikeStakeDiscriminatorBytes, getSwapStrikeStakeInstruction, getSwapStrikeStakeInstructionAsync, getSwapStrikeStakeInstructionDataCodec, getSwapStrikeStakeInstructionDataDecoder, getSwapStrikeStakeInstructionDataEncoder, getTileStakeCodec, getTileStakeDecoder, getTileStakeEncoder, getTopUpPublicAutomationDiscriminatorBytes, getTopUpPublicAutomationInstruction, getTopUpPublicAutomationInstructionAsync, getTopUpPublicAutomationInstructionDataCodec, getTopUpPublicAutomationInstructionDataDecoder, getTopUpPublicAutomationInstructionDataEncoder, getTreasuryAddress, getTreasuryCodec, getTreasuryDecoder, getTreasuryDiscriminatorBytes, getTreasuryEncoder, getTreasurySize, getTriggerEpochDrawDiscriminatorBytes, getTriggerEpochDrawInstruction, getTriggerEpochDrawInstructionAsync, getTriggerEpochDrawInstructionDataCodec, getTriggerEpochDrawInstructionDataDecoder, getTriggerEpochDrawInstructionDataEncoder, getTriggerOneBtcDrawDiscriminatorBytes, getTriggerOneBtcDrawInstruction, getTriggerOneBtcDrawInstructionAsync, getTriggerOneBtcDrawInstructionDataCodec, getTriggerOneBtcDrawInstructionDataDecoder, getTriggerOneBtcDrawInstructionDataEncoder, getUpdateBoardRoundDurationDiscriminatorBytes, getUpdateBoardRoundDurationInstruction, getUpdateBoardRoundDurationInstructionAsync, getUpdateBoardRoundDurationInstructionDataCodec, getUpdateBoardRoundDurationInstructionDataDecoder, getUpdateBoardRoundDurationInstructionDataEncoder, getWinnerCodec, getWinnerDecoder, getWinnerEncoder, getWithdrawProtocolFeesDiscriminatorBytes, getWithdrawProtocolFeesInstruction, getWithdrawProtocolFeesInstructionAsync, getWithdrawProtocolFeesInstructionDataCodec, getWithdrawProtocolFeesInstructionDataDecoder, getWithdrawProtocolFeesInstructionDataEncoder, identifySatrushAccount, identifySatrushInstruction, isSatrushError, parseBuyEpochTicketsInstruction, parseBuyOneBtcTicketsInstruction, parseCancelPublicAutomationInstruction, parseClaimEpochRewardInstruction, parseClaimOneBtcRewardInstruction, parseClaimSatsInstruction, parseClaimUsdInstruction, parseCloseEpochEntryInstruction, parseCloseEpochIterationInstruction, parseCloseEpochPageInstruction, parseCloseOneBtcIterationInstruction, parseCloseOneBtcTicketInstruction, parseCreateBoardInstruction, parseCreateEpochVaultInstruction, parseCreateOneBtcVaultInstruction, parseCreatePublicAutomationInstruction, parseCreateSatrushConfigInstruction, parseCreateSatsVaultInstruction, parseCreateTreasuryInstruction, parseDeployPublicInstruction, parseExecutePublicAutomationInstruction, parseRotateRoundInstruction, parseSatrushInstruction, parseSealEpochPageInstruction, parseSelectEpochWinnerInstruction, parseSettleDeployPublicInstruction, parseSwapEpochStakeInstruction, parseSwapOneBtcStakeInstruction, parseSwapRoundStakeInstruction, parseSwapStrikeStakeInstruction, parseTopUpPublicAutomationInstruction, parseTriggerEpochDrawInstruction, parseTriggerOneBtcDrawInstruction, parseUpdateBoardRoundDurationInstruction, parseWithdrawProtocolFeesInstruction, satrushProgram, satsToBtc, selectionMaskFromTiles, tilesFromSelectionMask };
5766
+ /**
5767
+ * Cap on the streak multiplier credited toward the hashrate reward, mirroring
5768
+ * the program's `REWARD_MAX_STREAK`. The miner's live streak
5769
+ * (`Miner.currentStreakCount`) is uncapped; only the multiplier frozen onto a
5770
+ * deployment is clamped here.
5771
+ */
5772
+ declare const REWARD_MAX_STREAK = 100;
5773
+ /**
5774
+ * Streak multiplier a deploy into `nextRoundId` would freeze onto its
5775
+ * `PublicDeployment`, computed from the miner's live state without
5776
+ * submitting a transaction. Mirrors `Miner::record_play` followed by
5777
+ * `Miner::get_hashrate_streak_multiplier`; feed the result into
5778
+ * {@link hashrateReward} to preview the points a deploy would earn.
5779
+ *
5780
+ * `currentStreakCount` / `lastMinedRoundId` are the miner's live fields
5781
+ * (`Miner.currentStreakCount`, `Miner.lastMinedRoundId`); pass `0` for both
5782
+ * when the `Miner` account does not exist yet (a miner's first ever play),
5783
+ * matching the program's zeroed initial state.
5784
+ */
5785
+ declare function nextStreakMultiplier(currentStreakCount: number, lastMinedRoundId: number, nextRoundId: number): number;
5786
+
5787
+ export { AutomationStrategy, type AutomationStrategyArgs, BOARD_DISCRIMINATOR, BUY_EPOCH_TICKETS_DISCRIMINATOR, BUY_ONE_BTC_TICKETS_DISCRIMINATOR, type Board, type BoardArgs, type BtcSharesValue, type BuyEpochTicketsAsyncInput, type BuyEpochTicketsInput, type BuyEpochTicketsInstruction, type BuyEpochTicketsInstructionData, type BuyEpochTicketsInstructionDataArgs, type BuyOneBtcTicketsAsyncInput, type BuyOneBtcTicketsInput, type BuyOneBtcTicketsInstruction, type BuyOneBtcTicketsInstructionData, type BuyOneBtcTicketsInstructionDataArgs, CANCEL_PUBLIC_AUTOMATION_DISCRIMINATOR, CLAIM_EPOCH_REWARD_DISCRIMINATOR, CLAIM_ONE_BTC_REWARD_DISCRIMINATOR, CLAIM_SATS_DISCRIMINATOR, CLAIM_USD_DISCRIMINATOR, CLOSE_EPOCH_ENTRY_DISCRIMINATOR, CLOSE_EPOCH_ITERATION_DISCRIMINATOR, CLOSE_EPOCH_PAGE_DISCRIMINATOR, CLOSE_ONE_BTC_ITERATION_DISCRIMINATOR, CLOSE_ONE_BTC_TICKET_DISCRIMINATOR, CLOSE_ROUND_DISCRIMINATOR, CREATE_BOARD_DISCRIMINATOR, CREATE_EPOCH_VAULT_DISCRIMINATOR, CREATE_ONE_BTC_VAULT_DISCRIMINATOR, CREATE_PUBLIC_AUTOMATION_DISCRIMINATOR, CREATE_SATRUSH_CONFIG_DISCRIMINATOR, CREATE_SATS_VAULT_DISCRIMINATOR, CREATE_TREASURY_DISCRIMINATOR, type CancelPublicAutomationAsyncInput, type CancelPublicAutomationInput, type CancelPublicAutomationInstruction, type CancelPublicAutomationInstructionData, type CancelPublicAutomationInstructionDataArgs, type ClaimEpochRewardAsyncInput, type ClaimEpochRewardInput, type ClaimEpochRewardInstruction, type ClaimEpochRewardInstructionData, type ClaimEpochRewardInstructionDataArgs, type ClaimOneBtcRewardAsyncInput, type ClaimOneBtcRewardInput, type ClaimOneBtcRewardInstruction, type ClaimOneBtcRewardInstructionData, type ClaimOneBtcRewardInstructionDataArgs, type ClaimSatsAsyncInput, type ClaimSatsInput, type ClaimSatsInstruction, type ClaimSatsInstructionData, type ClaimSatsInstructionDataArgs, type ClaimUsdAsyncInput, type ClaimUsdInput, type ClaimUsdInstruction, type ClaimUsdInstructionData, type ClaimUsdInstructionDataArgs, type CloseEpochEntryAsyncInput, type CloseEpochEntryInput, type CloseEpochEntryInstruction, type CloseEpochEntryInstructionData, type CloseEpochEntryInstructionDataArgs, type CloseEpochIterationAsyncInput, type CloseEpochIterationInput, type CloseEpochIterationInstruction, type CloseEpochIterationInstructionData, type CloseEpochIterationInstructionDataArgs, type CloseEpochPageAsyncInput, type CloseEpochPageInput, type CloseEpochPageInstruction, type CloseEpochPageInstructionData, type CloseEpochPageInstructionDataArgs, type CloseOneBtcIterationAsyncInput, type CloseOneBtcIterationInput, type CloseOneBtcIterationInstruction, type CloseOneBtcIterationInstructionData, type CloseOneBtcIterationInstructionDataArgs, type CloseOneBtcTicketInput, type CloseOneBtcTicketInstruction, type CloseOneBtcTicketInstructionData, type CloseOneBtcTicketInstructionDataArgs, type CloseRoundAsyncInput, type CloseRoundInput, type CloseRoundInstruction, type CloseRoundInstructionData, type CloseRoundInstructionDataArgs, type CreateBoardAsyncInput, type CreateBoardInput, type CreateBoardInstruction, type CreateBoardInstructionData, type CreateBoardInstructionDataArgs, type CreateEpochVaultAsyncInput, type CreateEpochVaultInput, type CreateEpochVaultInstruction, type CreateEpochVaultInstructionData, type CreateEpochVaultInstructionDataArgs, type CreateOneBtcVaultAsyncInput, type CreateOneBtcVaultInput, type CreateOneBtcVaultInstruction, type CreateOneBtcVaultInstructionData, type CreateOneBtcVaultInstructionDataArgs, type CreatePublicAutomationAsyncInput, type CreatePublicAutomationInput, type CreatePublicAutomationInstruction, type CreatePublicAutomationInstructionData, type CreatePublicAutomationInstructionDataArgs, type CreateSatrushConfigAsyncInput, type CreateSatrushConfigInput, type CreateSatrushConfigInstruction, type CreateSatrushConfigInstructionData, type CreateSatrushConfigInstructionDataArgs, type CreateSatsVaultAsyncInput, type CreateSatsVaultInput, type CreateSatsVaultInstruction, type CreateSatsVaultInstructionData, type CreateSatsVaultInstructionDataArgs, type CreateTreasuryAsyncInput, type CreateTreasuryInput, type CreateTreasuryInstruction, type CreateTreasuryInstructionData, type CreateTreasuryInstructionDataArgs, DEPLOY_PUBLIC_DISCRIMINATOR, type DeployPublicAsyncInput, type DeployPublicInput, type DeployPublicInstruction, type DeployPublicInstructionData, type DeployPublicInstructionDataArgs, EPOCH_VAULT_DISCRIMINATOR, EPOCH_VAULT_ENTRY_DISCRIMINATOR, EPOCH_VAULT_ITERATION_DISCRIMINATOR, EPOCH_VAULT_PAGE_DISCRIMINATOR, EXECUTE_PUBLIC_AUTOMATION_DISCRIMINATOR, type EpochDrawTriggered, type EpochDrawTriggeredArgs, EpochState, type EpochStateArgs, type EpochTicketsBought, type EpochTicketsBoughtArgs, type EpochVault, type EpochVaultArgs, type EpochVaultEntry, type EpochVaultEntryArgs, type EpochVaultIteration, type EpochVaultIterationArgs, type EpochVaultPage, type EpochVaultPageArgs, type EpochWinnerSelected, type EpochWinnerSelectedArgs, type ExecutePublicAutomationAsyncInput, type ExecutePublicAutomationInput, type ExecutePublicAutomationInstruction, type ExecutePublicAutomationInstructionData, type ExecutePublicAutomationInstructionDataArgs, HASHRATE_DECIMALS, HASHRATE_PER_TICKET, type HashrateReward, LOYALTY_WEIGHT, MINER_DISCRIMINATOR, type Miner, type MinerArgs, type MinerSeeds, type NextRoundSeeds, ONE_BTC_VAULT_DISCRIMINATOR, ONE_BTC_VAULT_ENTRY_DISCRIMINATOR, ONE_BTC_VAULT_ITERATION_DISCRIMINATOR, type OneBtcDrawTriggered, type OneBtcDrawTriggeredArgs, OneBtcState, type OneBtcStateArgs, type OneBtcTicketsBought, type OneBtcTicketsBoughtArgs, type OneBtcVault, type OneBtcVaultArgs, type OneBtcVaultEntry, type OneBtcVaultEntryArgs, type OneBtcVaultIteration, type OneBtcVaultIterationArgs, PUBLIC_AUTOMATION_DISCRIMINATOR, PUBLIC_DEPLOYMENT_DISCRIMINATOR, type PageEntry, type PageEntryArgs, type ParsedBuyEpochTicketsInstruction, type ParsedBuyOneBtcTicketsInstruction, type ParsedCancelPublicAutomationInstruction, type ParsedClaimEpochRewardInstruction, type ParsedClaimOneBtcRewardInstruction, type ParsedClaimSatsInstruction, type ParsedClaimUsdInstruction, type ParsedCloseEpochEntryInstruction, type ParsedCloseEpochIterationInstruction, type ParsedCloseEpochPageInstruction, type ParsedCloseOneBtcIterationInstruction, type ParsedCloseOneBtcTicketInstruction, type ParsedCloseRoundInstruction, type ParsedCreateBoardInstruction, type ParsedCreateEpochVaultInstruction, type ParsedCreateOneBtcVaultInstruction, type ParsedCreatePublicAutomationInstruction, type ParsedCreateSatrushConfigInstruction, type ParsedCreateSatsVaultInstruction, type ParsedCreateTreasuryInstruction, type ParsedDeployPublicInstruction, type ParsedExecutePublicAutomationInstruction, type ParsedRotateRoundInstruction, type ParsedSatrushInstruction, type ParsedSealEpochPageInstruction, type ParsedSelectEpochWinnerInstruction, type ParsedSettleDeployPublicInstruction, type ParsedSwapEpochStakeInstruction, type ParsedSwapOneBtcStakeInstruction, type ParsedSwapRoundStakeInstruction, type ParsedSwapStrikeStakeInstruction, type ParsedTopUpPublicAutomationInstruction, type ParsedTriggerEpochDrawInstruction, type ParsedTriggerOneBtcDrawInstruction, type ParsedUpdateBoardRoundDurationInstruction, type ParsedUpdateDeploymentSettleGraceDurationInstruction, type ParsedUpdateEpochVaultIterationDurationInstruction, type ParsedUpdateMinDeployUsdAmountInstruction, type ParsedUpdateUnclaimedHashrateBpsInstruction, type ParsedWithdrawProtocolFeesInstruction, type PublicAutomation, type PublicAutomationArgs, type PublicAutomationSeeds, type PublicDeploySettled, type PublicDeploySettledArgs, type PublicDeployment, type PublicDeploymentArgs, REWARD_MAX_STREAK, ROTATE_ROUND_DISCRIMINATOR, ROUND_DISCRIMINATOR, type RotateRoundAsyncInput, type RotateRoundInput, type RotateRoundInstruction, type RotateRoundInstructionData, type RotateRoundInstructionDataArgs, type Round, type RoundArgs, type RoundRevealed, type RoundRevealedArgs, type RoundStakeSwapped, type RoundStakeSwappedArgs, RoundState, type RoundStateArgs, SATRUSH_CONFIG_DISCRIMINATOR, SATRUSH_ERROR__ALREADY_REVEALED, SATRUSH_ERROR__ALREADY_SWAPPED, SATRUSH_ERROR__DEPLOY_AMOUNT_BELOW_MINIMUM, SATRUSH_ERROR__EPOCH_ALREADY_CLAIMED, SATRUSH_ERROR__EPOCH_INVALID_PAGE, SATRUSH_ERROR__EPOCH_MAX_PARTICIPANTS, SATRUSH_ERROR__EPOCH_NOT_A_WINNER, SATRUSH_ERROR__EPOCH_NOT_OPEN, SATRUSH_ERROR__EPOCH_NOT_SETTLED, SATRUSH_ERROR__EPOCH_NOT_SETTLING, SATRUSH_ERROR__EPOCH_PAGE_ALREADY_SEALED, SATRUSH_ERROR__EPOCH_PAGE_NOT_SEALED, SATRUSH_ERROR__EPOCH_SEAL_MISMATCH, SATRUSH_ERROR__EPOCH_WINDOW_NOT_ELAPSED, SATRUSH_ERROR__INSUFFICIENT_AUTOMATION_BALANCE, SATRUSH_ERROR__INSUFFICIENT_HASHRATE, SATRUSH_ERROR__INSUFFICIENT_SHARES, SATRUSH_ERROR__INSUFFICIENT_UNCLAIMED_USD, SATRUSH_ERROR__INVALID_AUTOMATION_AMOUNT, SATRUSH_ERROR__INVALID_AUTOMATION_STRATEGY_MASK, SATRUSH_ERROR__INVALID_CLAIM_AMOUNT, SATRUSH_ERROR__INVALID_DEPLOYMENT_AMOUNT, SATRUSH_ERROR__INVALID_ENTROPY, SATRUSH_ERROR__INVALID_EPOCH_ITERATION_DURATION, SATRUSH_ERROR__INVALID_ROUND_DURATION, SATRUSH_ERROR__INVALID_ROUND_ID, SATRUSH_ERROR__INVALID_SELECTION_MASK, SATRUSH_ERROR__INVALID_SHARE_AMOUNT, SATRUSH_ERROR__INVALID_SLOT_HASH, SATRUSH_ERROR__INVALID_SWAP_PROGRAM, SATRUSH_ERROR__INVALID_TICKETS_COUNT, SATRUSH_ERROR__INVALID_UNCLAIMED_HASHRATE_BPS, SATRUSH_ERROR__MATH_OVERFLOW, SATRUSH_ERROR__MATH_UNDERFLOW, SATRUSH_ERROR__ONE_BTC_NOT_A_WINNER, SATRUSH_ERROR__ONE_BTC_NOT_OPEN, SATRUSH_ERROR__ONE_BTC_NOT_SETTLED, SATRUSH_ERROR__ONE_BTC_NOT_TRIGGERABLE, SATRUSH_ERROR__ONE_BTC_NO_PARTICIPANTS, SATRUSH_ERROR__ONE_BTC_WINNING_TICKET_LOCKED, SATRUSH_ERROR__ROUND_IN_PROGRESS, SATRUSH_ERROR__ROUND_NOT_ACTIVE, SATRUSH_ERROR__ROUND_NOT_FINISHED, SATRUSH_ERROR__ROUND_NOT_REVEALED, SATRUSH_ERROR__ROUND_NOT_SETTLED, SATRUSH_ERROR__SLIPPAGE_EXCEEDED, SATRUSH_ERROR__STRIKE_ALREADY_TRIGGERED, SATRUSH_ERROR__SWAP_OVERSPENT, SATRUSH_ERROR__TREASURY_EMPTY, SATRUSH_ERROR__UNAUTHORIZED, SATRUSH_PROGRAM_ADDRESS, SATS_VAULT_DISCRIMINATOR, SEAL_EPOCH_PAGE_DISCRIMINATOR, SELECT_EPOCH_WINNER_DISCRIMINATOR, SETTLE_DEPLOY_PUBLIC_DISCRIMINATOR, SHARE_OFFSET, SKILL_WEIGHT, SWAP_EPOCH_STAKE_DISCRIMINATOR, SWAP_ONE_BTC_STAKE_DISCRIMINATOR, SWAP_ROUND_STAKE_DISCRIMINATOR, SWAP_STRIKE_STAKE_DISCRIMINATOR, SatrushAccount, type SatrushConfig, type SatrushConfigArgs, type SatrushError, SatrushInstruction, type SatrushPlugin, type SatrushPluginAccounts, type SatrushPluginInstructions, type SatrushPluginPdas, type SatrushPluginRequirements, type SatsClaimed, type SatsClaimedArgs, type SatsVault, type SatsVaultArgs, type SealEpochPageAsyncInput, type SealEpochPageInput, type SealEpochPageInstruction, type SealEpochPageInstructionData, type SealEpochPageInstructionDataArgs, type SelectEpochWinnerAsyncInput, type SelectEpochWinnerInput, type SelectEpochWinnerInstruction, type SelectEpochWinnerInstructionData, type SelectEpochWinnerInstructionDataArgs, type SettleDeployPublicAsyncInput, type SettleDeployPublicInput, type SettleDeployPublicInstruction, type SettleDeployPublicInstructionData, type SettleDeployPublicInstructionDataArgs, type SwapEpochStakeAsyncInput, type SwapEpochStakeInput, type SwapEpochStakeInstruction, type SwapEpochStakeInstructionData, type SwapEpochStakeInstructionDataArgs, type SwapOneBtcStakeAsyncInput, type SwapOneBtcStakeInput, type SwapOneBtcStakeInstruction, type SwapOneBtcStakeInstructionData, type SwapOneBtcStakeInstructionDataArgs, type SwapRoundStakeAsyncInput, type SwapRoundStakeInput, type SwapRoundStakeInstruction, type SwapRoundStakeInstructionData, type SwapRoundStakeInstructionDataArgs, type SwapStrikeStakeAsyncInput, type SwapStrikeStakeInput, type SwapStrikeStakeInstruction, type SwapStrikeStakeInstructionData, type SwapStrikeStakeInstructionDataArgs, TILE_COUNT, TOP_UP_PUBLIC_AUTOMATION_DISCRIMINATOR, TREASURY_DISCRIMINATOR, TRIGGER_EPOCH_DRAW_DISCRIMINATOR, TRIGGER_ONE_BTC_DRAW_DISCRIMINATOR, type TileStake, type TileStakeArgs, type TopUpPublicAutomationAsyncInput, type TopUpPublicAutomationInput, type TopUpPublicAutomationInstruction, type TopUpPublicAutomationInstructionData, type TopUpPublicAutomationInstructionDataArgs, type Treasury, type TreasuryArgs, type TriggerEpochDrawAsyncInput, type TriggerEpochDrawInput, type TriggerEpochDrawInstruction, type TriggerEpochDrawInstructionData, type TriggerEpochDrawInstructionDataArgs, type TriggerOneBtcDrawAsyncInput, type TriggerOneBtcDrawInput, type TriggerOneBtcDrawInstruction, type TriggerOneBtcDrawInstructionData, type TriggerOneBtcDrawInstructionDataArgs, UPDATE_BOARD_ROUND_DURATION_DISCRIMINATOR, UPDATE_DEPLOYMENT_SETTLE_GRACE_DURATION_DISCRIMINATOR, UPDATE_EPOCH_VAULT_ITERATION_DURATION_DISCRIMINATOR, UPDATE_MIN_DEPLOY_USD_AMOUNT_DISCRIMINATOR, UPDATE_UNCLAIMED_HASHRATE_BPS_DISCRIMINATOR, type UpdateBoardRoundDurationAsyncInput, type UpdateBoardRoundDurationInput, type UpdateBoardRoundDurationInstruction, type UpdateBoardRoundDurationInstructionData, type UpdateBoardRoundDurationInstructionDataArgs, type UpdateDeploymentSettleGraceDurationAsyncInput, type UpdateDeploymentSettleGraceDurationInput, type UpdateDeploymentSettleGraceDurationInstruction, type UpdateDeploymentSettleGraceDurationInstructionData, type UpdateDeploymentSettleGraceDurationInstructionDataArgs, type UpdateEpochVaultIterationDurationAsyncInput, type UpdateEpochVaultIterationDurationInput, type UpdateEpochVaultIterationDurationInstruction, type UpdateEpochVaultIterationDurationInstructionData, type UpdateEpochVaultIterationDurationInstructionDataArgs, type UpdateMinDeployUsdAmountAsyncInput, type UpdateMinDeployUsdAmountInput, type UpdateMinDeployUsdAmountInstruction, type UpdateMinDeployUsdAmountInstructionData, type UpdateMinDeployUsdAmountInstructionDataArgs, type UpdateUnclaimedHashrateBpsAsyncInput, type UpdateUnclaimedHashrateBpsInput, type UpdateUnclaimedHashrateBpsInstruction, type UpdateUnclaimedHashrateBpsInstructionData, type UpdateUnclaimedHashrateBpsInstructionDataArgs, WITHDRAW_PROTOCOL_FEES_DISCRIMINATOR, type Winner, type WinnerArgs, type WithdrawProtocolFeesAsyncInput, type WithdrawProtocolFeesInput, type WithdrawProtocolFeesInstruction, type WithdrawProtocolFeesInstructionData, type WithdrawProtocolFeesInstructionDataArgs, btcToSats, buildCancelPublicAutomationInstruction, buildClaimSatsInstruction, buildClaimUsdInstruction, buildCreatePublicAutomationInstruction, buildDeployPublicInstruction, buildExecutePublicAutomationInstruction, buildSettleDeployPublicInstruction, buildTopUpPublicAutomationInstruction, decodeBoard, decodeEpochVault, decodeEpochVaultEntry, decodeEpochVaultIteration, decodeEpochVaultPage, decodeMiner, decodeOneBtcVault, decodeOneBtcVaultEntry, decodeOneBtcVaultIteration, decodePublicAutomation, decodePublicDeployment, decodeRound, decodeSatrushConfig, decodeSatsVault, decodeTreasury, fetchAllBoard, fetchAllEpochVault, fetchAllEpochVaultEntry, fetchAllEpochVaultIteration, fetchAllEpochVaultPage, fetchAllMaybeBoard, fetchAllMaybeEpochVault, fetchAllMaybeEpochVaultEntry, fetchAllMaybeEpochVaultIteration, fetchAllMaybeEpochVaultPage, fetchAllMaybeMiner, fetchAllMaybeOneBtcVault, fetchAllMaybeOneBtcVaultEntry, fetchAllMaybeOneBtcVaultIteration, fetchAllMaybePublicAutomation, fetchAllMaybePublicDeployment, fetchAllMaybeRound, fetchAllMaybeSatrushConfig, fetchAllMaybeSatsVault, fetchAllMaybeTreasury, fetchAllMiner, fetchAllOneBtcVault, fetchAllOneBtcVaultEntry, fetchAllOneBtcVaultIteration, fetchAllPublicAutomation, fetchAllPublicDeployment, fetchAllRound, fetchAllSatrushConfig, fetchAllSatsVault, fetchAllTreasury, fetchBoard, fetchEpochVault, fetchEpochVaultEntry, fetchEpochVaultIteration, fetchEpochVaultPage, fetchMaybeBoard, fetchMaybeEpochVault, fetchMaybeEpochVaultEntry, fetchMaybeEpochVaultIteration, fetchMaybeEpochVaultPage, fetchMaybeMiner, fetchMaybeOneBtcVault, fetchMaybeOneBtcVaultEntry, fetchMaybeOneBtcVaultIteration, fetchMaybePublicAutomation, fetchMaybePublicDeployment, fetchMaybeRound, fetchMaybeSatrushConfig, fetchMaybeSatsVault, fetchMaybeTreasury, fetchMiner, fetchOneBtcVault, fetchOneBtcVaultEntry, fetchOneBtcVaultIteration, fetchPublicAutomation, fetchPublicDeployment, fetchRound, fetchSatrushConfig, fetchSatsVault, fetchTreasury, findBoardPda, findEpochVaultIterationPda, findEpochVaultPda, findInitialRoundPda, findMinerPda, findNextRoundPda, findOneBtcVaultIterationPda, findOneBtcVaultPda, findPublicAutomationPda, findSatrushConfigPda, findSatsVaultPda, findTreasuryPda, getAutomationStrategyCodec, getAutomationStrategyDecoder, getAutomationStrategyEncoder, getBoardAddress, getBoardCodec, getBoardDecoder, getBoardDiscriminatorBytes, getBoardEncoder, getBoardSize, getBuyEpochTicketsDiscriminatorBytes, getBuyEpochTicketsInstruction, getBuyEpochTicketsInstructionAsync, getBuyEpochTicketsInstructionDataCodec, getBuyEpochTicketsInstructionDataDecoder, getBuyEpochTicketsInstructionDataEncoder, getBuyOneBtcTicketsDiscriminatorBytes, getBuyOneBtcTicketsInstruction, getBuyOneBtcTicketsInstructionAsync, getBuyOneBtcTicketsInstructionDataCodec, getBuyOneBtcTicketsInstructionDataDecoder, getBuyOneBtcTicketsInstructionDataEncoder, getCancelPublicAutomationDiscriminatorBytes, getCancelPublicAutomationInstruction, getCancelPublicAutomationInstructionAsync, getCancelPublicAutomationInstructionDataCodec, getCancelPublicAutomationInstructionDataDecoder, getCancelPublicAutomationInstructionDataEncoder, getClaimEpochRewardDiscriminatorBytes, getClaimEpochRewardInstruction, getClaimEpochRewardInstructionAsync, getClaimEpochRewardInstructionDataCodec, getClaimEpochRewardInstructionDataDecoder, getClaimEpochRewardInstructionDataEncoder, getClaimOneBtcRewardDiscriminatorBytes, getClaimOneBtcRewardInstruction, getClaimOneBtcRewardInstructionAsync, getClaimOneBtcRewardInstructionDataCodec, getClaimOneBtcRewardInstructionDataDecoder, getClaimOneBtcRewardInstructionDataEncoder, getClaimSatsDiscriminatorBytes, getClaimSatsInstruction, getClaimSatsInstructionAsync, getClaimSatsInstructionDataCodec, getClaimSatsInstructionDataDecoder, getClaimSatsInstructionDataEncoder, getClaimUsdDiscriminatorBytes, getClaimUsdInstruction, getClaimUsdInstructionAsync, getClaimUsdInstructionDataCodec, getClaimUsdInstructionDataDecoder, getClaimUsdInstructionDataEncoder, getCloseEpochEntryDiscriminatorBytes, getCloseEpochEntryInstruction, getCloseEpochEntryInstructionAsync, getCloseEpochEntryInstructionDataCodec, getCloseEpochEntryInstructionDataDecoder, getCloseEpochEntryInstructionDataEncoder, getCloseEpochIterationDiscriminatorBytes, getCloseEpochIterationInstruction, getCloseEpochIterationInstructionAsync, getCloseEpochIterationInstructionDataCodec, getCloseEpochIterationInstructionDataDecoder, getCloseEpochIterationInstructionDataEncoder, getCloseEpochPageDiscriminatorBytes, getCloseEpochPageInstruction, getCloseEpochPageInstructionAsync, getCloseEpochPageInstructionDataCodec, getCloseEpochPageInstructionDataDecoder, getCloseEpochPageInstructionDataEncoder, getCloseOneBtcIterationDiscriminatorBytes, getCloseOneBtcIterationInstruction, getCloseOneBtcIterationInstructionAsync, getCloseOneBtcIterationInstructionDataCodec, getCloseOneBtcIterationInstructionDataDecoder, getCloseOneBtcIterationInstructionDataEncoder, getCloseOneBtcTicketDiscriminatorBytes, getCloseOneBtcTicketInstruction, getCloseOneBtcTicketInstructionDataCodec, getCloseOneBtcTicketInstructionDataDecoder, getCloseOneBtcTicketInstructionDataEncoder, getCloseRoundDiscriminatorBytes, getCloseRoundInstruction, getCloseRoundInstructionAsync, getCloseRoundInstructionDataCodec, getCloseRoundInstructionDataDecoder, getCloseRoundInstructionDataEncoder, getCreateBoardDiscriminatorBytes, getCreateBoardInstruction, getCreateBoardInstructionAsync, getCreateBoardInstructionDataCodec, getCreateBoardInstructionDataDecoder, getCreateBoardInstructionDataEncoder, getCreateEpochVaultDiscriminatorBytes, getCreateEpochVaultInstruction, getCreateEpochVaultInstructionAsync, getCreateEpochVaultInstructionDataCodec, getCreateEpochVaultInstructionDataDecoder, getCreateEpochVaultInstructionDataEncoder, getCreateOneBtcVaultDiscriminatorBytes, getCreateOneBtcVaultInstruction, getCreateOneBtcVaultInstructionAsync, getCreateOneBtcVaultInstructionDataCodec, getCreateOneBtcVaultInstructionDataDecoder, getCreateOneBtcVaultInstructionDataEncoder, getCreatePublicAutomationDiscriminatorBytes, getCreatePublicAutomationInstruction, getCreatePublicAutomationInstructionAsync, getCreatePublicAutomationInstructionDataCodec, getCreatePublicAutomationInstructionDataDecoder, getCreatePublicAutomationInstructionDataEncoder, getCreateSatrushConfigDiscriminatorBytes, getCreateSatrushConfigInstruction, getCreateSatrushConfigInstructionAsync, getCreateSatrushConfigInstructionDataCodec, getCreateSatrushConfigInstructionDataDecoder, getCreateSatrushConfigInstructionDataEncoder, getCreateSatsVaultDiscriminatorBytes, getCreateSatsVaultInstruction, getCreateSatsVaultInstructionAsync, getCreateSatsVaultInstructionDataCodec, getCreateSatsVaultInstructionDataDecoder, getCreateSatsVaultInstructionDataEncoder, getCreateTreasuryDiscriminatorBytes, getCreateTreasuryInstruction, getCreateTreasuryInstructionAsync, getCreateTreasuryInstructionDataCodec, getCreateTreasuryInstructionDataDecoder, getCreateTreasuryInstructionDataEncoder, getDeployPublicDiscriminatorBytes, getDeployPublicInstruction, getDeployPublicInstructionAsync, getDeployPublicInstructionDataCodec, getDeployPublicInstructionDataDecoder, getDeployPublicInstructionDataEncoder, getEpochDrawTriggeredCodec, getEpochDrawTriggeredDecoder, getEpochDrawTriggeredEncoder, getEpochStateCodec, getEpochStateDecoder, getEpochStateEncoder, getEpochTicketsBoughtCodec, getEpochTicketsBoughtDecoder, getEpochTicketsBoughtEncoder, getEpochVaultAddress, getEpochVaultCodec, getEpochVaultDecoder, getEpochVaultDiscriminatorBytes, getEpochVaultEncoder, getEpochVaultEntryAddress, getEpochVaultEntryCodec, getEpochVaultEntryDecoder, getEpochVaultEntryDiscriminatorBytes, getEpochVaultEntryEncoder, getEpochVaultEntrySize, getEpochVaultIterationAddress, getEpochVaultIterationCodec, getEpochVaultIterationDecoder, getEpochVaultIterationDiscriminatorBytes, getEpochVaultIterationEncoder, getEpochVaultIterationSize, getEpochVaultPageAddress, getEpochVaultPageCodec, getEpochVaultPageDecoder, getEpochVaultPageDiscriminatorBytes, getEpochVaultPageEncoder, getEpochVaultPageSize, getEpochVaultSize, getEpochWinnerSelectedCodec, getEpochWinnerSelectedDecoder, getEpochWinnerSelectedEncoder, getEventAuthorityAddress, getExecutePublicAutomationDiscriminatorBytes, getExecutePublicAutomationInstruction, getExecutePublicAutomationInstructionAsync, getExecutePublicAutomationInstructionDataCodec, getExecutePublicAutomationInstructionDataDecoder, getExecutePublicAutomationInstructionDataEncoder, getHashrateTicketsCount, getHashrateUiAmount, getMinerAddress, getMinerCodec, getMinerDecoder, getMinerDiscriminatorBytes, getMinerEncoder, getMinerSize, getOneBtcDrawTriggeredCodec, getOneBtcDrawTriggeredDecoder, getOneBtcDrawTriggeredEncoder, getOneBtcStateCodec, getOneBtcStateDecoder, getOneBtcStateEncoder, getOneBtcTicketsBoughtCodec, getOneBtcTicketsBoughtDecoder, getOneBtcTicketsBoughtEncoder, getOneBtcVaultAddress, getOneBtcVaultCodec, getOneBtcVaultDecoder, getOneBtcVaultDiscriminatorBytes, getOneBtcVaultEncoder, getOneBtcVaultEntryCodec, getOneBtcVaultEntryDecoder, getOneBtcVaultEntryDiscriminatorBytes, getOneBtcVaultEntryEncoder, getOneBtcVaultEntrySize, getOneBtcVaultIterationAddress, getOneBtcVaultIterationCodec, getOneBtcVaultIterationDecoder, getOneBtcVaultIterationDiscriminatorBytes, getOneBtcVaultIterationEncoder, getOneBtcVaultIterationSize, getOneBtcVaultSize, getPageEntryCodec, getPageEntryDecoder, getPageEntryEncoder, getPublicAutomationAddress, getPublicAutomationCodec, getPublicAutomationDecoder, getPublicAutomationDiscriminatorBytes, getPublicAutomationEncoder, getPublicAutomationSize, getPublicDeploySettledCodec, getPublicDeploySettledDecoder, getPublicDeploySettledEncoder, getPublicDeploymentAddress, getPublicDeploymentCodec, getPublicDeploymentDecoder, getPublicDeploymentDiscriminatorBytes, getPublicDeploymentEncoder, getRotateRoundDiscriminatorBytes, getRotateRoundInstruction, getRotateRoundInstructionAsync, getRotateRoundInstructionDataCodec, getRotateRoundInstructionDataDecoder, getRotateRoundInstructionDataEncoder, getRoundAddress, getRoundCodec, getRoundDecoder, getRoundDiscriminatorBytes, getRoundEncoder, getRoundRevealedCodec, getRoundRevealedDecoder, getRoundRevealedEncoder, getRoundStakeSwappedCodec, getRoundStakeSwappedDecoder, getRoundStakeSwappedEncoder, getRoundStateCodec, getRoundStateDecoder, getRoundStateEncoder, getSatrushConfigAddress, getSatrushConfigCodec, getSatrushConfigDecoder, getSatrushConfigDiscriminatorBytes, getSatrushConfigEncoder, getSatrushConfigSize, getSatrushErrorMessage, getSatsClaimedCodec, getSatsClaimedDecoder, getSatsClaimedEncoder, getSatsVaultAddress, getSatsVaultCodec, getSatsVaultDecoder, getSatsVaultDiscriminatorBytes, getSatsVaultEncoder, getSatsVaultSize, getSealEpochPageDiscriminatorBytes, getSealEpochPageInstruction, getSealEpochPageInstructionAsync, getSealEpochPageInstructionDataCodec, getSealEpochPageInstructionDataDecoder, getSealEpochPageInstructionDataEncoder, getSelectEpochWinnerDiscriminatorBytes, getSelectEpochWinnerInstruction, getSelectEpochWinnerInstructionAsync, getSelectEpochWinnerInstructionDataCodec, getSelectEpochWinnerInstructionDataDecoder, getSelectEpochWinnerInstructionDataEncoder, getSettleDeployPublicDiscriminatorBytes, getSettleDeployPublicInstruction, getSettleDeployPublicInstructionAsync, getSettleDeployPublicInstructionDataCodec, getSettleDeployPublicInstructionDataDecoder, getSettleDeployPublicInstructionDataEncoder, getSwapEpochStakeDiscriminatorBytes, getSwapEpochStakeInstruction, getSwapEpochStakeInstructionAsync, getSwapEpochStakeInstructionDataCodec, getSwapEpochStakeInstructionDataDecoder, getSwapEpochStakeInstructionDataEncoder, getSwapOneBtcStakeDiscriminatorBytes, getSwapOneBtcStakeInstruction, getSwapOneBtcStakeInstructionAsync, getSwapOneBtcStakeInstructionDataCodec, getSwapOneBtcStakeInstructionDataDecoder, getSwapOneBtcStakeInstructionDataEncoder, getSwapRoundStakeDiscriminatorBytes, getSwapRoundStakeInstruction, getSwapRoundStakeInstructionAsync, getSwapRoundStakeInstructionDataCodec, getSwapRoundStakeInstructionDataDecoder, getSwapRoundStakeInstructionDataEncoder, getSwapStrikeStakeDiscriminatorBytes, getSwapStrikeStakeInstruction, getSwapStrikeStakeInstructionAsync, getSwapStrikeStakeInstructionDataCodec, getSwapStrikeStakeInstructionDataDecoder, getSwapStrikeStakeInstructionDataEncoder, getTileStakeCodec, getTileStakeDecoder, getTileStakeEncoder, getTopUpPublicAutomationDiscriminatorBytes, getTopUpPublicAutomationInstruction, getTopUpPublicAutomationInstructionAsync, getTopUpPublicAutomationInstructionDataCodec, getTopUpPublicAutomationInstructionDataDecoder, getTopUpPublicAutomationInstructionDataEncoder, getTreasuryAddress, getTreasuryCodec, getTreasuryDecoder, getTreasuryDiscriminatorBytes, getTreasuryEncoder, getTreasurySize, getTriggerEpochDrawDiscriminatorBytes, getTriggerEpochDrawInstruction, getTriggerEpochDrawInstructionAsync, getTriggerEpochDrawInstructionDataCodec, getTriggerEpochDrawInstructionDataDecoder, getTriggerEpochDrawInstructionDataEncoder, getTriggerOneBtcDrawDiscriminatorBytes, getTriggerOneBtcDrawInstruction, getTriggerOneBtcDrawInstructionAsync, getTriggerOneBtcDrawInstructionDataCodec, getTriggerOneBtcDrawInstructionDataDecoder, getTriggerOneBtcDrawInstructionDataEncoder, getUpdateBoardRoundDurationDiscriminatorBytes, getUpdateBoardRoundDurationInstruction, getUpdateBoardRoundDurationInstructionAsync, getUpdateBoardRoundDurationInstructionDataCodec, getUpdateBoardRoundDurationInstructionDataDecoder, getUpdateBoardRoundDurationInstructionDataEncoder, getUpdateDeploymentSettleGraceDurationDiscriminatorBytes, getUpdateDeploymentSettleGraceDurationInstruction, getUpdateDeploymentSettleGraceDurationInstructionAsync, getUpdateDeploymentSettleGraceDurationInstructionDataCodec, getUpdateDeploymentSettleGraceDurationInstructionDataDecoder, getUpdateDeploymentSettleGraceDurationInstructionDataEncoder, getUpdateEpochVaultIterationDurationDiscriminatorBytes, getUpdateEpochVaultIterationDurationInstruction, getUpdateEpochVaultIterationDurationInstructionAsync, getUpdateEpochVaultIterationDurationInstructionDataCodec, getUpdateEpochVaultIterationDurationInstructionDataDecoder, getUpdateEpochVaultIterationDurationInstructionDataEncoder, getUpdateMinDeployUsdAmountDiscriminatorBytes, getUpdateMinDeployUsdAmountInstruction, getUpdateMinDeployUsdAmountInstructionAsync, getUpdateMinDeployUsdAmountInstructionDataCodec, getUpdateMinDeployUsdAmountInstructionDataDecoder, getUpdateMinDeployUsdAmountInstructionDataEncoder, getUpdateUnclaimedHashrateBpsDiscriminatorBytes, getUpdateUnclaimedHashrateBpsInstruction, getUpdateUnclaimedHashrateBpsInstructionAsync, getUpdateUnclaimedHashrateBpsInstructionDataCodec, getUpdateUnclaimedHashrateBpsInstructionDataDecoder, getUpdateUnclaimedHashrateBpsInstructionDataEncoder, getWinnerCodec, getWinnerDecoder, getWinnerEncoder, getWithdrawProtocolFeesDiscriminatorBytes, getWithdrawProtocolFeesInstruction, getWithdrawProtocolFeesInstructionAsync, getWithdrawProtocolFeesInstructionDataCodec, getWithdrawProtocolFeesInstructionDataDecoder, getWithdrawProtocolFeesInstructionDataEncoder, hashrateReward, identifySatrushAccount, identifySatrushInstruction, isSatrushError, nextStreakMultiplier, parseBuyEpochTicketsInstruction, parseBuyOneBtcTicketsInstruction, parseCancelPublicAutomationInstruction, parseClaimEpochRewardInstruction, parseClaimOneBtcRewardInstruction, parseClaimSatsInstruction, parseClaimUsdInstruction, parseCloseEpochEntryInstruction, parseCloseEpochIterationInstruction, parseCloseEpochPageInstruction, parseCloseOneBtcIterationInstruction, parseCloseOneBtcTicketInstruction, parseCloseRoundInstruction, parseCreateBoardInstruction, parseCreateEpochVaultInstruction, parseCreateOneBtcVaultInstruction, parseCreatePublicAutomationInstruction, parseCreateSatrushConfigInstruction, parseCreateSatsVaultInstruction, parseCreateTreasuryInstruction, parseDeployPublicInstruction, parseExecutePublicAutomationInstruction, parseRotateRoundInstruction, parseSatrushInstruction, parseSealEpochPageInstruction, parseSelectEpochWinnerInstruction, parseSettleDeployPublicInstruction, parseSwapEpochStakeInstruction, parseSwapOneBtcStakeInstruction, parseSwapRoundStakeInstruction, parseSwapStrikeStakeInstruction, parseTopUpPublicAutomationInstruction, parseTriggerEpochDrawInstruction, parseTriggerOneBtcDrawInstruction, parseUpdateBoardRoundDurationInstruction, parseUpdateDeploymentSettleGraceDurationInstruction, parseUpdateEpochVaultIterationDurationInstruction, parseUpdateMinDeployUsdAmountInstruction, parseUpdateUnclaimedHashrateBpsInstruction, parseWithdrawProtocolFeesInstruction, satrushProgram, satsToBtc, selectionMaskFromTiles, tilesFromSelectionMask };