@dedot/chaintypes 0.122.0 → 0.131.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 (53) hide show
  1. package/astar/consts.d.ts +0 -9
  2. package/astar/index.d.ts +1 -1
  3. package/astar/query.d.ts +0 -15
  4. package/hydration/consts.d.ts +29 -0
  5. package/hydration/errors.d.ts +172 -10
  6. package/hydration/events.d.ts +105 -0
  7. package/hydration/index.d.ts +1 -1
  8. package/hydration/json-rpc.d.ts +1 -0
  9. package/hydration/query.d.ts +50 -0
  10. package/hydration/tx.d.ts +408 -0
  11. package/hydration/types.d.ts +695 -12
  12. package/kusama/consts.d.ts +27 -7
  13. package/kusama/errors.d.ts +51 -4
  14. package/kusama/events.d.ts +212 -4
  15. package/kusama/index.d.ts +1 -1
  16. package/kusama/query.d.ts +44 -19
  17. package/kusama/runtime.d.ts +22 -0
  18. package/kusama/tx.d.ts +377 -25
  19. package/kusama/types.d.ts +638 -80
  20. package/kusama-asset-hub/consts.d.ts +98 -2
  21. package/kusama-asset-hub/errors.d.ts +314 -12
  22. package/kusama-asset-hub/events.d.ts +157 -3
  23. package/kusama-asset-hub/index.d.ts +1 -1
  24. package/kusama-asset-hub/query.d.ts +113 -6
  25. package/kusama-asset-hub/runtime.d.ts +217 -1
  26. package/kusama-asset-hub/tx.d.ts +581 -1
  27. package/kusama-asset-hub/types.d.ts +1086 -26
  28. package/moonbeam/index.d.ts +1 -1
  29. package/package.json +2 -2
  30. package/polkadot/consts.d.ts +23 -5
  31. package/polkadot/errors.d.ts +51 -4
  32. package/polkadot/events.d.ts +207 -4
  33. package/polkadot/index.d.ts +1 -1
  34. package/polkadot/query.d.ts +44 -19
  35. package/polkadot/runtime.d.ts +22 -0
  36. package/polkadot/tx.d.ts +376 -24
  37. package/polkadot/types.d.ts +630 -78
  38. package/westend/consts.d.ts +28 -9
  39. package/westend/errors.d.ts +21 -37
  40. package/westend/events.d.ts +25 -49
  41. package/westend/index.d.ts +1 -1
  42. package/westend/query.d.ts +40 -70
  43. package/westend/runtime.d.ts +7 -0
  44. package/westend/tx.d.ts +77 -124
  45. package/westend/types.d.ts +228 -328
  46. package/westend-asset-hub/consts.d.ts +41 -14
  47. package/westend-asset-hub/errors.d.ts +12 -96
  48. package/westend-asset-hub/events.d.ts +29 -81
  49. package/westend-asset-hub/index.d.ts +1 -1
  50. package/westend-asset-hub/query.d.ts +61 -125
  51. package/westend-asset-hub/runtime.d.ts +47 -1
  52. package/westend-asset-hub/tx.d.ts +97 -549
  53. package/westend-asset-hub/types.d.ts +489 -958
@@ -94,6 +94,7 @@ export type HydradxRuntimeRuntimeEvent =
94
94
  | { pallet: 'Xyk'; palletEvent: PalletXykEvent }
95
95
  | { pallet: 'Referrals'; palletEvent: PalletReferralsEvent }
96
96
  | { pallet: 'Liquidation'; palletEvent: PalletLiquidationEvent }
97
+ | { pallet: 'Hsm'; palletEvent: PalletHsmEvent }
97
98
  | { pallet: 'Tokens'; palletEvent: OrmlTokensModuleEvent }
98
99
  | { pallet: 'Currencies'; palletEvent: PalletCurrenciesModuleEvent }
99
100
  | { pallet: 'Vesting'; palletEvent: OrmlVestingModuleEvent }
@@ -1359,6 +1360,7 @@ export type HydradxRuntimeRuntimeCall =
1359
1360
  | { pallet: 'Xyk'; palletCall: PalletXykCall }
1360
1361
  | { pallet: 'Referrals'; palletCall: PalletReferralsCall }
1361
1362
  | { pallet: 'Liquidation'; palletCall: PalletLiquidationCall }
1363
+ | { pallet: 'Hsm'; palletCall: PalletHsmCall }
1362
1364
  | { pallet: 'Tokens'; palletCall: OrmlTokensModuleCall }
1363
1365
  | { pallet: 'Currencies'; palletCall: PalletCurrenciesModuleCall }
1364
1366
  | { pallet: 'Vesting'; palletCall: OrmlVestingModuleCall }
@@ -1424,6 +1426,7 @@ export type HydradxRuntimeRuntimeCallLike =
1424
1426
  | { pallet: 'Xyk'; palletCall: PalletXykCallLike }
1425
1427
  | { pallet: 'Referrals'; palletCall: PalletReferralsCallLike }
1426
1428
  | { pallet: 'Liquidation'; palletCall: PalletLiquidationCallLike }
1429
+ | { pallet: 'Hsm'; palletCall: PalletHsmCallLike }
1427
1430
  | { pallet: 'Tokens'; palletCall: OrmlTokensModuleCallLike }
1428
1431
  | { pallet: 'Currencies'; palletCall: PalletCurrenciesModuleCallLike }
1429
1432
  | { pallet: 'Vesting'; palletCall: OrmlVestingModuleCallLike }
@@ -8522,7 +8525,8 @@ export type HydradxTraitsRouterPoolType =
8522
8525
  | { type: 'Lbp' }
