@satrush/client 0.1.4 → 0.1.5

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.mts 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
  /**
@@ -521,6 +531,42 @@ declare function getRoundStateEncoder(): FixedSizeEncoder<RoundStateArgs>;
521
531
  declare function getRoundStateDecoder(): FixedSizeDecoder<RoundState>;
522
532
  declare function getRoundStateCodec(): FixedSizeCodec<RoundStateArgs, RoundState>;
523
533
 
534
+ /**
535
+ * This code was AUTOGENERATED using the Codama library.
536
+ * Please DO NOT EDIT THIS FILE, instead use visitors
537
+ * to add features, then rerun Codama to update it.
538
+ *
539
+ * @see https://github.com/codama-idl/codama
540
+ */
541
+
542
+ type SatsClaimed = {
543
+ authority: Address;
544
+ /** Shares burned by this claim. */
545
+ claimedShares: bigint;
546
+ /** Net BTC transferred to the miner (after the vault claim fee). */
547
+ btcReceived: bigint;
548
+ /**
549
+ * Unclaimed hashrate converted into `hashrate_amount`, proportional to
550
+ * the share of the balance claimed.
551
+ */
552
+ claimedHashrate: bigint;
553
+ };
554
+ type SatsClaimedArgs = {
555
+ authority: Address;
556
+ /** Shares burned by this claim. */
557
+ claimedShares: number | bigint;
558
+ /** Net BTC transferred to the miner (after the vault claim fee). */
559
+ btcReceived: number | bigint;
560
+ /**
561
+ * Unclaimed hashrate converted into `hashrate_amount`, proportional to
562
+ * the share of the balance claimed.
563
+ */
564
+ claimedHashrate: number | bigint;
565
+ };
566
+ declare function getSatsClaimedEncoder(): FixedSizeEncoder<SatsClaimedArgs>;
567
+ declare function getSatsClaimedDecoder(): FixedSizeDecoder<SatsClaimed>;
568
+ declare function getSatsClaimedCodec(): FixedSizeCodec<SatsClaimedArgs, SatsClaimed>;
569
+
524
570
  /**
525
571
  * This code was AUTOGENERATED using the Codama library.
526
572
  * Please DO NOT EDIT THIS FILE, instead use visitors
@@ -754,12 +800,21 @@ type Miner = {
754
800
  unclaimedUsdAmount: bigint;
755
801
  /** Amount of unclaimed btc shares in Sats Vault */
756
802
  unclaimedBtcShares: bigint;
757
- /** Amount of accumulated hashrate points */
803
+ /**
804
+ * Amount of accumulated hashrate points, in raw units with 2 display
805
+ * decimals (`HASHRATE_DECIMALS`): raw 101 = 1.01 points.
806
+ */
758
807
  hashrateAmount: bigint;
759
808
  /** Amount of consequential rounds played */
760
809
  currentStreakCount: number;
761
810
  /** Last played round id */
762
811
  lastMinedRoundId: number;
812
+ /**
813
+ * Deferred hashrate bonus (same raw units as `hashrate_amount`), accrued
814
+ * at settle as a bps share of the play's reward; converts into
815
+ * `hashrate_amount` share-proportionally on `claim_sats`.
816
+ */
817
+ unclaimedHashrate: bigint;
763
818
  /** Reserved */
764
819
  reserved: ReadonlyUint8Array;
765
820
  };
@@ -774,12 +829,21 @@ type MinerArgs = {
774
829
  unclaimedUsdAmount: number | bigint;
775
830
  /** Amount of unclaimed btc shares in Sats Vault */
776
831
  unclaimedBtcShares: number | bigint;
777
- /** Amount of accumulated hashrate points */
832
+ /**
833
+ * Amount of accumulated hashrate points, in raw units with 2 display
834
+ * decimals (`HASHRATE_DECIMALS`): raw 101 = 1.01 points.
835
+ */
778
836
  hashrateAmount: number | bigint;
779
837
  /** Amount of consequential rounds played */
780
838
  currentStreakCount: number;
781
839
  /** Last played round id */
782
840
  lastMinedRoundId: number;
841
+ /**
842
+ * Deferred hashrate bonus (same raw units as `hashrate_amount`), accrued
843
+ * at settle as a bps share of the play's reward; converts into
844
+ * `hashrate_amount` share-proportionally on `claim_sats`.
845
+ */
846
+ unclaimedHashrate: number | bigint;
783
847
  /** Reserved */
784
848
  reserved: ReadonlyUint8Array;
785
849
  };
@@ -987,12 +1051,19 @@ type PublicAutomation = {
987
1051
  /** Whether settled USD winnings reload `remaining_usd_amount`. */
988
1052
  reload: boolean;
989
1053
  /**
990
- * Gross deploy size per round; fee legs are charged on top of it from the
991
- * balance, matching manual deploy semantics.
1054
+ * Gross deploy size per round; all fee legs are deducted from it, so it is
1055
+ * exactly what the balance parts with, matching manual deploy semantics.
992
1056
  */
993
1057
  perRoundUsdAmount: bigint;
994
1058
  /** Escrowed funds still available; mirrors the automation's USD ATA. */
995
1059
  remainingUsdAmount: bigint;
1060
+ /**
1061
+ * Lifetime gross USD debited by executes. Only executes move it, and each
1062
+ * debits exactly `per_round_usd_amount` (immutable), so rounds played =
1063
+ * `total_spent_usd_amount / per_round_usd_amount` without indexing.
1064
+ * Carved out of `reserved`, so pre-existing accounts read 0.
1065
+ */
1066
+ totalSpentUsdAmount: bigint;
996
1067
  /** Reserved. */
997
1068
  reserved: ReadonlyUint8Array;
998
1069
  };
@@ -1016,12 +1087,19 @@ type PublicAutomationArgs = {
1016
1087
  /** Whether settled USD winnings reload `remaining_usd_amount`. */
1017
1088
  reload: boolean;
1018
1089
  /**
1019
- * Gross deploy size per round; fee legs are charged on top of it from the
1020
- * balance, matching manual deploy semantics.
1090
+ * Gross deploy size per round; all fee legs are deducted from it, so it is
1091
+ * exactly what the balance parts with, matching manual deploy semantics.
1021
1092
  */
1022
1093
  perRoundUsdAmount: number | bigint;
1023
1094
  /** Escrowed funds still available; mirrors the automation's USD ATA. */
1024
1095
  remainingUsdAmount: number | bigint;
1096
+ /**
1097
+ * Lifetime gross USD debited by executes. Only executes move it, and each
1098
+ * debits exactly `per_round_usd_amount` (immutable), so rounds played =
1099
+ * `total_spent_usd_amount / per_round_usd_amount` without indexing.
1100
+ * Carved out of `reserved`, so pre-existing accounts read 0.
1101
+ */
1102
+ totalSpentUsdAmount: number | bigint;
1025
1103
  /** Reserved. */
1026
1104
  reserved: ReadonlyUint8Array;
1027
1105
  };
