@ember-finance/sdk 2.5.0-pre.9 → 2.6.0-pre.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.
@@ -51,4 +51,10 @@ export interface PocReportAsset {
51
51
  * @memberof PocReportAsset
52
52
  */
53
53
  percentageE9: string;
54
+ /**
55
+ * The asset icon url, when known
56
+ * @type {string}
57
+ * @memberof PocReportAsset
58
+ */
59
+ logoUrl?: string;
54
60
  }
@@ -33,4 +33,34 @@ export interface PocReportProtocol {
33
33
  * @memberof PocReportProtocol
34
34
  */
35
35
  percentageE9: string;
36
+ /**
37
+ * The protocol icon url, when the data provider supplies one
38
+ * @type {string}
39
+ * @memberof PocReportProtocol
40
+ */
41
+ logoUrl?: string;
42
+ /**
43
+ * The protocol website url, for linking out of the UI
44
+ * @type {string}
45
+ * @memberof PocReportProtocol
46
+ */
47
+ websiteUrl?: string;
48
+ /**
49
+ * The chain this position is actually on, as reported by the data provider, rather than the chain of the wallet holding it. Positions are reported per protocol and chain, so the same protocol on two chains stays two entries.
50
+ * @type {string}
51
+ * @memberof PocReportProtocol
52
+ */
53
+ chain?: string;
54
+ /**
55
+ * The display name of the chain this position is on
56
+ * @type {string}
57
+ * @memberof PocReportProtocol
58
+ */
59
+ chainName?: string;
60
+ /**
61
+ * Chain icon as supplied by the data provider. Present for chains our own catalogue does not have a row for, so the UI can still show one.
62
+ * @type {string}
63
+ * @memberof PocReportProtocol
64
+ */
65
+ chainLogoUrl?: string;
36
66
  }
@@ -33,4 +33,40 @@ export interface PocReportToken {
33
33
  * @memberof PocReportToken
34
34
  */
35
35
  percentageE9: string;
36
+ /**
37
+ * The token icon url, when the data provider supplies one
38
+ * @type {string}
39
+ * @memberof PocReportToken
40
+ */
41
+ logoUrl?: string;
42
+ /**
43
+ * The asset symbol (e.g. USDC). Preferred over name when grouping by asset.
44
+ * @type {string}
45
+ * @memberof PocReportToken
46
+ */
47
+ symbol?: string;
48
+ /**
49
+ * The token contract address, when known
50
+ * @type {string}
51
+ * @memberof PocReportToken
52
+ */
53
+ address?: string;
54
+ /**
55
+ * The chain this holding is actually on, as reported by the data provider. This is the chain of the position, not of the wallet holding it — one wallet reports holdings on many chains. Absent when the provider did not say, in which case the wallet\'s chain is the best available answer.
56
+ * @type {string}
57
+ * @memberof PocReportToken
58
+ */
59
+ chain?: string;
60
+ /**
61
+ * The display name of the chain this holding is on
62
+ * @type {string}
63
+ * @memberof PocReportToken
64
+ */
65
+ chainName?: string;
66
+ /**
67
+ * Chain icon as supplied by the data provider. Present for chains our own catalogue does not have a row for, so the UI can still show one.
68
+ * @type {string}
69
+ * @memberof PocReportToken
70
+ */
71
+ chainLogoUrl?: string;
36
72
  }
@@ -24,17 +24,17 @@ export interface PocReportWallet {
24
24
  */
25
25
  name: string;
26
26
  /**
27
- * The blockchain network identifier (e.g., ethereum, sui)
27
+ * The chain the wallet is on, when it is on exactly one. Absent for accounts that are not chain-specific: an EVM address is indexed across every chain it touches, so no single chain describes it. When absent, read each position\'s own chain and treat a position without one as not attributed to a chain — do not substitute a chain here.
28
28
  * @type {string}
29
29
  * @memberof PocReportWallet
30
30
  */
31
- chain: string;
31
+ chain?: string;
32
32
  /**
33
- * The human-readable blockchain name (e.g., Ethereum, Sui)
33
+ * Display name of the wallet\'s chain. Absent whenever chain is absent.
34
34
  * @type {string}
35
35
  * @memberof PocReportWallet
36
36
  */
37
- chainName: string;
37
+ chainName?: string;
38
38
  /**
39
39
  * The wallet address
40
40
  * @type {string}
@@ -77,4 +77,10 @@ export interface PocReportWallet {
77
77
  * @memberof PocReportWallet
78
78
  */
79
79
  protocols?: Array<PocReportProtocol>;
80
+ /**
81
+ * Chain type of the account (EVM/SUI/SOLANA). Lets a consumer type a position whose specific chain is missing from the chains catalogue: every position under an EVM account is on some EVM chain, even one we have no row for.
82
+ * @type {string}
83
+ * @memberof PocReportWallet
84
+ */
85
+ chainType?: string;
80
86
  }