8523
8526
  | { type: 'Stableswap'; value: number }
8524
8527
  | { type: 'Omnipool' }
8525
- | { type: 'Aave' };
8528
+ | { type: 'Aave' }
8529
+ | { type: 'Hsm' };
8526
8530
 
8527
8531
  export type HydradxTraitsRouterAssetPair = { assetIn: number; assetOut: number };
8528
8532
 
@@ -8981,7 +8985,48 @@ export type PalletStableswapCall =
8981
8985
  | {
8982
8986
  name: 'AddAssetsLiquidity';
8983
8987
  params: { poolId: number; assets: Array<HydradxTraitsStableswapAssetAmount>; minShares: bigint };
8984
- };
8988
+ }
8989
+ /**
8990
+ * Update the peg source for a specific asset in a pool.
8991
+ *
8992
+ * This function allows updating the peg source for an asset within a pool.
8993
+ * The pool must exist and have pegs configured. The asset must be part of the pool.
8994
+ * The current price is always preserved when updating the peg source.
8995
+ *
8996
+ * Parameters:
8997
+ * - `origin`: Must be `T::AuthorityOrigin`.
8998
+ * - `pool_id`: The ID of the pool containing the asset.
8999
+ * - `asset_id`: The ID of the asset whose peg source is to be updated.
9000
+ * - `peg_source`: The new peg source for the asset.
9001
+ *
9002
+ * Emits `PoolPegSourceUpdated` event when successful.
9003
+ *
9004
+ * # Errors
9005
+ * - `PoolNotFound`: If the specified pool does not exist.
9006
+ * - `NoPegSource`: If the pool does not have pegs configured.
9007
+ * - `AssetNotInPool`: If the specified asset is not part of the pool.
9008
+ *
9009
+ **/
9010
+ | { name: 'UpdateAssetPegSource'; params: { poolId: number; assetId: number; pegSource: PalletStableswapPegSource } }
9011
+ /**
9012
+ * Update the maximum peg update percentage for a pool.
9013
+ *
9014
+ * This function allows updating the maximum percentage by which peg values
9015
+ * can change in a pool with pegs configured.
9016
+ *
9017
+ * Parameters:
9018
+ * - `origin`: Must be `T::AuthorityOrigin`.
9019
+ * - `pool_id`: The ID of the pool to update.
9020
+ * - `max_peg_update`: The new maximum peg update percentage.
9021
+ *
9022
+ * Emits `PoolMaxPegUpdateUpdated` event when successful.
9023
+ *
9024
+ * # Errors
9025
+ * - `PoolNotFound`: If the specified pool does not exist.
9026
+ * - `NoPegSource`: If the pool does not have pegs configured.
9027
+ *
9028
+ **/
9029
+ | { name: 'UpdatePoolMaxPegUpdate'; params: { poolId: number; maxPegUpdate: Permill } };
8985
9030
 
8986
9031
  export type PalletStableswapCallLike =
8987
9032
  /**
@@ -9265,13 +9310,55 @@ export type PalletStableswapCallLike =
9265
9310
  | {
9266
9311
  name: 'AddAssetsLiquidity';
9267
9312
  params: { poolId: number; assets: Array<HydradxTraitsStableswapAssetAmount>; minShares: bigint };
9268
- };
9313
+ }
9314
+ /**
9315
+ * Update the peg source for a specific asset in a pool.
9316
+ *
9317
+ * This function allows updating the peg source for an asset within a pool.
9318
+ * The pool must exist and have pegs configured. The asset must be part of the pool.
9319
+ * The current price is always preserved when updating the peg source.
9320
+ *
9321
+ * Parameters:
9322
+ * - `origin`: Must be `T::AuthorityOrigin`.
9323
+ * - `pool_id`: The ID of the pool containing the asset.
9324
+ * - `asset_id`: The ID of the asset whose peg source is to be updated.
9325
+ * - `peg_source`: The new peg source for the asset.
9326
+ *
9327
+ * Emits `PoolPegSourceUpdated` event when successful.
9328
+ *
9329
+ * # Errors
9330
+ * - `PoolNotFound`: If the specified pool does not exist.
9331
+ * - `NoPegSource`: If the pool does not have pegs configured.
9332
+ * - `AssetNotInPool`: If the specified asset is not part of the pool.
9333
+ *
9334
+ **/
9335
+ | { name: 'UpdateAssetPegSource'; params: { poolId: number; assetId: number; pegSource: PalletStableswapPegSource } }
9336
+ /**
9337
+ * Update the maximum peg update percentage for a pool.
9338
+ *
9339
+ * This function allows updating the maximum percentage by which peg values
9340
+ * can change in a pool with pegs configured.
9341
+ *
9342
+ * Parameters:
9343
+ * - `origin`: Must be `T::AuthorityOrigin`.
9344
+ * - `pool_id`: The ID of the pool to update.
9345
+ * - `max_peg_update`: The new maximum peg update percentage.
9346
+ *
9347
+ * Emits `PoolMaxPegUpdateUpdated` event when successful.
9348
+ *
9349
+ * # Errors
9350
+ * - `PoolNotFound`: If the specified pool does not exist.
9351
+ * - `NoPegSource`: If the pool does not have pegs configured.
9352
+ *
9353
+ **/
9354
+ | { name: 'UpdatePoolMaxPegUpdate'; params: { poolId: number; maxPegUpdate: Permill } };
9269
9355
 
9270
9356
  export type PalletStableswapTradability = { bits: number };
9271
9357
 
9272
9358
  export type PalletStableswapPegSource =
9273
9359
  | { type: 'Value'; value: [bigint, bigint] }