@@ -1059,8 +1137,10 @@ type PublicDeployment = {
1059
1137
  authority: Address;
1060
1138
  /** Deployment round id. */
1061
1139
  roundId: number;
1062
- /** Amount of deployed USD after protocol fees. */
1140
+ /** Gross USD amount the user provided at deploy time, before the fees */
1063
1141
  deployedUsdAmount: bigint;
1142
+ /** Total USD stake after protocol fees are taken. */
1143
+ totalStakeUsdAmount: bigint;
1064
1144
  /** 21-bit selection mask */
1065
1145
  selectionMask: number;
1066
1146
  /**
@@ -1068,7 +1148,7 @@ type PublicDeployment = {
1068
1148
  * the reward reflects the streak this play earned, not the miner's live
1069
1149
  * streak (which advances on later deploys).
1070
1150
  */
1071
- streakSnapshot: number;
1151
+ streakMultiplier: number;
1072
1152
  /**
1073
1153
  * `PublicAutomation` PDA that created this deployment, or `None` for
1074
1154
  * manual deploys. Settlement reads it to route USD winnings and rent.
@@ -1086,8 +1166,10 @@ type PublicDeploymentArgs = {
1086
1166
  authority: Address;
1087
1167
  /** Deployment round id. */
1088
1168
  roundId: number;
1089
- /** Amount of deployed USD after protocol fees. */
1169
+ /** Gross USD amount the user provided at deploy time, before the fees */
1090
1170
  deployedUsdAmount: number | bigint;
1171
+ /** Total USD stake after protocol fees are taken. */
1172
+ totalStakeUsdAmount: number | bigint;
1091
1173
  /** 21-bit selection mask */
1092
1174
  selectionMask: number;
1093
1175
  /**
@@ -1095,7 +1177,7 @@ type PublicDeploymentArgs = {
1095
1177
  * the reward reflects the streak this play earned, not the miner's live
1096
1178
  * streak (which advances on later deploys).
1097
1179
  */
1098
- streakSnapshot: number;
1180
+ streakMultiplier: number;
1099
1181
  /**
1100
1182
  * `PublicAutomation` PDA that created this deployment, or `None` for
1101
1183
  * manual deploys. Settlement reads it to route USD winnings and rent.
@@ -1137,8 +1219,8 @@ type Round = {
1137
1219
  id: number;
1138
1220
  /** Round state */
1139
1221
  state: RoundState;
1140
- /** Entropy value, derived from the slot hashes */
1141
- entropy: ReadonlyUint8Array;
1222
+ /** Raw blockhash entropy, read from the SlotHashes sysvar at reveal. */
1223
+ blockhashEntropy: ReadonlyUint8Array;
1142
1224
  /** Winning tile index, revealed upon settlement */
1143
1225
  winningTile: Option<number>;
1144
1226
  /** Total net USD deployed into the round before the USD->BTC swap */
@@ -1151,12 +1233,7 @@ type Round = {
1151
1233
  deployedUsdOnWinningTileAmount: bigint;
1152
1234
  /** Total amount of players in the round */
1153
1235
  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
- */
1236
+ /** Number of miners whose selection is revealed. */
1160
1237
  revealedMinersCount: number;
1161
1238
  /** Total amount of winners, revealed during settlement */
1162
1239
  winnersCount: number;
@@ -1172,6 +1249,19 @@ type Round = {
1172
1249
  * tile's totals without a per-deployment settlement pass.
1173
1250
  */
1174
1251
  publicTileStakes: Array<TileStake>;
1252
+ /** Running hash-chain accumulator of every public deploy. */
1253
+ deployEntropyAcc: ReadonlyUint8Array;
1254
+ /** Slot at which the round reached `Settled` state. */
1255
+ settledAtSlot: bigint;
1256
+ /**
1257
+ * Epoch Vault fee accrued by this round's deploys, in USD base units.
1258
+ * Physically sits in the board's USD pool until swept at rotation.
1259
+ */
1260
+ pendingEpochFeeUsdAmount: bigint;
1261
+ /** 1 BTC Vault fee accrued by this round's deploys; same lifecycle. */
1262
+ pendingOneBtcFeeUsdAmount: bigint;
1263
+ /** Protocol (treasury) fee accrued by this round's deploys; same lifecycle. */
1264
+ pendingProtocolFeeUsdAmount: bigint;
1175
1265
  /** Reserved. */
1176
1266
  reserved: ReadonlyUint8Array;
1177
1267
  };
@@ -1184,8 +1274,8 @@ type RoundArgs = {
1184
1274
  id: number;
1185
1275
  /** Round state */
1186
1276
  state: RoundStateArgs;
1187
- /** Entropy value, derived from the slot hashes */
1188
- entropy: ReadonlyUint8Array;
1277
+ /** Raw blockhash entropy, read from the SlotHashes sysvar at reveal. */
1278
+ blockhashEntropy: ReadonlyUint8Array;
1189
1279
  /** Winning tile index, revealed upon settlement */
1190
1280
  winningTile: OptionOrNullable<number>;
1191
1281
  /** Total net USD deployed into the round before the USD->BTC swap */
@@ -1198,12 +1288,7 @@ type RoundArgs = {
1198
1288
  deployedUsdOnWinningTileAmount: number | bigint;
1199
1289
  /** Total amount of players in the round */
1200
1290
  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
- */
1291
+ /** Number of miners whose selection is revealed. */
1207
1292
  revealedMinersCount: number;
1208
1293
  /** Total amount of winners, revealed during settlement */
1209
1294
  winnersCount: number;
@@ -1219,6 +1304,19 @@ type RoundArgs = {
1219
1304
  * tile's totals without a per-deployment settlement pass.
1220
1305
  */
1221
1306
  publicTileStakes: Array<TileStakeArgs>;
1307
+ /** Running hash-chain accumulator of every public deploy. */
1308
+ deployEntropyAcc: ReadonlyUint8Array;
1309
+ /** Slot at which the round reached `Settled` state. */
1310
+ settledAtSlot: number | bigint;
1311
+ /**
1312
+ * Epoch Vault fee accrued by this round's deploys, in USD base units.
1313
+ * Physically sits in the board's USD pool until swept at rotation.
1314
+ */
1315
+ pendingEpochFeeUsdAmount: number | bigint;
1316
+ /** 1 BTC Vault fee accrued by this round's deploys; same lifecycle. */
1317
+ pendingOneBtcFeeUsdAmount: number | bigint;
1318
+ /** Protocol (treasury) fee accrued by this round's deploys; same lifecycle. */
1319
+ pendingProtocolFeeUsdAmount: number | bigint;
1222
1320
  /** Reserved. */
1223
1321
  reserved: ReadonlyUint8Array;
1224
1322
  };
@@ -1251,10 +1349,10 @@ type SatrushConfig = {
1251
1349
  version: number;
1252
1350
  /** Bump seed for the config account. */
1253
1351
  bump: number;
1254
- /** Current update authority address for both Config and other PDAs - can be updated. */
1255
- adminAuthority: Address;
1256
1352
  /** Owner of the program. Can change ownership and set the admin of the program. */
1257
1353
  ownerAuthority: Address;
1354
+ /** Current update authority address for both Config and other PDAs - can be updated. */
1355
+ adminAuthority: Address;
1258
1356
  /** Address of the authority controlling the round flow. */
1259
1357
  roundAuthority: Address;
1260
1358
  /** Protocol fees recipient address. */
@@ -1275,6 +1373,18 @@ type SatrushConfig = {
1275
1373
  satsVaultClaimFeeBps: number;
1276
1374
  /** Protocol fee in basis points. */
1277
1375
  protocolFeeBps: number;
1376
+ /** Share of each settled play's hashrate reward deferred until the sats claim in basis points. */
1377
+ unclaimedHashrateBps: number;
1378
+ /** Minimum gross deploy size per round, manual or automated, in USD mint (6 decimals). */
1379
+ minDeployUsdAmount: bigint;
1380
+ /** Epoch Vault iteration length in slots. */
1381
+ epochVaultIterationDuration: bigint;
1382
+ /**
1383
+ * Grace window, in slots after `Round::settled_at_slot`, during which
1384
+ * only the normal settle path applies; afterward stale deployments
1385
+ * become eligible for third-party cleanup
1386
+ */
1387
+ deploymentSettleGraceDuration: bigint;
1278
1388
  /** Reserved */
1279
1389
  reserved: ReadonlyUint8Array;
1280
1390
  };
@@ -1283,10 +1393,10 @@ type SatrushConfigArgs = {
1283
1393
  version: number;
1284
1394
  /** Bump seed for the config account. */
1285
1395
  bump: number;
1286
- /** Current update authority address for both Config and other PDAs - can be updated. */
1287
- adminAuthority: Address;
1288
1396
  /** Owner of the program. Can change ownership and set the admin of the program. */
1289
1397
  ownerAuthority: Address;
1398
+ /** Current update authority address for both Config and other PDAs - can be updated. */
1399
+ adminAuthority: Address;
1290
1400
  /** Address of the authority controlling the round flow. */
1291
1401
  roundAuthority: Address;
1292
1402
  /** Protocol fees recipient address. */
@@ -1307,6 +1417,18 @@ type SatrushConfigArgs = {
1307
1417
  satsVaultClaimFeeBps: number;
1308
1418
  /** Protocol fee in basis points. */
1309
1419
  protocolFeeBps: number;
1420
+ /** Share of each settled play's hashrate reward deferred until the sats claim in basis points. */
1421
+ unclaimedHashrateBps: number;
1422
+ /** Minimum gross deploy size per round, manual or automated, in USD mint (6 decimals). */
1423
+ minDeployUsdAmount: number | bigint;
1424
+ /** Epoch Vault iteration length in slots. */
1425
+ epochVaultIterationDuration: number | bigint;
1426
+ /**
1427
+ * Grace window, in slots after `Round::settled_at_slot`, during which
1428
+ * only the normal settle path applies; afterward stale deployments
1429
+ * become eligible for third-party cleanup
1430
+ */
1431
+ deploymentSettleGraceDuration: number | bigint;
1310
1432
  /** Reserved */
1311
1433
  reserved: ReadonlyUint8Array;
1312
1434
  };
@@ -1340,10 +1462,19 @@ type SatsVault = {
1340
1462
  version: number;
1341
1463
  /** PDA bump seed. */
1342
1464
  bump: number;
1343
- /** Total BTC backing outstanding shares. Mirrors `sats_vault_btc_ata.amount`. */
1465
+ /**
1466
+ * Total BTC backing outstanding shares. Together with `leftovers` it
1467
+ * mirrors the reserves: `sats_vault_btc_ata.amount == btc_amount + leftovers`.
1468
+ */
1344
1469
  btcAmount: bigint;
1345
1470
  /** Total shares issued against `btc_amount`. */
1346
1471
  btcShares: bigint;
1472
+ /**
1473
+ * BTC left behind by full drains (fees with no remaining holders). Sits in
1474
+ * `sats_vault_btc_ata` but backs no shares; claimable by the protocol.
1475
+ * Invariant: `sats_vault_btc_ata.amount == btc_amount + leftovers`.
1476
+ */
1477
+ leftovers: bigint;
1347
1478
  /** Reserved */
1348
1479
  reserved: ReadonlyUint8Array;
1349
1480
  };
@@ -1352,10 +1483,19 @@ type SatsVaultArgs = {
1352
1483
  version: number;
1353
1484
  /** PDA bump seed. */
1354
1485
  bump: number;
1355
- /** Total BTC backing outstanding shares. Mirrors `sats_vault_btc_ata.amount`. */
1486
+ /**
1487
+ * Total BTC backing outstanding shares. Together with `leftovers` it
1488
+ * mirrors the reserves: `sats_vault_btc_ata.amount == btc_amount + leftovers`.
1489
+ */
1356
1490
  btcAmount: number | bigint;
1357
1491
  /** Total shares issued against `btc_amount`. */
1358
1492
  btcShares: number | bigint;
1493
+ /**
1494
+ * BTC left behind by full drains (fees with no remaining holders). Sits in
1495
+ * `sats_vault_btc_ata` but backs no shares; claimable by the protocol.
1496
+ * Invariant: `sats_vault_btc_ata.amount == btc_amount + leftovers`.
1497
+ */
1498
+ leftovers: number | bigint;
1359
1499
  /** Reserved */
1360
1500
  reserved: ReadonlyUint8Array;
1361
1501
  };
@@ -1391,6 +1531,8 @@ type Treasury = {
1391
1531
  bump: number;
1392
1532
  /** USD protocol fees accrued and not yet withdrawn; mirrors the ATA balance. */
1393
1533
  pendingUsdAmount: bigint;
1534
+ /** BTC swept from no-winner rounds and not yet withdrawn; */
1535
+ pendingBtcAmount: bigint;
1394
1536
  /** Reserved. */
1395
1537
  reserved: ReadonlyUint8Array;
1396
1538
  };
@@ -1401,6 +1543,8 @@ type TreasuryArgs = {
1401
1543
  bump: number;
1402
1544
  /** USD protocol fees accrued and not yet withdrawn; mirrors the ATA balance. */
1403
1545
  pendingUsdAmount: number | bigint;
1546
+ /** BTC swept from no-winner rounds and not yet withdrawn; */
1547
+ pendingBtcAmount: number | bigint;
1404
1548
  /** Reserved. */
1405
1549
  reserved: ReadonlyUint8Array;
1406
1550
  };
@@ -1452,91 +1596,81 @@ declare const SATRUSH_ERROR__ALREADY_REVEALED = 6010;
1452
1596
  declare const SATRUSH_ERROR__INVALID_SLOT_HASH = 6011;
1453
1597
  /** RoundNotRevealed: Round winning tile has not been revealed yet */
1454
1598
  declare const SATRUSH_ERROR__ROUND_NOT_REVEALED = 6012;
1455
- /** AlreadySettled: Deployment has already been settled */
1456
- declare const SATRUSH_ERROR__ALREADY_SETTLED = 6013;
1599
+ /** RoundNotFinished: Round is not in the finished state */
1600
+ declare const SATRUSH_ERROR__ROUND_NOT_FINISHED = 6013;
1457
1601
  /** RoundNotSettled: Round is not in the settled state */
1458
1602
  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
1603
  /** InvalidSwapProgram: Swap program account does not match the configured swap program */
1466
- declare const SATRUSH_ERROR__INVALID_SWAP_PROGRAM = 6018;
1604
+ declare const SATRUSH_ERROR__INVALID_SWAP_PROGRAM = 6015;
1467
1605
  /** AlreadySwapped: Round stake has already been swapped into BTC */
1468
- declare const SATRUSH_ERROR__ALREADY_SWAPPED = 6019;
1606
+ declare const SATRUSH_ERROR__ALREADY_SWAPPED = 6016;
1469
1607
  /** SwapOverspent: Swap spent more USD than the budgeted amount */
1470
- declare const SATRUSH_ERROR__SWAP_OVERSPENT = 6020;
1608
+ declare const SATRUSH_ERROR__SWAP_OVERSPENT = 6017;
1471
1609
  /** 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;
1610
+ declare const SATRUSH_ERROR__SLIPPAGE_EXCEEDED = 6018;
1475
1611
  /** InvalidShareAmount: Share amount must be greater than zero */
1476
- declare const SATRUSH_ERROR__INVALID_SHARE_AMOUNT = 6023;
1612
+ declare const SATRUSH_ERROR__INVALID_SHARE_AMOUNT = 6019;
1477
1613
  /** InsufficientShares: Miner does not hold enough Sats Vault shares */
1478
- declare const SATRUSH_ERROR__INSUFFICIENT_SHARES = 6024;
1614
+ declare const SATRUSH_ERROR__INSUFFICIENT_SHARES = 6020;
1479
1615
  /** 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;
1616
+ declare const SATRUSH_ERROR__STRIKE_ALREADY_TRIGGERED = 6021;
1483
1617
  /** EpochNotOpen: Epoch iteration is not accepting ticket purchases */
1484
- declare const SATRUSH_ERROR__EPOCH_NOT_OPEN = 6027;
1618
+ declare const SATRUSH_ERROR__EPOCH_NOT_OPEN = 6022;
1485
1619
  /** 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;
1620
+ declare const SATRUSH_ERROR__EPOCH_WINDOW_NOT_ELAPSED = 6023;
1489
1621
  /** EpochNotSettling: Epoch iteration is not in the settling state */
1490
- declare const SATRUSH_ERROR__EPOCH_NOT_SETTLING = 6030;
1622
+ declare const SATRUSH_ERROR__EPOCH_NOT_SETTLING = 6024;
1491
1623
  /** EpochNotSettled: Epoch iteration is not in the settled state */
1492
- declare const SATRUSH_ERROR__EPOCH_NOT_SETTLED = 6031;
1624
+ declare const SATRUSH_ERROR__EPOCH_NOT_SETTLED = 6025;
1493
1625
  /** EpochInvalidPage: Supplied page does not contain the current winning ticket */
1494
- declare const SATRUSH_ERROR__EPOCH_INVALID_PAGE = 6032;
1626
+ declare const SATRUSH_ERROR__EPOCH_INVALID_PAGE = 6026;
1495
1627
  /** EpochNotAWinner: Signer is not a winner of this epoch draw */
1496
- declare const SATRUSH_ERROR__EPOCH_NOT_A_WINNER = 6033;
1628
+ declare const SATRUSH_ERROR__EPOCH_NOT_A_WINNER = 6027;
1497
1629
  /** EpochAlreadyClaimed: Epoch reward has already been claimed */
1498
- declare const SATRUSH_ERROR__EPOCH_ALREADY_CLAIMED = 6034;
1630
+ declare const SATRUSH_ERROR__EPOCH_ALREADY_CLAIMED = 6028;
1499
1631
  /** 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;
1632
+ declare const SATRUSH_ERROR__EPOCH_MAX_PARTICIPANTS = 6029;
1633
+ /** InvalidTicketsCount: Tickets count must be greater than zero */
1634
+ declare const SATRUSH_ERROR__INVALID_TICKETS_COUNT = 6030;
1503
1635
  /** InsufficientHashrate: Miner does not have enough hashrate */
1504
- declare const SATRUSH_ERROR__INSUFFICIENT_HASHRATE = 6037;
1636
+ declare const SATRUSH_ERROR__INSUFFICIENT_HASHRATE = 6031;
1505
1637
  /** OneBtcNotOpen: 1 BTC Vault iteration is not accepting ticket purchases */
1506
- declare const SATRUSH_ERROR__ONE_BTC_NOT_OPEN = 6038;
1638
+ declare const SATRUSH_ERROR__ONE_BTC_NOT_OPEN = 6032;
1507
1639
  /** 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;
1640
+ declare const SATRUSH_ERROR__ONE_BTC_NOT_SETTLED = 6033;
1511
1641
  /** OneBtcNotTriggerable: 1 BTC Vault has not accumulated enough BTC to trigger a draw */
1512
- declare const SATRUSH_ERROR__ONE_BTC_NOT_TRIGGERABLE = 6041;
1642
+ declare const SATRUSH_ERROR__ONE_BTC_NOT_TRIGGERABLE = 6034;
1513
1643
  /** OneBtcNoParticipants: 1 BTC Vault draw has no participants */
1514
- declare const SATRUSH_ERROR__ONE_BTC_NO_PARTICIPANTS = 6042;
1644
+ declare const SATRUSH_ERROR__ONE_BTC_NO_PARTICIPANTS = 6035;
1515
1645
  /** 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;
1646
+ declare const SATRUSH_ERROR__ONE_BTC_NOT_A_WINNER = 6036;
1519
1647
  /** OneBtcWinningTicketLocked: The winning ticket cannot be closed until the prize is claimed */
1520
- declare const SATRUSH_ERROR__ONE_BTC_WINNING_TICKET_LOCKED = 6045;
1648
+ declare const SATRUSH_ERROR__ONE_BTC_WINNING_TICKET_LOCKED = 6037;
1521
1649
  /** EpochPageAlreadySealed: Epoch page has already been sealed */
1522
- declare const SATRUSH_ERROR__EPOCH_PAGE_ALREADY_SEALED = 6046;
1650
+ declare const SATRUSH_ERROR__EPOCH_PAGE_ALREADY_SEALED = 6038;
1523
1651
  /** EpochPageNotSealed: Epoch page is not sealed yet */
1524
- declare const SATRUSH_ERROR__EPOCH_PAGE_NOT_SEALED = 6047;
1652
+ declare const SATRUSH_ERROR__EPOCH_PAGE_NOT_SEALED = 6039;
1525
1653
  /** EpochSealMismatch: Epoch sealed page chain does not reconcile with the iteration's ticket total */
1526
- declare const SATRUSH_ERROR__EPOCH_SEAL_MISMATCH = 6048;
1654
+ declare const SATRUSH_ERROR__EPOCH_SEAL_MISMATCH = 6040;
1527
1655
  /** TreasuryEmpty: Treasury has no accrued fees to withdraw */
1528
- declare const SATRUSH_ERROR__TREASURY_EMPTY = 6049;
1656
+ declare const SATRUSH_ERROR__TREASURY_EMPTY = 6041;
1529
1657
  /** InvalidClaimAmount: Claim amount must be greater than zero */
1530
- declare const SATRUSH_ERROR__INVALID_CLAIM_AMOUNT = 6050;
1658
+ declare const SATRUSH_ERROR__INVALID_CLAIM_AMOUNT = 6042;
1531
1659
  /** 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;
1660
+ declare const SATRUSH_ERROR__INSUFFICIENT_UNCLAIMED_USD = 6043;
1661
+ /** InsufficientAutomationBalance: Automation balance cannot cover the per-round deploy amount */
1662
+ declare const SATRUSH_ERROR__INSUFFICIENT_AUTOMATION_BALANCE = 6044;
1535
1663
  /** InvalidAutomationAmount: Automation amount must be greater than zero */
1536
- declare const SATRUSH_ERROR__INVALID_AUTOMATION_AMOUNT = 6053;
1664
+ declare const SATRUSH_ERROR__INVALID_AUTOMATION_AMOUNT = 6045;
1537
1665
  /** 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;
1666
+ declare const SATRUSH_ERROR__INVALID_AUTOMATION_STRATEGY_MASK = 6046;
1667
+ /** DeployAmountBelowMinimum: Deploy amount is below the 1 USD minimum */
1668
+ declare const SATRUSH_ERROR__DEPLOY_AMOUNT_BELOW_MINIMUM = 6047;
1669
+ /** InvalidEpochIterationDuration: Epoch iteration duration must be greater than zero */
1670
+ declare const SATRUSH_ERROR__INVALID_EPOCH_ITERATION_DURATION = 6048;
1671
+ /** InvalidUnclaimedHashrateBps: Unclaimed hashrate bps must not exceed 10_000 */
1672
+ declare const SATRUSH_ERROR__INVALID_UNCLAIMED_HASHRATE_BPS = 6049;
1673
+ 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
1674
  declare function getSatrushErrorMessage(code: SatrushError): string;
1541
1675
  declare function isSatrushError<TProgramErrorCode extends SatrushError>(error: unknown, transactionMessage: {
1542
1676
  instructions: Record<number, {
@@ -1709,7 +1843,7 @@ declare function findTreasuryPda(config?: {
1709
1843
  * @see https://github.com/codama-idl/codama
1710
1844
  */
1711
1845
 
1712
- declare const SATRUSH_PROGRAM_ADDRESS: Address<"ADp1CgM1xEhyAoXL7zdqSsbHvR3Ug77iPQvyiQB7XGDE">;
1846
+ declare const SATRUSH_PROGRAM_ADDRESS: Address<"satRushGBRY2vgapeTAkoxz26vL2cYqyPi6CnBj7Tco">;
1713
1847
  declare enum SatrushAccount {
1714
1848
  Board = 0,
1715
1849
  EpochVault = 1,
@@ -1743,33 +1877,38 @@ declare enum SatrushInstruction {
1743
1877
  CloseEpochPage = 9,
1744
1878
  CloseOneBtcIteration = 10,
1745
1879
  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
1880
+ CloseRound = 12,
1881
+ CreateBoard = 13,
1882
+ CreateEpochVault = 14,
1883
+ CreateOneBtcVault = 15,
1884
+ CreatePublicAutomation = 16,
1885
+ CreateSatrushConfig = 17,
1886
+ CreateSatsVault = 18,
1887
+ CreateTreasury = 19,
1888
+ DeployPublic = 20,
1889
+ ExecutePublicAutomation = 21,
1890
+ RotateRound = 22,
1891
+ SealEpochPage = 23,
1892
+ SelectEpochWinner = 24,
1893
+ SettleDeployPublic = 25,
1894
+ SwapEpochStake = 26,
1895
+ SwapOneBtcStake = 27,
1896
+ SwapRoundStake = 28,
1897
+ SwapStrikeStake = 29,
1898
+ TopUpPublicAutomation = 30,
1899
+ TriggerEpochDraw = 31,
1900
+ TriggerOneBtcDraw = 32,
1901
+ UpdateBoardRoundDuration = 33,
1902
+ UpdateDeploymentSettleGraceDuration = 34,
1903
+ UpdateEpochVaultIterationDuration = 35,
1904
+ UpdateMinDeployUsdAmount = 36,
1905
+ UpdateUnclaimedHashrateBps = 37,
1906
+ WithdrawProtocolFees = 38
1768
1907
  }
1769
1908
  declare function identifySatrushInstruction(instruction: {
1770
1909
  data: ReadonlyUint8Array;
1771
1910
  } | ReadonlyUint8Array): SatrushInstruction;
1772
- type ParsedSatrushInstruction<TProgram extends string = 'ADp1CgM1xEhyAoXL7zdqSsbHvR3Ug77iPQvyiQB7XGDE'> = ({
1911
+ type ParsedSatrushInstruction<TProgram extends string = 'satRushGBRY2vgapeTAkoxz26vL2cYqyPi6CnBj7Tco'> = ({
1773
1912
  instructionType: SatrushInstruction.BuyEpochTickets;
1774
1913
  } & ParsedBuyEpochTicketsInstruction<TProgram>) | ({
1775
1914
  instructionType: SatrushInstruction.BuyOneBtcTickets;
@@ -1794,6 +1933,8 @@ type ParsedSatrushInstruction<TProgram extends string = 'ADp1CgM1xEhyAoXL7zdqSsb
1794
1933
  } & ParsedCloseOneBtcIterationInstruction<TProgram>) | ({
1795
1934
  instructionType: SatrushInstruction.CloseOneBtcTicket;
1796
1935
  } & ParsedCloseOneBtcTicketInstruction<TProgram>) | ({
1936
+ instructionType: SatrushInstruction.CloseRound;
1937
+ } & ParsedCloseRoundInstruction<TProgram>) | ({
1797
1938
  instructionType: SatrushInstruction.CreateBoard;
1798
1939
  } & ParsedCreateBoardInstruction<TProgram>) | ({
1799
1940
  instructionType: SatrushInstruction.CreateEpochVault;
@@ -1836,6 +1977,14 @@ type ParsedSatrushInstruction<TProgram extends string = 'ADp1CgM1xEhyAoXL7zdqSsb
1836
1977
  } & ParsedTriggerOneBtcDrawInstruction<TProgram>) | ({
1837
1978
  instructionType: SatrushInstruction.UpdateBoardRoundDuration;
1838
1979
  } & ParsedUpdateBoardRoundDurationInstruction<TProgram>) | ({
1980
+ instructionType: SatrushInstruction.UpdateDeploymentSettleGraceDuration;
1981
+ } & ParsedUpdateDeploymentSettleGraceDurationInstruction<TProgram>) | ({
1982
+ instructionType: SatrushInstruction.UpdateEpochVaultIterationDuration;
1983
+ } & ParsedUpdateEpochVaultIterationDurationInstruction<TProgram>) | ({
1984
+ instructionType: SatrushInstruction.UpdateMinDeployUsdAmount;
1985
+ } & ParsedUpdateMinDeployUsdAmountInstruction<TProgram>) | ({
1986
+ instructionType: SatrushInstruction.UpdateUnclaimedHashrateBps;
1987
+ } & ParsedUpdateUnclaimedHashrateBpsInstruction<TProgram>) | ({
1839
1988
  instructionType: SatrushInstruction.WithdrawProtocolFees;
1840
1989
  } & ParsedWithdrawProtocolFeesInstruction<TProgram>);
1841
1990
  declare function parseSatrushInstruction<TProgram extends string>(instruction: Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array>): ParsedSatrushInstruction<TProgram>;
@@ -1877,6 +2026,7 @@ type SatrushPluginInstructions = {
1877
2026
  closeEpochPage: (input: CloseEpochPageAsyncInput) => ReturnType<typeof getCloseEpochPageInstructionAsync> & SelfPlanAndSendFunctions;
1878
2027
  closeOneBtcIteration: (input: CloseOneBtcIterationAsyncInput) => ReturnType<typeof getCloseOneBtcIterationInstructionAsync> & SelfPlanAndSendFunctions;
1879
2028
  closeOneBtcTicket: (input: CloseOneBtcTicketInput) => ReturnType<typeof getCloseOneBtcTicketInstruction> & SelfPlanAndSendFunctions;
2029
+ closeRound: (input: CloseRoundAsyncInput) => ReturnType<typeof getCloseRoundInstructionAsync> & SelfPlanAndSendFunctions;
1880
2030
  createBoard: (input: CreateBoardAsyncInput) => ReturnType<typeof getCreateBoardInstructionAsync> & SelfPlanAndSendFunctions;
1881
2031
  createEpochVault: (input: CreateEpochVaultAsyncInput) => ReturnType<typeof getCreateEpochVaultInstructionAsync> & SelfPlanAndSendFunctions;
1882
2032
  createOneBtcVault: (input: CreateOneBtcVaultAsyncInput) => ReturnType<typeof getCreateOneBtcVaultInstructionAsync> & SelfPlanAndSendFunctions;
@@ -1898,20 +2048,24 @@ type SatrushPluginInstructions = {
1898
2048
  triggerEpochDraw: (input: TriggerEpochDrawAsyncInput) => ReturnType<typeof getTriggerEpochDrawInstructionAsync> & SelfPlanAndSendFunctions;
1899
2049
  triggerOneBtcDraw: (input: TriggerOneBtcDrawAsyncInput) => ReturnType<typeof getTriggerOneBtcDrawInstructionAsync> & SelfPlanAndSendFunctions;
1900
2050
  updateBoardRoundDuration: (input: UpdateBoardRoundDurationAsyncInput) => ReturnType<typeof getUpdateBoardRoundDurationInstructionAsync> & SelfPlanAndSendFunctions;
2051
+ updateDeploymentSettleGraceDuration: (input: UpdateDeploymentSettleGraceDurationAsyncInput) => ReturnType<typeof getUpdateDeploymentSettleGraceDurationInstructionAsync> & SelfPlanAndSendFunctions;
2052
+ updateEpochVaultIterationDuration: (input: UpdateEpochVaultIterationDurationAsyncInput) => ReturnType<typeof getUpdateEpochVaultIterationDurationInstructionAsync> & SelfPlanAndSendFunctions;
2053
+ updateMinDeployUsdAmount: (input: UpdateMinDeployUsdAmountAsyncInput) => ReturnType<typeof getUpdateMinDeployUsdAmountInstructionAsync> & SelfPlanAndSendFunctions;
2054
+ updateUnclaimedHashrateBps: (input: UpdateUnclaimedHashrateBpsAsyncInput) => ReturnType<typeof getUpdateUnclaimedHashrateBpsInstructionAsync> & SelfPlanAndSendFunctions;
1901
2055
  withdrawProtocolFees: (input: WithdrawProtocolFeesAsyncInput) => ReturnType<typeof getWithdrawProtocolFeesInstructionAsync> & SelfPlanAndSendFunctions;
1902
2056
  };
1903
2057
  type SatrushPluginPdas = {
1904
2058
  miner: typeof findMinerPda;
2059
+ satrushConfig: typeof findSatrushConfigPda;
1905
2060
  epochVault: typeof findEpochVaultPda;
1906
2061
  oneBtcVault: typeof findOneBtcVaultPda;
1907
- satrushConfig: typeof findSatrushConfigPda;
1908
2062
  publicAutomation: typeof findPublicAutomationPda;
1909
2063
  satsVault: typeof findSatsVaultPda;
1910
2064
  board: typeof findBoardPda;
2065
+ treasury: typeof findTreasuryPda;
1911
2066
  initialRound: typeof findInitialRoundPda;
1912
2067
  epochVaultIteration: typeof findEpochVaultIterationPda;
1913
2068
  oneBtcVaultIteration: typeof findOneBtcVaultIterationPda;
1914
- treasury: typeof findTreasuryPda;
1915
2069
  nextRound: typeof findNextRoundPda;
1916
2070
  };
1917
2071
  type SatrushPluginRequirements = ClientWithRpc<GetAccountInfoApi & GetMultipleAccountsApi> & ClientWithTransactionPlanning & ClientWithTransactionSending;
@@ -1929,9 +2083,10 @@ declare function satrushProgram(): <T extends SatrushPluginRequirements>(client:
1929
2083
 
1930
2084
  declare const BUY_EPOCH_TICKETS_DISCRIMINATOR: ReadonlyUint8Array;
1931
2085
  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<[
2086
+ 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
2087
  TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
1934
2088
  TAccountMiner extends string ? WritableAccount<TAccountMiner> : TAccountMiner,
2089
+ TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
1935
2090
  TAccountEpochVault extends string ? ReadonlyAccount<TAccountEpochVault> : TAccountEpochVault,
1936
2091
  TAccountEpochVaultIteration extends string ? WritableAccount<TAccountEpochVaultIteration> : TAccountEpochVaultIteration,
1937
2092
  TAccountEpochVaultPage extends string ? WritableAccount<TAccountEpochVaultPage> : TAccountEpochVaultPage,
@@ -1943,19 +2098,20 @@ type BuyEpochTicketsInstruction<TProgram extends string = typeof SATRUSH_PROGRAM
1943
2098
  ]>;
1944
2099
  type BuyEpochTicketsInstructionData = {
1945
2100
  discriminator: ReadonlyUint8Array;
1946
- hashrateToSpend: bigint;
2101
+ ticketsToBuy: bigint;
1947
2102
  pageIndex: number;
1948
2103
  };
1949
2104
  type BuyEpochTicketsInstructionDataArgs = {
1950
- hashrateToSpend: number | bigint;
2105
+ ticketsToBuy: number | bigint;
1951
2106
  pageIndex: number;
1952
2107
  };
1953
2108
  declare function getBuyEpochTicketsInstructionDataEncoder(): FixedSizeEncoder<BuyEpochTicketsInstructionDataArgs>;
1954
2109
  declare function getBuyEpochTicketsInstructionDataDecoder(): FixedSizeDecoder<BuyEpochTicketsInstructionData>;
1955
2110
  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> = {
2111
+ 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
2112
  authority: TransactionSigner<TAccountAuthority>;
1958
2113
  miner?: Address<TAccountMiner>;
2114
+ satrushConfig?: Address<TAccountSatrushConfig>;
1959
2115
  epochVault?: Address<TAccountEpochVault>;
1960
2116
  epochVaultIteration: Address<TAccountEpochVaultIteration>;
1961
2117
  epochVaultPage: Address<TAccountEpochVaultPage>;
@@ -1963,15 +2119,16 @@ type BuyEpochTicketsAsyncInput<TAccountAuthority extends string = string, TAccou
1963
2119
  systemProgram?: Address<TAccountSystemProgram>;
1964
2120
  eventAuthority: Address<TAccountEventAuthority>;
1965
2121
  program: Address<TAccountProgram>;
1966
- hashrateToSpend: BuyEpochTicketsInstructionDataArgs['hashrateToSpend'];
2122
+ ticketsToBuy: BuyEpochTicketsInstructionDataArgs['ticketsToBuy'];
1967
2123
  pageIndex: BuyEpochTicketsInstructionDataArgs['pageIndex'];
1968
2124
  };
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?: {
2125
+ 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
2126
  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> = {
2127
+ }): Promise<BuyEpochTicketsInstruction<TProgramAddress, TAccountAuthority, TAccountMiner, TAccountSatrushConfig, TAccountEpochVault, TAccountEpochVaultIteration, TAccountEpochVaultPage, TAccountEpochVaultEntry, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>>;
2128
+ 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
2129
  authority: TransactionSigner<TAccountAuthority>;
1974
2130
  miner: Address<TAccountMiner>;
2131
+ satrushConfig: Address<TAccountSatrushConfig>;
1975
2132
  epochVault: Address<TAccountEpochVault>;
1976
2133
  epochVaultIteration: Address<TAccountEpochVaultIteration>;
1977
2134
  epochVaultPage: Address<TAccountEpochVaultPage>;
@@ -1979,24 +2136,25 @@ type BuyEpochTicketsInput<TAccountAuthority extends string = string, TAccountMin
1979
2136
  systemProgram?: Address<TAccountSystemProgram>;
1980
2137
  eventAuthority: Address<TAccountEventAuthority>;
1981
2138
  program: Address<TAccountProgram>;
1982
- hashrateToSpend: BuyEpochTicketsInstructionDataArgs['hashrateToSpend'];
2139
+ ticketsToBuy: BuyEpochTicketsInstructionDataArgs['ticketsToBuy'];
1983
2140
  pageIndex: BuyEpochTicketsInstructionDataArgs['pageIndex'];
1984
2141
  };
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?: {
2142
+ 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
2143
  programAddress?: TProgramAddress;
1987
- }): BuyEpochTicketsInstruction<TProgramAddress, TAccountAuthority, TAccountMiner, TAccountEpochVault, TAccountEpochVaultIteration, TAccountEpochVaultPage, TAccountEpochVaultEntry, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>;
2144
+ }): BuyEpochTicketsInstruction<TProgramAddress, TAccountAuthority, TAccountMiner, TAccountSatrushConfig, TAccountEpochVault, TAccountEpochVaultIteration, TAccountEpochVaultPage, TAccountEpochVaultEntry, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>;
1988
2145
  type ParsedBuyEpochTicketsInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
1989
2146
  programAddress: Address<TProgram>;
1990
2147
  accounts: {
1991
2148
  authority: TAccountMetas[0];
1992
2149
  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];
2150
+ satrushConfig: TAccountMetas[2];
2151
+ epochVault: TAccountMetas[3];
2152
+ epochVaultIteration: TAccountMetas[4];
2153
+ epochVaultPage: TAccountMetas[5];
2154
+ epochVaultEntry: TAccountMetas[6];
2155
+ systemProgram: TAccountMetas[7];
2156
+ eventAuthority: TAccountMetas[8];
2157
+ program: TAccountMetas[9];
2000
2158
  };
2001
2159
  data: BuyEpochTicketsInstructionData;
2002
2160
  };
@@ -2025,10 +2183,10 @@ type BuyOneBtcTicketsInstruction<TProgram extends string = typeof SATRUSH_PROGRA
2025
2183
  ]>;
2026
2184
  type BuyOneBtcTicketsInstructionData = {
2027
2185
  discriminator: ReadonlyUint8Array;
2028
- hashrateToSpend: bigint;
2186
+ ticketsToBuy: bigint;
2029
2187
  };
2030
2188
  type BuyOneBtcTicketsInstructionDataArgs = {
2031
- hashrateToSpend: number | bigint;
2189
+ ticketsToBuy: number | bigint;
2032
2190
  };
2033
2191
  declare function getBuyOneBtcTicketsInstructionDataEncoder(): FixedSizeEncoder<BuyOneBtcTicketsInstructionDataArgs>;
2034
2192
  declare function getBuyOneBtcTicketsInstructionDataDecoder(): FixedSizeDecoder<BuyOneBtcTicketsInstructionData>;
@@ -2043,7 +2201,7 @@ type BuyOneBtcTicketsAsyncInput<TAccountAuthority extends string = string, TAcco
2043
2201
  systemProgram?: Address<TAccountSystemProgram>;
2044
2202
  eventAuthority: Address<TAccountEventAuthority>;
2045
2203
  program: Address<TAccountProgram>;
2046
- hashrateToSpend: BuyOneBtcTicketsInstructionDataArgs['hashrateToSpend'];
2204
+ ticketsToBuy: BuyOneBtcTicketsInstructionDataArgs['ticketsToBuy'];
2047
2205
  };
2048
2206
  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
2207
  programAddress?: TProgramAddress;
@@ -2058,7 +2216,7 @@ type BuyOneBtcTicketsInput<TAccountAuthority extends string = string, TAccountMi
2058
2216
  systemProgram?: Address<TAccountSystemProgram>;
2059
2217
  eventAuthority: Address<TAccountEventAuthority>;
2060
2218
  program: Address<TAccountProgram>;
2061
- hashrateToSpend: BuyOneBtcTicketsInstructionDataArgs['hashrateToSpend'];
2219
+ ticketsToBuy: BuyOneBtcTicketsInstructionDataArgs['ticketsToBuy'];
2062
2220
  };
2063
2221
  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
2222
  programAddress?: TProgramAddress;
@@ -2334,7 +2492,7 @@ declare function parseClaimOneBtcRewardInstruction<TProgram extends string, TAcc
2334
2492
 
2335
2493
  declare const CLAIM_SATS_DISCRIMINATOR: ReadonlyUint8Array;
2336
2494
  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<[
2495
+ 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
2496
  TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
2339
2497
  TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
2340
2498
  TAccountSatsVault extends string ? WritableAccount<TAccountSatsVault> : TAccountSatsVault,
@@ -2345,6 +2503,8 @@ type ClaimSatsInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRE
2345
2503
  TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
2346
2504
  TAccountAssociatedTokenProgram extends string ? ReadonlyAccount<TAccountAssociatedTokenProgram> : TAccountAssociatedTokenProgram,
2347
2505
  TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
2506
+ TAccountEventAuthority extends string ? ReadonlyAccount<TAccountEventAuthority> : TAccountEventAuthority,
2507
+ TAccountProgram extends string ? ReadonlyAccount<TAccountProgram> : TAccountProgram,
2348
2508
  ...TRemainingAccounts
2349
2509
  ]>;
2350
2510
  type ClaimSatsInstructionData = {
@@ -2357,7 +2517,7 @@ type ClaimSatsInstructionDataArgs = {
2357
2517
  declare function getClaimSatsInstructionDataEncoder(): FixedSizeEncoder<ClaimSatsInstructionDataArgs>;
2358
2518
  declare function getClaimSatsInstructionDataDecoder(): FixedSizeDecoder<ClaimSatsInstructionData>;
2359
2519
  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> = {
2520
+ 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
2521
  authority: TransactionSigner<TAccountAuthority>;
2362
2522
  satrushConfig?: Address<TAccountSatrushConfig>;
2363
2523
  /** The vault: source of BTC and the authority over its own reserves ATA. */
@@ -2372,12 +2532,14 @@ type ClaimSatsAsyncInput<TAccountAuthority extends string = string, TAccountSatr
2372
2532
  tokenProgram?: Address<TAccountTokenProgram>;
2373
2533
  associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
2374
2534
  systemProgram?: Address<TAccountSystemProgram>;
2535
+ eventAuthority: Address<TAccountEventAuthority>;
2536
+ program: Address<TAccountProgram>;
2375
2537
  shares: ClaimSatsInstructionDataArgs['shares'];
2376
2538
  };
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?: {
2539
+ 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
2540
  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> = {
2541
+ }): Promise<ClaimSatsInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountSatsVault, TAccountMiner, TAccountBtcMint, TAccountSatsVaultBtcAta, TAccountAuthorityBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>>;
2542
+ 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
2543
  authority: TransactionSigner<TAccountAuthority>;
2382
2544
  satrushConfig: Address<TAccountSatrushConfig>;
2383
2545
  /** The vault: source of BTC and the authority over its own reserves ATA. */
@@ -2392,11 +2554,13 @@ type ClaimSatsInput<TAccountAuthority extends string = string, TAccountSatrushCo
2392
2554
  tokenProgram?: Address<TAccountTokenProgram>;
2393
2555
  associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
2394
2556
  systemProgram?: Address<TAccountSystemProgram>;
2557
+ eventAuthority: Address<TAccountEventAuthority>;
2558
+ program: Address<TAccountProgram>;
2395
2559
  shares: ClaimSatsInstructionDataArgs['shares'];
2396
2560
  };
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?: {
2561
+ 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
2562
  programAddress?: TProgramAddress;
2399
- }): ClaimSatsInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountSatsVault, TAccountMiner, TAccountBtcMint, TAccountSatsVaultBtcAta, TAccountAuthorityBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>;
2563
+ }): ClaimSatsInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountSatsVault, TAccountMiner, TAccountBtcMint, TAccountSatsVaultBtcAta, TAccountAuthorityBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>;
2400
2564
  type ParsedClaimSatsInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
2401
2565
  programAddress: Address<TProgram>;
2402
2566
  accounts: {
@@ -2414,6 +2578,8 @@ type ParsedClaimSatsInstruction<TProgram extends string = typeof SATRUSH_PROGRAM
2414
2578
  tokenProgram: TAccountMetas[7];
2415
2579
  associatedTokenProgram: TAccountMetas[8];
2416
2580
  systemProgram: TAccountMetas[9];
2581
+ eventAuthority: TAccountMetas[10];
2582
+ program: TAccountMetas[11];
2417
2583
  };
2418
2584
  data: ClaimSatsInstructionData;
2419
2585
  };
@@ -2764,6 +2930,147 @@ type ParsedCloseOneBtcTicketInstruction<TProgram extends string = typeof SATRUSH
2764
2930
  };
2765
2931
  declare function parseCloseOneBtcTicketInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedCloseOneBtcTicketInstruction<TProgram, TAccountMetas>;
2766
2932
 
2933
+ /**
2934
+ * This code was AUTOGENERATED using the Codama library.
2935
+ * Please DO NOT EDIT THIS FILE, instead use visitors
2936
+ * to add features, then rerun Codama to update it.
2937
+ *
2938
+ * @see https://github.com/codama-idl/codama
2939
+ */
2940
+
2941
+ declare const CLOSE_ROUND_DISCRIMINATOR: ReadonlyUint8Array;
2942
+ declare function getCloseRoundDiscriminatorBytes(): ReadonlyUint8Array;
2943
+ 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<[
2944
+ TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
2945
+ TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
2946
+ TAccountBoard extends string ? ReadonlyAccount<TAccountBoard> : TAccountBoard,
2947
+ TAccountRound extends string ? WritableAccount<TAccountRound> : TAccountRound,
2948
+ TAccountTreasury extends string ? WritableAccount<TAccountTreasury> : TAccountTreasury,
2949
+ TAccountUsdMint extends string ? ReadonlyAccount<TAccountUsdMint> : TAccountUsdMint,
2950
+ TAccountBtcMint extends string ? ReadonlyAccount<TAccountBtcMint> : TAccountBtcMint,
2951
+ TAccountBoardUsdAta extends string ? WritableAccount<TAccountBoardUsdAta> : TAccountBoardUsdAta,
2952
+ TAccountBoardBtcAta extends string ? WritableAccount<TAccountBoardBtcAta> : TAccountBoardBtcAta,
2953
+ TAccountTreasuryUsdAta extends string ? WritableAccount<TAccountTreasuryUsdAta> : TAccountTreasuryUsdAta,
2954
+ TAccountTreasuryBtcAta extends string ? WritableAccount<TAccountTreasuryBtcAta> : TAccountTreasuryBtcAta,
2955
+ TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
2956
+ TAccountAssociatedTokenProgram extends string ? ReadonlyAccount<TAccountAssociatedTokenProgram> : TAccountAssociatedTokenProgram,
2957
+ TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
2958
+ TAccountEventAuthority extends string ? ReadonlyAccount<TAccountEventAuthority> : TAccountEventAuthority,
2959
+ TAccountProgram extends string ? ReadonlyAccount<TAccountProgram> : TAccountProgram,
2960
+ ...TRemainingAccounts
2961
+ ]>;
2962
+ type CloseRoundInstructionData = {
2963
+ discriminator: ReadonlyUint8Array;
2964
+ };
2965
+ type CloseRoundInstructionDataArgs = {};
2966
+ declare function getCloseRoundInstructionDataEncoder(): FixedSizeEncoder<CloseRoundInstructionDataArgs>;
2967
+ declare function getCloseRoundInstructionDataDecoder(): FixedSizeDecoder<CloseRoundInstructionData>;
2968
+ declare function getCloseRoundInstructionDataCodec(): FixedSizeCodec<CloseRoundInstructionDataArgs, CloseRoundInstructionData>;
2969
+ 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> = {
2970
+ authority: TransactionSigner<TAccountAuthority>;
2971
+ satrushConfig?: Address<TAccountSatrushConfig>;
2972
+ /** PDA that owns the board's token pools; signs the sweep transfers. */
2973
+ board?: Address<TAccountBoard>;
2974
+ /**
2975
+ * The finished round being torn down. `Finished` implies every miner
2976
+ * settled and the round was rotated out, so it cannot be the active round
2977
+ * and no settlement can still be pending against it.
2978
+ */
2979
+ round: Address<TAccountRound>;
2980
+ treasury?: Address<TAccountTreasury>;
2981
+ usdMint: Address<TAccountUsdMint>;
2982
+ btcMint: Address<TAccountBtcMint>;
2983
+ /** Board's USD pool — sweep source. */
2984
+ boardUsdAta?: Address<TAccountBoardUsdAta>;
2985
+ /** Board's BTC reserves — sweep source. */
2986
+ boardBtcAta?: Address<TAccountBoardBtcAta>;
2987
+ /** Treasury's USD pool — sweep destination. */
2988
+ treasuryUsdAta?: Address<TAccountTreasuryUsdAta>;
2989
+ /**
2990
+ * Treasury's BTC pool — sweep destination. Created lazily: the treasury
2991
+ * predates the BTC side, so the ATA may not exist yet.
2992
+ */
2993
+ treasuryBtcAta?: Address<TAccountTreasuryBtcAta>;
2994
+ tokenProgram?: Address<TAccountTokenProgram>;
2995
+ associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
2996
+ systemProgram?: Address<TAccountSystemProgram>;
2997
+ eventAuthority: Address<TAccountEventAuthority>;
2998
+ program: Address<TAccountProgram>;
2999
+ };
3000
+ 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?: {
3001
+ programAddress?: TProgramAddress;
3002
+ }): Promise<CloseRoundInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountTreasury, TAccountUsdMint, TAccountBtcMint, TAccountBoardUsdAta, TAccountBoardBtcAta, TAccountTreasuryUsdAta, TAccountTreasuryBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>>;
3003
+ 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> = {
3004
+ authority: TransactionSigner<TAccountAuthority>;
3005
+ satrushConfig: Address<TAccountSatrushConfig>;
3006
+ /** PDA that owns the board's token pools; signs the sweep transfers. */
3007
+ board: Address<TAccountBoard>;
3008
+ /**
3009
+ * The finished round being torn down. `Finished` implies every miner
3010
+ * settled and the round was rotated out, so it cannot be the active round
3011
+ * and no settlement can still be pending against it.
3012
+ */
3013
+ round: Address<TAccountRound>;
3014
+ treasury: Address<TAccountTreasury>;
3015
+ usdMint: Address<TAccountUsdMint>;
3016
+ btcMint: Address<TAccountBtcMint>;
3017
+ /** Board's USD pool — sweep source. */
3018
+ boardUsdAta: Address<TAccountBoardUsdAta>;
3019
+ /** Board's BTC reserves — sweep source. */
3020
+ boardBtcAta: Address<TAccountBoardBtcAta>;
3021
+ /** Treasury's USD pool — sweep destination. */
3022
+ treasuryUsdAta: Address<TAccountTreasuryUsdAta>;
3023
+ /**
3024
+ * Treasury's BTC pool — sweep destination. Created lazily: the treasury
3025
+ * predates the BTC side, so the ATA may not exist yet.
3026
+ */
3027
+ treasuryBtcAta: Address<TAccountTreasuryBtcAta>;
3028
+ tokenProgram?: Address<TAccountTokenProgram>;
3029
+ associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
3030
+ systemProgram?: Address<TAccountSystemProgram>;
3031
+ eventAuthority: Address<TAccountEventAuthority>;
3032
+ program: Address<TAccountProgram>;
3033
+ };
3034
+ 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?: {
3035
+ programAddress?: TProgramAddress;
3036
+ }): CloseRoundInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountTreasury, TAccountUsdMint, TAccountBtcMint, TAccountBoardUsdAta, TAccountBoardBtcAta, TAccountTreasuryUsdAta, TAccountTreasuryBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>;
3037
+ type ParsedCloseRoundInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
3038
+ programAddress: Address<TProgram>;
3039
+ accounts: {
3040
+ authority: TAccountMetas[0];
3041
+ satrushConfig: TAccountMetas[1];
3042
+ /** PDA that owns the board's token pools; signs the sweep transfers. */
3043
+ board: TAccountMetas[2];
3044
+ /**
3045
+ * The finished round being torn down. `Finished` implies every miner
3046
+ * settled and the round was rotated out, so it cannot be the active round
3047
+ * and no settlement can still be pending against it.
3048
+ */
3049
+ round: TAccountMetas[3];
3050
+ treasury: TAccountMetas[4];
3051
+ usdMint: TAccountMetas[5];
3052
+ btcMint: TAccountMetas[6];
3053
+ /** Board's USD pool — sweep source. */
3054
+ boardUsdAta: TAccountMetas[7];
3055
+ /** Board's BTC reserves — sweep source. */
3056
+ boardBtcAta: TAccountMetas[8];
3057
+ /** Treasury's USD pool — sweep destination. */
3058
+ treasuryUsdAta: TAccountMetas[9];
3059
+ /**
3060
+ * Treasury's BTC pool — sweep destination. Created lazily: the treasury
3061
+ * predates the BTC side, so the ATA may not exist yet.
3062
+ */
3063
+ treasuryBtcAta: TAccountMetas[10];
3064
+ tokenProgram: TAccountMetas[11];
3065
+ associatedTokenProgram: TAccountMetas[12];
3066
+ systemProgram: TAccountMetas[13];
3067
+ eventAuthority: TAccountMetas[14];
3068
+ program: TAccountMetas[15];
3069
+ };
3070
+ data: CloseRoundInstructionData;
3071
+ };
3072
+ declare function parseCloseRoundInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedCloseRoundInstruction<TProgram, TAccountMetas>;
3073
+
2767
3074
  /**
2768
3075
  * This code was AUTOGENERATED using the Codama library.
2769
3076
  * Please DO NOT EDIT THIS FILE, instead use visitors
@@ -3400,7 +3707,7 @@ declare function parseCreateTreasuryInstruction<TProgram extends string, TAccoun
3400
3707
 
3401
3708
  declare const DEPLOY_PUBLIC_DISCRIMINATOR: ReadonlyUint8Array;
3402
3709
  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<[
3710
+ 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
3711
  TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
3405
3712
  TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
3406
3713
  TAccountBoard extends string ? WritableAccount<TAccountBoard> : TAccountBoard,
@@ -3410,12 +3717,6 @@ type DeployPublicInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_AD
3410
3717
  TAccountBoardUsdAta extends string ? WritableAccount<TAccountBoardUsdAta> : TAccountBoardUsdAta,
3411
3718
  TAccountPublicDeployment extends string ? WritableAccount<TAccountPublicDeployment> : TAccountPublicDeployment,
3412
3719
  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
3720
  TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
3420
3721
  TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
3421
3722
  ...TRemainingAccounts
@@ -3432,7 +3733,7 @@ type DeployPublicInstructionDataArgs = {
3432
3733
  declare function getDeployPublicInstructionDataEncoder(): FixedSizeEncoder<DeployPublicInstructionDataArgs>;
3433
3734
  declare function getDeployPublicInstructionDataDecoder(): FixedSizeDecoder<DeployPublicInstructionData>;
3434
3735
  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> = {
3736
+ 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
3737
  authority: TransactionSigner<TAccountAuthority>;
3437
3738
  satrushConfig?: Address<TAccountSatrushConfig>;
3438
3739
  board?: Address<TAccountBoard>;
@@ -3457,37 +3758,15 @@ type DeployPublicAsyncInput<TAccountAuthority extends string = string, TAccountS
3457
3758
  * loaded on subsequent ones; its streak advances on every play.
3458
3759
  */
