@dedot/chaintypes 0.173.0 → 0.175.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.
@@ -60,6 +60,7 @@ import type {
60
60
  PalletLbpWeightCurveType,
61
61
  PalletReferralsLevel,
62
62
  PalletReferralsFeeDistribution,
63
+ PalletHsmArbitrage,
63
64
  OrmlVestingVestingSchedule,
64
65
  EthereumTransactionTransactionV2,
65
66
  PalletXykAssetPair,
@@ -75,6 +76,17 @@ import type {
75
76
  CumulusPrimitivesCoreAggregateMessageOrigin,
76
77
  XcmVersionedAsset,
77
78
  HydradxRuntimeOpaqueSessionKeys,
79
+ IsmpMessagingMessage,
80
+ IsmpMessagingCreateConsensusState,
81
+ PalletIsmpUtilsUpdateConsensusState,
82
+ PalletIsmpUtilsFundMessageParams,
83
+ IsmpMessagingConsensusMessage,
84
+ IsmpParachainParachainData,
85
+ PalletTokenGatewayTeleportParams,
86
+ IsmpHostStateMachine,
87
+ PalletTokenGatewayAssetRegistration,
88
+ TokenGatewayPrimitivesGatewayAssetUpdate,
89
+ PalletTokenGatewayPrecisionUpdate,
78
90
  } from './types.js';
79
91
 
80
92
  export type ChainSubmittableExtrinsic<
@@ -6116,9 +6128,15 @@ export interface ChainTx<Rv extends RpcVersion> extends GenericChainTx<Rv, TxCal
6116
6128
  /**
6117
6129
  * Dust specified account.
6118
6130
  * IF account balance is < min. existential deposit of given currency, and account is allowed to
6119
- * be dusted, the remaining balance is transferred to selected account (usually treasury).
6131
+ * be dusted, the remaining balance is transferred to treasury account.
6120
6132
  *
6121
- * Caller is rewarded with chosen reward in native currency.
6133
+ * In case of AToken, we perform an erc20 dust, which does a wihtdraw all then supply atoken on behalf of the dust receiver
6134
+ *
6135
+ * The transaction fee is returned back in case of successful dusting.
6136
+ *
6137
+ * Treasury account can never be dusted.
6138
+ *
6139
+ * Emits `Dusted` event when successful.
6122
6140
  *
6123
6141
  * @param {AccountId32Like} account
6124
6142
  * @param {number} currencyId
@@ -6141,20 +6159,23 @@ export interface ChainTx<Rv extends RpcVersion> extends GenericChainTx<Rv, TxCal
6141
6159
  >;
6142
6160
 
6143
6161
  /**
6144
- * Add account to list of non-dustable account. Account whihc are excluded from udsting.
6145
- * If such account should be dusted - `AccountBlacklisted` error is returned.
6162
+ * Add account to list of whitelist accounts. Account which are excluded from dusting.
6163
+ * If such account should be dusted - `AccountWhitelisted` error is returned.
6146
6164
  * Only root can perform this action.
6147
6165
  *
6166
+ * Emits `Added` event when successful.
6167
+ *
6168
+ *
6148
6169
  * @param {AccountId32Like} account
6149
6170
  **/
6150
- addNondustableAccount: GenericTxCall<
6171
+ whitelistAccount: GenericTxCall<
6151
6172
  Rv,
6152
6173
  (account: AccountId32Like) => ChainSubmittableExtrinsic<
6153
6174
  Rv,
6154
6175
  {
6155
6176
  pallet: 'Duster';
6156
6177
  palletCall: {
6157
- name: 'AddNondustableAccount';
6178
+ name: 'WhitelistAccount';
6158
6179
  params: { account: AccountId32Like };
6159
6180
  };
6160
6181
  }
@@ -6162,18 +6183,21 @@ export interface ChainTx<Rv extends RpcVersion> extends GenericChainTx<Rv, TxCal
6162
6183
  >;
6163
6184
 
6164
6185
  /**
6165
- * Remove account from list of non-dustable accounts. That means account can be dusted again.
6186
+ * Remove account from list of whitelist accounts. That means account can be dusted again.
6187
+ *
6188
+ * Emits `Removed` event when successful.
6189
+ *
6166
6190
  *
6167
6191
  * @param {AccountId32Like} account
6168
6192
  **/
6169
- removeNondustableAccount: GenericTxCall<
6193
+ removeFromWhitelist: GenericTxCall<
6170
6194
  Rv,
6171
6195
  (account: AccountId32Like) => ChainSubmittableExtrinsic<
6172
6196
  Rv,
6173
6197
  {
6174
6198
  pallet: 'Duster';
6175
6199
  palletCall: {
6176
- name: 'RemoveNondustableAccount';
6200
+ name: 'RemoveFromWhitelist';
6177
6201
  params: { account: AccountId32Like };
6178
6202
  };
6179
6203
  }
@@ -9481,52 +9505,77 @@ export interface ChainTx<Rv extends RpcVersion> extends GenericChainTx<Rv, TxCal
9481
9505
  >;
9482
9506
 
9483
9507
  /**
9484
- * Execute arbitrage opportunity between HSM and collateral stable pool
9508
+ * Execute arbitrage opportunity between HSM and collateral stable pool using flash loans
9509
+ *
9510
+ * This call is designed to be triggered automatically by offchain workers. It executes
9511
+ * arbitrage by taking a flash loan from the GHO contract and performing trades to profit
9512
+ * from price imbalances between HSM and the StableSwap pool.
9485
9513
  *
9486
- * This call is designed to be triggered automatically by offchain workers. It:
9487
- * 1. Detects price imbalances between HSM and a stable pool for a collateral
9488
- * 2. If an opportunity exists, mints Hollar, swaps it for collateral on HSM
9489
- * 3. Swaps that collateral for Hollar on the stable pool
9490
- * 4. Burns the Hollar received from the arbitrage
9514
+ * The arbitrage execution flow:
9515
+ * 1. Takes a flash loan of Hollar from the GHO contract
9516
+ * 2. Executes trades between HSM and StableSwap pool based on arbitrage direction:
9517
+ * - For HollarIn (buy direction): Sell Hollar to HSM for collateral, then sell collateral back for Hollar in pool
9518
+ * - For HollarOut (sell direction): Sell Hollar for collateral in pool, then buy Hollar back from HSM
9519
+ * 3. Repays the flash loan
9520
+ * 4. Any remaining profit (in collateral) is transferred to the ArbitrageProfitReceiver
9491
9521
  *
9492
9522
  * This helps maintain the peg of Hollar by profiting from and correcting price imbalances.
9493
9523
  * The call is unsigned and should only be executed by offchain workers.
9494
9524
  *
9495
9525
  * Parameters:
9496
9526
  * - `origin`: Must be None (unsigned)
9497
- * - `collateral_asset_id`: The ID of the collateral asset to check for arbitrage
9527
+ * - `collateral_asset_id`: The ID of the collateral asset to use for arbitrage
9528
+ * - `arbitrage`: Optional arbitrage parameters (direction and amount). If None, the function
9529
+ * will automatically find and calculate the optimal arbitrage opportunity.
9498
9530
  *
9499
9531
  * Emits:
9500
9532
  * - `ArbitrageExecuted` when the arbitrage is successful
9501
9533
  *
9502
9534
  * Errors:
9535
+ * - `FlashMinterNotSet` if the flash minter contract address has not been configured
9503
9536
  * - `AssetNotApproved` if the asset is not a registered collateral
9504
9537
  * - `NoArbitrageOpportunity` if there's no profitable arbitrage opportunity
9505
9538
  * - `MaxBuyPriceExceeded` if the arbitrage would exceed the maximum buy price
9539
+ * - `MaxBuyBackExceeded` if the arbitrage would exceed the buyback limit
9506
9540
  * - `InvalidEVMInteraction` if there's an error interacting with the Hollar ERC20 contract
9507
9541
  * - Other errors from underlying calls
9508
9542
  *
9509
9543
  * @param {number} collateralAssetId
9510
- * @param {bigint | undefined} flashAmount
9544
+ * @param {PalletHsmArbitrage | undefined} arbitrage
9511
9545
  **/
9512
9546
  executeArbitrage: GenericTxCall<
9513
9547
  Rv,
9514
9548
  (
9515
9549
  collateralAssetId: number,
9516
- flashAmount: bigint | undefined,
9550
+ arbitrage: PalletHsmArbitrage | undefined,
9517
9551
  ) => ChainSubmittableExtrinsic<
9518
9552
  Rv,
9519
9553
  {
9520
9554
  pallet: 'Hsm';
9521
9555
  palletCall: {
9522
9556
  name: 'ExecuteArbitrage';
9523
- params: { collateralAssetId: number; flashAmount: bigint | undefined };
9557
+ params: { collateralAssetId: number; arbitrage: PalletHsmArbitrage | undefined };
9524
9558
  };
9525
9559
  }
9526
9560
  >
9527
9561
  >;
9528
9562
 
9529
9563
  /**
9564
+ * Set the flash minter contract address
9565
+ *
9566
+ * Configures the EVM address of the flash loan contract that will be used for arbitrage
9567
+ * operations. This contract must support the ERC-3156 flash loan standard and be trusted
9568
+ * to handle flash loans of Hollar tokens.
9569
+ *
9570
+ * Parameters:
9571
+ * - `origin`: Must be authorized (governance/root)
9572
+ * - `flash_minter_addr`: The EVM address of the flash minter contract
9573
+ *
9574
+ * Emits:
9575
+ * - `FlashMinterSet` when the address is successfully configured
9576
+ *
9577
+ * Errors:
9578
+ * - Authorization errors if origin is not authorized
9530
9579
  *
9531
9580
  * @param {H160} flashMinterAddr
9532
9581
  **/
@@ -12705,6 +12754,291 @@ export interface ChainTx<Rv extends RpcVersion> extends GenericChainTx<Rv, TxCal
12705
12754
  **/
12706
12755
  [callName: string]: GenericTxCall<Rv, TxCall<Rv>>;
12707
12756
  };
