@satrush/client 0.1.3 → 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
@@ -208,6 +208,25 @@ declare function fetchAllEpochVaultEntry(rpc: Parameters<typeof fetchEncodedAcco
208
208
  declare function fetchAllMaybeEpochVaultEntry(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<MaybeAccount<EpochVaultEntry>[]>;
209
209
  declare function getEpochVaultEntrySize(): number;
210
210
 
211
+ /**
212
+ * This code was AUTOGENERATED using the Codama library.
213
+ * Please DO NOT EDIT THIS FILE, instead use visitors
214
+ * to add features, then rerun Codama to update it.
215
+ *
216
+ * @see https://github.com/codama-idl/codama
217
+ */
218
+
219
+ /** Tile-selection strategy for an automation's per-round deployments. */
220
+ declare enum AutomationStrategy {
221
+ Static = 0,
222
+ Random = 1,
223
+ Discretionary = 2
224
+ }
225
+ type AutomationStrategyArgs = AutomationStrategy;
226
+ declare function getAutomationStrategyEncoder(): FixedSizeEncoder<AutomationStrategyArgs>;
227
+ declare function getAutomationStrategyDecoder(): FixedSizeDecoder<AutomationStrategy>;
228
+ declare function getAutomationStrategyCodec(): FixedSizeCodec<AutomationStrategyArgs, AutomationStrategy>;
229
+
211
230
  /**
212
231
  * This code was AUTOGENERATED using the Codama library.
213
232
  * Please DO NOT EDIT THIS FILE, instead use visitors
@@ -408,6 +427,18 @@ type PublicDeploySettled = {
408
427
  wonSharesAmount: bigint;
409
428
  /** Hashrate points credited for the play. */
410
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;
435
+ /** The deployment was created by a `PublicAutomation`. */
436
+ isAutomation: boolean;
437
+ /**
438
+ * The USD winnings were reloaded into the automation's escrow (the
439
+ * reloaded amount equals `won_usd_amount` when true).
440
+ */
441
+ reload: boolean;
411
442
  };
412
443
  type PublicDeploySettledArgs = {
413
444
  authority: Address;
@@ -420,6 +451,18 @@ type PublicDeploySettledArgs = {
420
451
  wonSharesAmount: number | bigint;
421
452
  /** Hashrate points credited for the play. */
422
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;
459
+ /** The deployment was created by a `PublicAutomation`. */
460
+ isAutomation: boolean;
461
+ /**
462
+ * The USD winnings were reloaded into the automation's escrow (the
463
+ * reloaded amount equals `won_usd_amount` when true).
464
+ */
465
+ reload: boolean;
423
466
  };
424
467
  declare function getPublicDeploySettledEncoder(): FixedSizeEncoder<PublicDeploySettledArgs>;
425
468
  declare function getPublicDeploySettledDecoder(): FixedSizeDecoder<PublicDeploySettled>;
@@ -488,6 +531,42 @@ declare function getRoundStateEncoder(): FixedSizeEncoder<RoundStateArgs>;
488
531
  declare function getRoundStateDecoder(): FixedSizeDecoder<RoundState>;
489
532
  declare function getRoundStateCodec(): FixedSizeCodec<RoundStateArgs, RoundState>;
490
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
+
491
570
  /**
492
571
  * This code was AUTOGENERATED using the Codama library.
493
572
  * Please DO NOT EDIT THIS FILE, instead use visitors
@@ -721,12 +800,21 @@ type Miner = {
721
800
  unclaimedUsdAmount: bigint;
722
801
  /** Amount of unclaimed btc shares in Sats Vault */
723
802
  unclaimedBtcShares: bigint;
724
- /** 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
+ */
725
807
  hashrateAmount: bigint;
726
808
  /** Amount of consequential rounds played */
727
809
  currentStreakCount: number;
728
810
  /** Last played round id */
729
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;
730
818
  /** Reserved */
731
819
  reserved: ReadonlyUint8Array;
732
820
  };
@@ -741,12 +829,21 @@ type MinerArgs = {
741
829
  unclaimedUsdAmount: number | bigint;
742
830
  /** Amount of unclaimed btc shares in Sats Vault */
743
831
  unclaimedBtcShares: number | bigint;
744
- /** 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
+ */
745
836
  hashrateAmount: number | bigint;
746
837
  /** Amount of consequential rounds played */
747
838
  currentStreakCount: number;
748
839
  /** Last played round id */
749
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;
750
847
  /** Reserved */
751
848
  reserved: ReadonlyUint8Array;
752
849
  };
@@ -923,6 +1020,103 @@ declare function fetchAllOneBtcVaultIteration(rpc: Parameters<typeof fetchEncode
923
1020
  declare function fetchAllMaybeOneBtcVaultIteration(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<MaybeAccount<OneBtcVaultIteration>[]>;
924
1021
  declare function getOneBtcVaultIterationSize(): number;
925
1022
 
1023
+ /**
1024
+ * This code was AUTOGENERATED using the Codama library.
1025
+ * Please DO NOT EDIT THIS FILE, instead use visitors
1026
+ * to add features, then rerun Codama to update it.
1027
+ *
1028
+ * @see https://github.com/codama-idl/codama
1029
+ */
1030
+
1031
+ declare const PUBLIC_AUTOMATION_DISCRIMINATOR: ReadonlyUint8Array;
1032
+ declare function getPublicAutomationDiscriminatorBytes(): ReadonlyUint8Array;
1033
+ type PublicAutomation = {
1034
+ discriminator: ReadonlyUint8Array;
1035
+ /** Struct version. */
1036
+ version: number;
1037
+ /** PDA bump seed. */
1038
+ bump: number;
1039
+ /**
1040
+ * The user the automation plays for; also the `PublicDeployment.authority`
1041
+ * of every deployment it creates.
1042
+ */
1043
+ authority: Address;
1044
+ /** Tile-selection strategy. */
1045
+ strategy: AutomationStrategy;
1046
+ /**
1047
+ * Static: the mask used every round. Random: the initial mask whose
1048
+ * `count_ones()` fixes the generated tile count. Discretionary: 0.
1049
+ */
1050
+ selectionMask: number;
1051
+ /** Whether settled USD winnings reload `remaining_usd_amount`. */
1052
+ reload: boolean;
1053
+ /**
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.
1056
+ */
1057
+ perRoundUsdAmount: bigint;
1058
+ /** Escrowed funds still available; mirrors the automation's USD ATA. */
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;
1067
+ /** Reserved. */
1068
+ reserved: ReadonlyUint8Array;
1069
+ };
1070
+ type PublicAutomationArgs = {
1071
+ /** Struct version. */
1072
+ version: number;
1073
+ /** PDA bump seed. */
1074
+ bump: number;
1075
+ /**
1076
+ * The user the automation plays for; also the `PublicDeployment.authority`
1077
+ * of every deployment it creates.
1078
+ */
1079
+ authority: Address;
1080
+ /** Tile-selection strategy. */
1081
+ strategy: AutomationStrategyArgs;
1082
+ /**
1083
+ * Static: the mask used every round. Random: the initial mask whose
1084
+ * `count_ones()` fixes the generated tile count. Discretionary: 0.
1085
+ */
1086
+ selectionMask: number;
1087
+ /** Whether settled USD winnings reload `remaining_usd_amount`. */
1088
+ reload: boolean;
1089
+ /**
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.
1092
+ */
1093
+ perRoundUsdAmount: number | bigint;
1094
+ /** Escrowed funds still available; mirrors the automation's USD ATA. */
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;
1103
+ /** Reserved. */
1104
+ reserved: ReadonlyUint8Array;
1105
+ };
1106
+ /** Gets the encoder for {@link PublicAutomationArgs} account data. */
1107
+ declare function getPublicAutomationEncoder(): FixedSizeEncoder<PublicAutomationArgs>;
1108
+ /** Gets the decoder for {@link PublicAutomation} account data. */
1109
+ declare function getPublicAutomationDecoder(): FixedSizeDecoder<PublicAutomation>;
1110
+ /** Gets the codec for {@link PublicAutomation} account data. */
1111
+ declare function getPublicAutomationCodec(): FixedSizeCodec<PublicAutomationArgs, PublicAutomation>;
1112
+ declare function decodePublicAutomation<TAddress extends string = string>(encodedAccount: EncodedAccount<TAddress>): Account<PublicAutomation, TAddress>;
1113
+ declare function decodePublicAutomation<TAddress extends string = string>(encodedAccount: MaybeEncodedAccount<TAddress>): MaybeAccount<PublicAutomation, TAddress>;
1114
+ declare function fetchPublicAutomation<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<Account<PublicAutomation, TAddress>>;
1115
+ declare function fetchMaybePublicAutomation<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<MaybeAccount<PublicAutomation, TAddress>>;
1116
+ declare function fetchAllPublicAutomation(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<Account<PublicAutomation>[]>;
1117
+ declare function fetchAllMaybePublicAutomation(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<MaybeAccount<PublicAutomation>[]>;
1118
+ declare function getPublicAutomationSize(): number;
1119
+
926
1120
  /**
927
1121
  * This code was AUTOGENERATED using the Codama library.
928
1122
  * Please DO NOT EDIT THIS FILE, instead use visitors
@@ -943,8 +1137,10 @@ type PublicDeployment = {
943
1137
  authority: Address;
944
1138
  /** Deployment round id. */
945
1139
  roundId: number;
946
- /** Amount of deployed USD after protocol fees. */
1140
+ /** Gross USD amount the user provided at deploy time, before the fees */
947
1141
  deployedUsdAmount: bigint;
1142
+ /** Total USD stake after protocol fees are taken. */
1143
+ totalStakeUsdAmount: bigint;
948
1144
  /** 21-bit selection mask */
949
1145
  selectionMask: number;
950
1146
  /**
@@ -952,9 +1148,12 @@ type PublicDeployment = {
952
1148
  * the reward reflects the streak this play earned, not the miner's live
953
1149
  * streak (which advances on later deploys).
954
1150
  */
955
- streakSnapshot: number;
956
- /** Auto-miner session PDA that created this miner, or `None` for manual miners. */
957
- autoMinerSession: Option<Address>;
1151
+ streakMultiplier: number;
1152
+ /**
1153
+ * `PublicAutomation` PDA that created this deployment, or `None` for
1154
+ * manual deploys. Settlement reads it to route USD winnings and rent.
1155
+ */
1156
+ automation: Option<Address>;
958
1157
  /** Reserved */
959
1158
  reserved: ReadonlyUint8Array;
960
1159
  };
@@ -967,8 +1166,10 @@ type PublicDeploymentArgs = {
967
1166
  authority: Address;
968
1167
  /** Deployment round id. */
969
1168
  roundId: number;
970
- /** Amount of deployed USD after protocol fees. */
1169
+ /** Gross USD amount the user provided at deploy time, before the fees */
971
1170
  deployedUsdAmount: number | bigint;
1171
+ /** Total USD stake after protocol fees are taken. */
1172
+ totalStakeUsdAmount: number | bigint;
972
1173
  /** 21-bit selection mask */
973
1174
  selectionMask: number;
974
1175
  /**
@@ -976,9 +1177,12 @@ type PublicDeploymentArgs = {
976
1177
  * the reward reflects the streak this play earned, not the miner's live
977
1178
  * streak (which advances on later deploys).
978
1179
  */
979
- streakSnapshot: number;
980
- /** Auto-miner session PDA that created this miner, or `None` for manual miners. */
981
- autoMinerSession: OptionOrNullable<Address>;
1180
+ streakMultiplier: number;
1181
+ /**
1182
+ * `PublicAutomation` PDA that created this deployment, or `None` for
1183
+ * manual deploys. Settlement reads it to route USD winnings and rent.
1184
+ */
1185
+ automation: OptionOrNullable<Address>;
982
1186
  /** Reserved */
983
1187
  reserved: ReadonlyUint8Array;
984
1188
  };
@@ -1015,8 +1219,8 @@ type Round = {
1015
1219
  id: number;
1016
1220
  /** Round state */
1017
1221
  state: RoundState;
1018
- /** Entropy value, derived from the slot hashes */
1019
- entropy: ReadonlyUint8Array;
1222
+ /** Raw blockhash entropy, read from the SlotHashes sysvar at reveal. */
1223
+ blockhashEntropy: ReadonlyUint8Array;
1020
1224
  /** Winning tile index, revealed upon settlement */
1021
1225
  winningTile: Option<number>;
1022
1226
  /** Total net USD deployed into the round before the USD->BTC swap */
@@ -1029,12 +1233,7 @@ type Round = {
1029
1233
  deployedUsdOnWinningTileAmount: bigint;
1030
1234
  /** Total amount of players in the round */
1031
1235
  minersCount: number;
1032
- /**
1033
- * Number of miners whose selection is revealed. Public deploys are revealed
1034
- * by construction, so they advance this counter at deploy time; future
1035
- * private deploys join `miners_count` first and catch up here on reveal.
1036
- * The round can only settle once it equals `miners_count`.
1037
- */
1236
+ /** Number of miners whose selection is revealed. */
1038
1237
  revealedMinersCount: number;
1039
1238
  /** Total amount of winners, revealed during settlement */
1040
1239
  winnersCount: number;
@@ -1050,6 +1249,19 @@ type Round = {
1050
1249
  * tile's totals without a per-deployment settlement pass.
1051
1250
  */
1052
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;
1053
1265
  /** Reserved. */
1054
1266
  reserved: ReadonlyUint8Array;
1055
1267
  };
@@ -1062,8 +1274,8 @@ type RoundArgs = {
1062
1274
  id: number;
1063
1275
  /** Round state */
1064
1276
  state: RoundStateArgs;
1065
- /** Entropy value, derived from the slot hashes */
1066
- entropy: ReadonlyUint8Array;
1277
+ /** Raw blockhash entropy, read from the SlotHashes sysvar at reveal. */
1278
+ blockhashEntropy: ReadonlyUint8Array;
1067
1279
  /** Winning tile index, revealed upon settlement */
1068
1280
  winningTile: OptionOrNullable<number>;
1069
1281
  /** Total net USD deployed into the round before the USD->BTC swap */
@@ -1076,12 +1288,7 @@ type RoundArgs = {
1076
1288
  deployedUsdOnWinningTileAmount: number | bigint;
1077
1289
  /** Total amount of players in the round */
1078
1290
  minersCount: number;
1079
- /**
1080
- * Number of miners whose selection is revealed. Public deploys are revealed
1081
- * by construction, so they advance this counter at deploy time; future
1082
- * private deploys join `miners_count` first and catch up here on reveal.
1083
- * The round can only settle once it equals `miners_count`.
1084
- */
1291
+ /** Number of miners whose selection is revealed. */
1085
1292
  revealedMinersCount: number;
1086
1293
  /** Total amount of winners, revealed during settlement */
1087
1294
  winnersCount: number;
@@ -1097,6 +1304,19 @@ type RoundArgs = {
1097
1304
  * tile's totals without a per-deployment settlement pass.
1098
1305
  */
1099
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;
1100
1320
  /** Reserved. */
1101
1321
  reserved: ReadonlyUint8Array;
1102
1322
  };
@@ -1129,10 +1349,10 @@ type SatrushConfig = {
1129
1349
  version: number;
1130
1350
  /** Bump seed for the config account. */
1131
1351
  bump: number;
1132
- /** Current update authority address for both Config and other PDAs - can be updated. */
1133
- adminAuthority: Address;
1134
1352
  /** Owner of the program. Can change ownership and set the admin of the program. */
1135
1353
  ownerAuthority: Address;
1354
+ /** Current update authority address for both Config and other PDAs - can be updated. */
1355
+ adminAuthority: Address;
1136
1356
  /** Address of the authority controlling the round flow. */
1137
1357
  roundAuthority: Address;
1138
1358
  /** Protocol fees recipient address. */
@@ -1153,6 +1373,18 @@ type SatrushConfig = {
1153
1373
  satsVaultClaimFeeBps: number;
1154
1374
  /** Protocol fee in basis points. */
1155
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;
1156
1388
  /** Reserved */
1157
1389
  reserved: ReadonlyUint8Array;
1158
1390
  };
@@ -1161,10 +1393,10 @@ type SatrushConfigArgs = {
1161
1393
  version: number;
1162
1394
  /** Bump seed for the config account. */
1163
1395
  bump: number;
1164
- /** Current update authority address for both Config and other PDAs - can be updated. */
1165
- adminAuthority: Address;
1166
1396
  /** Owner of the program. Can change ownership and set the admin of the program. */
1167
1397
  ownerAuthority: Address;
1398
+ /** Current update authority address for both Config and other PDAs - can be updated. */
1399
+ adminAuthority: Address;
1168
1400
  /** Address of the authority controlling the round flow. */
1169
1401
  roundAuthority: Address;
1170
1402
  /** Protocol fees recipient address. */
@@ -1185,6 +1417,18 @@ type SatrushConfigArgs = {
1185
1417
  satsVaultClaimFeeBps: number;
1186
1418
  /** Protocol fee in basis points. */
1187
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;
1188
1432
  /** Reserved */
1189
1433
  reserved: ReadonlyUint8Array;
1190
1434
  };
@@ -1218,10 +1462,19 @@ type SatsVault = {
1218
1462
  version: number;
1219
1463
  /** PDA bump seed. */
1220
1464
  bump: number;
1221
- /** 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
+ */
1222
1469
  btcAmount: bigint;
1223
1470
  /** Total shares issued against `btc_amount`. */
1224
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;
1225
1478
  /** Reserved */
1226
1479
  reserved: ReadonlyUint8Array;
1227
1480
  };
@@ -1230,10 +1483,19 @@ type SatsVaultArgs = {
1230
1483
  version: number;
1231
1484
  /** PDA bump seed. */
1232
1485
  bump: number;
1233
- /** 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
+ */
1234
1490
  btcAmount: number | bigint;
1235
1491
  /** Total shares issued against `btc_amount`. */
1236
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;
1237
1499
  /** Reserved */
1238
1500
  reserved: ReadonlyUint8Array;
1239
1501
  };
@@ -1269,6 +1531,8 @@ type Treasury = {
1269
1531
  bump: number;
1270
1532
  /** USD protocol fees accrued and not yet withdrawn; mirrors the ATA balance. */
1271
1533
  pendingUsdAmount: bigint;
1534
+ /** BTC swept from no-winner rounds and not yet withdrawn; */
1535
+ pendingBtcAmount: bigint;
1272
1536
  /** Reserved. */
1273
1537
  reserved: ReadonlyUint8Array;
1274
1538
  };
@@ -1279,6 +1543,8 @@ type TreasuryArgs = {
1279
1543
  bump: number;
1280
1544
  /** USD protocol fees accrued and not yet withdrawn; mirrors the ATA balance. */
1281
1545
  pendingUsdAmount: number | bigint;
1546
+ /** BTC swept from no-winner rounds and not yet withdrawn; */
1547
+ pendingBtcAmount: number | bigint;
1282
1548
  /** Reserved. */
1283
1549
  reserved: ReadonlyUint8Array;
1284
1550
  };
@@ -1330,85 +1596,81 @@ declare const SATRUSH_ERROR__ALREADY_REVEALED = 6010;
1330
1596
  declare const SATRUSH_ERROR__INVALID_SLOT_HASH = 6011;
1331
1597
  /** RoundNotRevealed: Round winning tile has not been revealed yet */
1332
1598
  declare const SATRUSH_ERROR__ROUND_NOT_REVEALED = 6012;
1333
- /** AlreadySettled: Deployment has already been settled */
1334
- 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;
1335
1601
  /** RoundNotSettled: Round is not in the settled state */
1336
1602
  declare const SATRUSH_ERROR__ROUND_NOT_SETTLED = 6014;
1337
- /** DeploymentNotSettled: Deployment has not been settled yet */
1338
- declare const SATRUSH_ERROR__DEPLOYMENT_NOT_SETTLED = 6015;
1339
- /** RoundWindowClosed: Round is not currently accepting deploys (window closed) */
1340
- declare const SATRUSH_ERROR__ROUND_WINDOW_CLOSED = 6016;
1341
- /** BoardAlreadyBootstrapped: Board already has a round; use advance_round to rotate */
1342
- declare const SATRUSH_ERROR__BOARD_ALREADY_BOOTSTRAPPED = 6017;
1343
1603
  /** InvalidSwapProgram: Swap program account does not match the configured swap program */
1344
- declare const SATRUSH_ERROR__INVALID_SWAP_PROGRAM = 6018;
1604
+ declare const SATRUSH_ERROR__INVALID_SWAP_PROGRAM = 6015;
1345
1605
  /** AlreadySwapped: Round stake has already been swapped into BTC */
1346
- declare const SATRUSH_ERROR__ALREADY_SWAPPED = 6019;
1606
+ declare const SATRUSH_ERROR__ALREADY_SWAPPED = 6016;
1347
1607
  /** SwapOverspent: Swap spent more USD than the budgeted amount */
1348
- declare const SATRUSH_ERROR__SWAP_OVERSPENT = 6020;
1608
+ declare const SATRUSH_ERROR__SWAP_OVERSPENT = 6017;
1349
1609
  /** SlippageExceeded: Swap output is below the minimum acceptable amount */
1350
- declare const SATRUSH_ERROR__SLIPPAGE_EXCEEDED = 6021;
1351
- /** InvalidJupiterRoute: Invalid jupiter route was provided */
1352
- declare const SATRUSH_ERROR__INVALID_JUPITER_ROUTE = 6022;
1610
+ declare const SATRUSH_ERROR__SLIPPAGE_EXCEEDED = 6018;
1353
1611
  /** InvalidShareAmount: Share amount must be greater than zero */
1354
- declare const SATRUSH_ERROR__INVALID_SHARE_AMOUNT = 6023;
1612
+ declare const SATRUSH_ERROR__INVALID_SHARE_AMOUNT = 6019;
1355
1613
  /** InsufficientShares: Miner does not hold enough Sats Vault shares */
1356
- declare const SATRUSH_ERROR__INSUFFICIENT_SHARES = 6024;
1614
+ declare const SATRUSH_ERROR__INSUFFICIENT_SHARES = 6020;
1357
1615
  /** StrikeAlreadyTriggered: Strike jackpot was already triggered on the provided round */
1358
- declare const SATRUSH_ERROR__STRIKE_ALREADY_TRIGGERED = 6025;
1359
- /** StrikeBelowThreshold: Strike pending balance is below the swap threshold */
1360
- declare const SATRUSH_ERROR__STRIKE_BELOW_THRESHOLD = 6026;
1616
+ declare const SATRUSH_ERROR__STRIKE_ALREADY_TRIGGERED = 6021;
1361
1617
  /** EpochNotOpen: Epoch iteration is not accepting ticket purchases */
1362
- declare const SATRUSH_ERROR__EPOCH_NOT_OPEN = 6027;
1618
+ declare const SATRUSH_ERROR__EPOCH_NOT_OPEN = 6022;
1363
1619
  /** EpochWindowNotElapsed: Epoch iteration window has not elapsed yet */
1364
- declare const SATRUSH_ERROR__EPOCH_WINDOW_NOT_ELAPSED = 6028;
1365
- /** EpochBelowThreshold: Epoch pending balance is below the swap threshold */
1366
- declare const SATRUSH_ERROR__EPOCH_BELOW_THRESHOLD = 6029;
1620
+ declare const SATRUSH_ERROR__EPOCH_WINDOW_NOT_ELAPSED = 6023;
1367
1621
  /** EpochNotSettling: Epoch iteration is not in the settling state */
1368
- declare const SATRUSH_ERROR__EPOCH_NOT_SETTLING = 6030;
1622
+ declare const SATRUSH_ERROR__EPOCH_NOT_SETTLING = 6024;
1369
1623
  /** EpochNotSettled: Epoch iteration is not in the settled state */
1370
- declare const SATRUSH_ERROR__EPOCH_NOT_SETTLED = 6031;
1624
+ declare const SATRUSH_ERROR__EPOCH_NOT_SETTLED = 6025;
1371
1625
  /** EpochInvalidPage: Supplied page does not contain the current winning ticket */
1372
- declare const SATRUSH_ERROR__EPOCH_INVALID_PAGE = 6032;
1626
+ declare const SATRUSH_ERROR__EPOCH_INVALID_PAGE = 6026;
1373
1627
  /** EpochNotAWinner: Signer is not a winner of this epoch draw */
1374
- declare const SATRUSH_ERROR__EPOCH_NOT_A_WINNER = 6033;
1628
+ declare const SATRUSH_ERROR__EPOCH_NOT_A_WINNER = 6027;
1375
1629
  /** EpochAlreadyClaimed: Epoch reward has already been claimed */
1376
- declare const SATRUSH_ERROR__EPOCH_ALREADY_CLAIMED = 6034;
1630
+ declare const SATRUSH_ERROR__EPOCH_ALREADY_CLAIMED = 6028;
1377
1631
  /** EpochMaxParticipants: Epoch iteration has reached the maximum number of participants */
1378
- declare const SATRUSH_ERROR__EPOCH_MAX_PARTICIPANTS = 6035;
1379
- /** EpochBelowMinHashrate: Hashrate spent is below the minimum required for entry */
1380
- 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;
1381
1635
  /** InsufficientHashrate: Miner does not have enough hashrate */
1382
- declare const SATRUSH_ERROR__INSUFFICIENT_HASHRATE = 6037;
1636
+ declare const SATRUSH_ERROR__INSUFFICIENT_HASHRATE = 6031;
1383
1637
  /** OneBtcNotOpen: 1 BTC Vault iteration is not accepting ticket purchases */
1384
- declare const SATRUSH_ERROR__ONE_BTC_NOT_OPEN = 6038;
1638
+ declare const SATRUSH_ERROR__ONE_BTC_NOT_OPEN = 6032;
1385
1639
  /** OneBtcNotSettled: 1 BTC Vault iteration is not in the settled state */
1386
- declare const SATRUSH_ERROR__ONE_BTC_NOT_SETTLED = 6039;
1387
- /** OneBtcBelowThreshold: 1 BTC Vault pending balance is below the swap threshold */
1388
- declare const SATRUSH_ERROR__ONE_BTC_BELOW_THRESHOLD = 6040;
1640
+ declare const SATRUSH_ERROR__ONE_BTC_NOT_SETTLED = 6033;
1389
1641
  /** OneBtcNotTriggerable: 1 BTC Vault has not accumulated enough BTC to trigger a draw */
1390
- declare const SATRUSH_ERROR__ONE_BTC_NOT_TRIGGERABLE = 6041;
1642
+ declare const SATRUSH_ERROR__ONE_BTC_NOT_TRIGGERABLE = 6034;
1391
1643
  /** OneBtcNoParticipants: 1 BTC Vault draw has no participants */
1392
- declare const SATRUSH_ERROR__ONE_BTC_NO_PARTICIPANTS = 6042;
1644
+ declare const SATRUSH_ERROR__ONE_BTC_NO_PARTICIPANTS = 6035;
1393
1645
  /** OneBtcNotAWinner: Ticket does not hold the winning ticket for this draw */
1394
- declare const SATRUSH_ERROR__ONE_BTC_NOT_A_WINNER = 6043;
1395
- /** OneBtcBelowMinHashrate: Hashrate spent is below the minimum required for a ticket purchase */
1396
- declare const SATRUSH_ERROR__ONE_BTC_BELOW_MIN_HASHRATE = 6044;
1646
+ declare const SATRUSH_ERROR__ONE_BTC_NOT_A_WINNER = 6036;
1397
1647
  /** OneBtcWinningTicketLocked: The winning ticket cannot be closed until the prize is claimed */
1398
- declare const SATRUSH_ERROR__ONE_BTC_WINNING_TICKET_LOCKED = 6045;
1648
+ declare const SATRUSH_ERROR__ONE_BTC_WINNING_TICKET_LOCKED = 6037;
1399
1649
  /** EpochPageAlreadySealed: Epoch page has already been sealed */
1400
- declare const SATRUSH_ERROR__EPOCH_PAGE_ALREADY_SEALED = 6046;
1650
+ declare const SATRUSH_ERROR__EPOCH_PAGE_ALREADY_SEALED = 6038;
1401
1651
  /** EpochPageNotSealed: Epoch page is not sealed yet */
1402
- declare const SATRUSH_ERROR__EPOCH_PAGE_NOT_SEALED = 6047;
1652
+ declare const SATRUSH_ERROR__EPOCH_PAGE_NOT_SEALED = 6039;
1403
1653
  /** EpochSealMismatch: Epoch sealed page chain does not reconcile with the iteration's ticket total */
1404
- declare const SATRUSH_ERROR__EPOCH_SEAL_MISMATCH = 6048;
1654
+ declare const SATRUSH_ERROR__EPOCH_SEAL_MISMATCH = 6040;
1405
1655
  /** TreasuryEmpty: Treasury has no accrued fees to withdraw */
1406
- declare const SATRUSH_ERROR__TREASURY_EMPTY = 6049;
1656
+ declare const SATRUSH_ERROR__TREASURY_EMPTY = 6041;
1407
1657
  /** InvalidClaimAmount: Claim amount must be greater than zero */
1408
- declare const SATRUSH_ERROR__INVALID_CLAIM_AMOUNT = 6050;
1658
+ declare const SATRUSH_ERROR__INVALID_CLAIM_AMOUNT = 6042;
1409
1659
  /** InsufficientUnclaimedUsd: Miner does not hold enough unclaimed USD */
1410
- declare const SATRUSH_ERROR__INSUFFICIENT_UNCLAIMED_USD = 6051;
1411
- 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_HASHRATE | typeof SATRUSH_ERROR__INSUFFICIENT_SHARES | typeof SATRUSH_ERROR__INSUFFICIENT_UNCLAIMED_USD | 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;
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;
1663
+ /** InvalidAutomationAmount: Automation amount must be greater than zero */
1664
+ declare const SATRUSH_ERROR__INVALID_AUTOMATION_AMOUNT = 6045;
1665
+ /** InvalidAutomationStrategyMask: Selection mask does not match the automation strategy */
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;
1412
1674
  declare function getSatrushErrorMessage(code: SatrushError): string;
1413
1675
  declare function isSatrushError<TProgramErrorCode extends SatrushError>(error: unknown, transactionMessage: {
1414
1676
  instructions: Record<number, {
@@ -1522,6 +1784,21 @@ declare function findOneBtcVaultIterationPda(config?: {
1522
1784
  programAddress?: Address | undefined;
1523
1785
  }): Promise<ProgramDerivedAddress>;
1524
1786
 
1787
+ /**
1788
+ * This code was AUTOGENERATED using the Codama library.
1789
+ * Please DO NOT EDIT THIS FILE, instead use visitors
1790
+ * to add features, then rerun Codama to update it.
1791
+ *
1792
+ * @see https://github.com/codama-idl/codama
1793
+ */
1794
+
1795
+ type PublicAutomationSeeds = {
1796
+ authority: Address;
1797
+ };
1798
+ declare function findPublicAutomationPda(seeds: PublicAutomationSeeds, config?: {
1799
+ programAddress?: Address | undefined;
1800
+ }): Promise<ProgramDerivedAddress>;
1801
+
1525
1802
  /**
1526
1803
  * This code was AUTOGENERATED using the Codama library.
1527
1804
  * Please DO NOT EDIT THIS FILE, instead use visitors
@@ -1566,7 +1843,7 @@ declare function findTreasuryPda(config?: {
1566
1843
  * @see https://github.com/codama-idl/codama
1567
1844
  */
1568
1845
 
1569
- declare const SATRUSH_PROGRAM_ADDRESS: Address<"ADp1CgM1xEhyAoXL7zdqSsbHvR3Ug77iPQvyiQB7XGDE">;
1846
+ declare const SATRUSH_PROGRAM_ADDRESS: Address<"satRushGBRY2vgapeTAkoxz26vL2cYqyPi6CnBj7Tco">;
1570
1847
  declare enum SatrushAccount {
1571
1848
  Board = 0,
1572
1849
  EpochVault = 1,
@@ -1577,11 +1854,12 @@ declare enum SatrushAccount {
1577
1854
  OneBtcVault = 6,
1578
1855
  OneBtcVaultEntry = 7,
1579
1856
  OneBtcVaultIteration = 8,
1580
- PublicDeployment = 9,
1581
- Round = 10,
1582
- SatrushConfig = 11,
1583
- SatsVault = 12,
1584
- Treasury = 13
1857
+ PublicAutomation = 9,
1858
+ PublicDeployment = 10,
1859
+ Round = 11,
1860
+ SatrushConfig = 12,
1861
+ SatsVault = 13,
1862
+ Treasury = 14
1585
1863
  }
1586
1864
  declare function identifySatrushAccount(account: {
1587
1865
  data: ReadonlyUint8Array;
@@ -1589,43 +1867,54 @@ declare function identifySatrushAccount(account: {
1589
1867
  declare enum SatrushInstruction {
1590
1868
  BuyEpochTickets = 0,
1591
1869
  BuyOneBtcTickets = 1,
1592
- ClaimEpochReward = 2,
1593
- ClaimOneBtcReward = 3,
1594
- ClaimSats = 4,
1595
- ClaimUsd = 5,
1596
- CloseEpochEntry = 6,
1597
- CloseEpochIteration = 7,
1598
- CloseEpochPage = 8,
1599
- CloseOneBtcIteration = 9,
1600
- CloseOneBtcTicket = 10,
1601
- CreateBoard = 11,
1602
- CreateEpochVault = 12,
1603
- CreateOneBtcVault = 13,
1604
- CreateSatrushConfig = 14,
1605
- CreateSatsVault = 15,
1606
- CreateTreasury = 16,
1607
- DeployPublic = 17,
1608
- RotateRound = 18,
1609
- SealEpochPage = 19,
1610
- SelectEpochWinner = 20,
1611
- SettleDeployPublic = 21,
1612
- SwapEpochStake = 22,
1613
- SwapOneBtcStake = 23,
1614
- SwapRoundStake = 24,
1615
- SwapStrikeStake = 25,
1616
- TriggerEpochDraw = 26,
1617
- TriggerOneBtcDraw = 27,
1618
- UpdateBoardRoundDuration = 28,
1619
- WithdrawProtocolFees = 29
1870
+ CancelPublicAutomation = 2,
1871
+ ClaimEpochReward = 3,
1872
+ ClaimOneBtcReward = 4,
1873
+ ClaimSats = 5,
1874
+ ClaimUsd = 6,
1875
+ CloseEpochEntry = 7,
1876
+ CloseEpochIteration = 8,
1877
+ CloseEpochPage = 9,
1878
+ CloseOneBtcIteration = 10,
1879
+ CloseOneBtcTicket = 11,
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
1620
1907
  }
1621
1908
  declare function identifySatrushInstruction(instruction: {
1622
1909
  data: ReadonlyUint8Array;
1623
1910
  } | ReadonlyUint8Array): SatrushInstruction;
1624
- type ParsedSatrushInstruction<TProgram extends string = 'ADp1CgM1xEhyAoXL7zdqSsbHvR3Ug77iPQvyiQB7XGDE'> = ({
1911
+ type ParsedSatrushInstruction<TProgram extends string = 'satRushGBRY2vgapeTAkoxz26vL2cYqyPi6CnBj7Tco'> = ({
1625
1912
  instructionType: SatrushInstruction.BuyEpochTickets;
1626
1913
  } & ParsedBuyEpochTicketsInstruction<TProgram>) | ({
1627
1914
  instructionType: SatrushInstruction.BuyOneBtcTickets;
1628
1915
  } & ParsedBuyOneBtcTicketsInstruction<TProgram>) | ({
1916
+ instructionType: SatrushInstruction.CancelPublicAutomation;
1917
+ } & ParsedCancelPublicAutomationInstruction<TProgram>) | ({
1629
1918
  instructionType: SatrushInstruction.ClaimEpochReward;
1630
1919
  } & ParsedClaimEpochRewardInstruction<TProgram>) | ({
1631
1920
  instructionType: SatrushInstruction.ClaimOneBtcReward;
@@ -1644,12 +1933,16 @@ type ParsedSatrushInstruction<TProgram extends string = 'ADp1CgM1xEhyAoXL7zdqSsb
1644
1933
  } & ParsedCloseOneBtcIterationInstruction<TProgram>) | ({
1645
1934
  instructionType: SatrushInstruction.CloseOneBtcTicket;
1646
1935
  } & ParsedCloseOneBtcTicketInstruction<TProgram>) | ({
1936
+ instructionType: SatrushInstruction.CloseRound;
1937
+ } & ParsedCloseRoundInstruction<TProgram>) | ({
1647
1938
  instructionType: SatrushInstruction.CreateBoard;
1648
1939
  } & ParsedCreateBoardInstruction<TProgram>) | ({
1649
1940
  instructionType: SatrushInstruction.CreateEpochVault;
1650
1941
  } & ParsedCreateEpochVaultInstruction<TProgram>) | ({
1651
1942
  instructionType: SatrushInstruction.CreateOneBtcVault;
1652
1943
  } & ParsedCreateOneBtcVaultInstruction<TProgram>) | ({
1944
+ instructionType: SatrushInstruction.CreatePublicAutomation;
1945
+ } & ParsedCreatePublicAutomationInstruction<TProgram>) | ({
1653
1946
  instructionType: SatrushInstruction.CreateSatrushConfig;
1654
1947
  } & ParsedCreateSatrushConfigInstruction<TProgram>) | ({
1655
1948
  instructionType: SatrushInstruction.CreateSatsVault;
@@ -1658,6 +1951,8 @@ type ParsedSatrushInstruction<TProgram extends string = 'ADp1CgM1xEhyAoXL7zdqSsb
1658
1951
  } & ParsedCreateTreasuryInstruction<TProgram>) | ({
1659
1952
  instructionType: SatrushInstruction.DeployPublic;
1660
1953
  } & ParsedDeployPublicInstruction<TProgram>) | ({
1954
+ instructionType: SatrushInstruction.ExecutePublicAutomation;
1955
+ } & ParsedExecutePublicAutomationInstruction<TProgram>) | ({
1661
1956
  instructionType: SatrushInstruction.RotateRound;
1662
1957
  } & ParsedRotateRoundInstruction<TProgram>) | ({
1663
1958
  instructionType: SatrushInstruction.SealEpochPage;
@@ -1674,12 +1969,22 @@ type ParsedSatrushInstruction<TProgram extends string = 'ADp1CgM1xEhyAoXL7zdqSsb
1674
1969
  } & ParsedSwapRoundStakeInstruction<TProgram>) | ({
1675
1970
  instructionType: SatrushInstruction.SwapStrikeStake;
1676
1971
  } & ParsedSwapStrikeStakeInstruction<TProgram>) | ({
1972
+ instructionType: SatrushInstruction.TopUpPublicAutomation;
1973
+ } & ParsedTopUpPublicAutomationInstruction<TProgram>) | ({
1677
1974
  instructionType: SatrushInstruction.TriggerEpochDraw;
1678
1975
  } & ParsedTriggerEpochDrawInstruction<TProgram>) | ({
1679
1976
  instructionType: SatrushInstruction.TriggerOneBtcDraw;
1680
1977
  } & ParsedTriggerOneBtcDrawInstruction<TProgram>) | ({
1681
1978
  instructionType: SatrushInstruction.UpdateBoardRoundDuration;
1682
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>) | ({
1683
1988
  instructionType: SatrushInstruction.WithdrawProtocolFees;
1684
1989
  } & ParsedWithdrawProtocolFeesInstruction<TProgram>);
1685
1990
  declare function parseSatrushInstruction<TProgram extends string>(instruction: Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array>): ParsedSatrushInstruction<TProgram>;
@@ -1701,6 +2006,7 @@ type SatrushPluginAccounts = {
1701
2006
  oneBtcVault: ReturnType<typeof getOneBtcVaultCodec> & SelfFetchFunctions<OneBtcVaultArgs, OneBtcVault>;
1702
2007
  oneBtcVaultEntry: ReturnType<typeof getOneBtcVaultEntryCodec> & SelfFetchFunctions<OneBtcVaultEntryArgs, OneBtcVaultEntry>;
1703
2008
  oneBtcVaultIteration: ReturnType<typeof getOneBtcVaultIterationCodec> & SelfFetchFunctions<OneBtcVaultIterationArgs, OneBtcVaultIteration>;
2009
+ publicAutomation: ReturnType<typeof getPublicAutomationCodec> & SelfFetchFunctions<PublicAutomationArgs, PublicAutomation>;
1704
2010
  publicDeployment: ReturnType<typeof getPublicDeploymentCodec> & SelfFetchFunctions<PublicDeploymentArgs, PublicDeployment>;
1705
2011
  round: ReturnType<typeof getRoundCodec> & SelfFetchFunctions<RoundArgs, Round>;
1706
2012
  satrushConfig: ReturnType<typeof getSatrushConfigCodec> & SelfFetchFunctions<SatrushConfigArgs, SatrushConfig>;
@@ -1710,6 +2016,7 @@ type SatrushPluginAccounts = {
1710
2016
  type SatrushPluginInstructions = {
1711
2017
  buyEpochTickets: (input: BuyEpochTicketsAsyncInput) => ReturnType<typeof getBuyEpochTicketsInstructionAsync> & SelfPlanAndSendFunctions;
1712
2018
  buyOneBtcTickets: (input: BuyOneBtcTicketsAsyncInput) => ReturnType<typeof getBuyOneBtcTicketsInstructionAsync> & SelfPlanAndSendFunctions;
2019
+ cancelPublicAutomation: (input: CancelPublicAutomationAsyncInput) => ReturnType<typeof getCancelPublicAutomationInstructionAsync> & SelfPlanAndSendFunctions;
1713
2020
  claimEpochReward: (input: ClaimEpochRewardAsyncInput) => ReturnType<typeof getClaimEpochRewardInstructionAsync> & SelfPlanAndSendFunctions;
1714
2021
  claimOneBtcReward: (input: ClaimOneBtcRewardAsyncInput) => ReturnType<typeof getClaimOneBtcRewardInstructionAsync> & SelfPlanAndSendFunctions;
1715
2022
  claimSats: (input: ClaimSatsAsyncInput) => ReturnType<typeof getClaimSatsInstructionAsync> & SelfPlanAndSendFunctions;
@@ -1719,13 +2026,16 @@ type SatrushPluginInstructions = {
1719
2026
  closeEpochPage: (input: CloseEpochPageAsyncInput) => ReturnType<typeof getCloseEpochPageInstructionAsync> & SelfPlanAndSendFunctions;
1720
2027
  closeOneBtcIteration: (input: CloseOneBtcIterationAsyncInput) => ReturnType<typeof getCloseOneBtcIterationInstructionAsync> & SelfPlanAndSendFunctions;
1721
2028
  closeOneBtcTicket: (input: CloseOneBtcTicketInput) => ReturnType<typeof getCloseOneBtcTicketInstruction> & SelfPlanAndSendFunctions;
2029
+ closeRound: (input: CloseRoundAsyncInput) => ReturnType<typeof getCloseRoundInstructionAsync> & SelfPlanAndSendFunctions;
1722
2030
  createBoard: (input: CreateBoardAsyncInput) => ReturnType<typeof getCreateBoardInstructionAsync> & SelfPlanAndSendFunctions;
1723
2031
  createEpochVault: (input: CreateEpochVaultAsyncInput) => ReturnType<typeof getCreateEpochVaultInstructionAsync> & SelfPlanAndSendFunctions;
1724
2032
  createOneBtcVault: (input: CreateOneBtcVaultAsyncInput) => ReturnType<typeof getCreateOneBtcVaultInstructionAsync> & SelfPlanAndSendFunctions;
2033
+ createPublicAutomation: (input: CreatePublicAutomationAsyncInput) => ReturnType<typeof getCreatePublicAutomationInstructionAsync> & SelfPlanAndSendFunctions;
1725
2034
  createSatrushConfig: (input: CreateSatrushConfigAsyncInput) => ReturnType<typeof getCreateSatrushConfigInstructionAsync> & SelfPlanAndSendFunctions;
1726
2035
  createSatsVault: (input: CreateSatsVaultAsyncInput) => ReturnType<typeof getCreateSatsVaultInstructionAsync> & SelfPlanAndSendFunctions;
1727
2036
  createTreasury: (input: CreateTreasuryAsyncInput) => ReturnType<typeof getCreateTreasuryInstructionAsync> & SelfPlanAndSendFunctions;
1728
2037
  deployPublic: (input: DeployPublicAsyncInput) => ReturnType<typeof getDeployPublicInstructionAsync> & SelfPlanAndSendFunctions;
2038
+ executePublicAutomation: (input: ExecutePublicAutomationAsyncInput) => ReturnType<typeof getExecutePublicAutomationInstructionAsync> & SelfPlanAndSendFunctions;
1729
2039
  rotateRound: (input: RotateRoundAsyncInput) => ReturnType<typeof getRotateRoundInstructionAsync> & SelfPlanAndSendFunctions;
1730
2040
  sealEpochPage: (input: SealEpochPageAsyncInput) => ReturnType<typeof getSealEpochPageInstructionAsync> & SelfPlanAndSendFunctions;
1731
2041
  selectEpochWinner: (input: SelectEpochWinnerAsyncInput) => ReturnType<typeof getSelectEpochWinnerInstructionAsync> & SelfPlanAndSendFunctions;
@@ -1734,22 +2044,28 @@ type SatrushPluginInstructions = {
1734
2044
  swapOneBtcStake: (input: SwapOneBtcStakeAsyncInput) => ReturnType<typeof getSwapOneBtcStakeInstructionAsync> & SelfPlanAndSendFunctions;
1735
2045
  swapRoundStake: (input: SwapRoundStakeAsyncInput) => ReturnType<typeof getSwapRoundStakeInstructionAsync> & SelfPlanAndSendFunctions;
1736
2046
  swapStrikeStake: (input: SwapStrikeStakeAsyncInput) => ReturnType<typeof getSwapStrikeStakeInstructionAsync> & SelfPlanAndSendFunctions;
2047
+ topUpPublicAutomation: (input: TopUpPublicAutomationAsyncInput) => ReturnType<typeof getTopUpPublicAutomationInstructionAsync> & SelfPlanAndSendFunctions;
1737
2048
  triggerEpochDraw: (input: TriggerEpochDrawAsyncInput) => ReturnType<typeof getTriggerEpochDrawInstructionAsync> & SelfPlanAndSendFunctions;
1738
2049
  triggerOneBtcDraw: (input: TriggerOneBtcDrawAsyncInput) => ReturnType<typeof getTriggerOneBtcDrawInstructionAsync> & SelfPlanAndSendFunctions;
1739
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;
1740
2055
  withdrawProtocolFees: (input: WithdrawProtocolFeesAsyncInput) => ReturnType<typeof getWithdrawProtocolFeesInstructionAsync> & SelfPlanAndSendFunctions;
1741
2056
  };
1742
2057
  type SatrushPluginPdas = {
1743
2058
  miner: typeof findMinerPda;
2059
+ satrushConfig: typeof findSatrushConfigPda;
1744
2060
  epochVault: typeof findEpochVaultPda;
1745
2061
  oneBtcVault: typeof findOneBtcVaultPda;
1746
- satrushConfig: typeof findSatrushConfigPda;
2062
+ publicAutomation: typeof findPublicAutomationPda;
1747
2063
  satsVault: typeof findSatsVaultPda;
1748
2064
  board: typeof findBoardPda;
2065
+ treasury: typeof findTreasuryPda;
1749
2066
  initialRound: typeof findInitialRoundPda;
1750
2067
  epochVaultIteration: typeof findEpochVaultIterationPda;
1751
2068
  oneBtcVaultIteration: typeof findOneBtcVaultIterationPda;
1752
- treasury: typeof findTreasuryPda;
1753
2069
  nextRound: typeof findNextRoundPda;
1754
2070
  };
1755
2071
  type SatrushPluginRequirements = ClientWithRpc<GetAccountInfoApi & GetMultipleAccountsApi> & ClientWithTransactionPlanning & ClientWithTransactionSending;
@@ -1767,9 +2083,10 @@ declare function satrushProgram(): <T extends SatrushPluginRequirements>(client:
1767
2083
 
1768
2084
  declare const BUY_EPOCH_TICKETS_DISCRIMINATOR: ReadonlyUint8Array;
1769
2085
  declare function getBuyEpochTicketsDiscriminatorBytes(): ReadonlyUint8Array;
1770
- 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<[
1771
2087
  TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
1772
2088
  TAccountMiner extends string ? WritableAccount<TAccountMiner> : TAccountMiner,
2089
+ TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
1773
2090
  TAccountEpochVault extends string ? ReadonlyAccount<TAccountEpochVault> : TAccountEpochVault,
1774
2091
  TAccountEpochVaultIteration extends string ? WritableAccount<TAccountEpochVaultIteration> : TAccountEpochVaultIteration,
1775
2092
  TAccountEpochVaultPage extends string ? WritableAccount<TAccountEpochVaultPage> : TAccountEpochVaultPage,
@@ -1781,19 +2098,20 @@ type BuyEpochTicketsInstruction<TProgram extends string = typeof SATRUSH_PROGRAM
1781
2098
  ]>;
1782
2099
  type BuyEpochTicketsInstructionData = {
1783
2100
  discriminator: ReadonlyUint8Array;
1784
- hashrateToSpend: bigint;
2101
+ ticketsToBuy: bigint;
1785
2102
  pageIndex: number;
1786
2103
  };
1787
2104
  type BuyEpochTicketsInstructionDataArgs = {
1788
- hashrateToSpend: number | bigint;
2105
+ ticketsToBuy: number | bigint;
1789
2106
  pageIndex: number;
1790
2107
  };
1791
2108
  declare function getBuyEpochTicketsInstructionDataEncoder(): FixedSizeEncoder<BuyEpochTicketsInstructionDataArgs>;
1792
2109
  declare function getBuyEpochTicketsInstructionDataDecoder(): FixedSizeDecoder<BuyEpochTicketsInstructionData>;
1793
2110
  declare function getBuyEpochTicketsInstructionDataCodec(): FixedSizeCodec<BuyEpochTicketsInstructionDataArgs, BuyEpochTicketsInstructionData>;
1794
- 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> = {
1795
2112
  authority: TransactionSigner<TAccountAuthority>;
1796
2113
  miner?: Address<TAccountMiner>;
2114
+ satrushConfig?: Address<TAccountSatrushConfig>;
1797
2115
  epochVault?: Address<TAccountEpochVault>;
1798
2116
  epochVaultIteration: Address<TAccountEpochVaultIteration>;
1799
2117
  epochVaultPage: Address<TAccountEpochVaultPage>;
@@ -1801,15 +2119,16 @@ type BuyEpochTicketsAsyncInput<TAccountAuthority extends string = string, TAccou
1801
2119
  systemProgram?: Address<TAccountSystemProgram>;
1802
2120
  eventAuthority: Address<TAccountEventAuthority>;
1803
2121
  program: Address<TAccountProgram>;
1804
- hashrateToSpend: BuyEpochTicketsInstructionDataArgs['hashrateToSpend'];
2122
+ ticketsToBuy: BuyEpochTicketsInstructionDataArgs['ticketsToBuy'];
1805
2123
  pageIndex: BuyEpochTicketsInstructionDataArgs['pageIndex'];
1806
2124
  };
1807
- 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?: {
1808
2126
  programAddress?: TProgramAddress;
1809
- }): Promise<BuyEpochTicketsInstruction<TProgramAddress, TAccountAuthority, TAccountMiner, TAccountEpochVault, TAccountEpochVaultIteration, TAccountEpochVaultPage, TAccountEpochVaultEntry, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>>;
1810
- 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> = {
1811
2129
  authority: TransactionSigner<TAccountAuthority>;
1812
2130
  miner: Address<TAccountMiner>;
2131
+ satrushConfig: Address<TAccountSatrushConfig>;
1813
2132
  epochVault: Address<TAccountEpochVault>;
1814
2133
  epochVaultIteration: Address<TAccountEpochVaultIteration>;
1815
2134
  epochVaultPage: Address<TAccountEpochVaultPage>;
@@ -1817,24 +2136,25 @@ type BuyEpochTicketsInput<TAccountAuthority extends string = string, TAccountMin
1817
2136
  systemProgram?: Address<TAccountSystemProgram>;
1818
2137
  eventAuthority: Address<TAccountEventAuthority>;
1819
2138
  program: Address<TAccountProgram>;
1820
- hashrateToSpend: BuyEpochTicketsInstructionDataArgs['hashrateToSpend'];
2139
+ ticketsToBuy: BuyEpochTicketsInstructionDataArgs['ticketsToBuy'];
1821
2140
  pageIndex: BuyEpochTicketsInstructionDataArgs['pageIndex'];
1822
2141
  };
1823
- 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?: {
1824
2143
  programAddress?: TProgramAddress;
1825
- }): BuyEpochTicketsInstruction<TProgramAddress, TAccountAuthority, TAccountMiner, TAccountEpochVault, TAccountEpochVaultIteration, TAccountEpochVaultPage, TAccountEpochVaultEntry, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>;
2144
+ }): BuyEpochTicketsInstruction<TProgramAddress, TAccountAuthority, TAccountMiner, TAccountSatrushConfig, TAccountEpochVault, TAccountEpochVaultIteration, TAccountEpochVaultPage, TAccountEpochVaultEntry, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>;
1826
2145
  type ParsedBuyEpochTicketsInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
1827
2146
  programAddress: Address<TProgram>;
1828
2147
  accounts: {
1829
2148
  authority: TAccountMetas[0];
1830
2149
  miner: TAccountMetas[1];
1831
- epochVault: TAccountMetas[2];
1832
- epochVaultIteration: TAccountMetas[3];
1833
- epochVaultPage: TAccountMetas[4];
1834
- epochVaultEntry: TAccountMetas[5];
1835
- systemProgram: TAccountMetas[6];
1836
- eventAuthority: TAccountMetas[7];
1837
- 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];
1838
2158
  };
1839
2159
  data: BuyEpochTicketsInstructionData;
1840
2160
  };
@@ -1863,10 +2183,10 @@ type BuyOneBtcTicketsInstruction<TProgram extends string = typeof SATRUSH_PROGRA
1863
2183
  ]>;
1864
2184
  type BuyOneBtcTicketsInstructionData = {
1865
2185
  discriminator: ReadonlyUint8Array;
1866
- hashrateToSpend: bigint;
2186
+ ticketsToBuy: bigint;
1867
2187
  };
1868
2188
  type BuyOneBtcTicketsInstructionDataArgs = {
1869
- hashrateToSpend: number | bigint;
2189
+ ticketsToBuy: number | bigint;
1870
2190
  };
1871
2191
  declare function getBuyOneBtcTicketsInstructionDataEncoder(): FixedSizeEncoder<BuyOneBtcTicketsInstructionDataArgs>;
1872
2192
  declare function getBuyOneBtcTicketsInstructionDataDecoder(): FixedSizeDecoder<BuyOneBtcTicketsInstructionData>;
@@ -1881,7 +2201,7 @@ type BuyOneBtcTicketsAsyncInput<TAccountAuthority extends string = string, TAcco
1881
2201
  systemProgram?: Address<TAccountSystemProgram>;
1882
2202
  eventAuthority: Address<TAccountEventAuthority>;
1883
2203
  program: Address<TAccountProgram>;
1884
- hashrateToSpend: BuyOneBtcTicketsInstructionDataArgs['hashrateToSpend'];
2204
+ ticketsToBuy: BuyOneBtcTicketsInstructionDataArgs['ticketsToBuy'];
1885
2205
  };
1886
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?: {
1887
2207
  programAddress?: TProgramAddress;
@@ -1896,7 +2216,7 @@ type BuyOneBtcTicketsInput<TAccountAuthority extends string = string, TAccountMi
1896
2216
  systemProgram?: Address<TAccountSystemProgram>;
1897
2217
  eventAuthority: Address<TAccountEventAuthority>;
1898
2218
  program: Address<TAccountProgram>;
1899
- hashrateToSpend: BuyOneBtcTicketsInstructionDataArgs['hashrateToSpend'];
2219
+ ticketsToBuy: BuyOneBtcTicketsInstructionDataArgs['ticketsToBuy'];
1900
2220
  };
1901
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?: {
1902
2222
  programAddress?: TProgramAddress;
@@ -1918,6 +2238,83 @@ type ParsedBuyOneBtcTicketsInstruction<TProgram extends string = typeof SATRUSH_
1918
2238
  };
1919
2239
  declare function parseBuyOneBtcTicketsInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedBuyOneBtcTicketsInstruction<TProgram, TAccountMetas>;
1920
2240
 
2241
+ /**
2242
+ * This code was AUTOGENERATED using the Codama library.
2243
+ * Please DO NOT EDIT THIS FILE, instead use visitors
2244
+ * to add features, then rerun Codama to update it.
2245
+ *
2246
+ * @see https://github.com/codama-idl/codama
2247
+ */
2248
+
2249
+ declare const CANCEL_PUBLIC_AUTOMATION_DISCRIMINATOR: ReadonlyUint8Array;
2250
+ declare function getCancelPublicAutomationDiscriminatorBytes(): ReadonlyUint8Array;
2251
+ type CancelPublicAutomationInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountAuthority extends string | AccountMeta<string> = string, TAccountSatrushConfig extends string | AccountMeta<string> = string, TAccountPublicAutomation extends string | AccountMeta<string> = string, TAccountUsdMint extends string | AccountMeta<string> = string, TAccountAutomationUsdAta extends string | AccountMeta<string> = string, TAccountAuthorityUsdAta 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<[
2252
+ TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
2253
+ TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
2254
+ TAccountPublicAutomation extends string ? WritableAccount<TAccountPublicAutomation> : TAccountPublicAutomation,
2255
+ TAccountUsdMint extends string ? ReadonlyAccount<TAccountUsdMint> : TAccountUsdMint,
2256
+ TAccountAutomationUsdAta extends string ? WritableAccount<TAccountAutomationUsdAta> : TAccountAutomationUsdAta,
2257
+ TAccountAuthorityUsdAta extends string ? WritableAccount<TAccountAuthorityUsdAta> : TAccountAuthorityUsdAta,
2258
+ TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
2259
+ TAccountAssociatedTokenProgram extends string ? ReadonlyAccount<TAccountAssociatedTokenProgram> : TAccountAssociatedTokenProgram,
2260
+ TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
2261
+ ...TRemainingAccounts
2262
+ ]>;
2263
+ type CancelPublicAutomationInstructionData = {
2264
+ discriminator: ReadonlyUint8Array;
2265
+ };
2266
+ type CancelPublicAutomationInstructionDataArgs = {};
2267
+ declare function getCancelPublicAutomationInstructionDataEncoder(): FixedSizeEncoder<CancelPublicAutomationInstructionDataArgs>;
2268
+ declare function getCancelPublicAutomationInstructionDataDecoder(): FixedSizeDecoder<CancelPublicAutomationInstructionData>;
2269
+ declare function getCancelPublicAutomationInstructionDataCodec(): FixedSizeCodec<CancelPublicAutomationInstructionDataArgs, CancelPublicAutomationInstructionData>;
2270
+ type CancelPublicAutomationAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountPublicAutomation extends string = string, TAccountUsdMint extends string = string, TAccountAutomationUsdAta extends string = string, TAccountAuthorityUsdAta extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string> = {
2271
+ authority: TransactionSigner<TAccountAuthority>;
2272
+ satrushConfig?: Address<TAccountSatrushConfig>;
2273
+ publicAutomation?: Address<TAccountPublicAutomation>;
2274
+ usdMint: Address<TAccountUsdMint>;
2275
+ automationUsdAta?: Address<TAccountAutomationUsdAta>;
2276
+ /** Refund destination, created if the user closed their USD account. */
2277
+ authorityUsdAta?: Address<TAccountAuthorityUsdAta>;
2278
+ tokenProgram?: Address<TAccountTokenProgram>;
2279
+ associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
2280
+ systemProgram?: Address<TAccountSystemProgram>;
2281
+ };
2282
+ declare function getCancelPublicAutomationInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountPublicAutomation extends string, TAccountUsdMint extends string, TAccountAutomationUsdAta extends string, TAccountAuthorityUsdAta extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: CancelPublicAutomationAsyncInput<TAccountAuthority, TAccountSatrushConfig, TAccountPublicAutomation, TAccountUsdMint, TAccountAutomationUsdAta, TAccountAuthorityUsdAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>, config?: {
2283
+ programAddress?: TProgramAddress;
2284
+ }): Promise<CancelPublicAutomationInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountPublicAutomation, TAccountUsdMint, TAccountAutomationUsdAta, TAccountAuthorityUsdAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>>;
2285
+ type CancelPublicAutomationInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountPublicAutomation extends string = string, TAccountUsdMint extends string = string, TAccountAutomationUsdAta extends string = string, TAccountAuthorityUsdAta extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string> = {
2286
+ authority: TransactionSigner<TAccountAuthority>;
2287
+ satrushConfig: Address<TAccountSatrushConfig>;
2288
+ publicAutomation: Address<TAccountPublicAutomation>;
2289
+ usdMint: Address<TAccountUsdMint>;
2290
+ automationUsdAta: Address<TAccountAutomationUsdAta>;
2291
+ /** Refund destination, created if the user closed their USD account. */
2292
+ authorityUsdAta: Address<TAccountAuthorityUsdAta>;
2293
+ tokenProgram?: Address<TAccountTokenProgram>;
2294
+ associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
2295
+ systemProgram?: Address<TAccountSystemProgram>;
2296
+ };
2297
+ declare function getCancelPublicAutomationInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountPublicAutomation extends string, TAccountUsdMint extends string, TAccountAutomationUsdAta extends string, TAccountAuthorityUsdAta extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: CancelPublicAutomationInput<TAccountAuthority, TAccountSatrushConfig, TAccountPublicAutomation, TAccountUsdMint, TAccountAutomationUsdAta, TAccountAuthorityUsdAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>, config?: {
2298
+ programAddress?: TProgramAddress;
2299
+ }): CancelPublicAutomationInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountPublicAutomation, TAccountUsdMint, TAccountAutomationUsdAta, TAccountAuthorityUsdAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>;
2300
+ type ParsedCancelPublicAutomationInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
2301
+ programAddress: Address<TProgram>;
2302
+ accounts: {
2303
+ authority: TAccountMetas[0];
2304
+ satrushConfig: TAccountMetas[1];
2305
+ publicAutomation: TAccountMetas[2];
2306
+ usdMint: TAccountMetas[3];
2307
+ automationUsdAta: TAccountMetas[4];
2308
+ /** Refund destination, created if the user closed their USD account. */
2309
+ authorityUsdAta: TAccountMetas[5];
2310
+ tokenProgram: TAccountMetas[6];
2311
+ associatedTokenProgram: TAccountMetas[7];
2312
+ systemProgram: TAccountMetas[8];
2313
+ };
2314
+ data: CancelPublicAutomationInstructionData;
2315
+ };
2316
+ declare function parseCancelPublicAutomationInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedCancelPublicAutomationInstruction<TProgram, TAccountMetas>;
2317
+
1921
2318
  /**
1922
2319
  * This code was AUTOGENERATED using the Codama library.
1923
2320
  * Please DO NOT EDIT THIS FILE, instead use visitors
@@ -2095,7 +2492,7 @@ declare function parseClaimOneBtcRewardInstruction<TProgram extends string, TAcc
2095
2492
 
2096
2493
  declare const CLAIM_SATS_DISCRIMINATOR: ReadonlyUint8Array;
2097
2494
  declare function getClaimSatsDiscriminatorBytes(): ReadonlyUint8Array;
2098
- 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<[
2099
2496
  TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
2100
2497
  TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
2101
2498
  TAccountSatsVault extends string ? WritableAccount<TAccountSatsVault> : TAccountSatsVault,
@@ -2106,6 +2503,8 @@ type ClaimSatsInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRE
2106
2503
  TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
2107
2504
  TAccountAssociatedTokenProgram extends string ? ReadonlyAccount<TAccountAssociatedTokenProgram> : TAccountAssociatedTokenProgram,
2108
2505
  TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
2506
+ TAccountEventAuthority extends string ? ReadonlyAccount<TAccountEventAuthority> : TAccountEventAuthority,
2507
+ TAccountProgram extends string ? ReadonlyAccount<TAccountProgram> : TAccountProgram,
2109
2508
  ...TRemainingAccounts
2110
2509
  ]>;
2111
2510
  type ClaimSatsInstructionData = {
@@ -2118,7 +2517,7 @@ type ClaimSatsInstructionDataArgs = {
2118
2517
  declare function getClaimSatsInstructionDataEncoder(): FixedSizeEncoder<ClaimSatsInstructionDataArgs>;
2119
2518
  declare function getClaimSatsInstructionDataDecoder(): FixedSizeDecoder<ClaimSatsInstructionData>;
2120
2519
  declare function getClaimSatsInstructionDataCodec(): FixedSizeCodec<ClaimSatsInstructionDataArgs, ClaimSatsInstructionData>;
2121
- 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> = {
2122
2521
  authority: TransactionSigner<TAccountAuthority>;
2123
2522
  satrushConfig?: Address<TAccountSatrushConfig>;
2124
2523
  /** The vault: source of BTC and the authority over its own reserves ATA. */
@@ -2133,12 +2532,14 @@ type ClaimSatsAsyncInput<TAccountAuthority extends string = string, TAccountSatr
2133
2532
  tokenProgram?: Address<TAccountTokenProgram>;
2134
2533
  associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
2135
2534
  systemProgram?: Address<TAccountSystemProgram>;
2535
+ eventAuthority: Address<TAccountEventAuthority>;
2536
+ program: Address<TAccountProgram>;
2136
2537
  shares: ClaimSatsInstructionDataArgs['shares'];
2137
2538
  };
2138
- 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?: {
2139
2540
  programAddress?: TProgramAddress;
2140
- }): Promise<ClaimSatsInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountSatsVault, TAccountMiner, TAccountBtcMint, TAccountSatsVaultBtcAta, TAccountAuthorityBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>>;
2141
- 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> = {
2142
2543
  authority: TransactionSigner<TAccountAuthority>;
2143
2544
  satrushConfig: Address<TAccountSatrushConfig>;
2144
2545
  /** The vault: source of BTC and the authority over its own reserves ATA. */
@@ -2153,11 +2554,13 @@ type ClaimSatsInput<TAccountAuthority extends string = string, TAccountSatrushCo
2153
2554
  tokenProgram?: Address<TAccountTokenProgram>;
2154
2555
  associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
2155
2556
  systemProgram?: Address<TAccountSystemProgram>;
2557
+ eventAuthority: Address<TAccountEventAuthority>;
2558
+ program: Address<TAccountProgram>;
2156
2559
  shares: ClaimSatsInstructionDataArgs['shares'];
2157
2560
  };
2158
- 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?: {
2159
2562
  programAddress?: TProgramAddress;
2160
- }): 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>;
2161
2564
  type ParsedClaimSatsInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
2162
2565
  programAddress: Address<TProgram>;
2163
2566
  accounts: {
@@ -2175,6 +2578,8 @@ type ParsedClaimSatsInstruction<TProgram extends string = typeof SATRUSH_PROGRAM
2175
2578
  tokenProgram: TAccountMetas[7];
2176
2579
  associatedTokenProgram: TAccountMetas[8];
2177
2580
  systemProgram: TAccountMetas[9];
2581
+ eventAuthority: TAccountMetas[10];
2582
+ program: TAccountMetas[11];
2178
2583
  };
2179
2584
  data: ClaimSatsInstructionData;
2180
2585
  };
@@ -2533,88 +2938,229 @@ declare function parseCloseOneBtcTicketInstruction<TProgram extends string, TAcc
2533
2938
  * @see https://github.com/codama-idl/codama
2534
2939
  */
2535
2940
 
2536
- declare const CREATE_BOARD_DISCRIMINATOR: ReadonlyUint8Array;
2537
- declare function getCreateBoardDiscriminatorBytes(): ReadonlyUint8Array;
2538
- type CreateBoardInstruction<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, TAccountInitialRound 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, 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<[
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<[
2539
2944
  TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
2540
2945
  TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
2541
- TAccountBoard extends string ? WritableAccount<TAccountBoard> : TAccountBoard,
2542
- TAccountInitialRound extends string ? WritableAccount<TAccountInitialRound> : TAccountInitialRound,
2946
+ TAccountBoard extends string ? ReadonlyAccount<TAccountBoard> : TAccountBoard,
2947
+ TAccountRound extends string ? WritableAccount<TAccountRound> : TAccountRound,
2948
+ TAccountTreasury extends string ? WritableAccount<TAccountTreasury> : TAccountTreasury,
2543
2949
  TAccountUsdMint extends string ? ReadonlyAccount<TAccountUsdMint> : TAccountUsdMint,
2544
2950
  TAccountBtcMint extends string ? ReadonlyAccount<TAccountBtcMint> : TAccountBtcMint,
2545
2951
  TAccountBoardUsdAta extends string ? WritableAccount<TAccountBoardUsdAta> : TAccountBoardUsdAta,
2546
2952
  TAccountBoardBtcAta extends string ? WritableAccount<TAccountBoardBtcAta> : TAccountBoardBtcAta,
2953
+ TAccountTreasuryUsdAta extends string ? WritableAccount<TAccountTreasuryUsdAta> : TAccountTreasuryUsdAta,
2954
+ TAccountTreasuryBtcAta extends string ? WritableAccount<TAccountTreasuryBtcAta> : TAccountTreasuryBtcAta,
2547
2955
  TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
2548
2956
  TAccountAssociatedTokenProgram extends string ? ReadonlyAccount<TAccountAssociatedTokenProgram> : TAccountAssociatedTokenProgram,
2549
2957
  TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
2958
+ TAccountEventAuthority extends string ? ReadonlyAccount<TAccountEventAuthority> : TAccountEventAuthority,
2959
+ TAccountProgram extends string ? ReadonlyAccount<TAccountProgram> : TAccountProgram,
2550
2960
  ...TRemainingAccounts
2551
2961
  ]>;
2552
- type CreateBoardInstructionData = {
2962
+ type CloseRoundInstructionData = {
2553
2963
  discriminator: ReadonlyUint8Array;
2554
2964
  };
2555
- type CreateBoardInstructionDataArgs = {};
2556
- declare function getCreateBoardInstructionDataEncoder(): FixedSizeEncoder<CreateBoardInstructionDataArgs>;
2557
- declare function getCreateBoardInstructionDataDecoder(): FixedSizeDecoder<CreateBoardInstructionData>;
2558
- declare function getCreateBoardInstructionDataCodec(): FixedSizeCodec<CreateBoardInstructionDataArgs, CreateBoardInstructionData>;
2559
- type CreateBoardAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountBoard extends string = string, TAccountInitialRound extends string = string, TAccountUsdMint extends string = string, TAccountBtcMint extends string = string, TAccountBoardUsdAta extends string = string, TAccountBoardBtcAta extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string> = {
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> = {
2560
2970
  authority: TransactionSigner<TAccountAuthority>;
2561
2971
  satrushConfig?: Address<TAccountSatrushConfig>;
2972
+ /** PDA that owns the board's token pools; signs the sweep transfers. */
2562
2973
  board?: Address<TAccountBoard>;
2563
2974
  /**
2564
- * Boxed onto the heap: the enlarged Round (per-tile accumulators) would
2565
- * otherwise push this instruction's stack frame past the 4 KB BPF limit.
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.
2566
2978
  */
2567
- initialRound?: Address<TAccountInitialRound>;
2979
+ round: Address<TAccountRound>;
2980
+ treasury?: Address<TAccountTreasury>;
2568
2981
  usdMint: Address<TAccountUsdMint>;
2569
2982
  btcMint: Address<TAccountBtcMint>;
2570
- /** Board's USD token account the round deposit pool. */
2983
+ /** Board's USD poolsweep source. */
2571
2984
  boardUsdAta?: Address<TAccountBoardUsdAta>;
2572
- /** Board's BTC token account post-swap reserves. */
2985
+ /** Board's BTC reservessweep source. */
2573
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>;
2574
2994
  tokenProgram?: Address<TAccountTokenProgram>;
2575
2995
  associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
2576
2996
  systemProgram?: Address<TAccountSystemProgram>;
2997
+ eventAuthority: Address<TAccountEventAuthority>;
2998
+ program: Address<TAccountProgram>;
2577
2999
  };
2578
- declare function getCreateBoardInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountBoard extends string, TAccountInitialRound extends string, TAccountUsdMint extends string, TAccountBtcMint extends string, TAccountBoardUsdAta extends string, TAccountBoardBtcAta extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: CreateBoardAsyncInput<TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountInitialRound, TAccountUsdMint, TAccountBtcMint, TAccountBoardUsdAta, TAccountBoardBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>, config?: {
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?: {
2579
3001
  programAddress?: TProgramAddress;
2580
- }): Promise<CreateBoardInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountInitialRound, TAccountUsdMint, TAccountBtcMint, TAccountBoardUsdAta, TAccountBoardBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>>;
2581
- type CreateBoardInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountBoard extends string = string, TAccountInitialRound extends string = string, TAccountUsdMint extends string = string, TAccountBtcMint extends string = string, TAccountBoardUsdAta extends string = string, TAccountBoardBtcAta extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string> = {
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> = {
2582
3004
  authority: TransactionSigner<TAccountAuthority>;
2583
3005
  satrushConfig: Address<TAccountSatrushConfig>;
3006
+ /** PDA that owns the board's token pools; signs the sweep transfers. */
2584
3007
  board: Address<TAccountBoard>;
2585
3008
  /**
2586
- * Boxed onto the heap: the enlarged Round (per-tile accumulators) would
2587
- * otherwise push this instruction's stack frame past the 4 KB BPF limit.
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.
2588
3012
  */
2589
- initialRound: Address<TAccountInitialRound>;
3013
+ round: Address<TAccountRound>;
3014
+ treasury: Address<TAccountTreasury>;
2590
3015
  usdMint: Address<TAccountUsdMint>;
2591
3016
  btcMint: Address<TAccountBtcMint>;
2592
- /** Board's USD token account the round deposit pool. */
3017
+ /** Board's USD poolsweep source. */
2593
3018
  boardUsdAta: Address<TAccountBoardUsdAta>;
2594
- /** Board's BTC token account post-swap reserves. */
3019
+ /** Board's BTC reservessweep source. */
2595
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>;
2596
3028
  tokenProgram?: Address<TAccountTokenProgram>;
2597
3029
  associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
2598
3030
  systemProgram?: Address<TAccountSystemProgram>;
3031
+ eventAuthority: Address<TAccountEventAuthority>;
3032
+ program: Address<TAccountProgram>;
2599
3033
  };
2600
- declare function getCreateBoardInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountBoard extends string, TAccountInitialRound extends string, TAccountUsdMint extends string, TAccountBtcMint extends string, TAccountBoardUsdAta extends string, TAccountBoardBtcAta extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: CreateBoardInput<TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountInitialRound, TAccountUsdMint, TAccountBtcMint, TAccountBoardUsdAta, TAccountBoardBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>, config?: {
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?: {
2601
3035
  programAddress?: TProgramAddress;
2602
- }): CreateBoardInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountInitialRound, TAccountUsdMint, TAccountBtcMint, TAccountBoardUsdAta, TAccountBoardBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>;
2603
- type ParsedCreateBoardInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
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[]> = {
2604
3038
  programAddress: Address<TProgram>;
2605
3039
  accounts: {
2606
3040
  authority: TAccountMetas[0];
2607
3041
  satrushConfig: TAccountMetas[1];
3042
+ /** PDA that owns the board's token pools; signs the sweep transfers. */
2608
3043
  board: TAccountMetas[2];
2609
3044
  /**
2610
- * Boxed onto the heap: the enlarged Round (per-tile accumulators) would
2611
- * otherwise push this instruction's stack frame past the 4 KB BPF limit.
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.
2612
3048
  */
2613
- initialRound: TAccountMetas[3];
2614
- usdMint: TAccountMetas[4];
2615
- btcMint: TAccountMetas[5];
2616
- /** Board's USD token account — the round deposit pool. */
2617
- boardUsdAta: TAccountMetas[6];
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
+
3074
+ /**
3075
+ * This code was AUTOGENERATED using the Codama library.
3076
+ * Please DO NOT EDIT THIS FILE, instead use visitors
3077
+ * to add features, then rerun Codama to update it.
3078
+ *
3079
+ * @see https://github.com/codama-idl/codama
3080
+ */
3081
+
3082
+ declare const CREATE_BOARD_DISCRIMINATOR: ReadonlyUint8Array;
3083
+ declare function getCreateBoardDiscriminatorBytes(): ReadonlyUint8Array;
3084
+ type CreateBoardInstruction<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, TAccountInitialRound 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, 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<[
3085
+ TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
3086
+ TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
3087
+ TAccountBoard extends string ? WritableAccount<TAccountBoard> : TAccountBoard,
3088
+ TAccountInitialRound extends string ? WritableAccount<TAccountInitialRound> : TAccountInitialRound,
3089
+ TAccountUsdMint extends string ? ReadonlyAccount<TAccountUsdMint> : TAccountUsdMint,
3090
+ TAccountBtcMint extends string ? ReadonlyAccount<TAccountBtcMint> : TAccountBtcMint,
3091
+ TAccountBoardUsdAta extends string ? WritableAccount<TAccountBoardUsdAta> : TAccountBoardUsdAta,
3092
+ TAccountBoardBtcAta extends string ? WritableAccount<TAccountBoardBtcAta> : TAccountBoardBtcAta,
3093
+ TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
3094
+ TAccountAssociatedTokenProgram extends string ? ReadonlyAccount<TAccountAssociatedTokenProgram> : TAccountAssociatedTokenProgram,
3095
+ TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
3096
+ ...TRemainingAccounts
3097
+ ]>;
3098
+ type CreateBoardInstructionData = {
3099
+ discriminator: ReadonlyUint8Array;
3100
+ };
3101
+ type CreateBoardInstructionDataArgs = {};
3102
+ declare function getCreateBoardInstructionDataEncoder(): FixedSizeEncoder<CreateBoardInstructionDataArgs>;
3103
+ declare function getCreateBoardInstructionDataDecoder(): FixedSizeDecoder<CreateBoardInstructionData>;
3104
+ declare function getCreateBoardInstructionDataCodec(): FixedSizeCodec<CreateBoardInstructionDataArgs, CreateBoardInstructionData>;
3105
+ type CreateBoardAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountBoard extends string = string, TAccountInitialRound extends string = string, TAccountUsdMint extends string = string, TAccountBtcMint extends string = string, TAccountBoardUsdAta extends string = string, TAccountBoardBtcAta extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string> = {
3106
+ authority: TransactionSigner<TAccountAuthority>;
3107
+ satrushConfig?: Address<TAccountSatrushConfig>;
3108
+ board?: Address<TAccountBoard>;
3109
+ /**
3110
+ * Boxed onto the heap: the enlarged Round (per-tile accumulators) would
3111
+ * otherwise push this instruction's stack frame past the 4 KB BPF limit.
3112
+ */
3113
+ initialRound?: Address<TAccountInitialRound>;
3114
+ usdMint: Address<TAccountUsdMint>;
3115
+ btcMint: Address<TAccountBtcMint>;
3116
+ /** Board's USD token account — the round deposit pool. */
3117
+ boardUsdAta?: Address<TAccountBoardUsdAta>;
3118
+ /** Board's BTC token account — post-swap reserves. */
3119
+ boardBtcAta?: Address<TAccountBoardBtcAta>;
3120
+ tokenProgram?: Address<TAccountTokenProgram>;
3121
+ associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
3122
+ systemProgram?: Address<TAccountSystemProgram>;
3123
+ };
3124
+ declare function getCreateBoardInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountBoard extends string, TAccountInitialRound extends string, TAccountUsdMint extends string, TAccountBtcMint extends string, TAccountBoardUsdAta extends string, TAccountBoardBtcAta extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: CreateBoardAsyncInput<TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountInitialRound, TAccountUsdMint, TAccountBtcMint, TAccountBoardUsdAta, TAccountBoardBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>, config?: {
3125
+ programAddress?: TProgramAddress;
3126
+ }): Promise<CreateBoardInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountInitialRound, TAccountUsdMint, TAccountBtcMint, TAccountBoardUsdAta, TAccountBoardBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>>;
3127
+ type CreateBoardInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountBoard extends string = string, TAccountInitialRound extends string = string, TAccountUsdMint extends string = string, TAccountBtcMint extends string = string, TAccountBoardUsdAta extends string = string, TAccountBoardBtcAta extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string> = {
3128
+ authority: TransactionSigner<TAccountAuthority>;
3129
+ satrushConfig: Address<TAccountSatrushConfig>;
3130
+ board: Address<TAccountBoard>;
3131
+ /**
3132
+ * Boxed onto the heap: the enlarged Round (per-tile accumulators) would
3133
+ * otherwise push this instruction's stack frame past the 4 KB BPF limit.
3134
+ */
3135
+ initialRound: Address<TAccountInitialRound>;
3136
+ usdMint: Address<TAccountUsdMint>;
3137
+ btcMint: Address<TAccountBtcMint>;
3138
+ /** Board's USD token account — the round deposit pool. */
3139
+ boardUsdAta: Address<TAccountBoardUsdAta>;
3140
+ /** Board's BTC token account — post-swap reserves. */
3141
+ boardBtcAta: Address<TAccountBoardBtcAta>;
3142
+ tokenProgram?: Address<TAccountTokenProgram>;
3143
+ associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
3144
+ systemProgram?: Address<TAccountSystemProgram>;
3145
+ };
3146
+ declare function getCreateBoardInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountBoard extends string, TAccountInitialRound extends string, TAccountUsdMint extends string, TAccountBtcMint extends string, TAccountBoardUsdAta extends string, TAccountBoardBtcAta extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: CreateBoardInput<TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountInitialRound, TAccountUsdMint, TAccountBtcMint, TAccountBoardUsdAta, TAccountBoardBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>, config?: {
3147
+ programAddress?: TProgramAddress;
3148
+ }): CreateBoardInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountInitialRound, TAccountUsdMint, TAccountBtcMint, TAccountBoardUsdAta, TAccountBoardBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>;
3149
+ type ParsedCreateBoardInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
3150
+ programAddress: Address<TProgram>;
3151
+ accounts: {
3152
+ authority: TAccountMetas[0];
3153
+ satrushConfig: TAccountMetas[1];
3154
+ board: TAccountMetas[2];
3155
+ /**
3156
+ * Boxed onto the heap: the enlarged Round (per-tile accumulators) would
3157
+ * otherwise push this instruction's stack frame past the 4 KB BPF limit.
3158
+ */
3159
+ initialRound: TAccountMetas[3];
3160
+ usdMint: TAccountMetas[4];
3161
+ btcMint: TAccountMetas[5];
3162
+ /** Board's USD token account — the round deposit pool. */
3163
+ boardUsdAta: TAccountMetas[6];
2618
3164
  /** Board's BTC token account — post-swap reserves. */
2619
3165
  boardBtcAta: TAccountMetas[7];
2620
3166
  tokenProgram: TAccountMetas[8];
@@ -2789,6 +3335,147 @@ type ParsedCreateOneBtcVaultInstruction<TProgram extends string = typeof SATRUSH
2789
3335
  };
2790
3336
  declare function parseCreateOneBtcVaultInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedCreateOneBtcVaultInstruction<TProgram, TAccountMetas>;
2791
3337
 
3338
+ /**
3339
+ * This code was AUTOGENERATED using the Codama library.
3340
+ * Please DO NOT EDIT THIS FILE, instead use visitors
3341
+ * to add features, then rerun Codama to update it.
3342
+ *
3343
+ * @see https://github.com/codama-idl/codama
3344
+ */
3345
+
3346
+ declare const CREATE_PUBLIC_AUTOMATION_DISCRIMINATOR: ReadonlyUint8Array;
3347
+ declare function getCreatePublicAutomationDiscriminatorBytes(): ReadonlyUint8Array;
3348
+ type CreatePublicAutomationInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountAuthority extends string | AccountMeta<string> = string, TAccountSatrushConfig extends string | AccountMeta<string> = string, TAccountPublicAutomation extends string | AccountMeta<string> = string, TAccountUsdMint extends string | AccountMeta<string> = string, TAccountAuthorityUsdAta extends string | AccountMeta<string> = string, TAccountAutomationUsdAta extends string | AccountMeta<string> = string, TAccountMiner 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<[
3349
+ TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
3350
+ TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
3351
+ TAccountPublicAutomation extends string ? WritableAccount<TAccountPublicAutomation> : TAccountPublicAutomation,
3352
+ TAccountUsdMint extends string ? ReadonlyAccount<TAccountUsdMint> : TAccountUsdMint,
3353
+ TAccountAuthorityUsdAta extends string ? WritableAccount<TAccountAuthorityUsdAta> : TAccountAuthorityUsdAta,
3354
+ TAccountAutomationUsdAta extends string ? WritableAccount<TAccountAutomationUsdAta> : TAccountAutomationUsdAta,
3355
+ TAccountMiner extends string ? WritableAccount<TAccountMiner> : TAccountMiner,
3356
+ TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
3357
+ TAccountAssociatedTokenProgram extends string ? ReadonlyAccount<TAccountAssociatedTokenProgram> : TAccountAssociatedTokenProgram,
3358
+ TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
3359
+ ...TRemainingAccounts
3360
+ ]>;
3361
+ type CreatePublicAutomationInstructionData = {
3362
+ discriminator: ReadonlyUint8Array;
3363
+ strategy: AutomationStrategy;
3364
+ selectionMask: number;
3365
+ perRoundUsdAmount: bigint;
3366
+ reload: boolean;
3367
+ depositUsdAmount: bigint;
3368
+ };
3369
+ type CreatePublicAutomationInstructionDataArgs = {
3370
+ strategy: AutomationStrategyArgs;
3371
+ selectionMask: number;
3372
+ perRoundUsdAmount: number | bigint;
3373
+ reload: boolean;
3374
+ depositUsdAmount: number | bigint;
3375
+ };
3376
+ declare function getCreatePublicAutomationInstructionDataEncoder(): FixedSizeEncoder<CreatePublicAutomationInstructionDataArgs>;
3377
+ declare function getCreatePublicAutomationInstructionDataDecoder(): FixedSizeDecoder<CreatePublicAutomationInstructionData>;
3378
+ declare function getCreatePublicAutomationInstructionDataCodec(): FixedSizeCodec<CreatePublicAutomationInstructionDataArgs, CreatePublicAutomationInstructionData>;
3379
+ type CreatePublicAutomationAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountPublicAutomation extends string = string, TAccountUsdMint extends string = string, TAccountAuthorityUsdAta extends string = string, TAccountAutomationUsdAta extends string = string, TAccountMiner extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string> = {
3380
+ authority: TransactionSigner<TAccountAuthority>;
3381
+ satrushConfig?: Address<TAccountSatrushConfig>;
3382
+ /** One automation per authority: `init` fails if one already exists. */
3383
+ publicAutomation?: Address<TAccountPublicAutomation>;
3384
+ usdMint: Address<TAccountUsdMint>;
3385
+ /** User's USD account the deposit is pulled from. */
3386
+ authorityUsdAta: Address<TAccountAuthorityUsdAta>;
3387
+ /**
3388
+ * The automation's escrow, created here. `init_if_needed` rather than
3389
+ * `init`: the ATA address is derived from the automation PDA/USD mint
3390
+ * alone, so anyone can pre-create it before this instruction runs; with
3391
+ * plain `init` that pre-creation would permanently block this authority
3392
+ * from ever creating their automation. A pre-existing balance is treated
3393
+ * as a donation — it is swept out by `cancel`.
3394
+ */
3395
+ automationUsdAta?: Address<TAccountAutomationUsdAta>;
3396
+ /**
3397
+ * Miner profile for `authority`, created here if missing (user pays rent)
3398
+ * so the crank-side execute never has to create it.
3399
+ */
3400
+ miner?: Address<TAccountMiner>;
3401
+ tokenProgram?: Address<TAccountTokenProgram>;
3402
+ associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
3403
+ systemProgram?: Address<TAccountSystemProgram>;
3404
+ strategy: CreatePublicAutomationInstructionDataArgs['strategy'];
3405
+ selectionMask: CreatePublicAutomationInstructionDataArgs['selectionMask'];
3406
+ perRoundUsdAmount: CreatePublicAutomationInstructionDataArgs['perRoundUsdAmount'];
3407
+ reload: CreatePublicAutomationInstructionDataArgs['reload'];
3408
+ depositUsdAmount: CreatePublicAutomationInstructionDataArgs['depositUsdAmount'];
3409
+ };
3410
+ declare function getCreatePublicAutomationInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountPublicAutomation extends string, TAccountUsdMint extends string, TAccountAuthorityUsdAta extends string, TAccountAutomationUsdAta extends string, TAccountMiner extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: CreatePublicAutomationAsyncInput<TAccountAuthority, TAccountSatrushConfig, TAccountPublicAutomation, TAccountUsdMint, TAccountAuthorityUsdAta, TAccountAutomationUsdAta, TAccountMiner, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>, config?: {
3411
+ programAddress?: TProgramAddress;
3412
+ }): Promise<CreatePublicAutomationInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountPublicAutomation, TAccountUsdMint, TAccountAuthorityUsdAta, TAccountAutomationUsdAta, TAccountMiner, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>>;
3413
+ type CreatePublicAutomationInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountPublicAutomation extends string = string, TAccountUsdMint extends string = string, TAccountAuthorityUsdAta extends string = string, TAccountAutomationUsdAta extends string = string, TAccountMiner extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string> = {
3414
+ authority: TransactionSigner<TAccountAuthority>;
3415
+ satrushConfig: Address<TAccountSatrushConfig>;
3416
+ /** One automation per authority: `init` fails if one already exists. */
3417
+ publicAutomation: Address<TAccountPublicAutomation>;
3418
+ usdMint: Address<TAccountUsdMint>;
3419
+ /** User's USD account the deposit is pulled from. */
3420
+ authorityUsdAta: Address<TAccountAuthorityUsdAta>;
3421
+ /**
3422
+ * The automation's escrow, created here. `init_if_needed` rather than
3423
+ * `init`: the ATA address is derived from the automation PDA/USD mint
3424
+ * alone, so anyone can pre-create it before this instruction runs; with
3425
+ * plain `init` that pre-creation would permanently block this authority
3426
+ * from ever creating their automation. A pre-existing balance is treated
3427
+ * as a donation — it is swept out by `cancel`.
3428
+ */
3429
+ automationUsdAta: Address<TAccountAutomationUsdAta>;
3430
+ /**
3431
+ * Miner profile for `authority`, created here if missing (user pays rent)
3432
+ * so the crank-side execute never has to create it.
3433
+ */
3434
+ miner: Address<TAccountMiner>;
3435
+ tokenProgram?: Address<TAccountTokenProgram>;
3436
+ associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
3437
+ systemProgram?: Address<TAccountSystemProgram>;
3438
+ strategy: CreatePublicAutomationInstructionDataArgs['strategy'];
3439
+ selectionMask: CreatePublicAutomationInstructionDataArgs['selectionMask'];
3440
+ perRoundUsdAmount: CreatePublicAutomationInstructionDataArgs['perRoundUsdAmount'];
3441
+ reload: CreatePublicAutomationInstructionDataArgs['reload'];
3442
+ depositUsdAmount: CreatePublicAutomationInstructionDataArgs['depositUsdAmount'];
3443
+ };
3444
+ declare function getCreatePublicAutomationInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountPublicAutomation extends string, TAccountUsdMint extends string, TAccountAuthorityUsdAta extends string, TAccountAutomationUsdAta extends string, TAccountMiner extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: CreatePublicAutomationInput<TAccountAuthority, TAccountSatrushConfig, TAccountPublicAutomation, TAccountUsdMint, TAccountAuthorityUsdAta, TAccountAutomationUsdAta, TAccountMiner, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>, config?: {
3445
+ programAddress?: TProgramAddress;
3446
+ }): CreatePublicAutomationInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountPublicAutomation, TAccountUsdMint, TAccountAuthorityUsdAta, TAccountAutomationUsdAta, TAccountMiner, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>;
3447
+ type ParsedCreatePublicAutomationInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
3448
+ programAddress: Address<TProgram>;
3449
+ accounts: {
3450
+ authority: TAccountMetas[0];
3451
+ satrushConfig: TAccountMetas[1];
3452
+ /** One automation per authority: `init` fails if one already exists. */
3453
+ publicAutomation: TAccountMetas[2];
3454
+ usdMint: TAccountMetas[3];
3455
+ /** User's USD account the deposit is pulled from. */
3456
+ authorityUsdAta: TAccountMetas[4];
3457
+ /**
3458
+ * The automation's escrow, created here. `init_if_needed` rather than
3459
+ * `init`: the ATA address is derived from the automation PDA/USD mint
3460
+ * alone, so anyone can pre-create it before this instruction runs; with
3461
+ * plain `init` that pre-creation would permanently block this authority
3462
+ * from ever creating their automation. A pre-existing balance is treated
3463
+ * as a donation — it is swept out by `cancel`.
3464
+ */
3465
+ automationUsdAta: TAccountMetas[5];
3466
+ /**
3467
+ * Miner profile for `authority`, created here if missing (user pays rent)
3468
+ * so the crank-side execute never has to create it.
3469
+ */
3470
+ miner: TAccountMetas[6];
3471
+ tokenProgram: TAccountMetas[7];
3472
+ associatedTokenProgram: TAccountMetas[8];
3473
+ systemProgram: TAccountMetas[9];
3474
+ };
3475
+ data: CreatePublicAutomationInstructionData;
3476
+ };
3477
+ declare function parseCreatePublicAutomationInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedCreatePublicAutomationInstruction<TProgram, TAccountMetas>;
3478
+
2792
3479
  /**
2793
3480
  * This code was AUTOGENERATED using the Codama library.
2794
3481
  * Please DO NOT EDIT THIS FILE, instead use visitors
@@ -3020,7 +3707,7 @@ declare function parseCreateTreasuryInstruction<TProgram extends string, TAccoun
3020
3707
 
3021
3708
  declare const DEPLOY_PUBLIC_DISCRIMINATOR: ReadonlyUint8Array;
3022
3709
  declare function getDeployPublicDiscriminatorBytes(): ReadonlyUint8Array;
3023
- 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<[
3024
3711
  TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
3025
3712
  TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
3026
3713
  TAccountBoard extends string ? WritableAccount<TAccountBoard> : TAccountBoard,
@@ -3030,12 +3717,6 @@ type DeployPublicInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_AD
3030
3717
  TAccountBoardUsdAta extends string ? WritableAccount<TAccountBoardUsdAta> : TAccountBoardUsdAta,
3031
3718
  TAccountPublicDeployment extends string ? WritableAccount<TAccountPublicDeployment> : TAccountPublicDeployment,
3032
3719
  TAccountMiner extends string ? WritableAccount<TAccountMiner> : TAccountMiner,
3033
- TAccountEpochVault extends string ? WritableAccount<TAccountEpochVault> : TAccountEpochVault,
3034
- TAccountEpochVaultUsdAta extends string ? WritableAccount<TAccountEpochVaultUsdAta> : TAccountEpochVaultUsdAta,
3035
- TAccountOneBtcVault extends string ? WritableAccount<TAccountOneBtcVault> : TAccountOneBtcVault,
3036
- TAccountOneBtcVaultUsdAta extends string ? WritableAccount<TAccountOneBtcVaultUsdAta> : TAccountOneBtcVaultUsdAta,
3037
- TAccountTreasury extends string ? WritableAccount<TAccountTreasury> : TAccountTreasury,
3038
- TAccountTreasuryUsdAta extends string ? WritableAccount<TAccountTreasuryUsdAta> : TAccountTreasuryUsdAta,
3039
3720
  TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
3040
3721
  TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
3041
3722
  ...TRemainingAccounts
@@ -3052,7 +3733,7 @@ type DeployPublicInstructionDataArgs = {
3052
3733
  declare function getDeployPublicInstructionDataEncoder(): FixedSizeEncoder<DeployPublicInstructionDataArgs>;
3053
3734
  declare function getDeployPublicInstructionDataDecoder(): FixedSizeDecoder<DeployPublicInstructionData>;
3054
3735
  declare function getDeployPublicInstructionDataCodec(): FixedSizeCodec<DeployPublicInstructionDataArgs, DeployPublicInstructionData>;
3055
- 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> = {
3056
3737
  authority: TransactionSigner<TAccountAuthority>;
3057
3738
  satrushConfig?: Address<TAccountSatrushConfig>;
3058
3739
  board?: Address<TAccountBoard>;
@@ -3077,37 +3758,15 @@ type DeployPublicAsyncInput<TAccountAuthority extends string = string, TAccountS
3077
3758
  * loaded on subsequent ones; its streak advances on every play.
3078
3759
  */
3079
3760
  miner?: Address<TAccountMiner>;
3080
- /** Epoch Vault singleton — receives the epoch fee leg. */
3081
- epochVault?: Address<TAccountEpochVault>;
3082
- /** Epoch Vault's USD pool the epoch fee is transferred into. */
3083
- epochVaultUsdAta?: Address<TAccountEpochVaultUsdAta>;
3084
- /** 1 BTC Vault singleton — receives the 1 BTC fee leg. */
3085
- oneBtcVault?: Address<TAccountOneBtcVault>;
3086
- /** 1 BTC Vault's USD pool the 1 BTC fee is transferred into. */
3087
- oneBtcVaultUsdAta?: Address<TAccountOneBtcVaultUsdAta>;
3088
- /**
3089
- * Treasury singleton — receives the protocol fee leg. No seeds constraint:
3090
- * the PDA derivation is redundant — the discriminator + owner checks already
3091
- * pin the one Treasury instance that can ever exist (`init` on fixed seeds).
3092
- */
3093
- treasury: Address<TAccountTreasury>;
3094
- /**
3095
- * Treasury's USD fee pool the protocol fee is transferred into. Validated by
3096
- * field equality (`token::`) rather than ATA derivation (`associated_token::`):
3097
- * this instruction sits at the 4 KB BPF stack ceiling and cannot afford the
3098
- * derivation. Any treasury-owned USD account passes, but misdirecting the fee
3099
- * into a non-canonical one only strands the payer's own fee.
3100
- */
3101
- treasuryUsdAta: Address<TAccountTreasuryUsdAta>;
3102
3761
  tokenProgram?: Address<TAccountTokenProgram>;
3103
3762
  systemProgram?: Address<TAccountSystemProgram>;
3104
3763
  selectionMask: DeployPublicInstructionDataArgs['selectionMask'];
3105
3764
  amount: DeployPublicInstructionDataArgs['amount'];
3106
3765
  };
3107
- 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?: {
3108
3767
  programAddress?: TProgramAddress;
3109
- }): Promise<DeployPublicInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountUsdMint, TAccountAuthorityUsdAta, TAccountBoardUsdAta, TAccountPublicDeployment, TAccountMiner, TAccountEpochVault, TAccountEpochVaultUsdAta, TAccountOneBtcVault, TAccountOneBtcVaultUsdAta, TAccountTreasury, TAccountTreasuryUsdAta, TAccountTokenProgram, TAccountSystemProgram>>;
3110
- 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> = {
3111
3770
  authority: TransactionSigner<TAccountAuthority>;
3112
3771
  satrushConfig: Address<TAccountSatrushConfig>;
3113
3772
  board: Address<TAccountBoard>;
@@ -3132,36 +3791,14 @@ type DeployPublicInput<TAccountAuthority extends string = string, TAccountSatrus
3132
3791
  * loaded on subsequent ones; its streak advances on every play.
3133
3792
  */
3134
3793
  miner: Address<TAccountMiner>;
3135
- /** Epoch Vault singleton — receives the epoch fee leg. */
3136
- epochVault: Address<TAccountEpochVault>;
3137
- /** Epoch Vault's USD pool the epoch fee is transferred into. */
3138
- epochVaultUsdAta: Address<TAccountEpochVaultUsdAta>;
3139
- /** 1 BTC Vault singleton — receives the 1 BTC fee leg. */
3140
- oneBtcVault: Address<TAccountOneBtcVault>;
3141
- /** 1 BTC Vault's USD pool the 1 BTC fee is transferred into. */
3142
- oneBtcVaultUsdAta: Address<TAccountOneBtcVaultUsdAta>;
3143
- /**
3144
- * Treasury singleton — receives the protocol fee leg. No seeds constraint:
3145
- * the PDA derivation is redundant — the discriminator + owner checks already
3146
- * pin the one Treasury instance that can ever exist (`init` on fixed seeds).
3147
- */
3148
- treasury: Address<TAccountTreasury>;
3149
- /**
3150
- * Treasury's USD fee pool the protocol fee is transferred into. Validated by
3151
- * field equality (`token::`) rather than ATA derivation (`associated_token::`):
3152
- * this instruction sits at the 4 KB BPF stack ceiling and cannot afford the
3153
- * derivation. Any treasury-owned USD account passes, but misdirecting the fee
3154
- * into a non-canonical one only strands the payer's own fee.
3155
- */
3156
- treasuryUsdAta: Address<TAccountTreasuryUsdAta>;
3157
3794
  tokenProgram?: Address<TAccountTokenProgram>;
3158
3795
  systemProgram?: Address<TAccountSystemProgram>;
3159
3796
  selectionMask: DeployPublicInstructionDataArgs['selectionMask'];
3160
3797
  amount: DeployPublicInstructionDataArgs['amount'];
3161
3798
  };
3162
- 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?: {
3163
3800
  programAddress?: TProgramAddress;
3164
- }): 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>;
3165
3802
  type ParsedDeployPublicInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
3166
3803
  programAddress: Address<TProgram>;
3167
3804
  accounts: {
@@ -3189,34 +3826,179 @@ type ParsedDeployPublicInstruction<TProgram extends string = typeof SATRUSH_PROG
3189
3826
  * loaded on subsequent ones; its streak advances on every play.
3190
3827
  */
3191
3828
  miner: TAccountMetas[8];
3192
- /** Epoch Vault singleton — receives the epoch fee leg. */
3193
- epochVault: TAccountMetas[9];
3194
- /** Epoch Vault's USD pool the epoch fee is transferred into. */
3195
- epochVaultUsdAta: TAccountMetas[10];
3196
- /** 1 BTC Vault singleton — receives the 1 BTC fee leg. */
3197
- oneBtcVault: TAccountMetas[11];
3198
- /** 1 BTC Vault's USD pool the 1 BTC fee is transferred into. */
3199
- oneBtcVaultUsdAta: TAccountMetas[12];
3829
+ tokenProgram: TAccountMetas[9];
3830
+ systemProgram: TAccountMetas[10];
3831
+ };
3832
+ data: DeployPublicInstructionData;
3833
+ };
3834
+ declare function parseDeployPublicInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedDeployPublicInstruction<TProgram, TAccountMetas>;
3835
+
3836
+ /**
3837
+ * This code was AUTOGENERATED using the Codama library.
3838
+ * Please DO NOT EDIT THIS FILE, instead use visitors
3839
+ * to add features, then rerun Codama to update it.
3840
+ *
3841
+ * @see https://github.com/codama-idl/codama
3842
+ */
3843
+
3844
+ declare const EXECUTE_PUBLIC_AUTOMATION_DISCRIMINATOR: ReadonlyUint8Array;
3845
+ declare function getExecutePublicAutomationDiscriminatorBytes(): ReadonlyUint8Array;
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<[
3847
+ TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
3848
+ TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
3849
+ TAccountBoard extends string ? WritableAccount<TAccountBoard> : TAccountBoard,
3850
+ TAccountRound extends string ? WritableAccount<TAccountRound> : TAccountRound,
3851
+ TAccountPublicAutomation extends string ? WritableAccount<TAccountPublicAutomation> : TAccountPublicAutomation,
3852
+ TAccountUsdMint extends string ? ReadonlyAccount<TAccountUsdMint> : TAccountUsdMint,
3853
+ TAccountAutomationUsdAta extends string ? WritableAccount<TAccountAutomationUsdAta> : TAccountAutomationUsdAta,
3854
+ TAccountBoardUsdAta extends string ? WritableAccount<TAccountBoardUsdAta> : TAccountBoardUsdAta,
3855
+ TAccountPublicDeployment extends string ? WritableAccount<TAccountPublicDeployment> : TAccountPublicDeployment,
3856
+ TAccountMiner extends string ? WritableAccount<TAccountMiner> : TAccountMiner,
3857
+ TAccountSlotHashes extends string ? ReadonlyAccount<TAccountSlotHashes> : TAccountSlotHashes,
3858
+ TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
3859
+ TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
3860
+ ...TRemainingAccounts
3861
+ ]>;
3862
+ type ExecutePublicAutomationInstructionData = {
3863
+ discriminator: ReadonlyUint8Array;
3864
+ selectionMask: Option<number>;
3865
+ };
3866
+ type ExecutePublicAutomationInstructionDataArgs = {
3867
+ selectionMask: OptionOrNullable<number>;
3868
+ };
3869
+ declare function getExecutePublicAutomationInstructionDataEncoder(): Encoder<ExecutePublicAutomationInstructionDataArgs>;
3870
+ declare function getExecutePublicAutomationInstructionDataDecoder(): Decoder<ExecutePublicAutomationInstructionData>;
3871
+ declare function getExecutePublicAutomationInstructionDataCodec(): Codec<ExecutePublicAutomationInstructionDataArgs, ExecutePublicAutomationInstructionData>;
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> = {
3873
+ /**
3874
+ * The crank (round authority); pays the deployment rent, recovered at
3875
+ * settle.
3876
+ */
3877
+ authority: TransactionSigner<TAccountAuthority>;
3878
+ satrushConfig?: Address<TAccountSatrushConfig>;
3879
+ board?: Address<TAccountBoard>;
3880
+ /** Round the automation deploys into. Must be the board's current round. */
3881
+ round: Address<TAccountRound>;
3882
+ /**
3883
+ * The automation being executed; its `authority` field keys the
3884
+ * deployment and miner PDAs below. A regular Account (boxed): its fields
3885
+ * feed seeds, which LazyAccount cannot do.
3886
+ */
3887
+ publicAutomation: Address<TAccountPublicAutomation>;
3888
+ usdMint: Address<TAccountUsdMint>;
3889
+ /** The automation's escrow the deploy is funded from. */
3890
+ automationUsdAta: Address<TAccountAutomationUsdAta>;
3891
+ /** Board's USD deposit pool. */
3892
+ boardUsdAta?: Address<TAccountBoardUsdAta>;
3893
+ /**
3894
+ * Per-(user, round) deployment record. Init fails if the user already
3895
+ * deployed into this round (manually or via this automation).
3896
+ */
3897
+ publicDeployment: Address<TAccountPublicDeployment>;
3898
+ /**
3899
+ * The user's miner profile; guaranteed to exist by
3900
+ * `create_public_automation`, so no `init_if_needed` here (stack + rent).
3901
+ */
3902
+ miner: Address<TAccountMiner>;
3903
+ /**
3904
+ * because the sysvar is too large to deserialize. Feeds Random-strategy
3905
+ * mask generation only, but is always passed (cheap).
3906
+ */
3907
+ slotHashes?: Address<TAccountSlotHashes>;
3908
+ tokenProgram?: Address<TAccountTokenProgram>;
3909
+ systemProgram?: Address<TAccountSystemProgram>;
3910
+ selectionMask: ExecutePublicAutomationInstructionDataArgs['selectionMask'];
3911
+ };
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?: {
3913
+ programAddress?: TProgramAddress;
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> = {
3916
+ /**
3917
+ * The crank (round authority); pays the deployment rent, recovered at
3918
+ * settle.
3919
+ */
3920
+ authority: TransactionSigner<TAccountAuthority>;
3921
+ satrushConfig: Address<TAccountSatrushConfig>;
3922
+ board: Address<TAccountBoard>;
3923
+ /** Round the automation deploys into. Must be the board's current round. */
3924
+ round: Address<TAccountRound>;
3925
+ /**
3926
+ * The automation being executed; its `authority` field keys the
3927
+ * deployment and miner PDAs below. A regular Account (boxed): its fields
3928
+ * feed seeds, which LazyAccount cannot do.
3929
+ */
3930
+ publicAutomation: Address<TAccountPublicAutomation>;
3931
+ usdMint: Address<TAccountUsdMint>;
3932
+ /** The automation's escrow the deploy is funded from. */
3933
+ automationUsdAta: Address<TAccountAutomationUsdAta>;
3934
+ /** Board's USD deposit pool. */
3935
+ boardUsdAta: Address<TAccountBoardUsdAta>;
3936
+ /**
3937
+ * Per-(user, round) deployment record. Init fails if the user already
3938
+ * deployed into this round (manually or via this automation).
3939
+ */
3940
+ publicDeployment: Address<TAccountPublicDeployment>;
3941
+ /**
3942
+ * The user's miner profile; guaranteed to exist by
3943
+ * `create_public_automation`, so no `init_if_needed` here (stack + rent).
3944
+ */
3945
+ miner: Address<TAccountMiner>;
3946
+ /**
3947
+ * because the sysvar is too large to deserialize. Feeds Random-strategy
3948
+ * mask generation only, but is always passed (cheap).
3949
+ */
3950
+ slotHashes?: Address<TAccountSlotHashes>;
3951
+ tokenProgram?: Address<TAccountTokenProgram>;
3952
+ systemProgram?: Address<TAccountSystemProgram>;
3953
+ selectionMask: ExecutePublicAutomationInstructionDataArgs['selectionMask'];
3954
+ };
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?: {
3956
+ programAddress?: TProgramAddress;
3957
+ }): ExecutePublicAutomationInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountRound, TAccountPublicAutomation, TAccountUsdMint, TAccountAutomationUsdAta, TAccountBoardUsdAta, TAccountPublicDeployment, TAccountMiner, TAccountSlotHashes, TAccountTokenProgram, TAccountSystemProgram>;
3958
+ type ParsedExecutePublicAutomationInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
3959
+ programAddress: Address<TProgram>;
3960
+ accounts: {
3200
3961
  /**
3201
- * Treasury singleton receives the protocol fee leg. No seeds constraint:
3202
- * the PDA derivation is redundant — the discriminator + owner checks already
3203
- * pin the one Treasury instance that can ever exist (`init` on fixed seeds).
3962
+ * The crank (round authority); pays the deployment rent, recovered at
3963
+ * settle.
3204
3964
  */
3205
- treasury: TAccountMetas[13];
3965
+ authority: TAccountMetas[0];
3966
+ satrushConfig: TAccountMetas[1];
3967
+ board: TAccountMetas[2];
3968
+ /** Round the automation deploys into. Must be the board's current round. */
3969
+ round: TAccountMetas[3];
3206
3970
  /**
3207
- * Treasury's USD fee pool the protocol fee is transferred into. Validated by
3208
- * field equality (`token::`) rather than ATA derivation (`associated_token::`):
3209
- * this instruction sits at the 4 KB BPF stack ceiling and cannot afford the
3210
- * derivation. Any treasury-owned USD account passes, but misdirecting the fee
3211
- * into a non-canonical one only strands the payer's own fee.
3971
+ * The automation being executed; its `authority` field keys the
3972
+ * deployment and miner PDAs below. A regular Account (boxed): its fields
3973
+ * feed seeds, which LazyAccount cannot do.
3212
3974
  */
3213
- treasuryUsdAta: TAccountMetas[14];
3214
- tokenProgram: TAccountMetas[15];
3215
- systemProgram: TAccountMetas[16];
3975
+ publicAutomation: TAccountMetas[4];
3976
+ usdMint: TAccountMetas[5];
3977
+ /** The automation's escrow the deploy is funded from. */
3978
+ automationUsdAta: TAccountMetas[6];
3979
+ /** Board's USD deposit pool. */
3980
+ boardUsdAta: TAccountMetas[7];
3981
+ /**
3982
+ * Per-(user, round) deployment record. Init fails if the user already
3983
+ * deployed into this round (manually or via this automation).
3984
+ */
3985
+ publicDeployment: TAccountMetas[8];
3986
+ /**
3987
+ * The user's miner profile; guaranteed to exist by
3988
+ * `create_public_automation`, so no `init_if_needed` here (stack + rent).
3989
+ */
3990
+ miner: TAccountMetas[9];
3991
+ /**
3992
+ * because the sysvar is too large to deserialize. Feeds Random-strategy
3993
+ * mask generation only, but is always passed (cheap).
3994
+ */
3995
+ slotHashes: TAccountMetas[10];
3996
+ tokenProgram: TAccountMetas[11];
3997
+ systemProgram: TAccountMetas[12];
3216
3998
  };
3217
- data: DeployPublicInstructionData;
3999
+ data: ExecutePublicAutomationInstructionData;
3218
4000
  };
3219
- declare function parseDeployPublicInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedDeployPublicInstruction<TProgram, TAccountMetas>;
4001
+ declare function parseExecutePublicAutomationInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedExecutePublicAutomationInstruction<TProgram, TAccountMetas>;
3220
4002
 
3221
4003
  /**
3222
4004
  * This code was AUTOGENERATED using the Codama library.
@@ -3228,13 +4010,22 @@ declare function parseDeployPublicInstruction<TProgram extends string, TAccountM
3228
4010
 
3229
4011
  declare const ROTATE_ROUND_DISCRIMINATOR: ReadonlyUint8Array;
3230
4012
  declare function getRotateRoundDiscriminatorBytes(): ReadonlyUint8Array;
3231
- 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<[
3232
4014
  TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
3233
4015
  TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
3234
4016
  TAccountBoard extends string ? WritableAccount<TAccountBoard> : TAccountBoard,
3235
4017
  TAccountCurrentRound extends string ? WritableAccount<TAccountCurrentRound> : TAccountCurrentRound,
3236
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,
3237
4027
  TAccountSlotHashes extends string ? ReadonlyAccount<TAccountSlotHashes> : TAccountSlotHashes,
4028
+ TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
3238
4029
  TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
3239
4030
  TAccountEventAuthority extends string ? ReadonlyAccount<TAccountEventAuthority> : TAccountEventAuthority,
3240
4031
  TAccountProgram extends string ? ReadonlyAccount<TAccountProgram> : TAccountProgram,
@@ -3247,11 +4038,20 @@ type RotateRoundInstructionDataArgs = {};
3247
4038
  declare function getRotateRoundInstructionDataEncoder(): FixedSizeEncoder<RotateRoundInstructionDataArgs>;
3248
4039
  declare function getRotateRoundInstructionDataDecoder(): FixedSizeDecoder<RotateRoundInstructionData>;
3249
4040
  declare function getRotateRoundInstructionDataCodec(): FixedSizeCodec<RotateRoundInstructionDataArgs, RotateRoundInstructionData>;
3250
- 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> = {
3251
4042
  authority: TransactionSigner<TAccountAuthority>;
3252
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
+ */
3253
4048
  board?: Address<TAccountBoard>;
3254
- /** 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
+ */
3255
4055
  currentRound: Address<TAccountCurrentRound>;
3256
4056
  /**
3257
4057
  * The freshly deployed next round, which becomes the board's active round.
@@ -3259,20 +4059,46 @@ type RotateRoundAsyncInput<TAccountAuthority extends string = string, TAccountSa
3259
4059
  * populates it via `Round::try_new`.
3260
4060
  */
3261
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>;
3262
4078
  /** because the sysvar is too large to deserialize. */
3263
4079
  slotHashes?: Address<TAccountSlotHashes>;
4080
+ tokenProgram?: Address<TAccountTokenProgram>;
3264
4081
  systemProgram?: Address<TAccountSystemProgram>;
3265
4082
  eventAuthority: Address<TAccountEventAuthority>;
3266
4083
  program: Address<TAccountProgram>;
3267
4084
  };
3268
- 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?: {
3269
4086
  programAddress?: TProgramAddress;
3270
- }): Promise<RotateRoundInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountBoard, TAccountCurrentRound, TAccountNextRound, TAccountSlotHashes, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>>;
3271
- 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> = {
3272
4089
  authority: TransactionSigner<TAccountAuthority>;
3273
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
+ */
3274
4095
  board: Address<TAccountBoard>;
3275
- /** 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
+ */
3276
4102
  currentRound: Address<TAccountCurrentRound>;
3277
4103
  /**
3278
4104
  * The freshly deployed next round, which becomes the board's active round.
@@ -3280,22 +4106,48 @@ type RotateRoundInput<TAccountAuthority extends string = string, TAccountSatrush
3280
4106
  * populates it via `Round::try_new`.
3281
4107
  */
3282
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>;
3283
4125
  /** because the sysvar is too large to deserialize. */
3284
4126
  slotHashes?: Address<TAccountSlotHashes>;
4127
+ tokenProgram?: Address<TAccountTokenProgram>;
3285
4128
  systemProgram?: Address<TAccountSystemProgram>;
3286
4129
  eventAuthority: Address<TAccountEventAuthority>;
3287
4130
  program: Address<TAccountProgram>;
3288
4131
  };
3289
- 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?: {
3290
4133
  programAddress?: TProgramAddress;
3291
- }): 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>;
3292
4135
  type ParsedRotateRoundInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
3293
4136
  programAddress: Address<TProgram>;
3294
4137
  accounts: {
3295
4138
  authority: TAccountMetas[0];
3296
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
+ */
3297
4144
  board: TAccountMetas[2];
3298
- /** 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
+ */
3299
4151
  currentRound: TAccountMetas[3];
3300
4152
  /**
3301
4153
  * The freshly deployed next round, which becomes the board's active round.
@@ -3303,11 +4155,28 @@ type ParsedRotateRoundInstruction<TProgram extends string = typeof SATRUSH_PROGR
3303
4155
  * populates it via `Round::try_new`.
3304
4156
  */
3305
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];
3306
4174
  /** because the sysvar is too large to deserialize. */
3307
- slotHashes: TAccountMetas[5];
3308
- systemProgram: TAccountMetas[6];
3309
- eventAuthority: TAccountMetas[7];
3310
- program: TAccountMetas[8];
4175
+ slotHashes: TAccountMetas[13];
4176
+ tokenProgram: TAccountMetas[14];
4177
+ systemProgram: TAccountMetas[15];
4178
+ eventAuthority: TAccountMetas[16];
4179
+ program: TAccountMetas[17];
3311
4180
  };
3312
4181
  data: RotateRoundInstructionData;
3313
4182
  };
@@ -3470,16 +4339,20 @@ declare function parseSelectEpochWinnerInstruction<TProgram extends string, TAcc
3470
4339
 
3471
4340
  declare const SETTLE_DEPLOY_PUBLIC_DISCRIMINATOR: ReadonlyUint8Array;
3472
4341
  declare function getSettleDeployPublicDiscriminatorBytes(): ReadonlyUint8Array;
3473
- type SettleDeployPublicInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountAuthority extends string | AccountMeta<string> = string, TAccountSatrushConfig extends string | AccountMeta<string> = string, TAccountRound extends string | AccountMeta<string> = string, TAccountBoard extends string | AccountMeta<string> = string, TAccountPublicDeployment extends string | AccountMeta<string> = string, TAccountMiner extends string | AccountMeta<string> = string, TAccountSatsVault extends string | AccountMeta<string> = string, TAccountBtcMint extends string | AccountMeta<string> = string, TAccountUsdMint extends string | AccountMeta<string> = string, TAccountBoardBtcAta extends string | AccountMeta<string> = string, TAccountSatsVaultBtcAta 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<[
4342
+ type SettleDeployPublicInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountAuthority extends string | AccountMeta<string> = string, TAccountSatrushConfig extends string | AccountMeta<string> = string, TAccountRound extends string | AccountMeta<string> = string, TAccountBoard extends string | AccountMeta<string> = string, TAccountRentRecipient extends string | AccountMeta<string> = string, TAccountPublicDeployment extends string | AccountMeta<string> = string, TAccountMiner extends string | AccountMeta<string> = string, TAccountPublicAutomation extends string | AccountMeta<string> = string, TAccountAutomationUsdAta extends string | AccountMeta<string> = string, TAccountSatsVault extends string | AccountMeta<string> = string, TAccountBtcMint extends string | AccountMeta<string> = string, TAccountUsdMint extends string | AccountMeta<string> = string, TAccountBoardUsdAta extends string | AccountMeta<string> = string, TAccountBoardBtcAta extends string | AccountMeta<string> = string, TAccountSatsVaultBtcAta 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<[
3474
4343
  TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
3475
4344
  TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
3476
4345
  TAccountRound extends string ? WritableAccount<TAccountRound> : TAccountRound,
3477
4346
  TAccountBoard extends string ? ReadonlyAccount<TAccountBoard> : TAccountBoard,
4347
+ TAccountRentRecipient extends string ? WritableAccount<TAccountRentRecipient> : TAccountRentRecipient,
3478
4348
  TAccountPublicDeployment extends string ? WritableAccount<TAccountPublicDeployment> : TAccountPublicDeployment,
3479
4349
  TAccountMiner extends string ? WritableAccount<TAccountMiner> : TAccountMiner,
4350
+ TAccountPublicAutomation extends string ? WritableAccount<TAccountPublicAutomation> : TAccountPublicAutomation,
4351
+ TAccountAutomationUsdAta extends string ? WritableAccount<TAccountAutomationUsdAta> : TAccountAutomationUsdAta,
3480
4352
  TAccountSatsVault extends string ? WritableAccount<TAccountSatsVault> : TAccountSatsVault,
3481
4353
  TAccountBtcMint extends string ? ReadonlyAccount<TAccountBtcMint> : TAccountBtcMint,
3482
4354
  TAccountUsdMint extends string ? ReadonlyAccount<TAccountUsdMint> : TAccountUsdMint,
4355
+ TAccountBoardUsdAta extends string ? WritableAccount<TAccountBoardUsdAta> : TAccountBoardUsdAta,
3483
4356
  TAccountBoardBtcAta extends string ? WritableAccount<TAccountBoardBtcAta> : TAccountBoardBtcAta,
3484
4357
  TAccountSatsVaultBtcAta extends string ? WritableAccount<TAccountSatsVaultBtcAta> : TAccountSatsVaultBtcAta,
3485
4358
  TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
@@ -3496,7 +4369,11 @@ type SettleDeployPublicInstructionDataArgs = {};
3496
4369
  declare function getSettleDeployPublicInstructionDataEncoder(): FixedSizeEncoder<SettleDeployPublicInstructionDataArgs>;
3497
4370
  declare function getSettleDeployPublicInstructionDataDecoder(): FixedSizeDecoder<SettleDeployPublicInstructionData>;
3498
4371
  declare function getSettleDeployPublicInstructionDataCodec(): FixedSizeCodec<SettleDeployPublicInstructionDataArgs, SettleDeployPublicInstructionData>;
3499
- type SettleDeployPublicAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountRound extends string = string, TAccountBoard extends string = string, TAccountPublicDeployment extends string = string, TAccountMiner extends string = string, TAccountSatsVault extends string = string, TAccountBtcMint extends string = string, TAccountUsdMint extends string = string, TAccountBoardBtcAta extends string = string, TAccountSatsVaultBtcAta extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
4372
+ type SettleDeployPublicAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountRound extends string = string, TAccountBoard extends string = string, TAccountRentRecipient extends string = string, TAccountPublicDeployment extends string = string, TAccountMiner extends string = string, TAccountPublicAutomation extends string = string, TAccountAutomationUsdAta extends string = string, TAccountSatsVault extends string = string, TAccountBtcMint extends string = string, TAccountUsdMint extends string = string, TAccountBoardUsdAta extends string = string, TAccountBoardBtcAta extends string = string, TAccountSatsVaultBtcAta extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
4373
+ /**
4374
+ * Settler: the deployment's owner (manual claim) or the round authority
4375
+ * (crank settling automated deployments).
4376
+ */
3500
4377
  authority: TransactionSigner<TAccountAuthority>;
3501
4378
  satrushConfig?: Address<TAccountSatrushConfig>;
3502
4379
  /** Round the deployment belongs to. Must be fully settled. */
@@ -3504,20 +4381,38 @@ type SettleDeployPublicAsyncInput<TAccountAuthority extends string = string, TAc
3504
4381
  /** PDA that owns `board_btc_ata`; signs the deposit transfer into the vault. */
3505
4382
  board?: Address<TAccountBoard>;
3506
4383
  /**
3507
- * The caller's settled deployment being claimed. Closed on success so it can
3508
- * never be claimed twice; rent is returned to the owner.
4384
+ * independent of the signer: the crank for automated deployments (it paid
4385
+ * at execute), the user for manual ones.
4386
+ */
4387
+ rentRecipient: Address<TAccountRentRecipient>;
4388
+ /**
4389
+ * The settled deployment; PDA re-keyed off its stored authority so a
4390
+ * crank signer can settle it. Closed to `rent_recipient`.
3509
4391
  */
3510
4392
  publicDeployment: Address<TAccountPublicDeployment>;
4393
+ /** Miner profile of the deployment's owner (not the signer). */
4394
+ miner: Address<TAccountMiner>;
3511
4395
  /**
3512
- * Miner profile for `authority`. Created lazily on the first claim and
3513
- * loaded on subsequent ones.
4396
+ * address is derived, so a client cannot dodge reload routing by omitting
4397
+ * it); may be closed/empty, in which case winnings fall back to the miner
4398
+ * profile. Deserialized manually in the handler when live.
3514
4399
  */
3515
- miner?: Address<TAccountMiner>;
4400
+ publicAutomation: Address<TAccountPublicAutomation>;
4401
+ /**
4402
+ * reload branch only (owner must be the automation PDA, mint the USD
4403
+ * mint). May be closed/empty when the automation is gone.
4404
+ */
4405
+ automationUsdAta: Address<TAccountAutomationUsdAta>;
3516
4406
  /** The Sats Vault the winner's BTC is deposited into for shares. */
3517
4407
  satsVault?: Address<TAccountSatsVault>;
3518
4408
  btcMint: Address<TAccountBtcMint>;
3519
4409
  /** USD mint — read only to size hashrate points by the stake's whole-USD unit. */
3520
4410
  usdMint: Address<TAccountUsdMint>;
4411
+ /**
4412
+ * Board's USD pool — the reload transfer source (winnings sit there until
4413
+ * claimed or reloaded).
4414
+ */
4415
+ boardUsdAta?: Address<TAccountBoardUsdAta>;
3521
4416
  /** Board's BTC reserves — the round's post-swap BTC, source of the deposit. */
3522
4417
  boardBtcAta?: Address<TAccountBoardBtcAta>;
3523
4418
  /** Vault's BTC reserves — the deposit destination. */
@@ -3528,10 +4423,14 @@ type SettleDeployPublicAsyncInput<TAccountAuthority extends string = string, TAc
3528
4423
  eventAuthority: Address<TAccountEventAuthority>;
3529
4424
  program: Address<TAccountProgram>;
3530
4425
  };
3531
- declare function getSettleDeployPublicInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountRound extends string, TAccountBoard extends string, TAccountPublicDeployment extends string, TAccountMiner extends string, TAccountSatsVault extends string, TAccountBtcMint extends string, TAccountUsdMint extends string, TAccountBoardBtcAta extends string, TAccountSatsVaultBtcAta 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: SettleDeployPublicAsyncInput<TAccountAuthority, TAccountSatrushConfig, TAccountRound, TAccountBoard, TAccountPublicDeployment, TAccountMiner, TAccountSatsVault, TAccountBtcMint, TAccountUsdMint, TAccountBoardBtcAta, TAccountSatsVaultBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
4426
+ declare function getSettleDeployPublicInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountRound extends string, TAccountBoard extends string, TAccountRentRecipient extends string, TAccountPublicDeployment extends string, TAccountMiner extends string, TAccountPublicAutomation extends string, TAccountAutomationUsdAta extends string, TAccountSatsVault extends string, TAccountBtcMint extends string, TAccountUsdMint extends string, TAccountBoardUsdAta extends string, TAccountBoardBtcAta extends string, TAccountSatsVaultBtcAta 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: SettleDeployPublicAsyncInput<TAccountAuthority, TAccountSatrushConfig, TAccountRound, TAccountBoard, TAccountRentRecipient, TAccountPublicDeployment, TAccountMiner, TAccountPublicAutomation, TAccountAutomationUsdAta, TAccountSatsVault, TAccountBtcMint, TAccountUsdMint, TAccountBoardUsdAta, TAccountBoardBtcAta, TAccountSatsVaultBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
3532
4427
  programAddress?: TProgramAddress;
3533
- }): Promise<SettleDeployPublicInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountRound, TAccountBoard, TAccountPublicDeployment, TAccountMiner, TAccountSatsVault, TAccountBtcMint, TAccountUsdMint, TAccountBoardBtcAta, TAccountSatsVaultBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>>;
3534
- type SettleDeployPublicInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountRound extends string = string, TAccountBoard extends string = string, TAccountPublicDeployment extends string = string, TAccountMiner extends string = string, TAccountSatsVault extends string = string, TAccountBtcMint extends string = string, TAccountUsdMint extends string = string, TAccountBoardBtcAta extends string = string, TAccountSatsVaultBtcAta extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
4428
+ }): Promise<SettleDeployPublicInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountRound, TAccountBoard, TAccountRentRecipient, TAccountPublicDeployment, TAccountMiner, TAccountPublicAutomation, TAccountAutomationUsdAta, TAccountSatsVault, TAccountBtcMint, TAccountUsdMint, TAccountBoardUsdAta, TAccountBoardBtcAta, TAccountSatsVaultBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>>;
4429
+ type SettleDeployPublicInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountRound extends string = string, TAccountBoard extends string = string, TAccountRentRecipient extends string = string, TAccountPublicDeployment extends string = string, TAccountMiner extends string = string, TAccountPublicAutomation extends string = string, TAccountAutomationUsdAta extends string = string, TAccountSatsVault extends string = string, TAccountBtcMint extends string = string, TAccountUsdMint extends string = string, TAccountBoardUsdAta extends string = string, TAccountBoardBtcAta extends string = string, TAccountSatsVaultBtcAta extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
4430
+ /**
4431
+ * Settler: the deployment's owner (manual claim) or the round authority
4432
+ * (crank settling automated deployments).
4433
+ */
3535
4434
  authority: TransactionSigner<TAccountAuthority>;
