@gauntlet-xyz/sdk 1.0.6 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +82 -1
- package/dist/api/activity.d.ts +70 -0
- package/dist/api/activity.d.ts.map +1 -0
- package/dist/api/activity.js +154 -0
- package/dist/api/activity.js.map +1 -0
- package/dist/api/caip.d.ts +29 -0
- package/dist/api/caip.d.ts.map +1 -0
- package/dist/api/caip.js +38 -0
- package/dist/api/caip.js.map +1 -0
- package/dist/api/client.d.ts +114 -0
- package/dist/api/client.d.ts.map +1 -0
- package/dist/api/client.js +109 -0
- package/dist/api/client.js.map +1 -0
- package/dist/api/decimal.d.ts +21 -0
- package/dist/api/decimal.d.ts.map +1 -0
- package/dist/api/decimal.js +44 -0
- package/dist/api/decimal.js.map +1 -0
- package/dist/api/errors.d.ts +32 -0
- package/dist/api/errors.d.ts.map +1 -0
- package/dist/api/errors.js +41 -0
- package/dist/api/errors.js.map +1 -0
- package/dist/api/generated.d.ts +1461 -0
- package/dist/api/generated.d.ts.map +1 -0
- package/dist/api/generated.js +6 -0
- package/dist/api/generated.js.map +1 -0
- package/dist/api/http.d.ts +16 -0
- package/dist/api/http.d.ts.map +1 -0
- package/dist/api/http.js +39 -0
- package/dist/api/http.js.map +1 -0
- package/dist/api/index.d.ts +14 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +8 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/positionHistory.d.ts +44 -0
- package/dist/api/positionHistory.d.ts.map +1 -0
- package/dist/api/positionHistory.js +126 -0
- package/dist/api/positionHistory.js.map +1 -0
- package/dist/client.d.ts +6 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +2 -0
- package/dist/client.js.map +1 -1
- package/dist/constants.d.ts +16 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +28 -0
- package/dist/constants.js.map +1 -0
- package/dist/errors.d.ts +18 -3
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +20 -2
- package/dist/errors.js.map +1 -1
- package/dist/evm/abis/priceAndFeeCalculatorV2.d.ts +233 -0
- package/dist/evm/abis/priceAndFeeCalculatorV2.d.ts.map +1 -0
- package/dist/evm/abis/priceAndFeeCalculatorV2.js +119 -0
- package/dist/evm/abis/priceAndFeeCalculatorV2.js.map +1 -0
- package/dist/evm/abis/provisionerV2.d.ts +684 -0
- package/dist/evm/abis/provisionerV2.d.ts.map +1 -0
- package/dist/evm/abis/provisionerV2.js +262 -0
- package/dist/evm/abis/provisionerV2.js.map +1 -0
- package/dist/evm/adapters/aera.d.ts +3 -3
- package/dist/evm/adapters/aera.d.ts.map +1 -1
- package/dist/evm/adapters/aera.js +179 -103
- package/dist/evm/adapters/aera.js.map +1 -1
- package/dist/evm/adapters/types.d.ts +12 -1
- package/dist/evm/adapters/types.d.ts.map +1 -1
- package/dist/evm/aeraContracts/priceAndFeeCalculator.d.ts +41 -0
- package/dist/evm/aeraContracts/priceAndFeeCalculator.d.ts.map +1 -0
- package/dist/evm/aeraContracts/priceAndFeeCalculator.js +140 -0
- package/dist/evm/aeraContracts/priceAndFeeCalculator.js.map +1 -0
- package/dist/evm/aeraContracts/v1.d.ts +2317 -0
- package/dist/evm/aeraContracts/v1.d.ts.map +1 -0
- package/dist/evm/aeraContracts/v1.js +59 -0
- package/dist/evm/aeraContracts/v1.js.map +1 -0
- package/dist/evm/aeraContracts/v2.d.ts +4146 -0
- package/dist/evm/aeraContracts/v2.d.ts.map +1 -0
- package/dist/evm/aeraContracts/v2.js +217 -0
- package/dist/evm/aeraContracts/v2.js.map +1 -0
- package/dist/evm/aeraContracts.d.ts +23 -2316
- package/dist/evm/aeraContracts.d.ts.map +1 -1
- package/dist/evm/aeraContracts.js +117 -24
- package/dist/evm/aeraContracts.js.map +1 -1
- package/dist/evm/deposit.d.ts +5 -1
- package/dist/evm/deposit.d.ts.map +1 -1
- package/dist/evm/deposit.js +28 -14
- package/dist/evm/deposit.js.map +1 -1
- package/dist/evm/depositReceiverApproval.d.ts +17 -0
- package/dist/evm/depositReceiverApproval.d.ts.map +1 -0
- package/dist/evm/depositReceiverApproval.js +32 -0
- package/dist/evm/depositReceiverApproval.js.map +1 -0
- package/dist/evm/index.d.ts +8 -1
- package/dist/evm/index.d.ts.map +1 -1
- package/dist/evm/index.js +4 -0
- package/dist/evm/index.js.map +1 -1
- package/dist/evm/operationMode.d.ts +9 -0
- package/dist/evm/operationMode.d.ts.map +1 -0
- package/dist/evm/operationMode.js +41 -0
- package/dist/evm/operationMode.js.map +1 -0
- package/dist/evm/types.d.ts +5 -3
- package/dist/evm/types.d.ts.map +1 -1
- package/dist/evm/types.js +4 -1
- package/dist/evm/types.js.map +1 -1
- package/dist/evm/userCurrentBalance.d.ts.map +1 -1
- package/dist/evm/userCurrentBalance.js +68 -58
- package/dist/evm/userCurrentBalance.js.map +1 -1
- package/dist/evm/withdraw.d.ts +5 -1
- package/dist/evm/withdraw.d.ts.map +1 -1
- package/dist/evm/withdraw.js +25 -13
- package/dist/evm/withdraw.js.map +1 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/privy/index.d.ts +52 -0
- package/dist/privy/index.d.ts.map +1 -0
- package/dist/privy/index.js +51 -0
- package/dist/privy/index.js.map +1 -0
- package/manifest/vaults.json +316 -132
- package/package.json +2 -2
- package/src/api/activity.ts +219 -0
- package/src/api/caip.ts +61 -0
- package/src/api/client.ts +201 -0
- package/src/api/decimal.ts +49 -0
- package/src/api/errors.ts +64 -0
- package/src/api/generated.ts +1461 -0
- package/src/api/http.ts +62 -0
- package/src/api/index.ts +65 -0
- package/src/api/positionHistory.ts +167 -0
- package/src/client.ts +7 -1
- package/src/constants.ts +32 -0
- package/src/errors.ts +44 -5
- package/src/evm/abis/priceAndFeeCalculatorV2.ts +118 -0
- package/src/evm/abis/provisionerV2.ts +261 -0
- package/src/evm/adapters/aera.ts +419 -137
- package/src/evm/adapters/types.ts +19 -1
- package/src/evm/aeraContracts/priceAndFeeCalculator.ts +223 -0
- package/src/evm/aeraContracts/v1.ts +157 -0
- package/src/evm/aeraContracts/v2.ts +466 -0
- package/src/evm/aeraContracts.ts +173 -52
- package/src/evm/deposit.ts +48 -16
- package/src/evm/depositReceiverApproval.ts +51 -0
- package/src/evm/index.ts +23 -1
- package/src/evm/operationMode.ts +60 -0
- package/src/evm/types.ts +7 -3
- package/src/evm/userCurrentBalance.ts +80 -55
- package/src/evm/withdraw.ts +42 -15
- package/src/index.ts +21 -0
- package/src/privy/index.ts +95 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createPublicClient,
|
|
3
|
+
createWalletClient,
|
|
4
|
+
custom,
|
|
5
|
+
http,
|
|
6
|
+
type Address,
|
|
7
|
+
type Chain,
|
|
8
|
+
type EIP1193Provider,
|
|
9
|
+
type PublicClient,
|
|
10
|
+
type Transport,
|
|
11
|
+
type WalletClient,
|
|
12
|
+
} from 'viem';
|
|
13
|
+
import { AttributionMode, GauntletClient, type ChainId } from '../client';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Structural view of a Privy embedded or connected wallet — matches
|
|
17
|
+
* `ConnectedWallet` from `@privy-io/react-auth` (via `useWallets()`) and
|
|
18
|
+
* `PrivyClient`-side wallets without importing Privy types, so the SDK has no
|
|
19
|
+
* dependency on any `@privy-io` package.
|
|
20
|
+
*/
|
|
21
|
+
export interface PrivyEthereumWallet {
|
|
22
|
+
/** The wallet's EVM address. */
|
|
23
|
+
address: string;
|
|
24
|
+
/** Privy's EIP-1193 provider factory for this wallet. */
|
|
25
|
+
getEthereumProvider(): Promise<EIP1193Provider>;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Wraps a Privy wallet in a viem `WalletClient` bound to `chain`, ready to
|
|
30
|
+
* sign SDK transaction steps.
|
|
31
|
+
*
|
|
32
|
+
* ```ts
|
|
33
|
+
* const { wallets } = useWallets();
|
|
34
|
+
* const wallet = await walletClientFromPrivy(wallets[0], base);
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export async function walletClientFromPrivy(
|
|
38
|
+
wallet: PrivyEthereumWallet,
|
|
39
|
+
chain: Chain
|
|
40
|
+
): Promise<WalletClient> {
|
|
41
|
+
const provider = await wallet.getEthereumProvider();
|
|
42
|
+
return createWalletClient({
|
|
43
|
+
account: wallet.address as Address,
|
|
44
|
+
chain,
|
|
45
|
+
transport: custom(provider),
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export interface PrivyGauntletClientConfig {
|
|
50
|
+
/** The Privy wallet to sign with (e.g. `useWallets().wallets[0]`). */
|
|
51
|
+
wallet: PrivyEthereumWallet;
|
|
52
|
+
/** Chains the client should be able to read from; the first is the wallet's signing chain. */
|
|
53
|
+
chains: [Chain, ...Chain[]];
|
|
54
|
+
/** Per-chain transport override; defaults to each chain's public RPC via `http()`. */
|
|
55
|
+
transports?: Record<ChainId, Transport>;
|
|
56
|
+
apiKey?: string;
|
|
57
|
+
apiUrl?: string;
|
|
58
|
+
attributionMode?: AttributionMode;
|
|
59
|
+
builderCode?: string;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Opinionated one-call setup for Privy apps: builds public clients for each
|
|
64
|
+
* chain and a signing wallet from the Privy provider, returning a fully
|
|
65
|
+
* configured `GauntletClient`.
|
|
66
|
+
*
|
|
67
|
+
* ```ts
|
|
68
|
+
* const client = await createGauntletClientFromPrivy({
|
|
69
|
+
* wallet: wallets[0],
|
|
70
|
+
* chains: [base],
|
|
71
|
+
* builderCode: 'my-app',
|
|
72
|
+
* });
|
|
73
|
+
* const steps = await getDepositTx(client, { vaultId, amount });
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export async function createGauntletClientFromPrivy(
|
|
77
|
+
config: PrivyGauntletClientConfig
|
|
78
|
+
): Promise<GauntletClient> {
|
|
79
|
+
const evmClients: Record<ChainId, PublicClient> = {};
|
|
80
|
+
for (const chain of config.chains) {
|
|
81
|
+
evmClients[chain.id] = createPublicClient({
|
|
82
|
+
chain,
|
|
83
|
+
transport: config.transports?.[chain.id] ?? http(),
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return new GauntletClient({
|
|
88
|
+
evmClients,
|
|
89
|
+
wallet: await walletClientFromPrivy(config.wallet, config.chains[0]),
|
|
90
|
+
apiKey: config.apiKey,
|
|
91
|
+
apiUrl: config.apiUrl,
|
|
92
|
+
attributionMode: config.attributionMode,
|
|
93
|
+
builderCode: config.builderCode,
|
|
94
|
+
});
|
|
95
|
+
}
|