@paxoslabs/amplify-sdk 0.0.2 → 0.1.0-beta.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 (45) hide show
  1. package/CHANGELOG.md +24 -1
  2. package/README.md +1 -1
  3. package/dist/{amplify-sdk-api-DPrRhynk.d.mts → amplify-sdk-api-Biol0OIp.d.mts} +1 -1
  4. package/dist/{amplify-sdk-api-B5hBTGrB.d.ts → amplify-sdk-api-DGRgEybp.d.ts} +1 -1
  5. package/dist/{chunk-IBNTWZ4S.js → chunk-B2QCI6ET.js} +13 -35
  6. package/dist/chunk-B2QCI6ET.js.map +1 -0
  7. package/dist/{chunk-WFCHKDDG.mjs → chunk-CUGK4ZBJ.mjs} +13 -35
  8. package/dist/chunk-CUGK4ZBJ.mjs.map +1 -0
  9. package/dist/{chunk-ANL3PE7L.js → chunk-DTFLXAZJ.js} +21 -46
  10. package/dist/chunk-DTFLXAZJ.js.map +1 -0
  11. package/dist/{chunk-NLLEYTJ6.js → chunk-GS7TDQXA.js} +8 -8
  12. package/dist/{chunk-NLLEYTJ6.js.map → chunk-GS7TDQXA.js.map} +1 -1
  13. package/dist/{chunk-774KTF7A.mjs → chunk-HI44AMLC.mjs} +4 -4
  14. package/dist/{chunk-774KTF7A.mjs.map → chunk-HI44AMLC.mjs.map} +1 -1
  15. package/dist/{chunk-BMN6KTOC.js → chunk-KYR6BFAE.js} +20 -20
  16. package/dist/{chunk-BMN6KTOC.js.map → chunk-KYR6BFAE.js.map} +1 -1
  17. package/dist/{chunk-K4DL2AII.js → chunk-LSNRG5Z2.js} +4 -4
  18. package/dist/{chunk-K4DL2AII.js.map → chunk-LSNRG5Z2.js.map} +1 -1
  19. package/dist/{chunk-OPOYGPSS.mjs → chunk-REKEQLQA.mjs} +3 -3
  20. package/dist/{chunk-OPOYGPSS.mjs.map → chunk-REKEQLQA.mjs.map} +1 -1
  21. package/dist/{chunk-SYVANMRO.mjs → chunk-VIULRHK6.mjs} +3 -3
  22. package/dist/{chunk-SYVANMRO.mjs.map → chunk-VIULRHK6.mjs.map} +1 -1
  23. package/dist/{chunk-LVJ44U7Z.mjs → chunk-ZILA73XN.mjs} +19 -44
  24. package/dist/chunk-ZILA73XN.mjs.map +1 -0
  25. package/dist/core.js +14 -14
  26. package/dist/core.mjs +4 -4
  27. package/dist/display.js +12 -12
  28. package/dist/display.js.map +1 -1
  29. package/dist/display.mjs +4 -4
  30. package/dist/display.mjs.map +1 -1
  31. package/dist/index.d.mts +235 -5
  32. package/dist/index.d.ts +235 -5
  33. package/dist/index.js +323 -147
  34. package/dist/index.js.map +1 -1
  35. package/dist/index.mjs +231 -55
  36. package/dist/index.mjs.map +1 -1
  37. package/dist/utils.d.mts +1 -1
  38. package/dist/utils.d.ts +1 -1
  39. package/dist/utils.js +5 -5
  40. package/dist/utils.mjs +2 -2
  41. package/package.json +1 -1
  42. package/dist/chunk-ANL3PE7L.js.map +0 -1
  43. package/dist/chunk-IBNTWZ4S.js.map +0 -1
  44. package/dist/chunk-LVJ44U7Z.mjs.map +0 -1
  45. package/dist/chunk-WFCHKDDG.mjs.map +0 -1
package/dist/index.mjs CHANGED
@@ -1,14 +1,14 @@
1
1
  import { DEFAULT_SLIPPAGE_BPS } from './chunk-XXHRCCZS.mjs';