9274
- | { type: 'Oracle'; value: [FixedBytes<8>, HydradxTraitsOracleOraclePeriod, number] };
9360
+ | { type: 'Oracle'; value: [FixedBytes<8>, HydradxTraitsOracleOraclePeriod, number] }
9361
+ | { type: 'MmOracle'; value: H160 };
9275
9362
 
9276
9363
  export type HydradxTraitsOracleOraclePeriod = 'LastBlock' | 'Short' | 'TenMinutes' | 'Hour' | 'Day' | 'Week';
9277
9364
 
@@ -10053,6 +10140,361 @@ export type PalletLiquidationCallLike =
10053
10140
  **/
10054
10141
  | { name: 'SetBorrowingContract'; params: { contract: H160 } };
10055
10142
 
10143
+ /**
10144
+ * Contains a variant per dispatchable extrinsic that this pallet has.
10145
+ **/
10146
+ export type PalletHsmCall =
10147
+ /**
10148
+ * Add a new collateral asset
10149
+ *
10150
+ * This function adds a new asset as an approved collateral for Hollar. Only callable by
10151
+ * the governance (root origin).
10152
+ *
10153
+ * Parameters:
10154
+ * - `origin`: Must be Root
10155
+ * - `asset_id`: Asset ID to be added as collateral
10156
+ * - `pool_id`: StableSwap pool ID where this asset and Hollar are paired
10157
+ * - `purchase_fee`: Fee applied when buying Hollar with this asset (added to purchase price)
10158
+ * - `max_buy_price_coefficient`: Maximum buy price coefficient for HSM to buy back Hollar
10159
+ * - `buy_back_fee`: Fee applied when buying back Hollar (subtracted from buy price)
10160
+ * - `buyback_rate`: Parameter that controls how quickly HSM can buy Hollar with this asset
10161
+ * - `max_in_holding`: Optional maximum amount of collateral HSM can hold
10162
+ *
10163
+ * Emits:
10164
+ * - `CollateralAdded` when the collateral is successfully added
10165
+ *
10166
+ * Errors:
10167
+ * - `AssetAlreadyApproved` if the asset is already registered as a collateral
10168
+ * - `PoolAlreadyHasCollateral` if another asset from the same pool is already approved
10169
+ * - `HollarNotInPool` if Hollar is not found in the specified pool
10170
+ * - `AssetNotInPool` if the collateral asset is not found in the specified pool
10171
+ * - Other errors from underlying calls
10172
+ **/
10173
+ | {
10174
+ name: 'AddCollateralAsset';
10175
+ params: {
10176
+ assetId: number;
10177
+ poolId: number;
10178
+ purchaseFee: Permill;
10179
+ maxBuyPriceCoefficient: FixedU128;
10180
+ buyBackFee: Permill;
10181
+ buybackRate: Perbill;
10182
+ maxInHolding?: bigint | undefined;
10183
+ };
10184
+ }
10185
+ /**
10186
+ * Remove a collateral asset
10187
+ *
10188
+ * Removes an asset from the approved collaterals list. Only callable by the governance (root origin).
10189
+ * The collateral must have a zero balance in the HSM account before it can be removed.
10190
+ *
10191
+ * Parameters:
10192
+ * - `origin`: Must be Root
10193
+ * - `asset_id`: Asset ID to remove from collaterals
10194
+ *
10195
+ * Emits:
10196
+ * - `CollateralRemoved` when the collateral is successfully removed
10197
+ *
10198
+ * Errors:
10199
+ * - `AssetNotApproved` if the asset is not a registered collateral
10200
+ * - `CollateralNotEmpty` if the HSM account still holds some of this asset
10201
+ **/
10202
+ | { name: 'RemoveCollateralAsset'; params: { assetId: number } }
10203
+ /**
10204
+ * Update collateral asset parameters
10205
+ *
10206
+ * Updates the parameters for an existing collateral asset. Only callable by the governance (root origin).
10207
+ * Each parameter is optional and only provided parameters will be updated.
10208
+ *
10209
+ * Parameters:
10210
+ * - `origin`: Must be Root
10211
+ * - `asset_id`: Asset ID to update
10212
+ * - `purchase_fee`: New purchase fee (optional)
10213
+ * - `max_buy_price_coefficient`: New max buy price coefficient (optional)
10214
+ * - `buy_back_fee`: New buy back fee (optional)
10215
+ * - `buyback_rate`: New buyback rate parameter (optional)
10216
+ * - `max_in_holding`: New maximum holding amount (optional)
10217
+ *
10218
+ * Emits:
10219
+ * - `CollateralUpdated` when the collateral is successfully updated
10220
+ *
10221
+ * Errors:
10222
+ * - `AssetNotApproved` if the asset is not a registered collateral
10223
+ **/
10224
+ | {
10225
+ name: 'UpdateCollateralAsset';
10226
+ params: {
10227
+ assetId: number;
10228
+ purchaseFee?: Permill | undefined;
10229
+ maxBuyPriceCoefficient?: FixedU128 | undefined;
10230
+ buyBackFee?: Permill | undefined;
10231
+ buybackRate?: Perbill | undefined;
10232
+ maxInHolding?: bigint | undefined | undefined;
10233
+ };
10234
+ }
10235
+ /**
10236
+ * Sell asset to HSM
10237
+ *
10238
+ * This function allows users to:
10239
+ * 1. Sell Hollar back to HSM in exchange for collateral assets
10240
+ * 2. Sell collateral assets to HSM in exchange for newly minted Hollar
10241
+ *
10242
+ * The valid pairs must include Hollar as one side and an approved collateral as the other side.
10243
+ *
10244
+ * Parameters:
10245
+ * - `origin`: Account selling the asset
10246
+ * - `asset_in`: Asset ID being sold
10247
+ * - `asset_out`: Asset ID being bought
10248
+ * - `amount_in`: Amount of asset_in to sell
10249
+ * - `slippage_limit`: Minimum amount out for slippage protection
10250
+ *
10251
+ * Emits:
10252
+ * - `Swapped3` when the sell is successful
10253
+ *
10254
+ * Errors:
10255
+ * - `InvalidAssetPair` if the pair is not Hollar and an approved collateral
10256
+ * - `AssetNotApproved` if the collateral asset isn't registered
10257
+ * - `SlippageLimitExceeded` if the amount received is less than the slippage limit
10258
+ * - `MaxBuyBackExceeded` if the sell would exceed the maximum buy back rate
10259
+ * - `MaxBuyPriceExceeded` if the sell would exceed the maximum buy price
10260
+ * - `InsufficientCollateralBalance` if HSM doesn't have enough collateral
10261
+ * - `InvalidEVMInteraction` if there's an error interacting with the Hollar ERC20 contract
10262
+ * - Other errors from underlying calls
10263
+ **/
10264
+ | { name: 'Sell'; params: { assetIn: number; assetOut: number; amountIn: bigint; slippageLimit: bigint } }
10265
+ /**
10266
+ * Buy asset from HSM
10267
+ *
10268
+ * This function allows users to:
10269
+ * 1. Buy Hollar from HSM using collateral assets
10270
+ * 2. Buy collateral assets from HSM using Hollar
10271
+ *
10272
+ * The valid pairs must include Hollar as one side and an approved collateral as the other side.
10273
+ *
10274
+ * Parameters:
10275
+ * - `origin`: Account buying the asset
10276
+ * - `asset_in`: Asset ID being sold by the user
10277
+ * - `asset_out`: Asset ID being bought by the user
10278
+ * - `amount_out`: Amount of asset_out to buy
10279
+ * - `slippage_limit`: Maximum amount in for slippage protection
10280
+ *
10281
+ * Emits:
10282
+ * - `Swapped3` when the buy is successful
10283
+ *
10284
+ * Errors:
10285
+ * - `InvalidAssetPair` if the pair is not Hollar and an approved collateral
10286
+ * - `AssetNotApproved` if the collateral asset isn't registered
10287
+ * - `SlippageLimitExceeded` if the amount input exceeds the slippage limit
10288
+ * - `MaxHoldingExceeded` if the buy would cause HSM to exceed its maximum holding
10289
+ * - `InvalidEVMInteraction` if there's an error interacting with the Hollar ERC20 contract
10290
+ * - Other errors from underlying calls
10291
+ **/
10292
+ | { name: 'Buy'; params: { assetIn: number; assetOut: number; amountOut: bigint; slippageLimit: bigint } }
10293
+ /**
10294
+ * Execute arbitrage opportunity between HSM and collateral stable pool
10295
+ *
10296
+ * This call is designed to be triggered automatically by offchain workers. It:
10297
+ * 1. Detects price imbalances between HSM and a stable pool for a collateral
10298
+ * 2. If an opportunity exists, mints Hollar, swaps it for collateral on HSM
10299
+ * 3. Swaps that collateral for Hollar on the stable pool
10300
+ * 4. Burns the Hollar received from the arbitrage
10301
+ *
10302
+ * This helps maintain the peg of Hollar by profiting from and correcting price imbalances.
10303
+ * The call is unsigned and should only be executed by offchain workers.
10304
+ *
10305
+ * Parameters:
10306
+ * - `origin`: Must be None (unsigned)
10307
+ * - `collateral_asset_id`: The ID of the collateral asset to check for arbitrage
10308
+ *
10309
+ * Emits:
10310
+ * - `ArbitrageExecuted` when the arbitrage is successful
10311
+ *
10312
+ * Errors:
10313
+ * - `AssetNotApproved` if the asset is not a registered collateral
10314
+ * - `NoArbitrageOpportunity` if there's no profitable arbitrage opportunity
10315
+ * - `MaxBuyPriceExceeded` if the arbitrage would exceed the maximum buy price
10316
+ * - `InvalidEVMInteraction` if there's an error interacting with the Hollar ERC20 contract
10317
+ * - Other errors from underlying calls
10318
+ **/
10319
+ | { name: 'ExecuteArbitrage'; params: { collateralAssetId: number } }
10320
+ | { name: 'SetFlashMinter'; params: { flashMinterAddr: H160 } };
10321
+
10322
+ export type PalletHsmCallLike =
10323
+ /**
10324
+ * Add a new collateral asset
10325
+ *
10326
+ * This function adds a new asset as an approved collateral for Hollar. Only callable by
10327
+ * the governance (root origin).
10328
+ *
10329
+ * Parameters:
10330
+ * - `origin`: Must be Root
10331
+ * - `asset_id`: Asset ID to be added as collateral
10332
+ * - `pool_id`: StableSwap pool ID where this asset and Hollar are paired
10333
+ * - `purchase_fee`: Fee applied when buying Hollar with this asset (added to purchase price)
10334
+ * - `max_buy_price_coefficient`: Maximum buy price coefficient for HSM to buy back Hollar
10335
+ * - `buy_back_fee`: Fee applied when buying back Hollar (subtracted from buy price)
10336
+ * - `buyback_rate`: Parameter that controls how quickly HSM can buy Hollar with this asset
10337
+ * - `max_in_holding`: Optional maximum amount of collateral HSM can hold
10338
+ *
10339
+ * Emits:
10340
+ * - `CollateralAdded` when the collateral is successfully added
10341
+ *
10342
+ * Errors:
10343
+ * - `AssetAlreadyApproved` if the asset is already registered as a collateral
10344
+ * - `PoolAlreadyHasCollateral` if another asset from the same pool is already approved
10345
+ * - `HollarNotInPool` if Hollar is not found in the specified pool
10346
+ * - `AssetNotInPool` if the collateral asset is not found in the specified pool
10347
+ * - Other errors from underlying calls
10348
+ **/
10349
+ | {
10350
+ name: 'AddCollateralAsset';
10351
+ params: {
10352
+ assetId: number;
10353
+ poolId: number;
10354
+ purchaseFee: Permill;
10355
+ maxBuyPriceCoefficient: FixedU128;
10356
+ buyBackFee: Permill;
10357
+ buybackRate: Perbill;
10358
+ maxInHolding?: bigint | undefined;
10359
+ };
10360
+ }
10361
+ /**
10362
+ * Remove a collateral asset
10363
+ *
10364
+ * Removes an asset from the approved collaterals list. Only callable by the governance (root origin).
10365
+ * The collateral must have a zero balance in the HSM account before it can be removed.
10366
+ *
10367
+ * Parameters:
10368
+ * - `origin`: Must be Root
10369
+ * - `asset_id`: Asset ID to remove from collaterals
10370
+ *
10371
+ * Emits:
10372
+ * - `CollateralRemoved` when the collateral is successfully removed
10373
+ *
10374
+ * Errors:
10375
+ * - `AssetNotApproved` if the asset is not a registered collateral
10376
+ * - `CollateralNotEmpty` if the HSM account still holds some of this asset
10377
+ **/
10378
+ | { name: 'RemoveCollateralAsset'; params: { assetId: number } }
10379
+ /**
10380
+ * Update collateral asset parameters
10381
+ *
10382
+ * Updates the parameters for an existing collateral asset. Only callable by the governance (root origin).
10383
+ * Each parameter is optional and only provided parameters will be updated.
10384
+ *
10385
+ * Parameters:
10386
+ * - `origin`: Must be Root
10387
+ * - `asset_id`: Asset ID to update
10388
+ * - `purchase_fee`: New purchase fee (optional)
10389
+ * - `max_buy_price_coefficient`: New max buy price coefficient (optional)
10390
+ * - `buy_back_fee`: New buy back fee (optional)
10391
+ * - `buyback_rate`: New buyback rate parameter (optional)
10392
+ * - `max_in_holding`: New maximum holding amount (optional)
10393
+ *
10394
+ * Emits:
10395
+ * - `CollateralUpdated` when the collateral is successfully updated
10396
+ *
10397
+ * Errors:
10398
+ * - `AssetNotApproved` if the asset is not a registered collateral
10399
+ **/
10400
+ | {
10401
+ name: 'UpdateCollateralAsset';
10402
+ params: {
10403
+ assetId: number;
10404
+ purchaseFee?: Permill | undefined;
10405
+ maxBuyPriceCoefficient?: FixedU128 | undefined;
10406
+ buyBackFee?: Permill | undefined;
10407
+ buybackRate?: Perbill | undefined;
10408
+ maxInHolding?: bigint | undefined | undefined;
10409
+ };
10410
+ }
10411
+ /**
10412
+ * Sell asset to HSM
10413
+ *
10414
+ * This function allows users to:
10415
+ * 1. Sell Hollar back to HSM in exchange for collateral assets
10416
+ * 2. Sell collateral assets to HSM in exchange for newly minted Hollar
10417
+ *
10418
+ * The valid pairs must include Hollar as one side and an approved collateral as the other side.
10419
+ *
10420
+ * Parameters:
10421
+ * - `origin`: Account selling the asset
10422
+ * - `asset_in`: Asset ID being sold
10423
+ * - `asset_out`: Asset ID being bought
10424
+ * - `amount_in`: Amount of asset_in to sell
10425
+ * - `slippage_limit`: Minimum amount out for slippage protection
10426
+ *
10427
+ * Emits:
10428
+ * - `Swapped3` when the sell is successful
10429
+ *
10430
+ * Errors:
10431
+ * - `InvalidAssetPair` if the pair is not Hollar and an approved collateral
10432
+ * - `AssetNotApproved` if the collateral asset isn't registered
10433
+ * - `SlippageLimitExceeded` if the amount received is less than the slippage limit
10434
+ * - `MaxBuyBackExceeded` if the sell would exceed the maximum buy back rate
10435
+ * - `MaxBuyPriceExceeded` if the sell would exceed the maximum buy price
10436
+ * - `InsufficientCollateralBalance` if HSM doesn't have enough collateral
10437
+ * - `InvalidEVMInteraction` if there's an error interacting with the Hollar ERC20 contract
10438
+ * - Other errors from underlying calls
10439
+ **/
10440
+ | { name: 'Sell'; params: { assetIn: number; assetOut: number; amountIn: bigint; slippageLimit: bigint } }
10441
+ /**
10442
+ * Buy asset from HSM
10443
+ *
10444
+ * This function allows users to:
10445
+ * 1. Buy Hollar from HSM using collateral assets
10446
+ * 2. Buy collateral assets from HSM using Hollar
10447
+ *
10448
+ * The valid pairs must include Hollar as one side and an approved collateral as the other side.
10449
+ *
10450
+ * Parameters:
10451
+ * - `origin`: Account buying the asset
10452
+ * - `asset_in`: Asset ID being sold by the user
10453
+ * - `asset_out`: Asset ID being bought by the user
10454
+ * - `amount_out`: Amount of asset_out to buy
10455
+ * - `slippage_limit`: Maximum amount in for slippage protection
10456
+ *
10457
+ * Emits:
10458
+ * - `Swapped3` when the buy is successful
10459
+ *
10460
+ * Errors:
10461
+ * - `InvalidAssetPair` if the pair is not Hollar and an approved collateral
10462
+ * - `AssetNotApproved` if the collateral asset isn't registered
10463
+ * - `SlippageLimitExceeded` if the amount input exceeds the slippage limit
10464
+ * - `MaxHoldingExceeded` if the buy would cause HSM to exceed its maximum holding
10465
+ * - `InvalidEVMInteraction` if there's an error interacting with the Hollar ERC20 contract
10466
+ * - Other errors from underlying calls
10467
+ **/
10468
+ | { name: 'Buy'; params: { assetIn: number; assetOut: number; amountOut: bigint; slippageLimit: bigint } }
10469
+ /**
10470
+ * Execute arbitrage opportunity between HSM and collateral stable pool
10471
+ *
10472
+ * This call is designed to be triggered automatically by offchain workers. It:
10473
+ * 1. Detects price imbalances between HSM and a stable pool for a collateral
10474
+ * 2. If an opportunity exists, mints Hollar, swaps it for collateral on HSM
10475
+ * 3. Swaps that collateral for Hollar on the stable pool
10476
+ * 4. Burns the Hollar received from the arbitrage
10477
+ *
10478
+ * This helps maintain the peg of Hollar by profiting from and correcting price imbalances.
10479
+ * The call is unsigned and should only be executed by offchain workers.
10480
+ *
10481
+ * Parameters:
10482
+ * - `origin`: Must be None (unsigned)
10483
+ * - `collateral_asset_id`: The ID of the collateral asset to check for arbitrage
10484
+ *
10485
+ * Emits:
10486
+ * - `ArbitrageExecuted` when the arbitrage is successful
10487
+ *
10488
+ * Errors:
10489
+ * - `AssetNotApproved` if the asset is not a registered collateral
10490
+ * - `NoArbitrageOpportunity` if there's no profitable arbitrage opportunity
10491
+ * - `MaxBuyPriceExceeded` if the arbitrage would exceed the maximum buy price
10492
+ * - `InvalidEVMInteraction` if there's an error interacting with the Hollar ERC20 contract
10493
+ * - Other errors from underlying calls
10494
+ **/
10495
+ | { name: 'ExecuteArbitrage'; params: { collateralAssetId: number } }
10496
+ | { name: 'SetFlashMinter'; params: { flashMinterAddr: H160 } };
10497
+
10056
10498
  /**
10057
10499
  * Contains a variant per dispatchable extrinsic that this pallet has.
10058
10500
  **/
