@augustdigital/sdk 8.7.2 → 8.9.0
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/lib/core/analytics/method-taxonomy.js +16 -0
- package/lib/core/analytics/version.d.ts +1 -1
- package/lib/core/analytics/version.js +1 -1
- package/lib/core/base.class.d.ts +20 -1
- package/lib/core/base.class.js +8 -1
- package/lib/core/constants/core.d.ts +32 -0
- package/lib/core/constants/core.js +72 -0
- package/lib/core/constants/vaults.d.ts +5 -0
- package/lib/core/constants/vaults.js +7 -0
- package/lib/core/constants/web3.d.ts +17 -0
- package/lib/core/constants/web3.js +18 -1
- package/lib/core/fetcher.d.ts +35 -0
- package/lib/core/fetcher.js +80 -1
- package/lib/main.js +1 -1
- package/lib/modules/api/fetcher.d.ts +82 -0
- package/lib/modules/api/fetcher.js +150 -0
- package/lib/modules/api/main.d.ts +263 -2
- package/lib/modules/api/main.js +353 -4
- package/lib/modules/sub-accounts/fetcher.d.ts +28 -1
- package/lib/modules/sub-accounts/fetcher.js +51 -1
- package/lib/modules/sub-accounts/main.d.ts +93 -1
- package/lib/modules/sub-accounts/main.js +123 -0
- package/lib/sdk.d.ts +840 -2
- package/lib/services/subgraph/vaults.js +89 -20
- package/lib/types/api.d.ts +280 -0
- package/lib/types/api.js +3 -0
- package/lib/types/index.d.ts +1 -0
- package/lib/types/index.js +1 -0
- package/lib/types/sub-accounts.d.ts +36 -0
- package/lib/types/subgraph.d.ts +8 -0
- package/package.json +1 -1
package/lib/sdk.d.ts
CHANGED
|
@@ -15111,8 +15111,268 @@ declare function assertNotStellar(address: string, operation: string): void;
|
|
|
15111
15111
|
*
|
|
15112
15112
|
* Accessible as `apiModule` on the SDK instance; the same methods are also
|
|
15113
15113
|
* exposed directly on the SDK class.
|
|
15114
|
+
*
|
|
15115
|
+
* A subset of methods (loan book, risk) hit authenticated admin-only backend
|
|
15116
|
+
* endpoints and require an admin-scoped August API key on the SDK
|
|
15117
|
+
* constructor; each such method documents the requirement.
|
|
15114
15118
|
*/
|
|
15115
|
-
export declare class AugustApi {
|
|
15119
|
+
export declare class AugustApi extends AugustBase {
|
|
15120
|
+
private headers;
|
|
15121
|
+
constructor(baseConfig: IAugustBase);
|
|
15122
|
+
/**
|
|
15123
|
+
* Retrieve the global loan-book aggregate across every active client
|
|
15124
|
+
* subaccount — one {@link ILoanBookInfo} entry per loan, with principal /
|
|
15125
|
+
* interest amounts, APRs, state, and the next upcoming payment.
|
|
15126
|
+
*
|
|
15127
|
+
* Backed by the admin-only `GET /dashboard/loans` backend endpoint (60-second
|
|
15128
|
+
* server-side cache), so the August API key configured on the SDK must
|
|
15129
|
+
* belong to an admin user. Makes exactly one HTTP request and no RPC calls.
|
|
15130
|
+
*
|
|
15131
|
+
* @returns Array of loan-book entries; empty when there are no active loans.
|
|
15132
|
+
* @throws AugustAuthError When the API key is missing or not admin-scoped.
|
|
15133
|
+
* @throws AugustServerError When the API responds with a non-2xx status.
|
|
15134
|
+
* @example
|
|
15135
|
+
* const loans = await sdk.apiModule.getDashboardLoans();
|
|
15136
|
+
* const active = loans.filter((l) => l.state === 'ACTIVE');
|
|
15137
|
+
*/
|
|
15138
|
+
getDashboardLoans(): Promise<ILoanBookInfo[]>;
|
|
15139
|
+
/**
|
|
15140
|
+
* Retrieve every token discount-factor ladder the risk engine applies when
|
|
15141
|
+
* valuing collateral.
|
|
15142
|
+
*
|
|
15143
|
+
* Backed by `GET /risk/discount_factors` (60-second server-side cache),
|
|
15144
|
+
* which requires an authenticated August user; an admin-scoped API key
|
|
15145
|
+
* works. Makes exactly one HTTP request and no RPC calls.
|
|
15146
|
+
*
|
|
15147
|
+
* @returns Array of {@link IDiscountFactorLadder}, one per whitelisted token that has a configured ladder.
|
|
15148
|
+
* @throws AugustAuthError When the API key is missing or not authorized.
|
|
15149
|
+
* @throws AugustServerError When the API responds with a non-2xx status.
|
|
15150
|
+
* @example
|
|
15151
|
+
* const ladders = await sdk.apiModule.getDiscountFactors();
|
|
15152
|
+
* console.log(ladders.map((d) => `${d.address}@${d.chain}`));
|
|
15153
|
+
*/
|
|
15154
|
+
getDiscountFactors(): Promise<IDiscountFactorLadder[]>;
|
|
15155
|
+
/**
|
|
15156
|
+
* Compute how much collateral a subaccount has in excess of — or is short
|
|
15157
|
+
* of — what it needs to hold a target health factor, for one collateral
|
|
15158
|
+
* token.
|
|
15159
|
+
*
|
|
15160
|
+
* Backed by `GET /risk/collateral_excess_or_deficit` (60-second server-side
|
|
15161
|
+
* cache), which resolves the subaccount and reads its current health factor,
|
|
15162
|
+
* so an authenticated (admin-scoped) August API key is required. Makes
|
|
15163
|
+
* exactly one HTTP request and no RPC calls.
|
|
15164
|
+
*
|
|
15165
|
+
* @param params.subaccount Subaccount (smart-contract wallet) address.
|
|
15166
|
+
* @param params.tokenAddress Collateral token address to evaluate.
|
|
15167
|
+
* @param params.tokenChain Numeric August chain id of the token (e.g. `1` for Ethereum mainnet).
|
|
15168
|
+
* @param params.targetHealthFactor Health factor to solve for. Defaults server-side to the minimum healthy factor (1.2); when supplied must be a finite number greater than 0.
|
|
15169
|
+
* @returns The signed excess (positive) or deficit (negative) in USD and token units. Zeroes when the subaccount has no debt.
|
|
15170
|
+
* @throws AugustValidationError When an address is invalid, `tokenChain` is not an integer, or `targetHealthFactor` is out of range.
|
|
15171
|
+
* @throws AugustServerError When the token has no discount factor (backend 404) or the API otherwise responds non-2xx.
|
|
15172
|
+
* @example
|
|
15173
|
+
* const r = await sdk.apiModule.getCollateralExcessOrDeficit({
|
|
15174
|
+
* subaccount: '0xabc…',
|
|
15175
|
+
* tokenAddress: '0xdef…',
|
|
15176
|
+
* tokenChain: 1,
|
|
15177
|
+
* });
|
|
15178
|
+
* console.log(r.amount_usd > 0 ? 'excess' : 'deficit');
|
|
15179
|
+
*/
|
|
15180
|
+
getCollateralExcessOrDeficit(params: {
|
|
15181
|
+
subaccount: string;
|
|
15182
|
+
tokenAddress: string;
|
|
15183
|
+
tokenChain: number;
|
|
15184
|
+
targetHealthFactor?: number;
|
|
15185
|
+
}): Promise<ICollateralExcessOrDeficit>;
|
|
15186
|
+
/**
|
|
15187
|
+
* Simulate the collateral required to open a hypothetical loan against a
|
|
15188
|
+
* chosen basket of collateral tokens.
|
|
15189
|
+
*
|
|
15190
|
+
* This is a pure, read-only simulation: the backend `POST
|
|
15191
|
+
* /risk/collateral_simulation` endpoint (60-second server-side cache)
|
|
15192
|
+
* computes required collateral and effective discount factors and changes
|
|
15193
|
+
* no state. It runs against the authenticated backend, so an
|
|
15194
|
+
* (admin-scoped) August API key is required. Makes exactly one HTTP request
|
|
15195
|
+
* and no RPC calls.
|
|
15196
|
+
*
|
|
15197
|
+
* @param input Simulation parameters — see {@link ICollateralSimulationInput}. `collateral_tokens` and `collateral_token_allocation` must be non-empty and equal length; when `on_platform` is `true`, both `loan_redeployed_token_*` fields are required.
|
|
15198
|
+
* @returns The simulated {@link ICollateralSimulationResults}: total debt, required collateral, resulting health factor, and a per-token breakdown.
|
|
15199
|
+
* @throws AugustValidationError When addresses are invalid, `loan_amount` is not a finite non-negative number, the collateral arrays are empty / mismatched, or `on_platform` is set without redeployed-token details.
|
|
15200
|
+
* @throws AugustServerError When the API responds with a non-2xx status (e.g. a token missing a discount factor).
|
|
15201
|
+
* @example
|
|
15202
|
+
* const sim = await sdk.apiModule.simulateCollateral({
|
|
15203
|
+
* loan_token_chain: 1,
|
|
15204
|
+
* loan_token_address: '0xloan…',
|
|
15205
|
+
* loan_amount: 1_000_000,
|
|
15206
|
+
* collateral_tokens: [[1, '0xcol…']],
|
|
15207
|
+
* collateral_token_allocation: [1],
|
|
15208
|
+
* });
|
|
15209
|
+
* console.log(sim.total_required_collateral_usd);
|
|
15210
|
+
*/
|
|
15211
|
+
simulateCollateral(input: ICollateralSimulationInput): Promise<ICollateralSimulationResults>;
|
|
15212
|
+
/**
|
|
15213
|
+
* Fetch the decoded revert reason(s) for a transaction — error messages,
|
|
15214
|
+
* revert strings, and recognized universal-subaccount errors extracted from
|
|
15215
|
+
* a `debug_traceTransaction` call tree.
|
|
15216
|
+
*
|
|
15217
|
+
* Backed by the public (unauthenticated) `GET /revert_reason` endpoint; no
|
|
15218
|
+
* API key required. The backend relies on the target chain's RPC supporting
|
|
15219
|
+
* `debug_trace*`; on chains/RPCs without it the backend returns a 5xx whose
|
|
15220
|
+
* detail explains why, surfaced here as an {@link AugustServerError}. Makes
|
|
15221
|
+
* exactly one HTTP request and no RPC calls from the SDK itself.
|
|
15222
|
+
*
|
|
15223
|
+
* @param txHash Transaction hash to trace.
|
|
15224
|
+
* @param chain Numeric August chain id the transaction is on (e.g. `1` for Ethereum mainnet).
|
|
15225
|
+
* @returns The decoded {@link IRevertReason}; all arrays empty when the trace yielded no matching signal.
|
|
15226
|
+
* @throws AugustValidationError When `txHash` is empty or `chain` is not an integer.
|
|
15227
|
+
* @throws AugustServerError When the chain/RPC does not support tracing, or the API otherwise responds non-2xx.
|
|
15228
|
+
* @example
|
|
15229
|
+
* const r = await sdk.apiModule.getRevertReason('0xabc…', 1);
|
|
15230
|
+
* console.log(r.revert_reasons);
|
|
15231
|
+
*/
|
|
15232
|
+
getRevertReason(txHash: string, chain: number): Promise<IRevertReason>;
|
|
15233
|
+
/**
|
|
15234
|
+
* Retrieve every tracked OTC position.
|
|
15235
|
+
*
|
|
15236
|
+
* Backed by the admin-only `GET /otc/position` backend endpoint, so the
|
|
15237
|
+
* configured August API key must belong to an admin user. Makes exactly one
|
|
15238
|
+
* HTTP request and no RPC calls.
|
|
15239
|
+
*
|
|
15240
|
+
* @returns Array of {@link IOtcPositionRead}; empty when there are no OTC positions.
|
|
15241
|
+
* @throws AugustAuthError When the API key is missing or not admin-scoped.
|
|
15242
|
+
* @throws AugustServerError When the API responds with a non-2xx status.
|
|
15243
|
+
* @example
|
|
15244
|
+
* const positions = await sdk.apiModule.getOtcPositions();
|
|
15245
|
+
*/
|
|
15246
|
+
getOtcPositions(): Promise<IOtcPositionRead[]>;
|
|
15247
|
+
/**
|
|
15248
|
+
* Retrieve OTC margin requirements, optionally filtered by counterparty
|
|
15249
|
+
* and/or payer.
|
|
15250
|
+
*
|
|
15251
|
+
* Backed by the admin-only `GET /otc/margin_requirement` backend endpoint,
|
|
15252
|
+
* so the configured August API key must belong to an admin user. Makes
|
|
15253
|
+
* exactly one HTTP request and no RPC calls.
|
|
15254
|
+
*
|
|
15255
|
+
* @param options - Optional filters
|
|
15256
|
+
* @param options.otcCounterpartyId - Restrict to a single counterparty (UUID)
|
|
15257
|
+
* @param options.payer - Restrict to a single payer address
|
|
15258
|
+
* @returns Array of {@link IOtcMarginRequirement} matching the filters (all when none given).
|
|
15259
|
+
* @throws AugustAuthError When the API key is missing or not admin-scoped.
|
|
15260
|
+
* @throws AugustServerError When the API responds with a non-2xx status.
|
|
15261
|
+
* @example
|
|
15262
|
+
* const reqs = await sdk.apiModule.getOtcMarginRequirements({ payer: '0xabc…' });
|
|
15263
|
+
*/
|
|
15264
|
+
getOtcMarginRequirements(options?: {
|
|
15265
|
+
otcCounterpartyId?: string;
|
|
15266
|
+
payer?: string;
|
|
15267
|
+
}): Promise<IOtcMarginRequirement[]>;
|
|
15268
|
+
/**
|
|
15269
|
+
* List the subaccounts linked to a vault (curator surface).
|
|
15270
|
+
*
|
|
15271
|
+
* Backed by the curator-or-admin `GET
|
|
15272
|
+
* /curator/vaults/{vault_address}/subaccounts` backend endpoint, so the
|
|
15273
|
+
* configured August API key must belong to the vault's curator or an admin.
|
|
15274
|
+
* Makes exactly one HTTP request and no RPC calls.
|
|
15275
|
+
*
|
|
15276
|
+
* @param vaultAddress - The vault address (EVM `0x…`, Solana, or Stellar)
|
|
15277
|
+
* @returns Array of subaccount records linked to the vault (same shape as the subaccount directory); empty when none are linked.
|
|
15278
|
+
* @throws AugustValidationError When `vaultAddress` is not a valid address.
|
|
15279
|
+
* @throws AugustAuthError When the API key is missing or not curator/admin for the vault.
|
|
15280
|
+
* @throws AugustServerError When the API responds with a non-2xx status.
|
|
15281
|
+
* @example
|
|
15282
|
+
* const subs = await sdk.apiModule.getCuratorVaultSubaccounts('0xvault…');
|
|
15283
|
+
*/
|
|
15284
|
+
getCuratorVaultSubaccounts(vaultAddress: string): Promise<IWSSubaccountListItem[]>;
|
|
15285
|
+
/**
|
|
15286
|
+
* Get on-chain whitelist status for every subaccount linked to a vault
|
|
15287
|
+
* (curator surface).
|
|
15288
|
+
*
|
|
15289
|
+
* Backed by the curator-or-admin `GET
|
|
15290
|
+
* /curator/vaults/{vault_address}/whitelist` backend endpoint. EVM vaults
|
|
15291
|
+
* only — non-EVM vaults manage access internally and the backend returns a
|
|
15292
|
+
* 400 (surfaced as {@link AugustServerError}). Makes exactly one HTTP
|
|
15293
|
+
* request and no RPC calls from the SDK.
|
|
15294
|
+
*
|
|
15295
|
+
* @param vaultAddress - The EVM vault address (`0x…`)
|
|
15296
|
+
* @returns Array of {@link ICuratorWhitelistStatus}, one per linked subaccount; empty when the vault has no subaccounts.
|
|
15297
|
+
* @throws AugustValidationError When `vaultAddress` is not a valid address.
|
|
15298
|
+
* @throws AugustAuthError When the API key is missing or not curator/admin for the vault.
|
|
15299
|
+
* @throws AugustServerError When the vault is non-EVM (backend 400) or the API otherwise responds non-2xx.
|
|
15300
|
+
* @example
|
|
15301
|
+
* const status = await sdk.apiModule.getCuratorVaultWhitelist('0xvault…');
|
|
15302
|
+
* console.log(status.filter((s) => !s.is_whitelisted));
|
|
15303
|
+
*/
|
|
15304
|
+
getCuratorVaultWhitelist(vaultAddress: string): Promise<ICuratorWhitelistStatus[]>;
|
|
15305
|
+
/**
|
|
15306
|
+
* List timelock (governance) requests for a vault on a chain, optionally
|
|
15307
|
+
* filtered by status.
|
|
15308
|
+
*
|
|
15309
|
+
* Backed by the `GET /timelock-requests` backend endpoint. Makes exactly one
|
|
15310
|
+
* HTTP request and no RPC calls.
|
|
15311
|
+
*
|
|
15312
|
+
* @param params.vaultAddress The vault address the requests target.
|
|
15313
|
+
* @param params.chainId Numeric August chain id (must be a positive integer).
|
|
15314
|
+
* @param params.status Status filter: `"scheduled"` (backend default), `"executed"`, `"cancelled"`, or `"all"`. Omit to use the backend default.
|
|
15315
|
+
* @returns Array of {@link ITimelockRequest}; empty when the vault has no matching requests.
|
|
15316
|
+
* @throws AugustValidationError When `vaultAddress` is invalid or `chainId` is not a positive integer.
|
|
15317
|
+
* @throws AugustServerError When the API responds with a non-2xx status (e.g. an invalid status filter).
|
|
15318
|
+
* @example
|
|
15319
|
+
* const reqs = await sdk.apiModule.getTimelockRequests({ vaultAddress: '0xvault…', chainId: 1 });
|
|
15320
|
+
*/
|
|
15321
|
+
getTimelockRequests(params: {
|
|
15322
|
+
vaultAddress: string;
|
|
15323
|
+
chainId: number;
|
|
15324
|
+
status?: string;
|
|
15325
|
+
}): Promise<ITimelockRequest[]>;
|
|
15326
|
+
/**
|
|
15327
|
+
* Compute a vault's performance fees over a period (backend-computed from
|
|
15328
|
+
* its snapshot history).
|
|
15329
|
+
*
|
|
15330
|
+
* Backed by `GET /metrics/vault_performance_fees`. The backend runs pandas
|
|
15331
|
+
* over the vault's full snapshot history, so the first call is slow; results
|
|
15332
|
+
* are cached server-side for 20 minutes. Makes exactly one HTTP request and
|
|
15333
|
+
* no RPC calls.
|
|
15334
|
+
*
|
|
15335
|
+
* @param params.vault The vault address (EVM `0x…`, Solana, or Stellar).
|
|
15336
|
+
* @param params.annualizedFeesPct Annualized performance-fee percentage. Defaults to 20.
|
|
15337
|
+
* @param params.nativeDenominated Whether to denominate in the vault's native token. Defaults to `true`.
|
|
15338
|
+
* @param params.calculationPeriod Period preset — `"YearToDate"` (default) or `"MonthToDate"`. Ignored by the backend when a custom `startDate`/`endDate` range is supplied.
|
|
15339
|
+
* @param params.startDate ISO-8601 datetime range start. Must be supplied together with `endDate`.
|
|
15340
|
+
* @param params.endDate ISO-8601 datetime range end. Must be supplied together with `startDate`.
|
|
15341
|
+
* @returns The vault's {@link IVaultPerformanceFees} computation.
|
|
15342
|
+
* @throws AugustValidationError When `vault` is invalid, or exactly one of `startDate`/`endDate` is supplied.
|
|
15343
|
+
* @throws AugustServerError When there is insufficient snapshot data for the period, or the API otherwise responds non-2xx.
|
|
15344
|
+
* @example
|
|
15345
|
+
* const fees = await sdk.apiModule.getVaultPerformanceFees({ vault: '0xvault…' });
|
|
15346
|
+
* console.log(fees.total_perf_fees_asset);
|
|
15347
|
+
*/
|
|
15348
|
+
getVaultPerformanceFees(params: {
|
|
15349
|
+
vault: string;
|
|
15350
|
+
annualizedFeesPct?: number;
|
|
15351
|
+
nativeDenominated?: boolean;
|
|
15352
|
+
calculationPeriod?: string;
|
|
15353
|
+
startDate?: string;
|
|
15354
|
+
endDate?: string;
|
|
15355
|
+
}): Promise<IVaultPerformanceFees>;
|
|
15356
|
+
/**
|
|
15357
|
+
* Fetch a vault's NAV-oracle classification table — how each position/token
|
|
15358
|
+
* is priced (Primary / Secondary Market / CeFi) and its USD value, plus
|
|
15359
|
+
* warnings for tokens that could not be resolved.
|
|
15360
|
+
*
|
|
15361
|
+
* Backed by the public (unauthenticated) `GET
|
|
15362
|
+
* /upshift/oracle_classification/{vault_address}` endpoint; no API key
|
|
15363
|
+
* required. Reads the newest daily snapshot. Makes exactly one HTTP request
|
|
15364
|
+
* and no RPC calls from the SDK.
|
|
15365
|
+
*
|
|
15366
|
+
* @param vault The vault address (EVM `0x…`, Solana, or Stellar).
|
|
15367
|
+
* @param chainId Numeric August chain id the vault lives on.
|
|
15368
|
+
* @returns The vault's {@link IOracleClassification}.
|
|
15369
|
+
* @throws AugustValidationError When `vault` is invalid or `chainId` is not an integer.
|
|
15370
|
+
* @throws AugustServerError When the vault or its snapshot is not found, or the API otherwise responds non-2xx.
|
|
15371
|
+
* @example
|
|
15372
|
+
* const cls = await sdk.apiModule.getVaultOracleClassification('0xvault…', 1);
|
|
15373
|
+
* console.log(cls.warnings);
|
|
15374
|
+
*/
|
|
15375
|
+
getVaultOracleClassification(vault: string, chainId: number): Promise<IOracleClassification>;
|
|
15116
15376
|
/**
|
|
15117
15377
|
* Fetch the historical unrealized-PnL series for a vault, newest first,
|
|
15118
15378
|
* as computed by the August backend from periodic vault snapshots.
|
|
@@ -15175,7 +15435,7 @@ export declare class AugustBase {
|
|
|
15175
15435
|
* @throws If `appName` is missing, malformed, or out of the allowed
|
|
15176
15436
|
* length range — see {@link IAugustBase.appName}.
|
|
15177
15437
|
*/
|
|
15178
|
-
constructor({ appName, providers, keys, monitoring, analytics, versionCheck, timeoutMs, }: IAugustBase);
|
|
15438
|
+
constructor({ appName, providers, keys, monitoring, analytics, versionCheck, timeoutMs, publicApiBaseUrl, }: IAugustBase);
|
|
15179
15439
|
/**
|
|
15180
15440
|
* Verify API keys and authorize SDK usage.
|
|
15181
15441
|
* TODO: initialize class with appropriate keys and verify august key
|
|
@@ -15743,6 +16003,31 @@ export declare class AugustServerError extends AugustSDKError {
|
|
|
15743
16003
|
export declare class AugustSubAccounts extends AugustBase {
|
|
15744
16004
|
private headers;
|
|
15745
16005
|
constructor(baseConfig: IAugustBase);
|
|
16006
|
+
/**
|
|
16007
|
+
* Retrieves one page of the directory of all August subaccounts.
|
|
16008
|
+
*
|
|
16009
|
+
* Backed by the admin-only `GET /subaccount` backend endpoint, so the
|
|
16010
|
+
* August API key configured on the SDK must belong to an admin user —
|
|
16011
|
+
* non-admin keys are rejected with an auth error by the backend. Makes
|
|
16012
|
+
* exactly one HTTP request and no RPC calls.
|
|
16013
|
+
*
|
|
16014
|
+
* @param options - Pagination window over the subaccount directory
|
|
16015
|
+
* @param options.offset - Number of records to skip. Defaults to 0; must be a non-negative integer.
|
|
16016
|
+
* @param options.limit - Page size. Defaults to 100; must be an integer between 1 and 1000 (backend maximum).
|
|
16017
|
+
* @returns The page of subaccount records (address, internal/friendly names, status, type, linked chains, risk metadata). An empty array means the offset is past the end of the directory.
|
|
16018
|
+
* @throws AugustValidationError when `offset` or `limit` is out of range
|
|
16019
|
+
* @throws AugustAuthError when the API key is missing or not admin-scoped
|
|
16020
|
+
* @example
|
|
16021
|
+
* const page = await augustSdk.subAccountsModule.getAllSubaccounts({
|
|
16022
|
+
* offset: 0,
|
|
16023
|
+
* limit: 200,
|
|
16024
|
+
* });
|
|
16025
|
+
* console.log(page.map((s) => `${s.internal_name}: ${s.address}`));
|
|
16026
|
+
*/
|
|
16027
|
+
getAllSubaccounts(options?: {
|
|
16028
|
+
offset?: number;
|
|
16029
|
+
limit?: number;
|
|
16030
|
+
}): Promise<IWSSubaccountListItem[]>;
|
|
15746
16031
|
/**
|
|
15747
16032
|
* Retrieves the health factor for a subaccount.
|
|
15748
16033
|
* @param subaccountAddress - The address of the subaccount to query
|
|
@@ -15882,6 +16167,73 @@ export declare class AugustSubAccounts extends AugustBase {
|
|
|
15882
16167
|
netAccountValue: number;
|
|
15883
16168
|
totalEquityValue: number;
|
|
15884
16169
|
}>;
|
|
16170
|
+
/**
|
|
16171
|
+
* Retrieves a subaccount's on-chain transaction history, newest first,
|
|
16172
|
+
* optionally windowed by a time range.
|
|
16173
|
+
*
|
|
16174
|
+
* Backed by the authenticated `GET /transactions/v2` backend endpoint,
|
|
16175
|
+
* which resolves and authorizes the subaccount, so the configured August
|
|
16176
|
+
* API key must be authorized for it (an admin-scoped key always is). Makes
|
|
16177
|
+
* exactly one HTTP request and no RPC calls.
|
|
16178
|
+
*
|
|
16179
|
+
* @param subaccountAddress - The address of the subaccount to query
|
|
16180
|
+
* @param options - Optional time window
|
|
16181
|
+
* @param options.startTime - ISO-8601 datetime lower bound (inclusive); omit for no lower bound
|
|
16182
|
+
* @param options.endTime - ISO-8601 datetime upper bound (inclusive); omit for no upper bound
|
|
16183
|
+
* @returns The subaccount's transactions with decoded logs, transfers, and function names
|
|
16184
|
+
* @throws AugustValidationError When `subaccountAddress` is not a valid EVM address
|
|
16185
|
+
* @throws AugustAuthError When the API key is missing or not authorized for the subaccount
|
|
16186
|
+
* @throws AugustServerError When the API responds with a non-2xx status
|
|
16187
|
+
* @example
|
|
16188
|
+
* const txs = await augustSdk.subAccountsModule.getSubaccountTransactions(
|
|
16189
|
+
* '0xabc…',
|
|
16190
|
+
* { startTime: '2026-01-01T00:00:00Z' },
|
|
16191
|
+
* );
|
|
16192
|
+
*/
|
|
16193
|
+
getSubaccountTransactions(subaccountAddress: IAddress, options?: {
|
|
16194
|
+
startTime?: string;
|
|
16195
|
+
endTime?: string;
|
|
16196
|
+
}): Promise<ISubaccountTransaction[]>;
|
|
16197
|
+
/**
|
|
16198
|
+
* Retrieves the full loan-book detail for a single loan by its address and
|
|
16199
|
+
* chain.
|
|
16200
|
+
*
|
|
16201
|
+
* Backed by the admin-only `GET /subaccount/loans/{loan_address}` backend
|
|
16202
|
+
* endpoint (60-second server-side cache), so the configured August API key
|
|
16203
|
+
* must belong to an admin user. Makes exactly one HTTP request and no RPC
|
|
16204
|
+
* calls.
|
|
16205
|
+
*
|
|
16206
|
+
* @param loanAddress - The loan contract address
|
|
16207
|
+
* @param chainId - Numeric August chain id the loan lives on (e.g. `1` for Ethereum mainnet)
|
|
16208
|
+
* @returns The loan's {@link ILoanBookInfo} detail
|
|
16209
|
+
* @throws AugustValidationError When `chainId` is not an integer
|
|
16210
|
+
* @throws AugustAuthError When the API key is missing or not admin-scoped
|
|
16211
|
+
* @throws AugustServerError When the loan or chain is not found, or the API otherwise responds non-2xx
|
|
16212
|
+
* @example
|
|
16213
|
+
* const loan = await augustSdk.subAccountsModule.getSubaccountLoanByAddress(
|
|
16214
|
+
* '0xloan…',
|
|
16215
|
+
* 1,
|
|
16216
|
+
* );
|
|
16217
|
+
*/
|
|
16218
|
+
getSubaccountLoanByAddress(loanAddress: string, chainId: number): Promise<ILoanBookInfo>;
|
|
16219
|
+
/**
|
|
16220
|
+
* Retrieves cross-chain DeBank protocol positions and token balances for a
|
|
16221
|
+
* subaccount and its associated strategies.
|
|
16222
|
+
*
|
|
16223
|
+
* Backed by `GET /subaccount/{subaccount_address}/debank` (300-second
|
|
16224
|
+
* server-side cache). This is a slow endpoint — it fans out to DeBank
|
|
16225
|
+
* across every supported chain — so expect higher latency than other
|
|
16226
|
+
* subaccount reads. Makes exactly one HTTP request and no RPC calls.
|
|
16227
|
+
*
|
|
16228
|
+
* @param subaccountAddress - The address of the subaccount to query
|
|
16229
|
+
* @returns The subaccount's DeBank positions/tokens plus per-strategy breakdowns
|
|
16230
|
+
* @throws AugustValidationError When `subaccountAddress` is not a valid EVM address
|
|
16231
|
+
* @throws AugustServerError When the API responds with a non-2xx status
|
|
16232
|
+
* @example
|
|
16233
|
+
* const debank = await augustSdk.subAccountsModule.getSubaccountDebank('0xabc…');
|
|
16234
|
+
* console.log(debank.subaccount.positions.length);
|
|
16235
|
+
*/
|
|
16236
|
+
getSubaccountDebank(subaccountAddress: IAddress): Promise<ISubaccountDebank>;
|
|
15885
16237
|
}
|
|
15886
16238
|
|
|
15887
16239
|
/** Request exceeded its deadline. */
|
|
@@ -16818,6 +17170,24 @@ export declare function depositNative(signer: Signer | Wallet, options: INativeD
|
|
|
16818
17170
|
address?: string;
|
|
16819
17171
|
}): void;
|
|
16820
17172
|
|
|
17173
|
+
/**
|
|
17174
|
+
* Decimal precision of the native gas token on every EVM chain this SDK
|
|
17175
|
+
* supports (ETH, Base, Arbitrum, Avalanche, Polygon, BNB, HyperEVM, Unichain,
|
|
17176
|
+
* Mezo, Monad, Plasma, Ink, Flare, Katana, Citrea, Fluent, Tempo).
|
|
17177
|
+
*
|
|
17178
|
+
* All of them use 18-decimal native tokens, so this is a single constant rather
|
|
17179
|
+
* than a per-chain map. It exists because the native token has no ERC-20
|
|
17180
|
+
* `decimals()` to read on-chain: when a subgraph row denominates an amount in
|
|
17181
|
+
* the native token it is flagged with a sentinel address ({@link NATIVE_ADDRESS}
|
|
17182
|
+
* or the zero address) instead of a real contract, and callers must substitute
|
|
17183
|
+
* this value rather than attempting (and failing) a `decimals()` read.
|
|
17184
|
+
*
|
|
17185
|
+
* Non-EVM natives differ (SOL is 9, XLM is 7) and are handled by their own
|
|
17186
|
+
* adapters — those chains never flow through the EVM `decimals()` path this
|
|
17187
|
+
* constant serves.
|
|
17188
|
+
*/
|
|
17189
|
+
export declare const EVM_NATIVE_DECIMALS = 18;
|
|
17190
|
+
|
|
16821
17191
|
/**
|
|
16822
17192
|
* EVM Adapter for August SDK
|
|
16823
17193
|
* Supports both ethers Signer/Wallet and wagmi/viem WalletClient
|
|
@@ -17185,6 +17555,14 @@ export declare function depositNative(signer: Signer | Wallet, options: INativeD
|
|
|
17185
17555
|
readonly localnet: "http://127.0.0.1:8899";
|
|
17186
17556
|
};
|
|
17187
17557
|
|
|
17558
|
+
/**
|
|
17559
|
+
* Fetch one page of the subaccount directory (admin-only backend endpoint)
|
|
17560
|
+
*/
|
|
17561
|
+
export declare const fetchAllSubaccounts: (pagination: {
|
|
17562
|
+
offset?: number;
|
|
17563
|
+
limit?: number;
|
|
17564
|
+
}, augustKey: string, headers?: IFetchAugustOptions["headers"]) => Promise<IWSSubaccountListItem[]>;
|
|
17565
|
+
|
|
17188
17566
|
/**
|
|
17189
17567
|
* Make unauthenticated requests to August public API endpoints.
|
|
17190
17568
|
* Used for fetching vault metadata and public market data.
|
|
@@ -17251,11 +17629,24 @@ export declare function depositNative(signer: Signer | Wallet, options: INativeD
|
|
|
17251
17629
|
*/
|
|
17252
17630
|
export declare const fetchSubaccountCefiPositions: (address: IAddress, augustKey: string, headers?: IFetchAugustOptions["headers"]) => Promise<IWSSubaccountCefi[]>;
|
|
17253
17631
|
|
|
17632
|
+
/**
|
|
17633
|
+
* Fetch cross-chain DeBank positions for a subaccount (`GET
|
|
17634
|
+
* /subaccount/{subaccount_address}/debank`). Slow endpoint (300-second
|
|
17635
|
+
* server-side cache) — it fans out across every supported chain.
|
|
17636
|
+
*/
|
|
17637
|
+
export declare const fetchSubaccountDebank: (address: IAddress, augustKey: string, headers?: IFetchAugustOptions["headers"]) => Promise<ISubaccountDebank>;
|
|
17638
|
+
|
|
17254
17639
|
/**
|
|
17255
17640
|
* Fetch subaccount health factor for a given subaccount address
|
|
17256
17641
|
*/
|
|
17257
17642
|
export declare const fetchSubaccountHeathFactor: (address: IAddress, augustKey: string, headers?: IFetchAugustOptions["headers"]) => Promise<IWSSubAccountHealthFactor>;
|
|
17258
17643
|
|
|
17644
|
+
/**
|
|
17645
|
+
* Fetch a single loan's loan-book detail by loan address + chain
|
|
17646
|
+
* (admin-only `GET /subaccount/loans/{loan_address}`).
|
|
17647
|
+
*/
|
|
17648
|
+
export declare const fetchSubaccountLoanByAddress: (loanAddress: string, chainId: number, augustKey: string, headers?: IFetchAugustOptions["headers"]) => Promise<ILoanBookInfo>;
|
|
17649
|
+
|
|
17259
17650
|
/**
|
|
17260
17651
|
* Fetch subaccount loans details
|
|
17261
17652
|
*/
|
|
@@ -17275,6 +17666,16 @@ export declare function depositNative(signer: Signer | Wallet, options: INativeD
|
|
|
17275
17666
|
*/
|
|
17276
17667
|
export declare const fetchSubaccountSummary: (address: IAddress, augustKey: string, headers?: IFetchAugustOptions["headers"]) => Promise<IWSSubaccountSummary>;
|
|
17277
17668
|
|
|
17669
|
+
/**
|
|
17670
|
+
* Fetch a subaccount's transaction history (authenticated `GET
|
|
17671
|
+
* /transactions/v2`), optionally windowed by ISO-8601 start/end datetimes.
|
|
17672
|
+
*/
|
|
17673
|
+
export declare const fetchSubaccountTransactions: (payload: {
|
|
17674
|
+
address: IAddress;
|
|
17675
|
+
startTime?: string;
|
|
17676
|
+
endTime?: string;
|
|
17677
|
+
}, augustKey: string, headers?: IFetchAugustOptions["headers"]) => Promise<ISubaccountTransaction[]>;
|
|
17678
|
+
|
|
17278
17679
|
/**
|
|
17279
17680
|
* Fetch a swap quote and the calldata required for the on-chain SwapRouter
|
|
17280
17681
|
* to execute it.
|
|
@@ -17654,6 +18055,12 @@ export declare function depositNative(signer: Signer | Wallet, options: INativeD
|
|
|
17654
18055
|
options: IVaultBaseOptions;
|
|
17655
18056
|
}): Promise<INormalizedNumber>;
|
|
17656
18057
|
|
|
18058
|
+
/**
|
|
18059
|
+
* Read the active base for the `public` server — the SDK-level override if set,
|
|
18060
|
+
* otherwise the compiled-in `WEBSERVER_URL.public`.
|
|
18061
|
+
*/
|
|
18062
|
+
export declare function getPublicApiBaseUrl(): string;
|
|
18063
|
+
|
|
17657
18064
|
/**
|
|
17658
18065
|
* Fetch receipt token address from tokenized vault contract.
|
|
17659
18066
|
* Results are cached to minimize RPC calls.
|
|
@@ -18418,6 +18825,25 @@ export declare function depositNative(signer: Signer | Wallet, options: INativeD
|
|
|
18418
18825
|
* with different timeouts in the same process.
|
|
18419
18826
|
*/
|
|
18420
18827
|
timeoutMs?: number;
|
|
18828
|
+
/**
|
|
18829
|
+
* Override the base URL for the SDK's unauthenticated `public` vault-catalog
|
|
18830
|
+
* API (what `getVault` / `getVaults` / `fetchTokenizedVault` read from).
|
|
18831
|
+
* Defaults to the compiled-in prod base
|
|
18832
|
+
* (`https://api.augustdigital.io/api/v1`) when omitted — so production apps
|
|
18833
|
+
* pass nothing and behaviour is unchanged.
|
|
18834
|
+
*
|
|
18835
|
+
* Set this ONLY for a non-prod deployment that runs against an isolated
|
|
18836
|
+
* backend (e.g. a staging API serving staging-only vaults). Must be an
|
|
18837
|
+
* absolute http(s) URL including any base path, e.g.
|
|
18838
|
+
* `https://api.staging.augustdigital.io/api/v1`. Invalid values are ignored.
|
|
18839
|
+
*
|
|
18840
|
+
* Note: this is a process-global override on the underlying fetcher helpers,
|
|
18841
|
+
* applied on EVERY construction — so the last `AugustSDK` instantiated is
|
|
18842
|
+
* authoritative, and one that omits `publicApiBaseUrl` RESETS to the prod
|
|
18843
|
+
* default. (Stricter than `timeoutMs`, which stays sticky when omitted, since
|
|
18844
|
+
* a stale cross-environment base is higher blast-radius than a stale timeout.)
|
|
18845
|
+
*/
|
|
18846
|
+
publicApiBaseUrl?: string;
|
|
18421
18847
|
}
|
|
18422
18848
|
|
|
18423
18849
|
/** Options for {@link balanceOf}. */
|
|
@@ -18436,6 +18862,68 @@ export declare function depositNative(signer: Signer | Wallet, options: INativeD
|
|
|
18436
18862
|
explorer: string;
|
|
18437
18863
|
};
|
|
18438
18864
|
|
|
18865
|
+
/**
|
|
18866
|
+
* Per-collateral-token breakdown within a collateral simulation (backend
|
|
18867
|
+
* `CollateralDetailsResult` schema). `chain` is the numeric August chain id.
|
|
18868
|
+
*/
|
|
18869
|
+
export declare interface ICollateralDetailsResult {
|
|
18870
|
+
chain: number;
|
|
18871
|
+
token_address: IAddress;
|
|
18872
|
+
price: number;
|
|
18873
|
+
allocation: number;
|
|
18874
|
+
collateral_value_from_redeployed_loan_usd: number;
|
|
18875
|
+
collateral_value_usd: number;
|
|
18876
|
+
amount_usd: number;
|
|
18877
|
+
amount_token: number;
|
|
18878
|
+
effective_discount_factor: number;
|
|
18879
|
+
is_top_up: boolean;
|
|
18880
|
+
}
|
|
18881
|
+
|
|
18882
|
+
/**
|
|
18883
|
+
* Result of `GET /risk/collateral_excess_or_deficit` (backend
|
|
18884
|
+
* `CollateralExcessOrDeficit` schema). A positive value is excess collateral
|
|
18885
|
+
* that could be withdrawn; a negative value is the shortfall that must be
|
|
18886
|
+
* deposited to reach the target health factor.
|
|
18887
|
+
*/
|
|
18888
|
+
export declare interface ICollateralExcessOrDeficit {
|
|
18889
|
+
amount_usd: number;
|
|
18890
|
+
amount_token: number;
|
|
18891
|
+
}
|
|
18892
|
+
|
|
18893
|
+
/**
|
|
18894
|
+
* Request body for `POST /risk/collateral_simulation` (backend
|
|
18895
|
+
* `CollateralSimulation` schema). Chain fields are numeric August chain ids.
|
|
18896
|
+
* `collateral_tokens` is a list of `[chain, address]` pairs and
|
|
18897
|
+
* `collateral_token_allocation` the matching per-token weights (normalized
|
|
18898
|
+
* server-side, so relative magnitudes are what matter). When `on_platform`
|
|
18899
|
+
* is `true`, both `loan_redeployed_token_*` fields are required by the
|
|
18900
|
+
* backend.
|
|
18901
|
+
*/
|
|
18902
|
+
export declare interface ICollateralSimulationInput {
|
|
18903
|
+
loan_token_chain: number;
|
|
18904
|
+
loan_token_address: IAddress;
|
|
18905
|
+
loan_amount: number;
|
|
18906
|
+
on_platform?: boolean;
|
|
18907
|
+
loan_redeployed_token_chain?: number | null;
|
|
18908
|
+
loan_redeployed_token_address?: IAddress | null;
|
|
18909
|
+
collateral_tokens: [number, IAddress][];
|
|
18910
|
+
collateral_token_allocation: number[];
|
|
18911
|
+
target_health_factor?: number;
|
|
18912
|
+
}
|
|
18913
|
+
|
|
18914
|
+
/**
|
|
18915
|
+
* Result of `POST /risk/collateral_simulation` (backend
|
|
18916
|
+
* `CollateralSimulationResults` schema). `collateral_details` is keyed by
|
|
18917
|
+
* `"<symbol>_<chainName>"`.
|
|
18918
|
+
*/
|
|
18919
|
+
export declare interface ICollateralSimulationResults {
|
|
18920
|
+
total_debt_usd: number;
|
|
18921
|
+
total_required_collateral_usd: number;
|
|
18922
|
+
total_collateral_value_from_redeployed_loan_usd: number;
|
|
18923
|
+
health_factor: number;
|
|
18924
|
+
collateral_details: Record<string, ICollateralDetailsResult>;
|
|
18925
|
+
}
|
|
18926
|
+
|
|
18439
18927
|
export declare interface IComposabilityIntegration {
|
|
18440
18928
|
name: string;
|
|
18441
18929
|
description: string;
|
|
@@ -18730,6 +19218,16 @@ export declare function depositNative(signer: Signer | Wallet, options: INativeD
|
|
|
18730
19218
|
hubOnlyReceipt?: boolean;
|
|
18731
19219
|
}
|
|
18732
19220
|
|
|
19221
|
+
/**
|
|
19222
|
+
* On-chain whitelist status of one subaccount linked to a vault, from
|
|
19223
|
+
* `GET /curator/vaults/{vault_address}/whitelist` (backend
|
|
19224
|
+
* `WhitelistStatusResponse` schema). EVM vaults only.
|
|
19225
|
+
*/
|
|
19226
|
+
export declare interface ICuratorWhitelistStatus {
|
|
19227
|
+
address: IAddress;
|
|
19228
|
+
is_whitelisted: boolean;
|
|
19229
|
+
}
|
|
19230
|
+
|
|
18733
19231
|
export declare interface IDebankAccountData {
|
|
18734
19232
|
positions: IDebankUserProtocol[];
|
|
18735
19233
|
app_positions: IDebankAppProtocol[];
|
|
@@ -18883,6 +19381,20 @@ export declare function depositNative(signer: Signer | Wallet, options: INativeD
|
|
|
18883
19381
|
portfolio_item_list: IDebankPortfolioItemObject[];
|
|
18884
19382
|
}
|
|
18885
19383
|
|
|
19384
|
+
/**
|
|
19385
|
+
* A token's discount-factor ladder from `GET /risk/discount_factors`
|
|
19386
|
+
* (backend `DiscountFactorRead` schema). `steps` are ascending notional
|
|
19387
|
+
* thresholds (in the token's smallest unit) and `factors` the corresponding
|
|
19388
|
+
* ascending haircut multipliers in `[0, 1]`; the two arrays are equal length.
|
|
19389
|
+
* `chain` is the numeric August chain id.
|
|
19390
|
+
*/
|
|
19391
|
+
export declare interface IDiscountFactorLadder {
|
|
19392
|
+
steps: number[] | null;
|
|
19393
|
+
factors: number[] | null;
|
|
19394
|
+
address: IAddress;
|
|
19395
|
+
chain: number;
|
|
19396
|
+
}
|
|
19397
|
+
|
|
18886
19398
|
export declare const IDLE_CAPITAL_BORROWER_ADDRESS: `0x${string}`[];
|
|
18887
19399
|
|
|
18888
19400
|
declare interface IEmberVault {
|
|
@@ -19067,8 +19579,43 @@ export declare function depositNative(signer: Signer | Wallet, options: INativeD
|
|
|
19067
19579
|
timestamp_: string;
|
|
19068
19580
|
}
|
|
19069
19581
|
|
|
19582
|
+
/**
|
|
19583
|
+
* One loan-book entry from the admin loan-book endpoints (backend
|
|
19584
|
+
* `LoanBookInfo` schema). Amounts are decimal-adjusted floats; monetary
|
|
19585
|
+
* fields are denominated in the loan's principal token. `deployed_date` is an
|
|
19586
|
+
* ISO-8601 datetime string; `state` is the backend `LoanStateStr` value
|
|
19587
|
+
* (e.g. `"ACTIVE"`).
|
|
19588
|
+
*/
|
|
19589
|
+
export declare interface ILoanBookInfo {
|
|
19590
|
+
address: IAddress;
|
|
19591
|
+
lender: IAddress;
|
|
19592
|
+
borrower: IAddress;
|
|
19593
|
+
state: string;
|
|
19594
|
+
total_repaid: number;
|
|
19595
|
+
principal_token: IWhitelistedToken;
|
|
19596
|
+
principal_amount: number;
|
|
19597
|
+
interest_amount: number;
|
|
19598
|
+
upcoming_payment: ILoanUpcomingPayment;
|
|
19599
|
+
apr: number;
|
|
19600
|
+
initial_principal_amount: number;
|
|
19601
|
+
deployed_date: string;
|
|
19602
|
+
payment_interval: number;
|
|
19603
|
+
total_interest_payment_fees: number;
|
|
19604
|
+
lender_apr: number;
|
|
19605
|
+
}
|
|
19606
|
+
|
|
19070
19607
|
declare type ILoanOracleFeeCategories = 'LOAN.REPAY.INTERESTS';
|
|
19071
19608
|
|
|
19609
|
+
/**
|
|
19610
|
+
* The amount and due date of a loan's next scheduled payment, as serialized
|
|
19611
|
+
* by the backend `UpcomingPayment` schema. `due_date` is an ISO-8601 datetime
|
|
19612
|
+
* string.
|
|
19613
|
+
*/
|
|
19614
|
+
export declare interface ILoanUpcomingPayment {
|
|
19615
|
+
amount: number;
|
|
19616
|
+
due_date: string;
|
|
19617
|
+
}
|
|
19618
|
+
|
|
19072
19619
|
/**
|
|
19073
19620
|
* Structured logger interface (debug/info/warn/error). Sanitization runs
|
|
19074
19621
|
* before any method here is invoked, so implementations needn't scrub secrets.
|
|
@@ -19174,6 +19721,45 @@ export declare function depositNative(signer: Signer | Wallet, options: INativeD
|
|
|
19174
19721
|
|
|
19175
19722
|
export declare type IOperatorTypeEnum = 'eoa' | 'subaccount';
|
|
19176
19723
|
|
|
19724
|
+
/**
|
|
19725
|
+
* A vault's NAV-oracle classification from the public
|
|
19726
|
+
* `GET /upshift/oracle_classification/{vault_address}` endpoint (backend
|
|
19727
|
+
* `OracleClassificationResponse` schema). `warnings` lists tokens that could
|
|
19728
|
+
* not be resolved (`"unresolved:<symbol>"`). `snapshot_at` is an ISO-8601
|
|
19729
|
+
* datetime string.
|
|
19730
|
+
*/
|
|
19731
|
+
export declare interface IOracleClassification {
|
|
19732
|
+
vault_address: IAddress;
|
|
19733
|
+
chain_id: number;
|
|
19734
|
+
snapshot_at: string;
|
|
19735
|
+
methodology: string;
|
|
19736
|
+
rows: IOracleClassificationRow[];
|
|
19737
|
+
warnings: string[];
|
|
19738
|
+
}
|
|
19739
|
+
|
|
19740
|
+
/**
|
|
19741
|
+
* One row of a vault's NAV-oracle classification table (backend
|
|
19742
|
+
* `OracleClassificationRow` schema) — how a single position/token is priced
|
|
19743
|
+
* and its USD value.
|
|
19744
|
+
*/
|
|
19745
|
+
export declare interface IOracleClassificationRow {
|
|
19746
|
+
position: string;
|
|
19747
|
+
type: string;
|
|
19748
|
+
oracle_source: string;
|
|
19749
|
+
usd_value: number;
|
|
19750
|
+
}
|
|
19751
|
+
|
|
19752
|
+
/**
|
|
19753
|
+
* An OTC margin requirement from `GET /otc/margin_requirement` (backend
|
|
19754
|
+
* `IOTCMarginRequirementRead` schema) — the margin the `payer` must post to
|
|
19755
|
+
* the given counterparty.
|
|
19756
|
+
*/
|
|
19757
|
+
export declare interface IOtcMarginRequirement {
|
|
19758
|
+
otc_counter_party_id: string;
|
|
19759
|
+
margin_requirement: number;
|
|
19760
|
+
payer: IAddress;
|
|
19761
|
+
}
|
|
19762
|
+
|
|
19177
19763
|
export declare interface IOTCPosition {
|
|
19178
19764
|
value: number;
|
|
19179
19765
|
underlying: string;
|
|
@@ -19184,6 +19770,20 @@ export declare function depositNative(signer: Signer | Wallet, options: INativeD
|
|
|
19184
19770
|
trades: IOTCTrade[];
|
|
19185
19771
|
}
|
|
19186
19772
|
|
|
19773
|
+
/**
|
|
19774
|
+
* A tracked position from `GET /otc/position` (backend `IPositionRead`
|
|
19775
|
+
* schema). `configs` is a free-form JSON object of position-specific
|
|
19776
|
+
* settings; `category` is the position category (e.g. `"otc"`).
|
|
19777
|
+
*/
|
|
19778
|
+
export declare interface IOtcPositionRead {
|
|
19779
|
+
id: string;
|
|
19780
|
+
slug: string;
|
|
19781
|
+
position_class: string | null;
|
|
19782
|
+
configs: Record<string, unknown> | null;
|
|
19783
|
+
category: string | null;
|
|
19784
|
+
position_discount_factor: number | null;
|
|
19785
|
+
}
|
|
19786
|
+
|
|
19187
19787
|
export declare interface IOTCTrade {
|
|
19188
19788
|
value: number;
|
|
19189
19789
|
payer: string;
|
|
@@ -19465,6 +20065,18 @@ export declare function depositNative(signer: Signer | Wallet, options: INativeD
|
|
|
19465
20065
|
refundChainId?: number;
|
|
19466
20066
|
}
|
|
19467
20067
|
|
|
20068
|
+
/**
|
|
20069
|
+
* Result of the public `GET /revert_reason` endpoint (backend `RevertResponse`
|
|
20070
|
+
* schema) — the decoded failure reasons for a reverted transaction, collected
|
|
20071
|
+
* from a `debug_traceTransaction` call tree. All three arrays are empty when
|
|
20072
|
+
* no matching signal was found in the trace.
|
|
20073
|
+
*/
|
|
20074
|
+
export declare interface IRevertReason {
|
|
20075
|
+
error_messages: string[];
|
|
20076
|
+
revert_reasons: string[];
|
|
20077
|
+
universal_subaccount_errors: string[];
|
|
20078
|
+
}
|
|
20079
|
+
|
|
19468
20080
|
export declare type IRwaRedeemOptions = {
|
|
19469
20081
|
/** RwaRedeemSubaccount contract address */
|
|
19470
20082
|
target: IAddress;
|
|
@@ -19760,6 +20372,54 @@ export declare function depositNative(signer: Signer | Wallet, options: INativeD
|
|
|
19760
20372
|
utila_wallet_id?: string;
|
|
19761
20373
|
}
|
|
19762
20374
|
|
|
20375
|
+
/**
|
|
20376
|
+
* Cross-chain DeBank protocol positions for a subaccount and its associated
|
|
20377
|
+
* strategies (backend `SubaccountDebankAccountData` schema). `strategies` is
|
|
20378
|
+
* keyed by strategy address. This endpoint is slow (300-second server-side
|
|
20379
|
+
* cache) as it fans out across every supported chain.
|
|
20380
|
+
*/
|
|
20381
|
+
export declare interface ISubaccountDebank {
|
|
20382
|
+
subaccount: ISubaccountDebankData;
|
|
20383
|
+
strategies: Record<string, ISubaccountDebankData>;
|
|
20384
|
+
}
|
|
20385
|
+
|
|
20386
|
+
/**
|
|
20387
|
+
* DeBank positions and tokens for a single account (backend
|
|
20388
|
+
* `DebankAccountData` schema). `positions`, `app_positions`, and `tokens`
|
|
20389
|
+
* are passed through as raw DeBank objects.
|
|
20390
|
+
*/
|
|
20391
|
+
export declare interface ISubaccountDebankData {
|
|
20392
|
+
positions: unknown[];
|
|
20393
|
+
app_positions: unknown[];
|
|
20394
|
+
tokens: unknown[];
|
|
20395
|
+
}
|
|
20396
|
+
|
|
20397
|
+
/**
|
|
20398
|
+
* One transaction record from `GET /transactions/v2` (backend
|
|
20399
|
+
* `TransactionAPIRead` schema). `chain` is the numeric August chain id;
|
|
20400
|
+
* `value` is decimal-adjusted; `timestamp` is a Unix epoch (seconds).
|
|
20401
|
+
* `from_` mirrors the backend field name (`from` is reserved). Nested
|
|
20402
|
+
* `logs` / `transfers` / `function_signature` / `otc_cashflow` are passed
|
|
20403
|
+
* through as-is. `transaction_name` is the resolved function name (or the raw
|
|
20404
|
+
* selector when unknown).
|
|
20405
|
+
*/
|
|
20406
|
+
export declare interface ISubaccountTransaction {
|
|
20407
|
+
id: string;
|
|
20408
|
+
tx_hash: string;
|
|
20409
|
+
chain: number;
|
|
20410
|
+
from_: IAddress;
|
|
20411
|
+
to: IAddress;
|
|
20412
|
+
value: number;
|
|
20413
|
+
block_number: number;
|
|
20414
|
+
timestamp: number;
|
|
20415
|
+
selector: string | null;
|
|
20416
|
+
logs: unknown[];
|
|
20417
|
+
transfers: unknown[];
|
|
20418
|
+
function_signature: Record<string, unknown> | null;
|
|
20419
|
+
otc_cashflow: Record<string, unknown> | null;
|
|
20420
|
+
transaction_name: string | null;
|
|
20421
|
+
}
|
|
20422
|
+
|
|
19763
20423
|
export declare interface ISubgraphBase {
|
|
19764
20424
|
id: string;
|
|
19765
20425
|
contractId_: IAddress;
|
|
@@ -19775,6 +20435,14 @@ export declare function depositNative(signer: Signer | Wallet, options: INativeD
|
|
|
19775
20435
|
owner: IAddress;
|
|
19776
20436
|
senderAddr?: IAddress;
|
|
19777
20437
|
amountIn?: string;
|
|
20438
|
+
/**
|
|
20439
|
+
* Deposit asset token address (evm-2 / pre-deposit vaults). The deposited
|
|
20440
|
+
* asset can differ from the vault's underlying and carry different decimals
|
|
20441
|
+
* (e.g. RLUSD at 18 into a 6-decimal sentUSD vault), so `amountIn` must be
|
|
20442
|
+
* normalized against this token's decimals, not the vault's. Absent for
|
|
20443
|
+
* single-asset vaults.
|
|
20444
|
+
*/
|
|
20445
|
+
assetIn?: IAddress;
|
|
19778
20446
|
}
|
|
19779
20447
|
|
|
19780
20448
|
export declare interface ISubgraphFormattedLoan {
|
|
@@ -20093,6 +20761,31 @@ export declare function depositNative(signer: Signer | Wallet, options: INativeD
|
|
|
20093
20761
|
wallet: IAddress;
|
|
20094
20762
|
}): Promise<boolean | undefined>;
|
|
20095
20763
|
|
|
20764
|
+
/**
|
|
20765
|
+
* One timelock request from `GET /timelock-requests` (backend
|
|
20766
|
+
* `ITimelockRequestRead` schema). `chain_id` is the numeric chain id;
|
|
20767
|
+
* `status` is one of `"scheduled" | "executed" | "cancelled"`; `params` is a
|
|
20768
|
+
* free-form JSON object; datetime fields are ISO-8601 strings.
|
|
20769
|
+
*/
|
|
20770
|
+
export declare interface ITimelockRequest {
|
|
20771
|
+
id: string;
|
|
20772
|
+
hash: string;
|
|
20773
|
+
vault_address: IAddress;
|
|
20774
|
+
timelock_address: IAddress;
|
|
20775
|
+
chain_id: number;
|
|
20776
|
+
action_id: string;
|
|
20777
|
+
params: Record<string, unknown>;
|
|
20778
|
+
status: string;
|
|
20779
|
+
schedule_tx_hash: string;
|
|
20780
|
+
execute_tx_hash: string | null;
|
|
20781
|
+
cancel_tx_hash: string | null;
|
|
20782
|
+
submitted_by: string | null;
|
|
20783
|
+
scheduled_at: string;
|
|
20784
|
+
resolved_at: string | null;
|
|
20785
|
+
created_at: string | null;
|
|
20786
|
+
updated_at: string | null;
|
|
20787
|
+
}
|
|
20788
|
+
|
|
20096
20789
|
export declare interface ITokenizedVault {
|
|
20097
20790
|
address: string;
|
|
20098
20791
|
yield_distributor: string;
|
|
@@ -20639,6 +21332,28 @@ export declare function depositNative(signer: Signer | Wallet, options: INativeD
|
|
|
20639
21332
|
}>;
|
|
20640
21333
|
}
|
|
20641
21334
|
|
|
21335
|
+
/**
|
|
21336
|
+
* Performance-fee computation for a vault from
|
|
21337
|
+
* `GET /metrics/vault_performance_fees` (backend `UpshiftVaultPerformanceFees`
|
|
21338
|
+
* schema). High/low water marks are share-price levels; `*_datetime` fields
|
|
21339
|
+
* are ISO-8601 strings. `calculation_period` is `"YearToDate"` /
|
|
21340
|
+
* `"MonthToDate"` (null when a custom date range was supplied).
|
|
21341
|
+
*/
|
|
21342
|
+
export declare interface IVaultPerformanceFees {
|
|
21343
|
+
previous_water_mark: number;
|
|
21344
|
+
previous_water_mark_datetime: string;
|
|
21345
|
+
last_water_mark: number;
|
|
21346
|
+
last_water_mark_datetime: string;
|
|
21347
|
+
is_in_drawdown: boolean;
|
|
21348
|
+
asset_symbol: string | null;
|
|
21349
|
+
total_pnl_in_asset: number;
|
|
21350
|
+
total_perf_fees_asset: number;
|
|
21351
|
+
calculation_period: string | null;
|
|
21352
|
+
annualized_fees_pct: number;
|
|
21353
|
+
underlying_asset_vs_native_perf: number | null;
|
|
21354
|
+
native_token_symbol: string | null;
|
|
21355
|
+
}
|
|
21356
|
+
|
|
20642
21357
|
export declare interface IVaultPnl {
|
|
20643
21358
|
totalPnl: INormalizedNumber;
|
|
20644
21359
|
pnlUsd: number;
|
|
@@ -20774,6 +21489,23 @@ export declare function depositNative(signer: Signer | Wallet, options: INativeD
|
|
|
20774
21489
|
enabled?: boolean;
|
|
20775
21490
|
}
|
|
20776
21491
|
|
|
21492
|
+
/**
|
|
21493
|
+
* A whitelisted token as embedded in loan-book records by the backend
|
|
21494
|
+
* `WhitelistedTokenModel` schema. `chain` is the numeric August chain id
|
|
21495
|
+
* (backend `Chain` IntEnum value, e.g. `1` for Ethereum mainnet).
|
|
21496
|
+
*/
|
|
21497
|
+
export declare interface IWhitelistedToken {
|
|
21498
|
+
chain: number;
|
|
21499
|
+
name: string;
|
|
21500
|
+
token_type: string;
|
|
21501
|
+
address: IAddress;
|
|
21502
|
+
decimals: number;
|
|
21503
|
+
symbol: string;
|
|
21504
|
+
discount_factor: number;
|
|
21505
|
+
img_url: string | null;
|
|
21506
|
+
price: number | null;
|
|
21507
|
+
}
|
|
21508
|
+
|
|
20777
21509
|
/**
|
|
20778
21510
|
* Statuses
|
|
20779
21511
|
*/
|
|
@@ -21015,6 +21747,44 @@ export declare function depositNative(signer: Signer | Wallet, options: INativeD
|
|
|
21015
21747
|
total_loan_value: number;
|
|
21016
21748
|
}
|
|
21017
21749
|
|
|
21750
|
+
/**
|
|
21751
|
+
* Chain record attached to a subaccount directory entry, as serialized by the
|
|
21752
|
+
* backend `IChainRead` schema.
|
|
21753
|
+
*/
|
|
21754
|
+
export declare interface IWSSubaccountListChain {
|
|
21755
|
+
id: string;
|
|
21756
|
+
chain_id: number;
|
|
21757
|
+
name: string;
|
|
21758
|
+
}
|
|
21759
|
+
|
|
21760
|
+
/**
|
|
21761
|
+
* One subaccount record from the admin-only `GET /subaccount` directory
|
|
21762
|
+
* endpoint (backend `ISubaccountRead` schema). Nullable fields are optional
|
|
21763
|
+
* metadata the operations team may not have filled in.
|
|
21764
|
+
*/
|
|
21765
|
+
export declare interface IWSSubaccountListItem {
|
|
21766
|
+
id: string;
|
|
21767
|
+
user_id: string | null;
|
|
21768
|
+
internal_name: string;
|
|
21769
|
+
friendly_name: string | null;
|
|
21770
|
+
address: IAddress;
|
|
21771
|
+
status: string | null;
|
|
21772
|
+
subaccount_type: string | null;
|
|
21773
|
+
min_health_factor: number | null;
|
|
21774
|
+
estimated_apr: number | null;
|
|
21775
|
+
notes: string | null;
|
|
21776
|
+
proxy_salt: string | null;
|
|
21777
|
+
admin_salt: string | null;
|
|
21778
|
+
disable_discount_factor: boolean | null;
|
|
21779
|
+
turnkey_address: IAddress | null;
|
|
21780
|
+
autopay_frequency: string | null;
|
|
21781
|
+
implementation: string | null;
|
|
21782
|
+
variant: string | null;
|
|
21783
|
+
default_fee_rate_in_bips: number | null;
|
|
21784
|
+
wallet_role: string | null;
|
|
21785
|
+
chains: IWSSubaccountListChain[];
|
|
21786
|
+
}
|
|
21787
|
+
|
|
21018
21788
|
export declare interface IWSSubaccountLoan {
|
|
21019
21789
|
address: IAddress;
|
|
21020
21790
|
lender: IAddress;
|
|
@@ -22588,6 +23358,37 @@ export declare function depositNative(signer: Signer | Wallet, options: INativeD
|
|
|
22588
23358
|
|
|
22589
23359
|
declare function setLogger(customLogger: SDKLogger): void;
|
|
22590
23360
|
|
|
23361
|
+
/**
|
|
23362
|
+
* Override the base URL used for `WEBSERVER_URL.public` requests — the
|
|
23363
|
+
* unauthenticated vault-catalog API that `getVault` / `fetchTokenizedVault`
|
|
23364
|
+
* (and the other `fetchAugustPublic` callers) read from. Defaults to the
|
|
23365
|
+
* compiled-in prod base (`https://api.augustdigital.io/api/v1`); pass `null`
|
|
23366
|
+
* (or call with no arguments) to clear.
|
|
23367
|
+
*
|
|
23368
|
+
* Intended for non-prod deployments that run against an ISOLATED backend
|
|
23369
|
+
* (e.g. a staging API): set it once at construction via
|
|
23370
|
+
* `IAugustBase.publicApiBaseUrl` so a staging-only vault resolves. Production
|
|
23371
|
+
* leaves it unset, so behaviour is unchanged.
|
|
23372
|
+
*
|
|
23373
|
+
* This is a process-global override on the fetcher helpers. The SDK constructor
|
|
23374
|
+
* calls it on EVERY instantiation (with `null` when `publicApiBaseUrl` is
|
|
23375
|
+
* omitted), so the last `AugustSDK` instantiated is authoritative — a prod
|
|
23376
|
+
* instance resets it to the default even after a prior staging instance set it.
|
|
23377
|
+
* An invalid or non-http(s) URL is treated as "no override": it RESETS to the
|
|
23378
|
+
* compiled-in default (warned) rather than retaining a prior value, so a bad env
|
|
23379
|
+
* value can neither break fetches nor silently leave a previous instance's base
|
|
23380
|
+
* in place.
|
|
23381
|
+
*
|
|
23382
|
+
* Whenever the effective base CHANGES, the shared public-response cache is
|
|
23383
|
+
* cleared, so catalog data fetched from the previous backend is never served for
|
|
23384
|
+
* the new one (e.g. a prod-cached vault leaking into a staging instance). Base
|
|
23385
|
+
* changes happen at construction, when the cache is cold, so this is ~free.
|
|
23386
|
+
*
|
|
23387
|
+
* @param url - Absolute http(s) base URL (trailing slash is trimmed). `null`, or
|
|
23388
|
+
* an invalid / non-http(s) value, resets to the compiled-in public base.
|
|
23389
|
+
*/
|
|
23390
|
+
export declare function setPublicApiBaseUrl(url?: string | null): void;
|
|
23391
|
+
|
|
22591
23392
|
export declare const setSafeCache: <T>(key: string, value: T) => Promise<void>;
|
|
22592
23393
|
|
|
22593
23394
|
/**
|
|
@@ -23457,6 +24258,11 @@ export declare function depositNative(signer: Signer | Wallet, options: INativeD
|
|
|
23457
24258
|
subaccount: IAddress;
|
|
23458
24259
|
useDebank: boolean;
|
|
23459
24260
|
};
|
|
24261
|
+
MonarqXRP: {
|
|
24262
|
+
address: IAddress;
|
|
24263
|
+
subaccount: IAddress;
|
|
24264
|
+
useDebank: boolean;
|
|
24265
|
+
};
|
|
23460
24266
|
};
|
|
23461
24267
|
|
|
23462
24268
|
/**
|
|
@@ -24028,6 +24834,7 @@ export declare function depositNative(signer: Signer | Wallet, options: INativeD
|
|
|
24028
24834
|
refresh: string;
|
|
24029
24835
|
};
|
|
24030
24836
|
subaccount: {
|
|
24837
|
+
list: (offset?: number, limit?: number) => string;
|
|
24031
24838
|
rewards: (subaccount: IAddress) => string;
|
|
24032
24839
|
tokens: (subaccount: IAddress) => string;
|
|
24033
24840
|
twap: {
|
|
@@ -24042,14 +24849,43 @@ export declare function depositNative(signer: Signer | Wallet, options: INativeD
|
|
|
24042
24849
|
loans: (subaccount: IAddress, side?: "BORROWER" | "LENDER" | "BOTH", active?: boolean) => string;
|
|
24043
24850
|
cefi: (subaccount: IAddress) => string;
|
|
24044
24851
|
otc_positions: (subaccount: IAddress) => string;
|
|
24852
|
+
loanByAddress: (loanAddress: string, chainId: number) => string;
|
|
24045
24853
|
_: (subaccount: IAddress) => string;
|
|
24046
24854
|
};
|
|
24855
|
+
transactions: {
|
|
24856
|
+
v2: (subaccount: string, startTime?: string, endTime?: string) => string;
|
|
24857
|
+
};
|
|
24858
|
+
otc: {
|
|
24859
|
+
positions: string;
|
|
24860
|
+
marginRequirements: (otcCounterpartyId?: string, payer?: string) => string;
|
|
24861
|
+
};
|
|
24862
|
+
curator: {
|
|
24863
|
+
vaultSubaccounts: (vaultAddress: string) => string;
|
|
24864
|
+
vaultWhitelist: (vaultAddress: string) => string;
|
|
24865
|
+
};
|
|
24866
|
+
timelockRequests: (vaultAddress: string, chainId: number, status?: string) => string;
|
|
24047
24867
|
users: {
|
|
24048
24868
|
get: string;
|
|
24049
24869
|
};
|
|
24870
|
+
dashboard: {
|
|
24871
|
+
loans: string;
|
|
24872
|
+
};
|
|
24873
|
+
risk: {
|
|
24874
|
+
discountFactors: string;
|
|
24875
|
+
collateralExcessOrDeficit: (subaccount: string, tokenAddress: string, tokenChain: number, targetHealthFactor?: number) => string;
|
|
24876
|
+
collateralSimulation: string;
|
|
24877
|
+
};
|
|
24050
24878
|
prices: (symbol: string) => string;
|
|
24051
24879
|
metrics: {
|
|
24052
24880
|
pnl: (subaccount: IAddress, startTime?: string, endTime?: string) => string;
|
|
24881
|
+
vaultPerformanceFees: (params: {
|
|
24882
|
+
vaultAddress: string;
|
|
24883
|
+
annualizedFeesPct: number;
|
|
24884
|
+
nativeDenominated: boolean;
|
|
24885
|
+
calculationPeriod: string;
|
|
24886
|
+
startDate?: string;
|
|
24887
|
+
endDate?: string;
|
|
24888
|
+
}) => string;
|
|
24053
24889
|
};
|
|
24054
24890
|
public: {
|
|
24055
24891
|
integrations: {
|
|
@@ -24083,6 +24919,8 @@ export declare function depositNative(signer: Signer | Wallet, options: INativeD
|
|
|
24083
24919
|
unrealizedHistory: (vaultAddress: VaultAddress, limit?: number) => string;
|
|
24084
24920
|
unrealizedLatest: string;
|
|
24085
24921
|
};
|
|
24922
|
+
revertReason: (txHash: string, chain: number) => string;
|
|
24923
|
+
oracleClassification: (vaultAddress: string, chainId: number) => string;
|
|
24086
24924
|
};
|
|
24087
24925
|
upshift: {
|
|
24088
24926
|
vaults: {
|