@babylonlabs-io/ts-sdk 1.1.0 → 2.0.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/dist/tbv/integrations/aave/clients/abis/AaveSpoke.abi.json.d.ts +18 -0
- package/dist/tbv/integrations/aave/clients/index.d.ts +1 -1
- package/dist/tbv/integrations/aave/clients/index.d.ts.map +1 -1
- package/dist/tbv/integrations/aave/clients/spoke.d.ts +37 -9
- package/dist/tbv/integrations/aave/clients/spoke.d.ts.map +1 -1
- package/dist/tbv/integrations/aave/constants.d.ts +8 -0
- package/dist/tbv/integrations/aave/constants.d.ts.map +1 -1
- package/dist/tbv/integrations/aave/index.cjs +1 -1
- package/dist/tbv/integrations/aave/index.cjs.map +1 -1
- package/dist/tbv/integrations/aave/index.d.ts +4 -4
- package/dist/tbv/integrations/aave/index.d.ts.map +1 -1
- package/dist/tbv/integrations/aave/index.js +297 -226
- package/dist/tbv/integrations/aave/index.js.map +1 -1
- package/dist/tbv/integrations/aave/utils/cascadeSimulation.d.ts +1 -1
- package/dist/tbv/integrations/aave/utils/cascadeSimulation.d.ts.map +1 -1
- package/dist/tbv/integrations/aave/utils/index.d.ts +2 -2
- package/dist/tbv/integrations/aave/utils/index.d.ts.map +1 -1
- package/dist/tbv/integrations/aave/utils/optimalOrder.d.ts +1 -1
- package/dist/tbv/integrations/aave/utils/optimalOrder.d.ts.map +1 -1
- package/dist/tbv/integrations/aave/utils/vaultSplit.d.ts +171 -41
- package/dist/tbv/integrations/aave/utils/vaultSplit.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1,38 +1,106 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Vault Split Utilities for Aave Liquidation Protection
|
|
3
3
|
*
|
|
4
|
-
* BTC vaults are indivisible UTXOs.
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* BTC vaults are indivisible UTXOs. The Babylon Spoke liquidates one whole
|
|
5
|
+
* vault per call, taking the head of the borrower's ordered vault list.
|
|
6
|
+
* Splitting a deposit into 2 vaults (sacrificial + protected) lets a
|
|
7
|
+
* liquidation take the small head vault and leave the rest of the position.
|
|
8
8
|
*
|
|
9
|
-
* The sacrificial vault (index 0) is sized
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* The sacrificial vault (index 0) is sized so that seizing it at the expected
|
|
10
|
+
* liquidation health factor lifts the position back to the split target
|
|
11
|
+
* health factor. The protected vault (index 1) holds the remainder.
|
|
12
12
|
*
|
|
13
|
-
* Seizure formula
|
|
13
|
+
* Seizure formula:
|
|
14
14
|
* ```
|
|
15
15
|
* liq_penalty = LB × CF
|
|
16
16
|
* debt_to_repay = total_debt × (THF - current_HF) / (THF - liq_penalty)
|
|
17
17
|
* target_seizure = debt_to_repay × LB
|
|
18
18
|
* ```
|
|
19
19
|
*/
|
|
20
|
+
/**
|
|
21
|
+
* Split target health factor: the health factor a two-vault position lands
|
|
22
|
+
* on after its sacrificial vault is seized. The sacrificial vault is sized so
|
|
23
|
+
* that seizing it lifts the position back to this value.
|
|
24
|
+
*
|
|
25
|
+
* This is a Babylon sizing parameter, not a contract parameter. The Babylon
|
|
26
|
+
* Spoke sizes each liquidation by the head vault's BTC and never reads the
|
|
27
|
+
* Aave `LiquidationConfig.targetHealthFactor`, so no contract can supply it.
|
|
28
|
+
* At 1.08 the sacrificial vault stays smaller than the protected vault for
|
|
29
|
+
* every collateral factor up to 86%, and after the first liquidation BTC can
|
|
30
|
+
* fall about 7.4% more before the protected vault is at risk. The risk model
|
|
31
|
+
* and the decision are recorded in babylon-toolkit#2577.
|
|
32
|
+
*
|
|
33
|
+
* Changing this value resizes every new split. A change needs sign-off from
|
|
34
|
+
* the risk model owner and two code-owner approvals: this file is the
|
|
35
|
+
* "Multi-vault split transactions" critical path in CLAUDE.md and has its own
|
|
36
|
+
* entry in .github/CODEOWNERS.
|
|
37
|
+
*/
|
|
38
|
+
export declare const SPLIT_TARGET_HEALTH_FACTOR = 1.08;
|
|
39
|
+
/**
|
|
40
|
+
* Health factor at which a liquidation is assumed to land, in WAD.
|
|
41
|
+
*
|
|
42
|
+
* Aave liquidations settle close to 1.0 (median about 0.997 on Aave V3 over
|
|
43
|
+
* a year), so the split is sized for 0.99. The liquidation bonus used for
|
|
44
|
+
* sizing is read from the Spoke's bonus curve at this health factor. Same
|
|
45
|
+
* ownership and review rules as {@link SPLIT_TARGET_HEALTH_FACTOR}.
|
|
46
|
+
*/
|
|
47
|
+
export declare const EXPECTED_HEALTH_FACTOR_AT_LIQUIDATION_WAD = 990000000000000000n;
|
|
48
|
+
/**
|
|
49
|
+
* {@link EXPECTED_HEALTH_FACTOR_AT_LIQUIDATION_WAD} as a plain number (0.99),
|
|
50
|
+
* for the floating-point split formulas.
|
|
51
|
+
*/
|
|
52
|
+
export declare const EXPECTED_HEALTH_FACTOR_AT_LIQUIDATION: number;
|
|
53
|
+
/**
|
|
54
|
+
* Why the split parameters alone refuse a two-vault split. These are the
|
|
55
|
+
* verdicts {@link findSplitSizingViolation} can return; it sees only the
|
|
56
|
+
* parameters, so each one holds at any deposit amount. One of them,
|
|
57
|
+
* `sacrificial-not-smaller`, is also what {@link computeOptimalSplit} reports
|
|
58
|
+
* when rounding the seizure up leaves the sacrificial vault not strictly
|
|
59
|
+
* smaller, so seeing it in an {@link OptimalSplitResult} does not by itself
|
|
60
|
+
* mean the parameters are bad:
|
|
61
|
+
* - `target-not-above-expected-hf`: THF ≤ expected HF, so the seizure formula
|
|
62
|
+
* has no valid target.
|
|
63
|
+
* - `target-not-above-liquidation-penalty`: THF ≤ LB × CF, so one liquidation
|
|
64
|
+
* takes the whole position.
|
|
65
|
+
* - `sacrificial-not-smaller`: the sacrificial vault would not be strictly
|
|
66
|
+
* smaller than the protected vault.
|
|
67
|
+
* - `no-seizure-expected`: the seized fraction is zero (for example CF 0), so
|
|
68
|
+
* a sacrificial vault would be empty and the split would protect nothing.
|
|
69
|
+
*/
|
|
70
|
+
export type SplitParamsViolation = "target-not-above-expected-hf" | "target-not-above-liquidation-penalty" | "sacrificial-not-smaller" | "no-seizure-expected";
|
|
71
|
+
/**
|
|
72
|
+
* Why {@link computeOptimalSplit} refuses a split: the parameter verdicts
|
|
73
|
+
* above, plus one only a deposit amount can reach.
|
|
74
|
+
* - `below-dust`: the vaults would be below the HTLC dust threshold. A
|
|
75
|
+
* non-positive deposit reports this too, but only when the parameters
|
|
76
|
+
* themselves allow a split — otherwise the parameter verdict wins.
|
|
77
|
+
*/
|
|
78
|
+
export type SplitSizingViolation = SplitParamsViolation | "below-dust";
|
|
79
|
+
/**
|
|
80
|
+
* Inputs of the Aave v4 liquidation bonus curve, in their on-chain units.
|
|
81
|
+
*/
|
|
82
|
+
export interface LiquidationBonusCurve {
|
|
83
|
+
/** `LiquidationConfig.healthFactorForMaxBonus`, WAD. Below 1e18. */
|
|
84
|
+
healthFactorForMaxBonus: bigint;
|
|
85
|
+
/** `LiquidationConfig.liquidationBonusFactor`, BPS. At most 10_000. */
|
|
86
|
+
liquidationBonusFactor: bigint;
|
|
87
|
+
/** `DynamicReserveConfig.maxLiquidationBonus`, BPS. At least 10_000. */
|
|
88
|
+
maxLiquidationBonus: bigint;
|
|
89
|
+
}
|
|
20
90
|
/**
|
|
21
91
|
* Parameters for computing the optimal vault split.
|
|
22
92
|
*/
|
|
23
93
|
export interface OptimalSplitParams {
|
|
24
94
|
/** Total deposit amount in satoshis */
|
|
25
95
|
totalBtc: bigint;
|
|
26
|
-
/** Collateral factor (e.g. 0.
|
|
96
|
+
/** Collateral factor (e.g. 0.78 for 78%) */
|
|
27
97
|
CF: number;
|
|
28
|
-
/** Liquidation bonus (e.g. 1.
|
|
98
|
+
/** Liquidation bonus at the expected health factor (e.g. 1.0504) */
|
|
29
99
|
LB: number;
|
|
30
|
-
/**
|
|
100
|
+
/** Split target health factor (e.g. {@link SPLIT_TARGET_HEALTH_FACTOR}) */
|
|
31
101
|
THF: number;
|
|
32
|
-
/** Expected health factor at liquidation (e.g.
|
|
102
|
+
/** Expected health factor at liquidation (e.g. {@link EXPECTED_HEALTH_FACTOR_AT_LIQUIDATION}) */
|
|
33
103
|
expectedHF: number;
|
|
34
|
-
/** Safety margin multiplier for the sacrificial vault (e.g. 1.05 for 5% buffer) */
|
|
35
|
-
safetyMargin: number;
|
|
36
104
|
}
|
|
37
105
|
/**
|
|
38
106
|
* Result of the optimal vault split computation.
|
|
@@ -44,8 +112,14 @@ export interface OptimalSplitResult {
|
|
|
44
112
|
protectedVault: bigint;
|
|
45
113
|
/** Fraction of collateral that would be seized (0–1) */
|
|
46
114
|
seizedFraction: number;
|
|
47
|
-
/**
|
|
115
|
+
/** Target seizure amount in satoshis */
|
|
48
116
|
targetSeizureBtc: bigint;
|
|
117
|
+
/**
|
|
118
|
+
* Why the split is refused, or null when it is valid. Non-null exactly when
|
|
119
|
+
* the split is not usable: both vault amounts are then 0n, and null always
|
|
120
|
+
* means two positive amounts that sum to `totalBtc`.
|
|
121
|
+
*/
|
|
122
|
+
sizingViolation: SplitSizingViolation | null;
|
|
49
123
|
}
|
|
50
124
|
/**
|
|
51
125
|
* Parameters for computing the minimum deposit required for a split.
|
|
@@ -55,9 +129,54 @@ export interface MinDepositForSplitParams {
|
|
|
55
129
|
minPegin: bigint;
|
|
56
130
|
/** Seized fraction (0–1), from computeOptimalSplit or computeSeizedFraction */
|
|
57
131
|
seizedFraction: number;
|
|
58
|
-
/** Safety margin multiplier (e.g. 1.05) */
|
|
59
|
-
safetyMargin: number;
|
|
60
132
|
}
|
|
133
|
+
/**
|
|
134
|
+
* Compute the Aave v4 liquidation bonus at a health factor.
|
|
135
|
+
*
|
|
136
|
+
* Integer-exact port of `LiquidationLogic.calculateLiquidationBonus`
|
|
137
|
+
* (aave-v4 `src/spoke/libraries/LiquidationLogic.sol`), which the Babylon
|
|
138
|
+
* liquidation path calls with the same inputs: at or below
|
|
139
|
+
* `healthFactorForMaxBonus` the bonus is the maximum; above it the bonus falls
|
|
140
|
+
* linearly towards a minimum of
|
|
141
|
+
* `(maxLiquidationBonus − 100%) × liquidationBonusFactor + 100%` at HF 1.0.
|
|
142
|
+
* Every division rounds down, as on-chain.
|
|
143
|
+
*
|
|
144
|
+
* @param curve - Bonus curve inputs in on-chain units
|
|
145
|
+
* @param healthFactorWad - Health factor in WAD, at most 1e18
|
|
146
|
+
* @returns Liquidation bonus in BPS (e.g. 10504n for 105.04%)
|
|
147
|
+
* @throws {RangeError} when an input is outside the range the contract
|
|
148
|
+
* accepts (the contract would revert or was configured out of range)
|
|
149
|
+
*/
|
|
150
|
+
export declare function computeLiquidationBonusBps(curve: LiquidationBonusCurve, healthFactorWad: bigint): bigint;
|
|
151
|
+
/**
|
|
152
|
+
* The liquidation bonus a split is sized against: the Spoke's bonus curve at
|
|
153
|
+
* {@link EXPECTED_HEALTH_FACTOR_AT_LIQUIDATION_WAD}, as a multiplier.
|
|
154
|
+
*
|
|
155
|
+
* Every consumer of the split inputs (the deposit split, the liquidation
|
|
156
|
+
* warnings, the reorder guard, the E2E CLI) must use this one value, or a
|
|
157
|
+
* fresh split falls short of the seizure the warnings expect.
|
|
158
|
+
*
|
|
159
|
+
* @param bonusConfig - `healthFactorForMaxBonus` (WAD) and
|
|
160
|
+
* `liquidationBonusFactor` (BPS) from the Spoke's liquidation config
|
|
161
|
+
* @param maxLiquidationBonusBps - `maxLiquidationBonus` (BPS) of the dynamic
|
|
162
|
+
* config the position's liquidation uses
|
|
163
|
+
* @returns Liquidation bonus multiplier (e.g. 1.0504)
|
|
164
|
+
* @throws {RangeError} when an input is outside the range the contract accepts
|
|
165
|
+
*/
|
|
166
|
+
export declare function computeSplitLiquidationBonus(bonusConfig: Omit<LiquidationBonusCurve, "maxLiquidationBonus">, maxLiquidationBonusBps: number): number;
|
|
167
|
+
/**
|
|
168
|
+
* Check the split sizing parameters before a two-vault split is offered.
|
|
169
|
+
*
|
|
170
|
+
* @param params - Split target health factor, expected health factor at
|
|
171
|
+
* liquidation, collateral factor and liquidation bonus
|
|
172
|
+
* @returns The first violated rule, or null when a split may be offered
|
|
173
|
+
*/
|
|
174
|
+
export declare function findSplitSizingViolation(params: {
|
|
175
|
+
CF: number;
|
|
176
|
+
LB: number;
|
|
177
|
+
THF: number;
|
|
178
|
+
expectedHF: number;
|
|
179
|
+
}): SplitParamsViolation | null;
|
|
61
180
|
/**
|
|
62
181
|
* Compute the fraction of collateral that would be seized during liquidation,
|
|
63
182
|
* returning both the raw (unclamped) and clamped values.
|
|
@@ -71,10 +190,10 @@ export interface MinDepositForSplitParams {
|
|
|
71
190
|
* seized_fraction = CF × (THF - expectedHF) / (THF - liq_penalty) × LB / expectedHF
|
|
72
191
|
* ```
|
|
73
192
|
*
|
|
74
|
-
* @param CF - Collateral factor (e.g. 0.
|
|
75
|
-
* @param LB - Liquidation bonus (e.g. 1.
|
|
76
|
-
* @param THF -
|
|
77
|
-
* @param expectedHF - Expected health factor at liquidation (e.g.
|
|
193
|
+
* @param CF - Collateral factor (e.g. 0.78)
|
|
194
|
+
* @param LB - Liquidation bonus at the expected health factor (e.g. 1.0504, see {@link computeSplitLiquidationBonus})
|
|
195
|
+
* @param THF - Split target health factor (e.g. {@link SPLIT_TARGET_HEALTH_FACTOR})
|
|
196
|
+
* @param expectedHF - Expected health factor at liquidation (e.g. {@link EXPECTED_HEALTH_FACTOR_AT_LIQUIDATION})
|
|
78
197
|
* @returns Both the raw seized fraction and the clamped [0, 1] value
|
|
79
198
|
*/
|
|
80
199
|
export declare function computeSeizedFractionDetailed(CF: number, LB: number, THF: number, expectedHF: number): {
|
|
@@ -84,36 +203,46 @@ export declare function computeSeizedFractionDetailed(CF: number, LB: number, TH
|
|
|
84
203
|
/**
|
|
85
204
|
* Compute the fraction of collateral that would be seized during liquidation.
|
|
86
205
|
*
|
|
87
|
-
* @param CF - Collateral factor (e.g. 0.
|
|
88
|
-
* @param LB - Liquidation bonus (e.g. 1.
|
|
89
|
-
* @param THF -
|
|
90
|
-
* @param expectedHF - Expected health factor at liquidation (e.g.
|
|
206
|
+
* @param CF - Collateral factor (e.g. 0.78)
|
|
207
|
+
* @param LB - Liquidation bonus at the expected health factor (e.g. 1.0504, see {@link computeSplitLiquidationBonus})
|
|
208
|
+
* @param THF - Split target health factor (e.g. {@link SPLIT_TARGET_HEALTH_FACTOR})
|
|
209
|
+
* @param expectedHF - Expected health factor at liquidation (e.g. {@link EXPECTED_HEALTH_FACTOR_AT_LIQUIDATION})
|
|
91
210
|
* @returns Seized fraction clamped to [0, 1]
|
|
92
211
|
*/
|
|
93
212
|
export declare function computeSeizedFraction(CF: number, LB: number, THF: number, expectedHF: number): number;
|
|
94
213
|
/**
|
|
95
214
|
* Compute the optimal split between a sacrificial vault and a protected vault.
|
|
96
215
|
*
|
|
97
|
-
* The sacrificial vault (index 0) is
|
|
98
|
-
*
|
|
216
|
+
* The sacrificial vault (index 0) is the target seizure rounded up to a whole
|
|
217
|
+
* satoshi. The protected vault (index 1) holds the remainder. The split is
|
|
218
|
+
* refused when the parameters fail {@link findSplitSizingViolation}, when
|
|
219
|
+
* rounding the seizure up leaves the sacrificial vault not strictly smaller,
|
|
220
|
+
* or when the vaults would be dust — a non-positive deposit reaches the last
|
|
221
|
+
* of these whenever the parameters themselves allow a split. Both amounts are
|
|
222
|
+
* then 0n and `sizingViolation` says why; a null violation means two positive
|
|
223
|
+
* amounts that sum to `totalBtc`.
|
|
99
224
|
*
|
|
100
|
-
* @param params -
|
|
101
|
-
* @returns Split result with vault sizes, seized fraction,
|
|
225
|
+
* @param params - Total BTC and split sizing parameters
|
|
226
|
+
* @returns Split result with vault sizes, seized fraction, target seizure and
|
|
227
|
+
* any sizing violation
|
|
102
228
|
*
|
|
103
229
|
* @example
|
|
104
230
|
* ```typescript
|
|
105
|
-
* import {
|
|
231
|
+
* import {
|
|
232
|
+
* computeOptimalSplit,
|
|
233
|
+
* EXPECTED_HEALTH_FACTOR_AT_LIQUIDATION,
|
|
234
|
+
* SPLIT_TARGET_HEALTH_FACTOR,
|
|
235
|
+
* } from "@babylonlabs-io/ts-sdk/tbv/integrations/aave";
|
|
106
236
|
*
|
|
107
237
|
* const result = computeOptimalSplit({
|
|
108
238
|
* totalBtc: 1_000_000_000n, // 10 BTC in sats
|
|
109
|
-
* CF: 0.
|
|
110
|
-
* LB: 1.
|
|
111
|
-
* THF:
|
|
112
|
-
* expectedHF:
|
|
113
|
-
* safetyMargin: 1.05,
|
|
239
|
+
* CF: 0.78,
|
|
240
|
+
* LB: 1.0504,
|
|
241
|
+
* THF: SPLIT_TARGET_HEALTH_FACTOR,
|
|
242
|
+
* expectedHF: EXPECTED_HEALTH_FACTOR_AT_LIQUIDATION,
|
|
114
243
|
* });
|
|
115
|
-
* // result.sacrificialVault
|
|
116
|
-
* // result.protectedVault
|
|
244
|
+
* // result.sacrificialVault === 285_716_677n (2.86 BTC)
|
|
245
|
+
* // result.protectedVault === 714_283_323n (7.14 BTC)
|
|
117
246
|
* ```
|
|
118
247
|
*/
|
|
119
248
|
export declare function computeOptimalSplit(params: OptimalSplitParams): OptimalSplitResult;
|
|
@@ -124,9 +253,10 @@ export declare function computeOptimalSplit(params: OptimalSplitParams): Optimal
|
|
|
124
253
|
* the minimum total deposit where both the sacrificial and protected vaults
|
|
125
254
|
* would meet the minimum peg-in requirement.
|
|
126
255
|
*
|
|
127
|
-
* @param params -
|
|
256
|
+
* @param params - Minimum peg-in and seized fraction
|
|
128
257
|
* @returns Minimum total deposit in satoshis. Returns 0n in two cases:
|
|
129
|
-
* - `seizedFraction
|
|
258
|
+
* - `seizedFraction >= 0.5`: split refused (the sacrificial vault would not
|
|
259
|
+
* be smaller than the protected vault)
|
|
130
260
|
* - `seizedFraction <= 0`: split not useful (no seizure expected at this health factor)
|
|
131
261
|
*
|
|
132
262
|
* @example
|
|
@@ -135,9 +265,9 @@ export declare function computeOptimalSplit(params: OptimalSplitParams): Optimal
|
|
|
135
265
|
*
|
|
136
266
|
* const minDeposit = computeMinDepositForSplit({
|
|
137
267
|
* minPegin: 50_000n, // 0.0005 BTC
|
|
138
|
-
* seizedFraction: 0.
|
|
139
|
-
* safetyMargin: 1.05,
|
|
268
|
+
* seizedFraction: 0.2857,
|
|
140
269
|
* });
|
|
270
|
+
* // minDeposit === 175_009n: 50_000 / 0.2857, rounded up
|
|
141
271
|
* ```
|
|
142
272
|
*/
|
|
143
273
|
export declare function computeMinDepositForSplit(params: MinDepositForSplitParams): bigint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vaultSplit.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/integrations/aave/utils/vaultSplit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"vaultSplit.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/integrations/aave/utils/vaultSplit.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@babylonlabs-io/ts-sdk",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -143,7 +143,6 @@
|
|
|
143
143
|
}
|
|
144
144
|
},
|
|
145
145
|
"devDependencies": {
|
|
146
|
-
"@babylonlabs-io/babylon-tbv-rust-wasm": "1.1.0",
|
|
147
146
|
"@vitest/browser-playwright": "4.0.9",
|
|
148
147
|
"@vitest/coverage-v8": "^4.0.8",
|
|
149
148
|
"@vitest/ui": "^4.0.8",
|
|
@@ -159,6 +158,7 @@
|
|
|
159
158
|
"vite": "^6.4.1",
|
|
160
159
|
"vite-plugin-dts": "^4.3.0",
|
|
161
160
|
"vitest": "4.0.9",
|
|
161
|
+
"@babylonlabs-io/babylon-tbv-rust-wasm": "1.1.0",
|
|
162
162
|
"@internal/eslint-config": "0.0.0"
|
|
163
163
|
},
|
|
164
164
|
"publishConfig": {
|