3536
4435
  satrushConfig: Address<TAccountSatrushConfig>;
3537
4436
  /** Round the deployment belongs to. Must be fully settled. */
@@ -3539,20 +4438,38 @@ type SettleDeployPublicInput<TAccountAuthority extends string = string, TAccount
3539
4438
  /** PDA that owns `board_btc_ata`; signs the deposit transfer into the vault. */
3540
4439
  board: Address<TAccountBoard>;
3541
4440
  /**
3542
- * The caller's settled deployment being claimed. Closed on success so it can
3543
- * never be claimed twice; rent is returned to the owner.
4441
+ * independent of the signer: the crank for automated deployments (it paid
4442
+ * at execute), the user for manual ones.
3544
4443
  */
3545
- publicDeployment: Address<TAccountPublicDeployment>;
4444
+ rentRecipient: Address<TAccountRentRecipient>;
3546
4445
  /**
3547
- * Miner profile for `authority`. Created lazily on the first claim and
3548
- * loaded on subsequent ones.
4446
+ * The settled deployment; PDA re-keyed off its stored authority so a
4447
+ * crank signer can settle it. Closed to `rent_recipient`.
3549
4448
  */
4449
+ publicDeployment: Address<TAccountPublicDeployment>;
4450
+ /** Miner profile of the deployment's owner (not the signer). */
3550
4451
  miner: Address<TAccountMiner>;
