@paxoslabs/amplify-sdk 0.4.2 → 0.4.3-alpha.1
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 +79 -64
- package/dist/{chain-utils-CRMbWzu7.d.mts → chain-utils-CpOJcWig.d.mts} +48 -29
- package/dist/{chain-utils-CRMbWzu7.d.ts → chain-utils-CpOJcWig.d.ts} +48 -29
- package/dist/{chunk-RW7PZETN.mjs → chunk-7JMQWERX.mjs} +238 -254
- package/dist/chunk-7JMQWERX.mjs.map +1 -0
- package/dist/{chunk-TPU2HZAX.mjs → chunk-HV2LE2M6.mjs} +86 -169
- package/dist/chunk-HV2LE2M6.mjs.map +1 -0
- package/dist/{chunk-WZXCJAKM.js → chunk-JTURYJHV.js} +12 -12
- package/dist/{chunk-WZXCJAKM.js.map → chunk-JTURYJHV.js.map} +1 -1
- package/dist/{chunk-5CV25BTQ.js → chunk-KXU3GSF4.mjs} +87 -4
- package/dist/chunk-KXU3GSF4.mjs.map +1 -0
- package/dist/{chunk-CQZCGPZK.mjs → chunk-MB6HYA7R.js} +96 -3
- package/dist/chunk-MB6HYA7R.js.map +1 -0
- package/dist/{chunk-BQG3XKTU.js → chunk-PKGFLHZA.js} +239 -253
- package/dist/chunk-PKGFLHZA.js.map +1 -0
- package/dist/{chunk-2YPKHXFJ.js → chunk-R35K46S5.js} +180 -263
- package/dist/chunk-R35K46S5.js.map +1 -0
- package/dist/{chunk-GMMBJB4B.mjs → chunk-UM7S7U45.mjs} +71 -46
- package/dist/chunk-UM7S7U45.mjs.map +1 -0
- package/dist/{chunk-VZED4E3L.mjs → chunk-USF4CU2K.mjs} +3 -3
- package/dist/{chunk-VZED4E3L.mjs.map → chunk-USF4CU2K.mjs.map} +1 -1
- package/dist/{chunk-OZJNKGW6.js → chunk-YEAWQB72.js} +120 -95
- package/dist/chunk-YEAWQB72.js.map +1 -0
- package/dist/core.d.mts +2 -2
- package/dist/core.d.ts +2 -2
- package/dist/core.js +16 -16
- package/dist/core.mjs +4 -4
- package/dist/display.d.mts +23 -11
- package/dist/display.d.ts +23 -11
- package/dist/display.js +10 -10
- package/dist/display.mjs +4 -4
- package/dist/index.d.mts +107 -7
- package/dist/index.d.ts +107 -7
- package/dist/index.js +75 -51
- package/dist/index.mjs +5 -5
- package/dist/utils.d.mts +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js +7 -7
- package/dist/utils.mjs +2 -2
- package/dist/vaults.d.mts +107 -94
- package/dist/vaults.d.ts +107 -94
- package/dist/vaults.js +25 -25
- package/dist/vaults.mjs +4 -4
- package/package.json +18 -11
- package/dist/chunk-2YPKHXFJ.js.map +0 -1
- package/dist/chunk-5CV25BTQ.js.map +0 -1
- package/dist/chunk-BQG3XKTU.js.map +0 -1
- package/dist/chunk-CQZCGPZK.mjs.map +0 -1
- package/dist/chunk-GMMBJB4B.mjs.map +0 -1
- package/dist/chunk-OZJNKGW6.js.map +0 -1
- package/dist/chunk-RW7PZETN.mjs.map +0 -1
- package/dist/chunk-TPU2HZAX.mjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,96 +7,110 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
<!-- auto-changelog-above -->
|
|
9
9
|
|
|
10
|
+
## [0.4.3-alpha.1] (2026-03-13)
|
|
11
|
+
|
|
12
|
+
### ⚠ BREAKING CHANGES
|
|
13
|
+
|
|
14
|
+
* **vaults:** `yieldType` parameter removed from all deposit and withdrawal method arguments — replace with `vaultName: string` (e.g. `"Amplify USDC Core"`) across `prepareDepositTxData()`, `prepareDeposit()`, `prepareWithdrawOrderTxData()`, `prepareWithdrawal()`, and related authorization methods 209599d7
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
- **client:** add `getVaultsByConfig()` — new function to filter vaults from cache by `yieldType`, `chainId`, `depositAssetAddress`, `withdrawAssetAddress`, or `settlementAssetAddress`; results are automatically scoped to the organization associated with the initialized API key 8e5e7de2
|
|
19
|
+
- **client:** require `vaultName` for vault resolution — vault lookup now uses `vaultName` as a required parameter for unambiguous resolution across organizations 209599d7
|
|
20
|
+
|
|
21
|
+
### Refactoring
|
|
22
|
+
|
|
23
|
+
- **display:** update display module types and helpers (`deposit-display`, `vault-display`, `withdrawal-display`) to align with new vault resolution model 209599d7
|
|
24
|
+
- **vaults:** simplify deposit and withdrawal authorization flows; update approval logic across deposit/withdraw 209599d7
|
|
10
25
|
|
|
11
26
|
## [0.4.2](///compare/v0.4.1...v0.4.2) (2026-02-21)
|
|
12
27
|
|
|
13
28
|
### Features
|
|
14
29
|
|
|
15
|
-
|
|
30
|
+
- **config:** add custom RPC URL support per chain b096322
|
|
16
31
|
|
|
17
32
|
### Bug Fixes
|
|
18
33
|
|
|
19
|
-
|
|
20
|
-
|
|
34
|
+
- **config:** address code review feedback for custom RPC support db8a077
|
|
35
|
+
- **package.json:** adjust package version 8369305
|
|
21
36
|
|
|
22
37
|
## [0.4.1](///compare/v0.4.0...v0.4.1) (2026-02-20)
|
|
23
38
|
|
|
24
39
|
### Features
|
|
25
40
|
|
|
26
|
-
|
|
41
|
+
- **api:** integrate /v2/amplify/vaultAssets REST endpoint 9bb5b10
|
|
27
42
|
|
|
28
43
|
### Bug Fixes
|
|
29
44
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
45
|
+
- address CodeRabbit PR review findings b268261
|
|
46
|
+
- **ci:** allow prerelease builds from main branch and revert manual version bump 8a927cd
|
|
47
|
+
- **client:** only trigger pagination safety limit when more pages remain 71dbf06
|
|
48
|
+
- **security:** resolve minimatch and ajv audit vulnerabilities 1449156
|
|
34
49
|
|
|
35
50
|
## [0.4.0](///compare/v0.2.4...v0.4.0) (2026-02-18)
|
|
36
51
|
|
|
37
52
|
### ⚠ BREAKING CHANGES
|
|
38
53
|
|
|
39
|
-
|
|
54
|
+
- **withdraw:** Replace AtomicQueue with WithdrawQueue contract ([7c521f4](https://github.com/Ion-Protocol/amplify-sdk/commit/7c521f4))
|
|
40
55
|
- `prepareWithdrawTransactionData()` → `prepareWithdrawOrderTxData()`
|
|
41
56
|
- `prepareApproveWithdrawToken()` → `prepareApproveWithdrawOrderTxData()`
|
|
42
57
|
- Added `prepareCancelWithdrawOrderTxData()` for order cancellation
|
|
43
58
|
- Slippage params no longer required for withdrawals
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
59
|
+
- **withdraw:** Rename WithdrawQueue functions for API clarity ([6b287de](https://github.com/Ion-Protocol/amplify-sdk/commit/6b287de))
|
|
60
|
+
- **auth:** Remove redundant allowance fields from approval authorization results ([f6236a4](https://github.com/Ion-Protocol/amplify-sdk/commit/f6236a4))
|
|
61
|
+
- **client:** Migrate vault data fetching from REST v1 to GraphQL ([b71bbd6](https://github.com/Ion-Protocol/amplify-sdk/commit/b71bbd6))
|
|
62
|
+
- **core:** Minimum Node.js version increased from 20 to 22 ([d96f256](https://github.com/Ion-Protocol/amplify-sdk/commit/d96f256))
|
|
48
63
|
|
|
49
64
|
### Features
|
|
50
65
|
|
|
51
|
-
|
|
66
|
+
- **withdraw:** add `prepareWithdrawal` unified wrapper and `forceMethod` authorization overrides ([1deef81](https://github.com/Ion-Protocol/amplify-sdk/commit/1deef81))
|
|
52
67
|
- `prepareWithdrawal()` provides a stable high-level API wrapping `prepareWithdrawOrderTxData()`
|
|
53
68
|
- `forceMethod` parameter on both deposit and withdrawal authorization for explicit routing control
|
|
54
69
|
- Auth logic reordered: force override → smart wallet heuristic → auto-detect
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
70
|
+
- **withdraw:** add WithdrawQueue contract integration ([901bb5e](https://github.com/Ion-Protocol/amplify-sdk/commit/901bb5e))
|
|
71
|
+
- **withdraw:** add `prepareWithdrawalAuthorization` unified wrapper and fix approval bugs ([88baaaf](https://github.com/Ion-Protocol/amplify-sdk/commit/88baaaf))
|
|
72
|
+
- **display:** add display module with UI helper functions (`getVaultAPY`, `getVaultTVL`, `getMinimumMint`, `getMinimumWithdrawalOrderSize`, `getWithdrawalFee`, `getWithdrawalRequests`) ([868d722](https://github.com/Ion-Protocol/amplify-sdk/commit/868d722))
|
|
73
|
+
- **init:** make SDK initialization fully non-blocking ([3cfb510](https://github.com/Ion-Protocol/amplify-sdk/commit/3cfb510))
|
|
74
|
+
- **wallets:** add smart contract wallet detection for deposit and withdrawal flows ([1547072](https://github.com/Ion-Protocol/amplify-sdk/commit/1547072))
|
|
75
|
+
- **config:** add PRIME yield type support ([7b7e60d](https://github.com/Ion-Protocol/amplify-sdk/commit/7b7e60d))
|
|
76
|
+
- **deposit:** improve TypeScript inference and add eth_signTypedData_v4 helper ([7feb7b6](https://github.com/Ion-Protocol/amplify-sdk/commit/7feb7b6))
|
|
62
77
|
|
|
63
78
|
### Bug Fixes
|
|
64
79
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
80
|
+
- **withdraw:** remove legacy AtomicQueue utils and update tests ([67f6703](https://github.com/Ion-Protocol/amplify-sdk/commit/67f6703))
|
|
81
|
+
- **display:** use AND separator in v2 API filter query strings ([46bdec5](https://github.com/Ion-Protocol/amplify-sdk/commit/46bdec5))
|
|
82
|
+
- **display:** add multicall error handling in `getMinimumMint` ([2fe41d5](https://github.com/Ion-Protocol/amplify-sdk/commit/2fe41d5))
|
|
83
|
+
- **auth:** remove redundant allowance fields from approval authorization results ([f6236a4](https://github.com/Ion-Protocol/amplify-sdk/commit/f6236a4))
|
|
84
|
+
- **deposit:** verify asset is supported on target chain ([d4a6eae](https://github.com/Ion-Protocol/amplify-sdk/commit/d4a6eae))
|
|
85
|
+
- **errors:** ensure instanceof checks work in transpiled code ([9167032](https://github.com/Ion-Protocol/amplify-sdk/commit/9167032))
|
|
86
|
+
- **ci:** restrict dry-run job permissions to read-only ([af546e1](https://github.com/Ion-Protocol/amplify-sdk/commit/af546e1))
|
|
87
|
+
- **ci:** separate dry-run job to skip environment approval ([7c88088](https://github.com/Ion-Protocol/amplify-sdk/commit/7c88088))
|
|
88
|
+
- address CodeRabbit review findings across withdraw, deposit, and display modules ([8b52868](https://github.com/Ion-Protocol/amplify-sdk/commit/8b52868))
|
|
89
|
+
- address CodeRabbit PR review findings ([299cc64](https://github.com/Ion-Protocol/amplify-sdk/commit/299cc64))
|
|
90
|
+
- align stale API references with current naming (PR review) ([d2a2655](https://github.com/Ion-Protocol/amplify-sdk/commit/d2a2655))
|
|
91
|
+
- reset version to 0.3.0 for release-it minor bump to 0.4.0 ([79d7b6d](https://github.com/Ion-Protocol/amplify-sdk/commit/79d7b6d))
|
|
77
92
|
|
|
78
93
|
### Code Refactoring
|
|
79
94
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
95
|
+
- **withdraw:** add ApprovalMethod enum for signature params ([21e0ae9](https://github.com/Ion-Protocol/amplify-sdk/commit/21e0ae9))
|
|
96
|
+
- **client:** make `fetchVaults` and `fetchSupportedAssets` cache-aware ([a50a345](https://github.com/Ion-Protocol/amplify-sdk/commit/a50a345))
|
|
97
|
+
- **client:** move API client from `api/` to `client/` folder ([a6523db](https://github.com/Ion-Protocol/amplify-sdk/commit/a6523db))
|
|
83
98
|
|
|
84
99
|
### Styles
|
|
85
100
|
|
|
86
|
-
|
|
101
|
+
- apply biome formatting to codebase ([d034237](https://github.com/Ion-Protocol/amplify-sdk/commit/d034237))
|
|
87
102
|
|
|
88
103
|
### Documentation
|
|
89
104
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
105
|
+
- update API reference and guides for new withdrawal API ([623fbf0](https://github.com/Ion-Protocol/amplify-sdk/commit/623fbf0))
|
|
106
|
+
- align Mintlify docs with current SDK state ([df67147](https://github.com/Ion-Protocol/amplify-sdk/commit/df67147))
|
|
107
|
+
- update withdrawal docs from AtomicQueue to WithdrawQueue terminology ([4ff639d](https://github.com/Ion-Protocol/amplify-sdk/commit/4ff639d))
|
|
108
|
+
- fix withdrawal examples and smart wallet guide per code review ([bacca7c](https://github.com/Ion-Protocol/amplify-sdk/commit/bacca7c))
|
|
94
109
|
|
|
95
110
|
### Chores
|
|
96
111
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
112
|
+
- **deps:** add version overrides for brace-expansion and lodash ([4dba204](https://github.com/Ion-Protocol/amplify-sdk/commit/4dba204))
|
|
113
|
+
- **test:** remove unused getMockAssets import ([b3e9bd0](https://github.com/Ion-Protocol/amplify-sdk/commit/b3e9bd0))
|
|
100
114
|
|
|
101
115
|
## [0.3.0-beta.0] - 2025-01-30
|
|
102
116
|
|
|
@@ -141,7 +155,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
141
155
|
|
|
142
156
|
- use YieldType enum in tests and fix doc dates ([dc04a99](https://github.com/Ion-Protocol/amplify-sdk/commit/dc04a99))
|
|
143
157
|
|
|
144
|
-
|
|
145
158
|
## [0.2.3-beta.2] - 2025-01-15
|
|
146
159
|
|
|
147
160
|
### Bug Fixes
|
|
@@ -150,7 +163,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
150
163
|
- **deposit:** use cache-based lookup for token address resolution ([36eeb42](https://github.com/Ion-Protocol/amplify-sdk/commit/36eeb42))
|
|
151
164
|
- **types:** align EIP712Domain with viem's TypedDataDomain ([aa87bc7](https://github.com/Ion-Protocol/amplify-sdk/commit/aa87bc7))
|
|
152
165
|
|
|
153
|
-
|
|
154
166
|
## [0.2.0-beta.4] - 2025-01-10
|
|
155
167
|
|
|
156
168
|
### Bug Fixes
|
|
@@ -164,14 +176,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
164
176
|
|
|
165
177
|
- **readme:** complete Quick Start deposit example ([451efa7](https://github.com/Ion-Protocol/amplify-sdk/commit/451efa7))
|
|
166
178
|
|
|
167
|
-
|
|
168
179
|
## [0.2.0-beta.0] - 2025-01-05
|
|
169
180
|
|
|
170
181
|
### Code Refactoring
|
|
171
182
|
|
|
172
183
|
- **types:** convert LogLevel enum to `as const` pattern ([7cf1580](https://github.com/Ion-Protocol/amplify-sdk/commit/7cf1580))
|
|
173
184
|
|
|
174
|
-
|
|
175
185
|
## [0.2.0-alpha.0] - 2025-01-01
|
|
176
186
|
|
|
177
187
|
### Features
|
|
@@ -207,13 +217,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
207
217
|
- clarify YieldType dual export pattern ([120ef43](https://github.com/Ion-Protocol/amplify-sdk/commit/120ef43))
|
|
208
218
|
- update slippage default to 0.5% and document partnerCode param ([573bc3b](https://github.com/Ion-Protocol/amplify-sdk/commit/573bc3b))
|
|
209
219
|
|
|
210
|
-
|
|
211
220
|
## [0.2.4](///compare/v0.2.3-beta.2...v0.2.4) (2026-01-20)
|
|
221
|
+
|
|
212
222
|
## [0.2.2](///compare/v0.2.3-beta.2...v0.2.4) (2026-01-09)
|
|
223
|
+
|
|
213
224
|
## [0.2.0](///compare/v0.2.3-beta.2...v0.2.4) (2026-01-05)
|
|
214
225
|
|
|
215
226
|
## [0.2.2](///compare/v0.2.0-beta.4...v0.2.2) (2026-01-09)
|
|
227
|
+
|
|
216
228
|
## [0.2.0-beta.4](///compare/v0.2.0-beta.4...v0.2.2) (2026-01-09)
|
|
229
|
+
|
|
217
230
|
## [0.2.0](///compare/v0.2.0-beta.4...v0.2.2) (2026-01-05)
|
|
218
231
|
|
|
219
232
|
## [0.2.0](///compare/v0.2.0-beta.2...v0.2.0) (2026-01-05)
|
|
@@ -232,23 +245,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
232
245
|
|
|
233
246
|
### Bug Fixes
|
|
234
247
|
|
|
235
|
-
|
|
248
|
+
- **types:** correct DepositTxData args tuple and withdraw docs 748593e
|
|
236
249
|
|
|
237
250
|
## [0.1.1-alpha.1](///compare/v0.1.1-alpha.0...v0.1.1-alpha.1) (2025-12-10)
|
|
238
251
|
|
|
239
252
|
### Bug Fixes
|
|
240
253
|
|
|
241
|
-
|
|
254
|
+
- **release:** resolve whatBump is not a function error 1d5d0e3
|
|
242
255
|
|
|
243
256
|
## <small>0.1.1-alpha.0 (2025-12-10)</small>
|
|
244
257
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
258
|
+
- docs(deposits): update spender references from Teller to CommunityCodeDepositor ([6af71db](https://github.com/Ion-Protocol/amplify-sdk/commit/6af71db))
|
|
259
|
+
- test(deposit): update permit spender test to expect CommunityCodeDepositor ([4631512](https://github.com/Ion-Protocol/amplify-sdk/commit/4631512))
|
|
260
|
+
- fix(deposit): resolve linting and test issues after CommunityCodeDepositor refactor ([e20c464](https://github.com/Ion-Protocol/amplify-sdk/commit/e20c464))
|
|
261
|
+
- fix(deposit): use CommunityCodeDepositor as permit spender ([a65b793](https://github.com/Ion-Protocol/amplify-sdk/commit/a65b793))
|
|
262
|
+
- ci(release): pin Ubuntu runner to 24.04 LTS ([4fb959e](https://github.com/Ion-Protocol/amplify-sdk/commit/4fb959e))
|
|
263
|
+
- build(git-hooks): add Husky and Commitlint for conventional commits enforcement ([010e867](https://github.com/Ion-Protocol/amplify-sdk/commit/010e867))
|
|
264
|
+
- refactor(deposit): use CommunityCodeDepositor for all deposits ([5c51cc3](https://github.com/Ion-Protocol/amplify-sdk/commit/5c51cc3))
|
|
252
265
|
|
|
253
266
|
## [0.1.0](https://github.com/Ion-Protocol/amplify-sdk/compare/v0.1.0-beta.0...v0.1.0) (2025-12-08)
|
|
254
267
|
|
|
@@ -258,25 +271,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
258
271
|
|
|
259
272
|
### Features
|
|
260
273
|
|
|
261
|
-
|
|
274
|
+
- **deposit:** export CommunityCodeDepositTxData type and fix cache check ([426f711](https://github.com/Ion-Protocol/amplify-sdk/commit/426f7116ddd72309aca2e77117a622d6a6a1e0dd))
|
|
262
275
|
|
|
263
276
|
### Bug Fixes
|
|
264
277
|
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
278
|
+
- **deposit:** update CommunityCodeDepositor support for partner code deposits ([c8c281e](https://github.com/Ion-Protocol/amplify-sdk/commit/c8c281efcbc69b9ce3fd887c5ece6a19688004f3))
|
|
279
|
+
- **lint:** remove unused variables and useless try-catch ([5d1ed6d](https://github.com/Ion-Protocol/amplify-sdk/commit/5d1ed6dc73693714127d6ea79afff781b34c1bab))
|
|
280
|
+
- **types:** improve type safety and chain cache initialization ([03bcf41](https://github.com/Ion-Protocol/amplify-sdk/commit/03bcf4171fd72fc1bd55d84301cd78f55f2d57b2))
|
|
268
281
|
|
|
269
282
|
### Styles
|
|
270
283
|
|
|
271
|
-
|
|
284
|
+
- apply formatting and update branding to Amplify SDK ([c9f4d19](https://github.com/Ion-Protocol/amplify-sdk/commit/c9f4d193286b6b5fdfdf18a26ce9f6e2704f719f))
|
|
272
285
|
|
|
273
286
|
### Code Refactoring
|
|
274
287
|
|
|
275
|
-
|
|
288
|
+
- **chain-utils:** remove redundant optional chaining after null check ([22f1181](https://github.com/Ion-Protocol/amplify-sdk/commit/22f1181e9e670436a2eda1d6ef7e6921a4c61188))
|
|
276
289
|
|
|
277
290
|
## [0.0.1-alpha.1] - 2025-11-01
|
|
278
291
|
|
|
279
292
|
### Features
|
|
293
|
+
|
|
280
294
|
- Initial SDK implementation with comprehensive AmplifyVault support
|
|
281
295
|
- Multi-chain support (PRIME) Earn vaults
|
|
282
296
|
- Complete deposit functionality with approval management and slippage protection
|
|
@@ -292,6 +306,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
292
306
|
- Complete TypeScript support with full type safety
|
|
293
307
|
|
|
294
308
|
### Build System
|
|
309
|
+
|
|
295
310
|
- Added automated release workflow with conventional commits
|
|
296
311
|
- Configured semantic versioning with alpha/beta/rc support
|
|
297
312
|
- Implemented comprehensive CI/CD pipeline with quality gates
|
|
@@ -39,7 +39,7 @@ type YieldType = (typeof YieldType)[keyof typeof YieldType];
|
|
|
39
39
|
* - accountantAddress: Manages accounting logic
|
|
40
40
|
* - managerAddress: Controls strategy execution
|
|
41
41
|
* - rolesAuthorityAddress: Enforces role-based access
|
|
42
|
-
* - baseTokenAddress:
|
|
42
|
+
* - baseTokenAddress: Primary deposit token address
|
|
43
43
|
* - baseTokenStandIn: Optional stand-in token
|
|
44
44
|
* - communityCodeDepositorAddress: Optional community depositor contract
|
|
45
45
|
*/
|
|
@@ -54,11 +54,31 @@ interface VaultContracts {
|
|
|
54
54
|
communityCodeDepositorAddress?: Address;
|
|
55
55
|
withdrawQueueAddress?: Address;
|
|
56
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* A single depositable/withdrawable asset supported by a vault.
|
|
59
|
+
*/
|
|
60
|
+
interface VaultSupportedAsset {
|
|
61
|
+
/** Token contract address */
|
|
62
|
+
address: Address;
|
|
63
|
+
/** Token symbol (e.g., USDC, USDT) */
|
|
64
|
+
symbol: string;
|
|
65
|
+
/** Full token name (e.g., USD Coin) */
|
|
66
|
+
name: string;
|
|
67
|
+
/** Number of decimal places (e.g., 6 for USDC, 18 for DAI) */
|
|
68
|
+
decimals: number;
|
|
69
|
+
/** CoinGecko token identifier for price lookups */
|
|
70
|
+
coinGeckoTokenId?: string;
|
|
71
|
+
/** Whether deposits are currently enabled for this vault-asset pair */
|
|
72
|
+
depositable?: boolean;
|
|
73
|
+
/** Whether withdrawals are currently enabled for this vault-asset pair */
|
|
74
|
+
withdrawable?: boolean;
|
|
75
|
+
}
|
|
57
76
|
/**
|
|
58
77
|
* Amplify vault configuration
|
|
59
78
|
*
|
|
60
|
-
* Represents a single vault with contract addresses, yield type, and supported deposit
|
|
79
|
+
* Represents a single vault with contract addresses, yield type, and supported deposit assets.
|
|
61
80
|
* Multiple vaults can share the same baseTokenAddress (different chains/yield types).
|
|
81
|
+
* A single vault can support multiple depositable assets.
|
|
62
82
|
*
|
|
63
83
|
* @example
|
|
64
84
|
* ```typescript
|
|
@@ -74,16 +94,22 @@ interface VaultContracts {
|
|
|
74
94
|
* rolesAuthorityAddress: "0x4A5B6C7D8E9F0A1B2C3D4E5F6A7B8C9D0E1F2A3B",
|
|
75
95
|
* baseTokenAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
|
|
76
96
|
* },
|
|
77
|
-
* supportedAssets:
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
97
|
+
* supportedAssets: [
|
|
98
|
+
* {
|
|
99
|
+
* address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
|
100
|
+
* symbol: "USDC",
|
|
101
|
+
* name: "USD Coin",
|
|
102
|
+
* decimals: 6,
|
|
103
|
+
* coinGeckoTokenId: "usd-coin"
|
|
104
|
+
* }
|
|
105
|
+
* ]
|
|
84
106
|
* };
|
|
85
107
|
* ```
|
|
86
108
|
*/
|
|
109
|
+
interface VaultSLA {
|
|
110
|
+
externalWithdrawalQueueDelaySLA: number;
|
|
111
|
+
externalAccountantRateUpdateSLA: number;
|
|
112
|
+
}
|
|
87
113
|
interface AmplifyVault {
|
|
88
114
|
/** Unique identifier for the vault configuration */
|
|
89
115
|
id: string;
|
|
@@ -91,31 +117,20 @@ interface AmplifyVault {
|
|
|
91
117
|
chainId: number;
|
|
92
118
|
/** Yield strategy type */
|
|
93
119
|
yieldType: YieldType;
|
|
120
|
+
/** Human-readable vault name */
|
|
121
|
+
name: string;
|
|
94
122
|
/** Vault smart contract addresses */
|
|
95
123
|
vault: VaultContracts;
|
|
96
|
-
/**
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
/** Token symbol (e.g., USDC, USDT) */
|
|
101
|
-
symbol: string;
|
|
102
|
-
/** Full token name (e.g., USD Coin) */
|
|
103
|
-
name: string;
|
|
104
|
-
/** Number of decimal places (e.g., 6 for USDC, 18 for DAI) */
|
|
105
|
-
decimals: number;
|
|
106
|
-
/** CoinGecko token identifier for price lookups */
|
|
107
|
-
coinGeckoTokenId?: string;
|
|
108
|
-
/** Whether deposits are currently enabled for this vault-asset pair */
|
|
109
|
-
depositable?: boolean;
|
|
110
|
-
/** Whether withdrawals are currently enabled for this vault-asset pair */
|
|
111
|
-
withdrawable?: boolean;
|
|
112
|
-
};
|
|
124
|
+
/** SLA data from VaultSLAs table */
|
|
125
|
+
sla?: VaultSLA;
|
|
126
|
+
/** Supported deposit assets for this vault */
|
|
127
|
+
supportedAssets: VaultSupportedAsset[];
|
|
113
128
|
}
|
|
114
129
|
/**
|
|
115
130
|
* Supported asset (token) metadata
|
|
116
131
|
*
|
|
117
132
|
* Represents a cryptocurrency token with metadata and chain support.
|
|
118
|
-
*
|
|
133
|
+
* Can be correlated with AmplifyVault via the vault's supportedAssets array.
|
|
119
134
|
*
|
|
120
135
|
* @example
|
|
121
136
|
* ```typescript
|
|
@@ -130,7 +145,7 @@ interface AmplifyVault {
|
|
|
130
145
|
* ```
|
|
131
146
|
*/
|
|
132
147
|
interface SupportedAsset {
|
|
133
|
-
/** Token contract address
|
|
148
|
+
/** Token contract address */
|
|
134
149
|
address: Address;
|
|
135
150
|
/** Token symbol (e.g., USDC, USDT) */
|
|
136
151
|
symbol: string;
|
|
@@ -170,6 +185,10 @@ interface VaultFilterOptions {
|
|
|
170
185
|
yieldType?: YieldType;
|
|
171
186
|
/** Filter by deposit token address */
|
|
172
187
|
depositTokenAddress?: Address;
|
|
188
|
+
/** Filter by withdraw asset address */
|
|
189
|
+
withdrawAssetAddress?: Address;
|
|
190
|
+
/** Filter by settlement asset address */
|
|
191
|
+
settlementAssetAddress?: Address;
|
|
173
192
|
}
|
|
174
193
|
/**
|
|
175
194
|
* Filter options for asset queries
|
|
@@ -300,4 +319,4 @@ declare function getChainFromConfig(chainId: number, config?: AmplifyVault[]): P
|
|
|
300
319
|
*/
|
|
301
320
|
declare function clearChainsCache(): void;
|
|
302
321
|
|
|
303
|
-
export { type AmplifyVault as A, type ChainId as C, type SupportedAsset as S, type VaultFilterOptions as V, type WithdrawSupportedAsset as W, YieldType as Y, type AssetFilterOptions as a, APIError as b, clearChainsCache as c, getChainFromConfig as g, toChainId as t };
|
|
322
|
+
export { type AmplifyVault as A, type ChainId as C, type SupportedAsset as S, type VaultFilterOptions as V, type WithdrawSupportedAsset as W, YieldType as Y, type AssetFilterOptions as a, APIError as b, clearChainsCache as c, type VaultSLA as d, type VaultSupportedAsset as e, getChainFromConfig as g, toChainId as t };
|
|
@@ -39,7 +39,7 @@ type YieldType = (typeof YieldType)[keyof typeof YieldType];
|
|
|
39
39
|
* - accountantAddress: Manages accounting logic
|
|
40
40
|
* - managerAddress: Controls strategy execution
|
|
41
41
|
* - rolesAuthorityAddress: Enforces role-based access
|
|
42
|
-
* - baseTokenAddress:
|
|
42
|
+
* - baseTokenAddress: Primary deposit token address
|
|
43
43
|
* - baseTokenStandIn: Optional stand-in token
|
|
44
44
|
* - communityCodeDepositorAddress: Optional community depositor contract
|
|
45
45
|
*/
|
|
@@ -54,11 +54,31 @@ interface VaultContracts {
|
|
|
54
54
|
communityCodeDepositorAddress?: Address;
|
|
55
55
|
withdrawQueueAddress?: Address;
|
|
56
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* A single depositable/withdrawable asset supported by a vault.
|
|
59
|
+
*/
|
|
60
|
+
interface VaultSupportedAsset {
|
|
61
|
+
/** Token contract address */
|
|
62
|
+
address: Address;
|
|
63
|
+
/** Token symbol (e.g., USDC, USDT) */
|
|
64
|
+
symbol: string;
|
|
65
|
+
/** Full token name (e.g., USD Coin) */
|
|
66
|
+
name: string;
|
|
67
|
+
/** Number of decimal places (e.g., 6 for USDC, 18 for DAI) */
|
|
68
|
+
decimals: number;
|
|
69
|
+
/** CoinGecko token identifier for price lookups */
|
|
70
|
+
coinGeckoTokenId?: string;
|
|
71
|
+
/** Whether deposits are currently enabled for this vault-asset pair */
|
|
72
|
+
depositable?: boolean;
|
|
73
|
+
/** Whether withdrawals are currently enabled for this vault-asset pair */
|
|
74
|
+
withdrawable?: boolean;
|
|
75
|
+
}
|
|
57
76
|
/**
|
|
58
77
|
* Amplify vault configuration
|
|
59
78
|
*
|
|
60
|
-
* Represents a single vault with contract addresses, yield type, and supported deposit
|
|
79
|
+
* Represents a single vault with contract addresses, yield type, and supported deposit assets.
|
|
61
80
|
* Multiple vaults can share the same baseTokenAddress (different chains/yield types).
|
|
81
|
+
* A single vault can support multiple depositable assets.
|
|
62
82
|
*
|
|
63
83
|
* @example
|
|
64
84
|
* ```typescript
|
|
@@ -74,16 +94,22 @@ interface VaultContracts {
|
|
|
74
94
|
* rolesAuthorityAddress: "0x4A5B6C7D8E9F0A1B2C3D4E5F6A7B8C9D0E1F2A3B",
|
|
75
95
|
* baseTokenAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
|
|
76
96
|
* },
|
|
77
|
-
* supportedAssets:
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
97
|
+
* supportedAssets: [
|
|
98
|
+
* {
|
|
99
|
+
* address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
|
100
|
+
* symbol: "USDC",
|
|
101
|
+
* name: "USD Coin",
|
|
102
|
+
* decimals: 6,
|
|
103
|
+
* coinGeckoTokenId: "usd-coin"
|
|
104
|
+
* }
|
|
105
|
+
* ]
|
|
84
106
|
* };
|
|
85
107
|
* ```
|
|
86
108
|
*/
|
|
109
|
+
interface VaultSLA {
|
|
110
|
+
externalWithdrawalQueueDelaySLA: number;
|
|
111
|
+
externalAccountantRateUpdateSLA: number;
|
|
112
|
+
}
|
|
87
113
|
interface AmplifyVault {
|
|
88
114
|
/** Unique identifier for the vault configuration */
|
|
89
115
|
id: string;
|
|
@@ -91,31 +117,20 @@ interface AmplifyVault {
|
|
|
91
117
|
chainId: number;
|
|
92
118
|
/** Yield strategy type */
|
|
93
119
|
yieldType: YieldType;
|
|
120
|
+
/** Human-readable vault name */
|
|
121
|
+
name: string;
|
|
94
122
|
/** Vault smart contract addresses */
|
|
95
123
|
vault: VaultContracts;
|
|
96
|
-
/**
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
/** Token symbol (e.g., USDC, USDT) */
|
|
101
|
-
symbol: string;
|
|
102
|
-
/** Full token name (e.g., USD Coin) */
|
|
103
|
-
name: string;
|
|
104
|
-
/** Number of decimal places (e.g., 6 for USDC, 18 for DAI) */
|
|
105
|
-
decimals: number;
|
|
106
|
-
/** CoinGecko token identifier for price lookups */
|
|
107
|
-
coinGeckoTokenId?: string;
|
|
108
|
-
/** Whether deposits are currently enabled for this vault-asset pair */
|
|
109
|
-
depositable?: boolean;
|
|
110
|
-
/** Whether withdrawals are currently enabled for this vault-asset pair */
|
|
111
|
-
withdrawable?: boolean;
|
|
112
|
-
};
|
|
124
|
+
/** SLA data from VaultSLAs table */
|
|
125
|
+
sla?: VaultSLA;
|
|
126
|
+
/** Supported deposit assets for this vault */
|
|
127
|
+
supportedAssets: VaultSupportedAsset[];
|
|
113
128
|
}
|
|
114
129
|
/**
|
|
115
130
|
* Supported asset (token) metadata
|
|
116
131
|
*
|
|
117
132
|
* Represents a cryptocurrency token with metadata and chain support.
|
|
118
|
-
*
|
|
133
|
+
* Can be correlated with AmplifyVault via the vault's supportedAssets array.
|
|
119
134
|
*
|
|
120
135
|
* @example
|
|
121
136
|
* ```typescript
|
|
@@ -130,7 +145,7 @@ interface AmplifyVault {
|
|
|
130
145
|
* ```
|
|
131
146
|
*/
|
|
132
147
|
interface SupportedAsset {
|
|
133
|
-
/** Token contract address
|
|
148
|
+
/** Token contract address */
|
|
134
149
|
address: Address;
|
|
135
150
|
/** Token symbol (e.g., USDC, USDT) */
|
|
136
151
|
symbol: string;
|
|
@@ -170,6 +185,10 @@ interface VaultFilterOptions {
|
|
|
170
185
|
yieldType?: YieldType;
|
|
171
186
|
/** Filter by deposit token address */
|
|
172
187
|
depositTokenAddress?: Address;
|
|
188
|
+
/** Filter by withdraw asset address */
|
|
189
|
+
withdrawAssetAddress?: Address;
|
|
190
|
+
/** Filter by settlement asset address */
|
|
191
|
+
settlementAssetAddress?: Address;
|
|
173
192
|
}
|
|
174
193
|
/**
|
|
175
194
|
* Filter options for asset queries
|
|
@@ -300,4 +319,4 @@ declare function getChainFromConfig(chainId: number, config?: AmplifyVault[]): P
|
|
|
300
319
|
*/
|
|
301
320
|
declare function clearChainsCache(): void;
|
|
302
321
|
|
|
303
|
-
export { type AmplifyVault as A, type ChainId as C, type SupportedAsset as S, type VaultFilterOptions as V, type WithdrawSupportedAsset as W, YieldType as Y, type AssetFilterOptions as a, APIError as b, clearChainsCache as c, getChainFromConfig as g, toChainId as t };
|
|
322
|
+
export { type AmplifyVault as A, type ChainId as C, type SupportedAsset as S, type VaultFilterOptions as V, type WithdrawSupportedAsset as W, YieldType as Y, type AssetFilterOptions as a, APIError as b, clearChainsCache as c, type VaultSLA as d, type VaultSupportedAsset as e, getChainFromConfig as g, toChainId as t };
|