aftermath-ts-sdk 3.1.1 → 3.2.0-dev.8722348

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -888,6 +888,27 @@ type ServiceCoinDataV2 = "Gas" | {
888
888
  } | {
889
889
  NestedResult: [number, number];
890
890
  };
891
+ /**
892
+ * A gas coin reference carried across a `TransactionKind`-only API boundary.
893
+ * `version` and `digest` are only meaningful together, forming a full object
894
+ * reference; supplying neither leaves the object to be resolved later.
895
+ */
896
+ interface CoinsWithAmountsGasCoin {
897
+ objectId: ObjectId;
898
+ version?: bigint;
899
+ digest?: string;
900
+ }
901
+ /**
902
+ * Gas metadata preserved across a `TransactionKind`-only API boundary, since a
903
+ * transaction kind cannot itself carry gas data.
904
+ */
905
+ interface CoinsWithAmountsGasData {
906
+ coins: CoinsWithAmountsGasCoin[];
907
+ /** Absent when the gas coin object IDs are resolved by executor code later. */
908
+ owner?: SuiAddress;
909
+ budget: bigint;
910
+ price?: bigint;
911
+ }
891
912
 
892
913
  /**
893
914
  * A multiplier type (in fixed-point bigint) used to scale a staked amount based on lock duration.
@@ -8035,6 +8056,42 @@ declare class Coin extends Caller {
8035
8056
  coinType: CoinType;
8036
8057
  coinSymbolToCoinTypes: CoinSymbolToCoinTypes;
8037
8058
  }) => CoinSymbol | undefined;
8059
+ /**
8060
+ * Sources `amounts` of `coinTypes` for `walletAddress` and appends the
8061
+ * resulting commands to `txKind`, returning the extended transaction kind
8062
+ * along with a coin argument per requested amount.
8063
+ *
8064
+ * Coins are drawn from owned `Coin<T>` objects and from the wallet's SIP-58
8065
+ * address balance (via `0x2::coin::redeem_funds`), so accumulator-held funds
8066
+ * are spendable.
8067
+ *
8068
+ * @param inputs - The wallet, index-aligned `coinTypes`/`amounts`, the
8069
+ * base64 `txKind` to extend, and optional `gas` metadata to carry across the
8070
+ * transaction-kind boundary.
8071
+ * @returns The updated `txKind`, one coin argument per requested amount, and
8072
+ * the gas metadata carried by the builder.
8073
+ *
8074
+ * @example
8075
+ * ```typescript
8076
+ * const { txKind, arguments: coinArgs } = await coin.getCoinsWithAmounts({
8077
+ * walletAddress: "0x<address>",
8078
+ * coinTypes: ["0x2::sui::SUI"],
8079
+ * amounts: [BigInt(500_000_000)],
8080
+ * txKind,
8081
+ * });
8082
+ * ```
8083
+ */
8084
+ getCoinsWithAmounts(inputs: {
8085
+ walletAddress: SuiAddress;
8086
+ coinTypes: CoinType[];
8087
+ amounts: Balance[];
8088
+ txKind: SerializedTransaction;
8089
+ gas?: CoinsWithAmountsGasData;
8090
+ }): Promise<{
8091
+ txKind: SerializedTransaction;
8092
+ arguments: ServiceCoinDataV2[];
8093
+ gas: CoinsWithAmountsGasData | null;
8094
+ }>;
8038
8095
  }
8039
8096
 
8040
8097
  /**
@@ -14737,7 +14794,21 @@ declare class CoinApi {
14737
14794
  walletAddress: SuiAddress;
14738
14795
  coinType: CoinType;
14739
14796
  }) => Promise<CoinStruct[]>;
14740
- private static coinWithAmountTx;
14797
+ /**
14798
+ * Checks the wallet's TOTAL balance (owned coins + SIP-58 address balance)
14799
+ * covers `coinAmount`, throwing the canonical insufficient-balance error
14800
+ * otherwise. `coinWithBalance` can source from both, so this is the correct
14801
+ * spendability check for the non-sponsored path.
14802
+ */
14803
+ private assertSufficientTotalBalance;
14804
+ /**
14805
+ * Owned-coin arg for the sponsored path: merge the selected coins and split
14806
+ * the amount without touching `tx.gas` (that's the sponsor's coin) and via
14807
+ * raw commands only, since the tx is serialized unbuilt. `coinData` comes
14808
+ * from `fetchCoinsWithAtLeastAmount`, which guarantees it covers
14809
+ * `coinAmount`.
14810
+ */
14811
+ private static sponsoredCoinWithAmountTx;
14741
14812
  }
14742
14813
 
