@vaultsfyi/sdk 2.1.5 → 2.1.7
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/CHANGELOG.md +15 -0
- package/dist/client.d.mts +23 -17
- package/dist/client.d.ts +23 -17
- package/dist/client.js +32 -4
- package/dist/client.js.map +1 -1
- package/dist/client.mjs +33 -4
- package/dist/client.mjs.map +1 -1
- package/package.json +9 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @vaultsfyi/sdk
|
|
2
2
|
|
|
3
|
+
## 2.1.7
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 36ddf39 Add auto publish workflow
|
|
8
|
+
- e3145cd 🫑 Add supported networks const (#9)
|
|
9
|
+
- 677b11e 👤 Add generate release action
|
|
10
|
+
- 9da592b Update OpenAPI types (#13)
|
|
11
|
+
|
|
12
|
+
## 2.1.6
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- 💰 Add x402 support
|
|
17
|
+
|
|
3
18
|
## 2.1.5
|
|
4
19
|
|
|
5
20
|
### Patch Changes
|
package/dist/client.d.mts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { Signer } from 'x402-fetch';
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* This file was auto-generated by openapi-typescript.
|
|
3
5
|
* Do not make direct changes to the file.
|
|
@@ -4859,25 +4861,25 @@ interface paths {
|
|
|
4859
4861
|
* @description Current deposit step
|
|
4860
4862
|
* @enum {string}
|
|
4861
4863
|
*/
|
|
4862
|
-
currentDepositStep: 'deposit' | 'redeem' | 'request-redeem' | 'claim-redeem' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
4864
|
+
currentDepositStep: 'deposit' | 'redeem' | 'request-redeem' | 'request-deposit' | 'claim-redeem' | 'claim-deposit' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
4863
4865
|
/** @description Deposit steps */
|
|
4864
4866
|
depositSteps: {
|
|
4865
4867
|
actions: string[];
|
|
4866
4868
|
actionsUrl: string;
|
|
4867
4869
|
/** @enum {string} */
|
|
4868
|
-
name: 'deposit' | 'redeem' | 'request-redeem' | 'claim-redeem' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
4870
|
+
name: 'deposit' | 'redeem' | 'request-redeem' | 'request-deposit' | 'claim-redeem' | 'claim-deposit' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
4869
4871
|
}[];
|
|
4870
4872
|
/**
|
|
4871
4873
|
* @description Current redeem step
|
|
4872
4874
|
* @enum {string}
|
|
4873
4875
|
*/
|
|
4874
|
-
currentRedeemStep: 'deposit' | 'redeem' | 'request-redeem' | 'claim-redeem' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
4876
|
+
currentRedeemStep: 'deposit' | 'redeem' | 'request-redeem' | 'request-deposit' | 'claim-redeem' | 'claim-deposit' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
4875
4877
|
/** @description Redeem steps */
|
|
4876
4878
|
redeemSteps: {
|
|
4877
4879
|
actions: string[];
|
|
4878
4880
|
actionsUrl: string;
|
|
4879
4881
|
/** @enum {string} */
|
|
4880
|
-
name: 'deposit' | 'redeem' | 'request-redeem' | 'claim-redeem' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
4882
|
+
name: 'deposit' | 'redeem' | 'request-redeem' | 'request-deposit' | 'claim-redeem' | 'claim-deposit' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
4881
4883
|
}[];
|
|
4882
4884
|
/** @description LP token details */
|
|
4883
4885
|
lpToken: {
|
|
@@ -5082,13 +5084,13 @@ interface paths {
|
|
|
5082
5084
|
* @description Current step for claiming rewards
|
|
5083
5085
|
* @enum {string}
|
|
5084
5086
|
*/
|
|
5085
|
-
currentStep: 'deposit' | 'redeem' | 'request-redeem' | 'claim-redeem' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
5087
|
+
currentStep: 'deposit' | 'redeem' | 'request-redeem' | 'request-deposit' | 'claim-redeem' | 'claim-deposit' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
5086
5088
|
/** @description Steps for claiming rewards */
|
|
5087
5089
|
steps: {
|
|
5088
5090
|
actions: string[];
|
|
5089
5091
|
actionsUrl: string;
|
|
5090
5092
|
/** @enum {string} */
|
|
5091
|
-
name: 'deposit' | 'redeem' | 'request-redeem' | 'claim-redeem' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
5093
|
+
name: 'deposit' | 'redeem' | 'request-redeem' | 'request-deposit' | 'claim-redeem' | 'claim-deposit' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
5092
5094
|
}[];
|
|
5093
5095
|
};
|
|
5094
5096
|
};
|
|
@@ -5244,7 +5246,7 @@ interface paths {
|
|
|
5244
5246
|
header?: never;
|
|
5245
5247
|
path: {
|
|
5246
5248
|
/** @description Action to be performed */
|
|
5247
|
-
action: 'deposit' | 'redeem' | 'request-redeem' | 'claim-redeem' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
5249
|
+
action: 'deposit' | 'redeem' | 'request-redeem' | 'request-deposit' | 'claim-redeem' | 'claim-deposit' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
5248
5250
|
/** @description User address to get returns for */
|
|
5249
5251
|
userAddress: string;
|
|
5250
5252
|
/** @description Network to get returns for */
|
|
@@ -7477,9 +7479,12 @@ interface paths {
|
|
|
7477
7479
|
};
|
|
7478
7480
|
}
|
|
7479
7481
|
|
|
7480
|
-
|
|
7482
|
+
declare const SUPPORTED_NETWORKS: readonly ["mainnet", "optimism", "arbitrum", "polygon", "gnosis", "base", "unichain", "swellchain", "celo", "worldchain", "berachain", "ink", "bsc", "hyperliquid", "plasma", "avalanche"];
|
|
7483
|
+
type ConstructorOptions = {
|
|
7481
7484
|
apiKey: string;
|
|
7482
|
-
}
|
|
7485
|
+
} | {
|
|
7486
|
+
client: Signer;
|
|
7487
|
+
};
|
|
7483
7488
|
interface InternalOptions {
|
|
7484
7489
|
apiBaseUrl: string;
|
|
7485
7490
|
}
|
|
@@ -7510,7 +7515,8 @@ type Body<T extends Endpoint> = paths[T]['post'] extends {
|
|
|
7510
7515
|
type Params<T extends Endpoint> = Body<T> extends undefined ? ExtractParams<paths[T]['get' | 'post']> : ExtractParams<paths[T]['get' | 'post']> & Body<T>;
|
|
7511
7516
|
declare class VaultsSdk {
|
|
7512
7517
|
private apiBaseUrl;
|
|
7513
|
-
private
|
|
7518
|
+
private auth;
|
|
7519
|
+
private authHeaders;
|
|
7514
7520
|
constructor(options: ConstructorOptions);
|
|
7515
7521
|
constructor(options: ConstructorOptions, internalOptions: InternalOptions);
|
|
7516
7522
|
private fetchData;
|
|
@@ -8241,17 +8247,17 @@ declare class VaultsSdk {
|
|
|
8241
8247
|
};
|
|
8242
8248
|
}>;
|
|
8243
8249
|
getTransactionsContext(params: Params<'/v2/transactions/context/{userAddress}/{network}/{vaultAddress}'>): Promise<{
|
|
8244
|
-
currentDepositStep: "deposit" | "redeem" | "request-redeem" | "claim-redeem" | "claim-rewards" | "start-redeem-cooldown";
|
|
8250
|
+
currentDepositStep: "deposit" | "redeem" | "request-redeem" | "request-deposit" | "claim-redeem" | "claim-deposit" | "claim-rewards" | "start-redeem-cooldown";
|
|
8245
8251
|
depositSteps: {
|
|
8246
8252
|
actions: string[];
|
|
8247
8253
|
actionsUrl: string;
|
|
8248
|
-
name: "deposit" | "redeem" | "request-redeem" | "claim-redeem" | "claim-rewards" | "start-redeem-cooldown";
|
|
8254
|
+
name: "deposit" | "redeem" | "request-redeem" | "request-deposit" | "claim-redeem" | "claim-deposit" | "claim-rewards" | "start-redeem-cooldown";
|
|
8249
8255
|
}[];
|
|
8250
|
-
currentRedeemStep: "deposit" | "redeem" | "request-redeem" | "claim-redeem" | "claim-rewards" | "start-redeem-cooldown";
|
|
8256
|
+
currentRedeemStep: "deposit" | "redeem" | "request-redeem" | "request-deposit" | "claim-redeem" | "claim-deposit" | "claim-rewards" | "start-redeem-cooldown";
|
|
8251
8257
|
redeemSteps: {
|
|
8252
8258
|
actions: string[];
|
|
8253
8259
|
actionsUrl: string;
|
|
8254
|
-
name: "deposit" | "redeem" | "request-redeem" | "claim-redeem" | "claim-rewards" | "start-redeem-cooldown";
|
|
8260
|
+
name: "deposit" | "redeem" | "request-redeem" | "request-deposit" | "claim-redeem" | "claim-deposit" | "claim-rewards" | "start-redeem-cooldown";
|
|
8255
8261
|
}[];
|
|
8256
8262
|
lpToken: {
|
|
8257
8263
|
address: string;
|
|
@@ -8350,11 +8356,11 @@ declare class VaultsSdk {
|
|
|
8350
8356
|
network: "mainnet" | "optimism" | "arbitrum" | "polygon" | "gnosis" | "base" | "unichain" | "swellchain" | "celo" | "worldchain" | "berachain" | "ink" | "bsc" | "hyperliquid" | "plasma" | "avalanche";
|
|
8351
8357
|
};
|
|
8352
8358
|
}[];
|
|
8353
|
-
currentStep: "deposit" | "redeem" | "request-redeem" | "claim-redeem" | "claim-rewards" | "start-redeem-cooldown";
|
|
8359
|
+
currentStep: "deposit" | "redeem" | "request-redeem" | "request-deposit" | "claim-redeem" | "claim-deposit" | "claim-rewards" | "start-redeem-cooldown";
|
|
8354
8360
|
steps: {
|
|
8355
8361
|
actions: string[];
|
|
8356
8362
|
actionsUrl: string;
|
|
8357
|
-
name: "deposit" | "redeem" | "request-redeem" | "claim-redeem" | "claim-rewards" | "start-redeem-cooldown";
|
|
8363
|
+
name: "deposit" | "redeem" | "request-redeem" | "request-deposit" | "claim-redeem" | "claim-deposit" | "claim-rewards" | "start-redeem-cooldown";
|
|
8358
8364
|
}[];
|
|
8359
8365
|
};
|
|
8360
8366
|
}>;
|
|
@@ -9198,4 +9204,4 @@ declare class VaultsSdk {
|
|
|
9198
9204
|
}>;
|
|
9199
9205
|
}
|
|
9200
9206
|
|
|
9201
|
-
export { VaultsSdk };
|
|
9207
|
+
export { SUPPORTED_NETWORKS, VaultsSdk };
|
package/dist/client.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { Signer } from 'x402-fetch';
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* This file was auto-generated by openapi-typescript.
|
|
3
5
|
* Do not make direct changes to the file.
|
|
@@ -4859,25 +4861,25 @@ interface paths {
|
|
|
4859
4861
|
* @description Current deposit step
|
|
4860
4862
|
* @enum {string}
|
|
4861
4863
|
*/
|
|
4862
|
-
currentDepositStep: 'deposit' | 'redeem' | 'request-redeem' | 'claim-redeem' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
4864
|
+
currentDepositStep: 'deposit' | 'redeem' | 'request-redeem' | 'request-deposit' | 'claim-redeem' | 'claim-deposit' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
4863
4865
|
/** @description Deposit steps */
|
|
4864
4866
|
depositSteps: {
|
|
4865
4867
|
actions: string[];
|
|
4866
4868
|
actionsUrl: string;
|
|
4867
4869
|
/** @enum {string} */
|
|
4868
|
-
name: 'deposit' | 'redeem' | 'request-redeem' | 'claim-redeem' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
4870
|
+
name: 'deposit' | 'redeem' | 'request-redeem' | 'request-deposit' | 'claim-redeem' | 'claim-deposit' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
4869
4871
|
}[];
|
|
4870
4872
|
/**
|
|
4871
4873
|
* @description Current redeem step
|
|
4872
4874
|
* @enum {string}
|
|
4873
4875
|
*/
|
|
4874
|
-
currentRedeemStep: 'deposit' | 'redeem' | 'request-redeem' | 'claim-redeem' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
4876
|
+
currentRedeemStep: 'deposit' | 'redeem' | 'request-redeem' | 'request-deposit' | 'claim-redeem' | 'claim-deposit' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
4875
4877
|
/** @description Redeem steps */
|
|
4876
4878
|
redeemSteps: {
|
|
4877
4879
|
actions: string[];
|
|
4878
4880
|
actionsUrl: string;
|
|
4879
4881
|
/** @enum {string} */
|
|
4880
|
-
name: 'deposit' | 'redeem' | 'request-redeem' | 'claim-redeem' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
4882
|
+
name: 'deposit' | 'redeem' | 'request-redeem' | 'request-deposit' | 'claim-redeem' | 'claim-deposit' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
4881
4883
|
}[];
|
|
4882
4884
|
/** @description LP token details */
|
|
4883
4885
|
lpToken: {
|
|
@@ -5082,13 +5084,13 @@ interface paths {
|
|
|
5082
5084
|
* @description Current step for claiming rewards
|
|
5083
5085
|
* @enum {string}
|
|
5084
5086
|
*/
|
|
5085
|
-
currentStep: 'deposit' | 'redeem' | 'request-redeem' | 'claim-redeem' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
5087
|
+
currentStep: 'deposit' | 'redeem' | 'request-redeem' | 'request-deposit' | 'claim-redeem' | 'claim-deposit' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
5086
5088
|
/** @description Steps for claiming rewards */
|
|
5087
5089
|
steps: {
|
|
5088
5090
|
actions: string[];
|
|
5089
5091
|
actionsUrl: string;
|
|
5090
5092
|
/** @enum {string} */
|
|
5091
|
-
name: 'deposit' | 'redeem' | 'request-redeem' | 'claim-redeem' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
5093
|
+
name: 'deposit' | 'redeem' | 'request-redeem' | 'request-deposit' | 'claim-redeem' | 'claim-deposit' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
5092
5094
|
}[];
|
|
5093
5095
|
};
|
|
5094
5096
|
};
|
|
@@ -5244,7 +5246,7 @@ interface paths {
|
|
|
5244
5246
|
header?: never;
|
|
5245
5247
|
path: {
|
|
5246
5248
|
/** @description Action to be performed */
|
|
5247
|
-
action: 'deposit' | 'redeem' | 'request-redeem' | 'claim-redeem' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
5249
|
+
action: 'deposit' | 'redeem' | 'request-redeem' | 'request-deposit' | 'claim-redeem' | 'claim-deposit' | 'claim-rewards' | 'start-redeem-cooldown';
|
|
5248
5250
|
/** @description User address to get returns for */
|
|
5249
5251
|
userAddress: string;
|
|
5250
5252
|
/** @description Network to get returns for */
|
|
@@ -7477,9 +7479,12 @@ interface paths {
|
|
|
7477
7479
|
};
|
|
7478
7480
|
}
|
|
7479
7481
|
|
|
7480
|
-
|
|
7482
|
+
declare const SUPPORTED_NETWORKS: readonly ["mainnet", "optimism", "arbitrum", "polygon", "gnosis", "base", "unichain", "swellchain", "celo", "worldchain", "berachain", "ink", "bsc", "hyperliquid", "plasma", "avalanche"];
|
|
7483
|
+
type ConstructorOptions = {
|
|
7481
7484
|
apiKey: string;
|
|
7482
|
-
}
|
|
7485
|
+
} | {
|
|
7486
|
+
client: Signer;
|
|
7487
|
+
};
|
|
7483
7488
|
interface InternalOptions {
|
|
7484
7489
|
apiBaseUrl: string;
|
|
7485
7490
|
}
|
|
@@ -7510,7 +7515,8 @@ type Body<T extends Endpoint> = paths[T]['post'] extends {
|
|
|
7510
7515
|
type Params<T extends Endpoint> = Body<T> extends undefined ? ExtractParams<paths[T]['get' | 'post']> : ExtractParams<paths[T]['get' | 'post']> & Body<T>;
|
|
7511
7516
|
declare class VaultsSdk {
|
|
7512
7517
|
private apiBaseUrl;
|
|
7513
|
-
private
|
|
7518
|
+
private auth;
|
|
7519
|
+
private authHeaders;
|
|
7514
7520
|
constructor(options: ConstructorOptions);
|
|
7515
7521
|
constructor(options: ConstructorOptions, internalOptions: InternalOptions);
|
|
7516
7522
|
private fetchData;
|
|
@@ -8241,17 +8247,17 @@ declare class VaultsSdk {
|
|
|
8241
8247
|
};
|
|
8242
8248
|
}>;
|
|
8243
8249
|
getTransactionsContext(params: Params<'/v2/transactions/context/{userAddress}/{network}/{vaultAddress}'>): Promise<{
|
|
8244
|
-
currentDepositStep: "deposit" | "redeem" | "request-redeem" | "claim-redeem" | "claim-rewards" | "start-redeem-cooldown";
|
|
8250
|
+
currentDepositStep: "deposit" | "redeem" | "request-redeem" | "request-deposit" | "claim-redeem" | "claim-deposit" | "claim-rewards" | "start-redeem-cooldown";
|
|
8245
8251
|
depositSteps: {
|
|
8246
8252
|
actions: string[];
|
|
8247
8253
|
actionsUrl: string;
|
|
8248
|
-
name: "deposit" | "redeem" | "request-redeem" | "claim-redeem" | "claim-rewards" | "start-redeem-cooldown";
|
|
8254
|
+
name: "deposit" | "redeem" | "request-redeem" | "request-deposit" | "claim-redeem" | "claim-deposit" | "claim-rewards" | "start-redeem-cooldown";
|
|
8249
8255
|
}[];
|
|
8250
|
-
currentRedeemStep: "deposit" | "redeem" | "request-redeem" | "claim-redeem" | "claim-rewards" | "start-redeem-cooldown";
|
|
8256
|
+
currentRedeemStep: "deposit" | "redeem" | "request-redeem" | "request-deposit" | "claim-redeem" | "claim-deposit" | "claim-rewards" | "start-redeem-cooldown";
|
|
8251
8257
|
redeemSteps: {
|
|
8252
8258
|
actions: string[];
|
|
8253
8259
|
actionsUrl: string;
|
|
8254
|
-
name: "deposit" | "redeem" | "request-redeem" | "claim-redeem" | "claim-rewards" | "start-redeem-cooldown";
|
|
8260
|
+
name: "deposit" | "redeem" | "request-redeem" | "request-deposit" | "claim-redeem" | "claim-deposit" | "claim-rewards" | "start-redeem-cooldown";
|
|
8255
8261
|
}[];
|
|
8256
8262
|
lpToken: {
|
|
8257
8263
|
address: string;
|
|
@@ -8350,11 +8356,11 @@ declare class VaultsSdk {
|
|
|
8350
8356
|
network: "mainnet" | "optimism" | "arbitrum" | "polygon" | "gnosis" | "base" | "unichain" | "swellchain" | "celo" | "worldchain" | "berachain" | "ink" | "bsc" | "hyperliquid" | "plasma" | "avalanche";
|
|
8351
8357
|
};
|
|
8352
8358
|
}[];
|
|
8353
|
-
currentStep: "deposit" | "redeem" | "request-redeem" | "claim-redeem" | "claim-rewards" | "start-redeem-cooldown";
|
|
8359
|
+
currentStep: "deposit" | "redeem" | "request-redeem" | "request-deposit" | "claim-redeem" | "claim-deposit" | "claim-rewards" | "start-redeem-cooldown";
|
|
8354
8360
|
steps: {
|
|
8355
8361
|
actions: string[];
|
|
8356
8362
|
actionsUrl: string;
|
|
8357
|
-
name: "deposit" | "redeem" | "request-redeem" | "claim-redeem" | "claim-rewards" | "start-redeem-cooldown";
|
|
8363
|
+
name: "deposit" | "redeem" | "request-redeem" | "request-deposit" | "claim-redeem" | "claim-deposit" | "claim-rewards" | "start-redeem-cooldown";
|
|
8358
8364
|
}[];
|
|
8359
8365
|
};
|
|
8360
8366
|
}>;
|
|
@@ -9198,4 +9204,4 @@ declare class VaultsSdk {
|
|
|
9198
9204
|
}>;
|
|
9199
9205
|
}
|
|
9200
9206
|
|
|
9201
|
-
export { VaultsSdk };
|
|
9207
|
+
export { SUPPORTED_NETWORKS, VaultsSdk };
|
package/dist/client.js
CHANGED
|
@@ -20,9 +20,11 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/client.ts
|
|
21
21
|
var client_exports = {};
|
|
22
22
|
__export(client_exports, {
|
|
23
|
+
SUPPORTED_NETWORKS: () => SUPPORTED_NETWORKS,
|
|
23
24
|
VaultsSdk: () => VaultsSdk
|
|
24
25
|
});
|
|
25
26
|
module.exports = __toCommonJS(client_exports);
|
|
27
|
+
var import_x402_fetch = require("x402-fetch");
|
|
26
28
|
|
|
27
29
|
// src/errors.ts
|
|
28
30
|
var HttpResponseError = class extends Error {
|
|
@@ -46,22 +48,47 @@ function generateQueryParams(queryParams) {
|
|
|
46
48
|
}
|
|
47
49
|
|
|
48
50
|
// src/client.ts
|
|
51
|
+
var SUPPORTED_NETWORKS = [
|
|
52
|
+
"mainnet",
|
|
53
|
+
"optimism",
|
|
54
|
+
"arbitrum",
|
|
55
|
+
"polygon",
|
|
56
|
+
"gnosis",
|
|
57
|
+
"base",
|
|
58
|
+
"unichain",
|
|
59
|
+
"swellchain",
|
|
60
|
+
"celo",
|
|
61
|
+
"worldchain",
|
|
62
|
+
"berachain",
|
|
63
|
+
"ink",
|
|
64
|
+
"bsc",
|
|
65
|
+
"hyperliquid",
|
|
66
|
+
"plasma",
|
|
67
|
+
"avalanche"
|
|
68
|
+
];
|
|
49
69
|
var VaultsSdk = class {
|
|
50
70
|
apiBaseUrl;
|
|
51
|
-
|
|
71
|
+
auth;
|
|
72
|
+
authHeaders;
|
|
52
73
|
constructor(options, internalOptions) {
|
|
53
|
-
this.
|
|
74
|
+
this.auth = options;
|
|
75
|
+
if ("apiKey" in this.auth) {
|
|
76
|
+
this.authHeaders = { "x-api-key": this.auth.apiKey };
|
|
77
|
+
} else {
|
|
78
|
+
this.authHeaders = { "x-402-auth": "true" };
|
|
79
|
+
}
|
|
54
80
|
this.apiBaseUrl = internalOptions?.apiBaseUrl ?? "https://api.vaults.fyi";
|
|
55
81
|
}
|
|
56
82
|
async fetchData(endpoint, params, method = "GET") {
|
|
57
83
|
const queryParams = generateQueryParams(params?.query);
|
|
58
84
|
const body = params && "body" in params ? params.body : void 0;
|
|
59
85
|
const stringifiedBody = body ? JSON.stringify(body) : void 0;
|
|
60
|
-
const
|
|
86
|
+
const wrappedFetch = "apiKey" in this.auth ? fetch : (0, import_x402_fetch.wrapFetchWithPayment)(fetch, this.auth.client);
|
|
87
|
+
const response = await wrappedFetch(`${this.apiBaseUrl}${endpoint}${queryParams}`, {
|
|
61
88
|
method,
|
|
62
89
|
headers: {
|
|
63
90
|
"Content-Type": "application/json",
|
|
64
|
-
|
|
91
|
+
...this.authHeaders
|
|
65
92
|
},
|
|
66
93
|
body: stringifiedBody
|
|
67
94
|
});
|
|
@@ -194,6 +221,7 @@ var VaultsSdk = class {
|
|
|
194
221
|
};
|
|
195
222
|
// Annotate the CommonJS export names for ESM import in node:
|
|
196
223
|
0 && (module.exports = {
|
|
224
|
+
SUPPORTED_NETWORKS,
|
|
197
225
|
VaultsSdk
|
|
198
226
|
});
|
|
199
227
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/client.ts","../src/errors.ts","../src/utils/generateQueryParams.ts"],"sourcesContent":["import { HttpResponseError } from './errors'\nimport type { paths } from './types/openapi'\nimport { generateQueryParams } from './utils/generateQueryParams'\n\ninterface ConstructorOptions {\n apiKey: string\n}\n\ninterface InternalOptions {\n apiBaseUrl: string\n}\n\ntype Endpoint = keyof paths\ntype ExtractResponse<T> = T extends { responses: { 200: { content: { 'application/json': infer R } } } } ? R : never\ntype Response<T extends Endpoint> = ExtractResponse<paths[T]['get' | 'post']>\ntype ExtractParams<T> = T extends { parameters: infer P extends { path?: any; query?: any } }\n ? Pick<P, 'path' | 'query'>\n : never\n\ntype Body<T extends Endpoint> = paths[T]['post'] extends {\n requestBody: { content: { 'application/json': infer R } }\n}\n ? { body: R }\n : paths[T]['post'] extends {\n requestBody?: { content: { 'application/json': infer R } }\n }\n ? { body?: R }\n : undefined\n\ntype Params<T extends Endpoint> = Body<T> extends undefined\n ? ExtractParams<paths[T]['get' | 'post']>\n : ExtractParams<paths[T]['get' | 'post']> & Body<T>\n\nexport class VaultsSdk {\n private apiBaseUrl: string\n private apiKey: string\n\n constructor(options: ConstructorOptions)\n constructor(options: ConstructorOptions, internalOptions: InternalOptions)\n constructor(options: ConstructorOptions, internalOptions?: InternalOptions) {\n this.apiKey = options.apiKey\n this.apiBaseUrl = internalOptions?.apiBaseUrl ?? 'https://api.vaults.fyi'\n }\n\n private async fetchData<T extends Endpoint>(\n endpoint: string,\n params?: T extends Endpoint ? Params<T> : never,\n method: 'POST' | 'GET' = 'GET'\n ): Promise<T extends Endpoint ? Response<T> : never> {\n const queryParams = generateQueryParams(params?.query)\n\n const body = params && 'body' in params ? params.body : undefined\n const stringifiedBody = body ? JSON.stringify(body) : undefined\n\n const response = await fetch(`${this.apiBaseUrl}${endpoint}${queryParams}`, {\n method,\n headers: {\n 'Content-Type': 'application/json',\n 'x-api-key': this.apiKey,\n },\n body: stringifiedBody,\n })\n\n if (!response.ok) {\n const error = await response.json()\n throw new HttpResponseError(error.message)\n }\n\n return response.json()\n }\n\n async getAssets(params: Params<'/v2/assets'>) {\n return await this.fetchData<'/v2/assets'>('/v2/assets', params)\n }\n\n async getBenchmarks(params: Params<'/v2/benchmarks/{network}'>) {\n return await this.fetchData<'/v2/benchmarks/{network}'>(`/v2/benchmarks/${params.path.network}`, params)\n }\n\n async getHistoricalBenchmarks(params: Params<'/v2/historical-benchmarks/{network}'>) {\n return await this.fetchData<'/v2/historical-benchmarks/{network}'>(\n `/v2/historical-benchmarks/${params.path.network}`,\n params\n )\n }\n\n async getVaultHistoricalData(params: Params<'/v2/historical/{network}/{vaultAddress}'>) {\n const { network, vaultAddress } = params.path\n return await this.fetchData<'/v2/historical/{network}/{vaultAddress}'>(\n `/v2/historical/${network}/${vaultAddress}`,\n params\n )\n }\n\n async getVaultHistoricalApy(params: Params<'/v2/historical/{network}/{vaultAddress}/apy'>) {\n const { network, vaultAddress } = params.path\n return await this.fetchData<'/v2/historical/{network}/{vaultAddress}/apy'>(\n `/v2/historical/${network}/${vaultAddress}/apy`,\n params\n )\n }\n\n async getVaultHistoricalTvl(params: Params<'/v2/historical/{network}/{vaultAddress}/tvl'>) {\n const { network, vaultAddress } = params.path\n return await this.fetchData<'/v2/historical/{network}/{vaultAddress}/tvl'>(\n `/v2/historical/${network}/${vaultAddress}/tvl`,\n params\n )\n }\n\n async getVaultHistoricalSharePrice(params: Params<'/v2/historical/{network}/{vaultAddress}/sharePrice'>) {\n const { network, vaultAddress } = params.path\n return await this.fetchData<'/v2/historical/{network}/{vaultAddress}/sharePrice'>(\n `/v2/historical/${network}/${vaultAddress}/sharePrice`,\n params\n )\n }\n\n async getPositions(params: Params<'/v2/portfolio/positions/{userAddress}'>) {\n const { userAddress } = params.path\n return await this.fetchData<'/v2/portfolio/positions/{userAddress}'>(\n `/v2/portfolio/positions/${userAddress}`,\n params\n )\n }\n\n async getPosition(params: Params<'/v2/portfolio/positions/{userAddress}/{network}/{vaultAddress}'>) {\n const { userAddress, network, vaultAddress } = params.path\n return await this.fetchData<'/v2/portfolio/positions/{userAddress}/{network}/{vaultAddress}'>(\n `/v2/portfolio/positions/${userAddress}/${network}/${vaultAddress}`,\n params\n )\n }\n\n async getDepositOptions(params: Params<'/v2/portfolio/best-deposit-options/{userAddress}'>) {\n const { userAddress } = params.path\n return await this.fetchData<'/v2/portfolio/best-deposit-options/{userAddress}'>(\n `/v2/portfolio/best-deposit-options/${userAddress}`,\n params\n )\n }\n\n async getAllVaults(params?: Params<'/v2/detailed-vaults'>) {\n return await this.fetchData<'/v2/detailed-vaults'>('/v2/detailed-vaults', params)\n }\n\n async getVault(params: Params<'/v2/detailed-vaults/{network}/{vaultAddress}'>) {\n const { network, vaultAddress } = params.path\n return await this.fetchData<'/v2/detailed-vaults/{network}/{vaultAddress}'>(\n `/v2/detailed-vaults/${network}/${vaultAddress}`,\n params\n )\n }\n\n async getIdleAssets(params: Params<'/v2/portfolio/idle-assets/{userAddress}'>) {\n const { userAddress } = params.path\n return await this.fetchData<'/v2/portfolio/idle-assets/{userAddress}'>(\n `/v2/portfolio/idle-assets/${userAddress}`,\n params\n )\n }\n\n async getTransactionsContext(params: Params<'/v2/transactions/context/{userAddress}/{network}/{vaultAddress}'>) {\n const { userAddress, network, vaultAddress } = params.path\n return await this.fetchData<'/v2/transactions/context/{userAddress}/{network}/{vaultAddress}'>(\n `/v2/transactions/context/${userAddress}/${network}/${vaultAddress}`,\n params\n )\n }\n\n async getActions(params: Params<'/v2/transactions/{action}/{userAddress}/{network}/{vaultAddress}'>) {\n const { action, userAddress, network, vaultAddress } = params.path\n return await this.fetchData<'/v2/transactions/{action}/{userAddress}/{network}/{vaultAddress}'>(\n `/v2/transactions/${action}/${userAddress}/${network}/${vaultAddress}`,\n params\n )\n }\n\n async getRewardsTransactionsContext(params: Params<'/v2/transactions/rewards/context/{userAddress}'>) {\n const { userAddress } = params.path\n return await this.fetchData<'/v2/transactions/rewards/context/{userAddress}'>(\n `/v2/transactions/rewards/context/${userAddress}`,\n params\n )\n }\n\n async getRewardsClaimActions(params: Params<'/v2/transactions/rewards/claim/{userAddress}'>) {\n const { userAddress } = params.path\n return await this.fetchData<'/v2/transactions/rewards/claim/{userAddress}'>(\n `/v2/transactions/rewards/claim/${userAddress}`,\n params\n )\n }\n\n async getUserVaultEvents(params: Params<'/v2/portfolio/events/{userAddress}/{network}/{vaultAddress}'>) {\n const { userAddress, network, vaultAddress } = params.path\n return await this.fetchData<'/v2/portfolio/events/{userAddress}/{network}/{vaultAddress}'>(\n `/v2/portfolio/events/${userAddress}/${network}/${vaultAddress}`,\n params\n )\n }\n\n async getUserVaultTotalReturns(params: Params<'/v2/portfolio/total-returns/{userAddress}/{network}/{vaultAddress}'>) {\n const { userAddress, network, vaultAddress } = params.path\n return await this.fetchData<'/v2/portfolio/total-returns/{userAddress}/{network}/{vaultAddress}'>(\n `/v2/portfolio/total-returns/${userAddress}/${network}/${vaultAddress}`,\n params\n )\n }\n}\n","export class HttpResponseError extends Error {}\n","export function generateQueryParams(\n queryParams: Record<string, string | number | boolean | null | undefined | bigint | string[]> | undefined\n): string {\n if (!queryParams || Object.keys(queryParams).length === 0) return ''\n\n const params = new URLSearchParams()\n for (const [key, value] of Object.entries(queryParams)) {\n if (value == null) continue\n\n if (Array.isArray(value)) {\n for (const item of value) {\n params.append(key, item)\n }\n } else {\n params.set(key, value.toString())\n }\n }\n\n return `?${params}`\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/client.ts","../src/errors.ts","../src/utils/generateQueryParams.ts"],"sourcesContent":["import { type Signer, wrapFetchWithPayment } from 'x402-fetch'\nimport { HttpResponseError } from './errors'\nimport type { paths } from './types/openapi'\nimport { generateQueryParams } from './utils/generateQueryParams'\n\nexport const SUPPORTED_NETWORKS = [\n 'mainnet',\n 'optimism',\n 'arbitrum',\n 'polygon',\n 'gnosis',\n 'base',\n 'unichain',\n 'swellchain',\n 'celo',\n 'worldchain',\n 'berachain',\n 'ink',\n 'bsc',\n 'hyperliquid',\n 'plasma',\n 'avalanche',\n] as const\n\ntype ConstructorOptions =\n | {\n apiKey: string\n }\n | {\n client: Signer\n }\n\ninterface InternalOptions {\n apiBaseUrl: string\n}\n\ntype Endpoint = keyof paths\ntype ExtractResponse<T> = T extends { responses: { 200: { content: { 'application/json': infer R } } } } ? R : never\ntype Response<T extends Endpoint> = ExtractResponse<paths[T]['get' | 'post']>\ntype ExtractParams<T> = T extends { parameters: infer P extends { path?: any; query?: any } }\n ? Pick<P, 'path' | 'query'>\n : never\n\ntype Body<T extends Endpoint> = paths[T]['post'] extends {\n requestBody: { content: { 'application/json': infer R } }\n}\n ? { body: R }\n : paths[T]['post'] extends {\n requestBody?: { content: { 'application/json': infer R } }\n }\n ? { body?: R }\n : undefined\n\ntype Params<T extends Endpoint> = Body<T> extends undefined\n ? ExtractParams<paths[T]['get' | 'post']>\n : ExtractParams<paths[T]['get' | 'post']> & Body<T>\n\nexport class VaultsSdk {\n private apiBaseUrl: string\n private auth: ConstructorOptions\n private authHeaders: { 'x-api-key': string } | { 'x-402-auth': 'true' }\n\n constructor(options: ConstructorOptions)\n constructor(options: ConstructorOptions, internalOptions: InternalOptions)\n constructor(options: ConstructorOptions, internalOptions?: InternalOptions) {\n this.auth = options\n if ('apiKey' in this.auth) {\n this.authHeaders = { 'x-api-key': this.auth.apiKey }\n } else {\n this.authHeaders = { 'x-402-auth': 'true' }\n }\n this.apiBaseUrl = internalOptions?.apiBaseUrl ?? 'https://api.vaults.fyi'\n }\n\n private async fetchData<T extends Endpoint>(\n endpoint: string,\n params?: T extends Endpoint ? Params<T> : never,\n method: 'POST' | 'GET' = 'GET'\n ): Promise<T extends Endpoint ? Response<T> : never> {\n const queryParams = generateQueryParams(params?.query)\n\n const body = params && 'body' in params ? params.body : undefined\n const stringifiedBody = body ? JSON.stringify(body) : undefined\n\n const wrappedFetch = 'apiKey' in this.auth ? fetch : wrapFetchWithPayment(fetch, this.auth.client)\n const response = await wrappedFetch(`${this.apiBaseUrl}${endpoint}${queryParams}`, {\n method,\n headers: {\n 'Content-Type': 'application/json',\n ...this.authHeaders,\n },\n body: stringifiedBody,\n })\n\n if (!response.ok) {\n const error = await response.json()\n throw new HttpResponseError(error.message)\n }\n\n return response.json()\n }\n\n async getAssets(params: Params<'/v2/assets'>) {\n return await this.fetchData<'/v2/assets'>('/v2/assets', params)\n }\n\n async getBenchmarks(params: Params<'/v2/benchmarks/{network}'>) {\n return await this.fetchData<'/v2/benchmarks/{network}'>(`/v2/benchmarks/${params.path.network}`, params)\n }\n\n async getHistoricalBenchmarks(params: Params<'/v2/historical-benchmarks/{network}'>) {\n return await this.fetchData<'/v2/historical-benchmarks/{network}'>(\n `/v2/historical-benchmarks/${params.path.network}`,\n params\n )\n }\n\n async getVaultHistoricalData(params: Params<'/v2/historical/{network}/{vaultAddress}'>) {\n const { network, vaultAddress } = params.path\n return await this.fetchData<'/v2/historical/{network}/{vaultAddress}'>(\n `/v2/historical/${network}/${vaultAddress}`,\n params\n )\n }\n\n async getVaultHistoricalApy(params: Params<'/v2/historical/{network}/{vaultAddress}/apy'>) {\n const { network, vaultAddress } = params.path\n return await this.fetchData<'/v2/historical/{network}/{vaultAddress}/apy'>(\n `/v2/historical/${network}/${vaultAddress}/apy`,\n params\n )\n }\n\n async getVaultHistoricalTvl(params: Params<'/v2/historical/{network}/{vaultAddress}/tvl'>) {\n const { network, vaultAddress } = params.path\n return await this.fetchData<'/v2/historical/{network}/{vaultAddress}/tvl'>(\n `/v2/historical/${network}/${vaultAddress}/tvl`,\n params\n )\n }\n\n async getVaultHistoricalSharePrice(params: Params<'/v2/historical/{network}/{vaultAddress}/sharePrice'>) {\n const { network, vaultAddress } = params.path\n return await this.fetchData<'/v2/historical/{network}/{vaultAddress}/sharePrice'>(\n `/v2/historical/${network}/${vaultAddress}/sharePrice`,\n params\n )\n }\n\n async getPositions(params: Params<'/v2/portfolio/positions/{userAddress}'>) {\n const { userAddress } = params.path\n return await this.fetchData<'/v2/portfolio/positions/{userAddress}'>(\n `/v2/portfolio/positions/${userAddress}`,\n params\n )\n }\n\n async getPosition(params: Params<'/v2/portfolio/positions/{userAddress}/{network}/{vaultAddress}'>) {\n const { userAddress, network, vaultAddress } = params.path\n return await this.fetchData<'/v2/portfolio/positions/{userAddress}/{network}/{vaultAddress}'>(\n `/v2/portfolio/positions/${userAddress}/${network}/${vaultAddress}`,\n params\n )\n }\n\n async getDepositOptions(params: Params<'/v2/portfolio/best-deposit-options/{userAddress}'>) {\n const { userAddress } = params.path\n return await this.fetchData<'/v2/portfolio/best-deposit-options/{userAddress}'>(\n `/v2/portfolio/best-deposit-options/${userAddress}`,\n params\n )\n }\n\n async getAllVaults(params?: Params<'/v2/detailed-vaults'>) {\n return await this.fetchData<'/v2/detailed-vaults'>('/v2/detailed-vaults', params)\n }\n\n async getVault(params: Params<'/v2/detailed-vaults/{network}/{vaultAddress}'>) {\n const { network, vaultAddress } = params.path\n return await this.fetchData<'/v2/detailed-vaults/{network}/{vaultAddress}'>(\n `/v2/detailed-vaults/${network}/${vaultAddress}`,\n params\n )\n }\n\n async getIdleAssets(params: Params<'/v2/portfolio/idle-assets/{userAddress}'>) {\n const { userAddress } = params.path\n return await this.fetchData<'/v2/portfolio/idle-assets/{userAddress}'>(\n `/v2/portfolio/idle-assets/${userAddress}`,\n params\n )\n }\n\n async getTransactionsContext(params: Params<'/v2/transactions/context/{userAddress}/{network}/{vaultAddress}'>) {\n const { userAddress, network, vaultAddress } = params.path\n return await this.fetchData<'/v2/transactions/context/{userAddress}/{network}/{vaultAddress}'>(\n `/v2/transactions/context/${userAddress}/${network}/${vaultAddress}`,\n params\n )\n }\n\n async getActions(params: Params<'/v2/transactions/{action}/{userAddress}/{network}/{vaultAddress}'>) {\n const { action, userAddress, network, vaultAddress } = params.path\n return await this.fetchData<'/v2/transactions/{action}/{userAddress}/{network}/{vaultAddress}'>(\n `/v2/transactions/${action}/${userAddress}/${network}/${vaultAddress}`,\n params\n )\n }\n\n async getRewardsTransactionsContext(params: Params<'/v2/transactions/rewards/context/{userAddress}'>) {\n const { userAddress } = params.path\n return await this.fetchData<'/v2/transactions/rewards/context/{userAddress}'>(\n `/v2/transactions/rewards/context/${userAddress}`,\n params\n )\n }\n\n async getRewardsClaimActions(params: Params<'/v2/transactions/rewards/claim/{userAddress}'>) {\n const { userAddress } = params.path\n return await this.fetchData<'/v2/transactions/rewards/claim/{userAddress}'>(\n `/v2/transactions/rewards/claim/${userAddress}`,\n params\n )\n }\n\n async getUserVaultEvents(params: Params<'/v2/portfolio/events/{userAddress}/{network}/{vaultAddress}'>) {\n const { userAddress, network, vaultAddress } = params.path\n return await this.fetchData<'/v2/portfolio/events/{userAddress}/{network}/{vaultAddress}'>(\n `/v2/portfolio/events/${userAddress}/${network}/${vaultAddress}`,\n params\n )\n }\n\n async getUserVaultTotalReturns(params: Params<'/v2/portfolio/total-returns/{userAddress}/{network}/{vaultAddress}'>) {\n const { userAddress, network, vaultAddress } = params.path\n return await this.fetchData<'/v2/portfolio/total-returns/{userAddress}/{network}/{vaultAddress}'>(\n `/v2/portfolio/total-returns/${userAddress}/${network}/${vaultAddress}`,\n params\n )\n }\n}\n","export class HttpResponseError extends Error {}\n","export function generateQueryParams(\n queryParams: Record<string, string | number | boolean | null | undefined | bigint | string[]> | undefined\n): string {\n if (!queryParams || Object.keys(queryParams).length === 0) return ''\n\n const params = new URLSearchParams()\n for (const [key, value] of Object.entries(queryParams)) {\n if (value == null) continue\n\n if (Array.isArray(value)) {\n for (const item of value) {\n params.append(key, item)\n }\n } else {\n params.set(key, value.toString())\n }\n }\n\n return `?${params}`\n}\n"],"mappings":"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","names":[]}
|
package/dist/client.mjs
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// src/client.ts
|
|
2
|
+
import { wrapFetchWithPayment } from "x402-fetch";
|
|
3
|
+
|
|
1
4
|
// src/errors.ts
|
|
2
5
|
var HttpResponseError = class extends Error {
|
|
3
6
|
};
|
|
@@ -20,22 +23,47 @@ function generateQueryParams(queryParams) {
|
|
|
20
23
|
}
|
|
21
24
|
|
|
22
25
|
// src/client.ts
|
|
26
|
+
var SUPPORTED_NETWORKS = [
|
|
27
|
+
"mainnet",
|
|
28
|
+
"optimism",
|
|
29
|
+
"arbitrum",
|
|
30
|
+
"polygon",
|
|
31
|
+
"gnosis",
|
|
32
|
+
"base",
|
|
33
|
+
"unichain",
|
|
34
|
+
"swellchain",
|
|
35
|
+
"celo",
|
|
36
|
+
"worldchain",
|
|
37
|
+
"berachain",
|
|
38
|
+
"ink",
|
|
39
|
+
"bsc",
|
|
40
|
+
"hyperliquid",
|
|
41
|
+
"plasma",
|
|
42
|
+
"avalanche"
|
|
43
|
+
];
|
|
23
44
|
var VaultsSdk = class {
|
|
24
45
|
apiBaseUrl;
|
|
25
|
-
|
|
46
|
+
auth;
|
|
47
|
+
authHeaders;
|
|
26
48
|
constructor(options, internalOptions) {
|
|
27
|
-
this.
|
|
49
|
+
this.auth = options;
|
|
50
|
+
if ("apiKey" in this.auth) {
|
|
51
|
+
this.authHeaders = { "x-api-key": this.auth.apiKey };
|
|
52
|
+
} else {
|
|
53
|
+
this.authHeaders = { "x-402-auth": "true" };
|
|
54
|
+
}
|
|
28
55
|
this.apiBaseUrl = internalOptions?.apiBaseUrl ?? "https://api.vaults.fyi";
|
|
29
56
|
}
|
|
30
57
|
async fetchData(endpoint, params, method = "GET") {
|
|
31
58
|
const queryParams = generateQueryParams(params?.query);
|
|
32
59
|
const body = params && "body" in params ? params.body : void 0;
|
|
33
60
|
const stringifiedBody = body ? JSON.stringify(body) : void 0;
|
|
34
|
-
const
|
|
61
|
+
const wrappedFetch = "apiKey" in this.auth ? fetch : wrapFetchWithPayment(fetch, this.auth.client);
|
|
62
|
+
const response = await wrappedFetch(`${this.apiBaseUrl}${endpoint}${queryParams}`, {
|
|
35
63
|
method,
|
|
36
64
|
headers: {
|
|
37
65
|
"Content-Type": "application/json",
|
|
38
|
-
|
|
66
|
+
...this.authHeaders
|
|
39
67
|
},
|
|
40
68
|
body: stringifiedBody
|
|
41
69
|
});
|
|
@@ -167,6 +195,7 @@ var VaultsSdk = class {
|
|
|
167
195
|
}
|
|
168
196
|
};
|
|
169
197
|
export {
|
|
198
|
+
SUPPORTED_NETWORKS,
|
|
170
199
|
VaultsSdk
|
|
171
200
|
};
|
|
172
201
|
//# sourceMappingURL=client.mjs.map
|
package/dist/client.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/errors.ts","../src/utils/generateQueryParams.ts","../src/client.ts"],"sourcesContent":["export class HttpResponseError extends Error {}\n","export function generateQueryParams(\n queryParams: Record<string, string | number | boolean | null | undefined | bigint | string[]> | undefined\n): string {\n if (!queryParams || Object.keys(queryParams).length === 0) return ''\n\n const params = new URLSearchParams()\n for (const [key, value] of Object.entries(queryParams)) {\n if (value == null) continue\n\n if (Array.isArray(value)) {\n for (const item of value) {\n params.append(key, item)\n }\n } else {\n params.set(key, value.toString())\n }\n }\n\n return `?${params}`\n}\n","import { HttpResponseError } from './errors'\nimport type { paths } from './types/openapi'\nimport { generateQueryParams } from './utils/generateQueryParams'\n\ninterface ConstructorOptions {\n apiKey: string\n}\n\ninterface InternalOptions {\n apiBaseUrl: string\n}\n\ntype Endpoint = keyof paths\ntype ExtractResponse<T> = T extends { responses: { 200: { content: { 'application/json': infer R } } } } ? R : never\ntype Response<T extends Endpoint> = ExtractResponse<paths[T]['get' | 'post']>\ntype ExtractParams<T> = T extends { parameters: infer P extends { path?: any; query?: any } }\n ? Pick<P, 'path' | 'query'>\n : never\n\ntype Body<T extends Endpoint> = paths[T]['post'] extends {\n requestBody: { content: { 'application/json': infer R } }\n}\n ? { body: R }\n : paths[T]['post'] extends {\n requestBody?: { content: { 'application/json': infer R } }\n }\n ? { body?: R }\n : undefined\n\ntype Params<T extends Endpoint> = Body<T> extends undefined\n ? ExtractParams<paths[T]['get' | 'post']>\n : ExtractParams<paths[T]['get' | 'post']> & Body<T>\n\nexport class VaultsSdk {\n private apiBaseUrl: string\n private apiKey: string\n\n constructor(options: ConstructorOptions)\n constructor(options: ConstructorOptions, internalOptions: InternalOptions)\n constructor(options: ConstructorOptions, internalOptions?: InternalOptions) {\n this.apiKey = options.apiKey\n this.apiBaseUrl = internalOptions?.apiBaseUrl ?? 'https://api.vaults.fyi'\n }\n\n private async fetchData<T extends Endpoint>(\n endpoint: string,\n params?: T extends Endpoint ? Params<T> : never,\n method: 'POST' | 'GET' = 'GET'\n ): Promise<T extends Endpoint ? Response<T> : never> {\n const queryParams = generateQueryParams(params?.query)\n\n const body = params && 'body' in params ? params.body : undefined\n const stringifiedBody = body ? JSON.stringify(body) : undefined\n\n const response = await fetch(`${this.apiBaseUrl}${endpoint}${queryParams}`, {\n method,\n headers: {\n 'Content-Type': 'application/json',\n 'x-api-key': this.apiKey,\n },\n body: stringifiedBody,\n })\n\n if (!response.ok) {\n const error = await response.json()\n throw new HttpResponseError(error.message)\n }\n\n return response.json()\n }\n\n async getAssets(params: Params<'/v2/assets'>) {\n return await this.fetchData<'/v2/assets'>('/v2/assets', params)\n }\n\n async getBenchmarks(params: Params<'/v2/benchmarks/{network}'>) {\n return await this.fetchData<'/v2/benchmarks/{network}'>(`/v2/benchmarks/${params.path.network}`, params)\n }\n\n async getHistoricalBenchmarks(params: Params<'/v2/historical-benchmarks/{network}'>) {\n return await this.fetchData<'/v2/historical-benchmarks/{network}'>(\n `/v2/historical-benchmarks/${params.path.network}`,\n params\n )\n }\n\n async getVaultHistoricalData(params: Params<'/v2/historical/{network}/{vaultAddress}'>) {\n const { network, vaultAddress } = params.path\n return await this.fetchData<'/v2/historical/{network}/{vaultAddress}'>(\n `/v2/historical/${network}/${vaultAddress}`,\n params\n )\n }\n\n async getVaultHistoricalApy(params: Params<'/v2/historical/{network}/{vaultAddress}/apy'>) {\n const { network, vaultAddress } = params.path\n return await this.fetchData<'/v2/historical/{network}/{vaultAddress}/apy'>(\n `/v2/historical/${network}/${vaultAddress}/apy`,\n params\n )\n }\n\n async getVaultHistoricalTvl(params: Params<'/v2/historical/{network}/{vaultAddress}/tvl'>) {\n const { network, vaultAddress } = params.path\n return await this.fetchData<'/v2/historical/{network}/{vaultAddress}/tvl'>(\n `/v2/historical/${network}/${vaultAddress}/tvl`,\n params\n )\n }\n\n async getVaultHistoricalSharePrice(params: Params<'/v2/historical/{network}/{vaultAddress}/sharePrice'>) {\n const { network, vaultAddress } = params.path\n return await this.fetchData<'/v2/historical/{network}/{vaultAddress}/sharePrice'>(\n `/v2/historical/${network}/${vaultAddress}/sharePrice`,\n params\n )\n }\n\n async getPositions(params: Params<'/v2/portfolio/positions/{userAddress}'>) {\n const { userAddress } = params.path\n return await this.fetchData<'/v2/portfolio/positions/{userAddress}'>(\n `/v2/portfolio/positions/${userAddress}`,\n params\n )\n }\n\n async getPosition(params: Params<'/v2/portfolio/positions/{userAddress}/{network}/{vaultAddress}'>) {\n const { userAddress, network, vaultAddress } = params.path\n return await this.fetchData<'/v2/portfolio/positions/{userAddress}/{network}/{vaultAddress}'>(\n `/v2/portfolio/positions/${userAddress}/${network}/${vaultAddress}`,\n params\n )\n }\n\n async getDepositOptions(params: Params<'/v2/portfolio/best-deposit-options/{userAddress}'>) {\n const { userAddress } = params.path\n return await this.fetchData<'/v2/portfolio/best-deposit-options/{userAddress}'>(\n `/v2/portfolio/best-deposit-options/${userAddress}`,\n params\n )\n }\n\n async getAllVaults(params?: Params<'/v2/detailed-vaults'>) {\n return await this.fetchData<'/v2/detailed-vaults'>('/v2/detailed-vaults', params)\n }\n\n async getVault(params: Params<'/v2/detailed-vaults/{network}/{vaultAddress}'>) {\n const { network, vaultAddress } = params.path\n return await this.fetchData<'/v2/detailed-vaults/{network}/{vaultAddress}'>(\n `/v2/detailed-vaults/${network}/${vaultAddress}`,\n params\n )\n }\n\n async getIdleAssets(params: Params<'/v2/portfolio/idle-assets/{userAddress}'>) {\n const { userAddress } = params.path\n return await this.fetchData<'/v2/portfolio/idle-assets/{userAddress}'>(\n `/v2/portfolio/idle-assets/${userAddress}`,\n params\n )\n }\n\n async getTransactionsContext(params: Params<'/v2/transactions/context/{userAddress}/{network}/{vaultAddress}'>) {\n const { userAddress, network, vaultAddress } = params.path\n return await this.fetchData<'/v2/transactions/context/{userAddress}/{network}/{vaultAddress}'>(\n `/v2/transactions/context/${userAddress}/${network}/${vaultAddress}`,\n params\n )\n }\n\n async getActions(params: Params<'/v2/transactions/{action}/{userAddress}/{network}/{vaultAddress}'>) {\n const { action, userAddress, network, vaultAddress } = params.path\n return await this.fetchData<'/v2/transactions/{action}/{userAddress}/{network}/{vaultAddress}'>(\n `/v2/transactions/${action}/${userAddress}/${network}/${vaultAddress}`,\n params\n )\n }\n\n async getRewardsTransactionsContext(params: Params<'/v2/transactions/rewards/context/{userAddress}'>) {\n const { userAddress } = params.path\n return await this.fetchData<'/v2/transactions/rewards/context/{userAddress}'>(\n `/v2/transactions/rewards/context/${userAddress}`,\n params\n )\n }\n\n async getRewardsClaimActions(params: Params<'/v2/transactions/rewards/claim/{userAddress}'>) {\n const { userAddress } = params.path\n return await this.fetchData<'/v2/transactions/rewards/claim/{userAddress}'>(\n `/v2/transactions/rewards/claim/${userAddress}`,\n params\n )\n }\n\n async getUserVaultEvents(params: Params<'/v2/portfolio/events/{userAddress}/{network}/{vaultAddress}'>) {\n const { userAddress, network, vaultAddress } = params.path\n return await this.fetchData<'/v2/portfolio/events/{userAddress}/{network}/{vaultAddress}'>(\n `/v2/portfolio/events/${userAddress}/${network}/${vaultAddress}`,\n params\n )\n }\n\n async getUserVaultTotalReturns(params: Params<'/v2/portfolio/total-returns/{userAddress}/{network}/{vaultAddress}'>) {\n const { userAddress, network, vaultAddress } = params.path\n return await this.fetchData<'/v2/portfolio/total-returns/{userAddress}/{network}/{vaultAddress}'>(\n `/v2/portfolio/total-returns/${userAddress}/${network}/${vaultAddress}`,\n params\n )\n }\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/client.ts","../src/errors.ts","../src/utils/generateQueryParams.ts"],"sourcesContent":["import { type Signer, wrapFetchWithPayment } from 'x402-fetch'\nimport { HttpResponseError } from './errors'\nimport type { paths } from './types/openapi'\nimport { generateQueryParams } from './utils/generateQueryParams'\n\nexport const SUPPORTED_NETWORKS = [\n 'mainnet',\n 'optimism',\n 'arbitrum',\n 'polygon',\n 'gnosis',\n 'base',\n 'unichain',\n 'swellchain',\n 'celo',\n 'worldchain',\n 'berachain',\n 'ink',\n 'bsc',\n 'hyperliquid',\n 'plasma',\n 'avalanche',\n] as const\n\ntype ConstructorOptions =\n | {\n apiKey: string\n }\n | {\n client: Signer\n }\n\ninterface InternalOptions {\n apiBaseUrl: string\n}\n\ntype Endpoint = keyof paths\ntype ExtractResponse<T> = T extends { responses: { 200: { content: { 'application/json': infer R } } } } ? R : never\ntype Response<T extends Endpoint> = ExtractResponse<paths[T]['get' | 'post']>\ntype ExtractParams<T> = T extends { parameters: infer P extends { path?: any; query?: any } }\n ? Pick<P, 'path' | 'query'>\n : never\n\ntype Body<T extends Endpoint> = paths[T]['post'] extends {\n requestBody: { content: { 'application/json': infer R } }\n}\n ? { body: R }\n : paths[T]['post'] extends {\n requestBody?: { content: { 'application/json': infer R } }\n }\n ? { body?: R }\n : undefined\n\ntype Params<T extends Endpoint> = Body<T> extends undefined\n ? ExtractParams<paths[T]['get' | 'post']>\n : ExtractParams<paths[T]['get' | 'post']> & Body<T>\n\nexport class VaultsSdk {\n private apiBaseUrl: string\n private auth: ConstructorOptions\n private authHeaders: { 'x-api-key': string } | { 'x-402-auth': 'true' }\n\n constructor(options: ConstructorOptions)\n constructor(options: ConstructorOptions, internalOptions: InternalOptions)\n constructor(options: ConstructorOptions, internalOptions?: InternalOptions) {\n this.auth = options\n if ('apiKey' in this.auth) {\n this.authHeaders = { 'x-api-key': this.auth.apiKey }\n } else {\n this.authHeaders = { 'x-402-auth': 'true' }\n }\n this.apiBaseUrl = internalOptions?.apiBaseUrl ?? 'https://api.vaults.fyi'\n }\n\n private async fetchData<T extends Endpoint>(\n endpoint: string,\n params?: T extends Endpoint ? Params<T> : never,\n method: 'POST' | 'GET' = 'GET'\n ): Promise<T extends Endpoint ? Response<T> : never> {\n const queryParams = generateQueryParams(params?.query)\n\n const body = params && 'body' in params ? params.body : undefined\n const stringifiedBody = body ? JSON.stringify(body) : undefined\n\n const wrappedFetch = 'apiKey' in this.auth ? fetch : wrapFetchWithPayment(fetch, this.auth.client)\n const response = await wrappedFetch(`${this.apiBaseUrl}${endpoint}${queryParams}`, {\n method,\n headers: {\n 'Content-Type': 'application/json',\n ...this.authHeaders,\n },\n body: stringifiedBody,\n })\n\n if (!response.ok) {\n const error = await response.json()\n throw new HttpResponseError(error.message)\n }\n\n return response.json()\n }\n\n async getAssets(params: Params<'/v2/assets'>) {\n return await this.fetchData<'/v2/assets'>('/v2/assets', params)\n }\n\n async getBenchmarks(params: Params<'/v2/benchmarks/{network}'>) {\n return await this.fetchData<'/v2/benchmarks/{network}'>(`/v2/benchmarks/${params.path.network}`, params)\n }\n\n async getHistoricalBenchmarks(params: Params<'/v2/historical-benchmarks/{network}'>) {\n return await this.fetchData<'/v2/historical-benchmarks/{network}'>(\n `/v2/historical-benchmarks/${params.path.network}`,\n params\n )\n }\n\n async getVaultHistoricalData(params: Params<'/v2/historical/{network}/{vaultAddress}'>) {\n const { network, vaultAddress } = params.path\n return await this.fetchData<'/v2/historical/{network}/{vaultAddress}'>(\n `/v2/historical/${network}/${vaultAddress}`,\n params\n )\n }\n\n async getVaultHistoricalApy(params: Params<'/v2/historical/{network}/{vaultAddress}/apy'>) {\n const { network, vaultAddress } = params.path\n return await this.fetchData<'/v2/historical/{network}/{vaultAddress}/apy'>(\n `/v2/historical/${network}/${vaultAddress}/apy`,\n params\n )\n }\n\n async getVaultHistoricalTvl(params: Params<'/v2/historical/{network}/{vaultAddress}/tvl'>) {\n const { network, vaultAddress } = params.path\n return await this.fetchData<'/v2/historical/{network}/{vaultAddress}/tvl'>(\n `/v2/historical/${network}/${vaultAddress}/tvl`,\n params\n )\n }\n\n async getVaultHistoricalSharePrice(params: Params<'/v2/historical/{network}/{vaultAddress}/sharePrice'>) {\n const { network, vaultAddress } = params.path\n return await this.fetchData<'/v2/historical/{network}/{vaultAddress}/sharePrice'>(\n `/v2/historical/${network}/${vaultAddress}/sharePrice`,\n params\n )\n }\n\n async getPositions(params: Params<'/v2/portfolio/positions/{userAddress}'>) {\n const { userAddress } = params.path\n return await this.fetchData<'/v2/portfolio/positions/{userAddress}'>(\n `/v2/portfolio/positions/${userAddress}`,\n params\n )\n }\n\n async getPosition(params: Params<'/v2/portfolio/positions/{userAddress}/{network}/{vaultAddress}'>) {\n const { userAddress, network, vaultAddress } = params.path\n return await this.fetchData<'/v2/portfolio/positions/{userAddress}/{network}/{vaultAddress}'>(\n `/v2/portfolio/positions/${userAddress}/${network}/${vaultAddress}`,\n params\n )\n }\n\n async getDepositOptions(params: Params<'/v2/portfolio/best-deposit-options/{userAddress}'>) {\n const { userAddress } = params.path\n return await this.fetchData<'/v2/portfolio/best-deposit-options/{userAddress}'>(\n `/v2/portfolio/best-deposit-options/${userAddress}`,\n params\n )\n }\n\n async getAllVaults(params?: Params<'/v2/detailed-vaults'>) {\n return await this.fetchData<'/v2/detailed-vaults'>('/v2/detailed-vaults', params)\n }\n\n async getVault(params: Params<'/v2/detailed-vaults/{network}/{vaultAddress}'>) {\n const { network, vaultAddress } = params.path\n return await this.fetchData<'/v2/detailed-vaults/{network}/{vaultAddress}'>(\n `/v2/detailed-vaults/${network}/${vaultAddress}`,\n params\n )\n }\n\n async getIdleAssets(params: Params<'/v2/portfolio/idle-assets/{userAddress}'>) {\n const { userAddress } = params.path\n return await this.fetchData<'/v2/portfolio/idle-assets/{userAddress}'>(\n `/v2/portfolio/idle-assets/${userAddress}`,\n params\n )\n }\n\n async getTransactionsContext(params: Params<'/v2/transactions/context/{userAddress}/{network}/{vaultAddress}'>) {\n const { userAddress, network, vaultAddress } = params.path\n return await this.fetchData<'/v2/transactions/context/{userAddress}/{network}/{vaultAddress}'>(\n `/v2/transactions/context/${userAddress}/${network}/${vaultAddress}`,\n params\n )\n }\n\n async getActions(params: Params<'/v2/transactions/{action}/{userAddress}/{network}/{vaultAddress}'>) {\n const { action, userAddress, network, vaultAddress } = params.path\n return await this.fetchData<'/v2/transactions/{action}/{userAddress}/{network}/{vaultAddress}'>(\n `/v2/transactions/${action}/${userAddress}/${network}/${vaultAddress}`,\n params\n )\n }\n\n async getRewardsTransactionsContext(params: Params<'/v2/transactions/rewards/context/{userAddress}'>) {\n const { userAddress } = params.path\n return await this.fetchData<'/v2/transactions/rewards/context/{userAddress}'>(\n `/v2/transactions/rewards/context/${userAddress}`,\n params\n )\n }\n\n async getRewardsClaimActions(params: Params<'/v2/transactions/rewards/claim/{userAddress}'>) {\n const { userAddress } = params.path\n return await this.fetchData<'/v2/transactions/rewards/claim/{userAddress}'>(\n `/v2/transactions/rewards/claim/${userAddress}`,\n params\n )\n }\n\n async getUserVaultEvents(params: Params<'/v2/portfolio/events/{userAddress}/{network}/{vaultAddress}'>) {\n const { userAddress, network, vaultAddress } = params.path\n return await this.fetchData<'/v2/portfolio/events/{userAddress}/{network}/{vaultAddress}'>(\n `/v2/portfolio/events/${userAddress}/${network}/${vaultAddress}`,\n params\n )\n }\n\n async getUserVaultTotalReturns(params: Params<'/v2/portfolio/total-returns/{userAddress}/{network}/{vaultAddress}'>) {\n const { userAddress, network, vaultAddress } = params.path\n return await this.fetchData<'/v2/portfolio/total-returns/{userAddress}/{network}/{vaultAddress}'>(\n `/v2/portfolio/total-returns/${userAddress}/${network}/${vaultAddress}`,\n params\n )\n }\n}\n","export class HttpResponseError extends Error {}\n","export function generateQueryParams(\n queryParams: Record<string, string | number | boolean | null | undefined | bigint | string[]> | undefined\n): string {\n if (!queryParams || Object.keys(queryParams).length === 0) return ''\n\n const params = new URLSearchParams()\n for (const [key, value] of Object.entries(queryParams)) {\n if (value == null) continue\n\n if (Array.isArray(value)) {\n for (const item of value) {\n params.append(key, item)\n }\n } else {\n params.set(key, value.toString())\n }\n }\n\n return `?${params}`\n}\n"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vaultsfyi/sdk",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.7",
|
|
4
4
|
"description": "An SDK for interacting with the Vaults.fyi API",
|
|
5
5
|
"main": "./dist/client.js",
|
|
6
6
|
"module": "./dist/client.mjs",
|
|
7
7
|
"publishConfig": {
|
|
8
8
|
"access": "public"
|
|
9
9
|
},
|
|
10
|
-
"files": [
|
|
10
|
+
"files": [
|
|
11
|
+
"dist",
|
|
12
|
+
"README.md",
|
|
13
|
+
"CHANGELOG.md"
|
|
14
|
+
],
|
|
11
15
|
"scripts": {
|
|
12
16
|
"updateOpenApiSchema": "openapi-typescript http://api.vaults.fyi/v2/documentation/json -o ./src/types/openapi.ts && biome check ./src/types/openapi.ts --write",
|
|
13
17
|
"typecheck": "tsc --noEmit",
|
|
@@ -23,5 +27,8 @@
|
|
|
23
27
|
"tsup": "^8.4.0",
|
|
24
28
|
"typescript": "5.5.4",
|
|
25
29
|
"vitest": "3.2.3"
|
|
30
|
+
},
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"x402-fetch": "0.7.0"
|
|
26
33
|
}
|
|
27
34
|
}
|