12757
+ /**
12758
+ * Pallet `Ismp`'s transaction calls
12759
+ **/
12760
+ ismp: {
12761
+ /**
12762
+ * Execute the provided batch of ISMP messages, this will short-circuit and revert if any
12763
+ * of the provided messages are invalid. This is an unsigned extrinsic that permits anyone
12764
+ * execute ISMP messages for free, provided they have valid proofs and the messages have
12765
+ * not been previously processed.
12766
+ *
12767
+ * The dispatch origin for this call must be an unsigned one.
12768
+ *
12769
+ * - `messages`: the messages to handle or process.
12770
+ *
12771
+ * Emits different message events based on the Message received if successful.
12772
+ *
12773
+ * @param {Array<IsmpMessagingMessage>} messages
12774
+ **/
12775
+ handleUnsigned: GenericTxCall<
12776
+ Rv,
12777
+ (messages: Array<IsmpMessagingMessage>) => ChainSubmittableExtrinsic<
12778
+ Rv,
12779
+ {
12780
+ pallet: 'Ismp';
12781
+ palletCall: {
12782
+ name: 'HandleUnsigned';
12783
+ params: { messages: Array<IsmpMessagingMessage> };
12784
+ };
12785
+ }
12786
+ >
12787
+ >;
12788
+
12789
+ /**
12790
+ * Create a consensus client, using a subjectively chosen consensus state. This can also
12791
+ * be used to overwrite an existing consensus state. The dispatch origin for this
12792
+ * call must be `T::AdminOrigin`.
12793
+ *
12794
+ * - `message`: [`CreateConsensusState`] struct.
12795
+ *
12796
+ * Emits [`Event::ConsensusClientCreated`] if successful.
12797
+ *
12798
+ * @param {IsmpMessagingCreateConsensusState} message
12799
+ **/
12800
+ createConsensusClient: GenericTxCall<
12801
+ Rv,
12802
+ (message: IsmpMessagingCreateConsensusState) => ChainSubmittableExtrinsic<
12803
+ Rv,
12804
+ {
12805
+ pallet: 'Ismp';
12806
+ palletCall: {
12807
+ name: 'CreateConsensusClient';
12808
+ params: { message: IsmpMessagingCreateConsensusState };
12809
+ };
12810
+ }
12811
+ >
12812
+ >;
12813
+
12814
+ /**
12815
+ * Modify the unbonding period and challenge period for a consensus state.
12816
+ * The dispatch origin for this call must be `T::AdminOrigin`.
12817
+ *
12818
+ * - `message`: `UpdateConsensusState` struct.
12819
+ *
12820
+ * @param {PalletIsmpUtilsUpdateConsensusState} message
12821
+ **/
12822
+ updateConsensusState: GenericTxCall<
12823
+ Rv,
12824
+ (message: PalletIsmpUtilsUpdateConsensusState) => ChainSubmittableExtrinsic<
12825
+ Rv,
12826
+ {
12827
+ pallet: 'Ismp';
12828
+ palletCall: {
12829
+ name: 'UpdateConsensusState';
12830
+ params: { message: PalletIsmpUtilsUpdateConsensusState };
12831
+ };
12832
+ }
12833
+ >
12834
+ >;
12835
+
12836
+ /**
12837
+ * Add more funds to a message (request or response) to be used for delivery and execution.
12838
+ *
12839
+ * Should not be called on a message that has been completed (delivered or timed-out) as
12840
+ * those funds will be lost forever.
12841
+ *
12842
+ * @param {PalletIsmpUtilsFundMessageParams} message
12843
+ **/
12844
+ fundMessage: GenericTxCall<
12845
+ Rv,
12846
+ (message: PalletIsmpUtilsFundMessageParams) => ChainSubmittableExtrinsic<
12847
+ Rv,
12848
+ {
12849
+ pallet: 'Ismp';
12850
+ palletCall: {
12851
+ name: 'FundMessage';
12852
+ params: { message: PalletIsmpUtilsFundMessageParams };
12853
+ };
12854
+ }
12855
+ >
12856
+ >;
12857
+
12858
+ /**
12859
+ * Generic pallet tx call
12860
+ **/
12861
+ [callName: string]: GenericTxCall<Rv, TxCall<Rv>>;
12862
+ };
12863
+ /**
12864
+ * Pallet `IsmpParachain`'s transaction calls
12865
+ **/
12866
+ ismpParachain: {
12867
+ /**
12868
+ * This allows block builders submit parachain consensus proofs as inherents. If the
12869
+ * provided [`ConsensusMessage`] is not for a parachain, this call will fail.
12870
+ *
12871
+ * @param {IsmpMessagingConsensusMessage} data
12872
+ **/
12873
+ updateParachainConsensus: GenericTxCall<
12874
+ Rv,
12875
+ (data: IsmpMessagingConsensusMessage) => ChainSubmittableExtrinsic<
12876
+ Rv,
12877
+ {
12878
+ pallet: 'IsmpParachain';
12879
+ palletCall: {
12880
+ name: 'UpdateParachainConsensus';
12881
+ params: { data: IsmpMessagingConsensusMessage };
12882
+ };
12883
+ }
12884
+ >
12885
+ >;
12886
+
12887
+ /**
12888
+ * Add some new parachains to the parachains whitelist
12889
+ *
12890
+ * @param {Array<IsmpParachainParachainData>} paraIds
12891
+ **/
12892
+ addParachain: GenericTxCall<
12893
+ Rv,
12894
+ (paraIds: Array<IsmpParachainParachainData>) => ChainSubmittableExtrinsic<
12895
+ Rv,
12896
+ {
12897
+ pallet: 'IsmpParachain';
12898
+ palletCall: {
12899
+ name: 'AddParachain';
12900
+ params: { paraIds: Array<IsmpParachainParachainData> };
12901
+ };
12902
+ }
12903
+ >
12904
+ >;
12905
+
12906
+ /**
12907
+ * Removes some parachains from the parachains whitelist
12908
+ *
12909
+ * @param {Array<number>} paraIds
12910
+ **/
12911
+ removeParachain: GenericTxCall<
12912
+ Rv,
12913
+ (paraIds: Array<number>) => ChainSubmittableExtrinsic<
12914
+ Rv,
12915
+ {
12916
+ pallet: 'IsmpParachain';
12917
+ palletCall: {
12918
+ name: 'RemoveParachain';
12919
+ params: { paraIds: Array<number> };
12920
+ };
12921
+ }
12922
+ >
12923
+ >;
12924
+
12925
+ /**
12926
+ * Generic pallet tx call
12927
+ **/
12928
+ [callName: string]: GenericTxCall<Rv, TxCall<Rv>>;
12929
+ };
12930
+ /**
12931
+ * Pallet `TokenGateway`'s transaction calls
12932
+ **/
12933
+ tokenGateway: {
12934
+ /**
12935
+ * Teleports a registered asset
12936
+ * locks the asset and dispatches a request to token gateway on the destination
12937
+ *
12938
+ * @param {PalletTokenGatewayTeleportParams} params
12939
+ **/
12940
+ teleport: GenericTxCall<
12941
+ Rv,
12942
+ (params: PalletTokenGatewayTeleportParams) => ChainSubmittableExtrinsic<
12943
+ Rv,
12944
+ {
12945
+ pallet: 'TokenGateway';
12946
+ palletCall: {
12947
+ name: 'Teleport';
12948
+ params: { params: PalletTokenGatewayTeleportParams };
12949
+ };
12950
+ }
12951
+ >
12952
+ >;
12953
+
12954
+ /**
12955
+ * Set the token gateway address for specified chains
12956
+ *
12957
+ * @param {Array<[IsmpHostStateMachine, BytesLike]>} addresses
12958
+ **/
12959
+ setTokenGatewayAddresses: GenericTxCall<
12960
+ Rv,
12961
+ (addresses: Array<[IsmpHostStateMachine, BytesLike]>) => ChainSubmittableExtrinsic<
12962
+ Rv,
12963
+ {
12964
+ pallet: 'TokenGateway';
12965
+ palletCall: {
12966
+ name: 'SetTokenGatewayAddresses';
12967
+ params: { addresses: Array<[IsmpHostStateMachine, BytesLike]> };
12968
+ };
12969
+ }
12970
+ >
12971
+ >;
12972
+
12973
+ /**
12974
+ * Registers a multi-chain ERC6160 asset. The asset should not already exist.
12975
+ *
12976
+ * This works by dispatching a request to the TokenGateway module on each requested chain
12977
+ * to create the asset.
12978
+ * `native` should be true if this asset originates from this chain
12979
+ *
12980
+ * @param {PalletTokenGatewayAssetRegistration} asset
12981
+ **/
12982
+ createErc6160Asset: GenericTxCall<
12983
+ Rv,
12984
+ (asset: PalletTokenGatewayAssetRegistration) => ChainSubmittableExtrinsic<
12985
+ Rv,
12986
+ {
12987
+ pallet: 'TokenGateway';
12988
+ palletCall: {
12989
+ name: 'CreateErc6160Asset';
12990
+ params: { asset: PalletTokenGatewayAssetRegistration };
12991
+ };
12992
+ }
12993
+ >
12994
+ >;
12995
+
12996
+ /**
12997
+ * Registers a multi-chain ERC6160 asset. The asset should not already exist.
12998
+ *
12999
+ * This works by dispatching a request to the TokenGateway module on each requested chain
13000
+ * to create the asset.
13001
+ *
13002
+ * @param {TokenGatewayPrimitivesGatewayAssetUpdate} asset
13003
+ **/
13004
+ updateErc6160Asset: GenericTxCall<
13005
+ Rv,
13006
+ (asset: TokenGatewayPrimitivesGatewayAssetUpdate) => ChainSubmittableExtrinsic<
13007
+ Rv,
13008
+ {
13009
+ pallet: 'TokenGateway';
13010
+ palletCall: {
13011
+ name: 'UpdateErc6160Asset';
13012
+ params: { asset: TokenGatewayPrimitivesGatewayAssetUpdate };
13013
+ };
13014
+ }
13015
+ >
13016
+ >;
13017
+
13018
+ /**
13019
+ * Update the precision for an existing asset
13020
+ *
13021
+ * @param {PalletTokenGatewayPrecisionUpdate} update
13022
+ **/
13023
+ updateAssetPrecision: GenericTxCall<
13024
+ Rv,
13025
+ (update: PalletTokenGatewayPrecisionUpdate) => ChainSubmittableExtrinsic<
13026
+ Rv,
13027
+ {
13028
+ pallet: 'TokenGateway';
13029
+ palletCall: {
13030
+ name: 'UpdateAssetPrecision';
13031
+ params: { update: PalletTokenGatewayPrecisionUpdate };
13032
+ };
13033
+ }
13034
+ >
13035
+ >;
13036
+
13037
+ /**
13038
+ * Generic pallet tx call
13039
+ **/
13040
+ [callName: string]: GenericTxCall<Rv, TxCall<Rv>>;
13041
+ };
12708
13042
  /**
12709
13043
  * Pallet `EmaOracle`'s transaction calls
12710
13044
  **/