3459
3760
  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
3761
  tokenProgram?: Address<TAccountTokenProgram>;
3483
3762
  systemProgram?: Address<TAccountSystemProgram>;
3484
3763
  selectionMask: DeployPublicInstructionDataArgs['selectionMask'];
3485
3764
  amount: DeployPublicInstructionDataArgs['amount'];
3486
3765
  };
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?: {
3766
+ 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
3767
  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> = {
3768
+ }): Promise<DeployPublicInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountUsdMint, TAccountAuthorityUsdAta, TAccountBoardUsdAta, TAccountPublicDeployment, TAccountMiner, TAccountTokenProgram, TAccountSystemProgram>>;
3769
+ 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
3770
  authority: TransactionSigner<TAccountAuthority>;
3492
3771
  satrushConfig: Address<TAccountSatrushConfig>;
3493
3772
  board: Address<TAccountBoard>;
@@ -3512,36 +3791,14 @@ type DeployPublicInput<TAccountAuthority extends string = string, TAccountSatrus
3512
3791
  * loaded on subsequent ones; its streak advances on every play.
3513
3792
  */
3514
3793
  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
3794
  tokenProgram?: Address<TAccountTokenProgram>;
3538
3795
  systemProgram?: Address<TAccountSystemProgram>;
3539
3796
  selectionMask: DeployPublicInstructionDataArgs['selectionMask'];
