/** * This file was automatically generated by @algorandfoundation/algokit-client-generator. * DO NOT MODIFY IT BY HAND. * requires: @algorandfoundation/algokit-utils: ^7 */ import { type AlgorandClient } from '@algorandfoundation/algokit-utils/types/algorand-client'; import { ABIReturn } from '@algorandfoundation/algokit-utils/types/app'; import { Arc56Contract } from '@algorandfoundation/algokit-utils/types/app-arc56'; import { AppClient as _AppClient, AppClientMethodCallParams, AppClientParams, AppClientBareCallParams, CallOnComplete, ResolveAppClientByCreatorAndName, ResolveAppClientByNetwork, CloneAppClientParams } from '@algorandfoundation/algokit-utils/types/app-client'; import { TransactionComposer, AppCallMethodCall, AppMethodCallTransactionArgument, RawSimulateOptions, SkipSignaturesSimulateOptions } from '@algorandfoundation/algokit-utils/types/composer'; import { SendParams, SendAtomicTransactionComposerResults } from '@algorandfoundation/algokit-utils/types/transaction'; import { Address, modelsv2, OnApplicationComplete, Transaction, TransactionSigner } from 'algosdk'; export declare const APP_SPEC: Arc56Contract; /** * A state record containing binary data */ export interface BinaryState { /** * Gets the state value as a Uint8Array */ asByteArray(): Uint8Array | undefined; /** * Gets the state value as a string */ asString(): string | undefined; } /** * Expands types for IntelliSense so they are more human readable * See https://stackoverflow.com/a/69288824 */ export type Expand = T extends (...args: infer A) => infer R ? (...args: Expand) => Expand : T extends infer O ? { [K in keyof O]: O[K]; } : never; export type AssetInformation = { adminWallet: string; mainPool: string; projectTaxBps: bigint; burnTaxBps: bigint; reflectionTaxBps: bigint; freezeTaxBps: bigint; liquidityTaxBps: bigint; liquidityTarget: string; freezeRewardBps: bigint; maxFreezeReward: bigint; liquidityDepositBps: bigint; reflectionTokenIndex: bigint; reflectionAlgoIndex: bigint; eligibleForReflectionsTotal: bigint; freezeRewardsAvailable: bigint; reflectionsTokensAvailable: bigint; reflectionsAlgoAvailable: bigint; minimumReflections: bigint; tokensCollected: bigint; algoCollected: bigint; pendingProjectTax: bigint; pendingLiquidityTax: bigint; buyTax: boolean; sellTax: boolean; taxesInAlgo: boolean; }; /** * Converts the ABI tuple representation of a AssetInformation to the struct representation */ export declare function AssetInformationFromTuple(abiTuple: [string, string, bigint, bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, boolean, boolean, boolean]): AssetInformation; export type ExemptApp = { note: string; interactionWhitelistable: boolean; }; /** * Converts the ABI tuple representation of a ExemptApp to the struct representation */ export declare function ExemptAppFromTuple(abiTuple: [string, boolean]): ExemptApp; export type ExemptWallet = { note: string; interactionWhitelistable: boolean; }; /** * Converts the ABI tuple representation of a ExemptWallet to the struct representation */ export declare function ExemptWalletFromTuple(abiTuple: [string, boolean]): ExemptWallet; export type PotentialApp = { depositor: string; deposit: bigint; expiry: bigint; asset: bigint; }; /** * Converts the ABI tuple representation of a PotentialApp to the struct representation */ export declare function PotentialAppFromTuple(abiTuple: [string, bigint, bigint, bigint]): PotentialApp; export type UserAssetInfo = { latestReflectionTokenIndex: bigint; latestReflectionAlgoIndex: bigint; pendingReflectionsTokens: bigint; pendingReflectionsAlgo: bigint; claimableFreezeRewards: bigint; registeredBalance: bigint; }; /** * Converts the ABI tuple representation of a UserAssetInfo to the struct representation */ export declare function UserAssetInfoFromTuple(abiTuple: [bigint, bigint, bigint, bigint, bigint, bigint]): UserAssetInfo; /** * The argument types for the FirstStage contract */ export type FirstStageArgs = { /** * The object representation of the arguments for each method */ obj: { 'set_global_state(uint64,uint64,uint64,uint64,uint64,uint64,uint64)void': { protocolFeeBps: bigint | number; totalMaxTaxBps: bigint | number; poolAppId: bigint | number; evidenceTime: bigint | number; evidenceDeposit: bigint | number; currentLpApp: bigint | number; previousLpApp: bigint | number; }; 'exempt_wallet(uint64,account,uint64,string,pay)void': { scope: bigint | number; address: Uint8Array | string; whitelist: bigint | number; note: string; payment: AppMethodCallTransactionArgument; }; 'unfreeze_exempt_wallet(account,asset)void': { address: Uint8Array | string; asset: bigint; }; 'add_exempt_app(uint64,uint64,uint64,string,pay)void': { scope: bigint | number; whitelist: bigint | number; appId: bigint | number; note: string; payment: AppMethodCallTransactionArgument; }; 'remove_exempt_wallet(uint64,account)void': { scope: bigint | number; address: Uint8Array | string; }; 'remove_exempt_app(uint64,uint64)void': { scope: bigint | number; appId: bigint | number; }; 'global_admin_reset(account)void': { globalAdmin: Uint8Array | string; }; 'project_admin_reset(account,asset)void': { projectAdmin: Uint8Array | string; asset: bigint; }; 'register_asa(asset,pay,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)void': { asset: bigint; payment: AppMethodCallTransactionArgument; projectTaxBps: bigint | number; burnTaxBps: bigint | number; reflectionTaxBps: bigint | number; freezeTaxBps: bigint | number; liquidityTaxBps: bigint | number; freezeRewardBps: bigint | number; maxFreezeReward: bigint | number; liquidityDepositBps: bigint | number; minimumReflections: bigint | number; taxCase: bigint | number; }; 'reconfigure_asset(asset,account,uint64,uint64,uint64,uint64,account,uint64,uint64,uint64,uint64)void': { asset: bigint; projectTaxAccount: Uint8Array | string; projectTaxBps: bigint | number; burnTaxBps: bigint | number; reflectionTaxBps: bigint | number; liquidityTaxBps: bigint | number; liquidityTarget: Uint8Array | string; freezeTaxBps: bigint | number; freezeRewardBps: bigint | number; maxFreezeReward: bigint | number; liquidityDepositBps: bigint | number; }; 'switch_tax_mode(asset,uint64,account)void': { asset: bigint; taxMode: bigint | number; mainPool: Uint8Array | string; }; 'freeze(asset,account,pay)void': { asset: bigint; refreezeAddress: Uint8Array | string; mbr: AppMethodCallTransactionArgument; }; 'general_operations_top(uint64,asset,uint64)void': { flagtop: bigint | number; asset: bigint; userBalance: bigint | number; }; 'general_operations_bottom(uint64,asset,axfer,account)void': { flagBottom: bigint | number; asset: bigint; taxTxn: AppMethodCallTransactionArgument; referallAddress: Uint8Array | string; }; 'send_to_frozen_top(uint64,asset,uint64,account,uint64)void': { flagtop: bigint | number; asset: bigint; senderBalance: bigint | number; receiverAccount: Uint8Array | string; receiverBalance: bigint | number; }; 'send_to_frozen_bottom(uint64,asset,axfer,account,account)void': { flagBottom: bigint | number; asset: bigint; taxTxn: AppMethodCallTransactionArgument; referallAddress: Uint8Array | string; receiverAccount: Uint8Array | string; }; 'whitelisted_app_top(uint64,asset,uint64)void': { flagtop: bigint | number; asset: bigint; applicationId: bigint | number; }; 'whitelisted_app_bottom(uint64,asset)void': { flagbottom: bigint | number; asset: bigint; }; 'liquidity_top(uint64,asset,asset,uint64,uint64)void': { flagTop: bigint | number; asset: bigint; lpasset: bigint; userBalance: bigint | number; userLpBalance: bigint | number; }; 'liquidity_bottom(uint64,asset)void': { flagbottom: bigint | number; asset: bigint; }; 'add_algo_rewards(asset,pay)void': { asset: bigint; payment: AppMethodCallTransactionArgument; }; 'add_asa_rewards(asset,uint64,axfer)void': { asset: bigint; type: bigint | number; rewardTxn: AppMethodCallTransactionArgument; }; 'exempt_app_approval(uint64,asset,string)void': { applicationId: bigint | number; asset: bigint; note: string; }; 'exempt_or_whitelist_app(uint64,asset,string,pay,uint64)void': { applicationId: bigint | number; asset: bigint; note: string; mbr: AppMethodCallTransactionArgument; mode: bigint | number; }; 'claim_reflections(asset)void': { asset: bigint; }; 'claim_freeze_rewards(asset)void': { asset: bigint; }; 'add_pending_lp(asset)void': { asset: bigint; }; 'check_is_address_exempt(account,asset)bool': { address: Uint8Array | string; asset: bigint; }; 'check_is_address_maybe_exempt_app(account,asset)bool': { address: Uint8Array | string; asset: bigint; }; 'check_app_status(uint64)(bool,bool)': { appId: bigint | number; }; 'check_lp_deposit_bps(asset)uint64': { asset: bigint; }; 'increase_budget()void': Record; 'get_reflection_preview(asset,account)(uint64,uint64)': { asset: bigint; user: Uint8Array | string; }; }; /** * The tuple representation of the arguments for each method */ tuple: { 'set_global_state(uint64,uint64,uint64,uint64,uint64,uint64,uint64)void': [protocolFeeBps: bigint | number, totalMaxTaxBps: bigint | number, poolAppId: bigint | number, evidenceTime: bigint | number, evidenceDeposit: bigint | number, currentLpApp: bigint | number, previousLpApp: bigint | number]; 'exempt_wallet(uint64,account,uint64,string,pay)void': [scope: bigint | number, address: Uint8Array | string, whitelist: bigint | number, note: string, payment: AppMethodCallTransactionArgument]; 'unfreeze_exempt_wallet(account,asset)void': [address: Uint8Array | string, asset: bigint]; 'add_exempt_app(uint64,uint64,uint64,string,pay)void': [scope: bigint | number, whitelist: bigint | number, appId: bigint | number, note: string, payment: AppMethodCallTransactionArgument]; 'remove_exempt_wallet(uint64,account)void': [scope: bigint | number, address: Uint8Array | string]; 'remove_exempt_app(uint64,uint64)void': [scope: bigint | number, appId: bigint | number]; 'global_admin_reset(account)void': [globalAdmin: Uint8Array | string]; 'project_admin_reset(account,asset)void': [projectAdmin: Uint8Array | string, asset: bigint]; 'register_asa(asset,pay,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)void': [asset: bigint, payment: AppMethodCallTransactionArgument, projectTaxBps: bigint | number, burnTaxBps: bigint | number, reflectionTaxBps: bigint | number, freezeTaxBps: bigint | number, liquidityTaxBps: bigint | number, freezeRewardBps: bigint | number, maxFreezeReward: bigint | number, liquidityDepositBps: bigint | number, minimumReflections: bigint | number, taxCase: bigint | number]; 'reconfigure_asset(asset,account,uint64,uint64,uint64,uint64,account,uint64,uint64,uint64,uint64)void': [asset: bigint, projectTaxAccount: Uint8Array | string, projectTaxBps: bigint | number, burnTaxBps: bigint | number, reflectionTaxBps: bigint | number, liquidityTaxBps: bigint | number, liquidityTarget: Uint8Array | string, freezeTaxBps: bigint | number, freezeRewardBps: bigint | number, maxFreezeReward: bigint | number, liquidityDepositBps: bigint | number]; 'switch_tax_mode(asset,uint64,account)void': [asset: bigint, taxMode: bigint | number, mainPool: Uint8Array | string]; 'freeze(asset,account,pay)void': [asset: bigint, refreezeAddress: Uint8Array | string, mbr: AppMethodCallTransactionArgument]; 'general_operations_top(uint64,asset,uint64)void': [flagtop: bigint | number, asset: bigint, userBalance: bigint | number]; 'general_operations_bottom(uint64,asset,axfer,account)void': [flagBottom: bigint | number, asset: bigint, taxTxn: AppMethodCallTransactionArgument, referallAddress: Uint8Array | string]; 'send_to_frozen_top(uint64,asset,uint64,account,uint64)void': [flagtop: bigint | number, asset: bigint, senderBalance: bigint | number, receiverAccount: Uint8Array | string, receiverBalance: bigint | number]; 'send_to_frozen_bottom(uint64,asset,axfer,account,account)void': [flagBottom: bigint | number, asset: bigint, taxTxn: AppMethodCallTransactionArgument, referallAddress: Uint8Array | string, receiverAccount: Uint8Array | string]; 'whitelisted_app_top(uint64,asset,uint64)void': [flagtop: bigint | number, asset: bigint, applicationId: bigint | number]; 'whitelisted_app_bottom(uint64,asset)void': [flagbottom: bigint | number, asset: bigint]; 'liquidity_top(uint64,asset,asset,uint64,uint64)void': [flagTop: bigint | number, asset: bigint, lpasset: bigint, userBalance: bigint | number, userLpBalance: bigint | number]; 'liquidity_bottom(uint64,asset)void': [flagbottom: bigint | number, asset: bigint]; 'add_algo_rewards(asset,pay)void': [asset: bigint, payment: AppMethodCallTransactionArgument]; 'add_asa_rewards(asset,uint64,axfer)void': [asset: bigint, type: bigint | number, rewardTxn: AppMethodCallTransactionArgument]; 'exempt_app_approval(uint64,asset,string)void': [applicationId: bigint | number, asset: bigint, note: string]; 'exempt_or_whitelist_app(uint64,asset,string,pay,uint64)void': [applicationId: bigint | number, asset: bigint, note: string, mbr: AppMethodCallTransactionArgument, mode: bigint | number]; 'claim_reflections(asset)void': [asset: bigint]; 'claim_freeze_rewards(asset)void': [asset: bigint]; 'add_pending_lp(asset)void': [asset: bigint]; 'check_is_address_exempt(account,asset)bool': [address: Uint8Array | string, asset: bigint]; 'check_is_address_maybe_exempt_app(account,asset)bool': [address: Uint8Array | string, asset: bigint]; 'check_app_status(uint64)(bool,bool)': [appId: bigint | number]; 'check_lp_deposit_bps(asset)uint64': [asset: bigint]; 'increase_budget()void': []; 'get_reflection_preview(asset,account)(uint64,uint64)': [asset: bigint, user: Uint8Array | string]; }; }; /** * The return type for each method */ export type FirstStageReturns = { 'set_global_state(uint64,uint64,uint64,uint64,uint64,uint64,uint64)void': void; 'exempt_wallet(uint64,account,uint64,string,pay)void': void; 'unfreeze_exempt_wallet(account,asset)void': void; 'add_exempt_app(uint64,uint64,uint64,string,pay)void': void; 'remove_exempt_wallet(uint64,account)void': void; 'remove_exempt_app(uint64,uint64)void': void; 'global_admin_reset(account)void': void; 'project_admin_reset(account,asset)void': void; 'register_asa(asset,pay,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)void': void; 'reconfigure_asset(asset,account,uint64,uint64,uint64,uint64,account,uint64,uint64,uint64,uint64)void': void; 'switch_tax_mode(asset,uint64,account)void': void; 'freeze(asset,account,pay)void': void; 'general_operations_top(uint64,asset,uint64)void': void; 'general_operations_bottom(uint64,asset,axfer,account)void': void; 'send_to_frozen_top(uint64,asset,uint64,account,uint64)void': void; 'send_to_frozen_bottom(uint64,asset,axfer,account,account)void': void; 'whitelisted_app_top(uint64,asset,uint64)void': void; 'whitelisted_app_bottom(uint64,asset)void': void; 'liquidity_top(uint64,asset,asset,uint64,uint64)void': void; 'liquidity_bottom(uint64,asset)void': void; 'add_algo_rewards(asset,pay)void': void; 'add_asa_rewards(asset,uint64,axfer)void': void; 'exempt_app_approval(uint64,asset,string)void': void; 'exempt_or_whitelist_app(uint64,asset,string,pay,uint64)void': void; 'claim_reflections(asset)void': void; 'claim_freeze_rewards(asset)void': void; 'add_pending_lp(asset)void': void; 'check_is_address_exempt(account,asset)bool': boolean; 'check_is_address_maybe_exempt_app(account,asset)bool': boolean; 'check_app_status(uint64)(bool,bool)': [boolean, boolean]; 'check_lp_deposit_bps(asset)uint64': bigint; 'increase_budget()void': void; 'get_reflection_preview(asset,account)(uint64,uint64)': [bigint, bigint]; }; /** * Defines the types of available calls and state of the FirstStage smart contract. */ export type FirstStageTypes = { /** * Maps method signatures / names to their argument and return types. */ methods: Record<'set_global_state(uint64,uint64,uint64,uint64,uint64,uint64,uint64)void' | 'set_global_state', { argsObj: FirstStageArgs['obj']['set_global_state(uint64,uint64,uint64,uint64,uint64,uint64,uint64)void']; argsTuple: FirstStageArgs['tuple']['set_global_state(uint64,uint64,uint64,uint64,uint64,uint64,uint64)void']; returns: FirstStageReturns['set_global_state(uint64,uint64,uint64,uint64,uint64,uint64,uint64)void']; }> & Record<'exempt_wallet(uint64,account,uint64,string,pay)void' | 'exempt_wallet', { argsObj: FirstStageArgs['obj']['exempt_wallet(uint64,account,uint64,string,pay)void']; argsTuple: FirstStageArgs['tuple']['exempt_wallet(uint64,account,uint64,string,pay)void']; returns: FirstStageReturns['exempt_wallet(uint64,account,uint64,string,pay)void']; }> & Record<'unfreeze_exempt_wallet(account,asset)void' | 'unfreeze_exempt_wallet', { argsObj: FirstStageArgs['obj']['unfreeze_exempt_wallet(account,asset)void']; argsTuple: FirstStageArgs['tuple']['unfreeze_exempt_wallet(account,asset)void']; returns: FirstStageReturns['unfreeze_exempt_wallet(account,asset)void']; }> & Record<'add_exempt_app(uint64,uint64,uint64,string,pay)void' | 'add_exempt_app', { argsObj: FirstStageArgs['obj']['add_exempt_app(uint64,uint64,uint64,string,pay)void']; argsTuple: FirstStageArgs['tuple']['add_exempt_app(uint64,uint64,uint64,string,pay)void']; returns: FirstStageReturns['add_exempt_app(uint64,uint64,uint64,string,pay)void']; }> & Record<'remove_exempt_wallet(uint64,account)void' | 'remove_exempt_wallet', { argsObj: FirstStageArgs['obj']['remove_exempt_wallet(uint64,account)void']; argsTuple: FirstStageArgs['tuple']['remove_exempt_wallet(uint64,account)void']; returns: FirstStageReturns['remove_exempt_wallet(uint64,account)void']; }> & Record<'remove_exempt_app(uint64,uint64)void' | 'remove_exempt_app', { argsObj: FirstStageArgs['obj']['remove_exempt_app(uint64,uint64)void']; argsTuple: FirstStageArgs['tuple']['remove_exempt_app(uint64,uint64)void']; returns: FirstStageReturns['remove_exempt_app(uint64,uint64)void']; }> & Record<'global_admin_reset(account)void' | 'global_admin_reset', { argsObj: FirstStageArgs['obj']['global_admin_reset(account)void']; argsTuple: FirstStageArgs['tuple']['global_admin_reset(account)void']; returns: FirstStageReturns['global_admin_reset(account)void']; }> & Record<'project_admin_reset(account,asset)void' | 'project_admin_reset', { argsObj: FirstStageArgs['obj']['project_admin_reset(account,asset)void']; argsTuple: FirstStageArgs['tuple']['project_admin_reset(account,asset)void']; returns: FirstStageReturns['project_admin_reset(account,asset)void']; }> & Record<'register_asa(asset,pay,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)void' | 'register_asa', { argsObj: FirstStageArgs['obj']['register_asa(asset,pay,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)void']; argsTuple: FirstStageArgs['tuple']['register_asa(asset,pay,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)void']; returns: FirstStageReturns['register_asa(asset,pay,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)void']; }> & Record<'reconfigure_asset(asset,account,uint64,uint64,uint64,uint64,account,uint64,uint64,uint64,uint64)void' | 'reconfigure_asset', { argsObj: FirstStageArgs['obj']['reconfigure_asset(asset,account,uint64,uint64,uint64,uint64,account,uint64,uint64,uint64,uint64)void']; argsTuple: FirstStageArgs['tuple']['reconfigure_asset(asset,account,uint64,uint64,uint64,uint64,account,uint64,uint64,uint64,uint64)void']; returns: FirstStageReturns['reconfigure_asset(asset,account,uint64,uint64,uint64,uint64,account,uint64,uint64,uint64,uint64)void']; }> & Record<'switch_tax_mode(asset,uint64,account)void' | 'switch_tax_mode', { argsObj: FirstStageArgs['obj']['switch_tax_mode(asset,uint64,account)void']; argsTuple: FirstStageArgs['tuple']['switch_tax_mode(asset,uint64,account)void']; returns: FirstStageReturns['switch_tax_mode(asset,uint64,account)void']; }> & Record<'freeze(asset,account,pay)void' | 'freeze', { argsObj: FirstStageArgs['obj']['freeze(asset,account,pay)void']; argsTuple: FirstStageArgs['tuple']['freeze(asset,account,pay)void']; returns: FirstStageReturns['freeze(asset,account,pay)void']; }> & Record<'general_operations_top(uint64,asset,uint64)void' | 'general_operations_top', { argsObj: FirstStageArgs['obj']['general_operations_top(uint64,asset,uint64)void']; argsTuple: FirstStageArgs['tuple']['general_operations_top(uint64,asset,uint64)void']; returns: FirstStageReturns['general_operations_top(uint64,asset,uint64)void']; }> & Record<'general_operations_bottom(uint64,asset,axfer,account)void' | 'general_operations_bottom', { argsObj: FirstStageArgs['obj']['general_operations_bottom(uint64,asset,axfer,account)void']; argsTuple: FirstStageArgs['tuple']['general_operations_bottom(uint64,asset,axfer,account)void']; returns: FirstStageReturns['general_operations_bottom(uint64,asset,axfer,account)void']; }> & Record<'send_to_frozen_top(uint64,asset,uint64,account,uint64)void' | 'send_to_frozen_top', { argsObj: FirstStageArgs['obj']['send_to_frozen_top(uint64,asset,uint64,account,uint64)void']; argsTuple: FirstStageArgs['tuple']['send_to_frozen_top(uint64,asset,uint64,account,uint64)void']; returns: FirstStageReturns['send_to_frozen_top(uint64,asset,uint64,account,uint64)void']; }> & Record<'send_to_frozen_bottom(uint64,asset,axfer,account,account)void' | 'send_to_frozen_bottom', { argsObj: FirstStageArgs['obj']['send_to_frozen_bottom(uint64,asset,axfer,account,account)void']; argsTuple: FirstStageArgs['tuple']['send_to_frozen_bottom(uint64,asset,axfer,account,account)void']; returns: FirstStageReturns['send_to_frozen_bottom(uint64,asset,axfer,account,account)void']; }> & Record<'whitelisted_app_top(uint64,asset,uint64)void' | 'whitelisted_app_top', { argsObj: FirstStageArgs['obj']['whitelisted_app_top(uint64,asset,uint64)void']; argsTuple: FirstStageArgs['tuple']['whitelisted_app_top(uint64,asset,uint64)void']; returns: FirstStageReturns['whitelisted_app_top(uint64,asset,uint64)void']; }> & Record<'whitelisted_app_bottom(uint64,asset)void' | 'whitelisted_app_bottom', { argsObj: FirstStageArgs['obj']['whitelisted_app_bottom(uint64,asset)void']; argsTuple: FirstStageArgs['tuple']['whitelisted_app_bottom(uint64,asset)void']; returns: FirstStageReturns['whitelisted_app_bottom(uint64,asset)void']; }> & Record<'liquidity_top(uint64,asset,asset,uint64,uint64)void' | 'liquidity_top', { argsObj: FirstStageArgs['obj']['liquidity_top(uint64,asset,asset,uint64,uint64)void']; argsTuple: FirstStageArgs['tuple']['liquidity_top(uint64,asset,asset,uint64,uint64)void']; returns: FirstStageReturns['liquidity_top(uint64,asset,asset,uint64,uint64)void']; }> & Record<'liquidity_bottom(uint64,asset)void' | 'liquidity_bottom', { argsObj: FirstStageArgs['obj']['liquidity_bottom(uint64,asset)void']; argsTuple: FirstStageArgs['tuple']['liquidity_bottom(uint64,asset)void']; returns: FirstStageReturns['liquidity_bottom(uint64,asset)void']; }> & Record<'add_algo_rewards(asset,pay)void' | 'add_algo_rewards', { argsObj: FirstStageArgs['obj']['add_algo_rewards(asset,pay)void']; argsTuple: FirstStageArgs['tuple']['add_algo_rewards(asset,pay)void']; returns: FirstStageReturns['add_algo_rewards(asset,pay)void']; }> & Record<'add_asa_rewards(asset,uint64,axfer)void' | 'add_asa_rewards', { argsObj: FirstStageArgs['obj']['add_asa_rewards(asset,uint64,axfer)void']; argsTuple: FirstStageArgs['tuple']['add_asa_rewards(asset,uint64,axfer)void']; returns: FirstStageReturns['add_asa_rewards(asset,uint64,axfer)void']; }> & Record<'exempt_app_approval(uint64,asset,string)void' | 'exempt_app_approval', { argsObj: FirstStageArgs['obj']['exempt_app_approval(uint64,asset,string)void']; argsTuple: FirstStageArgs['tuple']['exempt_app_approval(uint64,asset,string)void']; returns: FirstStageReturns['exempt_app_approval(uint64,asset,string)void']; }> & Record<'exempt_or_whitelist_app(uint64,asset,string,pay,uint64)void' | 'exempt_or_whitelist_app', { argsObj: FirstStageArgs['obj']['exempt_or_whitelist_app(uint64,asset,string,pay,uint64)void']; argsTuple: FirstStageArgs['tuple']['exempt_or_whitelist_app(uint64,asset,string,pay,uint64)void']; returns: FirstStageReturns['exempt_or_whitelist_app(uint64,asset,string,pay,uint64)void']; }> & Record<'claim_reflections(asset)void' | 'claim_reflections', { argsObj: FirstStageArgs['obj']['claim_reflections(asset)void']; argsTuple: FirstStageArgs['tuple']['claim_reflections(asset)void']; returns: FirstStageReturns['claim_reflections(asset)void']; }> & Record<'claim_freeze_rewards(asset)void' | 'claim_freeze_rewards', { argsObj: FirstStageArgs['obj']['claim_freeze_rewards(asset)void']; argsTuple: FirstStageArgs['tuple']['claim_freeze_rewards(asset)void']; returns: FirstStageReturns['claim_freeze_rewards(asset)void']; }> & Record<'add_pending_lp(asset)void' | 'add_pending_lp', { argsObj: FirstStageArgs['obj']['add_pending_lp(asset)void']; argsTuple: FirstStageArgs['tuple']['add_pending_lp(asset)void']; returns: FirstStageReturns['add_pending_lp(asset)void']; }> & Record<'check_is_address_exempt(account,asset)bool' | 'check_is_address_exempt', { argsObj: FirstStageArgs['obj']['check_is_address_exempt(account,asset)bool']; argsTuple: FirstStageArgs['tuple']['check_is_address_exempt(account,asset)bool']; returns: FirstStageReturns['check_is_address_exempt(account,asset)bool']; }> & Record<'check_is_address_maybe_exempt_app(account,asset)bool' | 'check_is_address_maybe_exempt_app', { argsObj: FirstStageArgs['obj']['check_is_address_maybe_exempt_app(account,asset)bool']; argsTuple: FirstStageArgs['tuple']['check_is_address_maybe_exempt_app(account,asset)bool']; returns: FirstStageReturns['check_is_address_maybe_exempt_app(account,asset)bool']; }> & Record<'check_app_status(uint64)(bool,bool)' | 'check_app_status', { argsObj: FirstStageArgs['obj']['check_app_status(uint64)(bool,bool)']; argsTuple: FirstStageArgs['tuple']['check_app_status(uint64)(bool,bool)']; returns: FirstStageReturns['check_app_status(uint64)(bool,bool)']; }> & Record<'check_lp_deposit_bps(asset)uint64' | 'check_lp_deposit_bps', { argsObj: FirstStageArgs['obj']['check_lp_deposit_bps(asset)uint64']; argsTuple: FirstStageArgs['tuple']['check_lp_deposit_bps(asset)uint64']; returns: FirstStageReturns['check_lp_deposit_bps(asset)uint64']; }> & Record<'increase_budget()void' | 'increase_budget', { argsObj: FirstStageArgs['obj']['increase_budget()void']; argsTuple: FirstStageArgs['tuple']['increase_budget()void']; returns: FirstStageReturns['increase_budget()void']; }> & Record<'get_reflection_preview(asset,account)(uint64,uint64)' | 'get_reflection_preview', { argsObj: FirstStageArgs['obj']['get_reflection_preview(asset,account)(uint64,uint64)']; argsTuple: FirstStageArgs['tuple']['get_reflection_preview(asset,account)(uint64,uint64)']; returns: FirstStageReturns['get_reflection_preview(asset,account)(uint64,uint64)']; }>; /** * Defines the shape of the state of the application. */ state: { global: { keys: { globalAdmin: string; globalBurnWallet: string; poolAppId: bigint; protocolFeeBps: bigint; evidenceTime: bigint; evidenceDeposit: bigint; totalMaxTaxBps: bigint; totalLaunchedAsas: bigint; currentLpDepositApp: bigint; previousLpDepositApp: bigint; }; maps: {}; }; box: { keys: {}; maps: { registeredAsset: Map; exemptedWallet: Map; exemptedWalletRekeyed: Map; exemptedAppDeployer: Map; exemptedAppId: Map; exemptedAppApproval: Map; userAssetInfo: Map; potentialExemptApp: Map; }; }; }; }; /** * Defines the possible abi call signatures. */ export type FirstStageSignatures = keyof FirstStageTypes['methods']; /** * Defines the possible abi call signatures for methods that return a non-void value. */ export type FirstStageNonVoidMethodSignatures = keyof FirstStageTypes['methods'] extends infer T ? T extends keyof FirstStageTypes['methods'] ? MethodReturn extends void ? never : T : never : never; /** * Defines an object containing all relevant parameters for a single call to the contract. */ export type CallParams = Expand & { /** The args for the ABI method call, either as an ordered array or an object */ args: Expand; }>; /** * Maps a method signature from the FirstStage smart contract to the method's arguments in either tuple or struct form */ export type MethodArgs = FirstStageTypes['methods'][TSignature]['argsObj' | 'argsTuple']; /** * Maps a method signature from the FirstStage smart contract to the method's return type */ export type MethodReturn = FirstStageTypes['methods'][TSignature]['returns']; /** * Defines the shape of the keyed global state of the application. */ export type GlobalKeysState = FirstStageTypes['state']['global']['keys']; /** * Defines the shape of the keyed box state of the application. */ export type BoxKeysState = FirstStageTypes['state']['box']['keys']; /** * Exposes methods for constructing `AppClient` params objects for ABI calls to the FirstStage smart contract */ export declare abstract class FirstStageParamsFactory { /** * Constructs a no op call for the set_global_state(uint64,uint64,uint64,uint64,uint64,uint64,uint64)void ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static setGlobalState(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the exempt_wallet(uint64,account,uint64,string,pay)void ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static exemptWallet(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the unfreeze_exempt_wallet(account,asset)void ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static unfreezeExemptWallet(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the add_exempt_app(uint64,uint64,uint64,string,pay)void ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static addExemptApp(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the remove_exempt_wallet(uint64,account)void ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static removeExemptWallet(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the remove_exempt_app(uint64,uint64)void ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static removeExemptApp(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the global_admin_reset(account)void ABI method * * Allows the contract creator to reset the global admin account. Args: global_admin (Account): sets the administrator wallet for this contract. * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static globalAdminReset(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the project_admin_reset(account,asset)void ABI method * * Allows the asset admin to reset a new admin account. Args: project_admin (Account): sets the administrator wallet for this asset. * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static projectAdminReset(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the register_asa(asset,pay,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)void ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static registerAsa(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the reconfigure_asset(asset,account,uint64,uint64,uint64,uint64,account,uint64,uint64,uint64,uint64)void ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static reconfigureAsset(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the switch_tax_mode(asset,uint64,account)void ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static switchTaxMode(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the freeze(asset,account,pay)void ABI method * * A method that is used to refreeze addresses. * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static freeze(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the general_operations_top(uint64,asset,uint64)void ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static generalOperationsTop(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the general_operations_bottom(uint64,asset,axfer,account)void ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static generalOperationsBottom(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the send_to_frozen_top(uint64,asset,uint64,account,uint64)void ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static sendToFrozenTop(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the send_to_frozen_bottom(uint64,asset,axfer,account,account)void ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static sendToFrozenBottom(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the whitelisted_app_top(uint64,asset,uint64)void ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static whitelistedAppTop(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the whitelisted_app_bottom(uint64,asset)void ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static whitelistedAppBottom(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the liquidity_top(uint64,asset,asset,uint64,uint64)void ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static liquidityTop(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the liquidity_bottom(uint64,asset)void ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static liquidityBottom(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the add_algo_rewards(asset,pay)void ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static addAlgoRewards(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the add_asa_rewards(asset,uint64,axfer)void ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static addAsaRewards(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the exempt_app_approval(uint64,asset,string)void ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static exemptAppApproval(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the exempt_or_whitelist_app(uint64,asset,string,pay,uint64)void ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static exemptOrWhitelistApp(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the claim_reflections(asset)void ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static claimReflections(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the claim_freeze_rewards(asset)void ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static claimFreezeRewards(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the add_pending_lp(asset)void ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static addPendingLp(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the check_is_address_exempt(account,asset)bool ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static checkIsAddressExempt(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the check_is_address_maybe_exempt_app(account,asset)bool ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static checkIsAddressMaybeExemptApp(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the check_app_status(uint64)(bool,bool) ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static checkAppStatus(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the check_lp_deposit_bps(asset)uint64 ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static checkLpDepositBps(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the increase_budget()void ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static increaseBudget(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; /** * Constructs a no op call for the get_reflection_preview(asset,account)(uint64,uint64) ABI method * * @param params Parameters for the call * @returns An `AppClientMethodCallParams` object for the call */ static getReflectionPreview(params: CallParams & CallOnComplete): AppClientMethodCallParams & CallOnComplete; } /** * A client to make calls to the FirstStage smart contract */ export declare class FirstStageClient { /** * The underlying `AppClient` for when you want to have more flexibility */ readonly appClient: _AppClient; /** * Creates a new instance of `FirstStageClient` * * @param appClient An `AppClient` instance which has been created with the FirstStage app spec */ constructor(appClient: _AppClient); /** * Creates a new instance of `FirstStageClient` * * @param params The parameters to initialise the app client with */ constructor(params: Omit); /** * Checks for decode errors on the given return value and maps the return value to the return type for the given method * @returns The typed return value or undefined if there was no value */ decodeReturnValue(method: TSignature, returnValue: ABIReturn | undefined): MethodReturn | undefined; /** * Returns a new `FirstStageClient` client, resolving the app by creator address and name * using AlgoKit app deployment semantics (i.e. looking for the app creation transaction note). * @param params The parameters to create the app client */ static fromCreatorAndName(params: Omit): Promise; /** * Returns an `FirstStageClient` instance for the current network based on * pre-determined network-specific app IDs specified in the ARC-56 app spec. * * If no IDs are in the app spec or the network isn't recognised, an error is thrown. * @param params The parameters to create the app client */ static fromNetwork(params: Omit): Promise; /** The ID of the app instance this client is linked to. */ get appId(): bigint; /** The app address of the app instance this client is linked to. */ get appAddress(): Address; /** The name of the app. */ get appName(): string; /** The ARC-56 app spec being used */ get appSpec(): Arc56Contract; /** A reference to the underlying `AlgorandClient` this app client is using. */ get algorand(): AlgorandClient; /** * Get parameters to create transactions for the current app. A good mental model for this is that these parameters represent a deferred transaction creation. */ readonly params: { /** * Makes a clear_state call to an existing instance of the FirstStage smart contract. * * @param params The params for the bare (raw) call * @returns The clearState result */ clearState: (params?: Expand) => import("@algorandfoundation/algokit-utils/types/composer").AppCallParams; /** * Makes a call to the FirstStage smart contract using the `set_global_state(uint64,uint64,uint64,uint64,uint64,uint64,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call params */ setGlobalState: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `exempt_wallet(uint64,account,uint64,string,pay)void` ABI method. * * @param params The params for the smart contract call * @returns The call params */ exemptWallet: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `unfreeze_exempt_wallet(account,asset)void` ABI method. * * @param params The params for the smart contract call * @returns The call params */ unfreezeExemptWallet: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `add_exempt_app(uint64,uint64,uint64,string,pay)void` ABI method. * * @param params The params for the smart contract call * @returns The call params */ addExemptApp: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `remove_exempt_wallet(uint64,account)void` ABI method. * * @param params The params for the smart contract call * @returns The call params */ removeExemptWallet: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `remove_exempt_app(uint64,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call params */ removeExemptApp: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `global_admin_reset(account)void` ABI method. * * Allows the contract creator to reset the global admin account. Args: global_admin (Account): sets the administrator wallet for this contract. * * @param params The params for the smart contract call * @returns The call params */ globalAdminReset: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `project_admin_reset(account,asset)void` ABI method. * * Allows the asset admin to reset a new admin account. Args: project_admin (Account): sets the administrator wallet for this asset. * * @param params The params for the smart contract call * @returns The call params */ projectAdminReset: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `register_asa(asset,pay,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call params */ registerAsa: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `reconfigure_asset(asset,account,uint64,uint64,uint64,uint64,account,uint64,uint64,uint64,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call params */ reconfigureAsset: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `switch_tax_mode(asset,uint64,account)void` ABI method. * * @param params The params for the smart contract call * @returns The call params */ switchTaxMode: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `freeze(asset,account,pay)void` ABI method. * * A method that is used to refreeze addresses. * * @param params The params for the smart contract call * @returns The call params */ freeze: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `general_operations_top(uint64,asset,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call params */ generalOperationsTop: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `general_operations_bottom(uint64,asset,axfer,account)void` ABI method. * * @param params The params for the smart contract call * @returns The call params */ generalOperationsBottom: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `send_to_frozen_top(uint64,asset,uint64,account,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call params */ sendToFrozenTop: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `send_to_frozen_bottom(uint64,asset,axfer,account,account)void` ABI method. * * @param params The params for the smart contract call * @returns The call params */ sendToFrozenBottom: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `whitelisted_app_top(uint64,asset,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call params */ whitelistedAppTop: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `whitelisted_app_bottom(uint64,asset)void` ABI method. * * @param params The params for the smart contract call * @returns The call params */ whitelistedAppBottom: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `liquidity_top(uint64,asset,asset,uint64,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call params */ liquidityTop: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `liquidity_bottom(uint64,asset)void` ABI method. * * @param params The params for the smart contract call * @returns The call params */ liquidityBottom: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `add_algo_rewards(asset,pay)void` ABI method. * * @param params The params for the smart contract call * @returns The call params */ addAlgoRewards: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `add_asa_rewards(asset,uint64,axfer)void` ABI method. * * @param params The params for the smart contract call * @returns The call params */ addAsaRewards: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `exempt_app_approval(uint64,asset,string)void` ABI method. * * @param params The params for the smart contract call * @returns The call params */ exemptAppApproval: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `exempt_or_whitelist_app(uint64,asset,string,pay,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call params */ exemptOrWhitelistApp: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `claim_reflections(asset)void` ABI method. * * @param params The params for the smart contract call * @returns The call params */ claimReflections: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `claim_freeze_rewards(asset)void` ABI method. * * @param params The params for the smart contract call * @returns The call params */ claimFreezeRewards: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `add_pending_lp(asset)void` ABI method. * * @param params The params for the smart contract call * @returns The call params */ addPendingLp: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `check_is_address_exempt(account,asset)bool` ABI method. * * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction. * * @param params The params for the smart contract call * @returns The call params */ checkIsAddressExempt: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `check_is_address_maybe_exempt_app(account,asset)bool` ABI method. * * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction. * * @param params The params for the smart contract call * @returns The call params */ checkIsAddressMaybeExemptApp: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `check_app_status(uint64)(bool,bool)` ABI method. * * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction. * * @param params The params for the smart contract call * @returns The call params */ checkAppStatus: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `check_lp_deposit_bps(asset)uint64` ABI method. * * @param params The params for the smart contract call * @returns The call params */ checkLpDepositBps: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `increase_budget()void` ABI method. * * @param params The params for the smart contract call * @returns The call params */ increaseBudget: (params?: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; /** * Makes a call to the FirstStage smart contract using the `get_reflection_preview(asset,account)(uint64,uint64)` ABI method. * * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction. * * @param params The params for the smart contract call * @returns The call params */ getReflectionPreview: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise; }; /** * Create transactions for the current app */ readonly createTransaction: { /** * Makes a clear_state call to an existing instance of the FirstStage smart contract. * * @param params The params for the bare (raw) call * @returns The clearState result */ clearState: (params?: Expand) => Promise; /** * Makes a call to the FirstStage smart contract using the `set_global_state(uint64,uint64,uint64,uint64,uint64,uint64,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ setGlobalState: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `exempt_wallet(uint64,account,uint64,string,pay)void` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ exemptWallet: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `unfreeze_exempt_wallet(account,asset)void` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ unfreezeExemptWallet: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `add_exempt_app(uint64,uint64,uint64,string,pay)void` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ addExemptApp: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `remove_exempt_wallet(uint64,account)void` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ removeExemptWallet: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `remove_exempt_app(uint64,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ removeExemptApp: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `global_admin_reset(account)void` ABI method. * * Allows the contract creator to reset the global admin account. Args: global_admin (Account): sets the administrator wallet for this contract. * * @param params The params for the smart contract call * @returns The call transaction */ globalAdminReset: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `project_admin_reset(account,asset)void` ABI method. * * Allows the asset admin to reset a new admin account. Args: project_admin (Account): sets the administrator wallet for this asset. * * @param params The params for the smart contract call * @returns The call transaction */ projectAdminReset: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `register_asa(asset,pay,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ registerAsa: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `reconfigure_asset(asset,account,uint64,uint64,uint64,uint64,account,uint64,uint64,uint64,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ reconfigureAsset: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `switch_tax_mode(asset,uint64,account)void` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ switchTaxMode: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `freeze(asset,account,pay)void` ABI method. * * A method that is used to refreeze addresses. * * @param params The params for the smart contract call * @returns The call transaction */ freeze: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `general_operations_top(uint64,asset,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ generalOperationsTop: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `general_operations_bottom(uint64,asset,axfer,account)void` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ generalOperationsBottom: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `send_to_frozen_top(uint64,asset,uint64,account,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ sendToFrozenTop: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `send_to_frozen_bottom(uint64,asset,axfer,account,account)void` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ sendToFrozenBottom: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `whitelisted_app_top(uint64,asset,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ whitelistedAppTop: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `whitelisted_app_bottom(uint64,asset)void` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ whitelistedAppBottom: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `liquidity_top(uint64,asset,asset,uint64,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ liquidityTop: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `liquidity_bottom(uint64,asset)void` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ liquidityBottom: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `add_algo_rewards(asset,pay)void` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ addAlgoRewards: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `add_asa_rewards(asset,uint64,axfer)void` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ addAsaRewards: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `exempt_app_approval(uint64,asset,string)void` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ exemptAppApproval: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `exempt_or_whitelist_app(uint64,asset,string,pay,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ exemptOrWhitelistApp: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `claim_reflections(asset)void` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ claimReflections: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `claim_freeze_rewards(asset)void` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ claimFreezeRewards: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `add_pending_lp(asset)void` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ addPendingLp: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `check_is_address_exempt(account,asset)bool` ABI method. * * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction. * * @param params The params for the smart contract call * @returns The call transaction */ checkIsAddressExempt: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `check_is_address_maybe_exempt_app(account,asset)bool` ABI method. * * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction. * * @param params The params for the smart contract call * @returns The call transaction */ checkIsAddressMaybeExemptApp: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `check_app_status(uint64)(bool,bool)` ABI method. * * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction. * * @param params The params for the smart contract call * @returns The call transaction */ checkAppStatus: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `check_lp_deposit_bps(asset)uint64` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ checkLpDepositBps: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `increase_budget()void` ABI method. * * @param params The params for the smart contract call * @returns The call transaction */ increaseBudget: (params?: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; /** * Makes a call to the FirstStage smart contract using the `get_reflection_preview(asset,account)(uint64,uint64)` ABI method. * * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction. * * @param params The params for the smart contract call * @returns The call transaction */ getReflectionPreview: (params: CallParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ transactions: Transaction[]; methodCalls: Map; signers: Map; }>; }; /** * Send calls to the current app */ readonly send: { /** * Makes a clear_state call to an existing instance of the FirstStage smart contract. * * @param params The params for the bare (raw) call * @returns The clearState result */ clearState: (params?: Expand) => Promise<{ groupId: string; txIds: string[]; returns?: ABIReturn[] | undefined; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; return?: ABIReturn | undefined; }>; /** * Makes a call to the FirstStage smart contract using the `set_global_state(uint64,uint64,uint64,uint64,uint64,uint64,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call result */ setGlobalState: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["set_global_state(uint64,uint64,uint64,uint64,uint64,uint64,uint64)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `exempt_wallet(uint64,account,uint64,string,pay)void` ABI method. * * @param params The params for the smart contract call * @returns The call result */ exemptWallet: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["exempt_wallet(uint64,account,uint64,string,pay)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `unfreeze_exempt_wallet(account,asset)void` ABI method. * * @param params The params for the smart contract call * @returns The call result */ unfreezeExemptWallet: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["unfreeze_exempt_wallet(account,asset)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `add_exempt_app(uint64,uint64,uint64,string,pay)void` ABI method. * * @param params The params for the smart contract call * @returns The call result */ addExemptApp: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["add_exempt_app(uint64,uint64,uint64,string,pay)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `remove_exempt_wallet(uint64,account)void` ABI method. * * @param params The params for the smart contract call * @returns The call result */ removeExemptWallet: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["remove_exempt_wallet(uint64,account)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `remove_exempt_app(uint64,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call result */ removeExemptApp: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["remove_exempt_app(uint64,uint64)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `global_admin_reset(account)void` ABI method. * * Allows the contract creator to reset the global admin account. Args: global_admin (Account): sets the administrator wallet for this contract. * * @param params The params for the smart contract call * @returns The call result */ globalAdminReset: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["global_admin_reset(account)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `project_admin_reset(account,asset)void` ABI method. * * Allows the asset admin to reset a new admin account. Args: project_admin (Account): sets the administrator wallet for this asset. * * @param params The params for the smart contract call * @returns The call result */ projectAdminReset: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["project_admin_reset(account,asset)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `register_asa(asset,pay,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call result */ registerAsa: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["register_asa(asset,pay,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `reconfigure_asset(asset,account,uint64,uint64,uint64,uint64,account,uint64,uint64,uint64,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call result */ reconfigureAsset: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["reconfigure_asset(asset,account,uint64,uint64,uint64,uint64,account,uint64,uint64,uint64,uint64)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `switch_tax_mode(asset,uint64,account)void` ABI method. * * @param params The params for the smart contract call * @returns The call result */ switchTaxMode: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["switch_tax_mode(asset,uint64,account)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `freeze(asset,account,pay)void` ABI method. * * A method that is used to refreeze addresses. * * @param params The params for the smart contract call * @returns The call result */ freeze: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["freeze(asset,account,pay)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `general_operations_top(uint64,asset,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call result */ generalOperationsTop: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["general_operations_top(uint64,asset,uint64)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `general_operations_bottom(uint64,asset,axfer,account)void` ABI method. * * @param params The params for the smart contract call * @returns The call result */ generalOperationsBottom: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["general_operations_bottom(uint64,asset,axfer,account)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `send_to_frozen_top(uint64,asset,uint64,account,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call result */ sendToFrozenTop: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["send_to_frozen_top(uint64,asset,uint64,account,uint64)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `send_to_frozen_bottom(uint64,asset,axfer,account,account)void` ABI method. * * @param params The params for the smart contract call * @returns The call result */ sendToFrozenBottom: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["send_to_frozen_bottom(uint64,asset,axfer,account,account)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `whitelisted_app_top(uint64,asset,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call result */ whitelistedAppTop: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["whitelisted_app_top(uint64,asset,uint64)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `whitelisted_app_bottom(uint64,asset)void` ABI method. * * @param params The params for the smart contract call * @returns The call result */ whitelistedAppBottom: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["whitelisted_app_bottom(uint64,asset)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `liquidity_top(uint64,asset,asset,uint64,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call result */ liquidityTop: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["liquidity_top(uint64,asset,asset,uint64,uint64)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `liquidity_bottom(uint64,asset)void` ABI method. * * @param params The params for the smart contract call * @returns The call result */ liquidityBottom: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["liquidity_bottom(uint64,asset)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `add_algo_rewards(asset,pay)void` ABI method. * * @param params The params for the smart contract call * @returns The call result */ addAlgoRewards: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["add_algo_rewards(asset,pay)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `add_asa_rewards(asset,uint64,axfer)void` ABI method. * * @param params The params for the smart contract call * @returns The call result */ addAsaRewards: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["add_asa_rewards(asset,uint64,axfer)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `exempt_app_approval(uint64,asset,string)void` ABI method. * * @param params The params for the smart contract call * @returns The call result */ exemptAppApproval: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["exempt_app_approval(uint64,asset,string)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `exempt_or_whitelist_app(uint64,asset,string,pay,uint64)void` ABI method. * * @param params The params for the smart contract call * @returns The call result */ exemptOrWhitelistApp: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["exempt_or_whitelist_app(uint64,asset,string,pay,uint64)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `claim_reflections(asset)void` ABI method. * * @param params The params for the smart contract call * @returns The call result */ claimReflections: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["claim_reflections(asset)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `claim_freeze_rewards(asset)void` ABI method. * * @param params The params for the smart contract call * @returns The call result */ claimFreezeRewards: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["claim_freeze_rewards(asset)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `add_pending_lp(asset)void` ABI method. * * @param params The params for the smart contract call * @returns The call result */ addPendingLp: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["add_pending_lp(asset)void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `check_is_address_exempt(account,asset)bool` ABI method. * * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction. * * @param params The params for the smart contract call * @returns The call result */ checkIsAddressExempt: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["check_is_address_exempt(account,asset)bool"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `check_is_address_maybe_exempt_app(account,asset)bool` ABI method. * * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction. * * @param params The params for the smart contract call * @returns The call result */ checkIsAddressMaybeExemptApp: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["check_is_address_maybe_exempt_app(account,asset)bool"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `check_app_status(uint64)(bool,bool)` ABI method. * * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction. * * @param params The params for the smart contract call * @returns The call result */ checkAppStatus: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["check_app_status(uint64)(bool,bool)"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `check_lp_deposit_bps(asset)uint64` ABI method. * * @param params The params for the smart contract call * @returns The call result */ checkLpDepositBps: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["check_lp_deposit_bps(asset)uint64"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `increase_budget()void` ABI method. * * @param params The params for the smart contract call * @returns The call result */ increaseBudget: (params?: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["increase_budget()void"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; /** * Makes a call to the FirstStage smart contract using the `get_reflection_preview(asset,account)(uint64,uint64)` ABI method. * * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction. * * @param params The params for the smart contract call * @returns The call result */ getReflectionPreview: (params: CallParams & SendParams & { onComplete?: OnApplicationComplete.NoOpOC; }) => Promise<{ return: (undefined | FirstStageReturns["get_reflection_preview(asset,account)(uint64,uint64)"]); returns?: ABIReturn[] | undefined | undefined; groupId: string; txIds: string[]; confirmations: modelsv2.PendingTransactionResponse[]; transactions: Transaction[]; confirmation: modelsv2.PendingTransactionResponse; transaction: Transaction; }>; }; /** * Clone this app client with different params * * @param params The params to use for the the cloned app client. Omit a param to keep the original value. Set a param to override the original value. Setting to undefined will clear the original value. * @returns A new app client with the altered params */ clone(params: CloneAppClientParams): FirstStageClient; /** * Makes a readonly (simulated) call to the FirstStage smart contract using the `check_is_address_exempt(account,asset)bool` ABI method. * * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction. * * @param params The params for the smart contract call * @returns The call result */ checkIsAddressExempt(params: CallParams): Promise; /** * Makes a readonly (simulated) call to the FirstStage smart contract using the `check_is_address_maybe_exempt_app(account,asset)bool` ABI method. * * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction. * * @param params The params for the smart contract call * @returns The call result */ checkIsAddressMaybeExemptApp(params: CallParams): Promise; /** * Makes a readonly (simulated) call to the FirstStage smart contract using the `check_app_status(uint64)(bool,bool)` ABI method. * * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction. * * @param params The params for the smart contract call * @returns The call result */ checkAppStatus(params: CallParams): Promise<[boolean, boolean]>; /** * Makes a readonly (simulated) call to the FirstStage smart contract using the `get_reflection_preview(asset,account)(uint64,uint64)` ABI method. * * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction. * * @param params The params for the smart contract call * @returns The call result */ getReflectionPreview(params: CallParams): Promise<[bigint, bigint]>; /** * Methods to access state for the current FirstStage app */ state: { /** * Methods to access global state for the current FirstStage app */ global: { /** * Get all current keyed values from global state */ getAll: () => Promise>>; /** * Get the current value of the global_admin key in global state */ globalAdmin: () => Promise; /** * Get the current value of the global_burn_wallet key in global state */ globalBurnWallet: () => Promise; /** * Get the current value of the pool_app_id key in global state */ poolAppId: () => Promise; /** * Get the current value of the protocol_fee_bps key in global state */ protocolFeeBps: () => Promise; /** * Get the current value of the evidence_time key in global state */ evidenceTime: () => Promise; /** * Get the current value of the evidence_deposit key in global state */ evidenceDeposit: () => Promise; /** * Get the current value of the total_max_tax_bps key in global state */ totalMaxTaxBps: () => Promise; /** * Get the current value of the total_launched_asas key in global state */ totalLaunchedAsas: () => Promise; /** * Get the current value of the current_lp_deposit_app key in global state */ currentLpDepositApp: () => Promise; /** * Get the current value of the previous_lp_deposit_app key in global state */ previousLpDepositApp: () => Promise; }; /** * Methods to access box state for the current FirstStage app */ box: { /** * Get all current keyed values from box state */ getAll: () => Promise>>; /** * Get values from the registered_asset map in box state */ registeredAsset: { /** * Get all current values of the registered_asset map in box state */ getMap: () => Promise>; /** * Get a current value of the registered_asset map by key from box state */ value: (key: bigint | number) => Promise; }; /** * Get values from the exempted_wallet map in box state */ exemptedWallet: { /** * Get all current values of the exempted_wallet map in box state */ getMap: () => Promise>; /** * Get a current value of the exempted_wallet map by key from box state */ value: (key: string) => Promise; }; /** * Get values from the exempted_wallet_rekeyed map in box state */ exemptedWalletRekeyed: { /** * Get all current values of the exempted_wallet_rekeyed map in box state */ getMap: () => Promise>; /** * Get a current value of the exempted_wallet_rekeyed map by key from box state */ value: (key: string) => Promise; }; /** * Get values from the exempted_app_deployer map in box state */ exemptedAppDeployer: { /** * Get all current values of the exempted_app_deployer map in box state */ getMap: () => Promise>; /** * Get a current value of the exempted_app_deployer map by key from box state */ value: (key: string) => Promise; }; /** * Get values from the exempted_app_id map in box state */ exemptedAppId: { /** * Get all current values of the exempted_app_id map in box state */ getMap: () => Promise>; /** * Get a current value of the exempted_app_id map by key from box state */ value: (key: bigint | number) => Promise; }; /** * Get values from the exempted_app_approval map in box state */ exemptedAppApproval: { /** * Get all current values of the exempted_app_approval map in box state */ getMap: () => Promise>; /** * Get a current value of the exempted_app_approval map by key from box state */ value: (key: Uint8Array | string) => Promise; }; /** * Get values from the user_asset_info map in box state */ userAssetInfo: { /** * Get all current values of the user_asset_info map in box state */ getMap: () => Promise>; /** * Get a current value of the user_asset_info map by key from box state */ value: (key: Uint8Array | string) => Promise; }; /** * Get values from the potential_exempt_app map in box state */ potentialExemptApp: { /** * Get all current values of the potential_exempt_app map in box state */ getMap: () => Promise>; /** * Get a current value of the potential_exempt_app map by key from box state */ value: (key: string) => Promise; }; }; }; newGroup(): FirstStageComposer; } export type FirstStageComposer = { /** * Calls the set_global_state(uint64,uint64,uint64,uint64,uint64,uint64,uint64)void ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ setGlobalState(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['set_global_state(uint64,uint64,uint64,uint64,uint64,uint64,uint64)void'] | undefined]>; /** * Calls the exempt_wallet(uint64,account,uint64,string,pay)void ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ exemptWallet(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['exempt_wallet(uint64,account,uint64,string,pay)void'] | undefined]>; /** * Calls the unfreeze_exempt_wallet(account,asset)void ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ unfreezeExemptWallet(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['unfreeze_exempt_wallet(account,asset)void'] | undefined]>; /** * Calls the add_exempt_app(uint64,uint64,uint64,string,pay)void ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ addExemptApp(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['add_exempt_app(uint64,uint64,uint64,string,pay)void'] | undefined]>; /** * Calls the remove_exempt_wallet(uint64,account)void ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ removeExemptWallet(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['remove_exempt_wallet(uint64,account)void'] | undefined]>; /** * Calls the remove_exempt_app(uint64,uint64)void ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ removeExemptApp(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['remove_exempt_app(uint64,uint64)void'] | undefined]>; /** * Calls the global_admin_reset(account)void ABI method. * * Allows the contract creator to reset the global admin account. Args: global_admin (Account): sets the administrator wallet for this contract. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ globalAdminReset(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['global_admin_reset(account)void'] | undefined]>; /** * Calls the project_admin_reset(account,asset)void ABI method. * * Allows the asset admin to reset a new admin account. Args: project_admin (Account): sets the administrator wallet for this asset. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ projectAdminReset(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['project_admin_reset(account,asset)void'] | undefined]>; /** * Calls the register_asa(asset,pay,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)void ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ registerAsa(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['register_asa(asset,pay,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)void'] | undefined]>; /** * Calls the reconfigure_asset(asset,account,uint64,uint64,uint64,uint64,account,uint64,uint64,uint64,uint64)void ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ reconfigureAsset(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['reconfigure_asset(asset,account,uint64,uint64,uint64,uint64,account,uint64,uint64,uint64,uint64)void'] | undefined]>; /** * Calls the switch_tax_mode(asset,uint64,account)void ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ switchTaxMode(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['switch_tax_mode(asset,uint64,account)void'] | undefined]>; /** * Calls the freeze(asset,account,pay)void ABI method. * * A method that is used to refreeze addresses. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ freeze(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['freeze(asset,account,pay)void'] | undefined]>; /** * Calls the general_operations_top(uint64,asset,uint64)void ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ generalOperationsTop(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['general_operations_top(uint64,asset,uint64)void'] | undefined]>; /** * Calls the general_operations_bottom(uint64,asset,axfer,account)void ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ generalOperationsBottom(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['general_operations_bottom(uint64,asset,axfer,account)void'] | undefined]>; /** * Calls the send_to_frozen_top(uint64,asset,uint64,account,uint64)void ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ sendToFrozenTop(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['send_to_frozen_top(uint64,asset,uint64,account,uint64)void'] | undefined]>; /** * Calls the send_to_frozen_bottom(uint64,asset,axfer,account,account)void ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ sendToFrozenBottom(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['send_to_frozen_bottom(uint64,asset,axfer,account,account)void'] | undefined]>; /** * Calls the whitelisted_app_top(uint64,asset,uint64)void ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ whitelistedAppTop(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['whitelisted_app_top(uint64,asset,uint64)void'] | undefined]>; /** * Calls the whitelisted_app_bottom(uint64,asset)void ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ whitelistedAppBottom(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['whitelisted_app_bottom(uint64,asset)void'] | undefined]>; /** * Calls the liquidity_top(uint64,asset,asset,uint64,uint64)void ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ liquidityTop(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['liquidity_top(uint64,asset,asset,uint64,uint64)void'] | undefined]>; /** * Calls the liquidity_bottom(uint64,asset)void ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ liquidityBottom(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['liquidity_bottom(uint64,asset)void'] | undefined]>; /** * Calls the add_algo_rewards(asset,pay)void ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ addAlgoRewards(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['add_algo_rewards(asset,pay)void'] | undefined]>; /** * Calls the add_asa_rewards(asset,uint64,axfer)void ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ addAsaRewards(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['add_asa_rewards(asset,uint64,axfer)void'] | undefined]>; /** * Calls the exempt_app_approval(uint64,asset,string)void ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ exemptAppApproval(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['exempt_app_approval(uint64,asset,string)void'] | undefined]>; /** * Calls the exempt_or_whitelist_app(uint64,asset,string,pay,uint64)void ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ exemptOrWhitelistApp(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['exempt_or_whitelist_app(uint64,asset,string,pay,uint64)void'] | undefined]>; /** * Calls the claim_reflections(asset)void ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ claimReflections(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['claim_reflections(asset)void'] | undefined]>; /** * Calls the claim_freeze_rewards(asset)void ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ claimFreezeRewards(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['claim_freeze_rewards(asset)void'] | undefined]>; /** * Calls the add_pending_lp(asset)void ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ addPendingLp(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['add_pending_lp(asset)void'] | undefined]>; /** * Calls the check_is_address_exempt(account,asset)bool ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ checkIsAddressExempt(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['check_is_address_exempt(account,asset)bool'] | undefined]>; /** * Calls the check_is_address_maybe_exempt_app(account,asset)bool ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ checkIsAddressMaybeExemptApp(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['check_is_address_maybe_exempt_app(account,asset)bool'] | undefined]>; /** * Calls the check_app_status(uint64)(bool,bool) ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ checkAppStatus(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['check_app_status(uint64)(bool,bool)'] | undefined]>; /** * Calls the check_lp_deposit_bps(asset)uint64 ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ checkLpDepositBps(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['check_lp_deposit_bps(asset)uint64'] | undefined]>; /** * Calls the increase_budget()void ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ increaseBudget(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['increase_budget()void'] | undefined]>; /** * Calls the get_reflection_preview(asset,account)(uint64,uint64) ABI method. * * @param args The arguments for the contract call * @param params Any additional parameters for the call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ getReflectionPreview(params?: CallParams): FirstStageComposer<[...TReturns, FirstStageReturns['get_reflection_preview(asset,account)(uint64,uint64)'] | undefined]>; /** * Makes a clear_state call to an existing instance of the FirstStage smart contract. * * @param args The arguments for the bare call * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions */ clearState(params?: AppClientBareCallParams): FirstStageComposer<[...TReturns, undefined]>; /** * Adds a transaction to the composer * * @param txn A transaction to add to the transaction group * @param signer The optional signer to use when signing this transaction. */ addTransaction(txn: Transaction, signer?: TransactionSigner): FirstStageComposer; /** * Returns the underlying AtomicTransactionComposer instance */ composer(): Promise; /** * Simulates the transaction group and returns the result */ simulate(): Promise & { simulateResponse: modelsv2.SimulateResponse; }>; simulate(options: SkipSignaturesSimulateOptions): Promise & { simulateResponse: modelsv2.SimulateResponse; }>; simulate(options: RawSimulateOptions): Promise & { simulateResponse: modelsv2.SimulateResponse; }>; /** * Sends the transaction group to the network and returns the results */ send(params?: SendParams): Promise>; }; export type FirstStageComposerResults = Expand;