@@ -14148,7 +14590,15 @@ export type PalletStableswapEvent =
14148
14590
  /**
14149
14591
  * A pool has been destroyed.
14150
14592
  **/
14151
- | { name: 'PoolDestroyed'; data: { poolId: number } };
14593
+ | { name: 'PoolDestroyed'; data: { poolId: number } }
14594
+ /**
14595
+ * Pool peg source has been updated.
14596
+ **/
14597
+ | { name: 'PoolPegSourceUpdated'; data: { poolId: number; assetId: number; pegSource: PalletStableswapPegSource } }
14598
+ /**
14599
+ * Pool max peg update has been updated.
14600
+ **/
14601
+ | { name: 'PoolMaxPegUpdateUpdated'; data: { poolId: number; maxPegUpdate: Permill } };
14152
14602
 
14153
14603
  export type NonZeroU16 = number;
14154
14604
 
@@ -14373,6 +14823,76 @@ export type PalletLiquidationEvent =
14373
14823
  data: { user: H160; collateralAsset: number; debtAsset: number; debtToCover: bigint; profit: bigint };
14374
14824
  };
14375
14825
 
14826
+ /**
14827
+ * The `Event` enum of this pallet
14828
+ **/
14829
+ export type PalletHsmEvent =
14830
+ /**
14831
+ * A new collateral asset was added
14832
+ *
14833
+ * Parameters:
14834
+ * - `asset_id`: The ID of the asset added as collateral
14835
+ * - `pool_id`: The StableSwap pool ID where this asset belongs
14836
+ * - `purchase_fee`: Fee applied when buying Hollar with this asset
14837
+ * - `max_buy_price_coefficient`: Maximum buy price coefficient for HSM to buy back Hollar
14838
+ * - `buy_back_fee`: Fee applied when buying back Hollar
14839
+ * - `buyback_rate`: Parameter that controls how quickly HSM can buy Hollar with this asset
14840
+ **/
14841
+ | {
14842
+ name: 'CollateralAdded';
14843
+ data: {
14844
+ assetId: number;
14845
+ poolId: number;
14846
+ purchaseFee: Permill;
14847
+ maxBuyPriceCoefficient: FixedU128;
14848
+ buyBackFee: Permill;
14849
+ buybackRate: Perbill;
14850
+ };
14851
+ }
14852
+ /**
14853
+ * A collateral asset was removed
14854
+ *
14855
+ * Parameters:
14856
+ * - `asset_id`: The ID of the asset removed from collaterals
14857
+ * - `amount`: The amount of the asset that was returned (should be zero)
14858
+ **/
14859
+ | { name: 'CollateralRemoved'; data: { assetId: number; amount: bigint } }
14860
+ /**
14861
+ * A collateral asset was updated
14862
+ *
14863
+ * Parameters:
14864
+ * - `asset_id`: The ID of the updated collateral asset
14865
+ * - `purchase_fee`: New purchase fee if updated (None if not changed)
14866
+ * - `max_buy_price_coefficient`: New max buy price coefficient if updated (None if not changed)
14867
+ * - `buy_back_fee`: New buy back fee if updated (None if not changed)
14868
+ * - `buyback_rate`: New buyback rate if updated (None if not changed)
14869
+ **/
14870
+ | {
14871
+ name: 'CollateralUpdated';
14872
+ data: {
14873
+ assetId: number;
14874
+ purchaseFee?: Permill | undefined;
14875
+ maxBuyPriceCoefficient?: FixedU128 | undefined;
14876
+ buyBackFee?: Permill | undefined;
14877
+ buybackRate?: Perbill | undefined;
14878
+ };
14879
+ }
14880
+ /**
14881
+ * Arbitrage executed successfully
14882
+ *
14883
+ * Parameters:
14884
+ * - `asset_id`: The collateral asset used in the arbitrage
14885
+ * - `hollar_amount`: Amount of Hollar that was included in the arbitrage operation
14886
+ **/
14887
+ | { name: 'ArbitrageExecuted'; data: { assetId: number; hollarAmount: bigint } }
14888
+ /**
14889
+ * Flash minter address set
14890
+ *
14891
+ * Parameters:
14892
+ * - `flash_minter`: The EVM address of the flash minter contract
14893
+ **/
14894
+ | { name: 'FlashMinterSet'; data: { flashMinter: H160 } };
14895
+
14376
14896
  /**
14377
14897
  * The `Event` enum of this pallet
14378
14898
  **/