3540
3797
  amount: DeployPublicInstructionDataArgs['amount'];
3541
3798
  };
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?: {
3799
+ 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
3800
  programAddress?: TProgramAddress;
3544
- }): DeployPublicInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountUsdMint, TAccountAuthorityUsdAta, TAccountBoardUsdAta, TAccountPublicDeployment, TAccountMiner, TAccountEpochVault, TAccountEpochVaultUsdAta, TAccountOneBtcVault, TAccountOneBtcVaultUsdAta, TAccountTreasury, TAccountTreasuryUsdAta, TAccountTokenProgram, TAccountSystemProgram>;
3801
+ }): DeployPublicInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountUsdMint, TAccountAuthorityUsdAta, TAccountBoardUsdAta, TAccountPublicDeployment, TAccountMiner, TAccountTokenProgram, TAccountSystemProgram>;
3545
3802
  type ParsedDeployPublicInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
3546
3803
  programAddress: Address<TProgram>;
3547
3804
  accounts: {
@@ -3569,30 +3826,8 @@ type ParsedDeployPublicInstruction<TProgram extends string = typeof SATRUSH_PROG
3569
3826
  * loaded on subsequent ones; its streak advances on every play.
3570
3827
  */
3571
3828
  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];
3829
+ tokenProgram: TAccountMetas[9];
3830
+ systemProgram: TAccountMetas[10];
3596
3831
  };
