/// import type { NearServiceClient } from './near.client.js'; import { NearAccount, StorageBalanceBounds, ViewFunctionRequest } from './types.js'; /** * Near contract factory */ export declare class NearContractFactory { readonly nearClient: NearServiceClient; readonly ownerAccount?: NearAccount | undefined; protected ownerSecret?: string | undefined; protected ownerId?: string; static readonly contractMethods: { changeMethods: string[]; viewMethods: string[]; }; /** * Enough balance to cover storage */ static readonly MIN_ATTACHED_BALANCE: bigint; constructor(nearClient: NearServiceClient, ownerAccount?: NearAccount | undefined, ownerSecret?: string | undefined); /** * Create a guest account and add it to the token contract * @param tokenContract - Token account id * @param guestAccountId - Guest account id * @param publicKey - Guest account public key * @param guestsAccountSecret - Guests account private key * @returns */ addGuest(tokenContract: string, guestAccountId: string, publicKey: string, guestsAccountSecret: string): Promise; loadContract(name: string): Promise; /** * Look up or create a `guests` account * @param guestsId - Guests account id * @param guestsAccountSecret - Guests account private key * @returns */ getOrCreateGuestsAccount(guestsId: string, guestsAccountSecret: string): Promise; /** * Calling a contract view function * @param tokenContract * @param methodName * @param args * @returns */ viewFunction(tokenContract: string, methodName: string, args?: object): Promise; /** * Calling a contract change function * @param tokenContract * @param methodName * @param args * @param gas * @param amount * @returns */ functionCall(tokenContract: string, methodName: string, args?: object, gas?: bigint, amount?: bigint, account?: NearAccount): Promise; batchViewFunction(requests: ViewFunctionRequest[], concurrency?: number): Promise; /** * Get the minimum storage balance for the contract * @param contract - Contract account * @returns */ storageMinimumBalance(contract: string): Promise; /** * Get the storage balance bounds for the given contract * @param contract - Contract account * @returns */ storageBalanceBounds(contract: string): Promise; /** * Get the storage balance for the given account * @param contract - Contract account * @param accountId - Account id * @returns */ storageBalanceOf(contract: string, accountId: string): Promise; /** * Deposit storage to the contract * @param contract - Contract account * @param amount - Amount to be deposited * @param accountId - Account id, if not provided, it's the caller account * @param registrationOnly - If `registration_only=true`, contract MUST * refund above the minimum balance if the account wasn't registered and * refund full deposit if already registered. * @returns */ storageDeposit(contract: string, amount: bigint, accountId?: string, registrationOnly?: boolean): Promise; /** * Withdraw storage from the contract * @param contract - Contract account * @param amount - Amount to be withdrawn * @returns */ storageWithdraw(contract: string, amount: bigint): Promise; storageUnregister(contract: string, force?: boolean): Promise; }