@@ -15330,7 +15850,8 @@ export type PalletBroadcastFiller =
15330
15850
  | { type: 'Xyk'; value: number }
15331
15851
  | { type: 'Lbp' }
15332
15852
  | { type: 'Otc'; value: number }
15333
- | { type: 'Aave' };
15853
+ | { type: 'Aave' }
15854
+ | { type: 'Hsm' };
15334
15855
 
15335
15856
  export type PalletBroadcastTradeOperation = 'ExactIn' | 'ExactOut' | 'Limit' | 'LiquidityAdd' | 'LiquidityRemove';
15336
15857
 
@@ -16908,10 +17429,6 @@ export type PalletLiquidityMiningError =
16908
17429
  * Liquidity mining is in `active` or `terminated` state and action cannot be completed.
16909
17430
  **/
16910
17431
  | { name: 'LiquidityMiningIsNotStopped' }
16911
- /**
16912
- * LP shares amount is not valid.
16913
- **/
16914
- | { name: 'InvalidDepositAmount' }
16915
17432
  /**
16916
17433
  * Account is not allowed to perform action.
16917
17434
  **/
@@ -17301,6 +17818,17 @@ export type PalletStableswapPoolInfo = {
17301
17818
  fee: Permill;
17302
17819
  };
17303
17820
 
