@gauntlet-xyz/sdk 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/attribution/erc8021.d.ts +7 -0
- package/dist/attribution/erc8021.d.ts.map +1 -0
- package/dist/attribution/erc8021.js +13 -3
- package/dist/attribution/erc8021.js.map +1 -1
- package/dist/attribution/index.d.ts +9 -0
- package/dist/attribution/index.d.ts.map +1 -0
- package/dist/attribution/index.js +8 -0
- package/dist/attribution/index.js.map +1 -1
- package/dist/client.d.ts +36 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +35 -0
- package/dist/client.js.map +1 -1
- package/dist/errors.d.ts +1 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/evm/abis/erc20.d.ts +1 -0
- package/dist/evm/abis/erc20.d.ts.map +1 -0
- package/dist/evm/abis/erc4626.d.ts +1 -0
- package/dist/evm/abis/erc4626.d.ts.map +1 -0
- package/dist/evm/abis/multiDepositorVault.d.ts +1 -0
- package/dist/evm/abis/multiDepositorVault.d.ts.map +1 -0
- package/dist/evm/abis/priceAndFeeCalculator.d.ts +1 -0
- package/dist/evm/abis/priceAndFeeCalculator.d.ts.map +1 -0
- package/dist/evm/abis/provisioner.d.ts +1 -0
- package/dist/evm/abis/provisioner.d.ts.map +1 -0
- package/dist/evm/abis/provisioner.js +30 -0
- package/dist/evm/abis/provisioner.js.map +1 -1
- package/dist/evm/adapters/aera.d.ts +1 -0
- package/dist/evm/adapters/aera.d.ts.map +1 -0
- package/dist/evm/adapters/aera.js +31 -2
- package/dist/evm/adapters/aera.js.map +1 -1
- package/dist/evm/adapters/index.d.ts +1 -0
- package/dist/evm/adapters/index.d.ts.map +1 -0
- package/dist/evm/adapters/morpho.d.ts +1 -0
- package/dist/evm/adapters/morpho.d.ts.map +1 -0
- package/dist/evm/adapters/types.d.ts +4 -0
- package/dist/evm/adapters/types.d.ts.map +1 -0
- package/dist/evm/aeraContracts.d.ts +5 -0
- package/dist/evm/aeraContracts.d.ts.map +1 -0
- package/dist/evm/aeraContracts.js +4 -0
- package/dist/evm/aeraContracts.js.map +1 -1
- package/dist/evm/deposit.d.ts +31 -0
- package/dist/evm/deposit.d.ts.map +1 -0
- package/dist/evm/deposit.js +29 -0
- package/dist/evm/deposit.js.map +1 -1
- package/dist/evm/index.d.ts +1 -0
- package/dist/evm/index.d.ts.map +1 -0
- package/dist/evm/types.d.ts +3 -0
- package/dist/evm/types.d.ts.map +1 -0
- package/dist/evm/userCurrentBalance.d.ts +35 -0
- package/dist/evm/userCurrentBalance.d.ts.map +1 -0
- package/dist/evm/userCurrentBalance.js +37 -0
- package/dist/evm/userCurrentBalance.js.map +1 -1
- package/dist/evm/vaults.d.ts +21 -0
- package/dist/evm/vaults.d.ts.map +1 -0
- package/dist/evm/vaults.js +23 -0
- package/dist/evm/vaults.js.map +1 -1
- package/dist/evm/withdraw.d.ts +37 -0
- package/dist/evm/withdraw.d.ts.map +1 -0
- package/dist/evm/withdraw.js +34 -0
- package/dist/evm/withdraw.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/manifest/vaults.json +1592 -24
- package/package.json +11 -4
- package/src/attribution/erc8021.ts +8 -4
- package/src/attribution/index.ts +1 -1
- package/dist/manifest/vaults.json +0 -139
- package/dist/src/attribution/erc8021.d.ts +0 -2
- package/dist/src/attribution/erc8021.js +0 -7
- package/dist/src/attribution/erc8021.js.map +0 -1
- package/dist/src/attribution/index.d.ts +0 -16
- package/dist/src/attribution/index.js +0 -37
- package/dist/src/attribution/index.js.map +0 -1
- package/dist/src/client.d.ts +0 -28
- package/dist/src/client.js +0 -35
- package/dist/src/client.js.map +0 -1
- package/dist/src/errors.d.ts +0 -55
- package/dist/src/errors.js +0 -97
- package/dist/src/errors.js.map +0 -1
- package/dist/src/evm/abis/erc20.d.ts +0 -40
- package/dist/src/evm/abis/erc20.js +0 -30
- package/dist/src/evm/abis/erc20.js.map +0 -1
- package/dist/src/evm/abis/erc4626.d.ts +0 -104
- package/dist/src/evm/abis/erc4626.js +0 -70
- package/dist/src/evm/abis/erc4626.js.map +0 -1
- package/dist/src/evm/abis/multiDepositorVault.d.ts +0 -1047
- package/dist/src/evm/abis/multiDepositorVault.js +0 -587
- package/dist/src/evm/abis/multiDepositorVault.js.map +0 -1
- package/dist/src/evm/abis/priceAndFeeCalculator.d.ts +0 -909
- package/dist/src/evm/abis/priceAndFeeCalculator.js +0 -490
- package/dist/src/evm/abis/priceAndFeeCalculator.js.map +0 -1
- package/dist/src/evm/abis/provisioner.d.ts +0 -4983
- package/dist/src/evm/abis/provisioner.js +0 -2738
- package/dist/src/evm/abis/provisioner.js.map +0 -1
- package/dist/src/evm/adapters/aera.d.ts +0 -5
- package/dist/src/evm/adapters/aera.js +0 -144
- package/dist/src/evm/adapters/aera.js.map +0 -1
- package/dist/src/evm/adapters/index.d.ts +0 -2
- package/dist/src/evm/adapters/index.js +0 -14
- package/dist/src/evm/adapters/index.js.map +0 -1
- package/dist/src/evm/adapters/morpho.d.ts +0 -2
- package/dist/src/evm/adapters/morpho.js +0 -79
- package/dist/src/evm/adapters/morpho.js.map +0 -1
- package/dist/src/evm/adapters/types.d.ts +0 -65
- package/dist/src/evm/adapters/types.js +0 -2
- package/dist/src/evm/adapters/types.js.map +0 -1
- package/dist/src/evm/aeraContracts.d.ts +0 -2315
- package/dist/src/evm/aeraContracts.js +0 -37
- package/dist/src/evm/aeraContracts.js.map +0 -1
- package/dist/src/evm/deposit.d.ts +0 -13
- package/dist/src/evm/deposit.js +0 -66
- package/dist/src/evm/deposit.js.map +0 -1
- package/dist/src/evm/index.d.ts +0 -10
- package/dist/src/evm/index.js +0 -5
- package/dist/src/evm/index.js.map +0 -1
- package/dist/src/evm/types.d.ts +0 -27
- package/dist/src/evm/types.js +0 -2
- package/dist/src/evm/types.js.map +0 -1
- package/dist/src/evm/userCurrentBalance.d.ts +0 -16
- package/dist/src/evm/userCurrentBalance.js +0 -164
- package/dist/src/evm/userCurrentBalance.js.map +0 -1
- package/dist/src/evm/vaults.d.ts +0 -17
- package/dist/src/evm/vaults.js +0 -39
- package/dist/src/evm/vaults.js.map +0 -1
- package/dist/src/evm/withdraw.d.ts +0 -24
- package/dist/src/evm/withdraw.js +0 -51
- package/dist/src/evm/withdraw.js.map +0 -1
- package/dist/src/index.d.ts +0 -7
- package/dist/src/index.js +0 -4
- package/dist/src/index.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aeraContracts.d.ts","sourceRoot":"","sources":["../../src/evm/aeraContracts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,qBAAqB,EAAe,MAAM,MAAM,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAGxE,MAAM,MAAM,2BAA2B,CAAC,CAAC,SAAS,MAAM,IAAI,qBAAqB,CAC/E,OAAO,sBAAsB,EAC7B,CAAC,EACD,OAAO,CACR,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EACrD,MAAM,EAAE,CAAC,EACT,YAAY,EAAE,OAAO,GACpB,2BAA2B,CAAC,CAAC,CAAC,CAMhC;AAED,MAAM,MAAM,6BAA6B,CAAC,CAAC,SAAS,MAAM,IAAI,qBAAqB,CACjF,OAAO,wBAAwB,EAC/B,CAAC,EACD,OAAO,CACR,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,MAAM,EACvD,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,OAAO,GACf,6BAA6B,CAAC,CAAC,CAAC,CAMlC;AAED,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,OAAO,EACpB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASjB;AAED,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,OAAO,EACpB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASjB"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CODE PULLED FROM AERA-V3-TS-SDK in gauntlet/apps/packages/aera-v3-ts-sdk
|
|
3
|
+
* pulled in here with the goal to have this SDK replace the previous
|
|
4
|
+
*/
|
|
1
5
|
import { getContract } from 'viem';
|
|
2
6
|
import { multiDepositorVaultAbi } from './abis/multiDepositorVault';
|
|
3
7
|
import { priceAndFeeCalculatorAbi } from './abis/priceAndFeeCalculator';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aeraContracts.js","sourceRoot":"","sources":["../../src/evm/aeraContracts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"aeraContracts.js","sourceRoot":"","sources":["../../src/evm/aeraContracts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAyD,WAAW,EAAE,MAAM,MAAM,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAQpD,MAAM,UAAU,sBAAsB,CACpC,MAAS,EACT,YAAqB;IAErB,OAAO,WAAW,CAAC;QACjB,OAAO,EAAE,YAAY;QACrB,GAAG,EAAE,sBAAsB;QAC3B,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AAQD,MAAM,UAAU,wBAAwB,CACtC,MAAS,EACT,OAAgB;IAEhB,OAAO,WAAW,CAAC;QACjB,OAAO;QACP,GAAG,EAAE,wBAAwB;QAC7B,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,WAAoB,EACpB,KAAc,EACd,QAAgB,EAChB,WAAmB,EACnB,SAAiB,EACjB,QAAgB,EAChB,WAAmB,EACnB,YAAqB,EACrB,OAAgB;IAEhB,OAAO;QACL,OAAO,EAAE,WAAW;QACpB,GAAG,EAAE,cAAc;QACnB,YAAY,EAAE,gBAAyB;QACvC,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAU;QAC7F,OAAO;KACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,WAAoB,EACpB,KAAc,EACd,OAAe,EACf,WAAmB,EACnB,SAAiB,EACjB,QAAgB,EAChB,WAAmB,EACnB,YAAqB,EACrB,OAAgB;IAEhB,OAAO;QACL,OAAO,EAAE,WAAW;QACpB,GAAG,EAAE,cAAc;QACnB,YAAY,EAAE,eAAwB;QACtC,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAU;QAC5F,OAAO;KACR,CAAC;AACJ,CAAC"}
|
package/dist/evm/deposit.d.ts
CHANGED
|
@@ -6,8 +6,39 @@ export interface EvmDepositParams {
|
|
|
6
6
|
amount: bigint;
|
|
7
7
|
chainId?: number;
|
|
8
8
|
assetSymbol?: string;
|
|
9
|
+
/** Request async (queued) deposit. Only valid for vaults with depositMode 'async' or 'both'. */
|
|
9
10
|
depositMode?: string;
|
|
10
11
|
receiver?: Address;
|
|
12
|
+
/** Slippage tolerance in basis points (e.g. 100 = 1%). Defaults to 100. */
|
|
11
13
|
slippageBps?: number;
|
|
12
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Builds the ordered list of EVM transactions required to deposit into a Gauntlet vault.
|
|
17
|
+
*
|
|
18
|
+
* Returns one or two transactions: an ERC-20 approval (only if the current allowance is
|
|
19
|
+
* insufficient) followed by the deposit or async deposit request. Each transaction is
|
|
20
|
+
* returned as a `PreparedTx` object ready to be signed and sent.
|
|
21
|
+
*
|
|
22
|
+
* @param client - A configured `GauntletClient` instance with an EVM public client and wallet.
|
|
23
|
+
* @param params - Deposit parameters including the vault identifier, token amount, and optional
|
|
24
|
+
* chain, asset symbol, deposit mode (`'sync'` | `'async'`), and receiver address.
|
|
25
|
+
* @returns Ordered array of prepared transactions to execute in sequence.
|
|
26
|
+
*
|
|
27
|
+
* @throws {VaultNotFoundError} If the vault ID is not found in the manifest.
|
|
28
|
+
* @throws {AccountRequiredError} If no wallet account is set on the client.
|
|
29
|
+
* @throws {UnsupportedDepositModeError} If the requested deposit mode is not supported by the vault.
|
|
30
|
+
* @throws {UnsupportedAssetError} If the specified asset symbol is not accepted by the vault.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```ts
|
|
34
|
+
* const txs = await getDepositTx(client, {
|
|
35
|
+
* vaultId: 'baseUsdcPrime',
|
|
36
|
+
* amount: 100_000_000n, // 100 USDC (6 decimals)
|
|
37
|
+
* });
|
|
38
|
+
* for (const tx of txs) {
|
|
39
|
+
* await walletClient.sendTransaction(tx.tx);
|
|
40
|
+
* }
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
13
43
|
export declare function getDepositTx(client: GauntletClient, params: EvmDepositParams): Promise<PreparedTx[]>;
|
|
44
|
+
//# sourceMappingURL=deposit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deposit.d.ts","sourceRoot":"","sources":["../../src/evm/deposit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGhD,OAAO,EAAoC,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAU9E,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gGAAgG;IAChG,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,UAAU,EAAE,CAAC,CA4EvB"}
|
package/dist/evm/deposit.js
CHANGED
|
@@ -2,6 +2,34 @@ import { getAdapter } from './adapters';
|
|
|
2
2
|
import { encodeTransactionWithAttribution } from '../attribution';
|
|
3
3
|
import { AccountRequiredError, VaultNotFoundError, UnsupportedDepositModeError, UnsupportedAssetError, InvalidSlippageBPSError, } from '../errors';
|
|
4
4
|
import { resolveVault } from './vaults';
|
|
5
|
+
/**
|
|
6
|
+
* Builds the ordered list of EVM transactions required to deposit into a Gauntlet vault.
|
|
7
|
+
*
|
|
8
|
+
* Returns one or two transactions: an ERC-20 approval (only if the current allowance is
|
|
9
|
+
* insufficient) followed by the deposit or async deposit request. Each transaction is
|
|
10
|
+
* returned as a `PreparedTx` object ready to be signed and sent.
|
|
11
|
+
*
|
|
12
|
+
* @param client - A configured `GauntletClient` instance with an EVM public client and wallet.
|
|
13
|
+
* @param params - Deposit parameters including the vault identifier, token amount, and optional
|
|
14
|
+
* chain, asset symbol, deposit mode (`'sync'` | `'async'`), and receiver address.
|
|
15
|
+
* @returns Ordered array of prepared transactions to execute in sequence.
|
|
16
|
+
*
|
|
17
|
+
* @throws {VaultNotFoundError} If the vault ID is not found in the manifest.
|
|
18
|
+
* @throws {AccountRequiredError} If no wallet account is set on the client.
|
|
19
|
+
* @throws {UnsupportedDepositModeError} If the requested deposit mode is not supported by the vault.
|
|
20
|
+
* @throws {UnsupportedAssetError} If the specified asset symbol is not accepted by the vault.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* const txs = await getDepositTx(client, {
|
|
25
|
+
* vaultId: 'baseUsdcPrime',
|
|
26
|
+
* amount: 100_000_000n, // 100 USDC (6 decimals)
|
|
27
|
+
* });
|
|
28
|
+
* for (const tx of txs) {
|
|
29
|
+
* await walletClient.sendTransaction(tx.tx);
|
|
30
|
+
* }
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
5
33
|
export async function getDepositTx(client, params) {
|
|
6
34
|
if (params.slippageBps !== undefined &&
|
|
7
35
|
(!Number.isInteger(params.slippageBps) || params.slippageBps < 0 || params.slippageBps > 10000)) {
|
|
@@ -34,6 +62,7 @@ export async function getDepositTx(client, params) {
|
|
|
34
62
|
if (token === undefined) {
|
|
35
63
|
throw new UnsupportedAssetError(params.assetSymbol ?? 'unknown', params.vaultId);
|
|
36
64
|
}
|
|
65
|
+
// NOTE: this could be moved to the buildDeposit level
|
|
37
66
|
const { sufficient } = await adapter.checkAllowance({
|
|
38
67
|
publicClient,
|
|
39
68
|
token: token.address,
|
package/dist/evm/deposit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../src/evm/deposit.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,gCAAgC,EAAc,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../src/evm/deposit.ts"],"names":[],"mappings":"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"}
|
package/dist/evm/index.d.ts
CHANGED
|
@@ -8,3 +8,4 @@ export type { EvmTxStep } from './adapters/types';
|
|
|
8
8
|
export type { VaultInfo, VaultDeployment, TokenInfo, VaultManifest } from './types';
|
|
9
9
|
export type { VaultFilter } from './vaults';
|
|
10
10
|
export type { UserCurrentBalanceParams, UserCurrentBalance } from './userCurrentBalance';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/evm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAE9C,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpF,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/evm/types.d.ts
CHANGED
|
@@ -8,11 +8,13 @@ export interface EvmVaultDeployment {
|
|
|
8
8
|
chain: 'evm';
|
|
9
9
|
chainId: number;
|
|
10
10
|
vaultAddress: Address;
|
|
11
|
+
/** Present for Aera multi-depositor vaults; absent for single-depositor and Morpho */
|
|
11
12
|
provisionerAddress?: Address;
|
|
12
13
|
vaultType: 'single-depositor' | 'multi-depositor';
|
|
13
14
|
depositMode: 'sync' | 'async' | 'both';
|
|
14
15
|
supplyToken: TokenInfo[];
|
|
15
16
|
}
|
|
17
|
+
/** Union of all supported chain deployment types. Narrow on `chain` to access chain-specific fields. */
|
|
16
18
|
export type VaultDeployment = EvmVaultDeployment;
|
|
17
19
|
export interface VaultInfo {
|
|
18
20
|
vaultId: string;
|
|
@@ -25,3 +27,4 @@ export interface VaultManifest {
|
|
|
25
27
|
version: string;
|
|
26
28
|
vaults: VaultInfo[];
|
|
27
29
|
}
|
|
30
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/evm/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,sFAAsF;IACtF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,kBAAkB,GAAG,iBAAiB,CAAC;IAClD,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACvC,WAAW,EAAE,SAAS,EAAE,CAAC;CAC1B;AAED,wGAAwG;AACxG,MAAM,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAEjD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,eAAe,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB"}
|
|
@@ -6,11 +6,46 @@ export interface UserCurrentBalanceParams {
|
|
|
6
6
|
chainId?: number;
|
|
7
7
|
}
|
|
8
8
|
export interface UserCurrentBalance {
|
|
9
|
+
/** Chain identifier, e.g. "base" */
|
|
9
10
|
chain: string;
|
|
10
11
|
token: Address;
|
|
11
12
|
decimals: number;
|
|
13
|
+
/** Assets queued via async deposit, not yet earning */
|
|
12
14
|
pendingDeposit: bigint;
|
|
15
|
+
/** Assets actively earning in the vault */
|
|
13
16
|
balance: bigint;
|
|
17
|
+
/** Assets queued via async withdraw, not yet claimable */
|
|
14
18
|
pendingWithdraw: bigint;
|
|
15
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Returns the current balance breakdown for a user across all EVM deployments of a vault.
|
|
22
|
+
*
|
|
23
|
+
* Queries the vault's on-chain state to split the user's position into three buckets:
|
|
24
|
+
* - `balance` — assets actively earning inside the vault (converted from vault units to tokens).
|
|
25
|
+
* - `pendingDeposit` — tokens submitted via async deposit but not yet processed by a solver.
|
|
26
|
+
* - `pendingWithdraw` — vault units locked in a pending async redeem request (converted to tokens).
|
|
27
|
+
*
|
|
28
|
+
* Only supported for Aera multi-depositor vaults. Pending amounts are detected by scanning
|
|
29
|
+
* the last ~3 days of provisioner events and cross-checking hash existence on-chain.
|
|
30
|
+
*
|
|
31
|
+
* @param client - A configured `GauntletClient` instance with an EVM public client for each
|
|
32
|
+
* chain the vault is deployed on.
|
|
33
|
+
* @param params - Query parameters including `vaultId`, the user `address`, and an optional
|
|
34
|
+
* `chainId` to limit the query to a single deployment.
|
|
35
|
+
* @returns One `UserCurrentBalance` entry per chain queried.
|
|
36
|
+
*
|
|
37
|
+
* @throws {VaultNotFoundError} If the vault ID is not found in the manifest.
|
|
38
|
+
* @throws {UnsupportedProtocolError} If the vault is not an Aera multi-depositor vault.
|
|
39
|
+
* @throws {ChainMismatchError} If `chainId` is specified but no deployment exists for that chain.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```ts
|
|
43
|
+
* const balances = await getUserCurrentBalance(client, {
|
|
44
|
+
* vaultId: 'baseUsdcPrime',
|
|
45
|
+
* address: '0xYourWalletAddress',
|
|
46
|
+
* });
|
|
47
|
+
* // [{ chain: 'base', token: '0x...', decimals: 6, balance: 100_000_000n, pendingDeposit: 0n, pendingWithdraw: 0n }]
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
16
50
|
export declare function getUserCurrentBalance(client: GauntletClient, params: UserCurrentBalanceParams): Promise<UserCurrentBalance[]>;
|
|
51
|
+
//# sourceMappingURL=userCurrentBalance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userCurrentBalance.d.ts","sourceRoot":"","sources":["../../src/evm/userCurrentBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAgDhD,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,cAAc,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,eAAe,EAAE,MAAM,CAAC;CACzB;AA4ID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAyB/B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { parseAbi } from 'viem';
|
|
2
2
|
import { ChainMismatchError, UnsupportedProtocolError, VaultNotFoundError } from '../errors';
|
|
3
3
|
import { getMultiDepositorVault, getPriceAndFeeCalculator } from './aeraContracts';
|
|
4
|
+
// Inline as-const ABI items give viem full type inference for args and return types.
|
|
4
5
|
const DEPOSIT_REQUESTED_ABI = [
|
|
5
6
|
{
|
|
6
7
|
type: 'event',
|
|
@@ -35,6 +36,7 @@ const REDEEM_REQUESTED_ABI = [
|
|
|
35
36
|
],
|
|
36
37
|
},
|
|
37
38
|
];
|
|
39
|
+
// ABI for provisioner state queries
|
|
38
40
|
const provisionerStateAbi = parseAbi([
|
|
39
41
|
'function asyncDepositHashes(bytes32 asyncDepositHash) view returns (bool exists)',
|
|
40
42
|
'function asyncRedeemHashes(bytes32 asyncRedeemHash) view returns (bool exists)',
|
|
@@ -45,6 +47,7 @@ const CHAIN_NAMES = {
|
|
|
45
47
|
42161: 'arbitrum',
|
|
46
48
|
10: 'optimism',
|
|
47
49
|
};
|
|
50
|
+
// Approximate 3-day block lookback per chain based on avg block time
|
|
48
51
|
const BLOCKS_3_DAYS = {
|
|
49
52
|
1: 21600n,
|
|
50
53
|
8453: 129600n,
|
|
@@ -52,6 +55,7 @@ const BLOCKS_3_DAYS = {
|
|
|
52
55
|
10: 129600n,
|
|
53
56
|
};
|
|
54
57
|
const DEFAULT_BLOCKS_3_DAYS = 129600n;
|
|
58
|
+
// Many RPC providers cap eth_getLogs to 10,000 blocks per request.
|
|
55
59
|
const LOG_PAGE_SIZE = 9999n;
|
|
56
60
|
async function queryDeploymentBalance(client, deployment, address) {
|
|
57
61
|
const publicClient = client.getPublicClient(deployment.chainId);
|
|
@@ -68,9 +72,11 @@ async function queryDeploymentBalance(client, deployment, address) {
|
|
|
68
72
|
token.address,
|
|
69
73
|
units,
|
|
70
74
|
]);
|
|
75
|
+
// Look back ~3 days for pending async requests
|
|
71
76
|
const currentBlock = await publicClient.getBlockNumber();
|
|
72
77
|
const lookback = BLOCKS_3_DAYS[deployment.chainId] ?? DEFAULT_BLOCKS_3_DAYS;
|
|
73
78
|
const fromBlock = currentBlock > lookback ? currentBlock - lookback : 0n;
|
|
79
|
+
// Compute block-range chunks to stay within the 10,000-block RPC limit, then fetch in parallel
|
|
74
80
|
const chunks = [];
|
|
75
81
|
for (let cursor = fromBlock; cursor <= currentBlock; cursor += LOG_PAGE_SIZE + 1n) {
|
|
76
82
|
const end = cursor + LOG_PAGE_SIZE <= currentBlock ? cursor + LOG_PAGE_SIZE : currentBlock;
|
|
@@ -96,6 +102,7 @@ async function queryDeploymentBalance(client, deployment, address) {
|
|
|
96
102
|
]);
|
|
97
103
|
const depositLogs = depositPages.flat().filter((log) => log.args.depositRequestHash != null);
|
|
98
104
|
const redeemLogs = redeemPages.flat().filter((log) => log.args.redeemRequestHash != null);
|
|
105
|
+
// Check which requests are still pending on-chain via a single multicall
|
|
99
106
|
const pendingChecks = await publicClient.multicall({
|
|
100
107
|
contracts: [
|
|
101
108
|
...depositLogs.map((log) => ({
|
|
@@ -143,6 +150,36 @@ async function queryDeploymentBalance(client, deployment, address) {
|
|
|
143
150
|
pendingWithdraw,
|
|
144
151
|
};
|
|
145
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Returns the current balance breakdown for a user across all EVM deployments of a vault.
|
|
155
|
+
*
|
|
156
|
+
* Queries the vault's on-chain state to split the user's position into three buckets:
|
|
157
|
+
* - `balance` — assets actively earning inside the vault (converted from vault units to tokens).
|
|
158
|
+
* - `pendingDeposit` — tokens submitted via async deposit but not yet processed by a solver.
|
|
159
|
+
* - `pendingWithdraw` — vault units locked in a pending async redeem request (converted to tokens).
|
|
160
|
+
*
|
|
161
|
+
* Only supported for Aera multi-depositor vaults. Pending amounts are detected by scanning
|
|
162
|
+
* the last ~3 days of provisioner events and cross-checking hash existence on-chain.
|
|
163
|
+
*
|
|
164
|
+
* @param client - A configured `GauntletClient` instance with an EVM public client for each
|
|
165
|
+
* chain the vault is deployed on.
|
|
166
|
+
* @param params - Query parameters including `vaultId`, the user `address`, and an optional
|
|
167
|
+
* `chainId` to limit the query to a single deployment.
|
|
168
|
+
* @returns One `UserCurrentBalance` entry per chain queried.
|
|
169
|
+
*
|
|
170
|
+
* @throws {VaultNotFoundError} If the vault ID is not found in the manifest.
|
|
171
|
+
* @throws {UnsupportedProtocolError} If the vault is not an Aera multi-depositor vault.
|
|
172
|
+
* @throws {ChainMismatchError} If `chainId` is specified but no deployment exists for that chain.
|
|
173
|
+
*
|
|
174
|
+
* @example
|
|
175
|
+
* ```ts
|
|
176
|
+
* const balances = await getUserCurrentBalance(client, {
|
|
177
|
+
* vaultId: 'baseUsdcPrime',
|
|
178
|
+
* address: '0xYourWalletAddress',
|
|
179
|
+
* });
|
|
180
|
+
* // [{ chain: 'base', token: '0x...', decimals: 6, balance: 100_000_000n, pendingDeposit: 0n, pendingWithdraw: 0n }]
|
|
181
|
+
* ```
|
|
182
|
+
*/
|
|
146
183
|
export async function getUserCurrentBalance(client, params) {
|
|
147
184
|
const manifest = await client.manifest;
|
|
148
185
|
const vaultInfo = manifest.vaults.find((v) => v.vaultId === params.vaultId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCurrentBalance.js","sourceRoot":"","sources":["../../src/evm/userCurrentBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAgB,MAAM,MAAM,CAAC;AAG9C,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC7F,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"userCurrentBalance.js","sourceRoot":"","sources":["../../src/evm/userCurrentBalance.ts"],"names":[],"mappings":"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"}
|
package/dist/evm/vaults.d.ts
CHANGED
|
@@ -20,11 +20,32 @@ export declare enum VaultId {
|
|
|
20
20
|
AeraKastEth = "kasteth"
|
|
21
21
|
}
|
|
22
22
|
export interface VaultFilter {
|
|
23
|
+
/** Filter to vaults that have at least one EVM deployment on this chainId. */
|
|
23
24
|
chainId?: number;
|
|
24
25
|
protocol?: string;
|
|
25
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Returns vaults from the bundled manifest, optionally filtered by chain and/or protocol.
|
|
29
|
+
* Does not make any network requests.
|
|
30
|
+
*
|
|
31
|
+
* @param client - A configured `GauntletClient` instance.
|
|
32
|
+
* @param filter - Optional filter criteria. `chainId` restricts results to vaults that have
|
|
33
|
+
* at least one EVM deployment on that chain. `protocol` restricts results to a specific
|
|
34
|
+
* protocol (e.g. `'aera'`, `'morpho'`).
|
|
35
|
+
* @returns Array of `VaultInfo` objects matching the filter, or all vaults if no filter is given.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* // All vaults on Base
|
|
40
|
+
* const vaults = await getVaults(client, { chainId: base.id });
|
|
41
|
+
*
|
|
42
|
+
* // All Aera vaults
|
|
43
|
+
* const aeraVaults = await getVaults(client, { protocol: 'aera' });
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
26
46
|
export declare function getVaults(client: GauntletClient, filter?: VaultFilter): Promise<VaultInfo[]>;
|
|
27
47
|
export declare function resolveVault(client: GauntletClient, vaultId: string, chainId?: string | number): Promise<{
|
|
28
48
|
vault: VaultDeployment;
|
|
29
49
|
protocol: string;
|
|
30
50
|
} | undefined>;
|
|
51
|
+
//# sourceMappingURL=vaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vaults.d.ts","sourceRoot":"","sources":["../../src/evm/vaults.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAsB,eAAe,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAG9E,oBAAY,OAAO;IACjB,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,YAAY,WAAW;IACvB,cAAc,mBAAmB;IACjC,mBAAmB,YAAY;IAC/B,eAAe,YAAY;IAC3B,mBAAmB,aAAa;IAChC,kBAAkB,gBAAgB;IAClC,yBAAyB,WAAW;IACpC,aAAa,gBAAgB;IAC7B,oBAAoB,gBAAgB;IACpC,YAAY,UAAU;IACtB,mBAAmB,iBAAiB;IACpC,sBAAsB,cAAc;IACpC,eAAe,WAAW;IAC1B,QAAQ,WAAW;IACnB,WAAW,YAAY;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,cAAc,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,EAAE,CAAC,CAetB;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GACxB,OAAO,CAAC;IAAE,KAAK,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,CA0BnE"}
|
package/dist/evm/vaults.js
CHANGED
|
@@ -20,6 +20,25 @@ export var VaultId;
|
|
|
20
20
|
VaultId["AeraLend"] = "gtlend";
|
|
21
21
|
VaultId["AeraKastEth"] = "kasteth";
|
|
22
22
|
})(VaultId || (VaultId = {}));
|
|
23
|
+
/**
|
|
24
|
+
* Returns vaults from the bundled manifest, optionally filtered by chain and/or protocol.
|
|
25
|
+
* Does not make any network requests.
|
|
26
|
+
*
|
|
27
|
+
* @param client - A configured `GauntletClient` instance.
|
|
28
|
+
* @param filter - Optional filter criteria. `chainId` restricts results to vaults that have
|
|
29
|
+
* at least one EVM deployment on that chain. `protocol` restricts results to a specific
|
|
30
|
+
* protocol (e.g. `'aera'`, `'morpho'`).
|
|
31
|
+
* @returns Array of `VaultInfo` objects matching the filter, or all vaults if no filter is given.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```ts
|
|
35
|
+
* // All vaults on Base
|
|
36
|
+
* const vaults = await getVaults(client, { chainId: base.id });
|
|
37
|
+
*
|
|
38
|
+
* // All Aera vaults
|
|
39
|
+
* const aeraVaults = await getVaults(client, { protocol: 'aera' });
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
23
42
|
export async function getVaults(client, filter) {
|
|
24
43
|
const manifest = await client.manifest;
|
|
25
44
|
let vaults = manifest.vaults;
|
|
@@ -38,11 +57,15 @@ export async function resolveVault(client, vaultId, chainId) {
|
|
|
38
57
|
return undefined;
|
|
39
58
|
const evmDeployments = vaultInfo.deployments.filter((d) => d.chain === 'evm');
|
|
40
59
|
if (evmDeployments.length === 1) {
|
|
60
|
+
// if user specifies a chain we need to make sure they get it
|
|
41
61
|
if (chainId !== undefined && evmDeployments[0].chainId !== chainId) {
|
|
42
62
|
throw new ChainMismatchError(`${chainId}`, `${evmDeployments[0].chainId}`);
|
|
43
63
|
}
|
|
64
|
+
// otherwise they're expected to know what chain
|
|
65
|
+
// the single chain vault they request is on
|
|
44
66
|
return { vault: evmDeployments[0], protocol: vaultInfo.protocol };
|
|
45
67
|
}
|
|
68
|
+
// now we default to base
|
|
46
69
|
const defaultChainId = chainId ?? base.id;
|
|
47
70
|
const deployment = evmDeployments.find((d) => d.chainId === defaultChainId);
|
|
48
71
|
if (!deployment)
|
package/dist/evm/vaults.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vaults.js","sourceRoot":"","sources":["../../src/evm/vaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAGnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,CAAN,IAAY,OAkBX;AAlBD,WAAY,OAAO;IACjB,0CAA+B,CAAA;IAC/B,wCAA6B,CAAA;IAC7B,kCAAuB,CAAA;IACvB,4CAAiC,CAAA;IACjC,0CAA+B,CAAA;IAC/B,sCAA2B,CAAA;IAC3B,2CAAgC,CAAA;IAChC,6CAAkC,CAAA;IAClC,+CAAoC,CAAA;IACpC,wCAA6B,CAAA;IAC7B,+CAAoC,CAAA;IACpC,iCAAsB,CAAA;IACtB,+CAAoC,CAAA;IACpC,+CAAoC,CAAA;IACpC,qCAA0B,CAAA;IAC1B,8BAAmB,CAAA;IACnB,kCAAuB,CAAA;AACzB,CAAC,EAlBW,OAAO,KAAP,OAAO,QAkBlB;
|
|
1
|
+
{"version":3,"file":"vaults.js","sourceRoot":"","sources":["../../src/evm/vaults.ts"],"names":[],"mappings":"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"}
|
package/dist/evm/withdraw.d.ts
CHANGED
|
@@ -5,8 +5,10 @@ export type EvmWithdrawParams = {
|
|
|
5
5
|
vaultId: string;
|
|
6
6
|
chainId?: number;
|
|
7
7
|
assetSymbol?: string;
|
|
8
|
+
/** Request async (queued) withdraw. Only valid for vaults with depositMode 'async' or 'both'. */
|
|
8
9
|
depositMode?: string;
|
|
9
10
|
receiver?: Address;
|
|
11
|
+
/** Slippage tolerance in basis points (e.g. 100 = 1%). Defaults to 100. */
|
|
10
12
|
slippageBps?: number;
|
|
11
13
|
} & ({
|
|
12
14
|
shares: bigint;
|
|
@@ -21,4 +23,39 @@ export type EvmWithdrawParams = {
|
|
|
21
23
|
shares?: never;
|
|
22
24
|
amount?: never;
|
|
23
25
|
});
|
|
26
|
+
/**
|
|
27
|
+
* Builds the ordered list of EVM transactions required to withdraw from a Gauntlet vault.
|
|
28
|
+
*
|
|
29
|
+
* Specify the withdrawal amount as one of: `shares` (vault units), `amount` (underlying
|
|
30
|
+
* token amount), or `entireAmount: true` (full balance). Returns an ERC-20 approval
|
|
31
|
+
* (only when needed for async redeem) followed by the withdraw or async redeem request,
|
|
32
|
+
* each returned as a `PreparedTx` ready to be signed and sent.
|
|
33
|
+
*
|
|
34
|
+
* @param client - A configured `GauntletClient` instance with an EVM public client and wallet.
|
|
35
|
+
* @param params - Withdrawal parameters including the vault identifier and exactly one of
|
|
36
|
+
* `shares`, `amount`, or `entireAmount`, plus optional chain, asset symbol, deposit mode,
|
|
37
|
+
* and receiver address.
|
|
38
|
+
* @returns Ordered array of prepared transactions to execute in sequence.
|
|
39
|
+
*
|
|
40
|
+
* @throws {VaultNotFoundError} If the vault ID is not found in the manifest.
|
|
41
|
+
* @throws {AccountRequiredError} If no wallet account is set on the client.
|
|
42
|
+
* @throws {UnsupportedDepositModeError} If the requested withdrawal mode is not supported.
|
|
43
|
+
* @throws {UnsupportedAssetError} If the specified asset symbol is not accepted by the vault.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```ts
|
|
47
|
+
* // Withdraw by token amount
|
|
48
|
+
* const txs = await getWithdrawTx(client, {
|
|
49
|
+
* vaultId: 'baseUsdcPrime',
|
|
50
|
+
* amount: 50_000_000n, // 50 USDC (6 decimals)
|
|
51
|
+
* });
|
|
52
|
+
*
|
|
53
|
+
* // Withdraw entire balance
|
|
54
|
+
* const txs = await getWithdrawTx(client, {
|
|
55
|
+
* vaultId: 'baseUsdcPrime',
|
|
56
|
+
* entireAmount: true,
|
|
57
|
+
* });
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
24
60
|
export declare function getWithdrawTx(client: GauntletClient, params: EvmWithdrawParams): Promise<PreparedTx[]>;
|
|
61
|
+
//# sourceMappingURL=withdraw.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withdraw.d.ts","sourceRoot":"","sources":["../../src/evm/withdraw.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGhD,OAAO,EAAoC,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAU9E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAEhB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iGAAiG;IACjG,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,CACA;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IAAC,YAAY,CAAC,EAAE,KAAK,CAAA;CAAE,GACxD;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IAAC,YAAY,CAAC,EAAE,KAAK,CAAA;CAAE,GACxD;IAAE,YAAY,EAAE,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,CAAA;CAAE,CACzD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,UAAU,EAAE,CAAC,CAyDvB"}
|
package/dist/evm/withdraw.js
CHANGED
|
@@ -2,6 +2,40 @@ import { getAdapter } from './adapters';
|
|
|
2
2
|
import { encodeTransactionWithAttribution } from '../attribution';
|
|
3
3
|
import { AccountRequiredError, VaultNotFoundError, UnsupportedAssetError, UnsupportedDepositModeError, InvalidSlippageBPSError, } from '../errors';
|
|
4
4
|
import { resolveVault } from './vaults';
|
|
5
|
+
/**
|
|
6
|
+
* Builds the ordered list of EVM transactions required to withdraw from a Gauntlet vault.
|
|
7
|
+
*
|
|
8
|
+
* Specify the withdrawal amount as one of: `shares` (vault units), `amount` (underlying
|
|
9
|
+
* token amount), or `entireAmount: true` (full balance). Returns an ERC-20 approval
|
|
10
|
+
* (only when needed for async redeem) followed by the withdraw or async redeem request,
|
|
11
|
+
* each returned as a `PreparedTx` ready to be signed and sent.
|
|
12
|
+
*
|
|
13
|
+
* @param client - A configured `GauntletClient` instance with an EVM public client and wallet.
|
|
14
|
+
* @param params - Withdrawal parameters including the vault identifier and exactly one of
|
|
15
|
+
* `shares`, `amount`, or `entireAmount`, plus optional chain, asset symbol, deposit mode,
|
|
16
|
+
* and receiver address.
|
|
17
|
+
* @returns Ordered array of prepared transactions to execute in sequence.
|
|
18
|
+
*
|
|
19
|
+
* @throws {VaultNotFoundError} If the vault ID is not found in the manifest.
|
|
20
|
+
* @throws {AccountRequiredError} If no wallet account is set on the client.
|
|
21
|
+
* @throws {UnsupportedDepositModeError} If the requested withdrawal mode is not supported.
|
|
22
|
+
* @throws {UnsupportedAssetError} If the specified asset symbol is not accepted by the vault.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* // Withdraw by token amount
|
|
27
|
+
* const txs = await getWithdrawTx(client, {
|
|
28
|
+
* vaultId: 'baseUsdcPrime',
|
|
29
|
+
* amount: 50_000_000n, // 50 USDC (6 decimals)
|
|
30
|
+
* });
|
|
31
|
+
*
|
|
32
|
+
* // Withdraw entire balance
|
|
33
|
+
* const txs = await getWithdrawTx(client, {
|
|
34
|
+
* vaultId: 'baseUsdcPrime',
|
|
35
|
+
* entireAmount: true,
|
|
36
|
+
* });
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
5
39
|
export async function getWithdrawTx(client, params) {
|
|
6
40
|
if (params.slippageBps !== undefined &&
|
|
7
41
|
(!Number.isInteger(params.slippageBps) || params.slippageBps < 0 || params.slippageBps > 10000)) {
|
package/dist/evm/withdraw.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withdraw.js","sourceRoot":"","sources":["../../src/evm/withdraw.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,gCAAgC,EAAc,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"withdraw.js","sourceRoot":"","sources":["../../src/evm/withdraw.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -12,3 +12,4 @@ export type { EvmTxStep } from './evm/adapters/types';
|
|
|
12
12
|
export type { UserCurrentBalanceParams, UserCurrentBalance } from './evm/userCurrentBalance';
|
|
13
13
|
export type { PreparedTx } from './attribution';
|
|
14
14
|
export { GauntletSDKError, VaultNotFoundError, UnsupportedAssetError, ChainMismatchError, UnsupportedDepositModeError, RpcNotConfiguredError, AccountRequiredError, UnsupportedProtocolError, InvalidWithdrawParamsError, UnimplementedFeatureError, UnitConversionError, } from './errors';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3D,YAAY,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAErD,YAAY,EACV,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAElD,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC7F,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,2BAA2B,EAC3B,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,0BAA0B,EAC1B,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,UAAU,CAAC"}
|