14743
14814
  declare class DcaApi {
@@ -18849,6 +18920,15 @@ declare class Wallet extends Caller {
18849
18920
  * @param api - An optional `AftermathApi` instance for wallet-specific methods.
18850
18921
  */
18851
18922
  constructor(address: SuiAddress, config?: CallerConfig, api?: AftermathApi | undefined);
18923
+ /**
18924
+ * The gRPC provider backing this wallet's reads.
18925
+ *
18926
+ * Balances come from gRPC rather than the Aftermath service so that a
18927
+ * wallet's SIP-58 address balance counts towards what it holds. `api` is
18928
+ * optional only for historical reasons: `Aftermath.Wallet()` is the sole
18929
+ * way to obtain a `Wallet` and always supplies one.
18930
+ */
18931
+ private requireApi;
18852
18932
  /**
18853
18933
  * Fetches the balance for a single coin type in this wallet.
18854
18934
  *
@@ -19074,4 +19154,4 @@ declare class Aftermath extends Caller {
19074
19154
  static casting: typeof Casting;
19075
19155
  }
19076
19156
 
19077
- export { type AfSuiRouterPoolObject, Aftermath, type AftermathAbortSource, AftermathApi, type AftermathOptions, AftermathTransportError, type AftermathTransportErrorKind, type AllocatedCollateralEvent, type AmountInCoinAndUsd, type AnyObjectType, type ApiAccessoriesForSuiFrenBody, type ApiAddSuiFrenAccessoryBody, type ApiCreateAuthAccountBody, type ApiCreatePoolBody, type ApiDataWithCursorBody, type ApiDelegatedStakesBody, type ApiDynamicFieldsBody, type ApiDynamicGasBody, type ApiDynamicGasResponse, type ApiEventsBody, type ApiFarmsCreateStakingPoolBody, type ApiFarmsCreateStakingPoolBodyV1, type ApiFarmsDepositPrincipalBody, type ApiFarmsGrantOneTimeAdminCapBody, type ApiFarmsIncreaseStakingPoolRewardsEmissionsBody, type ApiFarmsInitializeStakingPoolRewardBody, type ApiFarmsLockBody, type ApiFarmsOwnedStakedPositionsBody, type ApiFarmsOwnedStakingPoolOneTimeAdminCapsBody, type ApiFarmsOwnedStakingPoolOwnerCapsBody, type ApiFarmsRenewLockBody, type ApiFarmsStakeBody, type ApiFarmsStakeBodyV1, type ApiFarmsSummaryBody, type ApiFarmsTopUpStakingPoolRewardsBody, type ApiFarmsUnlockBody, type ApiFarmsUnstakeBody, type ApiFaucetMintSuiFrenBody, type ApiFaucetRequestBody, type ApiGasPoolBody, type ApiGasPoolCreateBody, type ApiGasPoolCreateResponse, type ApiGasPoolDepositBody, type ApiGasPoolGrantBody, type ApiGasPoolResponse, type ApiGasPoolRevokeBody, type ApiGasPoolShareBody, type ApiGasPoolSponsorBody, type ApiGasPoolSponsorResponse, type ApiGasPoolWithdrawBody, type ApiGasPoolWithdrawResponse, type ApiGetAccessTokenBody, type ApiGetAccessTokenResponse, type ApiHarvestFarmsRewardsBody, type ApiHarvestSuiFrenFeesBody, type ApiIndexerEventsBody, type ApiIndexerUserEventsBody, type ApiMixSuiFrensBody, type ApiNftAmmBuyBody, type ApiNftAmmDepositBody, type ApiNftAmmSellBody, type ApiNftAmmWithdrawBody, type ApiOwnedStakedSuiFrensBody, type ApiOwnedSuiFrenAccessoriesBody, type ApiOwnedSuiFrensBody, type ApiPerpetualsAccountCollateralHistoryBody, type ApiPerpetualsAccountCollateralHistoryResponse, type ApiPerpetualsAccountMarginHistoryBody, type ApiPerpetualsAccountMarginHistoryResponse, type ApiPerpetualsAccountOrderHistoryBody, type ApiPerpetualsAccountOrderHistoryResponse, type ApiPerpetualsAccountPositionsBody, type ApiPerpetualsAccountPositionsResponse, type ApiPerpetualsAdminAccountCapsBody, type ApiPerpetualsAdminAccountCapsResponse, type ApiPerpetualsAllMarketsBody, type ApiPerpetualsAllMarketsResponse, type ApiPerpetualsAllocateCollateralBody, type ApiPerpetualsBuilderCodesClaimIntegratorVaultFeesTxBody, type ApiPerpetualsBuilderCodesClaimIntegratorVaultFeesTxResponse, type ApiPerpetualsBuilderCodesCreateIntegratorConfigTxBody, type ApiPerpetualsBuilderCodesCreateIntegratorVaultTxBody, type ApiPerpetualsBuilderCodesIntegratorConfigBody, type ApiPerpetualsBuilderCodesIntegratorConfigResponse, type ApiPerpetualsBuilderCodesIntegratorVaultsBody, type ApiPerpetualsBuilderCodesIntegratorVaultsResponse, type ApiPerpetualsBuilderCodesRemoveIntegratorConfigTxBody, type ApiPerpetualsCancelAndPlaceOrdersBody, type ApiPerpetualsCancelOrdersBody, type ApiPerpetualsCancelStopOrdersBody, type ApiPerpetualsCancelTwapOrdersBody, type ApiPerpetualsCreateAccountBody, type ApiPerpetualsCreateAccountResponse, type ApiPerpetualsCreateCsvRebatesBody, type ApiPerpetualsCreateCsvRebatesResponse, type ApiPerpetualsCreateReferralCsvRebatesBody, type ApiPerpetualsCreateReferralCsvRebatesResponse, type ApiPerpetualsCreateTwapOrdersBody, type ApiPerpetualsCreateVaultBody, type ApiPerpetualsCreateVaultCapBody, type ApiPerpetualsCurrentRebateRewardsBody, type ApiPerpetualsCurrentRebateRewardsResponse, type ApiPerpetualsDeallocateCollateralBody, type ApiPerpetualsDepositCollateralBody, type ApiPerpetualsEditStopOrdersBody, type ApiPerpetualsEditTwapOrdersBody, type ApiPerpetualsExecutionPriceBody, type ApiPerpetualsExecutionPriceResponse, type ApiPerpetualsGrantAgentWalletTxBody, type ApiPerpetualsHistoricalDataWithCursorBody, type ApiPerpetualsHistoricalDataWithCursorResponse, type ApiPerpetualsLimitOrderBody, type ApiPerpetualsMarketCandleHistoryBody, type ApiPerpetualsMarketCandleHistoryResponse, type ApiPerpetualsMarketFundingHistoryBody, type ApiPerpetualsMarketFundingHistoryResponse, type ApiPerpetualsMarketOrderBody, type ApiPerpetualsMarketOrderHistoryBody, type ApiPerpetualsMarketOrderHistoryResponse, type ApiPerpetualsMarkets24hrStatsResponse, type ApiPerpetualsMarketsBody, type ApiPerpetualsMarketsPricesBody, type ApiPerpetualsMarketsPricesResponse, type ApiPerpetualsMarketsResponse, type ApiPerpetualsMaxOrderSizeBody, type ApiPerpetualsOrderToPlace, type ApiPerpetualsOrderbooksBody, type ApiPerpetualsOrderbooksResponse, type ApiPerpetualsOwnedAccountCapsBody, type ApiPerpetualsOwnedAccountCapsResponse, type ApiPerpetualsOwnedVaultAssistantCapsBody, type ApiPerpetualsOwnedVaultAssistantCapsResponse, type ApiPerpetualsOwnedVaultCapsBody, type ApiPerpetualsOwnedVaultCapsResponse, type ApiPerpetualsPlaceSlTpOrdersBody, type ApiPerpetualsPlaceStopOrdersBody, type ApiPerpetualsPreviewCancelOrdersBody, type ApiPerpetualsPreviewCancelOrdersResponse, type ApiPerpetualsPreviewEditCollateralBody, type ApiPerpetualsPreviewEditCollateralResponse, type ApiPerpetualsPreviewPlaceLimitOrderBody, type ApiPerpetualsPreviewPlaceMarketOrderBody, type ApiPerpetualsPreviewPlaceOrderResponse, type ApiPerpetualsPreviewPlaceScaleOrderBody, type ApiPerpetualsPreviewSetLeverageBody, type ApiPerpetualsPreviewSetLeverageResponse, type ApiPerpetualsRevokeAgentWalletTxBody, type ApiPerpetualsScaleOrderBody, type ApiPerpetualsSetLeverageTxBody, type ApiPerpetualsShareAccountBody, type ApiPerpetualsStopOrderDatasBody, type ApiPerpetualsStopOrderDatasResponse, type ApiPerpetualsTransferCapTxBody, type ApiPerpetualsTransferCollateralBody, type ApiPerpetualsTwapOrderDatasBody, type ApiPerpetualsTwapOrderDatasResponse, type ApiPerpetualsVaultCancelWithdrawRequestTxBody, type ApiPerpetualsVaultCreateWithdrawRequestTxBody, type ApiPerpetualsVaultDepositTxBody, type ApiPerpetualsVaultGrantAgentWalletTxBody, type ApiPerpetualsVaultLpCoinPricesBody, type ApiPerpetualsVaultLpCoinPricesResponse, type ApiPerpetualsVaultOwnedLpCoinsBody, type ApiPerpetualsVaultOwnedLpCoinsResponse, type ApiPerpetualsVaultOwnedWithdrawRequestsBody, type ApiPerpetualsVaultOwnedWithdrawRequestsResponse, type ApiPerpetualsVaultOwnerProcessWithdrawRequestsTxBody, type ApiPerpetualsVaultOwnerUpdateForceWithdrawDelayTxBody, type ApiPerpetualsVaultOwnerUpdateLockPeriodTxBody, type ApiPerpetualsVaultOwnerUpdatePerformanceFeeTxBody, type ApiPerpetualsVaultOwnerWithdrawCollateralTxBody, type ApiPerpetualsVaultOwnerWithdrawCollateralTxResponse, type ApiPerpetualsVaultOwnerWithdrawLockedLiquidityTxBody, type ApiPerpetualsVaultOwnerWithdrawLockedLiquidityTxResponse, type ApiPerpetualsVaultOwnerWithdrawPerformanceFeesTxBody, type ApiPerpetualsVaultOwnerWithdrawPerformanceFeesTxResponse, type ApiPerpetualsVaultPauseVaultForForceWithdrawRequestTxBody, type ApiPerpetualsVaultPreviewCreateWithdrawRequestBody, type ApiPerpetualsVaultPreviewCreateWithdrawRequestResponse, type ApiPerpetualsVaultPreviewDepositBody, type ApiPerpetualsVaultPreviewDepositResponse, type ApiPerpetualsVaultPreviewOwnerProcessWithdrawRequestsBody, type ApiPerpetualsVaultPreviewOwnerProcessWithdrawRequestsResponse, type ApiPerpetualsVaultPreviewOwnerWithdrawCollateralBody, type ApiPerpetualsVaultPreviewOwnerWithdrawCollateralResponse, type ApiPerpetualsVaultPreviewOwnerWithdrawLockedLiquidityBody, type ApiPerpetualsVaultPreviewOwnerWithdrawLockedLiquidityResponse, type ApiPerpetualsVaultPreviewOwnerWithdrawPerformanceFeesBody, type ApiPerpetualsVaultPreviewOwnerWithdrawPerformanceFeesResponse, type ApiPerpetualsVaultPreviewPauseVaultForForceWithdrawRequestBody, type ApiPerpetualsVaultPreviewPauseVaultForForceWithdrawRequestResponse, type ApiPerpetualsVaultPreviewProcessForceWithdrawRequestBody, type ApiPerpetualsVaultPreviewProcessForceWithdrawRequestResponse, type ApiPerpetualsVaultProcessForceWithdrawRequestTxBody, type ApiPerpetualsVaultProcessForceWithdrawRequestTxResponse, type ApiPerpetualsVaultRevokeAgentWalletTxBody, type ApiPerpetualsVaultUpdateWithdrawRequestSlippageTxBody, type ApiPerpetualsVaultsBody, type ApiPerpetualsVaultsResponse, type ApiPerpetualsVaultsWithdrawRequestsBody, type ApiPerpetualsVaultsWithdrawRequestsResponse, type ApiPerpetualsWithdrawCollateralBody, type ApiPerpetualsWithdrawCollateralResponse, type ApiPoolAllCoinWithdrawBody, type ApiPoolDepositBody, type ApiPoolObjectIdForLpCoinTypeBody, type ApiPoolSpotPriceBody, type ApiPoolTradeBody, type ApiPoolWithdrawBody, type ApiPoolsOwnedDaoFeePoolOwnerCapsBody, type ApiPoolsStatsBody, type ApiPoolsSummaryBody, type ApiPublishLpCoinBody, type ApiReferralsCreateReferralLinkBody, type ApiReferralsCreateReferralLinkResponse, type ApiReferralsGetLinkedRefCodeBody, type ApiReferralsGetLinkedRefCodeResponse, type ApiReferralsGetRefCodeBody, type ApiReferralsGetRefCodeResponse, type ApiReferralsGetRefereesBody, type ApiReferralsGetRefereesResponse, type ApiReferralsIsRefCodeTakenBody, type ApiReferralsIsRefCodeTakenResponse, type ApiReferralsSetReferrerBody, type ApiReferralsSetReferrerResponse, type ApiRemoveSuiFrenAccessoryBody, type ApiRewardsClaimRequestTxBody, type ApiRewardsClaimRequestTxResponse, type ApiRewardsExpectedRewardsBody, type ApiRewardsExpectedRewardsResponse, type ApiRewardsGetClaimableBody, type ApiRewardsGetClaimableResponse, type ApiRewardsGetHistoryBody, type ApiRewardsGetHistoryResponse, type ApiRewardsGetPointsBody, type ApiRewardsGetPointsResponse, type ApiRouterAddTransactionForCompleteTradeRouteBody, type ApiRouterAddTransactionForCompleteTradeRouteResponse, type ApiRouterCompleteTradeRouteBody, type ApiRouterDynamicGasBody, type ApiRouterPartialCompleteTradeRouteBody, type ApiRouterTradeEventsBody, type ApiRouterTransactionForCompleteTradeRouteBody, type ApiStakeBody, type ApiStakeStakedSuiBody, type ApiStakeSuiFrenBody, type ApiStakingEventsBody, type ApiStakingPositionsBody, type ApiTransactionResponse, type ApiTransactionsBody, type ApiUnstakeBody, type ApiUnstakeSuiFrenBody, type ApiUpdateValidatorFeeBody, type ApiValidatorOperationCapsBody, type Apr, type Apy, Auth, type Balance, type BigIntAsString, type Bps, type Byte, type CallerConfig, type CanceledOrderEvent, type CapyLabsAppObject, Casting, Coin, type CoinDecimal, type CoinGeckoChain, type CoinGeckoCoinApiId, type CoinGeckoCoinData, type CoinGeckoCoinSymbolData, type CoinGeckoHistoricalTradeData, type CoinGeckoTickerData, type CoinMetadaWithInfo, type CoinPriceInfo, type CoinSymbol, type CoinSymbolToCoinTypes, type CoinSymbolsToPriceInfo, type CoinType, type CoinWithAmount, type CoinWithAmountOrUndefined, type CoinsToBalance, type CoinsToBalanceOrUndefined, type CoinsToDecimals, type CoinsToPrice, type CoinsToPriceInfo, type CollateralEvent, type Color, type ComposedTransferArgs, type ConfigAddresses, type CreatedAccountEvent, type CreatedDaoFeePoolEvent, type CreatedStopOrderTicketEvent, type DaoFeePoolObject, type DaoFeePoolOwnerCapObject, type DaoFeePoolsAddresses, type DcaAddresses, type DeallocatedCollateralEvent, type DecimalsScalar, type DeferredAccountArgs, type DeletedStopOrderTicketEvent, type DepositedCollateralEvent, type DynamicFieldObjectsWithCursor, type DynamicFieldsInputs, type DynamicFieldsWithCursor, type DynamicGasAddresses, type EditedStopOrderTicketDetailsEvent, type EditedStopOrderTicketExecutorEvent, type EmptyObject, type EpochWasChangedEvent, type Event$1 as Event, type EventsInputs, type EventsWithCursor, type ExecutedStopOrderTicketEvent, type ExternalFee, type FarmEvent, type FarmOwnerOrOneTimeAdminCap, type FarmSummary, type FarmUserEvent, Farms, type FarmsAddedRewardEvent, type FarmsAddresses, type FarmsCreatedVaultEvent, type FarmsDepositedPrincipalEvent, type FarmsDestroyedStakedPositionEvent, type FarmsHarvestedRewardsEvent, type FarmsIncreasedEmissionsEvent, type FarmsInitializedRewardEvent, type FarmsJoinedEvent, type FarmsLockEnforcement, type FarmsLockedEvent, type FarmsMultiplier, type FarmsSplitEvent, type FarmsStakedEvent, FarmsStakedPosition, type FarmsStakedPositionObject, type FarmsStakedPositionRewardCoin, type FarmsStakedRelaxedEvent, FarmsStakingPool, type FarmsStakingPoolObject, type FarmsStakingPoolRewardCoin, type FarmsUnlockedEvent, type FarmsVersion, type FarmsWithdrewPrincipalEvent, Faucet, type FaucetAddCoinEvent, type FaucetAddresses, type FaucetMintCoinEvent, type FilePath, type FilledMakerOrderEventFields, type FilledMakerOrdersEvent, type FilledTakerOrderEvent, type FunctionName, type GasBudget, GasPools, GrpcCasting, type HarvestSuiFrenFeesEvent, Helpers, type IFixed, type IFixedAsBytes, type IFixedAsString, type IFixedAsStringBytes, type IdAsStringBytes, type IndexerDataWithCursorQueryParams, type IndexerEventsWithCursor, type KeyType, type KioskObject, type KioskOwnerCapObject, type LimitAddresses, type LiquidatedEvent, type LocalUrl, type MixSuiFrensEvent, type ModuleName, type MoveErrorCode, type MoveErrors, type MoveErrorsInterface, type Nft, NftAmm, type NftAmmAddresses, type NftAmmInterfaceGenericTypes, type NftAmmMarketObject, type NftDisplay, type NftDisplayOther, type NftDisplaySuggested, type NftInfo, type NftsAddresses, type NormalizedBalance, type NumberAsString, type Object$1 as Object, type ObjectDigest, type ObjectId, type ObjectVersion, type OrderbookFillReceiptEvent, type PackageId, type ParsedMoveError, type PartialFarmsStakedPositionObject, type PartialSuiFrenObject, type Percentage, Perpetuals, PerpetualsAccount, type PerpetualsAccountCap, type PerpetualsAccountCollateralChange, type PerpetualsAccountData, type PerpetualsAccountId, type PerpetualsAccountMarginHistoryData, type PerpetualsAccountMarginHistoryTimeframeKey, type PerpetualsAccountObject, type PerpetualsAccountOrderHistoryData, type PerpetualsAddresses, type PerpetualsBuilderCodeParamaters, type PerpetualsCalculationVariables, type PerpetualsCandleResolution, type PerpetualsCapType, type PerpetualsClientOrderId, type PerpetualsExecutionInfo, type PerpetualsFilledOrderData, type PerpetualsIntegratorVaultData, type PerpetualsMakerData, PerpetualsMarket, type PerpetualsMarket24hrStats, type PerpetualsMarketCandleDataPoint, type PerpetualsMarketData, type PerpetualsMarketFundingHistoryPoint, type PerpetualsMarketId, type PerpetualsMarketMetadata, type PerpetualsMarketOrderHistoryData, type PerpetualsMarketParams, type PerpetualsMarketState, type PerpetualsOrderData, type PerpetualsOrderEvent, type PerpetualsOrderId, type PerpetualsOrderIdAsString, type PerpetualsOrderInfo, type PerpetualsOrderPrice, PerpetualsOrderSide, type PerpetualsOrderState, PerpetualsOrderType, type PerpetualsOrderbook, type PerpetualsOrderbookDeltas, type PerpetualsOrderbookItem, type PerpetualsPartialVaultCap, type PerpetualsPosition, type PerpetualsRewardData, type PerpetualsServerInjectedTxFields, type PerpetualsSponsorConfig, type PerpetualsStopOrderData, PerpetualsStopOrderTriggerPriceType, PerpetualsStopOrderType, type PerpetualsTakerData, type PerpetualsTopOfOrderbook, type PerpetualsTopOfOrderbookDataPoint, type PerpetualsTwapEvent, type PerpetualsTwapOrderData, type PerpetualsTwapOrderDetails, type PerpetualsTwapOrderDetailsData, type PerpetualsTwapOrderEdit, type PerpetualsTwapOrderState, PerpetualsVault, type PerpetualsVaultCap, type PerpetualsVaultLpCoin, type PerpetualsVaultMetatada, type PerpetualsVaultObject, type PerpetualsVaultWithdrawRequest, type PerpetualsVaultsAddresses, type PerpetualsVaultsConfig, type PerpetualsWsCandleResponseMessage, type PerpetualsWsUpdatesMarketCandlesPayload, type PerpetualsWsUpdatesMarketCandlesSubscriptionType, type PerpetualsWsUpdatesMarketOrdersPayload, type PerpetualsWsUpdatesMarketOrdersSubscriptionType, type PerpetualsWsUpdatesMarketSubscriptionType, type PerpetualsWsUpdatesOraclePayload, type PerpetualsWsUpdatesOracleSubscriptionType, type PerpetualsWsUpdatesOrderbookPayload, type PerpetualsWsUpdatesOrderbookSubscriptionType, type PerpetualsWsUpdatesResponseMessage, type PerpetualsWsUpdatesSubscriptionAction, type PerpetualsWsUpdatesSubscriptionMessage, type PerpetualsWsUpdatesSubscriptionType, type PerpetualsWsUpdatesTopOfOrderbookPayload, type PerpetualsWsUpdatesTopOfOrderbookSubscriptionType, type PerpetualsWsUpdatesUserCollateralChangesPayload, type PerpetualsWsUpdatesUserCollateralChangesSubscriptionType, type PerpetualsWsUpdatesUserOrdersPayload, type PerpetualsWsUpdatesUserOrdersSubscriptionType, type PerpetualsWsUpdatesUserPayload, type PerpetualsWsUpdatesUserSubscriptionType, Pool, type PoolCoin, type PoolCoins, type PoolCreationCoinInfo, type PoolCreationLpCoinMetadata, type PoolDataPoint, type PoolDepositEvent, type PoolDepositFee, type PoolFlatness, type PoolGraphDataTimeUnit, type PoolGraphDataTimeframe, type PoolGraphDataTimeframeKey, type PoolLpInfo, type PoolName, type PoolObject, type PoolStats, type PoolSummary, type PoolTradeEvent, type PoolTradeFee, type PoolWeight, type PoolWithdrawEvent, type PoolWithdrawFee, Pools, type PoolsAddresses, type PostedOrderEvent, type RateLimit, type ReceivedCollateralEvent, type ReducedOrderEvent, ReferralVault, type ReferralVaultAddresses, type ReferralsRefereeInfo, type RewardsClaimableReward, type RewardsExpectedCalculationVariables, type RewardsExpectedDomainTokens, type RewardsExpectedEpochInfo, type RewardsExpectedTotals, type RewardsHistoryEntry, type RewardsHistoryEventType, type RewardsPaginationInfo, Router, type RouterAddresses, type RouterCompleteTradeRoute, type RouterCompleteTradeRouteWithFee, type RouterExternalFee, type RouterProtocolName, type RouterTradeCoin, type RouterTradeEvent, type RouterTradeInfo, type RouterTradePath, type RouterTradeRoute, type RpcEndpoint, type ScallopAddresses, type SdkPerpetualsCancelAndPlaceOrdersInputs, type SdkPerpetualsCancelOrdersPreviewInputs, type SdkPerpetualsCancelTwapOrdersInputs, type SdkPerpetualsCreateTwapOrdersInputs, type SdkPerpetualsEditTwapOrdersInputs, type SdkPerpetualsPlaceLimitOrderInputs, type SdkPerpetualsPlaceLimitOrderPreviewInputs, type SdkPerpetualsPlaceMarketOrderInputs, type SdkPerpetualsPlaceMarketOrderPreviewInputs, type SdkPerpetualsPlaceScaleOrderInputs, type SdkPerpetualsPlaceScaleOrderPreviewInputs, type SdkPerpetualsPlaceSlTpOrdersInputs, type SdkPerpetualsPlaceStopOrdersInputs, type SdkTransactionResponse, type SerializedTransaction, type ServiceCoinData, type ServiceCoinDataV2, type SetPositionInitialMarginRatioEvent, type SettledFundingEvent, type SharedCustodyAddresses, type SignMessageCallback, type Slippage, type StakeBalanceDynamicField, type StakeEvent, type StakePosition, type StakeSuiFrenEvent, type StakedEvent, StakedSuiFren, type StakedSuiFrenInfo, type StakedSuiFrenMetadataV1Object, type StakedSuiFrenPositionObject, type StakedSuiVaultStateObject, Staking, type StakingAddresses, type StakingApyDataPoint, type StakingApyTimeframeKey, type StakingPoolOneTimeAdminCapObject, type StakingPoolOwnerCapObject, type StakingPosition, type StringByte, Sui, type SuiAddress, type SuiCheckpoint, type SuiDelegatedStake, type SuiDelegatedStakeState, SuiFren, type SuiFrenAccessoryName, type SuiFrenAccessoryObject, type SuiFrenAccessoryType, type SuiFrenAttributes, type SuiFrenObject, type SuiFrenStats, type SuiFrenVaultStateV1Object, SuiFrens, type SuiFrensAddresses, SuiFrensSortOption, type SuiNetwork, type SuiObjectView, type Timestamp, type TransactionDigest, type TransactionsWithCursor, type TransferredDeallocatedCollateralEvent, type TranslatedMoveError, type TxBytes, type UniqueId, type UnstakeEvent, type UnstakePosition, type UnstakePositionState, type UnstakeRequestedEvent, type UnstakeSuiFrenEvent, type UnstakedEvent, type UpdatedFeeBpsEvent, type UpdatedFeeRecipientEvent, type UpdatedFundingEvent, type UpdatedMarketVersionEvent, type UpdatedPremiumTwapEvent, type UpdatedSpreadTwapEvent, type Url, type UserEventsInputs, type UserHistoryEventType, type ValidatorConfigObject, type ValidatorOperationCapObject, type ValueOf, type WithdrewCollateralEvent, isAftermathTransportError, isAllocatedCollateralEvent, isCanceledOrderEvent, isDeallocatedCollateralEvent, isDepositedCollateralEvent, isFarmsDepositedPrincipalEvent, isFarmsHarvestedRewardsEvent, isFarmsLockedEvent, isFarmsStakedEvent, isFarmsUnlockedEvent, isFarmsWithdrewPrincipalEvent, isFilledMakerOrdersEvent, isFilledTakerOrderEvent, isLiquidatedEvent, isPostedOrderEvent, isReducedOrderEvent, isSettledFundingEvent, isStakeEvent, isStakePosition, isSuiDelegatedStake, isUnstakeEvent, isUnstakePosition, isUpdatedFundingEvent, isUpdatedMarketVersion, isUpdatedPremiumTwapEvent, isUpdatedSpreadTwapEvent, isWithdrewCollateralEvent };
19157
+ export { type AfSuiRouterPoolObject, Aftermath, type AftermathAbortSource, AftermathApi, type AftermathOptions, AftermathTransportError, type AftermathTransportErrorKind, type AllocatedCollateralEvent, type AmountInCoinAndUsd, type AnyObjectType, type ApiAccessoriesForSuiFrenBody, type ApiAddSuiFrenAccessoryBody, type ApiCreateAuthAccountBody, type ApiCreatePoolBody, type ApiDataWithCursorBody, type ApiDelegatedStakesBody, type ApiDynamicFieldsBody, type ApiDynamicGasBody, type ApiDynamicGasResponse, type ApiEventsBody, type ApiFarmsCreateStakingPoolBody, type ApiFarmsCreateStakingPoolBodyV1, type ApiFarmsDepositPrincipalBody, type ApiFarmsGrantOneTimeAdminCapBody, type ApiFarmsIncreaseStakingPoolRewardsEmissionsBody, type ApiFarmsInitializeStakingPoolRewardBody, type ApiFarmsLockBody, type ApiFarmsOwnedStakedPositionsBody, type ApiFarmsOwnedStakingPoolOneTimeAdminCapsBody, type ApiFarmsOwnedStakingPoolOwnerCapsBody, type ApiFarmsRenewLockBody, type ApiFarmsStakeBody, type ApiFarmsStakeBodyV1, type ApiFarmsSummaryBody, type ApiFarmsTopUpStakingPoolRewardsBody, type ApiFarmsUnlockBody, type ApiFarmsUnstakeBody, type ApiFaucetMintSuiFrenBody, type ApiFaucetRequestBody, type ApiGasPoolBody, type ApiGasPoolCreateBody, type ApiGasPoolCreateResponse, type ApiGasPoolDepositBody, type ApiGasPoolGrantBody, type ApiGasPoolResponse, type ApiGasPoolRevokeBody, type ApiGasPoolShareBody, type ApiGasPoolSponsorBody, type ApiGasPoolSponsorResponse, type ApiGasPoolWithdrawBody, type ApiGasPoolWithdrawResponse, type ApiGetAccessTokenBody, type ApiGetAccessTokenResponse, type ApiHarvestFarmsRewardsBody, type ApiHarvestSuiFrenFeesBody, type ApiIndexerEventsBody, type ApiIndexerUserEventsBody, type ApiMixSuiFrensBody, type ApiNftAmmBuyBody, type ApiNftAmmDepositBody, type ApiNftAmmSellBody, type ApiNftAmmWithdrawBody, type ApiOwnedStakedSuiFrensBody, type ApiOwnedSuiFrenAccessoriesBody, type ApiOwnedSuiFrensBody, type ApiPerpetualsAccountCollateralHistoryBody, type ApiPerpetualsAccountCollateralHistoryResponse, type ApiPerpetualsAccountMarginHistoryBody, type ApiPerpetualsAccountMarginHistoryResponse, type ApiPerpetualsAccountOrderHistoryBody, type ApiPerpetualsAccountOrderHistoryResponse, type ApiPerpetualsAccountPositionsBody, type ApiPerpetualsAccountPositionsResponse, type ApiPerpetualsAdminAccountCapsBody, type ApiPerpetualsAdminAccountCapsResponse, type ApiPerpetualsAllMarketsBody, type ApiPerpetualsAllMarketsResponse, type ApiPerpetualsAllocateCollateralBody, type ApiPerpetualsBuilderCodesClaimIntegratorVaultFeesTxBody, type ApiPerpetualsBuilderCodesClaimIntegratorVaultFeesTxResponse, type ApiPerpetualsBuilderCodesCreateIntegratorConfigTxBody, type ApiPerpetualsBuilderCodesCreateIntegratorVaultTxBody, type ApiPerpetualsBuilderCodesIntegratorConfigBody, type ApiPerpetualsBuilderCodesIntegratorConfigResponse, type ApiPerpetualsBuilderCodesIntegratorVaultsBody, type ApiPerpetualsBuilderCodesIntegratorVaultsResponse, type ApiPerpetualsBuilderCodesRemoveIntegratorConfigTxBody, type ApiPerpetualsCancelAndPlaceOrdersBody, type ApiPerpetualsCancelOrdersBody, type ApiPerpetualsCancelStopOrdersBody, type ApiPerpetualsCancelTwapOrdersBody, type ApiPerpetualsCreateAccountBody, type ApiPerpetualsCreateAccountResponse, type ApiPerpetualsCreateCsvRebatesBody, type ApiPerpetualsCreateCsvRebatesResponse, type ApiPerpetualsCreateReferralCsvRebatesBody, type ApiPerpetualsCreateReferralCsvRebatesResponse, type ApiPerpetualsCreateTwapOrdersBody, type ApiPerpetualsCreateVaultBody, type ApiPerpetualsCreateVaultCapBody, type ApiPerpetualsCurrentRebateRewardsBody, type ApiPerpetualsCurrentRebateRewardsResponse, type ApiPerpetualsDeallocateCollateralBody, type ApiPerpetualsDepositCollateralBody, type ApiPerpetualsEditStopOrdersBody, type ApiPerpetualsEditTwapOrdersBody, type ApiPerpetualsExecutionPriceBody, type ApiPerpetualsExecutionPriceResponse, type ApiPerpetualsGrantAgentWalletTxBody, type ApiPerpetualsHistoricalDataWithCursorBody, type ApiPerpetualsHistoricalDataWithCursorResponse, type ApiPerpetualsLimitOrderBody, type ApiPerpetualsMarketCandleHistoryBody, type ApiPerpetualsMarketCandleHistoryResponse, type ApiPerpetualsMarketFundingHistoryBody, type ApiPerpetualsMarketFundingHistoryResponse, type ApiPerpetualsMarketOrderBody, type ApiPerpetualsMarketOrderHistoryBody, type ApiPerpetualsMarketOrderHistoryResponse, type ApiPerpetualsMarkets24hrStatsResponse, type ApiPerpetualsMarketsBody, type ApiPerpetualsMarketsPricesBody, type ApiPerpetualsMarketsPricesResponse, type ApiPerpetualsMarketsResponse, type ApiPerpetualsMaxOrderSizeBody, type ApiPerpetualsOrderToPlace, type ApiPerpetualsOrderbooksBody, type ApiPerpetualsOrderbooksResponse, type ApiPerpetualsOwnedAccountCapsBody, type ApiPerpetualsOwnedAccountCapsResponse, type ApiPerpetualsOwnedVaultAssistantCapsBody, type ApiPerpetualsOwnedVaultAssistantCapsResponse, type ApiPerpetualsOwnedVaultCapsBody, type ApiPerpetualsOwnedVaultCapsResponse, type ApiPerpetualsPlaceSlTpOrdersBody, type ApiPerpetualsPlaceStopOrdersBody, type ApiPerpetualsPreviewCancelOrdersBody, type ApiPerpetualsPreviewCancelOrdersResponse, type ApiPerpetualsPreviewEditCollateralBody, type ApiPerpetualsPreviewEditCollateralResponse, type ApiPerpetualsPreviewPlaceLimitOrderBody, type ApiPerpetualsPreviewPlaceMarketOrderBody, type ApiPerpetualsPreviewPlaceOrderResponse, type ApiPerpetualsPreviewPlaceScaleOrderBody, type ApiPerpetualsPreviewSetLeverageBody, type ApiPerpetualsPreviewSetLeverageResponse, type ApiPerpetualsRevokeAgentWalletTxBody, type ApiPerpetualsScaleOrderBody, type ApiPerpetualsSetLeverageTxBody, type ApiPerpetualsShareAccountBody, type ApiPerpetualsStopOrderDatasBody, type ApiPerpetualsStopOrderDatasResponse, type ApiPerpetualsTransferCapTxBody, type ApiPerpetualsTransferCollateralBody, type ApiPerpetualsTwapOrderDatasBody, type ApiPerpetualsTwapOrderDatasResponse, type ApiPerpetualsVaultCancelWithdrawRequestTxBody, type ApiPerpetualsVaultCreateWithdrawRequestTxBody, type ApiPerpetualsVaultDepositTxBody, type ApiPerpetualsVaultGrantAgentWalletTxBody, type ApiPerpetualsVaultLpCoinPricesBody, type ApiPerpetualsVaultLpCoinPricesResponse, type ApiPerpetualsVaultOwnedLpCoinsBody, type ApiPerpetualsVaultOwnedLpCoinsResponse, type ApiPerpetualsVaultOwnedWithdrawRequestsBody, type ApiPerpetualsVaultOwnedWithdrawRequestsResponse, type ApiPerpetualsVaultOwnerProcessWithdrawRequestsTxBody, type ApiPerpetualsVaultOwnerUpdateForceWithdrawDelayTxBody, type ApiPerpetualsVaultOwnerUpdateLockPeriodTxBody, type ApiPerpetualsVaultOwnerUpdatePerformanceFeeTxBody, type ApiPerpetualsVaultOwnerWithdrawCollateralTxBody, type ApiPerpetualsVaultOwnerWithdrawCollateralTxResponse, type ApiPerpetualsVaultOwnerWithdrawLockedLiquidityTxBody, type ApiPerpetualsVaultOwnerWithdrawLockedLiquidityTxResponse, type ApiPerpetualsVaultOwnerWithdrawPerformanceFeesTxBody, type ApiPerpetualsVaultOwnerWithdrawPerformanceFeesTxResponse, type ApiPerpetualsVaultPauseVaultForForceWithdrawRequestTxBody, type ApiPerpetualsVaultPreviewCreateWithdrawRequestBody, type ApiPerpetualsVaultPreviewCreateWithdrawRequestResponse, type ApiPerpetualsVaultPreviewDepositBody, type ApiPerpetualsVaultPreviewDepositResponse, type ApiPerpetualsVaultPreviewOwnerProcessWithdrawRequestsBody, type ApiPerpetualsVaultPreviewOwnerProcessWithdrawRequestsResponse, type ApiPerpetualsVaultPreviewOwnerWithdrawCollateralBody, type ApiPerpetualsVaultPreviewOwnerWithdrawCollateralResponse, type ApiPerpetualsVaultPreviewOwnerWithdrawLockedLiquidityBody, type ApiPerpetualsVaultPreviewOwnerWithdrawLockedLiquidityResponse, type ApiPerpetualsVaultPreviewOwnerWithdrawPerformanceFeesBody, type ApiPerpetualsVaultPreviewOwnerWithdrawPerformanceFeesResponse, type ApiPerpetualsVaultPreviewPauseVaultForForceWithdrawRequestBody, type ApiPerpetualsVaultPreviewPauseVaultForForceWithdrawRequestResponse, type ApiPerpetualsVaultPreviewProcessForceWithdrawRequestBody, type ApiPerpetualsVaultPreviewProcessForceWithdrawRequestResponse, type ApiPerpetualsVaultProcessForceWithdrawRequestTxBody, type ApiPerpetualsVaultProcessForceWithdrawRequestTxResponse, type ApiPerpetualsVaultRevokeAgentWalletTxBody, type ApiPerpetualsVaultUpdateWithdrawRequestSlippageTxBody, type ApiPerpetualsVaultsBody, type ApiPerpetualsVaultsResponse, type ApiPerpetualsVaultsWithdrawRequestsBody, type ApiPerpetualsVaultsWithdrawRequestsResponse, type ApiPerpetualsWithdrawCollateralBody, type ApiPerpetualsWithdrawCollateralResponse, type ApiPoolAllCoinWithdrawBody, type ApiPoolDepositBody, type ApiPoolObjectIdForLpCoinTypeBody, type ApiPoolSpotPriceBody, type ApiPoolTradeBody, type ApiPoolWithdrawBody, type ApiPoolsOwnedDaoFeePoolOwnerCapsBody, type ApiPoolsStatsBody, type ApiPoolsSummaryBody, type ApiPublishLpCoinBody, type ApiReferralsCreateReferralLinkBody, type ApiReferralsCreateReferralLinkResponse, type ApiReferralsGetLinkedRefCodeBody, type ApiReferralsGetLinkedRefCodeResponse, type ApiReferralsGetRefCodeBody, type ApiReferralsGetRefCodeResponse, type ApiReferralsGetRefereesBody, type ApiReferralsGetRefereesResponse, type ApiReferralsIsRefCodeTakenBody, type ApiReferralsIsRefCodeTakenResponse, type ApiReferralsSetReferrerBody, type ApiReferralsSetReferrerResponse, type ApiRemoveSuiFrenAccessoryBody, type ApiRewardsClaimRequestTxBody, type ApiRewardsClaimRequestTxResponse, type ApiRewardsExpectedRewardsBody, type ApiRewardsExpectedRewardsResponse, type ApiRewardsGetClaimableBody, type ApiRewardsGetClaimableResponse, type ApiRewardsGetHistoryBody, type ApiRewardsGetHistoryResponse, type ApiRewardsGetPointsBody, type ApiRewardsGetPointsResponse, type ApiRouterAddTransactionForCompleteTradeRouteBody, type ApiRouterAddTransactionForCompleteTradeRouteResponse, type ApiRouterCompleteTradeRouteBody, type ApiRouterDynamicGasBody, type ApiRouterPartialCompleteTradeRouteBody, type ApiRouterTradeEventsBody, type ApiRouterTransactionForCompleteTradeRouteBody, type ApiStakeBody, type ApiStakeStakedSuiBody, type ApiStakeSuiFrenBody, type ApiStakingEventsBody, type ApiStakingPositionsBody, type ApiTransactionResponse, type ApiTransactionsBody, type ApiUnstakeBody, type ApiUnstakeSuiFrenBody, type ApiUpdateValidatorFeeBody, type ApiValidatorOperationCapsBody, type Apr, type Apy, Auth, type Balance, type BigIntAsString, type Bps, type Byte, type CallerConfig, type CanceledOrderEvent, type CapyLabsAppObject, Casting, Coin, type CoinDecimal, type CoinGeckoChain, type CoinGeckoCoinApiId, type CoinGeckoCoinData, type CoinGeckoCoinSymbolData, type CoinGeckoHistoricalTradeData, type CoinGeckoTickerData, type CoinMetadaWithInfo, type CoinPriceInfo, type CoinSymbol, type CoinSymbolToCoinTypes, type CoinSymbolsToPriceInfo, type CoinType, type CoinWithAmount, type CoinWithAmountOrUndefined, type CoinsToBalance, type CoinsToBalanceOrUndefined, type CoinsToDecimals, type CoinsToPrice, type CoinsToPriceInfo, type CoinsWithAmountsGasCoin, type CoinsWithAmountsGasData, type CollateralEvent, type Color, type ComposedTransferArgs, type ConfigAddresses, type CreatedAccountEvent, type CreatedDaoFeePoolEvent, type CreatedStopOrderTicketEvent, type DaoFeePoolObject, type DaoFeePoolOwnerCapObject, type DaoFeePoolsAddresses, type DcaAddresses, type DeallocatedCollateralEvent, type DecimalsScalar, type DeferredAccountArgs, type DeletedStopOrderTicketEvent, type DepositedCollateralEvent, type DynamicFieldObjectsWithCursor, type DynamicFieldsInputs, type DynamicFieldsWithCursor, type DynamicGasAddresses, type EditedStopOrderTicketDetailsEvent, type EditedStopOrderTicketExecutorEvent, type EmptyObject, type EpochWasChangedEvent, type Event$1 as Event, type EventsInputs, type EventsWithCursor, type ExecutedStopOrderTicketEvent, type ExternalFee, type FarmEvent, type FarmOwnerOrOneTimeAdminCap, type FarmSummary, type FarmUserEvent, Farms, type FarmsAddedRewardEvent, type FarmsAddresses, type FarmsCreatedVaultEvent, type FarmsDepositedPrincipalEvent, type FarmsDestroyedStakedPositionEvent, type FarmsHarvestedRewardsEvent, type FarmsIncreasedEmissionsEvent, type FarmsInitializedRewardEvent, type FarmsJoinedEvent, type FarmsLockEnforcement, type FarmsLockedEvent, type FarmsMultiplier, type FarmsSplitEvent, type FarmsStakedEvent, FarmsStakedPosition, type FarmsStakedPositionObject, type FarmsStakedPositionRewardCoin, type FarmsStakedRelaxedEvent, FarmsStakingPool, type FarmsStakingPoolObject, type FarmsStakingPoolRewardCoin, type FarmsUnlockedEvent, type FarmsVersion, type FarmsWithdrewPrincipalEvent, Faucet, type FaucetAddCoinEvent, type FaucetAddresses, type FaucetMintCoinEvent, type FilePath, type FilledMakerOrderEventFields, type FilledMakerOrdersEvent, type FilledTakerOrderEvent, type FunctionName, type GasBudget, GasPools, GrpcCasting, type HarvestSuiFrenFeesEvent, Helpers, type IFixed, type IFixedAsBytes, type IFixedAsString, type IFixedAsStringBytes, type IdAsStringBytes, type IndexerDataWithCursorQueryParams, type IndexerEventsWithCursor, type KeyType, type KioskObject, type KioskOwnerCapObject, type LimitAddresses, type LiquidatedEvent, type LocalUrl, type MixSuiFrensEvent, type ModuleName, type MoveErrorCode, type MoveErrors, type MoveErrorsInterface, type Nft, NftAmm, type NftAmmAddresses, type NftAmmInterfaceGenericTypes, type NftAmmMarketObject, type NftDisplay, type NftDisplayOther, type NftDisplaySuggested, type NftInfo, type NftsAddresses, type NormalizedBalance, type NumberAsString, type Object$1 as Object, type ObjectDigest, type ObjectId, type ObjectVersion, type OrderbookFillReceiptEvent, type PackageId, type ParsedMoveError, type PartialFarmsStakedPositionObject, type PartialSuiFrenObject, type Percentage, Perpetuals, PerpetualsAccount, type PerpetualsAccountCap, type PerpetualsAccountCollateralChange, type PerpetualsAccountData, type PerpetualsAccountId, type PerpetualsAccountMarginHistoryData, type PerpetualsAccountMarginHistoryTimeframeKey, type PerpetualsAccountObject, type PerpetualsAccountOrderHistoryData, type PerpetualsAddresses, type PerpetualsBuilderCodeParamaters, type PerpetualsCalculationVariables, type PerpetualsCandleResolution, type PerpetualsCapType, type PerpetualsClientOrderId, type PerpetualsExecutionInfo, type PerpetualsFilledOrderData, type PerpetualsIntegratorVaultData, type PerpetualsMakerData, PerpetualsMarket, type PerpetualsMarket24hrStats, type PerpetualsMarketCandleDataPoint, type PerpetualsMarketData, type PerpetualsMarketFundingHistoryPoint, type PerpetualsMarketId, type PerpetualsMarketMetadata, type PerpetualsMarketOrderHistoryData, type PerpetualsMarketParams, type PerpetualsMarketState, type PerpetualsOrderData, type PerpetualsOrderEvent, type PerpetualsOrderId, type PerpetualsOrderIdAsString, type PerpetualsOrderInfo, type PerpetualsOrderPrice, PerpetualsOrderSide, type PerpetualsOrderState, PerpetualsOrderType, type PerpetualsOrderbook, type PerpetualsOrderbookDeltas, type PerpetualsOrderbookItem, type PerpetualsPartialVaultCap, type PerpetualsPosition, type PerpetualsRewardData, type PerpetualsServerInjectedTxFields, type PerpetualsSponsorConfig, type PerpetualsStopOrderData, PerpetualsStopOrderTriggerPriceType, PerpetualsStopOrderType, type PerpetualsTakerData, type PerpetualsTopOfOrderbook, type PerpetualsTopOfOrderbookDataPoint, type PerpetualsTwapEvent, type PerpetualsTwapOrderData, type PerpetualsTwapOrderDetails, type PerpetualsTwapOrderDetailsData, type PerpetualsTwapOrderEdit, type PerpetualsTwapOrderState, PerpetualsVault, type PerpetualsVaultCap, type PerpetualsVaultLpCoin, type PerpetualsVaultMetatada, type PerpetualsVaultObject, type PerpetualsVaultWithdrawRequest, type PerpetualsVaultsAddresses, type PerpetualsVaultsConfig, type PerpetualsWsCandleResponseMessage, type PerpetualsWsUpdatesMarketCandlesPayload, type PerpetualsWsUpdatesMarketCandlesSubscriptionType, type PerpetualsWsUpdatesMarketOrdersPayload, type PerpetualsWsUpdatesMarketOrdersSubscriptionType, type PerpetualsWsUpdatesMarketSubscriptionType, type PerpetualsWsUpdatesOraclePayload, type PerpetualsWsUpdatesOracleSubscriptionType, type PerpetualsWsUpdatesOrderbookPayload, type PerpetualsWsUpdatesOrderbookSubscriptionType, type PerpetualsWsUpdatesResponseMessage, type PerpetualsWsUpdatesSubscriptionAction, type PerpetualsWsUpdatesSubscriptionMessage, type PerpetualsWsUpdatesSubscriptionType, type PerpetualsWsUpdatesTopOfOrderbookPayload, type PerpetualsWsUpdatesTopOfOrderbookSubscriptionType, type PerpetualsWsUpdatesUserCollateralChangesPayload, type PerpetualsWsUpdatesUserCollateralChangesSubscriptionType, type PerpetualsWsUpdatesUserOrdersPayload, type PerpetualsWsUpdatesUserOrdersSubscriptionType, type PerpetualsWsUpdatesUserPayload, type PerpetualsWsUpdatesUserSubscriptionType, Pool, type PoolCoin, type PoolCoins, type PoolCreationCoinInfo, type PoolCreationLpCoinMetadata, type PoolDataPoint, type PoolDepositEvent, type PoolDepositFee, type PoolFlatness, type PoolGraphDataTimeUnit, type PoolGraphDataTimeframe, type PoolGraphDataTimeframeKey, type PoolLpInfo, type PoolName, type PoolObject, type PoolStats, type PoolSummary, type PoolTradeEvent, type PoolTradeFee, type PoolWeight, type PoolWithdrawEvent, type PoolWithdrawFee, Pools, type PoolsAddresses, type PostedOrderEvent, type RateLimit, type ReceivedCollateralEvent, type ReducedOrderEvent, ReferralVault, type ReferralVaultAddresses, type ReferralsRefereeInfo, type RewardsClaimableReward, type RewardsExpectedCalculationVariables, type RewardsExpectedDomainTokens, type RewardsExpectedEpochInfo, type RewardsExpectedTotals, type RewardsHistoryEntry, type RewardsHistoryEventType, type RewardsPaginationInfo, Router, type RouterAddresses, type RouterCompleteTradeRoute, type RouterCompleteTradeRouteWithFee, type RouterExternalFee, type RouterProtocolName, type RouterTradeCoin, type RouterTradeEvent, type RouterTradeInfo, type RouterTradePath, type RouterTradeRoute, type RpcEndpoint, type ScallopAddresses, type SdkPerpetualsCancelAndPlaceOrdersInputs, type SdkPerpetualsCancelOrdersPreviewInputs, type SdkPerpetualsCancelTwapOrdersInputs, type SdkPerpetualsCreateTwapOrdersInputs, type SdkPerpetualsEditTwapOrdersInputs, type SdkPerpetualsPlaceLimitOrderInputs, type SdkPerpetualsPlaceLimitOrderPreviewInputs, type SdkPerpetualsPlaceMarketOrderInputs, type SdkPerpetualsPlaceMarketOrderPreviewInputs, type SdkPerpetualsPlaceScaleOrderInputs, type SdkPerpetualsPlaceScaleOrderPreviewInputs, type SdkPerpetualsPlaceSlTpOrdersInputs, type SdkPerpetualsPlaceStopOrdersInputs, type SdkTransactionResponse, type SerializedTransaction, type ServiceCoinData, type ServiceCoinDataV2, type SetPositionInitialMarginRatioEvent, type SettledFundingEvent, type SharedCustodyAddresses, type SignMessageCallback, type Slippage, type StakeBalanceDynamicField, type StakeEvent, type StakePosition, type StakeSuiFrenEvent, type StakedEvent, StakedSuiFren, type StakedSuiFrenInfo, type StakedSuiFrenMetadataV1Object, type StakedSuiFrenPositionObject, type StakedSuiVaultStateObject, Staking, type StakingAddresses, type StakingApyDataPoint, type StakingApyTimeframeKey, type StakingPoolOneTimeAdminCapObject, type StakingPoolOwnerCapObject, type StakingPosition, type StringByte, Sui, type SuiAddress, type SuiCheckpoint, type SuiDelegatedStake, type SuiDelegatedStakeState, SuiFren, type SuiFrenAccessoryName, type SuiFrenAccessoryObject, type SuiFrenAccessoryType, type SuiFrenAttributes, type SuiFrenObject, type SuiFrenStats, type SuiFrenVaultStateV1Object, SuiFrens, type SuiFrensAddresses, SuiFrensSortOption, type SuiNetwork, type SuiObjectView, type Timestamp, type TransactionDigest, type TransactionsWithCursor, type TransferredDeallocatedCollateralEvent, type TranslatedMoveError, type TxBytes, type UniqueId, type UnstakeEvent, type UnstakePosition, type UnstakePositionState, type UnstakeRequestedEvent, type UnstakeSuiFrenEvent, type UnstakedEvent, type UpdatedFeeBpsEvent, type UpdatedFeeRecipientEvent, type UpdatedFundingEvent, type UpdatedMarketVersionEvent, type UpdatedPremiumTwapEvent, type UpdatedSpreadTwapEvent, type Url, type UserEventsInputs, type UserHistoryEventType, type ValidatorConfigObject, type ValidatorOperationCapObject, type ValueOf, type WithdrewCollateralEvent, isAftermathTransportError, isAllocatedCollateralEvent, isCanceledOrderEvent, isDeallocatedCollateralEvent, isDepositedCollateralEvent, isFarmsDepositedPrincipalEvent, isFarmsHarvestedRewardsEvent, isFarmsLockedEvent, isFarmsStakedEvent, isFarmsUnlockedEvent, isFarmsWithdrewPrincipalEvent, isFilledMakerOrdersEvent, isFilledTakerOrderEvent, isLiquidatedEvent, isPostedOrderEvent, isReducedOrderEvent, isSettledFundingEvent, isStakeEvent, isStakePosition, isSuiDelegatedStake, isUnstakeEvent, isUnstakePosition, isUpdatedFundingEvent, isUpdatedMarketVersion, isUpdatedPremiumTwapEvent, isUpdatedSpreadTwapEvent, isWithdrewCollateralEvent };
package/dist/index.js CHANGED
@@ -2525,6 +2525,40 @@ var init_coin = __esm({
2525
2525
  async getVerifiedCoins() {
2526
2526
  return this.fetchApi("verified");
2527
2527
  }
2528
+ // =========================================================================
2529
+ // Transaction Builders
2530
+ // =========================================================================
2531
+ /**
2532
+ * Sources `amounts` of `coinTypes` for `walletAddress` and appends the
2533
+ * resulting commands to `txKind`, returning the extended transaction kind
2534
+ * along with a coin argument per requested amount.
2535
+ *
2536
+ * Coins are drawn from owned `Coin<T>` objects and from the wallet's SIP-58
2537
+ * address balance (via `0x2::coin::redeem_funds`), so accumulator-held funds
2538
+ * are spendable.
2539
+ *
2540
+ * @param inputs - The wallet, index-aligned `coinTypes`/`amounts`, the
2541
+ * base64 `txKind` to extend, and optional `gas` metadata to carry across the
2542
+ * transaction-kind boundary.
2543
+ * @returns The updated `txKind`, one coin argument per requested amount, and
2544
+ * the gas metadata carried by the builder.
2545
+ *
2546
+ * @example
2547
+ * ```typescript
2548
+ * const { txKind, arguments: coinArgs } = await coin.getCoinsWithAmounts({
2549
+ * walletAddress: "0x<address>",
2550
+ * coinTypes: ["0x2::sui::SUI"],
2551
+ * amounts: [BigInt(500_000_000)],
2552
+ * txKind,
2553
+ * });
2554
+ * ```
2555
+ */
2556
+ async getCoinsWithAmounts(inputs) {
2557
+ if (inputs.coinTypes.length !== inputs.amounts.length) {
2558
+ throw new Error("`coinTypes` and `amounts` must have the same length");
2559
+ }
2560
+ return this.fetchApi("coins-with-amounts", inputs);
2561
+ }
2528
2562
  };
2529
2563
  // =========================================================================
2530
2564
  // Constants
@@ -15891,6 +15925,22 @@ var init_wallet = __esm({
15891
15925
  this.address = address;
15892
15926
  this.api = api;
15893
15927
  }
15928
+ /**
15929
+ * The gRPC provider backing this wallet's reads.
15930
+ *
15931
+ * Balances come from gRPC rather than the Aftermath service so that a
15932
+ * wallet's SIP-58 address balance counts towards what it holds. `api` is
15933
+ * optional only for historical reasons: `Aftermath.Wallet()` is the sole
15934
+ * way to obtain a `Wallet` and always supplies one.
15935
+ */
15936
+ requireApi() {
15937
+ if (!this.api) {
15938
+ throw new Error(
15939
+ "`Wallet` reads require an `AftermathApi`. Construct via `Aftermath.create()`"
15940
+ );
15941
+ }
15942
+ return this.api;
15943
+ }
15894
15944
  // =========================================================================
15895
15945
  // Balances
15896
15946
  // =========================================================================
@@ -15930,10 +15980,15 @@ var init_wallet = __esm({
15930
15980
  * ```
15931
15981
  */
15932
15982
  async getBalances(inputs) {
15933
- return this.fetchApi("coin-balances", {
15934
- ...inputs,
15935
- walletAddress: this.address
15936
- });
15983
+ const api = this.requireApi();
15984
+ return await Promise.all(
15985
+ inputs.coins.map(
15986
+ (coin) => api.Wallet().fetchCoinBalance({
15987
+ walletAddress: this.address,
15988
+ coin
15989
+ })
15990
+ )
15991
+ );
15937
15992
  }
15938
15993
  /**
15939
15994
  * Fetches all coin balances held by this wallet address, returning a record
@@ -15949,7 +16004,7 @@ var init_wallet = __esm({
15949
16004
  * ```
15950
16005
  */
15951
16006
  async getAllBalances() {
15952
- return this.fetchApi("all-coin-balances", {
16007
+ return await this.requireApi().Wallet().fetchAllCoinBalances({
15953
16008
  walletAddress: this.address
15954
16009
  });
15955
16010
  }
@@ -15980,6 +16035,9 @@ var init_wallet = __esm({
15980
16035
  });
15981
16036
 
15982
16037
  // src/packages/coin/api/coinApi.ts
16038
+ import {
16039
+ coinWithBalance
16040
+ } from "@mysten/sui/transactions";
15983
16041
  var MAX_COIN_FETCH_PAGES, _CoinApi, CoinApi;
15984
16042
  var init_coinApi = __esm({
15985
16043
  "src/packages/coin/api/coinApi.ts"() {
@@ -15987,7 +16045,6 @@ var init_coinApi = __esm({
15987
16045
  init_transactionsApiHelpers();
15988
16046
  init_grpcCasting();
15989
16047
  init_helpers();
15990
- init_coin();
15991
16048
  MAX_COIN_FETCH_PAGES = 50;
15992
16049
  _CoinApi = class _CoinApi {
15993
16050
  // =========================================================================
@@ -16001,51 +16058,41 @@ var init_coinApi = __esm({
16001
16058
  this.fetchCoinWithAmountTx = async (inputs) => {
16002
16059
  const { tx, walletAddress, coinType, coinAmount, isSponsoredTx } = inputs;
16003
16060
  tx.setSender(walletAddress);
16004
- const coinData = await this.fetchCoinsWithAtLeastAmount(inputs);
16005
- return _CoinApi.coinWithAmountTx({
16006
- tx,
16007
- coinData,
16008
- coinAmount,
16009
- coinType,
16010
- isSponsoredTx
16011
- });
16061
+ if (isSponsoredTx) {
16062
+ const coinData = await this.fetchCoinsWithAtLeastAmount(inputs);
16063
+ return _CoinApi.sponsoredCoinWithAmountTx({
16064
+ tx,
16065
+ coinData,
16066
+ coinAmount,
16067
+ coinType
16068
+ });
16069
+ }
16070
+ await this.assertSufficientTotalBalance(inputs);
16071
+ return coinWithBalance({ type: coinType, balance: coinAmount })(tx);
16012
16072
  };
16013
16073
  this.fetchCoinsWithAmountTx = async (inputs) => {
16014
- const { tx, walletAddress, coinTypes, coinAmounts, isSponsoredTx } = inputs;
16015
- tx.setSender(walletAddress);
16016
- const allCoinsData = await Promise.all(
16017
- coinTypes.map(
16018
- async (coinType, index) => this.fetchCoinsWithAtLeastAmount({
16074
+ const { coinTypes, coinAmounts } = inputs;
16075
+ const coinArgs = [];
16076
+ for (const [index, coinType] of coinTypes.entries()) {
16077
+ coinArgs.push(
16078
+ await this.fetchCoinWithAmountTx({
16019
16079
  ...inputs,
16020
- coinAmount: coinAmounts[index],
16021
- coinType
16080
+ coinType,
16081
+ coinAmount: coinAmounts[index]
16022
16082
  })
16023
- )
16024
- );
16025
- let coinArgs = [];
16026
- for (const [index, coinData] of allCoinsData.entries()) {
16027
- const coinArg = _CoinApi.coinWithAmountTx({
16028
- tx,
16029
- coinData,
16030
- coinAmount: coinAmounts[index],
16031
- coinType: coinTypes[index],
16032
- isSponsoredTx
16033
- });
16034
- coinArgs = [...coinArgs, coinArg];
16083
+ );
16035
16084
  }
16036
16085
  return coinArgs;
16037
16086
  };
16038
16087
  this.fetchCoinsWithAtLeastAmount = async (inputs) => {
16039
16088
  const allCoinData = [];
16040
16089
  let cursor;
16041
- let pages = 0;
16042
- do {
16090
+ for (let page = 0; page < MAX_COIN_FETCH_PAGES; page++) {
16043
16091
  const paginatedCoins = await this.api.client.listCoins({
16044
16092
  coinType: inputs.coinType,
16045
16093
  owner: inputs.walletAddress,
16046
16094
  cursor
16047
16095
  });
16048
- pages += 1;
16049
16096
  allCoinData.push(
16050
16097
  ...paginatedCoins.objects.map(GrpcCasting.coinStructFromGrpcCoin)
16051
16098
  );
@@ -16062,15 +16109,10 @@ var init_coinApi = __esm({
16062
16109
  if (paginatedCoins.objects.length === 0 || !paginatedCoins.hasNextPage || !paginatedCoins.cursor) {
16063
16110
  throw new Error("wallet does not have coins of sufficient balance");
16064
16111
  }
16065
- if (pages >= MAX_COIN_FETCH_PAGES) {
16066
- throw new Error(
16067
- "wallet balance is spread across too many coin objects"
16068
- );
16069
- }
16070
16112
  cursor = paginatedCoins.cursor;
16071
- } while (true);
16113
+ }
16114
+ throw new Error("wallet balance is spread across too many coin objects");
16072
16115
  };
16073
- // fetchCoinsUntilAmountReachedOrEnd
16074
16116
  this.fetchAllCoins = async (inputs) => {
16075
16117
  const allCoinData = [];
16076
16118
  let cursor;
@@ -16083,67 +16125,63 @@ var init_coinApi = __esm({
16083
16125
  allCoinData.push(
16084
16126
  ...paginatedCoins.objects.map(GrpcCasting.coinStructFromGrpcCoin)
16085
16127
  );
16086
- if (paginatedCoins.objects.length === 0 || !paginatedCoins.hasNextPage || !paginatedCoins.cursor) {
16087
- return allCoinData.sort(
16088
- (b, a) => Number(BigInt(b.coinObjectId) - BigInt(a.coinObjectId))
16089
- );
16090
- }
16091
- cursor = paginatedCoins.cursor;
16092
- } while (true);
16128
+ cursor = paginatedCoins.objects.length > 0 && paginatedCoins.hasNextPage && paginatedCoins.cursor ? paginatedCoins.cursor : void 0;
16129
+ } while (cursor !== void 0);
16130
+ return allCoinData.sort(
16131
+ (b, a) => Number(BigInt(b.coinObjectId) - BigInt(a.coinObjectId))
16132
+ );
16133
+ };
16134
+ // =========================================================================
16135
+ // Private Helpers
16136
+ // =========================================================================
16137
+ /**
16138
+ * Checks the wallet's TOTAL balance (owned coins + SIP-58 address balance)
16139
+ * covers `coinAmount`, throwing the canonical insufficient-balance error
16140
+ * otherwise. `coinWithBalance` can source from both, so this is the correct
16141
+ * spendability check for the non-sponsored path.
16142
+ */
16143
+ this.assertSufficientTotalBalance = async (inputs) => {
16144
+ const { balance } = await this.api.client.getBalance({
16145
+ owner: inputs.walletAddress,
16146
+ coinType: Helpers.stripLeadingZeroesFromType(inputs.coinType)
16147
+ });
16148
+ if (BigInt(balance.balance) < inputs.coinAmount) {
16149
+ throw new Error("wallet does not have coins of sufficient balance");
16150
+ }
16093
16151
  };
16094
16152
  }
16095
16153
  };
16096
16154
  // =========================================================================
16097
16155
  // Private Static Methods
16098
16156
  // =========================================================================
16099
- _CoinApi.coinWithAmountTx = (inputs) => {
16100
- const { tx, coinData, coinAmount, coinType, isSponsoredTx } = inputs;
16101
- if (coinData.length <= 0) {
16102
- throw new Error("wallet does not have coins of sufficient balance");
16103
- }
16104
- const isSuiCoin = Coin.isSuiCoin(coinData[0].coinType);
16105
- const totalCoinBalance = Helpers.sumBigInt(
16106
- coinData.map((data) => BigInt(data.balance))
16107
- );
16108
- if (totalCoinBalance < coinAmount) {
16109
- throw new Error("wallet does not have coins of sufficient balance");
16110
- }
16111
- if (!isSponsoredTx && isSuiCoin) {
16112
- tx.setGasPayment(
16113
- coinData.map((obj) => {
16114
- return {
16115
- ...obj,
16116
- objectId: obj.coinObjectId
16117
- };
16118
- })
16119
- );
16120
- return tx.splitCoins(tx.gas, [coinAmount]);
16121
- }
16157
+ /**
16158
+ * Owned-coin arg for the sponsored path: merge the selected coins and split
16159
+ * the amount without touching `tx.gas` (that's the sponsor's coin) and via
16160
+ * raw commands only, since the tx is serialized unbuilt. `coinData` comes
16161
+ * from `fetchCoinsWithAtLeastAmount`, which guarantees it covers
16162
+ * `coinAmount`.
16163
+ */
16164
+ _CoinApi.sponsoredCoinWithAmountTx = (inputs) => {
16165
+ const { tx, coinData, coinAmount, coinType } = inputs;
16122
16166
  const coinObjectIds = coinData.map((data) => data.coinObjectId);
16123
16167
  const mergedCoinObjectId = coinObjectIds[0];
16124
16168
  if (coinObjectIds.length > 1) {
16125
- if (isSponsoredTx) {
16126
- tx.add({
16127
- $kind: "MergeCoins",
16128
- MergeCoins: {
16129
- destination: tx.object(mergedCoinObjectId),
16130
- sources: [
16131
- ...coinObjectIds.slice(1).map((coinId) => tx.object(coinId))
16132
- ]
16133
- }
16134
- });
16135
- } else {
16136
- tx.mergeCoins(tx.object(mergedCoinObjectId), [
16137
- ...coinObjectIds.slice(1).map((coinId) => tx.object(coinId))
16138
- ]);
16139
- }
16169
+ tx.add({
16170
+ $kind: "MergeCoins",
16171
+ MergeCoins: {
16172
+ destination: tx.object(mergedCoinObjectId),
16173
+ sources: [
16174
+ ...coinObjectIds.slice(1).map((coinId) => tx.object(coinId))
16175
+ ]
16176
+ }
16177
+ });
16140
16178
  }
16141
- return isSponsoredTx ? TransactionsApiHelpers.splitCoinTx({
16179
+ return TransactionsApiHelpers.splitCoinTx({
16142
16180
  tx,
16143
16181
  coinId: mergedCoinObjectId,
16144
16182
  amount: coinAmount,
16145
16183
  coinType
16146
- }) : tx.splitCoins(mergedCoinObjectId, [coinAmount]);
16184
+ });
16147
16185
  };
16148
16186
  CoinApi = _CoinApi;
16149
16187
  }
@@ -23436,30 +23474,18 @@ var init_walletApi = __esm({
23436
23474
  // TODO: return prices here as well and sort ?
23437
23475
  this.fetchAllCoinBalances = async (inputs) => {
23438
23476
  const { walletAddress } = inputs;
23439
- const allBalances = [];
23477
+ const coinsToBalance = {};
23440
23478
  let cursor;
23441
23479
  do {
23442
23480
  const page = await this.api.client.listBalances({
23443
23481
  owner: walletAddress,
23444
23482
  cursor
23445
23483
  });
23446
- allBalances.push(...page.balances);
23447
- if (page.balances.length === 0 || !page.hasNextPage || !page.cursor) {
23448
- break;
23484
+ for (const balance of page.balances) {
23485
+ coinsToBalance[Helpers.addLeadingZeroesToType(balance.coinType)] = BigInt(balance.balance);
23449
23486
  }
23450
- cursor = page.cursor;
23451
- } while (true);
23452
- const coinsToBalance = allBalances.reduce(
23453
- (acc, balance) => {
23454
- return {
23455
- ...acc,
23456
- [Helpers.addLeadingZeroesToType(balance.coinType)]: BigInt(
23457
- balance.balance
23458
- )
23459
- };
23460
- },
23461
- {}
23462
- );
23487
+ cursor = page.balances.length > 0 && page.hasNextPage && page.cursor ? page.cursor : void 0;
23488
+ } while (cursor !== void 0);
23463
23489
  return coinsToBalance;
23464
23490
  };
23465
23491
  // =========================================================================