17821
+ export type PalletStableswapPoolSnapshot = {
17822
+ assets: Array<number>;
17823
+ reserves: Array<HydraDxMathStableswapTypesAssetReserve>;
17824
+ amplification: bigint;
17825
+ fee: Permill;
17826
+ pegs: Array<[bigint, bigint]>;
17827
+ shareIssuance: bigint;
17828
+ };
17829
+
17830
+ export type HydraDxMathStableswapTypesAssetReserve = { amount: bigint; decimals: number };
17831
+
17304
17832
  /**
17305
17833
  * The `Error` enum of this pallet.
17306
17834
  **/
@@ -17412,7 +17940,11 @@ export type PalletStableswapError =
17412
17940
  /**
17413
17941
  * Creating pool with pegs is not allowed for asset with different decimals.
17414
17942
  **/
17415
- | 'IncorrectAssetDecimals';
17943
+ | 'IncorrectAssetDecimals'
17944
+ /**
17945
+ * Pool does not have pegs configured.
17946
+ **/
17947
+ | 'NoPegSource';
17416
17948
 
17417
17949
  /**
17418
17950
  * The `Error` enum of this pallet.
@@ -17768,7 +18300,155 @@ export type PalletLiquidationError =
17768
18300
  /**
17769
18301
  * Liquidation was not profitable enough to repay flash loan
17770
18302
  **/