4452
+ /**
4453
+ * address is derived, so a client cannot dodge reload routing by omitting
4454
+ * it); may be closed/empty, in which case winnings fall back to the miner
4455
+ * profile. Deserialized manually in the handler when live.
4456
+ */
4457
+ publicAutomation: Address<TAccountPublicAutomation>;
4458
+ /**
4459
+ * reload branch only (owner must be the automation PDA, mint the USD
4460
+ * mint). May be closed/empty when the automation is gone.
4461
+ */
4462
+ automationUsdAta: Address<TAccountAutomationUsdAta>;
3551
4463
  /** The Sats Vault the winner's BTC is deposited into for shares. */
3552
4464
  satsVault: Address<TAccountSatsVault>;
3553
4465
  btcMint: Address<TAccountBtcMint>;
3554
4466
  /** USD mint — read only to size hashrate points by the stake's whole-USD unit. */
3555
4467
  usdMint: Address<TAccountUsdMint>;
4468
+ /**
4469
+ * Board's USD pool — the reload transfer source (winnings sit there until
4470
+ * claimed or reloaded).
4471
+ */
4472
+ boardUsdAta: Address<TAccountBoardUsdAta>;
3556
4473
  /** Board's BTC reserves — the round's post-swap BTC, source of the deposit. */
