Creates an API bound to an AftermathApi provider and derives package,
object, and event type strings from its configured addresses.
Provider containing Sui clients and SuiFrens addresses.
ReadonlyaddressesPackage and shared-object addresses used by SuiFrens operations.
ReadonlyeventMove event types used by the four public event fetchers.
Harvested-fees event type.
Mixed-SuiFren event type.
Staked-SuiFren event type.
Unstaked-SuiFren event type.
Creates a new unsigned staking transaction with walletAddress as sender.
The builder appends stake_and_keep with autoStakeFees: true. It performs
no network I/O and does not select an explicit payment coin.
Wallet sender, SuiFren ID, fee settings, minimum count, and generic type.
A new unsigned Sui Transaction.
Creates a new unsigned unstaking transaction with walletAddress as sender.
Wallet sender, staked-position ID, and generic SuiFren type.
A new unsigned Sui Transaction.
ReadonlyobjectMove object types used by SuiFrens object and dynamic-field reads.
Bullshark object type.
Capy object type.
Version-one staked metadata dynamic-field type.
Staked-position object type.
Base SuiFren generic object type.
Accessory object type.
Appends the owned-SuiFren add_accessory_to_owned_suifren Move call.
Existing transaction, SuiFren ID, accessory ID, and generic type.
The transaction argument returned by tx.moveCall.
Appends the staked-position add_accessory Move call.
Existing transaction, SuiFren ID, accessory ID, and generic type.
The transaction argument returned by tx.moveCall.
Appends the vault begin_harvest Move call.
Existing transaction to mutate.
The transaction argument used as harvest metadata.
Appends the vault metadata-ID inspection call to an existing transaction.
The call returns a vector<address> in dev inspection output. This method
only mutates tx; it does not set a sender, perform inspection, or sign.
Existing transaction and SuiFren IDs to inspect.
The transaction argument returned by tx.moveCall.
Appends the batched mixing-limit and last-epoch inspection call.
The Move call returns vector<Option<u8>> and vector<Option<u64>> for
dev-inspection decoding. This method only mutates the supplied transaction.
Existing transaction, SuiFren IDs, and generic SuiFren type.
The transaction argument returned by tx.moveCall.
Appends the vault end_harvest Move call.
Existing transaction and metadata ID or transaction argument.
The transaction argument returned by tx.moveCall.
Fetches and casts accessory objects by ID.
Accessory object IDs.
Cast accessory objects with display data.
Fetches all accessories attached to one SuiFren through dynamic fields.
This method returns all matching fields without exposing a page cursor.
SuiFren parent object ID.
Accessory objects attached to the parent.
Builds an unsigned accessory-add transaction for an owned or staked SuiFren.
isOwned selects add_accessory_to_owned_suifren when true and
add_accessory when false. The returned transaction has
walletAddress as sender.
Accessory body including ownership mode and wallet sender.
A new unsigned Sui Transaction.
Builds an unsigned fee-harvest transaction for one or more positions.
The transaction begins harvest, harvests each position, merges multiple
harvested coins, transfers the resulting coin to walletAddress, and ends
harvest. The implementation expects at least one position ID.
Wallet sender/recipient and a non-empty list of position IDs.
An unsigned Sui Transaction with the sender set.
Builds an unsigned mix transaction and selects the correct parent-state branch.
The method sets walletAddress as sender, adds baseFee to the internal fee
calculated from the optional parent mixFee values, and selects a SUI coin
for the total. It calls the owned, mixed-owned/staked, or staked/staked Move
function according to which parent fees are defined. isSponsoredTx is
passed to coin selection.
Parent IDs and fees, base fee, SuiFren type, wallet, and sponsorship flag.
An unsigned Sui Transaction with the sender set.
Builds an unsigned accessory-removal transaction.
The union discriminant selects the owned-SuiFren call when suiFrenId is
present and the staked-position call otherwise. The returned transaction has
walletAddress as sender.
Accessory type, generic type, wallet sender, and one object-ID branch.
A new unsigned Sui Transaction.
Fetches and casts the configured CapyLabs application object.
The CapyLabs application object with bigint numeric fields.
Fetches and casts paginated SuiFren fee-harvest events.
This method uses the event helper's JSON-RPC path. The provider must include
a SuiJsonRpcClient; the gRPC-only provider cannot satisfy this query.
Optional event cursor and page limit.
Cast events and a nullable next cursor.
Reads one SuiFren's optional last-mixed epoch through dev inspection.
Bullshark objects return undefined without creating an inspection call.
Other values decode from Option<u64> to bigint.
SuiFren ID and generic type used by the Move call.
The epoch number as a bigint, or undefined when absent.
Reads one SuiFren's optional mixing limit through dev inspection.
Bullshark objects return undefined without creating an inspection call
because the current implementation does not expose a mixing-limit field for
that type.
SuiFren ID and generic type used by the Move call.
The limit as a bigint, or undefined when the type or on-chain option has no value.
Reads mixing limits and last-mixed epochs for several SuiFrens in one dev-inspection transaction.
The returned array matches suiFrenIds by index. mixLimit decodes
Option<u8> and lastEpochMixed decodes Option<u64>; absent values are
returned as undefined and present values as bigint.
SuiFren IDs and the generic type used by the inspection call.
One { mixLimit, lastEpochMixed } result per input ID.
Fetches and casts paginated SuiFren mix events.
Optional event cursor and page limit.
Cast mix events and a nullable next cursor.
Fetches accessory objects owned by a wallet.
Wallet address whose accessory objects are listed.
Owned accessory objects with display data.
Fetches staked SuiFrens and their owned position objects for a wallet.
The method lists owned staked positions, resolves their metadata IDs through dev inspection, and combines each position with its staked metadata.
Wallet address whose staked-position objects are listed.
Staked info with the matching position field populated.
Fetches complete SuiFrens owned by a wallet.
The method reads ordinary owned SuiFrens and also traverses owned kiosk
owner caps to find Bullshark objects. Returned objects do not include an
ownership flag; the high-level facade wraps them with isOwned: true.
Wallet address whose SuiFren and kiosk objects are read.
Complete owned SuiFren objects.
Resolves staked-metadata object IDs for a list of SuiFren IDs.
The method builds a dev-inspection call that returns a vector<address> and
decodes those addresses as object IDs.
SuiFren object IDs to resolve.
Staked metadata object IDs in the Move call's returned order.
Fetches complete staked SuiFrens by metadata object ID.
stakedSuiFrenIds are metadata IDs from the vault table, not owned
staked-position IDs. The returned info contains the SuiFren and metadata;
position is left unset by this method.
Staked metadata object IDs.
Staked SuiFren info in the response order.
Fetches one page of staked-SuiFren metadata dynamic fields.
cursor is the last dynamic-field object ID from the previous page and
limit is the maximum number of dynamic fields requested. The method uses
the configured metadata table and resolves each field to staked info.
Optional dynamic-field cursor and page limit.
Staked info objects and a nullable next cursor.
Fetches staked SuiFrens until enough locally filtered results are available.
limit is the number of matching results to return and defaults to 25.
limitStepSize controls each underlying dynamic-field page and defaults to
the dynamic-field helper's page size. Attribute keys and values are matched
case-insensitively. If more matches remain, nextCursor is set to the first
omitted matching object's ID. sortBy is accepted for compatibility but is
not applied by the current implementation.
Attribute filters and pagination controls.
Filtered staked info objects and a cursor for the next filtered page.
Fetches and casts paginated SuiFren stake events.
Optional event cursor and page limit.
Cast stake events and a nullable next cursor.
Fetches complete SuiFren objects by ID.
The method first reads object fields and display data, then performs the
inspection calls needed to add mixLimit and lastEpochMixed. Values that
are absent on chain remain undefined.
SuiFren object IDs.
Complete SuiFren objects in the response order.
Calculates SuiFrens statistics from vault state and the last 24 hours of mix events.
The method performs the vault read and event query concurrently. The event query uses the provider's JSON-RPC client through the public event fetcher.
Vault totals, 24-hour fee sum, and 24-hour mix count.
Fetches and casts the configured SuiFrens vault-state object.
Vault totals for staked SuiFrens and total mixes.
Fetches and casts paginated SuiFren unstake events.
Optional event cursor and page limit.
Cast unstake events and a nullable next cursor.
Filters SuiFren objects by attribute keys and values.
Matching is case-insensitive for both keys and values. An empty attribute
object returns the original suiFrens array reference; a non-empty filter
returns a new filtered array.
SuiFren objects and the partial attribute filter.
The matching objects.
Appends a vault harvest Move call for one staked position.
harvestFeesEventMetadataId may be an object ID or a transaction argument
returned by beginHarvestTx.
Existing transaction, position ID, and harvest metadata argument.
The transaction argument containing the harvested coin.
Appends the last_epoch_mixed Move call for one SuiFren.
The result is an Option<u64> in the Move call output. This local builder
only mutates tx and does not perform the inspection itself.
Existing transaction, SuiFren ID, and generic type.
The transaction argument returned by tx.moveCall.
Appends the owned-parent mix_and_keep Move call.
The payment coin may be an object ID or an existing transaction argument. The method does not select the coin, set a sender, transfer outputs, or sign.
Existing transaction, two parent IDs, payment coin, and SuiFren type.
The transaction argument returned by tx.moveCall.
Appends the mixing_limit Move call for one SuiFren.
The result is an Option<u8> in the Move call output. This local builder
only mutates tx and does not perform the inspection itself.
Existing transaction, SuiFren ID, and generic type.
The transaction argument returned by tx.moveCall.
Appends the mix_staked_with_staked_and_keep Move call.
The payment coin may be an object ID or an existing transaction argument.
Existing transaction, two staked parent IDs, payment coin, and SuiFren type.
The transaction argument returned by tx.moveCall.
Appends the mix_with_staked_and_keep Move call.
nonStakedParentId and stakedParentId select the parent roles in the
Move call. The payment coin may be an object ID or transaction argument.
Existing transaction, parent IDs, payment coin, and SuiFren type.
The transaction argument returned by tx.moveCall.
Appends the staked-position remove_accessory_and_keep Move call.
Existing transaction, staked-position ID, accessory type, and generic type.
The transaction argument returned by tx.moveCall.
Appends the owned-SuiFren remove_accessory_from_owned_suifren_and_keep call.
Existing transaction, SuiFren ID, accessory type, and generic type.
The transaction argument returned by tx.moveCall.
Appends the stake_and_keep Move call.
baseFee and feeIncrementPerMix are raw payment-coin balances. The Move
call encodes minRemainingMixesToKeep as u8. This method does not set a
sender or select gas and payment objects.
Existing transaction, SuiFren ID, fee settings, auto-stake flag, minimum count, and type.
The transaction argument returned by tx.moveCall.
Appends the unstake_and_keep Move call for a staked position.
This method only mutates the supplied transaction. The caller must provide a position object usable by the transaction sender.
Existing transaction, staked-position ID, and SuiFren type.
The transaction argument returned by tx.moveCall.
Low-level SuiFrens object, event, inspection, and transaction-builder API.
Read methods use the configured gRPC or API helpers. Event methods that call
fetchCastEventsWithCursorrequire the optional JSON-RPC client onAftermathApi. Transaction-command methods append Move calls only; builder methods create unsigned transactions for a caller-supplied wallet address.