17771
- | 'NotProfitable';
18303
+ | 'NotProfitable'
18304
+ /**
18305
+ * Flash minter contract address not set. It is required for Hollar liquidations.
18306
+ **/
18307
+ | 'FlashMinterNotSet'
18308
+ /**
18309
+ * Invalid liquidation data provided
18310
+ **/
18311
+ | 'InvalidLiquidationData';
18312
+
18313
+ export type PalletHsmCollateralInfo = {
18314
+ poolId: number;
18315
+ purchaseFee: Permill;
18316
+ maxBuyPriceCoefficient: FixedU128;
18317
+ buybackRate: Perbill;
18318
+ buyBackFee: Permill;
18319
+ maxInHolding?: bigint | undefined;
18320
+ };
18321
+
18322
+ /**
18323
+ * The `Error` enum of this pallet.
18324
+ **/
18325
+ export type PalletHsmError =
18326
+ /**
18327
+ * Asset is not approved as collateral
18328
+ *
18329
+ * The operation attempted to use an asset that is not registered as an approved collateral.
18330
+ **/
18331
+ | 'AssetNotApproved'
18332
+ /**
18333
+ * Asset is already approved as collateral
18334
+ *
18335
+ * Attempted to add an asset that is already registered as a collateral.
18336
+ **/
18337
+ | 'AssetAlreadyApproved'
18338
+ /**
18339
+ * Another asset from the same pool is already approved
18340
+ *
18341
+ * Only one asset from each StableSwap pool can be used as collateral.
18342
+ **/
18343
+ | 'PoolAlreadyHasCollateral'
18344
+ /**
18345
+ * Invalid asset pair, must be Hollar and approved collateral
18346
+ *
18347
+ * The asset pair for buy/sell operations must include Hollar as one side and an approved collateral as the other.
18348
+ **/
18349
+ | 'InvalidAssetPair'
18350
+ /**
18351
+ * Max buy price exceeded
18352
+ *
18353
+ * The calculated buy price exceeds the maximum allowed buy price for the collateral.
18354
+ **/
18355
+ | 'MaxBuyPriceExceeded'
18356
+ /**
18357
+ * Max buy back amount in single block exceeded
18358
+ *
18359
+ * The amount of Hollar being sold to HSM exceeds the maximum allowed in a single block for this collateral.
18360
+ **/
18361
+ | 'MaxBuyBackExceeded'
18362
+ /**
18363
+ * Max holding amount for collateral exceeded
18364
+ *
18365
+ * The operation would cause the HSM to hold more of the collateral than the configured maximum.
18366
+ **/
18367
+ | 'MaxHoldingExceeded'
18368
+ /**
18369
+ * Slippage limit exceeded
18370
+ *
18371
+ * The calculated amount is worse than the provided slippage limit.
18372
+ **/
18373
+ | 'SlippageLimitExceeded'
18374
+ /**
18375
+ * Invalid EVM contract interaction
18376
+ *
18377
+ * The call to the EVM contract (GHO Hollar token) failed.
18378
+ **/
18379
+ | 'InvalidEVMInteraction'
18380
+ /**
18381
+ * Decimal retrieval failed
18382
+ *
18383
+ * Failed to retrieve the decimal information for an asset.
18384
+ **/
18385
+ | 'DecimalRetrievalFailed'
18386
+ /**
18387
+ * No arbitrage opportunity
18388
+ *
18389
+ * There is no profitable arbitrage opportunity for the specified collateral.
18390
+ **/
18391
+ | 'NoArbitrageOpportunity'
18392
+ /**
18393
+ * Offchain lock error
18394
+ *
18395
+ * Failed to acquire the lock for offchain workers, likely because another operation is in progress.
18396
+ **/
18397
+ | 'OffchainLockError'
18398
+ /**
18399
+ * Asset not in the pool
18400
+ *
18401
+ * The specified asset was not found in the pool.
18402
+ **/
18403
+ | 'AssetNotFound'
18404
+ /**
18405
+ * Provided pool state is invalid
18406
+ *
18407
+ * The retrieved pool state has inconsistent or invalid data.
18408
+ **/
18409
+ | 'InvalidPoolState'
18410
+ /**
18411
+ * Collateral is not empty
18412
+ *
18413
+ * Cannot remove a collateral asset that still has a non-zero balance in the HSM account.
18414
+ **/
18415
+ | 'CollateralNotEmpty'
18416
+ /**
18417
+ * Asset not in the pool
18418
+ *
18419
+ * The collateral asset is not present in the specified pool.
18420
+ **/
18421
+ | 'AssetNotInPool'
18422
+ /**
18423
+ * Hollar is not in the pool
18424
+ *
18425
+ * The Hollar asset is not present in the specified pool.
18426
+ **/
18427
+ | 'HollarNotInPool'
18428
+ /**
18429
+ * Insufficient collateral balance
18430
+ *
18431
+ * The HSM does not have enough of the collateral asset to complete the operation.
18432
+ **/
18433
+ | 'InsufficientCollateralBalance'
18434
+ /**
18435
+ * GHO Contract address not found
18436
+ *
18437
+ * The EVM address for the GHO (Hollar) token contract was not found.
18438
+ **/
18439
+ | 'HollarContractAddressNotFound'
18440
+ /**
18441
+ * HSM contains maximum number of allowed collateral assets.
18442
+ **/
18443
+ | 'MaxNumberOfCollateralsReached'
18444
+ /**
18445
+ * Flash minter address not set
18446
+ **/
18447
+ | 'FlashMinterNotSet'
18448
+ /**
18449
+ * Provided arbitrage data is invalid
18450
+ **/
18451
+ | 'InvalidArbitrageData';
17772
18452
 