3597
3832
  data: DeployPublicInstructionData;
3598
3833
  };
@@ -3608,7 +3843,7 @@ declare function parseDeployPublicInstruction<TProgram extends string, TAccountM
3608
3843
 
3609
3844
  declare const EXECUTE_PUBLIC_AUTOMATION_DISCRIMINATOR: ReadonlyUint8Array;
3610
3845
  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<[
3846
+ 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
3847
  TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
3613
3848
  TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
3614
3849
  TAccountBoard extends string ? WritableAccount<TAccountBoard> : TAccountBoard,
@@ -3619,12 +3854,6 @@ type ExecutePublicAutomationInstruction<TProgram extends string = typeof SATRUSH
3619
3854
  TAccountBoardUsdAta extends string ? WritableAccount<TAccountBoardUsdAta> : TAccountBoardUsdAta,
3620
3855
  TAccountPublicDeployment extends string ? WritableAccount<TAccountPublicDeployment> : TAccountPublicDeployment,
3621
3856
  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
3857
  TAccountSlotHashes extends string ? ReadonlyAccount<TAccountSlotHashes> : TAccountSlotHashes,
3629
3858
  TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
3630
3859
  TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
@@ -3640,7 +3869,7 @@ type ExecutePublicAutomationInstructionDataArgs = {
3640
3869
  declare function getExecutePublicAutomationInstructionDataEncoder(): Encoder<ExecutePublicAutomationInstructionDataArgs>;
3641
3870
  declare function getExecutePublicAutomationInstructionDataDecoder(): Decoder<ExecutePublicAutomationInstructionData>;
3642
3871
  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> = {
3872
+ 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
3873
  /**
3645
3874
  * The crank (round authority); pays the deployment rent, recovered at
3646
3875
  * settle.
@@ -3660,7 +3889,7 @@ type ExecutePublicAutomationAsyncInput<TAccountAuthority extends string = string
3660
3889
  /** The automation's escrow the deploy is funded from. */
3661
3890
  automationUsdAta: Address<TAccountAutomationUsdAta>;
3662
3891
  /** Board's USD deposit pool. */
3663
- boardUsdAta: Address<TAccountBoardUsdAta>;
3892
+ boardUsdAta?: Address<TAccountBoardUsdAta>;
3664
3893
  /**
3665
3894
  * Per-(user, round) deployment record. Init fails if the user already
3666
3895
  * deployed into this round (manually or via this automation).
@@ -3671,16 +3900,6 @@ type ExecutePublicAutomationAsyncInput<TAccountAuthority extends string = string
3671
3900
  * `create_public_automation`, so no `init_if_needed` here (stack + rent).
3672
3901
  */
3673
3902
  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
3903
  /**
3685
3904
  * because the sysvar is too large to deserialize. Feeds Random-strategy
3686
3905
  * mask generation only, but is always passed (cheap).
@@ -3690,10 +3909,10 @@ type ExecutePublicAutomationAsyncInput<TAccountAuthority extends string = string
3690
3909
  systemProgram?: Address<TAccountSystemProgram>;
3691
3910
  selectionMask: ExecutePublicAutomationInstructionDataArgs['selectionMask'];
3692
3911
  };
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?: {
3912
+ 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
3913
  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> = {
3914
+ }): Promise<ExecutePublicAutomationInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountPublicAutomation, TAccountUsdMint, TAccountAutomationUsdAta, TAccountBoardUsdAta, TAccountPublicDeployment, TAccountMiner, TAccountSlotHashes, TAccountTokenProgram, TAccountSystemProgram>>;
3915
+ 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
3916
  /**
3698
3917
  * The crank (round authority); pays the deployment rent, recovered at
3699
3918
  * settle.
@@ -3724,16 +3943,6 @@ type ExecutePublicAutomationInput<TAccountAuthority extends string = string, TAc
3724
3943
  * `create_public_automation`, so no `init_if_needed` here (stack + rent).
3725
3944
  */
3726
3945
  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
3946
  /**
3738
3947
  * because the sysvar is too large to deserialize. Feeds Random-strategy
3739
3948
  * mask generation only, but is always passed (cheap).
@@ -3743,9 +3952,9 @@ type ExecutePublicAutomationInput<TAccountAuthority extends string = string, TAc
3743
3952
  systemProgram?: Address<TAccountSystemProgram>;
3744
3953
  selectionMask: ExecutePublicAutomationInstructionDataArgs['selectionMask'];
3745
3954
  };
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?: {
3955
+ 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
3956
  programAddress?: TProgramAddress;
3748
- }): ExecutePublicAutomationInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountPublicAutomation, TAccountUsdMint, TAccountAutomationUsdAta, TAccountBoardUsdAta, TAccountPublicDeployment, TAccountMiner, TAccountEpochVault, TAccountEpochVaultUsdAta, TAccountOneBtcVault, TAccountOneBtcVaultUsdAta, TAccountTreasury, TAccountTreasuryUsdAta, TAccountSlotHashes, TAccountTokenProgram, TAccountSystemProgram>;
3957
+ }): ExecutePublicAutomationInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountPublicAutomation, TAccountUsdMint, TAccountAutomationUsdAta, TAccountBoardUsdAta, TAccountPublicDeployment, TAccountMiner, TAccountSlotHashes, TAccountTokenProgram, TAccountSystemProgram>;
3749
3958
  type ParsedExecutePublicAutomationInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
3750
3959
  programAddress: Address<TProgram>;
3751
3960
  accounts: {
@@ -3779,23 +3988,13 @@ type ParsedExecutePublicAutomationInstruction<TProgram extends string = typeof S
3779
3988
  * `create_public_automation`, so no `init_if_needed` here (stack + rent).
3780
3989
  */
3781
3990
  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
3991
  /**
3793
3992
  * because the sysvar is too large to deserialize. Feeds Random-strategy
3794
3993
  * mask generation only, but is always passed (cheap).
3795
3994
  */
3796
- slotHashes: TAccountMetas[16];
3797
- tokenProgram: TAccountMetas[17];
3798
- systemProgram: TAccountMetas[18];
3995
+ slotHashes: TAccountMetas[10];
3996
+ tokenProgram: TAccountMetas[11];
3997
+ systemProgram: TAccountMetas[12];
3799
3998
  };
3800
3999
  data: ExecutePublicAutomationInstructionData;
3801
4000
  };
@@ -3811,13 +4010,22 @@ declare function parseExecutePublicAutomationInstruction<TProgram extends string
3811
4010
 
3812
4011
  declare const ROTATE_ROUND_DISCRIMINATOR: ReadonlyUint8Array;
3813
4012
  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<[
4013
+ 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
4014
  TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
3816
4015
  TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
3817
4016
  TAccountBoard extends string ? WritableAccount<TAccountBoard> : TAccountBoard,
3818
4017
  TAccountCurrentRound extends string ? WritableAccount<TAccountCurrentRound> : TAccountCurrentRound,
3819
4018
  TAccountNextRound extends string ? WritableAccount<TAccountNextRound> : TAccountNextRound,
4019
+ TAccountUsdMint extends string ? ReadonlyAccount<TAccountUsdMint> : TAccountUsdMint,
4020
+ TAccountBoardUsdAta extends string ? WritableAccount<TAccountBoardUsdAta> : TAccountBoardUsdAta,
4021
+ TAccountEpochVault extends string ? WritableAccount<TAccountEpochVault> : TAccountEpochVault,
4022
+ TAccountEpochVaultUsdAta extends string ? WritableAccount<TAccountEpochVaultUsdAta> : TAccountEpochVaultUsdAta,
4023
+ TAccountOneBtcVault extends string ? WritableAccount<TAccountOneBtcVault> : TAccountOneBtcVault,
4024
+ TAccountOneBtcVaultUsdAta extends string ? WritableAccount<TAccountOneBtcVaultUsdAta> : TAccountOneBtcVaultUsdAta,
4025
+ TAccountTreasury extends string ? WritableAccount<TAccountTreasury> : TAccountTreasury,
4026
+ TAccountTreasuryUsdAta extends string ? WritableAccount<TAccountTreasuryUsdAta> : TAccountTreasuryUsdAta,
3820
4027
  TAccountSlotHashes extends string ? ReadonlyAccount<TAccountSlotHashes> : TAccountSlotHashes,
4028
+ TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
3821
4029
  TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
3822
4030
  TAccountEventAuthority extends string ? ReadonlyAccount<TAccountEventAuthority> : TAccountEventAuthority,
3823
4031
  TAccountProgram extends string ? ReadonlyAccount<TAccountProgram> : TAccountProgram,
@@ -3830,11 +4038,20 @@ type RotateRoundInstructionDataArgs = {};
3830
4038
  declare function getRotateRoundInstructionDataEncoder(): FixedSizeEncoder<RotateRoundInstructionDataArgs>;
3831
4039
  declare function getRotateRoundInstructionDataDecoder(): FixedSizeDecoder<RotateRoundInstructionData>;
3832
4040
  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> = {
4041
+ 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
4042
  authority: TransactionSigner<TAccountAuthority>;
3835
4043
  satrushConfig?: Address<TAccountSatrushConfig>;
4044
+ /**
4045
+ * Stays a regular `Account`: `get_next_round_id()` feeds `next_round`'s
4046
+ * PDA seeds, which `LazyAccount` cannot serve.
4047
+ */
3836
4048
  board?: Address<TAccountBoard>;
3837
- /** The current round being closed out (revealed). */
4049
+ /**
4050
+ * The current round being closed out (revealed). Lazy for the same stack
4051
+ * reason as the config; its PDA derives from `board.round_id` (a plain
4052
+ * field path the IDL seed parser can encode), which pins it to the
4053
+ * board's current round with no separate id constraint.
4054
+ */
3838
4055
  currentRound: Address<TAccountCurrentRound>;
3839
4056
  /**
3840
4057
  * The freshly deployed next round, which becomes the board's active round.
@@ -3842,20 +4059,46 @@ type RotateRoundAsyncInput<TAccountAuthority extends string = string, TAccountSa
3842
4059
  * populates it via `Round::try_new`.
3843
4060
  */
3844
4061
  nextRound?: Address<TAccountNextRound>;
4062
+ usdMint: Address<TAccountUsdMint>;
4063
+ /** Board's USD pool where every deploy's full amount landed — the sweep source. */
4064
+ boardUsdAta?: Address<TAccountBoardUsdAta>;
4065
+ /** Epoch Vault singleton — receives the round's accumulated epoch fee leg. */
4066
+ epochVault?: Address<TAccountEpochVault>;
4067
+ epochVaultUsdAta?: Address<TAccountEpochVaultUsdAta>;
4068
+ /** 1 BTC Vault singleton — receives the round's accumulated 1 BTC fee leg. */
4069
+ oneBtcVault?: Address<TAccountOneBtcVault>;
4070
+ oneBtcVaultUsdAta?: Address<TAccountOneBtcVaultUsdAta>;
4071
+ /**
4072
+ * Treasury singleton — receives the round's accumulated protocol fee leg.
4073
+ * No seeds constraint: discriminator + owner checks pin the one Treasury
4074
+ * instance that can ever exist (`init` on fixed seeds).
4075
+ */
4076
+ treasury: Address<TAccountTreasury>;
4077
+ treasuryUsdAta?: Address<TAccountTreasuryUsdAta>;
3845
4078
  /** because the sysvar is too large to deserialize. */
3846
4079
  slotHashes?: Address<TAccountSlotHashes>;
4080
+ tokenProgram?: Address<TAccountTokenProgram>;
3847
4081
  systemProgram?: Address<TAccountSystemProgram>;
3848
4082
  eventAuthority: Address<TAccountEventAuthority>;
3849
4083
  program: Address<TAccountProgram>;
3850
4084
  };
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?: {
4085
+ 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
4086
  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> = {
4087
+ }): Promise<RotateRoundInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountCurrentRound, TAccountNextRound, TAccountUsdMint, TAccountBoardUsdAta, TAccountEpochVault, TAccountEpochVaultUsdAta, TAccountOneBtcVault, TAccountOneBtcVaultUsdAta, TAccountTreasury, TAccountTreasuryUsdAta, TAccountSlotHashes, TAccountTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>>;
4088
+ 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
4089
  authority: TransactionSigner<TAccountAuthority>;
3856
4090
  satrushConfig: Address<TAccountSatrushConfig>;
4091
+ /**
4092
+ * Stays a regular `Account`: `get_next_round_id()` feeds `next_round`'s
4093
+ * PDA seeds, which `LazyAccount` cannot serve.
4094
+ */
3857
4095
  board: Address<TAccountBoard>;
3858
- /** The current round being closed out (revealed). */
4096
+ /**
4097
+ * The current round being closed out (revealed). Lazy for the same stack
4098
+ * reason as the config; its PDA derives from `board.round_id` (a plain
4099
+ * field path the IDL seed parser can encode), which pins it to the
4100
+ * board's current round with no separate id constraint.
4101
+ */
3859
4102
  currentRound: Address<TAccountCurrentRound>;
3860
4103
  /**
3861
4104
  * The freshly deployed next round, which becomes the board's active round.
@@ -3863,22 +4106,48 @@ type RotateRoundInput<TAccountAuthority extends string = string, TAccountSatrush
3863
4106
  * populates it via `Round::try_new`.
3864
4107
  */
3865
4108
  nextRound: Address<TAccountNextRound>;
4109
+ usdMint: Address<TAccountUsdMint>;
4110
+ /** Board's USD pool where every deploy's full amount landed — the sweep source. */
4111
+ boardUsdAta: Address<TAccountBoardUsdAta>;
4112
+ /** Epoch Vault singleton — receives the round's accumulated epoch fee leg. */
4113
+ epochVault: Address<TAccountEpochVault>;
4114
+ epochVaultUsdAta: Address<TAccountEpochVaultUsdAta>;
4115
+ /** 1 BTC Vault singleton — receives the round's accumulated 1 BTC fee leg. */
4116
+ oneBtcVault: Address<TAccountOneBtcVault>;
4117
+ oneBtcVaultUsdAta: Address<TAccountOneBtcVaultUsdAta>;
4118
+ /**
4119
+ * Treasury singleton — receives the round's accumulated protocol fee leg.
4120
+ * No seeds constraint: discriminator + owner checks pin the one Treasury
4121
+ * instance that can ever exist (`init` on fixed seeds).
4122
+ */
4123
+ treasury: Address<TAccountTreasury>;
4124
+ treasuryUsdAta: Address<TAccountTreasuryUsdAta>;
3866
4125
  /** because the sysvar is too large to deserialize. */
3867
4126
  slotHashes?: Address<TAccountSlotHashes>;
4127
+ tokenProgram?: Address<TAccountTokenProgram>;
3868
4128
  systemProgram?: Address<TAccountSystemProgram>;
3869
4129
  eventAuthority: Address<TAccountEventAuthority>;
3870
4130
  program: Address<TAccountProgram>;
3871
4131
  };
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?: {
4132
+ 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
4133
  programAddress?: TProgramAddress;
3874
- }): RotateRoundInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountCurrentRound, TAccountNextRound, TAccountSlotHashes, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>;
4134
+ }): RotateRoundInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountCurrentRound, TAccountNextRound, TAccountUsdMint, TAccountBoardUsdAta, TAccountEpochVault, TAccountEpochVaultUsdAta, TAccountOneBtcVault, TAccountOneBtcVaultUsdAta, TAccountTreasury, TAccountTreasuryUsdAta, TAccountSlotHashes, TAccountTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>;
3875
4135
  type ParsedRotateRoundInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