3557
4474
  boardBtcAta: Address<TAccountBoardBtcAta>;
3558
4475
  /** Vault's BTC reserves — the deposit destination. */
@@ -3563,12 +4480,16 @@ type SettleDeployPublicInput<TAccountAuthority extends string = string, TAccount
3563
4480
  eventAuthority: Address<TAccountEventAuthority>;
3564
4481
  program: Address<TAccountProgram>;
3565
4482
  };
3566
- declare function getSettleDeployPublicInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountRound extends string, TAccountBoard extends string, TAccountPublicDeployment extends string, TAccountMiner extends string, TAccountSatsVault extends string, TAccountBtcMint extends string, TAccountUsdMint extends string, TAccountBoardBtcAta extends string, TAccountSatsVaultBtcAta 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: SettleDeployPublicInput<TAccountAuthority, TAccountSatrushConfig, TAccountRound, TAccountBoard, TAccountPublicDeployment, TAccountMiner, TAccountSatsVault, TAccountBtcMint, TAccountUsdMint, TAccountBoardBtcAta, TAccountSatsVaultBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
4483
+ declare function getSettleDeployPublicInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountRound extends string, TAccountBoard extends string, TAccountRentRecipient extends string, TAccountPublicDeployment extends string, TAccountMiner extends string, TAccountPublicAutomation extends string, TAccountAutomationUsdAta extends string, TAccountSatsVault extends string, TAccountBtcMint extends string, TAccountUsdMint extends string, TAccountBoardUsdAta extends string, TAccountBoardBtcAta extends string, TAccountSatsVaultBtcAta 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: SettleDeployPublicInput<TAccountAuthority, TAccountSatrushConfig, TAccountRound, TAccountBoard, TAccountRentRecipient, TAccountPublicDeployment, TAccountMiner, TAccountPublicAutomation, TAccountAutomationUsdAta, TAccountSatsVault, TAccountBtcMint, TAccountUsdMint, TAccountBoardUsdAta, TAccountBoardBtcAta, TAccountSatsVaultBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
3567
4484
  programAddress?: TProgramAddress;
