import { KeyedAccountInfo, PublicKey } from '@solana/web3.js'; import { BN } from '@staratlas/anchor'; import { CargoIDLProgram } from '@staratlas/cargo'; import { CraftingIDLProgram, KeyIndexInput } from '@staratlas/crafting'; import { Account, AsyncSigner, DecodedAccountData, InstructionReturn } from '@staratlas/data-source'; import { PointsIDLProgram } from '@staratlas/points'; import { PointsStoreIDLProgram } from '@staratlas/points-store'; import { RegisterStarbaseInput, SageIDL, SageIDLProgram, StarbaseAccount, StarbaseCancelCraftingProcessInput, StarbaseCloseCraftingProcessInput, StarbaseCreateCraftingProcessInput, StarbaseDepositCraftingIngredientInput, StarbaseStartCraftingProcessInput, StarbaseUpkeepInfo, SubmitStarbaseUpgradeResourceInput } from './constants'; import { GameState } from './gameState'; export declare enum StarbaseFaction { Unaligned = 0, MUD = 1, ONI = 2, Ustur = 3 } export declare enum StarbaseState { Active = 1, Destroyed = 2 } export declare enum StarbaseUpgradeState { NotStarted = 1, Started = 2, Completed = 3 } export declare enum UpkeepResourceType { Ammo = 1, Food = 2, Toolkit = 3 } export interface ExtendedRegisterStarbaseInput extends RegisterStarbaseInput { sectorCoordinates: [BN, BN]; } export interface UpdateStarbaseInput { name?: number[]; keyIndex: number; subCoordinates?: [BN, BN]; } export interface DepositStarbaseUpkeepResourceInput { pointsProgramPermissionsKeyIndex: number; sagePermissionsKeyIndex: number; resourceIndex: number /** index of the resource in the resource recipe ingredient list */; amount: BN; resourceType: UpkeepResourceType; epochIndex: number /** the index of the epoch in the `RedemptionConfig` account, used when auto-submitting earned loyalty points for redemption */; } export declare const MIN_CSS_LEVEL = 6; /** * Check if two `StarbaseAccount` instances are equal * @param data1 - first StarbaseAccount * @param data2 - second StarbaseAccount * @param printOnFalse - whether or not log values if instances are not equal * @returns a boolean */ export declare function starbaseDataEquals(data1: StarbaseAccount, data2: StarbaseAccount, printOnFalse?: 'printOnFalse'): boolean; /** * Calculate upkeep resource exhaustion time * @param lastUpdate - the last time the resource was updated * @param balance - the current balance of the upkeep resource * @param depletionRate - the resource depletion rate * @returns resource exhaustion time */ export declare const calculateResourceExhaustionTime: (lastUpdate: BN, balance: BN, depletionRate: number) => BN; /** * Calculate the current time and balance for an upkeep resource, timer slows on resource exhaustion * @param currentTime - the current time on-chain * @param lastUpdate - the last time the resource was updated (local time) * @param lastGlobalUpdate - the last time the resource was updated (global time) * @param balance - the current balance of the upkeep resource * @param depletionRate - the resource depletion rate * @param starbaseLevel - the starbase's current level * @returns current resource time */ export declare const calculateCurrentResourceTimeSlow: (currentTime: BN, lastUpdate: BN, lastGlobalUpdate: BN, balance: BN, depletionRate: number, starbaseLevel: number) => { localTime: number; newBalance: number; }; /** * Calculate the current time and balance for an upkeep resource, timer stops on depletion * @param currentTime - the current time on-chain * @param lastUpdate - the last time the resource was updated (local time) * @param lastGlobalUpdate - the last time the resource was updated (global time) * @param balance - the current balance of the upkeep resource * @param depletionRate - the resource depletion rate * @returns current resource time */ export declare const calculateCurrentResourceTimeStop: (currentTime: BN, lastUpdate: BN, lastGlobalUpdate: BN, balance: BN, depletionRate: number) => { localTime: BN; newBalance: BN; }; export declare class Starbase implements Account { private _data; private _key; private _upgradeIngredientAmounts; static readonly ACCOUNT_NAME: NonNullable[number]['name']; static readonly MIN_DATA_SIZE: number; constructor(_data: StarbaseAccount, _key: PublicKey, _upgradeIngredientAmounts: BN[]); get data(): Readonly; get key(): Readonly; get upgradeIngredientAmounts(): Readonly; /** * Check if a Starbase is a central space station * @returns boolean */ isCentralSpaceStation(): boolean; /** * Get upkeep info for `Starbase` account * @param gameState - the game state account * @returns the upkeep information for the given Starbase */ getUpkeepInfo(gameState: GameState): StarbaseUpkeepInfo; /** * Get Starbase local time * @param resourceType - the upkeep resource type * @param currentGlobalTime - the current time on-chain * @param gameState - the game state account * @returns the local time at the Starbase for the given resource type */ getStarbaseTime(resourceType: UpkeepResourceType, currentGlobalTime: BN, gameState: GameState): BN; /** * Find the Starbase account address * @param program - SAGE program * @param gameId - the SAGE game id * @param sectorCoordinates - the sector's coordinates * @returns The PDA and bump respectively */ static findAddress(program: SageIDLProgram, gameId: PublicKey, sectorCoordinates: [BN, BN]): [PublicKey, number]; /** * Register `Starbase` * @param program - SAGE program * @param key - the key authorized to run this instruction * @param profile - the profile with the required permissions for the instruction * @param sector - the sector in which the Starbase exists * @param gameId - the SAGE game id * @param gameState - the game state * @param input - the instruction input params * @returns InstructionReturn */ static registerStarbase(program: SageIDLProgram, key: AsyncSigner, profile: PublicKey, sector: PublicKey, gameId: PublicKey, gameState: PublicKey, input: ExtendedRegisterStarbaseInput): InstructionReturn; /** * Update `Starbase` * @param program - SAGE program * @param starbase - the Starbase * @param key - the key authorized to run this instruction * @param profile - the profile with the required permissions for the instruction * @param gameId - the SAGE game id * @param input - the instruction input params * @param craftingDomain - the crafting domain * @param craftingFacility - the facility used fo crafting at the Starbase * @param upgradeFacility - the facility used for upgrade jobs at the Starbase * @returns InstructionReturn */ static updateStarbase(program: SageIDLProgram, starbase: PublicKey, key: AsyncSigner, profile: PublicKey, gameId: PublicKey, input: UpdateStarbaseInput, craftingDomain?: PublicKey, craftingFacility?: PublicKey, upgradeFacility?: PublicKey): InstructionReturn; /** * Create Starbase Upgrade Resource Crafting Process * @param program - SAGE program * @param craftingProgram - crafting program * @param key - the key authorized to run this instruction * @param playerProfile - the player's profile with the required permissions for the instruction * @param profileFaction - the profile's faction * @param starbasePlayer - the Starbase player * @param starbase - the Starbase * @param gameId - the SAGE game id * @param gameState - the game state account * @param upgradeFacility - the upgrade facility * @param craftingRecipe - the crafting recipe * @param craftingDomain - the crafting domain * @param input - the instruction input params * @returns InstructionReturn */ static createStarbaseUpgradeResourceProcess(program: SageIDLProgram, craftingProgram: CraftingIDLProgram, key: AsyncSigner, playerProfile: PublicKey, profileFaction: PublicKey, starbasePlayer: PublicKey, starbase: PublicKey, gameId: PublicKey, gameState: PublicKey, upgradeFacility: PublicKey, craftingRecipe: PublicKey, craftingDomain: PublicKey, input: StarbaseCreateCraftingProcessInput): { craftingProcessKey: [PublicKey, number]; craftingInstanceKey: [PublicKey, number]; instructions: InstructionReturn; }; /** * Deposit Starbase Upgrade Recipe Ingredient * @param program - SAGE program * @param cargoProgram - cargo program * @param craftingProgram - crafting program * @param key - the key authorized to run this instruction * @param playerProfile - the player's profile with the required permissions for the instruction * @param profileFaction - the profile's faction * @param starbasePlayer - the Starbase player * @param starbase - the Starbase * @param craftingInstance - the crafting instance * @param craftingProcess - the crafting process * @param craftingFacility - the upgrade facility * @param craftingRecipe - the crafting recipe * @param cargoPodFrom - the source cargo pod * @param cargoType - the cargo type * @param cargoStatsDefinition - the cargo stats definition * @param tokenFrom - the source account of the tokens - owner should be `cargoPodFrom` * @param tokenTo - the destination account of the tokens - owner should be `craftingProcess` * @param gameId - the SAGE game id * @param gameState - the game state account * @param input - the instruction input params * @returns InstructionReturn */ static depositStarbaseUpgradeResourceIngredient(program: SageIDLProgram, cargoProgram: CargoIDLProgram, craftingProgram: CraftingIDLProgram, key: AsyncSigner, playerProfile: PublicKey, profileFaction: PublicKey, starbasePlayer: PublicKey, starbase: PublicKey, craftingInstance: PublicKey, craftingProcess: PublicKey, craftingFacility: PublicKey, craftingRecipe: PublicKey, cargoPodFrom: PublicKey, cargoType: PublicKey, cargoStatsDefinition: PublicKey, tokenFrom: PublicKey, tokenTo: PublicKey, gameId: PublicKey, gameState: PublicKey, input: StarbaseDepositCraftingIngredientInput): InstructionReturn; /** * Withdraw Starbase Upgrade Recipe Ingredient * @param program - SAGE program * @param cargoProgram - cargo program * @param craftingProgram - crafting program * @param key - the key authorized to run this instruction * @param playerProfile - the player's profile with the required permissions for the instruction * @param profileFaction - the profile's faction * @param starbasePlayer - the Starbase player * @param starbase - the Starbase * @param craftingInstance - the crafting instance * @param craftingProcess - the crafting process * @param craftingFacility - the upgrade facility * @param craftingRecipe - the crafting recipe * @param cargoPodTo - the destination cargo pod * @param cargoType - the cargo type * @param cargoStatsDefinition - the cargo stats definition * @param tokenFrom - the source token account - owner should be `craftingProcess` * @param tokenTo - the destination token account - owner should be `cargoPodTo` * @param tokenMint - the token mint * @param gameId - the SAGE game id * @param gameState - the game state account * @param input - the instruction input params * @returns InstructionReturn */ static withdrawStarbaseUpgradeResourceIngredient(program: SageIDLProgram, cargoProgram: CargoIDLProgram, craftingProgram: CraftingIDLProgram, key: AsyncSigner, playerProfile: PublicKey, profileFaction: PublicKey, starbasePlayer: PublicKey, starbase: PublicKey, craftingInstance: PublicKey, craftingProcess: PublicKey, craftingFacility: PublicKey, craftingRecipe: PublicKey, cargoPodTo: PublicKey, cargoType: PublicKey, cargoStatsDefinition: PublicKey, tokenFrom: PublicKey, tokenTo: PublicKey, tokenMint: PublicKey, gameId: PublicKey, gameState: PublicKey, input: StarbaseDepositCraftingIngredientInput): InstructionReturn; /** * Start Starbase Upgrade Crafting Process * @param program - SAGE program * @param craftingProgram - crafting program * @param key - the key authorized to run this instruction * @param playerProfile - the player's profile with the required permissions for the instruction * @param profileFaction - the profile's faction * @param starbasePlayer - the Starbase player * @param starbase - the Starbase * @param craftingInstance - the crafting instance * @param craftingProcess - the crafting process * @param craftingFacility - the upgrade facility * @param craftingRecipe - the crafting recipe * @param gameId - the SAGE game id * @param gameState - the game state account * @param input - the instruction input params * @param recipeFeeRecipient - the recipe fee recipient`, should be as defined in `craftingRecipe` account * @param tokenFromAuthority - the transfer authority of `tokenFrom` * @param tokenFrom - the source token account for crafting fees * @param tokenTo - the destination token account for crafting fees, should be as defined in `craftingRecipe` account * @returns InstructionReturn */ static startStarbaseUpgradeCraftingProcess(program: SageIDLProgram, craftingProgram: CraftingIDLProgram, key: AsyncSigner, playerProfile: PublicKey, profileFaction: PublicKey, starbasePlayer: PublicKey, starbase: PublicKey, craftingInstance: PublicKey, craftingProcess: PublicKey, craftingFacility: PublicKey, craftingRecipe: PublicKey, gameId: PublicKey, gameState: PublicKey, input: StarbaseStartCraftingProcessInput, recipeFeeRecipient?: PublicKey, tokenFromAuthority?: AsyncSigner, tokenFrom?: PublicKey, tokenTo?: PublicKey): InstructionReturn; /** * Cancel Starbase Upgrade Crafting Process * Meant to be used for processes that have not yet been started * @param program - SAGE program * @param craftingProgram - crafting program * @param key - the key authorized to run this instruction * @param playerProfile - the player's profile with the required permissions for the instruction * @param profileFaction - the profile's faction * @param fundsTo - recipient of the rent refund * @param starbasePlayer - the Starbase player * @param starbase - the Starbase * @param craftingInstance - the crafting instance * @param craftingProcess - the crafting process * @param craftingFacility - the upgrade facility * @param gameId - the SAGE game id * @param gameState - the game state account * @param input - the instruction input params * @returns InstructionReturn */ static cancelStarbaseUpgradeCraftingProcess(program: SageIDLProgram, craftingProgram: CraftingIDLProgram, key: AsyncSigner, playerProfile: PublicKey, profileFaction: PublicKey, fundsTo: PublicKey | 'funder', starbasePlayer: PublicKey, starbase: PublicKey, craftingInstance: PublicKey, craftingProcess: PublicKey, craftingFacility: PublicKey, gameId: PublicKey, gameState: PublicKey, input: StarbaseCancelCraftingProcessInput): InstructionReturn; /** * Stop Starbase Upgrade Crafting Process * * Meant to be used for processes already started but not yet complete. * @param program - SAGE program * @param craftingProgram - crafting program * @param key - the key authorized to run this instruction * @param playerProfile - the player's profile with the required permissions for the instruction * @param profileFaction - the profile's faction * @param starbasePlayer - the Starbase player * @param starbase - the Starbase * @param craftingInstance - the crafting instance * @param craftingProcess - the crafting process * @param craftingFacility - the upgrade facility * @param craftingRecipe - the crafting recipe * @param gameId - the SAGE game id * @param gameState - the game state account * @param input - the instruction input params * @returns InstructionReturn */ static stopStarbaseUpgradeCraftingProcess(program: SageIDLProgram, craftingProgram: CraftingIDLProgram, key: AsyncSigner, playerProfile: PublicKey, profileFaction: PublicKey, starbasePlayer: PublicKey, starbase: PublicKey, craftingInstance: PublicKey, craftingProcess: PublicKey, craftingFacility: PublicKey, craftingRecipe: PublicKey, gameId: PublicKey, gameState: PublicKey, input: StarbaseCancelCraftingProcessInput): InstructionReturn; /** * Submit a resource for a Starbase upgrade * * Be warned that this instruction requires a lot of accounts and if auto-redemption of points * is required then you must use a lookup table to fit all of them into the transaction. * @param program - SAGE program * @param cargoProgram - cargo program * @param craftingProgram - crafting program * @param pointsProgram - points program * @param key - the key authorized to run this instruction * @param playerProfile - the player's profile with the required permissions for the instruction * @param profileFaction - the profile's faction * @param fundsTo - recipient of the rent refund * @param starbasePlayer - the Starbase player * @param starbase - the Starbase * @param gameId - the SAGE game id * @param gameState - the game state account * @param resourceCraftingProcess - the crafting process for the resource submission * @param resourceCraftingFacility - the crafting facility for the resource submission * @param upgradeProcessRecipe - the crafting recipe for the submission of resources used in the upgrade process * @param starbaseUpgradeRecipe - the crafting recipe for the Starbase upgrade * @param resourceRecipe - the crafting recipe for the resource being submitted i.e. the recipe for crafting (producing) the resource whose mint would be `token_mint` * @param cargoPodTo - the destination cargo pod * @param cargoType - the cargo type * @param cargoStatsDefinition - the cargo stats definition * @param tokenFrom - the source token account - owner should be `craftingProcess` * @param tokenTo - the destination token account - owner should be `cargoPodTo` * @param tokenMint - the token mint * @param loyaltyPointsUserAccount - the user account for Loyalty Points * @param loyaltyPointsCategory - the Loyalty Points Category Account * @param loyaltyPointsModifier - the Loyalty Points modifier * @param userRedemptionAccount - the user redemption account; used when auto-redeeming loyalty points * @param redemptionConfig - the RedemptionConfig; used when auto-redeeming loyalty points * @param pointsStoreProgram - the points store program; used when auto-redeeming loyalty points * @param input - the instruction input params * @param input.keyIndex - the index of the key in the player profile permissions * @param input.starbaseUpgradeRecipeInputIndex - the index of the resource in the upgrade recipe; The resource is a consumable in this recipe * @param input.upgradeProcessRecipeInputIndex - the index of the resource in the upgrade_process_recipe ingredients list; The resource is a consumable in this recipe * @param input.resourceRecipeOutputIndex - the index of the resource represented by `token_mint` in the `resource_recipe` ingredients list; The resource is an output in this recipe * @returns InstructionReturn */ static submitStarbaseUpgradeResource(program: SageIDLProgram, cargoProgram: CargoIDLProgram, craftingProgram: CraftingIDLProgram, pointsProgram: PointsIDLProgram, key: AsyncSigner, playerProfile: PublicKey, profileFaction: PublicKey, fundsTo: PublicKey | 'funder', starbasePlayer: PublicKey, starbase: PublicKey, gameId: PublicKey, gameState: PublicKey, resourceCraftingProcess: PublicKey, resourceCraftingFacility: PublicKey, upgradeProcessRecipe: PublicKey, starbaseUpgradeRecipe: PublicKey, resourceRecipe: PublicKey, cargoPodTo: PublicKey, cargoType: PublicKey, cargoStatsDefinition: PublicKey, tokenFrom: PublicKey, tokenTo: PublicKey, tokenMint: PublicKey, loyaltyPointsUserAccount: PublicKey, loyaltyPointsCategory: PublicKey, loyaltyPointsModifier: PublicKey, userRedemptionAccount: AsyncSigner | PublicKey, redemptionConfig: PublicKey, pointsStoreProgram: PointsStoreIDLProgram, input: SubmitStarbaseUpgradeResourceInput): InstructionReturn; /** * Start a Starbase upgrade process * @param program - SAGE program * @param key - the key authorized to run this instruction * @param playerProfile - the player's profile with the required permissions for the instruction * @param profileFaction - the profile's faction * @param starbasePlayer - the Starbase player * @param starbase - the Starbase * @param gameId - the SAGE game id * @param gameState - the game state account * @param upgradeFacility - the upgrade facility used for Starbase upgrade processes * @param upgradeRecipe - the crafting recipe for the Starbase upgrade * @param input - the instruction input params * @returns InstructionReturn */ static startStarbaseUpgrade(program: SageIDLProgram, key: AsyncSigner, playerProfile: PublicKey, profileFaction: PublicKey, starbasePlayer: PublicKey, starbase: PublicKey, gameId: PublicKey, gameState: PublicKey, upgradeFacility: PublicKey, upgradeRecipe: PublicKey, input: KeyIndexInput): InstructionReturn; /** * Close Starbase Upgrade Crafting Process * @param program - SAGE program * @param craftingProgram - crafting program * @param key - the key authorized to run this instruction * @param playerProfile - the player's profile with the required permissions for the instruction * @param profileFaction - the profile's faction * @param fundsTo - recipient of the rent refund * @param starbasePlayer - the Starbase player * @param starbase - the Starbase * @param resourceCraftingInstance - the crafting instance for the upgrade resource * @param resourceCraftingProcess - the crafting process for the upgrade resource * @param resourceCraftingFacility - the crafting facility for the upgrade resource * @param resourceRecipe - the crafting recipe for the upgrade resource * @param gameId - the SAGE game id * @param gameState - the game state account * @param input - the instruction input params * @param tokenFrom - the source token account for crafting fees, ATA owned by crafting process * @param tokenTo - the recipe fee recipient`, should be as defined in `craftingRecipe` account * @returns InstructionReturn */ static closeStarbaseUpgradeCraftingProcess(program: SageIDLProgram, craftingProgram: CraftingIDLProgram, key: AsyncSigner, playerProfile: PublicKey, profileFaction: PublicKey, fundsTo: PublicKey | 'funder', starbasePlayer: PublicKey, starbase: PublicKey, resourceCraftingInstance: PublicKey, resourceCraftingProcess: PublicKey, resourceCraftingFacility: PublicKey, resourceRecipe: PublicKey, gameId: PublicKey, gameState: PublicKey, input: StarbaseCloseCraftingProcessInput, tokenFrom?: PublicKey, tokenTo?: PublicKey): InstructionReturn; /** * Complete a Starbase upgrade process * @param program - SAGE program * @param craftingProgram - crafting program * @param key - the key authorized to run this instruction * @param playerProfile - the player's profile with the required permissions for the instruction * @param profileFaction - the profile's faction * @param starbasePlayer - the Starbase player * @param starbase - the Starbase * @param gameId - the SAGE game id * @param gameState - the game state account * @param craftingFacility - the upgrade facility used for crafting at the Starbase * @param upgradeFacility - the upgrade facility used for Starbase upgrade processes * @param newRecipeCategory - the new recipe category to be enabled after the upgrade process is complete * @param upgradeRecipe - the crafting recipe for the Starbase upgrade * @param craftingDomain - the crafting domain * @param input - the instruction input params * @returns InstructionReturn */ static completeStarbaseUpgrade(program: SageIDLProgram, craftingProgram: CraftingIDLProgram, key: AsyncSigner, playerProfile: PublicKey, profileFaction: PublicKey, starbasePlayer: PublicKey, starbase: PublicKey, gameId: PublicKey, gameState: PublicKey, craftingFacility: PublicKey, upgradeFacility: PublicKey, newRecipeCategory: PublicKey, upgradeRecipe: PublicKey, craftingDomain: PublicKey, input: KeyIndexInput): InstructionReturn; /** * Sync starbase upgrade ingredients * Syncs the starbase list of received upgrade ingredients with the list of ingredients defined in the upgrade * recipe. This is ideally meant to be used when the upgrade recipe has been updated and thus calling this * instruction updates the starbase data regarding expected upgrade ingredients and their receipt. * @param program - SAGE program * @param key - the key authorized to run this instruction * @param playerProfile - the player's profile with the required permissions for the instruction * @param starbase - the Starbase * @param gameId - the SAGE game id * @param gameState - the game state account * @param starbaseUpgradeRecipe - the crafting recipe for the Starbase upgrade * @param input - the instruction input params * @param input.keyIndex - the index of the key in the player profile permissions * @returns InstructionReturn */ static syncStarbaseUpgradeIngredients(program: SageIDLProgram, key: AsyncSigner, playerProfile: PublicKey, starbase: PublicKey, gameId: PublicKey, gameState: PublicKey, starbaseUpgradeRecipe: PublicKey, input: KeyIndexInput): InstructionReturn; /** * Deposit a resource for a Starbase upkeep * @param program - SAGE program * @param cargoProgram - cargo program * @param pointsProgram - points program * @param key - the key authorized to run this instruction * @param playerProfile - the player's profile with the required permissions for the instruction * @param profileFaction - the profile's faction * @param fundsTo - recipient of the rent refund * @param starbasePlayer - the Starbase player * @param starbase - the Starbase * @param gameId - the SAGE game id * @param gameState - the game state account * @param cargoPodFrom - the source cargo pod * @param cargoType - the cargo type * @param cargoStatsDefinition - the cargo stats definition * @param resourceRecipe - the crafting recipe for the resource being deposited * @param tokenFrom - the source token account - owner should be `cargoPodFrom` * @param tokenMint - the token mint * @param loyaltyPointsUserAccount - the user account for Loyalty Points * @param loyaltyPointsCategory - the Loyalty Points Category Account * @param loyaltyPointsModifier - the Loyalty Points modifier * @param userRedemptionAccount - the user redemption account; used when auto-redeeming loyalty points * @param redemptionConfig - the RedemptionConfig; used when auto-redeeming loyalty points * @param pointsStoreProgram - the points store program; used when auto-redeeming loyalty points * @param input - the instruction input params * @returns InstructionReturn */ static depositStarbaseUpkeepResource(program: SageIDLProgram, cargoProgram: CargoIDLProgram, pointsProgram: PointsIDLProgram, key: AsyncSigner, playerProfile: PublicKey, profileFaction: PublicKey, fundsTo: PublicKey | 'funder', starbasePlayer: PublicKey, starbase: PublicKey, gameId: PublicKey, gameState: PublicKey, cargoPodFrom: PublicKey, cargoType: PublicKey, cargoStatsDefinition: PublicKey, resourceRecipe: PublicKey, tokenFrom: PublicKey, tokenMint: PublicKey, loyaltyPointsUserAccount: PublicKey, loyaltyPointsCategory: PublicKey, loyaltyPointsModifier: PublicKey, userRedemptionAccount: AsyncSigner | PublicKey, redemptionConfig: PublicKey, pointsStoreProgram: PointsStoreIDLProgram, input: DepositStarbaseUpkeepResourceInput): InstructionReturn; /** * Creates a new certificate mint for a given cargo type at a `Starbase` * @param program - SAGE program * @param transferHookProgram - the transfer hook program * @param starbase - the Starbase to create a certificate mint for * @param cargoMint - the mint to create a certificate mint for * @param certificateMint - the new certificate mint * @param cargoType - the cargo type to associated with the `cargo_mint` * @param gameId - the SAGE game id * @returns InstructionReturn */ static createCertificateMint(program: SageIDLProgram, transferHookProgram: PublicKey, starbase: PublicKey, cargoMint: PublicKey, certificateMint: PublicKey, cargoType: PublicKey, gameId: PublicKey): InstructionReturn; static decodeData(account: KeyedAccountInfo, program: SageIDLProgram): DecodedAccountData; } //# sourceMappingURL=starbase.d.ts.map