@@ -25,9 +25,11 @@ import type { ProtocolPnlHistory } from "../models/index.js";
25
25
  import type { ProtocolTvlHistory } from "../models/index.js";
26
26
  import type { SharePriceHistory } from "../models/index.js";
27
27
  import type { Tag } from "../models/index.js";
28
+ import type { TransparencyView } from "../models/index.js";
28
29
  import type { TvlHistory } from "../models/index.js";
29
30
  import type { VaultDepositEligibility } from "../models/index.js";
30
31
  import type { VaultDetail } from "../models/index.js";
32
+ import type { VaultTransparencyReport } from "../models/index.js";
31
33
  import type { VaultsDeploymentConfig } from "../models/index.js";
32
34
  import type { VaultsStats } from "../models/index.js";
33
35
  /**
@@ -141,6 +143,15 @@ export declare const VaultsApiAxiosParamCreator: (configuration?: Configuration)
141
143
  * @throws {RequiredError}
142
144
  */
143
145
  getVaultSharePriceHistory: (vaultId: string, limit?: number, interval?: HistoryInterval, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
146
+ /**
147
+ * Returns the vault\'s active proof of capital report flattened into one row per position, with every grouping dimension attached (category, chain, chain type, wallet, protocol, asset). The frontend pivots the same rows into different views: group by chain then protocol for the exposure snapshot, by wallet for the wallet view, or by asset for an asset-first breakdown. Header aggregates and the chain-type split are included so the summary and donut need not be recomputed client-side.
148
+ * @summary Get the vault\'s proof of capital as flat exposure rows
149
+ * @param {string} vaultId The id of the vault
150
+ * @param {TransparencyView} [view] Which grouping the &#x60;groups&#x60; array should use. Defaults to &#x60;chains&#x60;. &#x60;rows&#x60; is unaffected and always returned, so a client that wants a different pivot can build it itself.
151
+ * @param {*} [options] Override http request option.
152
+ * @throws {RequiredError}
153
+ */
154
+ getVaultTransparency: (vaultId: string, view?: TransparencyView, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
144
155
  /**
145
156
  *
146
157
  * @summary Get the tvl history of the vault (1h, 1d, 1w, 1mon) descending by time
@@ -289,6 +300,15 @@ export declare const VaultsApiFp: (configuration?: Configuration) => {
289
300
  * @throws {RequiredError}
290
301
  */
291
302
  getVaultSharePriceHistory(vaultId: string, limit?: number, interval?: HistoryInterval, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<SharePriceHistory>>>;
303
+ /**
304
+ * Returns the vault\'s active proof of capital report flattened into one row per position, with every grouping dimension attached (category, chain, chain type, wallet, protocol, asset). The frontend pivots the same rows into different views: group by chain then protocol for the exposure snapshot, by wallet for the wallet view, or by asset for an asset-first breakdown. Header aggregates and the chain-type split are included so the summary and donut need not be recomputed client-side.
305
+ * @summary Get the vault\'s proof of capital as flat exposure rows
306
+ * @param {string} vaultId The id of the vault
307
+ * @param {TransparencyView} [view] Which grouping the &#x60;groups&#x60; array should use. Defaults to &#x60;chains&#x60;. &#x60;rows&#x60; is unaffected and always returned, so a client that wants a different pivot can build it itself.
308
+ * @param {*} [options] Override http request option.
309
+ * @throws {RequiredError}
310
+ */
311
+ getVaultTransparency(vaultId: string, view?: TransparencyView, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<VaultTransparencyReport>>;
292
312
  /**
293
313
  *
294
314
  * @summary Get the tvl history of the vault (1h, 1d, 1w, 1mon) descending by time
@@ -437,6 +457,15 @@ export declare const VaultsApiFactory: (configuration?: Configuration, basePath?
437
457
  * @throws {RequiredError}
438
458
  */
439
459
  getVaultSharePriceHistory(vaultId: string, limit?: number, interval?: HistoryInterval, options?: RawAxiosRequestConfig): AxiosPromise<Array<SharePriceHistory>>;
460
+ /**
461
+ * Returns the vault\'s active proof of capital report flattened into one row per position, with every grouping dimension attached (category, chain, chain type, wallet, protocol, asset). The frontend pivots the same rows into different views: group by chain then protocol for the exposure snapshot, by wallet for the wallet view, or by asset for an asset-first breakdown. Header aggregates and the chain-type split are included so the summary and donut need not be recomputed client-side.
462
+ * @summary Get the vault\'s proof of capital as flat exposure rows
463
+ * @param {string} vaultId The id of the vault
464
+ * @param {TransparencyView} [view] Which grouping the &#x60;groups&#x60; array should use. Defaults to &#x60;chains&#x60;. &#x60;rows&#x60; is unaffected and always returned, so a client that wants a different pivot can build it itself.
465
+ * @param {*} [options] Override http request option.
466
+ * @throws {RequiredError}
467
+ */
468
+ getVaultTransparency(vaultId: string, view?: TransparencyView, options?: RawAxiosRequestConfig): AxiosPromise<VaultTransparencyReport>;
440
469
  /**
441
470
  *
442
471
  * @summary Get the tvl history of the vault (1h, 1d, 1w, 1mon) descending by time
@@ -599,6 +628,16 @@ export declare class VaultsApi extends BaseAPI {
599
628
  * @memberof VaultsApi
600
629
  */
601
630
  getVaultSharePriceHistory(vaultId: string, limit?: number, interval?: HistoryInterval, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<SharePriceHistory[], any, {}>>;
631
+ /**
632
+ * Returns the vault\'s active proof of capital report flattened into one row per position, with every grouping dimension attached (category, chain, chain type, wallet, protocol, asset). The frontend pivots the same rows into different views: group by chain then protocol for the exposure snapshot, by wallet for the wallet view, or by asset for an asset-first breakdown. Header aggregates and the chain-type split are included so the summary and donut need not be recomputed client-side.
633
+ * @summary Get the vault\'s proof of capital as flat exposure rows
634
+ * @param {string} vaultId The id of the vault
635
+ * @param {TransparencyView} [view] Which grouping the &#x60;groups&#x60; array should use. Defaults to &#x60;chains&#x60;. &#x60;rows&#x60; is unaffected and always returned, so a client that wants a different pivot can build it itself.
636
+ * @param {*} [options] Override http request option.
637
+ * @throws {RequiredError}
638
+ * @memberof VaultsApi
639
+ */
640
+ getVaultTransparency(vaultId: string, view?: TransparencyView, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<VaultTransparencyReport, any, {}>>;
602
641
  /**
603
642
  *
604
643
  * @summary Get the tvl history of the vault (1h, 1d, 1w, 1mon) descending by time
@@ -462,6 +462,42 @@ export const VaultsApiAxiosParamCreator = function (configuration) {
462
462
  options: localVarRequestOptions
463
463
  };
464
464
  },
465
+ /**
466
+ * Returns the vault\'s active proof of capital report flattened into one row per position, with every grouping dimension attached (category, chain, chain type, wallet, protocol, asset). The frontend pivots the same rows into different views: group by chain then protocol for the exposure snapshot, by wallet for the wallet view, or by asset for an asset-first breakdown. Header aggregates and the chain-type split are included so the summary and donut need not be recomputed client-side.
467
+ * @summary Get the vault\'s proof of capital as flat exposure rows
468
+ * @param {string} vaultId The id of the vault
469
+ * @param {TransparencyView} [view] Which grouping the &#x60;groups&#x60; array should use. Defaults to &#x60;chains&#x60;. &#x60;rows&#x60; is unaffected and always returned, so a client that wants a different pivot can build it itself.
470
+ * @param {*} [options] Override http request option.
471
+ * @throws {RequiredError}
472
+ */
473
+ getVaultTransparency: async (vaultId, view, options = {}) => {
474
+ // verify required parameter 'vaultId' is not null or undefined
475
+ assertParamExists("getVaultTransparency", "vaultId", vaultId);
476
+ const localVarPath = `/api/v2/vaults/poc/{vaultId}/transparency`.replace(`{${"vaultId"}}`, encodeURIComponent(String(vaultId)));
477
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
478
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
479
+ let baseOptions;
480
+ if (configuration) {
481
+ baseOptions = configuration.baseOptions;
482
+ }
483
+ const localVarRequestOptions = { method: "GET", ...baseOptions, ...options };
484
+ const localVarHeaderParameter = {};
485
+ const localVarQueryParameter = {};
486
+ if (view !== undefined) {
487
+ localVarQueryParameter["view"] = view;
488
+ }
489
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
490
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
491
+ localVarRequestOptions.headers = {
492
+ ...localVarHeaderParameter,
493
+ ...headersFromBaseOptions,
494
+ ...options.headers
495
+ };
496
+ return {
497
+ url: toPathString(localVarUrlObj),
498
+ options: localVarRequestOptions
499
+ };
500
+ },
465
501
  /**
466
502
  *
467
503
  * @summary Get the tvl history of the vault (1h, 1d, 1w, 1mon) descending by time
@@ -786,6 +822,20 @@ export const VaultsApiFp = function (configuration) {
786
822
  const localVarOperationServerBasePath = operationServerMap["VaultsApi.getVaultSharePriceHistory"]?.[localVarOperationServerIndex]?.url;
787
823
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
788
824
  },
825
+ /**
826
+ * Returns the vault\'s active proof of capital report flattened into one row per position, with every grouping dimension attached (category, chain, chain type, wallet, protocol, asset). The frontend pivots the same rows into different views: group by chain then protocol for the exposure snapshot, by wallet for the wallet view, or by asset for an asset-first breakdown. Header aggregates and the chain-type split are included so the summary and donut need not be recomputed client-side.
827
+ * @summary Get the vault\'s proof of capital as flat exposure rows
828
+ * @param {string} vaultId The id of the vault
829
+ * @param {TransparencyView} [view] Which grouping the &#x60;groups&#x60; array should use. Defaults to &#x60;chains&#x60;. &#x60;rows&#x60; is unaffected and always returned, so a client that wants a different pivot can build it itself.
830
+ * @param {*} [options] Override http request option.
831
+ * @throws {RequiredError}
832
+ */
833
+ async getVaultTransparency(vaultId, view, options) {
834
+ const localVarAxiosArgs = await localVarAxiosParamCreator.getVaultTransparency(vaultId, view, options);
835
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
836
+ const localVarOperationServerBasePath = operationServerMap["VaultsApi.getVaultTransparency"]?.[localVarOperationServerIndex]?.url;
837
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
838
+ },
789
839
  /**
790
840
  *
791
841
  * @summary Get the tvl history of the vault (1h, 1d, 1w, 1mon) descending by time
@@ -1006,6 +1056,19 @@ export const VaultsApiFactory = function (configuration, basePath, axios) {
1006
1056
  .getVaultSharePriceHistory(vaultId, limit, interval, options)
1007
1057
  .then(request => request(axios, basePath));
1008
1058
  },
1059
+ /**
1060
+ * Returns the vault\'s active proof of capital report flattened into one row per position, with every grouping dimension attached (category, chain, chain type, wallet, protocol, asset). The frontend pivots the same rows into different views: group by chain then protocol for the exposure snapshot, by wallet for the wallet view, or by asset for an asset-first breakdown. Header aggregates and the chain-type split are included so the summary and donut need not be recomputed client-side.
1061
+ * @summary Get the vault\'s proof of capital as flat exposure rows
1062
+ * @param {string} vaultId The id of the vault
1063
+ * @param {TransparencyView} [view] Which grouping the &#x60;groups&#x60; array should use. Defaults to &#x60;chains&#x60;. &#x60;rows&#x60; is unaffected and always returned, so a client that wants a different pivot can build it itself.
1064
+ * @param {*} [options] Override http request option.
1065
+ * @throws {RequiredError}
1066
+ */
1067
+ getVaultTransparency(vaultId, view, options) {
1068
+ return localVarFp
1069
+ .getVaultTransparency(vaultId, view, options)
1070
+ .then(request => request(axios, basePath));
1071
+ },
1009
1072
  /**
1010
1073
  *
1011
1074
  * @summary Get the tvl history of the vault (1h, 1d, 1w, 1mon) descending by time
@@ -1233,6 +1296,20 @@ export class VaultsApi extends BaseAPI {
1233
1296
  .getVaultSharePriceHistory(vaultId, limit, interval, options)
1234
1297
  .then(request => request(this.axios, this.basePath));
1235
1298
  }
1299
+ /**
1300
+ * Returns the vault\'s active proof of capital report flattened into one row per position, with every grouping dimension attached (category, chain, chain type, wallet, protocol, asset). The frontend pivots the same rows into different views: group by chain then protocol for the exposure snapshot, by wallet for the wallet view, or by asset for an asset-first breakdown. Header aggregates and the chain-type split are included so the summary and donut need not be recomputed client-side.
1301
+ * @summary Get the vault\'s proof of capital as flat exposure rows
1302
+ * @param {string} vaultId The id of the vault
1303
+ * @param {TransparencyView} [view] Which grouping the &#x60;groups&#x60; array should use. Defaults to &#x60;chains&#x60;. &#x60;rows&#x60; is unaffected and always returned, so a client that wants a different pivot can build it itself.
1304
+ * @param {*} [options] Override http request option.
1305
+ * @throws {RequiredError}
1306
+ * @memberof VaultsApi
1307
+ */
1308
+ getVaultTransparency(vaultId, view, options) {
1309
+ return VaultsApiFp(this.configuration)
1310
+ .getVaultTransparency(vaultId, view, options)
1311
+ .then(request => request(this.axios, this.basePath));
1312
+ }
1236
1313
  /**
1237
1314
  *
1238
1315
  * @summary Get the tvl history of the vault (1h, 1d, 1w, 1mon) descending by time
@@ -110,6 +110,12 @@ export interface ChainVaultDetails {
110
110
  * @memberof ChainVaultDetails
111
111
  */
112
112
  covered: boolean;
113
+ /**
114
+ * Per-chain lifecycle status of this vault deployment
115
+ * @type {string}
116
+ * @memberof ChainVaultDetails
117
+ */
118
+ status: ChainVaultDetailsStatusEnum;
113
119
  /**
114
120
  * True if this on-chain vault gates deposits through a parking lot (async deposits) — i.e. it has an active deposit parking lot. Only set for EVM vaults; always false/absent for Sui. Convenience flag equivalent to `parkingLot != null`.
115
121
  * @type {boolean}
@@ -123,3 +129,10 @@ export interface ChainVaultDetails {
123
129
  */
124
130
  parkingLot?: VaultParkingLotInfo;
125
131
  }
132
+ export declare const ChainVaultDetailsStatusEnum: {
133
+ readonly Active: "active";
134
+ readonly Paused: "paused";
135
+ readonly Deprecated: "deprecated";
136
+ readonly Beta: "beta";
137
+ };
138
+ export type ChainVaultDetailsStatusEnum = (typeof ChainVaultDetailsStatusEnum)[keyof typeof ChainVaultDetailsStatusEnum];
@@ -11,4 +11,9 @@
11
11
  * https://openapi-generator.tech
12
12
  * Do not edit the class manually.
13
13
  */
14
- export {};
14
+ export const ChainVaultDetailsStatusEnum = {
15
+ Active: "active",
16
+ Paused: "paused",
17
+ Deprecated: "deprecated",
18
+ Beta: "beta"
19
+ };
@@ -89,6 +89,9 @@ export * from "./sui-protocol-info.js";
89
89
  export * from "./supplied.js";
90
90
  export * from "./supported-ember-vault.js";
91
91
  export * from "./tag.js";
92
+ export * from "./transparency-group.js";
93
+ export * from "./transparency-row.js";
94
+ export * from "./transparency-view.js";
92
95
  export * from "./tvl-by-chain.js";
93
96
  export * from "./tvl-history.js";
94
97
  export * from "./ultra-coin-info.js";
@@ -112,6 +115,7 @@ export * from "./vault-rate-updated-event.js";
112
115
  export * from "./vault-slice.js";
113
116
  export * from "./vault-sub-account-updated-event.js";
114
117
  export * from "./vault-tag.js";
118
+ export * from "./vault-transparency-report.js";
115
119
  export * from "./vault-withdrawal-without-redeeming-shares-event.js";
116
120
  export * from "./vaults-deployment-config.js";
117
121
  export * from "./vaults-deployment-config-config.js";
@@ -89,6 +89,9 @@ export * from "./sui-protocol-info.js";
89
89
  export * from "./supplied.js";
90
90
  export * from "./supported-ember-vault.js";
91
91
  export * from "./tag.js";
92
+ export * from "./transparency-group.js";
93
+ export * from "./transparency-row.js";
94
+ export * from "./transparency-view.js";
92
95
  export * from "./tvl-by-chain.js";
93
96
  export * from "./tvl-history.js";
94
97
  export * from "./ultra-coin-info.js";
@@ -112,6 +115,7 @@ export * from "./vault-rate-updated-event.js";
112
115
  export * from "./vault-slice.js";
113
116
  export * from "./vault-sub-account-updated-event.js";
114
117
  export * from "./vault-tag.js";
118
+ export * from "./vault-transparency-report.js";
115
119
  export * from "./vault-withdrawal-without-redeeming-shares-event.js";
116
120
  export * from "./vaults-deployment-config.js";
117
121
  export * from "./vaults-deployment-config-config.js";
@@ -51,4 +51,10 @@ export interface PocReportAsset {
51
51
  * @memberof PocReportAsset
52
52
  */
53
53
  percentageE9: string;
54
+ /**
55
+ * The asset icon url, when known
56
+ * @type {string}
57
+ * @memberof PocReportAsset
58
+ */
59
+ logoUrl?: string;
54
60
  }
@@ -33,4 +33,34 @@ export interface PocReportProtocol {
33
33
  * @memberof PocReportProtocol
34
34
  */
35
35
  percentageE9: string;
36
+ /**
37
+ * The protocol icon url, when the data provider supplies one
38
+ * @type {string}
39
+ * @memberof PocReportProtocol
40
+ */
41
+ logoUrl?: string;
42
+ /**
43
+ * The protocol website url, for linking out of the UI
44
+ * @type {string}
45
+ * @memberof PocReportProtocol
46
+ */
47
+ websiteUrl?: string;
48
+ /**
49
+ * The chain this position is actually on, as reported by the data provider, rather than the chain of the wallet holding it. Positions are reported per protocol and chain, so the same protocol on two chains stays two entries.
50
+ * @type {string}
51
+ * @memberof PocReportProtocol
52
+ */
53
+ chain?: string;
54
+ /**
55
+ * The display name of the chain this position is on
56
+ * @type {string}
57
+ * @memberof PocReportProtocol
58
+ */
59
+ chainName?: string;
60
+ /**
61
+ * Chain icon as supplied by the data provider. Present for chains our own catalogue does not have a row for, so the UI can still show one.
62
+ * @type {string}
63
+ * @memberof PocReportProtocol
64
+ */
65
+ chainLogoUrl?: string;
36
66
  }
@@ -33,4 +33,40 @@ export interface PocReportToken {
33
33
  * @memberof PocReportToken
34
34
  */
35
35
  percentageE9: string;
36
+ /**
37
+ * The token icon url, when the data provider supplies one
38
+ * @type {string}
39
+ * @memberof PocReportToken
40
+ */
41
+ logoUrl?: string;
42
+ /**
43
+ * The asset symbol (e.g. USDC). Preferred over name when grouping by asset.
44
+ * @type {string}
45
+ * @memberof PocReportToken
46
+ */
47
+ symbol?: string;
48
+ /**
49
+ * The token contract address, when known
50
+ * @type {string}
51
+ * @memberof PocReportToken
52
+ */
53
+ address?: string;
54
+ /**
55
+ * The chain this holding is actually on, as reported by the data provider. This is the chain of the position, not of the wallet holding it — one wallet reports holdings on many chains. Absent when the provider did not say, in which case the wallet\'s chain is the best available answer.
56
+ * @type {string}
57
+ * @memberof PocReportToken
58
+ */
59
+ chain?: string;
60
+ /**
61
+ * The display name of the chain this holding is on
62
+ * @type {string}
63
+ * @memberof PocReportToken
64
+ */
65
+ chainName?: string;
66
+ /**
67
+ * Chain icon as supplied by the data provider. Present for chains our own catalogue does not have a row for, so the UI can still show one.
68
+ * @type {string}
69
+ * @memberof PocReportToken
70
+ */
71
+ chainLogoUrl?: string;
36
72
  }
@@ -24,17 +24,17 @@ export interface PocReportWallet {
24
24
  */
25
25
  name: string;
26
26
  /**
27
- * The blockchain network identifier (e.g., ethereum, sui)
27
+ * The chain the wallet is on, when it is on exactly one. Absent for accounts that are not chain-specific: an EVM address is indexed across every chain it touches, so no single chain describes it. When absent, read each position\'s own chain and treat a position without one as not attributed to a chain — do not substitute a chain here.
28
28
  * @type {string}
29
29
  * @memberof PocReportWallet
30
30
  */
31
- chain: string;
31
+ chain?: string;
32
32
  /**
33
- * The human-readable blockchain name (e.g., Ethereum, Sui)
33
+ * Display name of the wallet\'s chain. Absent whenever chain is absent.
34
34
  * @type {string}
35
35
  * @memberof PocReportWallet
36
36
  */
37
- chainName: string;
37
+ chainName?: string;
38
38
  /**
39
39
  * The wallet address
40
40
  * @type {string}
@@ -77,4 +77,10 @@ export interface PocReportWallet {
77
77
  * @memberof PocReportWallet
78
78
  */
79
79
  protocols?: Array<PocReportProtocol>;
80
+ /**
81
+ * Chain type of the account (EVM/SUI/SOLANA). Lets a consumer type a position whose specific chain is missing from the chains catalogue: every position under an EVM account is on some EVM chain, even one we have no row for.
82
+ * @type {string}
83
+ * @memberof PocReportWallet
84
+ */
85
+ chainType?: string;
80
86
  }
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Ember Protocol Vaults API
3
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ *
5
+ * The version of the OpenAPI document: 2.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { TransparencyRow } from "./transparency-row.js";
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface TransparencyGroup
17
+ */
18
+ export interface TransparencyGroup {
19
+ /**
20
+ * Stable identifier for the group: the chain identifier, the wallet address, or the asset symbol, depending on the view. Positions that cannot be attributed for the requested view are collected under a single group whose key starts with \"unattributed\".
21
+ * @type {string}
22
+ * @memberof TransparencyGroup
23
+ */
24
+ key: string;
25
+ /**
26
+ * Display name for the group (chain name, wallet name or asset symbol)
27
+ * @type {string}
28
+ * @memberof TransparencyGroup
29
+ */
30
+ label: string;
31
+ /**
32
+ * Icon for the group subject, when one is known
33
+ * @type {string}
34
+ * @memberof TransparencyGroup
35
+ */
36
+ logoUrl?: string;
37
+ /**
38
+ * Sum of the group\'s rows in e9 USD
39
+ * @type {string}
40
+ * @memberof TransparencyGroup
41
+ */
42
+ valueUsdE9: string;
43
+ /**
44
+ * The group\'s share of total exposure in e9
45
+ * @type {string}
46
+ * @memberof TransparencyGroup
47
+ */
48
+ percentageOfNavE9: string;
49
+ /**
50
+ * The positions in this group, ordered by value, largest first
51
+ * @type {Array<TransparencyRow>}
52
+ * @memberof TransparencyGroup
53
+ */
54
+ rows: Array<TransparencyRow>;
55
+ }
@@ -0,0 +1,14 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Ember Protocol Vaults API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: 2.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ export {};
@@ -0,0 +1,138 @@
1
+ /**
2
+ * Ember Protocol Vaults API
3
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ *
5
+ * The version of the OpenAPI document: 2.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface TransparencyRow
16
+ */
17
+ export interface TransparencyRow {
18
+ /**
19
+ * Which section of the report this row came from
20
+ * @type {string}
21
+ * @memberof TransparencyRow
22
+ */
23
+ category: TransparencyRowCategoryEnum;
24
+ /**
25
+ * Whether the row is a protocol position or a plain token holding. Token rows under a wallet are what the UI labels \"Wallet\".
26
+ * @type {string}
27
+ * @memberof TransparencyRow
28
+ */
29
+ positionType: TransparencyRowPositionTypeEnum;
30
+ /**
31
+ * The chain identifier (e.g. ethereum, sui-mainnet). Absent for exchange rows.
32
+ * @type {string}
33
+ * @memberof TransparencyRow
34
+ */
35
+ chain?: string;
36
+ /**
37
+ * The human-readable chain name (e.g. Ethereum, SUI)
38
+ * @type {string}
39
+ * @memberof TransparencyRow
40
+ */
41
+ chainName?: string;
42
+ /**
43
+ * The chain type (e.g. EVM, SUI, SOLANA), or OTHER when it cannot be resolved
44
+ * @type {string}
45
+ * @memberof TransparencyRow
46
+ */
47
+ chainType?: string;
48
+ /**
49
+ * The custodian/wallet name shown as the row\'s source (e.g. Fordefi 1)
50
+ * @type {string}
51
+ * @memberof TransparencyRow
52
+ */
53
+ walletName?: string;
54
+ /**
55
+ * The wallet address this position belongs to
56
+ * @type {string}
57
+ * @memberof TransparencyRow
58
+ */
59
+ walletAddress?: string;
60
+ /**
61
+ * The name of the blockchain explorer
62
+ * @type {string}
63
+ * @memberof TransparencyRow
64
+ */
65
+ explorerName?: string;
66
+ /**
67
+ * URL to view the wallet on a blockchain explorer
68
+ * @type {string}
69
+ * @memberof TransparencyRow
70
+ */
71
+ explorerUrl?: string;
72
+ /**
73
+ * The protocol the capital is deployed in, or the exchange name for exchange rows. Absent for plain token holdings.
74
+ * @type {string}
75
+ * @memberof TransparencyRow
76
+ */
77
+ protocol?: string;
78
+ /**
79
+ * The asset symbol/name. Absent for protocol positions, which the upstream providers report as a single value without an asset breakdown.
80
+ * @type {string}
81
+ * @memberof TransparencyRow
82
+ */
83
+ asset?: string;
84
+ /**
85
+ * The asset contract address, when known
86
+ * @type {string}
87
+ * @memberof TransparencyRow
88
+ */
89
+ assetAddress?: string;
90
+ /**
91
+ * Icon for the chain, resolved from the chains catalogue
92
+ * @type {string}
93
+ * @memberof TransparencyRow
94
+ */
95
+ chainLogoUrl?: string;
96
+ /**
97
+ * Icon for the protocol. Taken from the report when the data provider supplied one, otherwise resolved from the protocol catalogue by name.
98
+ * @type {string}
99
+ * @memberof TransparencyRow
100
+ */
101
+ protocolLogoUrl?: string;
102
+ /**
103
+ * Protocol website, resolved the same way as its icon
104
+ * @type {string}
105
+ * @memberof TransparencyRow
106
+ */
107
+ protocolWebsiteUrl?: string;
108
+ /**
109
+ * Icon for the asset, when the report carries one
110
+ * @type {string}
111
+ * @memberof TransparencyRow
112
+ */
113
+ assetLogoUrl?: string;
114
+ /**
115
+ * The value of this position in e9 USD
116
+ * @type {string}
117
+ * @memberof TransparencyRow
118
+ */
119
+ capitalUsdE9: string;
120
+ /**
121
+ * Share of total exposure in e9 (e.g. 45300000 = 4.53%)
122
+ * @type {string}
123
+ * @memberof TransparencyRow
124
+ */
125
+ percentageOfNavE9: string;
126
+ }
127
+ export declare const TransparencyRowCategoryEnum: {
128
+ readonly Wallet: "wallet";
129
+ readonly Exchange: "exchange";
130
+ readonly AwaitingDeployment: "awaitingDeployment";
131
+ readonly LiquidityBuffer: "liquidityBuffer";
132
+ };
133
+ export type TransparencyRowCategoryEnum = (typeof TransparencyRowCategoryEnum)[keyof typeof TransparencyRowCategoryEnum];
134
+ export declare const TransparencyRowPositionTypeEnum: {
135
+ readonly Protocol: "protocol";
136
+ readonly Token: "token";
137
+ };
138
+ export type TransparencyRowPositionTypeEnum = (typeof TransparencyRowPositionTypeEnum)[keyof typeof TransparencyRowPositionTypeEnum];
@@ -0,0 +1,23 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Ember Protocol Vaults API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: 2.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ export const TransparencyRowCategoryEnum = {
15
+ Wallet: "wallet",
16
+ Exchange: "exchange",
17
+ AwaitingDeployment: "awaitingDeployment",
18
+ LiquidityBuffer: "liquidityBuffer"
19
+ };
20
+ export const TransparencyRowPositionTypeEnum = {
21
+ Protocol: "protocol",
22
+ Token: "token"
23
+ };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Ember Protocol Vaults API
3
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ *
5
+ * The version of the OpenAPI document: 2.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * How positions are grouped in the `groups` array: by chain (the exposure snapshot), by holding wallet, or by asset.
14
+ * @export
15
+ * @enum {string}
16
+ */
17
+ export declare const TransparencyView: {
18
+ readonly Chains: "chains";
19
+ readonly Wallets: "wallets";
20
+ readonly Assets: "assets";
21
+ };
22
+ export type TransparencyView = (typeof TransparencyView)[keyof typeof TransparencyView];
@@ -0,0 +1,23 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Ember Protocol Vaults API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: 2.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * How positions are grouped in the `groups` array: by chain (the exposure snapshot), by holding wallet, or by asset.
16
+ * @export
17
+ * @enum {string}
18
+ */
19
+ export const TransparencyView = {
20
+ Chains: "chains",
21
+ Wallets: "wallets",
22
+ Assets: "assets"
23
+ };
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Ember Protocol Vaults API
3
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ *
5
+ * The version of the OpenAPI document: 2.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { ProofOfCapitalReportStatus } from "./proof-of-capital-report-status.js";
13
+ import type { TransparencyGroup } from "./transparency-group.js";
14
+ import type { TransparencyRow } from "./transparency-row.js";
15
+ import type { TransparencyView } from "./transparency-view.js";
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface VaultTransparencyReport
20
+ */
21
+ export interface VaultTransparencyReport {
22
+ /**
23
+ * The id of the underlying proof of capital report
24
+ * @type {string}
25
+ * @memberof VaultTransparencyReport
26
+ */
27
+ id: string;
28
+ /**
29
+ * The timestamp of the report in milliseconds
30
+ * @type {number}
31
+ * @memberof VaultTransparencyReport
32
+ */
33
+ generatedAt: number;
34
+ /**
35
+ *
36
+ * @type {ProofOfCapitalReportStatus}
37
+ * @memberof VaultTransparencyReport
38
+ */
39
+ status: ProofOfCapitalReportStatus;
40
+ /**
41
+ * Notes/remarks added during review
42
+ * @type {string}
43
+ * @memberof VaultTransparencyReport
44
+ */
45
+ notes?: string;
46
+ /**
47
+ * Total exposure (system NAV) in e9 USD; the denominator for percentageOfNavE9
48
+ * @type {string}
49
+ * @memberof VaultTransparencyReport
50
+ */
51
+ totalExposureUsdE9: string;
52
+ /**
53
+ * Total user deposits (withdrawable) in e9 USD
54
+ * @type {string}
55
+ * @memberof VaultTransparencyReport
56
+ */
57
+ userDepositsUsdE9: string;
58
+ /**
59
+ * Total exposure divided by user deposits
60
+ * @type {string}
61
+ * @memberof VaultTransparencyReport
62
+ */
63
+ healthRatio: string;
64
+ /**
65
+ *
66
+ * @type {TransparencyView}
67
+ * @memberof VaultTransparencyReport
68
+ */
69
+ view: TransparencyView;
70
+ /**
71
+ * Every position as a flat row, with all grouping dimensions attached. Returned regardless of `view` so a client can pivot it differently (e.g. by chainType for the summary donut) without another request.
72
+ * @type {Array<TransparencyRow>}
73
+ * @memberof VaultTransparencyReport
74
+ */
75
+ rows: Array<TransparencyRow>;
76
+ /**
77
+ * The same positions arranged for the requested `view`: one group per chain, wallet or asset, each carrying its own subtotal and the rows beneath it. Ordered by value, largest first.
78
+ * @type {Array<TransparencyGroup>}
79
+ * @memberof VaultTransparencyReport
80
+ */
81
+ groups: Array<TransparencyGroup>;
82
+ }
@@ -0,0 +1,14 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Ember Protocol Vaults API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: 2.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ export {};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ember-finance/sdk",
3
3
  "description": "Ember Protocol SDK",
4
- "version": "2.5.0-pre.9",
4
+ "version": "2.6.0-pre.0",
5
5
  "type": "module",
6
6
  "module": "./dist/index.js",
7
7
  "main": "./dist/index.js",