3568
- }): SettleDeployPublicInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountRound, TAccountBoard, TAccountPublicDeployment, TAccountMiner, TAccountSatsVault, TAccountBtcMint, TAccountUsdMint, TAccountBoardBtcAta, TAccountSatsVaultBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>;
4485
+ }): SettleDeployPublicInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountRound, TAccountBoard, TAccountRentRecipient, TAccountPublicDeployment, TAccountMiner, TAccountPublicAutomation, TAccountAutomationUsdAta, TAccountSatsVault, TAccountBtcMint, TAccountUsdMint, TAccountBoardUsdAta, TAccountBoardBtcAta, TAccountSatsVaultBtcAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>;
3569
4486
  type ParsedSettleDeployPublicInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
3570
4487
  programAddress: Address<TProgram>;
3571
4488
  accounts: {
4489
+ /**
4490
+ * Settler: the deployment's owner (manual claim) or the round authority
4491
+ * (crank settling automated deployments).
4492
+ */
3572
4493
  authority: TAccountMetas[0];
3573
4494
  satrushConfig: TAccountMetas[1];
3574
4495
  /** Round the deployment belongs to. Must be fully settled. */
@@ -3576,29 +4497,47 @@ type ParsedSettleDeployPublicInstruction<TProgram extends string = typeof SATRUS
3576
4497
  /** PDA that owns `board_btc_ata`; signs the deposit transfer into the vault. */
3577
4498
  board: TAccountMetas[3];
3578
4499
  /**
3579
- * The caller's settled deployment being claimed. Closed on success so it can
3580
- * never be claimed twice; rent is returned to the owner.
4500
+ * independent of the signer: the crank for automated deployments (it paid
4501
+ * at execute), the user for manual ones.
4502
+ */
4503
+ rentRecipient: TAccountMetas[4];
4504
+ /**
4505
+ * The settled deployment; PDA re-keyed off its stored authority so a
4506
+ * crank signer can settle it. Closed to `rent_recipient`.
4507
+ */
4508
+ publicDeployment: TAccountMetas[5];
4509
+ /** Miner profile of the deployment's owner (not the signer). */
4510
+ miner: TAccountMetas[6];
4511
+ /**
4512
+ * address is derived, so a client cannot dodge reload routing by omitting
4513
+ * it); may be closed/empty, in which case winnings fall back to the miner
4514
+ * profile. Deserialized manually in the handler when live.
3581
4515
  */
3582
- publicDeployment: TAccountMetas[4];
4516
+ publicAutomation: TAccountMetas[7];
3583
4517
  /**
3584
- * Miner profile for `authority`. Created lazily on the first claim and
3585
- * loaded on subsequent ones.
4518
+ * reload branch only (owner must be the automation PDA, mint the USD
4519
+ * mint). May be closed/empty when the automation is gone.
3586
4520
  */
3587
- miner: TAccountMetas[5];
4521
+ automationUsdAta: TAccountMetas[8];
3588
4522
  /** The Sats Vault the winner's BTC is deposited into for shares. */
3589
- satsVault: TAccountMetas[6];
3590
- btcMint: TAccountMetas[7];
4523
+ satsVault: TAccountMetas[9];
4524
+ btcMint: TAccountMetas[10];
3591
4525
  /** USD mint — read only to size hashrate points by the stake's whole-USD unit. */
3592
- usdMint: TAccountMetas[8];
4526
+ usdMint: TAccountMetas[11];
4527
+ /**
4528
+ * Board's USD pool — the reload transfer source (winnings sit there until
4529
+ * claimed or reloaded).
4530
+ */
4531
+ boardUsdAta: TAccountMetas[12];
3593
4532
  /** Board's BTC reserves — the round's post-swap BTC, source of the deposit. */
3594
- boardBtcAta: TAccountMetas[9];
4533
+ boardBtcAta: TAccountMetas[13];
3595
4534
  /** Vault's BTC reserves — the deposit destination. */
3596
- satsVaultBtcAta: TAccountMetas[10];
3597
- tokenProgram: TAccountMetas[11];
3598
- associatedTokenProgram: TAccountMetas[12];
3599
- systemProgram: TAccountMetas[13];
3600
- eventAuthority: TAccountMetas[14];
3601
- program: TAccountMetas[15];
4535
+ satsVaultBtcAta: TAccountMetas[14];
4536
+ tokenProgram: TAccountMetas[15];
4537
+ associatedTokenProgram: TAccountMetas[16];
4538
+ systemProgram: TAccountMetas[17];
4539
+ eventAuthority: TAccountMetas[18];
4540
+ program: TAccountMetas[19];
3602
4541
  };