17773
18453
  export type OrmlTokensBalanceLock = { id: FixedBytes<8>; amount: bigint };
17774
18454
 
@@ -18828,6 +19508,8 @@ export type FrameMetadataHashExtensionCheckMetadataHash = { mode: FrameMetadataH
18828
19508
 
18829
19509
  export type FrameMetadataHashExtensionMode = 'Disabled' | 'Enabled';
18830
19510
 
19511
+ export type CumulusPrimitivesStorageWeightReclaimStorageWeightReclaim = {};
19512
+
18831
19513
  export type HydradxRuntimeRuntime = {};
18832
19514
 
18833
19515
  export type SpRuntimeBlock = { header: Header; extrinsics: Array<FpSelfContainedUncheckedExtrinsic> };
@@ -19001,6 +19683,7 @@ export type HydradxRuntimeRuntimeError =
19001
19683
  | { pallet: 'Xyk'; palletError: PalletXykError }
19002
19684
  | { pallet: 'Referrals'; palletError: PalletReferralsError }
19003
19685
  | { pallet: 'Liquidation'; palletError: PalletLiquidationError }
19686
+ | { pallet: 'Hsm'; palletError: PalletHsmError }
19004
19687
  | { pallet: 'Tokens'; palletError: OrmlTokensModuleError }
19005
19688
  | { pallet: 'Currencies'; palletError: PalletCurrenciesModuleError }
19006
19689
  | { pallet: 'Vesting'; palletError: OrmlVestingModuleError }