2
2
  export { YieldType } from './chunk-XXHRCCZS.mjs';
3
- export { getDepositExchangeRate, getWithdrawExchangeRate, isDepositSpendApproved, isWithdrawalSpendApproved } from './chunk-774KTF7A.mjs';
4
- import { getRateInQuoteWithAssetDecimals, TellerAbi, getClient, BoringVaultAbi, getRateInQuoteAndSharesAndWantAssetDecimals } from './chunk-LVJ44U7Z.mjs';
3
+ export { getDepositExchangeRate, getWithdrawExchangeRate, isDepositSpendApproved, isWithdrawalSpendApproved } from './chunk-HI44AMLC.mjs';
4
+ import { getRateInQuoteWithAssetDecimals, TellerAbi, getClient, BoringVaultAbi, getRateInQuoteAndSharesAndWantAssetDecimals } from './chunk-ZILA73XN.mjs';
5
5
  import './chunk-R663BFAZ.mjs';
6
6
  import { toChainId } from './chunk-J3662HYT.mjs';
7
- import { calculateDeadline } from './chunk-OPOYGPSS.mjs';
7
+ import { calculateDeadline } from './chunk-REKEQLQA.mjs';
8
8
  import { WAD } from './chunk-7RWWVUHP.mjs';
9
- import { findVaultByConfig, APIError, getAssetsFromCache, DEFAULT_APPROVAL_AMOUNT, fetchSupportedAssets, ATOMIC_QUEUE_CONTRACT_ADDRESS, DEFAULT_DEADLINE } from './chunk-WFCHKDDG.mjs';
10
- export { APIError, fetchSupportedAssets, fetchVaults, findVaultByConfig, getAssetsFromCache, getCache, getWithdrawSupportedAssets, initAmplifySDK, initializeCache, refreshVaultCache } from './chunk-WFCHKDDG.mjs';
11
- import { parseUnits, erc20Abi, hexToSignature } from 'viem';
9
+ import { findVaultByConfig, APIError, getAssetsFromCache, DEFAULT_APPROVAL_AMOUNT, fetchSupportedAssets, ATOMIC_QUEUE_CONTRACT_ADDRESS, DEFAULT_DEADLINE } from './chunk-CUGK4ZBJ.mjs';
10
+ export { APIError, fetchSupportedAssets, fetchVaults, findVaultByConfig, getAssetsFromCache, getCache, getWithdrawSupportedAssets, initAmplifySDK, initializeCache, refreshVaultCache } from './chunk-CUGK4ZBJ.mjs';
11
+ import { parseUnits, erc20Abi, toBytes, hexToSignature } from 'viem';
12
12
 