3603
4542
  data: SettleDeployPublicInstructionData;
3604
4543
  };
@@ -3999,6 +4938,77 @@ type ParsedSwapStrikeStakeInstruction<TProgram extends string = typeof SATRUSH_P
3999
4938
  };
4000
4939
  declare function parseSwapStrikeStakeInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedSwapStrikeStakeInstruction<TProgram, TAccountMetas>;
4001
4940
 
4941
+ /**
4942
+ * This code was AUTOGENERATED using the Codama library.
4943
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4944
+ * to add features, then rerun Codama to update it.
4945
+ *
4946
+ * @see https://github.com/codama-idl/codama
4947
+ */
4948
+
4949
+ declare const TOP_UP_PUBLIC_AUTOMATION_DISCRIMINATOR: ReadonlyUint8Array;
4950
+ declare function getTopUpPublicAutomationDiscriminatorBytes(): ReadonlyUint8Array;
4951
+ type TopUpPublicAutomationInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountAuthority extends string | AccountMeta<string> = string, TAccountSatrushConfig extends string | AccountMeta<string> = string, TAccountPublicAutomation extends string | AccountMeta<string> = string, TAccountUsdMint extends string | AccountMeta<string> = string, TAccountAuthorityUsdAta extends string | AccountMeta<string> = string, TAccountAutomationUsdAta extends string | AccountMeta<string> = string, TAccountTokenProgram extends string | AccountMeta<string> = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA', TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
4952
+ TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
4953
+ TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
4954
+ TAccountPublicAutomation extends string ? WritableAccount<TAccountPublicAutomation> : TAccountPublicAutomation,
4955
+ TAccountUsdMint extends string ? ReadonlyAccount<TAccountUsdMint> : TAccountUsdMint,
4956
+ TAccountAuthorityUsdAta extends string ? WritableAccount<TAccountAuthorityUsdAta> : TAccountAuthorityUsdAta,
4957
+ TAccountAutomationUsdAta extends string ? WritableAccount<TAccountAutomationUsdAta> : TAccountAutomationUsdAta,
4958
+ TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
4959
+ ...TRemainingAccounts
4960
+ ]>;
4961
+ type TopUpPublicAutomationInstructionData = {
4962
+ discriminator: ReadonlyUint8Array;
4963
+ amount: bigint;
4964
+ };
4965
+ type TopUpPublicAutomationInstructionDataArgs = {
4966
+ amount: number | bigint;
4967
+ };
4968
+ declare function getTopUpPublicAutomationInstructionDataEncoder(): FixedSizeEncoder<TopUpPublicAutomationInstructionDataArgs>;
4969
+ declare function getTopUpPublicAutomationInstructionDataDecoder(): FixedSizeDecoder<TopUpPublicAutomationInstructionData>;
4970
+ declare function getTopUpPublicAutomationInstructionDataCodec(): FixedSizeCodec<TopUpPublicAutomationInstructionDataArgs, TopUpPublicAutomationInstructionData>;
4971
+ type TopUpPublicAutomationAsyncInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountPublicAutomation extends string = string, TAccountUsdMint extends string = string, TAccountAuthorityUsdAta extends string = string, TAccountAutomationUsdAta extends string = string, TAccountTokenProgram extends string = string> = {
4972
+ authority: TransactionSigner<TAccountAuthority>;
4973
+ satrushConfig?: Address<TAccountSatrushConfig>;
4974
+ publicAutomation?: Address<TAccountPublicAutomation>;
4975
+ usdMint: Address<TAccountUsdMint>;
4976
+ authorityUsdAta: Address<TAccountAuthorityUsdAta>;
4977
+ automationUsdAta?: Address<TAccountAutomationUsdAta>;
4978
+ tokenProgram?: Address<TAccountTokenProgram>;
4979
+ amount: TopUpPublicAutomationInstructionDataArgs['amount'];
4980
+ };
4981
+ declare function getTopUpPublicAutomationInstructionAsync<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountPublicAutomation extends string, TAccountUsdMint extends string, TAccountAuthorityUsdAta extends string, TAccountAutomationUsdAta extends string, TAccountTokenProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: TopUpPublicAutomationAsyncInput<TAccountAuthority, TAccountSatrushConfig, TAccountPublicAutomation, TAccountUsdMint, TAccountAuthorityUsdAta, TAccountAutomationUsdAta, TAccountTokenProgram>, config?: {
4982
+ programAddress?: TProgramAddress;
4983
+ }): Promise<TopUpPublicAutomationInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountPublicAutomation, TAccountUsdMint, TAccountAuthorityUsdAta, TAccountAutomationUsdAta, TAccountTokenProgram>>;
4984
+ type TopUpPublicAutomationInput<TAccountAuthority extends string = string, TAccountSatrushConfig extends string = string, TAccountPublicAutomation extends string = string, TAccountUsdMint extends string = string, TAccountAuthorityUsdAta extends string = string, TAccountAutomationUsdAta extends string = string, TAccountTokenProgram extends string = string> = {
4985
+ authority: TransactionSigner<TAccountAuthority>;
4986
+ satrushConfig: Address<TAccountSatrushConfig>;
4987
+ publicAutomation: Address<TAccountPublicAutomation>;
4988
+ usdMint: Address<TAccountUsdMint>;
4989
+ authorityUsdAta: Address<TAccountAuthorityUsdAta>;
4990
+ automationUsdAta: Address<TAccountAutomationUsdAta>;
4991
+ tokenProgram?: Address<TAccountTokenProgram>;
4992
+ amount: TopUpPublicAutomationInstructionDataArgs['amount'];
4993
+ };
4994
+ declare function getTopUpPublicAutomationInstruction<TAccountAuthority extends string, TAccountSatrushConfig extends string, TAccountPublicAutomation extends string, TAccountUsdMint extends string, TAccountAuthorityUsdAta extends string, TAccountAutomationUsdAta extends string, TAccountTokenProgram extends string, TProgramAddress extends Address = typeof SATRUSH_PROGRAM_ADDRESS>(input: TopUpPublicAutomationInput<TAccountAuthority, TAccountSatrushConfig, TAccountPublicAutomation, TAccountUsdMint, TAccountAuthorityUsdAta, TAccountAutomationUsdAta, TAccountTokenProgram>, config?: {
4995
+ programAddress?: TProgramAddress;
4996
+ }): TopUpPublicAutomationInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountPublicAutomation, TAccountUsdMint, TAccountAuthorityUsdAta, TAccountAutomationUsdAta, TAccountTokenProgram>;
4997
+ type ParsedTopUpPublicAutomationInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
4998
+ programAddress: Address<TProgram>;
4999
+ accounts: {
5000
+ authority: TAccountMetas[0];
5001
+ satrushConfig: TAccountMetas[1];
5002
+ publicAutomation: TAccountMetas[2];
5003
+ usdMint: TAccountMetas[3];
5004
+ authorityUsdAta: TAccountMetas[4];
5005
+ automationUsdAta: TAccountMetas[5];
5006
+ tokenProgram: TAccountMetas[6];
5007
+ };
5008
+ data: TopUpPublicAutomationInstructionData;
5009
+ };
5010
+ declare function parseTopUpPublicAutomationInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedTopUpPublicAutomationInstruction<TProgram, TAccountMetas>;
5011
+
4002
5012
  /**
4003
5013
  * This code was AUTOGENERATED using the Codama library.
4004
5014
  * Please DO NOT EDIT THIS FILE, instead use visitors
@@ -4208,6 +5218,210 @@ type ParsedUpdateBoardRoundDurationInstruction<TProgram extends string = typeof
4208
5218
  };
4209
5219
  declare function parseUpdateBoardRoundDurationInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedUpdateBoardRoundDurationInstruction<TProgram, TAccountMetas>;
4210
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
+
4211
5425
  /**
4212
5426
  * This code was AUTOGENERATED using the Codama library.
4213
5427
  * Please DO NOT EDIT THIS FILE, instead use visitors
@@ -4218,14 +5432,17 @@ declare function parseUpdateBoardRoundDurationInstruction<TProgram extends strin
4218
5432
 
4219
5433
  declare const WITHDRAW_PROTOCOL_FEES_DISCRIMINATOR: ReadonlyUint8Array;
4220
5434
  declare function getWithdrawProtocolFeesDiscriminatorBytes(): ReadonlyUint8Array;
4221
- 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<[
4222
5436
  TAccountAuthority extends string ? WritableSignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
4223
5437
  TAccountSatrushConfig extends string ? ReadonlyAccount<TAccountSatrushConfig> : TAccountSatrushConfig,
4224
5438
  TAccountTreasury extends string ? WritableAccount<TAccountTreasury> : TAccountTreasury,
4225
5439
  TAccountUsdMint extends string ? ReadonlyAccount<TAccountUsdMint> : TAccountUsdMint,
4226
5440
  TAccountTreasuryUsdAta extends string ? WritableAccount<TAccountTreasuryUsdAta> : TAccountTreasuryUsdAta,
5441
+ TAccountBtcMint extends string ? ReadonlyAccount<TAccountBtcMint> : TAccountBtcMint,
5442
+ TAccountTreasuryBtcAta extends string ? WritableAccount<TAccountTreasuryBtcAta> : TAccountTreasuryBtcAta,
4227
5443
  TAccountFeeRecipient extends string ? ReadonlyAccount<TAccountFeeRecipient> : TAccountFeeRecipient,
4228
5444
  TAccountFeeRecipientUsdAta extends string ? WritableAccount<TAccountFeeRecipientUsdAta> : TAccountFeeRecipientUsdAta,
5445
+ TAccountFeeRecipientBtcAta extends string ? WritableAccount<TAccountFeeRecipientBtcAta> : TAccountFeeRecipientBtcAta,
4229
5446
  TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
4230
5447
  TAccountAssociatedTokenProgram extends string ? ReadonlyAccount<TAccountAssociatedTokenProgram> : TAccountAssociatedTokenProgram,
4231
5448
  TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
@@ -4238,7 +5455,7 @@ type WithdrawProtocolFeesInstructionDataArgs = {};
4238
5455
  declare function getWithdrawProtocolFeesInstructionDataEncoder(): FixedSizeEncoder<WithdrawProtocolFeesInstructionDataArgs>;
4239
5456
  declare function getWithdrawProtocolFeesInstructionDataDecoder(): FixedSizeDecoder<WithdrawProtocolFeesInstructionData>;
4240
5457
  declare function getWithdrawProtocolFeesInstructionDataCodec(): FixedSizeCodec<WithdrawProtocolFeesInstructionDataArgs, WithdrawProtocolFeesInstructionData>;
4241
- 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> = {
4242
5459
  authority: TransactionSigner<TAccountAuthority>;
4243
5460
  satrushConfig?: Address<TAccountSatrushConfig>;
4244
5461
  /** The treasury: owns the fee pool and signs the withdrawal transfer. */