3876
4136
  programAddress: Address<TProgram>;
3877
4137
  accounts: {
3878
4138
  authority: TAccountMetas[0];
3879
4139
  satrushConfig: TAccountMetas[1];
4140
+ /**
4141
+ * Stays a regular `Account`: `get_next_round_id()` feeds `next_round`'s
4142
+ * PDA seeds, which `LazyAccount` cannot serve.
4143
+ */
3880
4144
  board: TAccountMetas[2];
3881
- /** The current round being closed out (revealed). */
4145
+ /**
4146
+ * The current round being closed out (revealed). Lazy for the same stack
4147
+ * reason as the config; its PDA derives from `board.round_id` (a plain
4148
+ * field path the IDL seed parser can encode), which pins it to the
4149
+ * board's current round with no separate id constraint.
4150
+ */
3882
4151
  currentRound: TAccountMetas[3];
3883
4152
  /**
3884
4153
  * The freshly deployed next round, which becomes the board's active round.
@@ -3886,11 +4155,28 @@ type ParsedRotateRoundInstruction<TProgram extends string = typeof SATRUSH_PROGR
3886
4155
  * populates it via `Round::try_new`.
3887
4156
  */
3888
4157
  nextRound: TAccountMetas[4];
4158
+ usdMint: TAccountMetas[5];
4159
+ /** Board's USD pool where every deploy's full amount landed — the sweep source. */
4160
+ boardUsdAta: TAccountMetas[6];
4161
+ /** Epoch Vault singleton — receives the round's accumulated epoch fee leg. */
4162
+ epochVault: TAccountMetas[7];
4163
+ epochVaultUsdAta: TAccountMetas[8];
4164
+ /** 1 BTC Vault singleton — receives the round's accumulated 1 BTC fee leg. */
4165
+ oneBtcVault: TAccountMetas[9];
4166
+ oneBtcVaultUsdAta: TAccountMetas[10];
4167
+ /**
4168
+ * Treasury singleton — receives the round's accumulated protocol fee leg.
4169
+ * No seeds constraint: discriminator + owner checks pin the one Treasury
4170
+ * instance that can ever exist (`init` on fixed seeds).
4171
+ */
4172
+ treasury: TAccountMetas[11];
4173
+ treasuryUsdAta: TAccountMetas[12];
3889
4174
  /** because the sysvar is too large to deserialize. */
3890
- slotHashes: TAccountMetas[5];
3891
- systemProgram: TAccountMetas[6];
3892
- eventAuthority: TAccountMetas[7];
3893
- program: TAccountMetas[8];
4175
+ slotHashes: TAccountMetas[13];
4176
+ tokenProgram: TAccountMetas[14];
4177
+ systemProgram: TAccountMetas[15];
4178
+ eventAuthority: TAccountMetas[16];
4179
+ program: TAccountMetas[17];
3894
4180
  };
3895
4181
  data: RotateRoundInstructionData;
3896
4182
  };
@@ -4932,6 +5218,210 @@ type ParsedUpdateBoardRoundDurationInstruction<TProgram extends string = typeof
4932
5218
  };
4933
5219
  declare function parseUpdateBoardRoundDurationInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedUpdateBoardRoundDurationInstruction<TProgram, TAccountMetas>;
4934
5220
 
