@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.
Files changed (145) hide show
  1. package/README.md +82 -1
  2. package/dist/api/activity.d.ts +70 -0
  3. package/dist/api/activity.d.ts.map +1 -0
  4. package/dist/api/activity.js +154 -0
  5. package/dist/api/activity.js.map +1 -0
  6. package/dist/api/caip.d.ts +29 -0
  7. package/dist/api/caip.d.ts.map +1 -0
  8. package/dist/api/caip.js +38 -0
  9. package/dist/api/caip.js.map +1 -0
  10. package/dist/api/client.d.ts +114 -0
  11. package/dist/api/client.d.ts.map +1 -0
  12. package/dist/api/client.js +109 -0
  13. package/dist/api/client.js.map +1 -0
  14. package/dist/api/decimal.d.ts +21 -0
  15. package/dist/api/decimal.d.ts.map +1 -0
  16. package/dist/api/decimal.js +44 -0
  17. package/dist/api/decimal.js.map +1 -0
  18. package/dist/api/errors.d.ts +32 -0
  19. package/dist/api/errors.d.ts.map +1 -0
  20. package/dist/api/errors.js +41 -0
  21. package/dist/api/errors.js.map +1 -0
  22. package/dist/api/generated.d.ts +1461 -0
  23. package/dist/api/generated.d.ts.map +1 -0
  24. package/dist/api/generated.js +6 -0
  25. package/dist/api/generated.js.map +1 -0
  26. package/dist/api/http.d.ts +16 -0
  27. package/dist/api/http.d.ts.map +1 -0
  28. package/dist/api/http.js +39 -0
  29. package/dist/api/http.js.map +1 -0
  30. package/dist/api/index.d.ts +14 -0
  31. package/dist/api/index.d.ts.map +1 -0
  32. package/dist/api/index.js +8 -0
  33. package/dist/api/index.js.map +1 -0
  34. package/dist/api/positionHistory.d.ts +44 -0
  35. package/dist/api/positionHistory.d.ts.map +1 -0
  36. package/dist/api/positionHistory.js +126 -0
  37. package/dist/api/positionHistory.js.map +1 -0
  38. package/dist/client.d.ts +6 -0
  39. package/dist/client.d.ts.map +1 -1
  40. package/dist/client.js +2 -0
  41. package/dist/client.js.map +1 -1
  42. package/dist/constants.d.ts +16 -0
  43. package/dist/constants.d.ts.map +1 -0
  44. package/dist/constants.js +28 -0
  45. package/dist/constants.js.map +1 -0
  46. package/dist/errors.d.ts +18 -3
  47. package/dist/errors.d.ts.map +1 -1
  48. package/dist/errors.js +20 -2
  49. package/dist/errors.js.map +1 -1
  50. package/dist/evm/abis/priceAndFeeCalculatorV2.d.ts +233 -0
  51. package/dist/evm/abis/priceAndFeeCalculatorV2.d.ts.map +1 -0
  52. package/dist/evm/abis/priceAndFeeCalculatorV2.js +119 -0
  53. package/dist/evm/abis/priceAndFeeCalculatorV2.js.map +1 -0
  54. package/dist/evm/abis/provisionerV2.d.ts +684 -0
  55. package/dist/evm/abis/provisionerV2.d.ts.map +1 -0
  56. package/dist/evm/abis/provisionerV2.js +262 -0
  57. package/dist/evm/abis/provisionerV2.js.map +1 -0
  58. package/dist/evm/adapters/aera.d.ts +3 -3
  59. package/dist/evm/adapters/aera.d.ts.map +1 -1
  60. package/dist/evm/adapters/aera.js +179 -103
  61. package/dist/evm/adapters/aera.js.map +1 -1
  62. package/dist/evm/adapters/types.d.ts +12 -1
  63. package/dist/evm/adapters/types.d.ts.map +1 -1
  64. package/dist/evm/aeraContracts/priceAndFeeCalculator.d.ts +41 -0
  65. package/dist/evm/aeraContracts/priceAndFeeCalculator.d.ts.map +1 -0
  66. package/dist/evm/aeraContracts/priceAndFeeCalculator.js +140 -0
  67. package/dist/evm/aeraContracts/priceAndFeeCalculator.js.map +1 -0
  68. package/dist/evm/aeraContracts/v1.d.ts +2317 -0
  69. package/dist/evm/aeraContracts/v1.d.ts.map +1 -0
  70. package/dist/evm/aeraContracts/v1.js +59 -0
  71. package/dist/evm/aeraContracts/v1.js.map +1 -0
  72. package/dist/evm/aeraContracts/v2.d.ts +4146 -0
  73. package/dist/evm/aeraContracts/v2.d.ts.map +1 -0
  74. package/dist/evm/aeraContracts/v2.js +217 -0
  75. package/dist/evm/aeraContracts/v2.js.map +1 -0
  76. package/dist/evm/aeraContracts.d.ts +23 -2316
  77. package/dist/evm/aeraContracts.d.ts.map +1 -1
  78. package/dist/evm/aeraContracts.js +117 -24
  79. package/dist/evm/aeraContracts.js.map +1 -1
  80. package/dist/evm/deposit.d.ts +5 -1
  81. package/dist/evm/deposit.d.ts.map +1 -1
  82. package/dist/evm/deposit.js +28 -14
  83. package/dist/evm/deposit.js.map +1 -1
  84. package/dist/evm/depositReceiverApproval.d.ts +17 -0
  85. package/dist/evm/depositReceiverApproval.d.ts.map +1 -0
  86. package/dist/evm/depositReceiverApproval.js +32 -0
  87. package/dist/evm/depositReceiverApproval.js.map +1 -0
  88. package/dist/evm/index.d.ts +8 -1
  89. package/dist/evm/index.d.ts.map +1 -1
  90. package/dist/evm/index.js +4 -0
  91. package/dist/evm/index.js.map +1 -1
  92. package/dist/evm/operationMode.d.ts +9 -0
  93. package/dist/evm/operationMode.d.ts.map +1 -0
  94. package/dist/evm/operationMode.js +41 -0
  95. package/dist/evm/operationMode.js.map +1 -0
  96. package/dist/evm/types.d.ts +5 -3
  97. package/dist/evm/types.d.ts.map +1 -1
  98. package/dist/evm/types.js +4 -1
  99. package/dist/evm/types.js.map +1 -1
  100. package/dist/evm/userCurrentBalance.d.ts.map +1 -1
  101. package/dist/evm/userCurrentBalance.js +68 -58
  102. package/dist/evm/userCurrentBalance.js.map +1 -1
  103. package/dist/evm/withdraw.d.ts +5 -1
  104. package/dist/evm/withdraw.d.ts.map +1 -1
  105. package/dist/evm/withdraw.js +25 -13
  106. package/dist/evm/withdraw.js.map +1 -1
  107. package/dist/index.d.ts +9 -1
  108. package/dist/index.d.ts.map +1 -1
  109. package/dist/index.js +6 -1
  110. package/dist/index.js.map +1 -1
  111. package/dist/privy/index.d.ts +52 -0
  112. package/dist/privy/index.d.ts.map +1 -0
  113. package/dist/privy/index.js +51 -0
  114. package/dist/privy/index.js.map +1 -0
  115. package/manifest/vaults.json +316 -132
  116. package/package.json +2 -2
  117. package/src/api/activity.ts +219 -0
  118. package/src/api/caip.ts +61 -0
  119. package/src/api/client.ts +201 -0
  120. package/src/api/decimal.ts +49 -0
  121. package/src/api/errors.ts +64 -0
  122. package/src/api/generated.ts +1461 -0
  123. package/src/api/http.ts +62 -0
  124. package/src/api/index.ts +65 -0
  125. package/src/api/positionHistory.ts +167 -0
  126. package/src/client.ts +7 -1
  127. package/src/constants.ts +32 -0
  128. package/src/errors.ts +44 -5
  129. package/src/evm/abis/priceAndFeeCalculatorV2.ts +118 -0
  130. package/src/evm/abis/provisionerV2.ts +261 -0
  131. package/src/evm/adapters/aera.ts +419 -137
  132. package/src/evm/adapters/types.ts +19 -1
  133. package/src/evm/aeraContracts/priceAndFeeCalculator.ts +223 -0
  134. package/src/evm/aeraContracts/v1.ts +157 -0
  135. package/src/evm/aeraContracts/v2.ts +466 -0
  136. package/src/evm/aeraContracts.ts +173 -52
  137. package/src/evm/deposit.ts +48 -16
  138. package/src/evm/depositReceiverApproval.ts +51 -0
  139. package/src/evm/index.ts +23 -1
  140. package/src/evm/operationMode.ts +60 -0
  141. package/src/evm/types.ts +7 -3
  142. package/src/evm/userCurrentBalance.ts +80 -55
  143. package/src/evm/withdraw.ts +42 -15
  144. package/src/index.ts +21 -0
  145. 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
+ }