@@ -4246,6 +5463,12 @@ type WithdrawProtocolFeesAsyncInput<TAccountAuthority extends string = string, T
4246
5463
  usdMint: Address<TAccountUsdMint>;
4247
5464
  /** Treasury's USD fee pool — the withdrawal source. */
4248
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>;
4249
5472
  /** as the authority of the destination ATA. */
4250
5473
  feeRecipient: Address<TAccountFeeRecipient>;
4251
5474
  /**
@@ -4253,14 +5476,19 @@ type WithdrawProtocolFeesAsyncInput<TAccountAuthority extends string = string, T
4253
5476
  * crank if missing.
4254
5477
  */
4255
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>;
4256
5484
  tokenProgram?: Address<TAccountTokenProgram>;
4257
5485
  associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
4258
5486
  systemProgram?: Address<TAccountSystemProgram>;
4259
5487
  };
4260
- 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?: {
4261
5489
  programAddress?: TProgramAddress;
4262
- }): Promise<WithdrawProtocolFeesInstruction<TProgramAddress, TAccountAuthority, TAccountSatrushConfig, TAccountTreasury, TAccountUsdMint, TAccountTreasuryUsdAta, TAccountFeeRecipient, TAccountFeeRecipientUsdAta, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram>>;
4263
- 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> = {
4264
5492
  authority: TransactionSigner<TAccountAuthority>;
4265
5493
  satrushConfig: Address<TAccountSatrushConfig>;
4266
5494
  /** The treasury: owns the fee pool and signs the withdrawal transfer. */
@@ -4268,6 +5496,12 @@ type WithdrawProtocolFeesInput<TAccountAuthority extends string = string, TAccou
4268
5496
  usdMint: Address<TAccountUsdMint>;
4269
5497
  /** Treasury's USD fee pool — the withdrawal source. */
4270
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>;
4271
5505
  /** as the authority of the destination ATA. */
4272
5506
  feeRecipient: Address<TAccountFeeRecipient>;
4273
5507
  /**
@@ -4275,13 +5509,18 @@ type WithdrawProtocolFeesInput<TAccountAuthority extends string = string, TAccou
4275
5509
  * crank if missing.
4276
5510
  */
4277
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>;
4278
5517
  tokenProgram?: Address<TAccountTokenProgram>;
4279
5518
  associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
4280
5519
  systemProgram?: Address<TAccountSystemProgram>;
4281
5520
  };