5221
+ /**
5222
+ * This code was AUTOGENERATED using the Codama library.
5223
+ * Please DO NOT EDIT THIS FILE, instead use visitors
5224
+ * to add features, then rerun Codama to update it.
5225
+ *
5226
+ * @see https://github.com/codama-idl/codama
5227
+ */
5228
+
5229
+ declare const UPDATE_DEPLOYMENT_SETTLE_GRACE_DURATION_DISCRIMINATOR: ReadonlyUint8Array;
5230
+ declare function getUpdateDeploymentSettleGraceDurationDiscriminatorBytes(): ReadonlyUint8Array;
5231
+ 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<[
5232
+ TAccountAuthority extends string ? ReadonlySignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
5233
+ TAccountSatrushConfig extends string ? WritableAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
5234
+ ...TRemainingAccounts
5235
+ ]>;
5236
+ type UpdateDeploymentSettleGraceDurationInstructionData = {
5237
+ discriminator: ReadonlyUint8Array;
5238
+ newGraceDuration: bigint;
5239
+ };
5240
+ type UpdateDeploymentSettleGraceDurationInstructionDataArgs = {
5241
+ newGraceDuration: number | bigint;
5242
+ };
5243
+ declare function getUpdateDeploymentSettleGraceDurationInstructionDataEncoder(): FixedSizeEncoder<UpdateDeploymentSettleGraceDurationInstructionDataArgs>;
5244
+ declare function getUpdateDeploymentSettleGraceDurationInstructionDataDecoder(): FixedSizeDecoder<UpdateDeploymentSettleGraceDurationInstructionData>;
5245
+ declare function getUpdateDeploymentSettleGraceDurationInstructionDataCodec(): FixedSizeCodec<UpdateDeploymentSettleGraceDurationInstructionDataArgs, UpdateDeploymentSettleGraceDurationInstructionData>;
5246
+ type UpdateDeploymentSettleGraceDurationAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string> = {
5247
+ authority: TransactionSigner<TAccountAuthority>;
5248
+ satrushConfig?: Address<TAccountSatrushConfig>;
5249
+ newGraceDuration: UpdateDeploymentSettleGraceDurationInstructionDataArgs['newGraceDuration'];
5250
+ };
5251
+ declare function getUpdateDeploymentSettleGraceDurationInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: UpdateDeploymentSettleGraceDurationAsyncInput<TAccountAuthority, TAccountSatrushConfig>, config?: {
5252
+ programAddress?: TProgramAddress;
5253
+ }): Promise<UpdateDeploymentSettleGraceDurationInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig>>;
5254
+ type UpdateDeploymentSettleGraceDurationInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string> = {
5255
+ authority: TransactionSigner<TAccountAuthority>;
5256
+ satrushConfig: Address<TAccountSatrushConfig>;
5257
+ newGraceDuration: UpdateDeploymentSettleGraceDurationInstructionDataArgs['newGraceDuration'];
5258
+ };
5259
+ declare function getUpdateDeploymentSettleGraceDurationInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: UpdateDeploymentSettleGraceDurationInput<TAccountAuthority, TAccountSatrushConfig>, config?: {
5260
+ programAddress?: TProgramAddress;
5261
+ }): UpdateDeploymentSettleGraceDurationInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig>;
5262
+ type ParsedUpdateDeploymentSettleGraceDurationInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
5263
+ programAddress: Address<TProgram>;
5264
+ accounts: {
5265
+ authority: TAccountMetas[0];
5266
+ satrushConfig: TAccountMetas[1];
5267
+ };
5268
+ data: UpdateDeploymentSettleGraceDurationInstructionData;
5269
+ };
5270
+ declare function parseUpdateDeploymentSettleGraceDurationInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedUpdateDeploymentSettleGraceDurationInstruction<TProgram, TAccountMetas>;
5271
+
5272
+ /**
5273
+ * This code was AUTOGENERATED using the Codama library.
5274
+ * Please DO NOT EDIT THIS FILE, instead use visitors
5275
+ * to add features, then rerun Codama to update it.
5276
+ *
5277
+ * @see https://github.com/codama-idl/codama
5278
+ */
5279
+
5280
+ declare const UPDATE_EPOCH_VAULT_ITERATION_DURATION_DISCRIMINATOR: ReadonlyUint8Array;
5281
+ declare function getUpdateEpochVaultIterationDurationDiscriminatorBytes(): ReadonlyUint8Array;
5282
+ 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<[
5283
+ TAccountAuthority extends string ? ReadonlySignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
5284
+ TAccountSatrushConfig extends string ? WritableAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
5285
+ ...TRemainingAccounts
5286
+ ]>;
5287
+ type UpdateEpochVaultIterationDurationInstructionData = {
5288
+ discriminator: ReadonlyUint8Array;
5289
+ newIterationDuration: bigint;
5290
+ };
5291
+ type UpdateEpochVaultIterationDurationInstructionDataArgs = {
5292
+ newIterationDuration: number | bigint;
5293
+ };
5294
+ declare function getUpdateEpochVaultIterationDurationInstructionDataEncoder(): FixedSizeEncoder<UpdateEpochVaultIterationDurationInstructionDataArgs>;
5295
+ declare function getUpdateEpochVaultIterationDurationInstructionDataDecoder(): FixedSizeDecoder<UpdateEpochVaultIterationDurationInstructionData>;
5296
+ declare function getUpdateEpochVaultIterationDurationInstructionDataCodec(): FixedSizeCodec<UpdateEpochVaultIterationDurationInstructionDataArgs, UpdateEpochVaultIterationDurationInstructionData>;
5297
+ type UpdateEpochVaultIterationDurationAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string> = {
5298
+ authority: TransactionSigner<TAccountAuthority>;
5299
+ satrushConfig?: Address<TAccountSatrushConfig>;
5300
+ newIterationDuration: UpdateEpochVaultIterationDurationInstructionDataArgs['newIterationDuration'];
5301
+ };
5302
+ declare function getUpdateEpochVaultIterationDurationInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: UpdateEpochVaultIterationDurationAsyncInput<TAccountAuthority, TAccountSatrushConfig>, config?: {
5303
+ programAddress?: TProgramAddress;
5304
+ }): Promise<UpdateEpochVaultIterationDurationInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig>>;
5305
+ type UpdateEpochVaultIterationDurationInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string> = {
5306
+ authority: TransactionSigner<TAccountAuthority>;
5307
+ satrushConfig: Address<TAccountSatrushConfig>;
5308
+ newIterationDuration: UpdateEpochVaultIterationDurationInstructionDataArgs['newIterationDuration'];
5309
+ };
5310
+ declare function getUpdateEpochVaultIterationDurationInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: UpdateEpochVaultIterationDurationInput<TAccountAuthority, TAccountSatrushConfig>, config?: {
5311
+ programAddress?: TProgramAddress;
5312
+ }): UpdateEpochVaultIterationDurationInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig>;
5313
+ type ParsedUpdateEpochVaultIterationDurationInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
5314
+ programAddress: Address<TProgram>;
5315
+ accounts: {
5316
+ authority: TAccountMetas[0];
5317
+ satrushConfig: TAccountMetas[1];
5318
+ };
5319
+ data: UpdateEpochVaultIterationDurationInstructionData;
5320
+ };
5321
+ declare function parseUpdateEpochVaultIterationDurationInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedUpdateEpochVaultIterationDurationInstruction<TProgram, TAccountMetas>;
5322
+
5323
+ /**
5324
+ * This code was AUTOGENERATED using the Codama library.
5325
+ * Please DO NOT EDIT THIS FILE, instead use visitors
5326
+ * to add features, then rerun Codama to update it.
5327
+ *
5328
+ * @see https://github.com/codama-idl/codama
5329
+ */
5330
+
5331
+ declare const UPDATE_MIN_DEPLOY_USD_AMOUNT_DISCRIMINATOR: ReadonlyUint8Array;
5332
+ declare function getUpdateMinDeployUsdAmountDiscriminatorBytes(): ReadonlyUint8Array;
5333
+ 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<[
5334
+ TAccountAuthority extends string ? ReadonlySignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
5335
+ TAccountSatrushConfig extends string ? WritableAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
5336
+ ...TRemainingAccounts
5337
+ ]>;
5338
+ type UpdateMinDeployUsdAmountInstructionData = {
5339
+ discriminator: ReadonlyUint8Array;
5340
+ newMinDeployUsdAmount: bigint;
5341
+ };
5342
+ type UpdateMinDeployUsdAmountInstructionDataArgs = {
5343
+ newMinDeployUsdAmount: number | bigint;
5344
+ };
5345
+ declare function getUpdateMinDeployUsdAmountInstructionDataEncoder(): FixedSizeEncoder<UpdateMinDeployUsdAmountInstructionDataArgs>;
5346
+ declare function getUpdateMinDeployUsdAmountInstructionDataDecoder(): FixedSizeDecoder<UpdateMinDeployUsdAmountInstructionData>;
5347
+ declare function getUpdateMinDeployUsdAmountInstructionDataCodec(): FixedSizeCodec<UpdateMinDeployUsdAmountInstructionDataArgs, UpdateMinDeployUsdAmountInstructionData>;
5348
+ type UpdateMinDeployUsdAmountAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string> = {
5349
+ authority: TransactionSigner<TAccountAuthority>;
5350
+ satrushConfig?: Address<TAccountSatrushConfig>;
5351
+ newMinDeployUsdAmount: UpdateMinDeployUsdAmountInstructionDataArgs['newMinDeployUsdAmount'];
5352
+ };
5353
+ declare function getUpdateMinDeployUsdAmountInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: UpdateMinDeployUsdAmountAsyncInput<TAccountAuthority, TAccountSatrushConfig>, config?: {
5354
+ programAddress?: TProgramAddress;
5355
+ }): Promise<UpdateMinDeployUsdAmountInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig>>;
5356
+ type UpdateMinDeployUsdAmountInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string> = {
5357
+ authority: TransactionSigner<TAccountAuthority>;
5358
+ satrushConfig: Address<TAccountSatrushConfig>;
5359
+ newMinDeployUsdAmount: UpdateMinDeployUsdAmountInstructionDataArgs['newMinDeployUsdAmount'];
5360
+ };
5361
+ declare function getUpdateMinDeployUsdAmountInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: UpdateMinDeployUsdAmountInput<TAccountAuthority, TAccountSatrushConfig>, config?: {
5362
+ programAddress?: TProgramAddress;
5363
+ }): UpdateMinDeployUsdAmountInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig>;
5364
+ type ParsedUpdateMinDeployUsdAmountInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
5365
+ programAddress: Address<TProgram>;
5366
+ accounts: {
5367
+ authority: TAccountMetas[0];
5368
+ satrushConfig: TAccountMetas[1];
5369
+ };
5370
+ data: UpdateMinDeployUsdAmountInstructionData;
5371
+ };
5372
+ declare function parseUpdateMinDeployUsdAmountInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedUpdateMinDeployUsdAmountInstruction<TProgram, TAccountMetas>;
5373
+
5374
+ /**
5375
+ * This code was AUTOGENERATED using the Codama library.
5376
+ * Please DO NOT EDIT THIS FILE, instead use visitors
5377
+ * to add features, then rerun Codama to update it.
5378
+ *
5379
+ * @see https://github.com/codama-idl/codama
5380
+ */
5381
+
5382
+ declare const UPDATE_UNCLAIMED_HASHRATE_BPS_DISCRIMINATOR: ReadonlyUint8Array;
5383
+ declare function getUpdateUnclaimedHashrateBpsDiscriminatorBytes(): ReadonlyUint8Array;
5384
+ 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<[
5385
+ TAccountAuthority extends string ? ReadonlySignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
5386
+ TAccountSatrushConfig extends string ? WritableAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
5387
+ ...TRemainingAccounts
5388
+ ]>;
5389
+ type UpdateUnclaimedHashrateBpsInstructionData = {
5390
+ discriminator: ReadonlyUint8Array;
5391
+ newUnclaimedHashrateBps: number;
5392
+ };
5393
+ type UpdateUnclaimedHashrateBpsInstructionDataArgs = {
5394
+ newUnclaimedHashrateBps: number;
5395
+ };
5396
+ declare function getUpdateUnclaimedHashrateBpsInstructionDataEncoder(): FixedSizeEncoder<UpdateUnclaimedHashrateBpsInstructionDataArgs>;
5397
+ declare function getUpdateUnclaimedHashrateBpsInstructionDataDecoder(): FixedSizeDecoder<UpdateUnclaimedHashrateBpsInstructionData>;
5398
+ declare function getUpdateUnclaimedHashrateBpsInstructionDataCodec(): FixedSizeCodec<UpdateUnclaimedHashrateBpsInstructionDataArgs, UpdateUnclaimedHashrateBpsInstructionData>;
5399
+ type UpdateUnclaimedHashrateBpsAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string> = {
5400
+ authority: TransactionSigner<TAccountAuthority>;
5401
+ satrushConfig?: Address<TAccountSatrushConfig>;
5402
+ newUnclaimedHashrateBps: UpdateUnclaimedHashrateBpsInstructionDataArgs['newUnclaimedHashrateBps'];
5403
+ };
5404
+ declare function getUpdateUnclaimedHashrateBpsInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: UpdateUnclaimedHashrateBpsAsyncInput<TAccountAuthority, TAccountSatrushConfig>, config?: {
5405
+ programAddress?: TProgramAddress;
5406
+ }): Promise<UpdateUnclaimedHashrateBpsInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig>>;
5407
+ type UpdateUnclaimedHashrateBpsInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string> = {
5408
+ authority: TransactionSigner<TAccountAuthority>;
5409
+ satrushConfig: Address<TAccountSatrushConfig>;
5410
+ newUnclaimedHashrateBps: UpdateUnclaimedHashrateBpsInstructionDataArgs['newUnclaimedHashrateBps'];
5411
+ };
5412
+ declare function getUpdateUnclaimedHashrateBpsInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: UpdateUnclaimedHashrateBpsInput<TAccountAuthority, TAccountSatrushConfig>, config?: {
5413
+ programAddress?: TProgramAddress;
5414
+ }): UpdateUnclaimedHashrateBpsInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig>;
5415
+ type ParsedUpdateUnclaimedHashrateBpsInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
5416
+ programAddress: Address<TProgram>;
5417
+ accounts: {
5418
+ authority: TAccountMetas[0];
5419
+ satrushConfig: TAccountMetas[1];
5420
+ };
5421
+ data: UpdateUnclaimedHashrateBpsInstructionData;
5422
+ };
5423
+ declare function parseUpdateUnclaimedHashrateBpsInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedUpdateUnclaimedHashrateBpsInstruction<TProgram, TAccountMetas>;
5424
+
4935
5425
  /**
4936
5426
  * This code was AUTOGENERATED using the Codama library.
4937
5427
  * Please DO NOT EDIT THIS FILE, instead use visitors
@@ -4942,14 +5432,17 @@ declare function parseUpdateBoardRoundDurationInstruction<TProgram extends strin
4942
5432
 
4943
5433
  declare const WITHDRAW_PROTOCOL_FEES_DISCRIMINATOR: ReadonlyUint8Array;
4944
5434
  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<[
5435
+ 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
5436
  TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
4947
5437
  TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
4948
5438
  TAccountTreasury extends string ? WritableAccount<TAccountTreasury> : TAccountTreasury,
4949
5439
  TAccountUsdMint extends string ? ReadonlyAccount<TAccountUsdMint> : TAccountUsdMint,
4950
5440
  TAccountTreasuryUsdAta extends string ? WritableAccount<TAccountTreasuryUsdAta> : TAccountTreasuryUsdAta,
5441
+ TAccountBtcMint extends string ? ReadonlyAccount<TAccountBtcMint> : TAccountBtcMint,
5442
+ TAccountTreasuryBtcAta extends string ? WritableAccount<TAccountTreasuryBtcAta> : TAccountTreasuryBtcAta,
4951
5443
  TAccountFeeRecipient extends string ? ReadonlyAccount<TAccountFeeRecipient> : TAccountFeeRecipient,
4952
5444
  TAccountFeeRecipientUsdAta extends string ? WritableAccount<TAccountFeeRecipientUsdAta> : TAccountFeeRecipientUsdAta,
5445
+ TAccountFeeRecipientBtcAta extends string ? WritableAccount<TAccountFeeRecipientBtcAta> : TAccountFeeRecipientBtcAta,
4953
5446
  TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
4954
5447
  TAccountAssociatedTokenProgram extends string ? ReadonlyAccount<TAccountAssociatedTokenProgram> : TAccountAssociatedTokenProgram,
4955
5448
  TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
@@ -4962,7 +5455,7 @@ type WithdrawProtocolFeesInstructionDataArgs = {};
4962
5455
  declare function getWithdrawProtocolFeesInstructionDataEncoder(): FixedSizeEncoder<WithdrawProtocolFeesInstructionDataArgs>;
4963
5456
  declare function getWithdrawProtocolFeesInstructionDataDecoder(): FixedSizeDecoder<WithdrawProtocolFeesInstructionData>;
4964
5457
  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> = {
5458
+ 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
5459
  authority: TransactionSigner<TAccountAuthority>;
4967
5460
  satrushConfig?: Address<TAccountSatrushConfig>;
4968
5461
  /** The treasury: owns the fee pool and signs the withdrawal transfer. */
