// Auto-generated via `yarn polkadot-types-from-chain`, do not edit
/* eslint-disable */

// import type lookup before we augment - in some environments
// this is required to allow for ambient/previous definitions
import '@polkadot/api-base/types/events';

import type { ApiTypes, AugmentedEvent } from '@polkadot/api-base/types';
import type { Bytes, Null, Option, Result, U8aFixed, Vec, bool, i128, u128, u32, u64, u8 } from '@polkadot/types-codec';
import type { ITuple } from '@polkadot/types-codec/types';
import type { AccountId32, H256 } from '@polkadot/types/interfaces/runtime';
import type { BitcoinAddress, BitcoinAddressPublicKey, BitcoinH256Le, ClientsInfoClientRelease, DemocracyVoteThreshold, FrameSupportDispatchDispatchInfo, FrameSupportTokensMiscBalanceStatus, InterbtcPrimitivesCurrencyId, InterbtcPrimitivesOracleKey, InterbtcPrimitivesRedeemRedeemRequestStatus, InterbtcPrimitivesVaultCurrencyPair, InterbtcPrimitivesVaultId, LoansMarket, OrmlTraitsAssetRegistryAssetMetadata, OrmlVestingVestingSchedule, PalletMultisigTimepoint, SecurityErrorCode, SecurityStatusCode, SpRuntimeDispatchError, SpWeightsWeightV2Weight, VaultRegistryVaultStatus, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetMultiAssets, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup';

export type __AugmentedEvent<ApiType extends ApiTypes> = AugmentedEvent<ApiType>;

declare module '@polkadot/api-base/types/events' {
  interface AugmentedEvents<ApiType extends ApiTypes> {
    assetRegistry: {
      RegisteredAsset: AugmentedEvent<ApiType, [assetId: u32, metadata: OrmlTraitsAssetRegistryAssetMetadata], { assetId: u32, metadata: OrmlTraitsAssetRegistryAssetMetadata }>;
      UpdatedAsset: AugmentedEvent<ApiType, [assetId: u32, metadata: OrmlTraitsAssetRegistryAssetMetadata], { assetId: u32, metadata: OrmlTraitsAssetRegistryAssetMetadata }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    btcRelay: {
      ChainReorg: AugmentedEvent<ApiType, [newChainTipHash: BitcoinH256Le, newChainTipHeight: u32, forkDepth: u32], { newChainTipHash: BitcoinH256Le, newChainTipHeight: u32, forkDepth: u32 }>;
      ForkAheadOfMainChain: AugmentedEvent<ApiType, [mainChainHeight: u32, forkHeight: u32, forkId: u32], { mainChainHeight: u32, forkHeight: u32, forkId: u32 }>;
      Initialized: AugmentedEvent<ApiType, [blockHeight: u32, blockHash: BitcoinH256Le, relayerId: AccountId32], { blockHeight: u32, blockHash: BitcoinH256Le, relayerId: AccountId32 }>;
      StoreForkHeader: AugmentedEvent<ApiType, [chainId: u32, forkHeight: u32, blockHash: BitcoinH256Le, relayerId: AccountId32], { chainId: u32, forkHeight: u32, blockHash: BitcoinH256Le, relayerId: AccountId32 }>;
      StoreMainChainHeader: AugmentedEvent<ApiType, [blockHeight: u32, blockHash: BitcoinH256Le, relayerId: AccountId32], { blockHeight: u32, blockHash: BitcoinH256Le, relayerId: AccountId32 }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    clientsInfo: {
      ApplyClientRelease: AugmentedEvent<ApiType, [release: ClientsInfoClientRelease], { release: ClientsInfoClientRelease }>;
      NotifyClientRelease: AugmentedEvent<ApiType, [release: ClientsInfoClientRelease], { release: ClientsInfoClientRelease }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    collatorSelection: {
      CandidateAdded: AugmentedEvent<ApiType, [accountId: AccountId32, deposit: u128], { accountId: AccountId32, deposit: u128 }>;
      CandidateRemoved: AugmentedEvent<ApiType, [accountId: AccountId32], { accountId: AccountId32 }>;
      NewCandidacyBond: AugmentedEvent<ApiType, [bondAmount: u128], { bondAmount: u128 }>;
      NewDesiredCandidates: AugmentedEvent<ApiType, [desiredCandidates: u32], { desiredCandidates: u32 }>;
      NewInvulnerables: AugmentedEvent<ApiType, [invulnerables: Vec<AccountId32>], { invulnerables: Vec<AccountId32> }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    cumulusXcm: {
      /**
       * Downward message executed with the given outcome.
       * \[ id, outcome \]
       **/
      ExecutedDownward: AugmentedEvent<ApiType, [U8aFixed, XcmV2TraitsOutcome]>;
      /**
       * Downward message is invalid XCM.
       * \[ id \]
       **/
      InvalidFormat: AugmentedEvent<ApiType, [U8aFixed]>;
      /**
       * Downward message is unsupported version of XCM.
       * \[ id \]
       **/
      UnsupportedVersion: AugmentedEvent<ApiType, [U8aFixed]>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    democracy: {
      /**
       * A referendum has been cancelled. \[ref_index\]
       **/
      Cancelled: AugmentedEvent<ApiType, [u32]>;
      /**
       * A proposal has been enacted. \[ref_index, result\]
       **/
      Executed: AugmentedEvent<ApiType, [u32, Result<Null, SpRuntimeDispatchError>]>;
      /**
       * A proposal has been fast tracked. \[ref_index\]
       **/
      FastTrack: AugmentedEvent<ApiType, [u32]>;
      /**
       * A referendum has been fast tracked. \[ref_index\]
       **/
      FastTrackReferendum: AugmentedEvent<ApiType, [u32]>;
      /**
       * A proposal has been rejected by referendum. \[ref_index\]
       **/
      NotPassed: AugmentedEvent<ApiType, [u32]>;
      /**
       * A proposal has been approved by referendum. \[ref_index\]
       **/
      Passed: AugmentedEvent<ApiType, [u32]>;
      /**
       * A proposal could not be executed because its preimage was invalid.
       * \[proposal_hash, ref_index\]
       **/
      PreimageInvalid: AugmentedEvent<ApiType, [H256, u32]>;
      /**
       * A proposal could not be executed because its preimage was missing.
       * \[proposal_hash, ref_index\]
       **/
      PreimageMissing: AugmentedEvent<ApiType, [H256, u32]>;
      /**
       * A proposal's preimage was noted, and the deposit taken. \[proposal_hash, who, deposit\]
       **/
      PreimageNoted: AugmentedEvent<ApiType, [H256, AccountId32, u128]>;
      /**
       * A registered preimage was removed and the deposit collected by the reaper.
       * \[proposal_hash, provider, deposit, reaper\]
       **/
      PreimageReaped: AugmentedEvent<ApiType, [H256, AccountId32, u128, AccountId32]>;
      /**
       * A proposal preimage was removed and used (the deposit was returned).
       * \[proposal_hash, provider, deposit\]
       **/
      PreimageUsed: AugmentedEvent<ApiType, [H256, AccountId32, u128]>;
      /**
       * A motion has been proposed by a public account. \[proposal_index, deposit\]
       **/
      Proposed: AugmentedEvent<ApiType, [u32, u128]>;
      /**
       * A referendum has begun. \[ref_index, threshold\]
       **/
      Started: AugmentedEvent<ApiType, [u32, DemocracyVoteThreshold]>;
      /**
       * A public proposal has been tabled for referendum vote. \[proposal_index, deposit,
       * depositors\]
       **/
      Tabled: AugmentedEvent<ApiType, [u32, u128, Vec<AccountId32>]>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    dmpQueue: {
      /**
       * Downward message executed with the given outcome.
       **/
      ExecutedDownward: AugmentedEvent<ApiType, [messageId: U8aFixed, outcome: XcmV2TraitsOutcome], { messageId: U8aFixed, outcome: XcmV2TraitsOutcome }>;
      /**
       * Downward message is invalid XCM.
       **/
      InvalidFormat: AugmentedEvent<ApiType, [messageId: U8aFixed], { messageId: U8aFixed }>;
      /**
       * Downward message is overweight and was placed in the overweight queue.
       **/
      OverweightEnqueued: AugmentedEvent<ApiType, [messageId: U8aFixed, overweightIndex: u64, requiredWeight: SpWeightsWeightV2Weight], { messageId: U8aFixed, overweightIndex: u64, requiredWeight: SpWeightsWeightV2Weight }>;
      /**
       * Downward message from the overweight queue was executed.
       **/
      OverweightServiced: AugmentedEvent<ApiType, [overweightIndex: u64, weightUsed: SpWeightsWeightV2Weight], { overweightIndex: u64, weightUsed: SpWeightsWeightV2Weight }>;
      /**
       * Downward message is unsupported version of XCM.
       **/
      UnsupportedVersion: AugmentedEvent<ApiType, [messageId: U8aFixed], { messageId: U8aFixed }>;
      /**
       * The weight limit for handling downward messages was reached.
       **/
      WeightExhausted: AugmentedEvent<ApiType, [messageId: U8aFixed, remainingWeight: SpWeightsWeightV2Weight, requiredWeight: SpWeightsWeightV2Weight], { messageId: U8aFixed, remainingWeight: SpWeightsWeightV2Weight, requiredWeight: SpWeightsWeightV2Weight }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    escrow: {
      Deposit: AugmentedEvent<ApiType, [who: AccountId32, amount: u128, unlockHeight: u32], { who: AccountId32, amount: u128, unlockHeight: u32 }>;
      Withdraw: AugmentedEvent<ApiType, [who: AccountId32, amount: u128], { who: AccountId32, amount: u128 }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    escrowAnnuity: {
      BlockReward: AugmentedEvent<ApiType, [u128]>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    escrowRewards: {
      DepositStake: AugmentedEvent<ApiType, [poolId: Null, stakeId: AccountId32, amount: i128], { poolId: Null, stakeId: AccountId32, amount: i128 }>;
      DistributeReward: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, amount: i128], { currencyId: InterbtcPrimitivesCurrencyId, amount: i128 }>;
      WithdrawReward: AugmentedEvent<ApiType, [poolId: Null, stakeId: AccountId32, currencyId: InterbtcPrimitivesCurrencyId, amount: i128], { poolId: Null, stakeId: AccountId32, currencyId: InterbtcPrimitivesCurrencyId, amount: i128 }>;
      WithdrawStake: AugmentedEvent<ApiType, [poolId: Null, stakeId: AccountId32, amount: i128], { poolId: Null, stakeId: AccountId32, amount: i128 }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    identity: {
      /**
       * A name was cleared, and the given balance returned.
       **/
      IdentityCleared: AugmentedEvent<ApiType, [who: AccountId32, deposit: u128], { who: AccountId32, deposit: u128 }>;
      /**
       * A name was removed and the given balance slashed.
       **/
      IdentityKilled: AugmentedEvent<ApiType, [who: AccountId32, deposit: u128], { who: AccountId32, deposit: u128 }>;
      /**
       * A name was set or reset (which will remove all judgements).
       **/
      IdentitySet: AugmentedEvent<ApiType, [who: AccountId32], { who: AccountId32 }>;
      /**
       * A judgement was given by a registrar.
       **/
      JudgementGiven: AugmentedEvent<ApiType, [target: AccountId32, registrarIndex: u32], { target: AccountId32, registrarIndex: u32 }>;
      /**
       * A judgement was asked from a registrar.
       **/
      JudgementRequested: AugmentedEvent<ApiType, [who: AccountId32, registrarIndex: u32], { who: AccountId32, registrarIndex: u32 }>;
      /**
       * A judgement request was retracted.
       **/
      JudgementUnrequested: AugmentedEvent<ApiType, [who: AccountId32, registrarIndex: u32], { who: AccountId32, registrarIndex: u32 }>;
      /**
       * A registrar was added.
       **/
      RegistrarAdded: AugmentedEvent<ApiType, [registrarIndex: u32], { registrarIndex: u32 }>;
      /**
       * A sub-identity was added to an identity and the deposit paid.
       **/
      SubIdentityAdded: AugmentedEvent<ApiType, [sub: AccountId32, main: AccountId32, deposit: u128], { sub: AccountId32, main: AccountId32, deposit: u128 }>;
      /**
       * A sub-identity was removed from an identity and the deposit freed.
       **/
      SubIdentityRemoved: AugmentedEvent<ApiType, [sub: AccountId32, main: AccountId32, deposit: u128], { sub: AccountId32, main: AccountId32, deposit: u128 }>;
      /**
       * A sub-identity was cleared, and the given deposit repatriated from the
       * main identity account to the sub-identity account.
       **/
      SubIdentityRevoked: AugmentedEvent<ApiType, [sub: AccountId32, main: AccountId32, deposit: u128], { sub: AccountId32, main: AccountId32, deposit: u128 }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    issue: {
      CancelIssue: AugmentedEvent<ApiType, [issueId: H256, requester: AccountId32, griefingCollateral: u128], { issueId: H256, requester: AccountId32, griefingCollateral: u128 }>;
      ExecuteIssue: AugmentedEvent<ApiType, [issueId: H256, requester: AccountId32, vaultId: InterbtcPrimitivesVaultId, amount: u128, fee: u128], { issueId: H256, requester: AccountId32, vaultId: InterbtcPrimitivesVaultId, amount: u128, fee: u128 }>;
      IssueAmountChange: AugmentedEvent<ApiType, [issueId: H256, amount: u128, fee: u128, confiscatedGriefingCollateral: u128], { issueId: H256, amount: u128, fee: u128, confiscatedGriefingCollateral: u128 }>;
      IssuePeriodChange: AugmentedEvent<ApiType, [period: u32], { period: u32 }>;
      RequestIssue: AugmentedEvent<ApiType, [issueId: H256, requester: AccountId32, amount: u128, fee: u128, griefingCollateral: u128, vaultId: InterbtcPrimitivesVaultId, vaultAddress: BitcoinAddress, vaultPublicKey: BitcoinAddressPublicKey], { issueId: H256, requester: AccountId32, amount: u128, fee: u128, griefingCollateral: u128, vaultId: InterbtcPrimitivesVaultId, vaultAddress: BitcoinAddress, vaultPublicKey: BitcoinAddressPublicKey }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    loans: {
      /**
       * Event emitted when a market is activated
       * [admin, asset_id]
       **/
      ActivatedMarket: AugmentedEvent<ApiType, [InterbtcPrimitivesCurrencyId]>;
      /**
       * Event emitted when cash is borrowed
       * [sender, asset_id, amount]
       **/
      Borrowed: AugmentedEvent<ApiType, [AccountId32, InterbtcPrimitivesCurrencyId, u128]>;
      /**
       * Enable collateral for certain asset
       * [sender, asset_id]
       **/
      DepositCollateral: AugmentedEvent<ApiType, [AccountId32, InterbtcPrimitivesCurrencyId, u128]>;
      /**
       * Event emitted when assets are deposited
       * [sender, asset_id, amount]
       **/
      Deposited: AugmentedEvent<ApiType, [AccountId32, InterbtcPrimitivesCurrencyId, u128]>;
      /**
       * Deposited when Reward is distributed to a borrower
       **/
      DistributedBorrowerReward: AugmentedEvent<ApiType, [InterbtcPrimitivesCurrencyId, AccountId32, u128, u128]>;
      /**
       * Deposited when Reward is distributed to a supplier
       **/
      DistributedSupplierReward: AugmentedEvent<ApiType, [InterbtcPrimitivesCurrencyId, AccountId32, u128, u128]>;
      /**
       * Event emitted when the incentive reserves are redeemed and transfer to receiver's account
       * [receive_account_id, asset_id, reduced_amount]
       **/
      IncentiveReservesReduced: AugmentedEvent<ApiType, [AccountId32, InterbtcPrimitivesCurrencyId, u128]>;
      /**
       * Event emitted when a borrow is liquidated
       * [liquidator, borrower, liquidation_asset_id, collateral_asset_id, repay_amount, collateral_amount]
       **/
      LiquidatedBorrow: AugmentedEvent<ApiType, [AccountId32, AccountId32, InterbtcPrimitivesCurrencyId, InterbtcPrimitivesCurrencyId, u128, u128]>;
      /**
       * Event emitted when market reward speed updated.
       **/
      MarketRewardSpeedUpdated: AugmentedEvent<ApiType, [InterbtcPrimitivesCurrencyId, u128, u128]>;
      /**
       * New market is set
       * [new_interest_rate_model]
       **/
      NewMarket: AugmentedEvent<ApiType, [InterbtcPrimitivesCurrencyId, LoansMarket]>;
      /**
       * Event emitted when assets are redeemed
       * [sender, asset_id, amount]
       **/
      Redeemed: AugmentedEvent<ApiType, [AccountId32, InterbtcPrimitivesCurrencyId, u128]>;
      /**
       * Event emitted when a borrow is repaid
       * [sender, asset_id, amount]
       **/
      RepaidBorrow: AugmentedEvent<ApiType, [AccountId32, InterbtcPrimitivesCurrencyId, u128]>;
      /**
       * Event emitted when the reserves are added
       * [admin, asset_id, added_amount, total_reserves]
       **/
      ReservesAdded: AugmentedEvent<ApiType, [AccountId32, InterbtcPrimitivesCurrencyId, u128, u128]>;
      /**
       * Event emitted when the reserves are reduced
       * [admin, asset_id, reduced_amount, total_reserves]
       **/
      ReservesReduced: AugmentedEvent<ApiType, [AccountId32, InterbtcPrimitivesCurrencyId, u128, u128]>;
      /**
       * Reward added
       **/
      RewardAdded: AugmentedEvent<ApiType, [AccountId32, u128]>;
      /**
       * Reward Paid for user
       **/
      RewardPaid: AugmentedEvent<ApiType, [AccountId32, u128]>;
      /**
       * Reward withdrawed
       **/
      RewardWithdrawn: AugmentedEvent<ApiType, [AccountId32, u128]>;
      /**
       * New market parameters is updated
       * [admin, asset_id]
       **/
      UpdatedMarket: AugmentedEvent<ApiType, [InterbtcPrimitivesCurrencyId, LoansMarket]>;
      /**
       * Disable collateral for certain asset
       * [sender, asset_id]
       **/
      WithdrawCollateral: AugmentedEvent<ApiType, [AccountId32, InterbtcPrimitivesCurrencyId, u128]>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    multisig: {
      /**
       * A multisig operation has been approved by someone.
       **/
      MultisigApproval: AugmentedEvent<ApiType, [approving: AccountId32, timepoint: PalletMultisigTimepoint, multisig: AccountId32, callHash: U8aFixed], { approving: AccountId32, timepoint: PalletMultisigTimepoint, multisig: AccountId32, callHash: U8aFixed }>;
      /**
       * A multisig operation has been cancelled.
       **/
      MultisigCancelled: AugmentedEvent<ApiType, [cancelling: AccountId32, timepoint: PalletMultisigTimepoint, multisig: AccountId32, callHash: U8aFixed], { cancelling: AccountId32, timepoint: PalletMultisigTimepoint, multisig: AccountId32, callHash: U8aFixed }>;
      /**
       * A multisig operation has been executed.
       **/
      MultisigExecuted: AugmentedEvent<ApiType, [approving: AccountId32, timepoint: PalletMultisigTimepoint, multisig: AccountId32, callHash: U8aFixed, result: Result<Null, SpRuntimeDispatchError>], { approving: AccountId32, timepoint: PalletMultisigTimepoint, multisig: AccountId32, callHash: U8aFixed, result: Result<Null, SpRuntimeDispatchError> }>;
      /**
       * A new multisig operation has begun.
       **/
      NewMultisig: AugmentedEvent<ApiType, [approving: AccountId32, multisig: AccountId32, callHash: U8aFixed], { approving: AccountId32, multisig: AccountId32, callHash: U8aFixed }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    nomination: {
      DepositCollateral: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, nominatorId: AccountId32, amount: u128], { vaultId: InterbtcPrimitivesVaultId, nominatorId: AccountId32, amount: u128 }>;
      NominationOptIn: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId], { vaultId: InterbtcPrimitivesVaultId }>;
      NominationOptOut: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId], { vaultId: InterbtcPrimitivesVaultId }>;
      WithdrawCollateral: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, nominatorId: AccountId32, amount: u128], { vaultId: InterbtcPrimitivesVaultId, nominatorId: AccountId32, amount: u128 }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    oracle: {
      AggregateUpdated: AugmentedEvent<ApiType, [values: Vec<ITuple<[InterbtcPrimitivesOracleKey, Option<u128>]>>], { values: Vec<ITuple<[InterbtcPrimitivesOracleKey, Option<u128>]>> }>;
      /**
       * Event emitted when exchange rate is set
       **/
      FeedValues: AugmentedEvent<ApiType, [oracleId: AccountId32, values: Vec<ITuple<[InterbtcPrimitivesOracleKey, u128]>>], { oracleId: AccountId32, values: Vec<ITuple<[InterbtcPrimitivesOracleKey, u128]>> }>;
      OracleAdded: AugmentedEvent<ApiType, [oracleId: AccountId32, name: Bytes], { oracleId: AccountId32, name: Bytes }>;
      OracleRemoved: AugmentedEvent<ApiType, [oracleId: AccountId32], { oracleId: AccountId32 }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    parachainSystem: {
      /**
       * Downward messages were processed using the given weight.
       **/
      DownwardMessagesProcessed: AugmentedEvent<ApiType, [weightUsed: SpWeightsWeightV2Weight, dmqHead: H256], { weightUsed: SpWeightsWeightV2Weight, dmqHead: H256 }>;
      /**
       * Some downward messages have been received and will be processed.
       **/
      DownwardMessagesReceived: AugmentedEvent<ApiType, [count: u32], { count: u32 }>;
      /**
       * An upgrade has been authorized.
       **/
      UpgradeAuthorized: AugmentedEvent<ApiType, [codeHash: H256], { codeHash: H256 }>;
      /**
       * The validation function was applied as of the contained relay chain block number.
       **/
      ValidationFunctionApplied: AugmentedEvent<ApiType, [relayChainBlockNum: u32], { relayChainBlockNum: u32 }>;
      /**
       * The relay-chain aborted the upgrade process.
       **/
      ValidationFunctionDiscarded: AugmentedEvent<ApiType, []>;
      /**
       * The validation function has been scheduled to apply.
       **/
      ValidationFunctionStored: AugmentedEvent<ApiType, []>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    polkadotXcm: {
      /**
       * Some assets have been claimed from an asset trap
       * 
       * \[ hash, origin, assets \]
       **/
      AssetsClaimed: AugmentedEvent<ApiType, [H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;
      /**
       * Some assets have been placed in an asset trap.
       * 
       * \[ hash, origin, assets \]
       **/
      AssetsTrapped: AugmentedEvent<ApiType, [H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;
      /**
       * Execution of an XCM message was attempted.
       * 
       * \[ outcome \]
       **/
      Attempted: AugmentedEvent<ApiType, [XcmV2TraitsOutcome]>;
      /**
       * Expected query response has been received but the origin location of the response does
       * not match that expected. The query remains registered for a later, valid, response to
       * be received and acted upon.
       * 
       * \[ origin location, id, expected location \]
       **/
      InvalidResponder: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64, Option<XcmV1MultiLocation>]>;
      /**
       * Expected query response has been received but the expected origin location placed in
       * storage by this runtime previously cannot be decoded. The query remains registered.
       * 
       * This is unexpected (since a location placed in storage in a previously executing
       * runtime should be readable prior to query timeout) and dangerous since the possibly
       * valid response will be dropped. Manual governance intervention is probably going to be
       * needed.
       * 
       * \[ origin location, id \]
       **/
      InvalidResponderVersion: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64]>;
      /**
       * Query response has been received and query is removed. The registered notification has
       * been dispatched and executed successfully.
       * 
       * \[ id, pallet index, call index \]
       **/
      Notified: AugmentedEvent<ApiType, [u64, u8, u8]>;
      /**
       * Query response has been received and query is removed. The dispatch was unable to be
       * decoded into a `Call`; this might be due to dispatch function having a signature which
       * is not `(origin, QueryId, Response)`.
       * 
       * \[ id, pallet index, call index \]
       **/
      NotifyDecodeFailed: AugmentedEvent<ApiType, [u64, u8, u8]>;
      /**
       * Query response has been received and query is removed. There was a general error with
       * dispatching the notification call.
       * 
       * \[ id, pallet index, call index \]
       **/
      NotifyDispatchError: AugmentedEvent<ApiType, [u64, u8, u8]>;
      /**
       * Query response has been received and query is removed. The registered notification could
       * not be dispatched because the dispatch weight is greater than the maximum weight
       * originally budgeted by this runtime for the query result.
       * 
       * \[ id, pallet index, call index, actual weight, max budgeted weight \]
       **/
      NotifyOverweight: AugmentedEvent<ApiType, [u64, u8, u8, SpWeightsWeightV2Weight, SpWeightsWeightV2Weight]>;
      /**
       * A given location which had a version change subscription was dropped owing to an error
       * migrating the location to our new XCM format.
       * 
       * \[ location, query ID \]
       **/
      NotifyTargetMigrationFail: AugmentedEvent<ApiType, [XcmVersionedMultiLocation, u64]>;
      /**
       * A given location which had a version change subscription was dropped owing to an error
       * sending the notification to it.
       * 
       * \[ location, query ID, error \]
       **/
      NotifyTargetSendFail: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64, XcmV2TraitsError]>;
      /**
       * Query response has been received and is ready for taking with `take_response`. There is
       * no registered notification call.
       * 
       * \[ id, response \]
       **/
      ResponseReady: AugmentedEvent<ApiType, [u64, XcmV2Response]>;
      /**
       * Received query response has been read and removed.
       * 
       * \[ id \]
       **/
      ResponseTaken: AugmentedEvent<ApiType, [u64]>;
      /**
       * A XCM message was sent.
       * 
       * \[ origin, destination, message \]
       **/
      Sent: AugmentedEvent<ApiType, [XcmV1MultiLocation, XcmV1MultiLocation, XcmV2Xcm]>;
      /**
       * The supported version of a location has been changed. This might be through an
       * automatic notification or a manual intervention.
       * 
       * \[ location, XCM version \]
       **/
      SupportedVersionChanged: AugmentedEvent<ApiType, [XcmV1MultiLocation, u32]>;
      /**
       * Query response received which does not match a registered query. This may be because a
       * matching query was never registered, it may be because it is a duplicate response, or
       * because the query timed out.
       * 
       * \[ origin location, id \]
       **/
      UnexpectedResponse: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64]>;
      /**
       * An XCM version change notification message has been attempted to be sent.
       * 
       * \[ destination, result \]
       **/
      VersionChangeNotified: AugmentedEvent<ApiType, [XcmV1MultiLocation, u32]>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    preimage: {
      /**
       * A preimage has ben cleared.
       **/
      Cleared: AugmentedEvent<ApiType, [hash_: H256], { hash_: H256 }>;
      /**
       * A preimage has been noted.
       **/
      Noted: AugmentedEvent<ApiType, [hash_: H256], { hash_: H256 }>;
      /**
       * A preimage has been requested.
       **/
      Requested: AugmentedEvent<ApiType, [hash_: H256], { hash_: H256 }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    redeem: {
      CancelRedeem: AugmentedEvent<ApiType, [redeemId: H256, redeemer: AccountId32, vaultId: InterbtcPrimitivesVaultId, slashedAmount: u128, status: InterbtcPrimitivesRedeemRedeemRequestStatus], { redeemId: H256, redeemer: AccountId32, vaultId: InterbtcPrimitivesVaultId, slashedAmount: u128, status: InterbtcPrimitivesRedeemRedeemRequestStatus }>;
      ExecuteRedeem: AugmentedEvent<ApiType, [redeemId: H256, redeemer: AccountId32, vaultId: InterbtcPrimitivesVaultId, amount: u128, fee: u128, transferFee: u128], { redeemId: H256, redeemer: AccountId32, vaultId: InterbtcPrimitivesVaultId, amount: u128, fee: u128, transferFee: u128 }>;
      LiquidationRedeem: AugmentedEvent<ApiType, [redeemer: AccountId32, amount: u128], { redeemer: AccountId32, amount: u128 }>;
      MintTokensForReimbursedRedeem: AugmentedEvent<ApiType, [redeemId: H256, vaultId: InterbtcPrimitivesVaultId, amount: u128], { redeemId: H256, vaultId: InterbtcPrimitivesVaultId, amount: u128 }>;
      RedeemPeriodChange: AugmentedEvent<ApiType, [period: u32], { period: u32 }>;
      RequestRedeem: AugmentedEvent<ApiType, [redeemId: H256, redeemer: AccountId32, vaultId: InterbtcPrimitivesVaultId, amount: u128, fee: u128, premium: u128, btcAddress: BitcoinAddress, transferFee: u128], { redeemId: H256, redeemer: AccountId32, vaultId: InterbtcPrimitivesVaultId, amount: u128, fee: u128, premium: u128, btcAddress: BitcoinAddress, transferFee: u128 }>;
      SelfRedeem: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, amount: u128, fee: u128], { vaultId: InterbtcPrimitivesVaultId, amount: u128, fee: u128 }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    replace: {
      AcceptReplace: AugmentedEvent<ApiType, [replaceId: H256, oldVaultId: InterbtcPrimitivesVaultId, newVaultId: InterbtcPrimitivesVaultId, amount: u128, collateral: u128, btcAddress: BitcoinAddress], { replaceId: H256, oldVaultId: InterbtcPrimitivesVaultId, newVaultId: InterbtcPrimitivesVaultId, amount: u128, collateral: u128, btcAddress: BitcoinAddress }>;
      CancelReplace: AugmentedEvent<ApiType, [replaceId: H256, newVaultId: InterbtcPrimitivesVaultId, oldVaultId: InterbtcPrimitivesVaultId, griefingCollateral: u128], { replaceId: H256, newVaultId: InterbtcPrimitivesVaultId, oldVaultId: InterbtcPrimitivesVaultId, griefingCollateral: u128 }>;
      ExecuteReplace: AugmentedEvent<ApiType, [replaceId: H256, oldVaultId: InterbtcPrimitivesVaultId, newVaultId: InterbtcPrimitivesVaultId], { replaceId: H256, oldVaultId: InterbtcPrimitivesVaultId, newVaultId: InterbtcPrimitivesVaultId }>;
      ReplacePeriodChange: AugmentedEvent<ApiType, [period: u32], { period: u32 }>;
      RequestReplace: AugmentedEvent<ApiType, [oldVaultId: InterbtcPrimitivesVaultId, amount: u128, griefingCollateral: u128], { oldVaultId: InterbtcPrimitivesVaultId, amount: u128, griefingCollateral: u128 }>;
      WithdrawReplace: AugmentedEvent<ApiType, [oldVaultId: InterbtcPrimitivesVaultId, withdrawnTokens: u128, withdrawnGriefingCollateral: u128], { oldVaultId: InterbtcPrimitivesVaultId, withdrawnTokens: u128, withdrawnGriefingCollateral: u128 }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    scheduler: {
      /**
       * The call for the provided hash was not found so the task has been aborted.
       **/
      CallUnavailable: AugmentedEvent<ApiType, [task: ITuple<[u32, u32]>, id: Option<U8aFixed>], { task: ITuple<[u32, u32]>, id: Option<U8aFixed> }>;
      /**
       * Canceled some task.
       **/
      Canceled: AugmentedEvent<ApiType, [when: u32, index: u32], { when: u32, index: u32 }>;
      /**
       * Dispatched some task.
       **/
      Dispatched: AugmentedEvent<ApiType, [task: ITuple<[u32, u32]>, id: Option<U8aFixed>, result: Result<Null, SpRuntimeDispatchError>], { task: ITuple<[u32, u32]>, id: Option<U8aFixed>, result: Result<Null, SpRuntimeDispatchError> }>;
      /**
       * The given task was unable to be renewed since the agenda is full at that block.
       **/
      PeriodicFailed: AugmentedEvent<ApiType, [task: ITuple<[u32, u32]>, id: Option<U8aFixed>], { task: ITuple<[u32, u32]>, id: Option<U8aFixed> }>;
      /**
       * The given task can never be executed since it is overweight.
       **/
      PermanentlyOverweight: AugmentedEvent<ApiType, [task: ITuple<[u32, u32]>, id: Option<U8aFixed>], { task: ITuple<[u32, u32]>, id: Option<U8aFixed> }>;
      /**
       * Scheduled some task.
       **/
      Scheduled: AugmentedEvent<ApiType, [when: u32, index: u32], { when: u32, index: u32 }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    security: {
      RecoverFromErrors: AugmentedEvent<ApiType, [newStatus: SecurityStatusCode, clearedErrors: Vec<SecurityErrorCode>], { newStatus: SecurityStatusCode, clearedErrors: Vec<SecurityErrorCode> }>;
      UpdateActiveBlock: AugmentedEvent<ApiType, [blockNumber: u32], { blockNumber: u32 }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    session: {
      /**
       * New session has happened. Note that the argument is the session index, not the
       * block number as the type might suggest.
       **/
      NewSession: AugmentedEvent<ApiType, [sessionIndex: u32], { sessionIndex: u32 }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    sudo: {
      /**
       * The \[sudoer\] just switched identity; the old key is supplied if one existed.
       **/
      KeyChanged: AugmentedEvent<ApiType, [oldSudoer: Option<AccountId32>], { oldSudoer: Option<AccountId32> }>;
      /**
       * A sudo just took place. \[result\]
       **/
      Sudid: AugmentedEvent<ApiType, [sudoResult: Result<Null, SpRuntimeDispatchError>], { sudoResult: Result<Null, SpRuntimeDispatchError> }>;
      /**
       * A sudo just took place. \[result\]
       **/
      SudoAsDone: AugmentedEvent<ApiType, [sudoResult: Result<Null, SpRuntimeDispatchError>], { sudoResult: Result<Null, SpRuntimeDispatchError> }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    supply: {
      Inflation: AugmentedEvent<ApiType, [totalInflation: u128], { totalInflation: u128 }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    system: {
      /**
       * `:code` was updated.
       **/
      CodeUpdated: AugmentedEvent<ApiType, []>;
      /**
       * An extrinsic failed.
       **/
      ExtrinsicFailed: AugmentedEvent<ApiType, [dispatchError: SpRuntimeDispatchError, dispatchInfo: FrameSupportDispatchDispatchInfo], { dispatchError: SpRuntimeDispatchError, dispatchInfo: FrameSupportDispatchDispatchInfo }>;
      /**
       * An extrinsic completed successfully.
       **/
      ExtrinsicSuccess: AugmentedEvent<ApiType, [dispatchInfo: FrameSupportDispatchDispatchInfo], { dispatchInfo: FrameSupportDispatchDispatchInfo }>;
      /**
       * An account was reaped.
       **/
      KilledAccount: AugmentedEvent<ApiType, [account: AccountId32], { account: AccountId32 }>;
      /**
       * A new account was created.
       **/
      NewAccount: AugmentedEvent<ApiType, [account: AccountId32], { account: AccountId32 }>;
      /**
       * On on-chain remark happened.
       **/
      Remarked: AugmentedEvent<ApiType, [sender: AccountId32, hash_: H256], { sender: AccountId32, hash_: H256 }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    technicalCommittee: {
      /**
       * A motion was approved by the required threshold.
       **/
      Approved: AugmentedEvent<ApiType, [proposalHash: H256], { proposalHash: H256 }>;
      /**
       * A proposal was closed because its threshold was reached or after its duration was up.
       **/
      Closed: AugmentedEvent<ApiType, [proposalHash: H256, yes: u32, no: u32], { proposalHash: H256, yes: u32, no: u32 }>;
      /**
       * A motion was not approved by the required threshold.
       **/
      Disapproved: AugmentedEvent<ApiType, [proposalHash: H256], { proposalHash: H256 }>;
      /**
       * A motion was executed; result will be `Ok` if it returned without error.
       **/
      Executed: AugmentedEvent<ApiType, [proposalHash: H256, result: Result<Null, SpRuntimeDispatchError>], { proposalHash: H256, result: Result<Null, SpRuntimeDispatchError> }>;
      /**
       * A single member did some action; result will be `Ok` if it returned without error.
       **/
      MemberExecuted: AugmentedEvent<ApiType, [proposalHash: H256, result: Result<Null, SpRuntimeDispatchError>], { proposalHash: H256, result: Result<Null, SpRuntimeDispatchError> }>;
      /**
       * A motion (given hash) has been proposed (by given account) with a threshold (given
       * `MemberCount`).
       **/
      Proposed: AugmentedEvent<ApiType, [account: AccountId32, proposalIndex: u32, proposalHash: H256, threshold: u32], { account: AccountId32, proposalIndex: u32, proposalHash: H256, threshold: u32 }>;
      /**
       * A motion (given hash) has been voted on by given account, leaving
       * a tally (yes votes and no votes given respectively as `MemberCount`).
       **/
      Voted: AugmentedEvent<ApiType, [account: AccountId32, proposalHash: H256, voted: bool, yes: u32, no: u32], { account: AccountId32, proposalHash: H256, voted: bool, yes: u32, no: u32 }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    technicalMembership: {
      /**
       * Phantom member, never used.
       **/
      Dummy: AugmentedEvent<ApiType, []>;
      /**
       * One of the members' keys changed.
       **/
      KeyChanged: AugmentedEvent<ApiType, []>;
      /**
       * The given member was added; see the transaction for who.
       **/
      MemberAdded: AugmentedEvent<ApiType, []>;
      /**
       * The given member was removed; see the transaction for who.
       **/
      MemberRemoved: AugmentedEvent<ApiType, []>;
      /**
       * The membership was reset; see the transaction for who the new set is.
       **/
      MembersReset: AugmentedEvent<ApiType, []>;
      /**
       * Two members were swapped; see the transaction for who.
       **/
      MembersSwapped: AugmentedEvent<ApiType, []>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    tokens: {
      /**
       * A balance was set by root.
       **/
      BalanceSet: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, free: u128, reserved: u128], { currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, free: u128, reserved: u128 }>;
      /**
       * Deposited some balance into an account
       **/
      Deposited: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, amount: u128], { currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, amount: u128 }>;
      /**
       * An account was removed whose balance was non-zero but below
       * ExistentialDeposit, resulting in an outright loss.
       **/
      DustLost: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, amount: u128], { currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, amount: u128 }>;
      /**
       * An account was created with some free balance.
       **/
      Endowed: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, amount: u128], { currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, amount: u128 }>;
      /**
       * Some locked funds were unlocked
       **/
      LockRemoved: AugmentedEvent<ApiType, [lockId: U8aFixed, currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32], { lockId: U8aFixed, currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32 }>;
      /**
       * Some funds are locked
       **/
      LockSet: AugmentedEvent<ApiType, [lockId: U8aFixed, currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, amount: u128], { lockId: U8aFixed, currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, amount: u128 }>;
      /**
       * Some balance was reserved (moved from free to reserved).
       **/
      Reserved: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, amount: u128], { currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, amount: u128 }>;
      /**
       * Some reserved balance was repatriated (moved from reserved to
       * another account).
       **/
      ReserveRepatriated: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, from: AccountId32, to: AccountId32, amount: u128, status: FrameSupportTokensMiscBalanceStatus], { currencyId: InterbtcPrimitivesCurrencyId, from: AccountId32, to: AccountId32, amount: u128, status: FrameSupportTokensMiscBalanceStatus }>;
      /**
       * Some balances were slashed (e.g. due to mis-behavior)
       **/
      Slashed: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, freeAmount: u128, reservedAmount: u128], { currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, freeAmount: u128, reservedAmount: u128 }>;
      /**
       * The total issuance of an currency has been set
       **/
      TotalIssuanceSet: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, amount: u128], { currencyId: InterbtcPrimitivesCurrencyId, amount: u128 }>;
      /**
       * Transfer succeeded.
       **/
      Transfer: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, from: AccountId32, to: AccountId32, amount: u128], { currencyId: InterbtcPrimitivesCurrencyId, from: AccountId32, to: AccountId32, amount: u128 }>;
      /**
       * Some balance was unreserved (moved from reserved to free).
       **/
      Unreserved: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, amount: u128], { currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, amount: u128 }>;
      /**
       * Some balances were withdrawn (e.g. pay for transaction fee)
       **/
      Withdrawn: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, amount: u128], { currencyId: InterbtcPrimitivesCurrencyId, who: AccountId32, amount: u128 }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    transactionPayment: {
      /**
       * A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,
       * has been paid by `who`.
       **/
      TransactionFeePaid: AugmentedEvent<ApiType, [who: AccountId32, actualFee: u128, tip: u128], { who: AccountId32, actualFee: u128, tip: u128 }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    treasury: {
      /**
       * Some funds have been allocated.
       **/
      Awarded: AugmentedEvent<ApiType, [proposalIndex: u32, award: u128, account: AccountId32], { proposalIndex: u32, award: u128, account: AccountId32 }>;
      /**
       * Some of our funds have been burnt.
       **/
      Burnt: AugmentedEvent<ApiType, [burntFunds: u128], { burntFunds: u128 }>;
      /**
       * Some funds have been deposited.
       **/
      Deposit: AugmentedEvent<ApiType, [value: u128], { value: u128 }>;
      /**
       * New proposal.
       **/
      Proposed: AugmentedEvent<ApiType, [proposalIndex: u32], { proposalIndex: u32 }>;
      /**
       * A proposal was rejected; funds were slashed.
       **/
      Rejected: AugmentedEvent<ApiType, [proposalIndex: u32, slashed: u128], { proposalIndex: u32, slashed: u128 }>;
      /**
       * Spending has finished; this is the amount that rolls over until next spend.
       **/
      Rollover: AugmentedEvent<ApiType, [rolloverBalance: u128], { rolloverBalance: u128 }>;
      /**
       * A new spend proposal has been approved.
       **/
      SpendApproved: AugmentedEvent<ApiType, [proposalIndex: u32, amount: u128, beneficiary: AccountId32], { proposalIndex: u32, amount: u128, beneficiary: AccountId32 }>;
      /**
       * We have ended a spend period and will now allocate funds.
       **/
      Spending: AugmentedEvent<ApiType, [budgetRemaining: u128], { budgetRemaining: u128 }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    unknownTokens: {
      /**
       * Deposit success.
       **/
      Deposited: AugmentedEvent<ApiType, [asset: XcmV1MultiAsset, who: XcmV1MultiLocation], { asset: XcmV1MultiAsset, who: XcmV1MultiLocation }>;
      /**
       * Withdraw success.
       **/
      Withdrawn: AugmentedEvent<ApiType, [asset: XcmV1MultiAsset, who: XcmV1MultiLocation], { asset: XcmV1MultiAsset, who: XcmV1MultiLocation }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    utility: {
      /**
       * Batch of dispatches completed fully with no error.
       **/
      BatchCompleted: AugmentedEvent<ApiType, []>;
      /**
       * Batch of dispatches completed but has errors.
       **/
      BatchCompletedWithErrors: AugmentedEvent<ApiType, []>;
      /**
       * Batch of dispatches did not complete fully. Index of first failing dispatch given, as
       * well as the error.
       **/
      BatchInterrupted: AugmentedEvent<ApiType, [index: u32, error: SpRuntimeDispatchError], { index: u32, error: SpRuntimeDispatchError }>;
      /**
       * A call was dispatched.
       **/
      DispatchedAs: AugmentedEvent<ApiType, [result: Result<Null, SpRuntimeDispatchError>], { result: Result<Null, SpRuntimeDispatchError> }>;
      /**
       * A single item within a Batch of dispatches has completed with no error.
       **/
      ItemCompleted: AugmentedEvent<ApiType, []>;
      /**
       * A single item within a Batch of dispatches has completed with error.
       **/
      ItemFailed: AugmentedEvent<ApiType, [error: SpRuntimeDispatchError], { error: SpRuntimeDispatchError }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    vaultAnnuity: {
      BlockReward: AugmentedEvent<ApiType, [u128]>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    vaultCapacity: {
      DepositStake: AugmentedEvent<ApiType, [poolId: Null, stakeId: InterbtcPrimitivesCurrencyId, amount: i128], { poolId: Null, stakeId: InterbtcPrimitivesCurrencyId, amount: i128 }>;
      DistributeReward: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, amount: i128], { currencyId: InterbtcPrimitivesCurrencyId, amount: i128 }>;
      WithdrawReward: AugmentedEvent<ApiType, [poolId: Null, stakeId: InterbtcPrimitivesCurrencyId, currencyId: InterbtcPrimitivesCurrencyId, amount: i128], { poolId: Null, stakeId: InterbtcPrimitivesCurrencyId, currencyId: InterbtcPrimitivesCurrencyId, amount: i128 }>;
      WithdrawStake: AugmentedEvent<ApiType, [poolId: Null, stakeId: InterbtcPrimitivesCurrencyId, amount: i128], { poolId: Null, stakeId: InterbtcPrimitivesCurrencyId, amount: i128 }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    vaultRegistry: {
      BanVault: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, bannedUntil: u32], { vaultId: InterbtcPrimitivesVaultId, bannedUntil: u32 }>;
      DecreaseLockedCollateral: AugmentedEvent<ApiType, [currencyPair: InterbtcPrimitivesVaultCurrencyPair, delta: u128, total: u128], { currencyPair: InterbtcPrimitivesVaultCurrencyPair, delta: u128, total: u128 }>;
      DecreaseToBeIssuedTokens: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, decrease: u128], { vaultId: InterbtcPrimitivesVaultId, decrease: u128 }>;
      DecreaseToBeRedeemedTokens: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, decrease: u128], { vaultId: InterbtcPrimitivesVaultId, decrease: u128 }>;
      DecreaseToBeReplacedTokens: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, decrease: u128], { vaultId: InterbtcPrimitivesVaultId, decrease: u128 }>;
      DecreaseTokens: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, userId: AccountId32, decrease: u128], { vaultId: InterbtcPrimitivesVaultId, userId: AccountId32, decrease: u128 }>;
      DepositCollateral: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, newCollateral: u128, totalCollateral: u128, freeCollateral: u128], { vaultId: InterbtcPrimitivesVaultId, newCollateral: u128, totalCollateral: u128, freeCollateral: u128 }>;
      IncreaseLockedCollateral: AugmentedEvent<ApiType, [currencyPair: InterbtcPrimitivesVaultCurrencyPair, delta: u128, total: u128], { currencyPair: InterbtcPrimitivesVaultCurrencyPair, delta: u128, total: u128 }>;
      IncreaseToBeIssuedTokens: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, increase: u128], { vaultId: InterbtcPrimitivesVaultId, increase: u128 }>;
      IncreaseToBeRedeemedTokens: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, increase: u128], { vaultId: InterbtcPrimitivesVaultId, increase: u128 }>;
      IncreaseToBeReplacedTokens: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, increase: u128], { vaultId: InterbtcPrimitivesVaultId, increase: u128 }>;
      IssueTokens: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, increase: u128], { vaultId: InterbtcPrimitivesVaultId, increase: u128 }>;
      LiquidateVault: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, issuedTokens: u128, toBeIssuedTokens: u128, toBeRedeemedTokens: u128, toBeReplacedTokens: u128, backingCollateral: u128, status: VaultRegistryVaultStatus, replaceCollateral: u128], { vaultId: InterbtcPrimitivesVaultId, issuedTokens: u128, toBeIssuedTokens: u128, toBeRedeemedTokens: u128, toBeReplacedTokens: u128, backingCollateral: u128, status: VaultRegistryVaultStatus, replaceCollateral: u128 }>;
      RedeemTokens: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, redeemedAmount: u128], { vaultId: InterbtcPrimitivesVaultId, redeemedAmount: u128 }>;
      RedeemTokensLiquidatedVault: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, tokens: u128, collateral: u128], { vaultId: InterbtcPrimitivesVaultId, tokens: u128, collateral: u128 }>;
      RedeemTokensLiquidation: AugmentedEvent<ApiType, [redeemerId: AccountId32, burnedTokens: u128, transferredCollateral: u128], { redeemerId: AccountId32, burnedTokens: u128, transferredCollateral: u128 }>;
      RedeemTokensPremium: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, redeemedAmount: u128, collateral: u128, userId: AccountId32], { vaultId: InterbtcPrimitivesVaultId, redeemedAmount: u128, collateral: u128, userId: AccountId32 }>;
      RegisterAddress: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, address: BitcoinAddress], { vaultId: InterbtcPrimitivesVaultId, address: BitcoinAddress }>;
      RegisterVault: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, collateral: u128], { vaultId: InterbtcPrimitivesVaultId, collateral: u128 }>;
      ReplaceTokens: AugmentedEvent<ApiType, [oldVaultId: InterbtcPrimitivesVaultId, newVaultId: InterbtcPrimitivesVaultId, amount: u128, additionalCollateral: u128], { oldVaultId: InterbtcPrimitivesVaultId, newVaultId: InterbtcPrimitivesVaultId, amount: u128, additionalCollateral: u128 }>;
      UpdatePublicKey: AugmentedEvent<ApiType, [accountId: AccountId32, publicKey: BitcoinAddressPublicKey], { accountId: AccountId32, publicKey: BitcoinAddressPublicKey }>;
      WithdrawCollateral: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, withdrawnAmount: u128, totalCollateral: u128], { vaultId: InterbtcPrimitivesVaultId, withdrawnAmount: u128, totalCollateral: u128 }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    vaultRewards: {
      DepositStake: AugmentedEvent<ApiType, [poolId: InterbtcPrimitivesCurrencyId, stakeId: InterbtcPrimitivesVaultId, amount: i128], { poolId: InterbtcPrimitivesCurrencyId, stakeId: InterbtcPrimitivesVaultId, amount: i128 }>;
      DistributeReward: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, amount: i128], { currencyId: InterbtcPrimitivesCurrencyId, amount: i128 }>;
      WithdrawReward: AugmentedEvent<ApiType, [poolId: InterbtcPrimitivesCurrencyId, stakeId: InterbtcPrimitivesVaultId, currencyId: InterbtcPrimitivesCurrencyId, amount: i128], { poolId: InterbtcPrimitivesCurrencyId, stakeId: InterbtcPrimitivesVaultId, currencyId: InterbtcPrimitivesCurrencyId, amount: i128 }>;
      WithdrawStake: AugmentedEvent<ApiType, [poolId: InterbtcPrimitivesCurrencyId, stakeId: InterbtcPrimitivesVaultId, amount: i128], { poolId: InterbtcPrimitivesCurrencyId, stakeId: InterbtcPrimitivesVaultId, amount: i128 }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    vaultStaking: {
      DepositStake: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, nominatorId: AccountId32, amount: i128], { vaultId: InterbtcPrimitivesVaultId, nominatorId: AccountId32, amount: i128 }>;
      DistributeReward: AugmentedEvent<ApiType, [currencyId: InterbtcPrimitivesCurrencyId, vaultId: InterbtcPrimitivesVaultId, amount: i128], { currencyId: InterbtcPrimitivesCurrencyId, vaultId: InterbtcPrimitivesVaultId, amount: i128 }>;
      ForceRefund: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId], { vaultId: InterbtcPrimitivesVaultId }>;
      IncreaseNonce: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, newNonce: u32], { vaultId: InterbtcPrimitivesVaultId, newNonce: u32 }>;
      WithdrawReward: AugmentedEvent<ApiType, [nonce: u32, currencyId: InterbtcPrimitivesCurrencyId, vaultId: InterbtcPrimitivesVaultId, nominatorId: AccountId32, amount: i128], { nonce: u32, currencyId: InterbtcPrimitivesCurrencyId, vaultId: InterbtcPrimitivesVaultId, nominatorId: AccountId32, amount: i128 }>;
      WithdrawStake: AugmentedEvent<ApiType, [vaultId: InterbtcPrimitivesVaultId, nominatorId: AccountId32, amount: i128], { vaultId: InterbtcPrimitivesVaultId, nominatorId: AccountId32, amount: i128 }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    vesting: {
      /**
       * Claimed vesting.
       **/
      Claimed: AugmentedEvent<ApiType, [who: AccountId32, amount: u128], { who: AccountId32, amount: u128 }>;
      /**
       * Added new vesting schedule.
       **/
      VestingScheduleAdded: AugmentedEvent<ApiType, [from: AccountId32, to: AccountId32, vestingSchedule: OrmlVestingVestingSchedule], { from: AccountId32, to: AccountId32, vestingSchedule: OrmlVestingVestingSchedule }>;
      /**
       * Updated vesting schedules.
       **/
      VestingSchedulesUpdated: AugmentedEvent<ApiType, [who: AccountId32], { who: AccountId32 }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    xcmpQueue: {
      /**
       * Bad XCM format used.
       **/
      BadFormat: AugmentedEvent<ApiType, [messageHash: Option<H256>], { messageHash: Option<H256> }>;
      /**
       * Bad XCM version used.
       **/
      BadVersion: AugmentedEvent<ApiType, [messageHash: Option<H256>], { messageHash: Option<H256> }>;
      /**
       * Some XCM failed.
       **/
      Fail: AugmentedEvent<ApiType, [messageHash: Option<H256>, error: XcmV2TraitsError, weight: SpWeightsWeightV2Weight], { messageHash: Option<H256>, error: XcmV2TraitsError, weight: SpWeightsWeightV2Weight }>;
      /**
       * An XCM exceeded the individual message weight budget.
       **/
      OverweightEnqueued: AugmentedEvent<ApiType, [sender: u32, sentAt: u32, index: u64, required: SpWeightsWeightV2Weight], { sender: u32, sentAt: u32, index: u64, required: SpWeightsWeightV2Weight }>;
      /**
       * An XCM from the overweight queue was executed with the given actual weight used.
       **/
      OverweightServiced: AugmentedEvent<ApiType, [index: u64, used: SpWeightsWeightV2Weight], { index: u64, used: SpWeightsWeightV2Weight }>;
      /**
       * Some XCM was executed ok.
       **/
      Success: AugmentedEvent<ApiType, [messageHash: Option<H256>, weight: SpWeightsWeightV2Weight], { messageHash: Option<H256>, weight: SpWeightsWeightV2Weight }>;
      /**
       * An upward message was sent to the relay chain.
       **/
      UpwardMessageSent: AugmentedEvent<ApiType, [messageHash: Option<H256>], { messageHash: Option<H256> }>;
      /**
       * An HRMP message was sent to a sibling parachain.
       **/
      XcmpMessageSent: AugmentedEvent<ApiType, [messageHash: Option<H256>], { messageHash: Option<H256> }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    xTokens: {
      /**
       * Transferred `MultiAsset` with fee.
       **/
      TransferredMultiAssets: AugmentedEvent<ApiType, [sender: AccountId32, assets: XcmV1MultiassetMultiAssets, fee: XcmV1MultiAsset, dest: XcmV1MultiLocation], { sender: AccountId32, assets: XcmV1MultiassetMultiAssets, fee: XcmV1MultiAsset, dest: XcmV1MultiLocation }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    zenlinkProtocol: {
      /**
       * Transact in trading \[owner, recipient, swap_path, balances\]
       **/
      AssetSwap: AugmentedEvent<ApiType, [AccountId32, AccountId32, Vec<InterbtcPrimitivesCurrencyId>, Vec<u128>]>;
      /**
       * Claim a bootstrap pair. \[bootstrap_pair_account, claimer, receiver, asset_0, asset_1,
       * asset_0_refund, asset_1_refund, lp_amount\]
       **/
      BootstrapClaim: AugmentedEvent<ApiType, [AccountId32, AccountId32, AccountId32, InterbtcPrimitivesCurrencyId, InterbtcPrimitivesCurrencyId, u128, u128, u128]>;
      /**
       * Contribute to bootstrap pair. \[who, asset_0, asset_0_contribute, asset_1_contribute\]
       **/
      BootstrapContribute: AugmentedEvent<ApiType, [AccountId32, InterbtcPrimitivesCurrencyId, u128, InterbtcPrimitivesCurrencyId, u128]>;
      /**
       * Create a bootstrap pair. \[bootstrap_pair_account, asset_0, asset_1,
       * total_supply_0,total_supply_1, capacity_supply_0,capacity_supply_1, end\]
       **/
      BootstrapCreated: AugmentedEvent<ApiType, [AccountId32, InterbtcPrimitivesCurrencyId, InterbtcPrimitivesCurrencyId, u128, u128, u128, u128, u32]>;
      /**
       * A bootstrap pair end. \[asset_0, asset_1, asset_0_amount, asset_1_amount,
       * total_lp_supply]
       **/
      BootstrapEnd: AugmentedEvent<ApiType, [InterbtcPrimitivesCurrencyId, InterbtcPrimitivesCurrencyId, u128, u128, u128]>;
      /**
       * Refund from disable bootstrap pair. \[bootstrap_pair_account, caller, asset_0, asset_1,
       * asset_0_refund, asset_1_refund\]
       **/
      BootstrapRefund: AugmentedEvent<ApiType, [AccountId32, AccountId32, InterbtcPrimitivesCurrencyId, InterbtcPrimitivesCurrencyId, u128, u128]>;
      /**
       * Update a bootstrap pair. \[caller, asset_0, asset_1,
       * total_supply_0,total_supply_1, capacity_supply_0,capacity_supply_1\]
       **/
      BootstrapUpdate: AugmentedEvent<ApiType, [AccountId32, InterbtcPrimitivesCurrencyId, InterbtcPrimitivesCurrencyId, u128, u128, u128, u128, u32]>;
      /**
       * Some assets were burned. \[asset_id, owner, amount\]
       **/
      Burned: AugmentedEvent<ApiType, [InterbtcPrimitivesCurrencyId, AccountId32, u128]>;
      /**
       * Charge reward into a bootstrap.
       **/
      ChargeReward: AugmentedEvent<ApiType, [InterbtcPrimitivesCurrencyId, InterbtcPrimitivesCurrencyId, AccountId32, Vec<ITuple<[InterbtcPrimitivesCurrencyId, u128]>>]>;
      /**
       * Bootstrap distribute some rewards to contributors.
       **/
      DistributeReward: AugmentedEvent<ApiType, [InterbtcPrimitivesCurrencyId, InterbtcPrimitivesCurrencyId, AccountId32, Vec<ITuple<[InterbtcPrimitivesCurrencyId, u128]>>]>;
      /**
       * Add liquidity. \[owner, asset_0, asset_1, add_balance_0, add_balance_1,
       * mint_balance_lp\]
       **/
      LiquidityAdded: AugmentedEvent<ApiType, [AccountId32, InterbtcPrimitivesCurrencyId, InterbtcPrimitivesCurrencyId, u128, u128, u128]>;
      /**
       * Remove liquidity. \[owner, recipient, asset_0, asset_1, rm_balance_0, rm_balance_1,
       * burn_balance_lp\]
       **/
      LiquidityRemoved: AugmentedEvent<ApiType, [AccountId32, AccountId32, InterbtcPrimitivesCurrencyId, InterbtcPrimitivesCurrencyId, u128, u128, u128]>;
      /**
       * Some assets were minted. \[asset_id, owner, amount\]
       **/
      Minted: AugmentedEvent<ApiType, [InterbtcPrimitivesCurrencyId, AccountId32, u128]>;
      /**
       * Swap
       * Create a trading pair. \[asset_0, asset_1\]
       **/
      PairCreated: AugmentedEvent<ApiType, [InterbtcPrimitivesCurrencyId, InterbtcPrimitivesCurrencyId]>;
      /**
       * Foreign Asset
       * Some assets were transferred. \[asset_id, owner, target, amount\]
       **/
      Transferred: AugmentedEvent<ApiType, [InterbtcPrimitivesCurrencyId, AccountId32, AccountId32, u128]>;
      /**
       * Transfer by xcm
       * Transferred to parachain. \[asset_id, src, para_id, dest, amount, used_weight\]
       **/
      TransferredToParachain: AugmentedEvent<ApiType, [InterbtcPrimitivesCurrencyId, AccountId32, u32, AccountId32, u128, u64]>;
      /**
       * Withdraw all reward from a bootstrap.
       **/
      WithdrawReward: AugmentedEvent<ApiType, [InterbtcPrimitivesCurrencyId, InterbtcPrimitivesCurrencyId, AccountId32]>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    zenlinkStableAmm: {
      /**
       * Supply some liquidity to a pool.
       **/
      AddLiquidity: AugmentedEvent<ApiType, [poolId: u32, who: AccountId32, to: AccountId32, supplyAmounts: Vec<u128>, fees: Vec<u128>, newD: u128, mintAmount: u128], { poolId: u32, who: AccountId32, to: AccountId32, supplyAmounts: Vec<u128>, fees: Vec<u128>, newD: u128, mintAmount: u128 }>;
      /**
       * A pool's admin fee was collected.
       **/
      CollectProtocolFee: AugmentedEvent<ApiType, [poolId: u32, currencyId: InterbtcPrimitivesCurrencyId, feeAmount: u128], { poolId: u32, currencyId: InterbtcPrimitivesCurrencyId, feeAmount: u128 }>;
      /**
       * A pool was created.
       **/
      CreatePool: AugmentedEvent<ApiType, [poolId: u32, currencyIds: Vec<InterbtcPrimitivesCurrencyId>, lpCurrencyId: InterbtcPrimitivesCurrencyId, a: u128, account: AccountId32, adminFeeReceiver: AccountId32], { poolId: u32, currencyIds: Vec<InterbtcPrimitivesCurrencyId>, lpCurrencyId: InterbtcPrimitivesCurrencyId, a: u128, account: AccountId32, adminFeeReceiver: AccountId32 }>;
      /**
       * Swap a amounts of currency to get other.
       **/
      CurrencyExchange: AugmentedEvent<ApiType, [poolId: u32, who: AccountId32, to: AccountId32, inIndex: u32, inAmount: u128, outIndex: u32, outAmount: u128], { poolId: u32, who: AccountId32, to: AccountId32, inIndex: u32, inAmount: u128, outIndex: u32, outAmount: u128 }>;
      CurrencyExchangeUnderlying: AugmentedEvent<ApiType, [poolId: u32, account: AccountId32, inAmount: u128, outAmount: u128, currencyIndexFrom: u32, currencyIndexTo: u32, to: AccountId32], { poolId: u32, account: AccountId32, inAmount: u128, outAmount: u128, currencyIndexFrom: u32, currencyIndexTo: u32, to: AccountId32 }>;
      /**
       * A pool's admin fee parameters was updated
       **/
      NewAdminFee: AugmentedEvent<ApiType, [poolId: u32, newAdminFee: u128], { poolId: u32, newAdminFee: u128 }>;
      /**
       * A pool's swap fee parameters was updated
       **/
      NewSwapFee: AugmentedEvent<ApiType, [poolId: u32, newSwapFee: u128], { poolId: u32, newSwapFee: u128 }>;
      /**
       * A pool's 'A' was ramped.
       **/
      RampA: AugmentedEvent<ApiType, [poolId: u32, initialAPrecise: u128, futureAPrecise: u128, now: u128, futureATime: u128], { poolId: u32, initialAPrecise: u128, futureAPrecise: u128, now: u128, futureATime: u128 }>;
      /**
       * Remove some liquidity from a pool.
       **/
      RemoveLiquidity: AugmentedEvent<ApiType, [poolId: u32, who: AccountId32, to: AccountId32, amounts: Vec<u128>, fees: Vec<u128>, newTotalSupply: u128], { poolId: u32, who: AccountId32, to: AccountId32, amounts: Vec<u128>, fees: Vec<u128>, newTotalSupply: u128 }>;
      /**
       * Remove liquidity from a pool with specify the amounts of currencies to be obtained.
       **/
      RemoveLiquidityImbalance: AugmentedEvent<ApiType, [poolId: u32, who: AccountId32, to: AccountId32, amounts: Vec<u128>, fees: Vec<u128>, newD: u128, newTotalSupply: u128], { poolId: u32, who: AccountId32, to: AccountId32, amounts: Vec<u128>, fees: Vec<u128>, newD: u128, newTotalSupply: u128 }>;
      /**
       * Remove some liquidity from a pool to get only one currency.
       **/
      RemoveLiquidityOneCurrency: AugmentedEvent<ApiType, [poolId: u32, who: AccountId32, to: AccountId32, outIndex: u32, burnAmount: u128, outAmount: u128], { poolId: u32, who: AccountId32, to: AccountId32, outIndex: u32, burnAmount: u128, outAmount: u128 }>;
      /**
       * A pool's ramping A was stopped.
       **/
      StopRampA: AugmentedEvent<ApiType, [poolId: u32, currentA: u128, now: u128], { poolId: u32, currentA: u128, now: u128 }>;
      /**
       * A pool's admin_fee_receiver was updated.
       **/
      UpdateAdminFeeReceiver: AugmentedEvent<ApiType, [poolId: u32, adminFeeReceiver: AccountId32], { poolId: u32, adminFeeReceiver: AccountId32 }>;
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
    zenlinkSwapRouter: {
      /**
       * Generic event
       **/
      [key: string]: AugmentedEvent<ApiType>;
    };
  } // AugmentedEvents
} // declare module