13
13
  async function prepareApproveDepositTokenTxData({
14
14
  yieldType,
@@ -65,6 +65,212 @@ async function prepareApproveDepositTokenTxData({
65
65
  }
66
66
  }
67
67
 
68
+ // src/abi/community-code-depositor-abi.ts
69
+ var CommunityCodeDepositorAbi = [
70
+ {
71
+ type: "constructor",
72
+ inputs: [
73
+ { name: "_teller", type: "address", internalType: "address" },
74
+ { name: "_owner", type: "address", internalType: "address" }
75
+ ],
76
+ stateMutability: "nonpayable"
77
+ },
78
+ {
79
+ type: "function",
80
+ name: "authority",
81
+ inputs: [],
82
+ outputs: [
83
+ { name: "", type: "address", internalType: "contract Authority" }
84
+ ],
85
+ stateMutability: "view"
86
+ },
87
+ {
88
+ type: "function",
89
+ name: "boringVault",
90
+ inputs: [],
91
+ outputs: [{ name: "", type: "address", internalType: "address" }],
92
+ stateMutability: "view"
93
+ },
94
+ {
95
+ type: "function",
96
+ name: "deposit",
97
+ inputs: [
98
+ {
99
+ name: "depositAsset",
100
+ type: "address",
101
+ internalType: "contract ERC20"
102
+ },
103
+ {
104
+ name: "depositAmount",
105
+ type: "uint256",
106
+ internalType: "uint256"
107
+ },
108
+ { name: "minimumMint", type: "uint256", internalType: "uint256" },
109
+ { name: "to", type: "address", internalType: "address" },
110
+ { name: "communityCode", type: "bytes", internalType: "bytes" }
111
+ ],
112
+ outputs: [{ name: "shares", type: "uint256", internalType: "uint256" }],
113
+ stateMutability: "nonpayable"
114
+ },
115
+ {
116
+ type: "function",
117
+ name: "depositNative",
118
+ inputs: [
119
+ {
120
+ name: "depositAmount",
121
+ type: "uint256",
122
+ internalType: "uint256"
123
+ },
124
+ { name: "minimumMint", type: "uint256", internalType: "uint256" },
125
+ { name: "to", type: "address", internalType: "address" },
126
+ { name: "communityCode", type: "bytes", internalType: "bytes" }
127
+ ],
128
+ outputs: [{ name: "shares", type: "uint256", internalType: "uint256" }],
129
+ stateMutability: "payable"
130
+ },
131
+ {
132
+ type: "function",
133
+ name: "depositNonce",
134
+ inputs: [],
135
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
136
+ stateMutability: "view"
137
+ },
138
+ {
139
+ type: "function",
140
+ name: "owner",
141
+ inputs: [],
142
+ outputs: [{ name: "", type: "address", internalType: "address" }],
143
+ stateMutability: "view"
144
+ },
145
+ {
146
+ type: "function",
147
+ name: "setAuthority",
148
+ inputs: [
149
+ {
150
+ name: "newAuthority",
151
+ type: "address",
152
+ internalType: "contract Authority"
153
+ }
154
+ ],
155
+ outputs: [],
156
+ stateMutability: "nonpayable"
157
+ },
158
+ {
159
+ type: "function",
160
+ name: "teller",
161
+ inputs: [],
162
+ outputs: [
163
+ {
164
+ name: "",
165
+ type: "address",
166
+ internalType: "contract TellerWithMultiAssetSupport"
167
+ }
168
+ ],
169
+ stateMutability: "view"
170
+ },
171
+ {
172
+ type: "function",
173
+ name: "transferOwnership",
174
+ inputs: [{ name: "newOwner", type: "address", internalType: "address" }],
175
+ outputs: [],
176
+ stateMutability: "nonpayable"
177
+ },
178
+ {
179
+ type: "event",
180
+ name: "AuthorityUpdated",
181
+ inputs: [
182
+ {
183
+ name: "user",
184
+ type: "address",
185
+ indexed: true,
186
+ internalType: "address"
187
+ },
188
+ {
189
+ name: "newAuthority",
190
+ type: "address",
191
+ indexed: true,
192
+ internalType: "contract Authority"
193
+ }
194
+ ],
195
+ anonymous: false
196
+ },
197
+ {
198
+ type: "event",
199
+ name: "DepositWithCommunityCode",
200
+ inputs: [
201
+ {
202
+ name: "depositor",
203
+ type: "address",
204
+ indexed: true,
205
+ internalType: "address"
206
+ },
207
+ {
208
+ name: "depositAsset",
209
+ type: "address",
210
+ indexed: true,
211
+ internalType: "contract ERC20"
212
+ },
213
+ {
214
+ name: "depositAmount",
215
+ type: "uint256",
216
+ indexed: false,
217
+ internalType: "uint256"
218
+ },
219
+ {
220
+ name: "minimumMint",
221
+ type: "uint256",
222
+ indexed: false,
223
+ internalType: "uint256"
224
+ },
225
+ {
226
+ name: "to",
227
+ type: "address",
228
+ indexed: true,
229
+ internalType: "address"
230
+ },
231
+ {
232
+ name: "depositHash",
233
+ type: "bytes32",
234
+ indexed: false,
235
+ internalType: "bytes32"
236
+ },
237
+ {
238
+ name: "communityCode",
239
+ type: "bytes",
240
+ indexed: false,
241
+ internalType: "bytes"
242
+ }
243
+ ],
244
+ anonymous: false
245
+ },
246
+ {
247
+ type: "event",
248
+ name: "OwnershipTransferred",
249
+ inputs: [
250
+ {
251
+ name: "user",
252
+ type: "address",
253
+ indexed: true,
254
+ internalType: "address"
255
+ },
256
+ {
257
+ name: "newOwner",
258
+ type: "address",
259
+ indexed: true,
260
+ internalType: "address"
261
+ }
262
+ ],
263
+ anonymous: false
264
+ },
265
+ { type: "error", name: "IncorrectNativeDepositAmount", inputs: [] },
266
+ {
267
+ type: "error",
268
+ name: "NativeWrapperAccountantDecimalsMismatch",
269
+ inputs: []
270
+ },
271
+ { type: "error", name: "ZeroAddress", inputs: [] }
272
+ ];
273
+
68
274
  // src/vaults/deposit/utils.ts
69
275
  var calculateMinimumMint = (depositAmount, rate, vaultTokenDecimals, slippage) => {
70
276
  const slippageValue = slippage ?? DEFAULT_SLIPPAGE_BPS;
@@ -84,7 +290,9 @@ async function prepareDepositTxData(params) {
84
290
  depositToken,
85
291
  depositAmount,
86
292
  chainId,
87
- slippage = DEFAULT_SLIPPAGE_BPS
293
+ slippage = DEFAULT_SLIPPAGE_BPS,
294
+ recipientAddress,
295
+ partnerCode
88
296
  } = params;
89
297
  try {
90
298
  const normalizedChainId = toChainId(chainId);
@@ -126,6 +334,7 @@ async function prepareDepositTxData(params) {
126
334
  );
127
335
  }
128
336
  const tellerAddress = vault.vault.tellerAddress;
337
+ const communityCodeDepositorAddress = vault.vault.communityCodeDepositorAddress;
129
338
  const accountantAddress = vault.vault.accountantAddress;
130
339
  const depositAssetAddress = asset.address;
131
340
  const [depositAssetDecimalsResult, rateInQuoteResult] = await getRateInQuoteWithAssetDecimals({
@@ -170,6 +379,21 @@ async function prepareDepositTxData(params) {
170
379
  depositAssetDecimalsResult.result,
171
380
  slippage
172
381
  );
382
+ if (communityCodeDepositorAddress && partnerCode) {
383
+ return {
384
+ abi: CommunityCodeDepositorAbi,
385
+ address: communityCodeDepositorAddress,
386
+ functionName: "deposit",
387
+ args: [
388
+ depositAssetAddress,
389
+ depositAmountAsBigInt,
390
+ minimumMint,
391
+ recipientAddress,
392
+ toBytes(partnerCode)
393
+ ],
394
+ chainId: normalizedChainId
395
+ };
396
+ }
173
397
  return {
174
398
  abi: TellerAbi,
175
399
  address: tellerAddress,
@@ -423,14 +647,6 @@ async function prepareDepositWithPermitTxData(params) {
423
647
  deadline,
424
648
  slippage = DEFAULT_SLIPPAGE_BPS
425
649
  } = params;
426
- console.log("[Amplify SDK] prepareDepositWithPermitTxData called", {
427
- yieldType,
428
- depositToken,
429
- depositAmount,
430
- chainId,
431
- deadline: deadline.toString(),
432
- slippage
433
- });
434
650
  try {
435
651
  const { v, r, s } = parsePermitSignature(signature);
436
652
  if (slippage < 0 || slippage > 1e4) {
@@ -442,19 +658,13 @@ async function prepareDepositWithPermitTxData(params) {
442
658
  );
443
659
  }
444
660
  const normalizedChainId = toChainId(chainId);
445
- console.log("[Amplify SDK] Normalized chainId:", normalizedChainId);
446
661
  let vault;
447
662
  try {
448
- console.log("[Amplify SDK] Resolving vault with findVaultByConfig...");
449
663
  vault = await findVaultByConfig({
450
664
  assetAddress: depositToken,
451
665
  yieldType,
452
666
  chainId: normalizedChainId
453
667
  });
454
- console.log(
455
- "[Amplify SDK] Vault resolved:",
456
- vault ? "Found" : "Not found"
457
- );
458
668
  } catch (error) {
459
669
  throw new APIError(
460
670
  `Failed to resolve vault for token ${depositToken} with yield type ${yieldType} on chain ${normalizedChainId}: ${error instanceof Error ? error.message : "Unknown error"}`,
@@ -472,13 +682,8 @@ async function prepareDepositWithPermitTxData(params) {
472
682
  }
473
683
  );
474
684
  }
475
- console.log(
476
- "[Amplify SDK] Fetching supported assets for depositToken:",
477
- depositToken
478
- );
479
685
  let asset = null;
480
686
  const assets = await fetchSupportedAssets({ address: depositToken });
481
- console.log("[Amplify SDK] Supported assets found:", assets.length);
482
687
  if (assets.length > 0) {
483
688
  asset = assets.find((a) => a.chains.includes(normalizedChainId)) || assets[0] || null;
484
689
  }
@@ -501,21 +706,11 @@ async function prepareDepositWithPermitTxData(params) {
501
706
  const tellerAddress = vault.vault.tellerAddress;
502
707
  const accountantAddress = vault.vault.accountantAddress;
503
708
  const depositAssetAddress = asset.address;
504
- console.log("[Amplify SDK] Contract addresses:", {
505
- tellerAddress,
506
- accountantAddress,
507
- depositAssetAddress
508
- });
509
- console.log("[Amplify SDK] Calling getRateInQuoteWithAssetDecimals...");
510
709
  const [depositAssetDecimalsResult, rateInQuoteResult] = await getRateInQuoteWithAssetDecimals({
511
710
  assetAddress: depositAssetAddress,
512
711
  accountantAddress,
513
712
  chainId: normalizedChainId
514
713
  });
515
- console.log("[Amplify SDK] getRateInQuoteWithAssetDecimals completed", {
516
- decimalsStatus: depositAssetDecimalsResult.status,
517
- rateStatus: rateInQuoteResult.status
518
- });
519
714
  if (depositAssetDecimalsResult.status === "failure") {
520
715
  throw new APIError(
521
716
  `Failed to get asset decimals: ${depositAssetDecimalsResult.error?.message || "Unknown error"}`,
@@ -535,40 +730,21 @@ async function prepareDepositWithPermitTxData(params) {
535
730
  );
536
731
  }
537
732
  const depositAmountAsBigInt = parseUnits(depositAmount, asset.decimals);
538
- console.log(
539
- "[Amplify SDK] Fetching vault shares asset:",
540
- vault.vault.boringVaultAddress
541
- );
542
733
  const vaultSharesAssets = await fetchSupportedAssets({
543
734
  address: vault.vault.boringVaultAddress
544
735
  });
545
- console.log(
546
- "[Amplify SDK] Vault shares assets found:",
547
- vaultSharesAssets.length
548
- );
549
736
  if (vaultSharesAssets.length === 0) {
550
737
  throw new APIError(
551
738
  `Vault shares token not found in supported assets: ${vault.vault.boringVaultAddress}`,
552
739
  { endpoint: "prepareDepositWithPermitTxData" }
553
740
  );
554
741
  }
555
- console.log("[Amplify SDK] Calculating minimumMint...", {
556
- depositAmountAsBigInt: depositAmountAsBigInt.toString(),
557
- rateInQuote: rateInQuoteResult.result.toString(),
558
- vaultSharesDecimals: vaultSharesAssets[0].decimals,
559
- slippage
560
- });
561
742
  const minimumMint = calculateMinimumMint(
562
743
  depositAmountAsBigInt,
563
744
  rateInQuoteResult.result,
564
745
  vaultSharesAssets[0].decimals,
565
746
  slippage
566
747
  );
567
- console.log(
568
- "[Amplify SDK] minimumMint calculated:",
569
- minimumMint.toString()
570
- );
571
- console.log("[Amplify SDK] Returning transaction data successfully");
572
748
  return {
573
749
  data: {
574
750
  abi: TellerAbi,