@@ -4970,6 +5463,12 @@ type WithdrawProtocolFeesAsyncInput<TAccountAuthority extends string = string, T
4970
5463
  usdMint: Address<TAccountUsdMint>;
4971
5464
  /** Treasury's USD fee pool — the withdrawal source. */
4972
5465
  treasuryUsdAta?: Address<TAccountTreasuryUsdAta>;
5466
+ btcMint: Address<TAccountBtcMint>;
5467
+ /**
5468
+ * Treasury's BTC pool — swept no-winner round pots. Created lazily: the
5469
+ * treasury predates the BTC side, so the ATA may not exist yet.
5470
+ */
5471
+ treasuryBtcAta?: Address<TAccountTreasuryBtcAta>;
4973
5472
  /** as the authority of the destination ATA. */
4974
5473
  feeRecipient: Address<TAccountFeeRecipient>;
4975
5474
  /**
@@ -4977,14 +5476,19 @@ type WithdrawProtocolFeesAsyncInput<TAccountAuthority extends string = string, T
4977
5476
  * crank if missing.
4978
5477
  */
4979
5478
  feeRecipientUsdAta?: Address<TAccountFeeRecipientUsdAta>;
5479
+ /**
5480
+ * Fee recipient's BTC account — the BTC withdrawal destination. Created by
5481
+ * the crank if missing.
5482
+ */
5483
+ feeRecipientBtcAta?: Address<TAccountFeeRecipientBtcAta>;
4980
5484
  tokenProgram?: Address<TAccountTokenProgram>;
4981
5485
  associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
4982
5486
  systemProgram?: Address<TAccountSystemProgram>;
4983
5487
  };
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?: {
5488
+ 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
5489
  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> = {
5490
+ }): Promise<WithdrawProtocolFeesInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountTreasury, TAccountUsdMint, TAccountTreasuryUsdAta, TAccountBtcMint, TAccountTreasuryBtcAta, TAccountFeeRecipient, TAccountFeeRecipientUsdAta, TAccountFeeRecipientBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>>;
5491
+ 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
5492
  authority: TransactionSigner<TAccountAuthority>;
4989
5493
  satrushConfig: Address<TAccountSatrushConfig>;
4990
5494
  /** The treasury: owns the fee pool and signs the withdrawal transfer. */
@@ -4992,6 +5496,12 @@ type WithdrawProtocolFeesInput<TAccountAuthority extends string = string, TAccou
4992
5496
  usdMint: Address<TAccountUsdMint>;
4993
5497
  /** Treasury's USD fee pool — the withdrawal source. */
4994
5498
  treasuryUsdAta: Address<TAccountTreasuryUsdAta>;
5499
+ btcMint: Address<TAccountBtcMint>;
5500
+ /**
5501
+ * Treasury's BTC pool — swept no-winner round pots. Created lazily: the
5502
+ * treasury predates the BTC side, so the ATA may not exist yet.
5503
+ */
5504
+ treasuryBtcAta: Address<TAccountTreasuryBtcAta>;
4995
5505
  /** as the authority of the destination ATA. */
4996
5506
  feeRecipient: Address<TAccountFeeRecipient>;
4997
5507
  /**
@@ -4999,13 +5509,18 @@ type WithdrawProtocolFeesInput<TAccountAuthority extends string = string, TAccou
4999
5509
  * crank if missing.
5000
5510
  */
5001
5511
  feeRecipientUsdAta: Address<TAccountFeeRecipientUsdAta>;
5512
+ /**
5513
+ * Fee recipient's BTC account — the BTC withdrawal destination. Created by
5514
+ * the crank if missing.
5515
+ */
5516
+ feeRecipientBtcAta: Address<TAccountFeeRecipientBtcAta>;
5002
5517
  tokenProgram?: Address<TAccountTokenProgram>;
5003
5518
  associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
5004
5519
  systemProgram?: Address<TAccountSystemProgram>;
5005
5520
  };
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?: {
5521
+ 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
5522
  programAddress?: TProgramAddress;
5008
- }): WithdrawProtocolFeesInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountTreasury, TAccountUsdMint, TAccountTreasuryUsdAta, TAccountFeeRecipient, TAccountFeeRecipientUsdAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>;
5523
+ }): WithdrawProtocolFeesInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountTreasury, TAccountUsdMint, TAccountTreasuryUsdAta, TAccountBtcMint, TAccountTreasuryBtcAta, TAccountFeeRecipient, TAccountFeeRecipientUsdAta, TAccountFeeRecipientBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>;
5009
5524
  type ParsedWithdrawProtocolFeesInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
5010
5525
  programAddress: Address<TProgram>;
5011
5526
  accounts: {
@@ -5016,16 +5531,27 @@ type ParsedWithdrawProtocolFeesInstruction<TProgram extends string = typeof SATR
5016
5531
  usdMint: TAccountMetas[3];
5017
5532
  /** Treasury's USD fee pool — the withdrawal source. */
5018
5533
  treasuryUsdAta: TAccountMetas[4];
5534
+ btcMint: TAccountMetas[5];
5535
+ /**
5536
+ * Treasury's BTC pool — swept no-winner round pots. Created lazily: the
5537
+ * treasury predates the BTC side, so the ATA may not exist yet.
5538
+ */
5539
+ treasuryBtcAta: TAccountMetas[6];
5019
5540
  /** as the authority of the destination ATA. */
5020
- feeRecipient: TAccountMetas[5];
5541
+ feeRecipient: TAccountMetas[7];
5021
5542
  /**
5022
5543
  * Fee recipient's USD account — the withdrawal destination. Created by the
5023
5544
  * crank if missing.
5024
5545
  */
5025
- feeRecipientUsdAta: TAccountMetas[6];
5026
- tokenProgram: TAccountMetas[7];
5027
- associatedTokenProgram: TAccountMetas[8];
5028
- systemProgram: TAccountMetas[9];
5546
+ feeRecipientUsdAta: TAccountMetas[8];
5547
+ /**
5548
+ * Fee recipient's BTC account — the BTC withdrawal destination. Created by
5549
+ * the crank if missing.
5550
+ */
5551
+ feeRecipientBtcAta: TAccountMetas[9];
5552
+ tokenProgram: TAccountMetas[10];
5553
+ associatedTokenProgram: TAccountMetas[11];
5554
+ systemProgram: TAccountMetas[12];
5029
5555
  };
5030
5556
  data: WithdrawProtocolFeesInstructionData;
5031
5557
  };
@@ -5104,6 +5630,59 @@ declare function buildCancelPublicAutomationInstruction(authority: Address, usdM
5104
5630
  */
5105
5631
  declare function buildExecutePublicAutomationInstruction(crankAuthority: Address, automationAuthority: Address, usdMint: Address, roundId: number, selectionMask: number | null): Promise<Instruction>;
5106
5632
 
5633
+ /** Display decimals of hashrate points, mirroring the program's `HASHRATE_DECIMALS`: 1 raw unit = 0.01 point. */
5634
+ declare const HASHRATE_DECIMALS = 2;
5635
+ /** Raw hashrate units per vault ticket, mirroring the program's `HASHRATE_PER_TICKET` (10^HASHRATE_DECIMALS): one ticket costs 1.00 point. */
5636
+ declare const HASHRATE_PER_TICKET = 100n;
5637
+ /** Loyalty channel weight (α) in the hashrate reward formula, mirroring the program's `LOYALTY_WEIGHT`. */
5638
+ declare const LOYALTY_WEIGHT = 1n;
5639
+ /** Skill channel weight (β) in the hashrate reward formula, mirroring the program's `SKILL_WEIGHT`. */
5640
+ declare const SKILL_WEIGHT = 1n;
5641
+ /**
5642
+ * Format raw hashrate units as the UI points amount with 2 decimals
5643
+ * ({@link HASHRATE_DECIMALS}): raw 101 → `"1.01"`. Lossless for the full
5644
+ * u64 range, unlike a number conversion.
5645
+ */
5646
+ declare function getHashrateUiAmount(hashrate: bigint): string;
5647
+ /**
5648
+ * Whole vault tickets purchasable with `hashrate` raw units, flooring at
5649
+ * {@link HASHRATE_PER_TICKET} raw units (1.00 point) per ticket.
5650
+ */
5651
+ declare function getHashrateTicketsCount(hashrate: bigint): bigint;
5652
+ /**
5653
+ * The reward one settled play would credit, split into its channels, as
5654
+ * computed by {@link hashrateReward}. `loyaltyPoints + skillPoints ===
5655
+ * total` by construction.
5656
+ */
5657
+ type HashrateReward = {
5658
+ /** α·m channel contribution (absorbs the rounding remainder). */
5659
+ loyaltyPoints: bigint;
5660
+ /** β·N/n channel contribution. */
5661
+ skillPoints: bigint;
5662
+ /** Total points that would be added to `Miner.hashrateAmount`. */
5663
+ total: bigint;
5664
+ };
5665
+ /**
5666
+ * Hashrate points a play would credit, mirroring the program's
5667
+ * `hashrate_reward` so a caller can preview them before deploying or
5668
+ * settling.
5669
+ *
5670
+ * - `stake` — net USD stake in the mint's native units
5671
+ * (`PublicDeployment.deployedUsdAmount` for an existing deployment).
5672
+ * - `streak` — the streak multiplier `m`, already capped
5673
+ * (`PublicDeployment.streakMultiplier` for an existing deployment, or
5674
+ * {@link nextStreakMultiplier} to preview an upcoming one).
5675
+ * - `covered` / `totalTiles` — tiles selected (`n`) out of the board (`N`,
5676
+ * {@link TILE_COUNT}); `covered` is in `1..=totalTiles`.
5677
+ * - `usdUnit` — `10^decimals` of the USD mint.
5678
+ *
5679
+ * The returned points are raw units with 2 display decimals
5680
+ * ({@link HASHRATE_DECIMALS}): raw 101 = 1.01 points.
5681
+ *
5682
+ * Returns an all-zero reward when `stake === 0n` or `covered === 0`.
5683
+ */
5684
+ declare function hashrateReward(stake: bigint, streak: number, covered: number, totalTiles: number, usdUnit: bigint): HashrateReward;
5685
+
5107
5686
  declare function getSatrushConfigAddress(): Promise<ProgramDerivedAddress>;
5108
5687
  /**
5109
5688
  * Anchor's event-CPI authority PDA — the extra account every `#[event_cpi]`
@@ -5124,6 +5703,12 @@ declare function getOneBtcVaultIterationAddress(iterationId: number): Promise<Pr
5124
5703
  declare function getTreasuryAddress(): Promise<ProgramDerivedAddress>;
5125
5704
  declare function getPublicAutomationAddress(authority: Address): Promise<ProgramDerivedAddress>;
5126
5705
 
5706
+ /**
5707
+ * Virtual share base used by the on-chain vault math (decimal offset of 3):
5708
+ * conversions behave as if `SHARE_OFFSET` extra shares and 1 extra satoshi
5709
+ * always exist, so an empty vault mints 1_000 shares per satoshi.
5710
+ */
5711
+ declare const SHARE_OFFSET = 1000n;
5127
5712
  /** BTC value of a sats-vault share amount, as computed by {@link satsToBtc}. */
5128
5713
  type BtcSharesValue = {
5129
5714
  /** Value at the current exchange rate, before the claim fee. */
@@ -5142,9 +5727,10 @@ declare function satsToBtc(shares: bigint, vaultAmount: bigint, vaultShares: big
5142
5727
  /**
5143
5728
  * Shares minted for depositing `btcAmount` BTC into a vault holding
5144
5729
  * `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`.
5730
+ * `SatsVault.btcShares`): scaled by the vault's virtual
5731
+ * `(shares + SHARE_OFFSET) / (assets + 1)` ratio and floored, so an empty
5732
+ * vault mints {@link SHARE_OFFSET} shares per satoshi. Throws when the result
5733
+ * exceeds `u64::MAX`.
5148
5734
  */
5149
5735
  declare function btcToSats(btcAmount: bigint, vaultAmount: bigint, vaultShares: bigint): bigint;
5150
5736
 
@@ -5165,4 +5751,25 @@ declare function selectionMaskFromTiles(tiles: boolean[]): number;
5165
5751
  */
5166
5752
  declare function tilesFromSelectionMask(mask: number): boolean[];
5167
5753
 
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 };
5754
+ /**
5755
+ * Cap on the streak multiplier credited toward the hashrate reward, mirroring
5756
+ * the program's `REWARD_MAX_STREAK`. The miner's live streak
5757
+ * (`Miner.currentStreakCount`) is uncapped; only the multiplier frozen onto a
5758
+ * deployment is clamped here.
5759
+ */
5760
+ declare const REWARD_MAX_STREAK = 100;
5761
+ /**
5762
+ * Streak multiplier a deploy into `nextRoundId` would freeze onto its
5763
+ * `PublicDeployment`, computed from the miner's live state without
5764
+ * submitting a transaction. Mirrors `Miner::record_play` followed by
5765
+ * `Miner::get_hashrate_streak_multiplier`; feed the result into
5766
+ * {@link hashrateReward} to preview the points a deploy would earn.
5767
+ *
5768
+ * `currentStreakCount` / `lastMinedRoundId` are the miner's live fields
5769
+ * (`Miner.currentStreakCount`, `Miner.lastMinedRoundId`); pass `0` for both
5770
+ * when the `Miner` account does not exist yet (a miner's first ever play),
5771
+ * matching the program's zeroed initial state.
5772
+ */
5773
+ declare function nextStreakMultiplier(currentStreakCount: number, lastMinedRoundId: number, nextRoundId: number): number;
5774
+
5775
+ 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 };