4282
- 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?: {
4283
5522
  programAddress?: TProgramAddress;
4284
- }): 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>;
4285
5524
  type ParsedWithdrawProtocolFeesInstruction<TProgram extends string = typeof SATRUSH_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
4286
5525
  programAddress: Address<TProgram>;
4287
5526
  accounts: {
@@ -4292,16 +5531,27 @@ type ParsedWithdrawProtocolFeesInstruction<TProgram extends string = typeof SATR
4292
5531
  usdMint: TAccountMetas[3];
4293
5532
  /** Treasury's USD fee pool — the withdrawal source. */
4294
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];
4295
5540
  /** as the authority of the destination ATA. */
4296
- feeRecipient: TAccountMetas[5];
5541
+ feeRecipient: TAccountMetas[7];
4297
5542
  /**
4298
5543
  * Fee recipient's USD account — the withdrawal destination. Created by the
4299
5544
  * crank if missing.
4300
5545
  */
4301
- feeRecipientUsdAta: TAccountMetas[6];
4302
- tokenProgram: TAccountMetas[7];
4303
- associatedTokenProgram: TAccountMetas[8];
4304
- 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];
4305
5555
  };
4306
5556
  data: WithdrawProtocolFeesInstructionData;
4307
5557
  };
@@ -4329,13 +5579,13 @@ declare function parseWithdrawProtocolFeesInstruction<TProgram extends string, T
4329
5579
  */
4330
5580
  declare function buildDeployPublicInstruction(authority: Address, usdMint: Address, roundId: number, selectionMask: number, amount: number | bigint): Promise<Instruction>;
4331
5581
  /**
4332
- * `settle_deploy_public`: settle the miner `authority`'s deployment in a
4333
- * Settled round credit winnings (USD + sats vault shares) and hashrate
4334
- * points to the miner profile, then close the deployment account, returning
4335
- * its rent. Valid for losing deployments too (they still earn hashrate
4336
- * points).
5582
+ * `settle_deploy_public`: settle `deploymentAuthority`'s deployment in a
5583
+ * Settled round. `authority` signs the deployment owner, or the round
5584
+ * authority when settling automation-created deployments. `rentRecipient`
5585
+ * must be the round authority for automated deployments (it fronted the
5586
+ * deployment rent at execute) and the deployment owner for manual ones.
4337
5587
  */
4338
- declare function buildSettleDeployPublicInstruction(authority: Address, usdMint: Address, btcMint: Address, roundId: number): Promise<Instruction>;
5588
+ declare function buildSettleDeployPublicInstruction(authority: Address, deploymentAuthority: Address, rentRecipient: Address, usdMint: Address, btcMint: Address, roundId: number): Promise<Instruction>;
4339
5589
  /**
4340
5590
  * `claim_sats`: redeem `shares` of the miner `authority`'s sats vault shares
4341
5591
  * for BTC. A claim fee is withheld in the vault; the net BTC transfers to the
@@ -4348,6 +5598,90 @@ declare function buildClaimSatsInstruction(authority: Address, btcMint: Address,
4348
5598
  * fee — the full amount transfers.
4349
5599
  */
4350
5600
  declare function buildClaimUsdInstruction(authority: Address, usdMint: Address, amount: number | bigint): Promise<Instruction>;
5601
+ /**
5602
+ * `create_public_automation`: escrow `depositUsdAmount` and configure the crank
5603
+ * to deploy `perRoundUsdAmount` per round on `authority`'s behalf. One
5604
+ * automation per authority.
5605
+ *
5606
+ * `selectionMask` must be a non-empty 21-bit mask for `Static` (used every
5607
+ * round) and `Random` (its tile count seeds each generated mask), and exactly
5608
+ * `0` for `Discretionary`, where the crank supplies a mask per round.
5609
+ */
5610
+ declare function buildCreatePublicAutomationInstruction(authority: Address, usdMint: Address, strategy: AutomationStrategyArgs, selectionMask: number, perRoundUsdAmount: number | bigint, reload: boolean, depositUsdAmount: number | bigint): Promise<Instruction>;
5611
+ /**
5612
+ * `top_up_public_automation`: move `amount` USD from `authority`'s account into
5613
+ * their automation's escrow, extending how many rounds it can play.
5614
+ */
5615
+ declare function buildTopUpPublicAutomationInstruction(authority: Address, usdMint: Address, amount: number | bigint): Promise<Instruction>;
5616
+ /**
5617
+ * `cancel_public_automation`: refund the escrow's full balance to `authority`
5618
+ * and close the automation. Unconditional — deployments already in flight
5619
+ * settle later into the miner profile instead of reloading.
5620
+ */
5621
+ declare function buildCancelPublicAutomationInstruction(authority: Address, usdMint: Address): Promise<Instruction>;
5622
+ /**
5623
+ * `execute_public_automation`: the crank's per-round deploy for
5624
+ * `automationAuthority`, funded from their escrow. Signed by the config's round
5625
+ * authority, which also pays the deployment's rent and recovers it at settle.
5626
+ *
5627
+ * `selectionMask` must be supplied for a `Discretionary` automation and omitted
5628
+ * (`null`) otherwise — `Static` reuses the stored mask and `Random` generates
5629
+ * one on-chain.
5630
+ */
5631
+ declare function buildExecutePublicAutomationInstruction(crankAuthority: Address, automationAuthority: Address, usdMint: Address, roundId: number, selectionMask: number | null): Promise<Instruction>;
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;
4351
5685
 
4352
5686
  declare function getSatrushConfigAddress(): Promise<ProgramDerivedAddress>;
4353
5687
  /**
@@ -4367,7 +5701,14 @@ declare function getEpochVaultPageAddress(iterationId: number, pageIndex: number
4367
5701
  declare function getOneBtcVaultAddress(): Promise<ProgramDerivedAddress>;
4368
5702
  declare function getOneBtcVaultIterationAddress(iterationId: number): Promise<ProgramDerivedAddress>;
4369
5703
  declare function getTreasuryAddress(): Promise<ProgramDerivedAddress>;
5704
+ declare function getPublicAutomationAddress(authority: Address): Promise<ProgramDerivedAddress>;
4370
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;
4371
5712
  /** BTC value of a sats-vault share amount, as computed by {@link satsToBtc}. */
4372
5713
  type BtcSharesValue = {
4373
5714
  /** Value at the current exchange rate, before the claim fee. */
@@ -4386,9 +5727,10 @@ declare function satsToBtc(shares: bigint, vaultAmount: bigint, vaultShares: big
4386
5727
  /**
4387
5728
  * Shares minted for depositing `btcAmount` BTC into a vault holding
4388
5729
  * `vaultAmount` BTC with `vaultShares` shares issued (`SatsVault.btcAmount` /
4389
- * `SatsVault.btcShares`): 1:1 while no shares exist, otherwise scaled by the
4390
- * vault's `shares / assets` ratio and floored. Throws when the vault has
4391
- * 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`.
4392
5734
  */
4393
5735
  declare function btcToSats(btcAmount: bigint, vaultAmount: bigint, vaultShares: bigint): bigint;
4394
5736
 
@@ -4409,4 +5751,25 @@ declare function selectionMaskFromTiles(tiles: boolean[]): number;
4409
5751
  */
4410
5752
  declare function tilesFromSelectionMask(mask: number): boolean[];
4411
5753
 
4412
- export { 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, 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_SATRUSH_CONFIG_DISCRIMINATOR, CREATE_SATS_VAULT_DISCRIMINATOR, CREATE_TREASURY_DISCRIMINATOR, 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 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, 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, 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_DEPLOYMENT_DISCRIMINATOR, type PageEntry, type PageEntryArgs, type ParsedBuyEpochTicketsInstruction, type ParsedBuyOneBtcTicketsInstruction, 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 ParsedCreateSatrushConfigInstruction, type ParsedCreateSatsVaultInstruction, type ParsedCreateTreasuryInstruction, type ParsedDeployPublicInstruction, type ParsedRotateRoundInstruction, type ParsedSatrushInstruction, type ParsedSealEpochPageInstruction, type ParsedSelectEpochWinnerInstruction, type ParsedSettleDeployPublicInstruction, type ParsedSwapEpochStakeInstruction, type ParsedSwapOneBtcStakeInstruction, type ParsedSwapRoundStakeInstruction, type ParsedSwapStrikeStakeInstruction, type ParsedTriggerEpochDrawInstruction, type ParsedTriggerOneBtcDrawInstruction, type ParsedUpdateBoardRoundDurationInstruction, type ParsedWithdrawProtocolFeesInstruction, 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_HASHRATE, SATRUSH_ERROR__INSUFFICIENT_SHARES, SATRUSH_ERROR__INSUFFICIENT_UNCLAIMED_USD, 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, TREASURY_DISCRIMINATOR, TRIGGER_EPOCH_DRAW_DISCRIMINATOR, TRIGGER_ONE_BTC_DRAW_DISCRIMINATOR, type TileStake, type TileStakeArgs, 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, buildClaimSatsInstruction, buildClaimUsdInstruction, buildDeployPublicInstruction, buildSettleDeployPublicInstruction, decodeBoard, decodeEpochVault, decodeEpochVaultEntry, decodeEpochVaultIteration, decodeEpochVaultPage, decodeMiner, decodeOneBtcVault, decodeOneBtcVaultEntry, decodeOneBtcVaultIteration, decodePublicDeployment, decodeRound, decodeSatrushConfig, decodeSatsVault, decodeTreasury, fetchAllBoard, fetchAllEpochVault, fetchAllEpochVaultEntry, fetchAllEpochVaultIteration, fetchAllEpochVaultPage, fetchAllMaybeBoard, fetchAllMaybeEpochVault, fetchAllMaybeEpochVaultEntry, fetchAllMaybeEpochVaultIteration, fetchAllMaybeEpochVaultPage, fetchAllMaybeMiner, fetchAllMaybeOneBtcVault, fetchAllMaybeOneBtcVaultEntry, fetchAllMaybeOneBtcVaultIteration, fetchAllMaybePublicDeployment, fetchAllMaybeRound, fetchAllMaybeSatrushConfig, fetchAllMaybeSatsVault, fetchAllMaybeTreasury, fetchAllMiner, fetchAllOneBtcVault, fetchAllOneBtcVaultEntry, fetchAllOneBtcVaultIteration, fetchAllPublicDeployment, fetchAllRound, fetchAllSatrushConfig, fetchAllSatsVault, fetchAllTreasury, fetchBoard, fetchEpochVault, fetchEpochVaultEntry, fetchEpochVaultIteration, fetchEpochVaultPage, fetchMaybeBoard, fetchMaybeEpochVault, fetchMaybeEpochVaultEntry, fetchMaybeEpochVaultIteration, fetchMaybeEpochVaultPage, fetchMaybeMiner, fetchMaybeOneBtcVault, fetchMaybeOneBtcVaultEntry, fetchMaybeOneBtcVaultIteration, fetchMaybePublicDeployment, fetchMaybeRound, fetchMaybeSatrushConfig, fetchMaybeSatsVault, fetchMaybeTreasury, fetchMiner, fetchOneBtcVault, fetchOneBtcVaultEntry, fetchOneBtcVaultIteration, fetchPublicDeployment, fetchRound, fetchSatrushConfig, fetchSatsVault, fetchTreasury, findBoardPda, findEpochVaultIterationPda, findEpochVaultPda, findInitialRoundPda, findMinerPda, findNextRoundPda, findOneBtcVaultIterationPda, findOneBtcVaultPda, findSatrushConfigPda, findSatsVaultPda, findTreasuryPda, getBoardAddress, getBoardCodec, getBoardDecoder, getBoardDiscriminatorBytes, getBoardEncoder, getBoardSize, getBuyEpochTicketsDiscriminatorBytes, getBuyEpochTicketsInstruction, getBuyEpochTicketsInstructionAsync, getBuyEpochTicketsInstructionDataCodec, getBuyEpochTicketsInstructionDataDecoder, getBuyEpochTicketsInstructionDataEncoder, getBuyOneBtcTicketsDiscriminatorBytes, getBuyOneBtcTicketsInstruction, getBuyOneBtcTicketsInstructionAsync, getBuyOneBtcTicketsInstructionDataCodec, getBuyOneBtcTicketsInstructionDataDecoder, getBuyOneBtcTicketsInstructionDataEncoder, 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, 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, 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, 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, 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, parseClaimEpochRewardInstruction, parseClaimOneBtcRewardInstruction, parseClaimSatsInstruction, parseClaimUsdInstruction, parseCloseEpochEntryInstruction, parseCloseEpochIterationInstruction, parseCloseEpochPageInstruction, parseCloseOneBtcIterationInstruction, parseCloseOneBtcTicketInstruction, parseCreateBoardInstruction, parseCreateEpochVaultInstruction, parseCreateOneBtcVaultInstruction, parseCreateSatrushConfigInstruction, parseCreateSatsVaultInstruction, parseCreateTreasuryInstruction, parseDeployPublicInstruction, parseRotateRoundInstruction, parseSatrushInstruction, parseSealEpochPageInstruction, parseSelectEpochWinnerInstruction, parseSettleDeployPublicInstruction, parseSwapEpochStakeInstruction, parseSwapOneBtcStakeInstruction, parseSwapRoundStakeInstruction, parseSwapStrikeStakeInstruction, 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 };