import type { Struct, Vec, u128 } from '@polkadot/types'; import type { Property } from '@plasm/types/interfaces/ovm'; import type { AccountId, Balance, BlockNumber, Hash } from '@polkadot/types/interfaces/runtime'; export interface AddressInclusionProof extends Struct { readonly leafIndex: AccountId; readonly leafPosition: Balance; readonly siblings: Vec; } export interface AddressTreeNode extends Struct { readonly data: Hash; readonly tokenAddress: AccountId; } export interface Checkpoint extends Struct { readonly stateUpdate: Property; } export interface Exit extends Struct { readonly stateUpdate: StateUpdate; readonly inclusionProof: InclusionProof; } export interface ExitDeposit extends Struct { readonly stateUpdate: StateUpdate; readonly checkpoint: Checkpoint; } export interface InclusionProof extends Struct { readonly addressInclusionProof: AddressInclusionProof; readonly intervalInclusionProof: IntervalInclusionProof; } export interface IntervalInclusionProof extends Struct { readonly leafIndex: Balance; readonly leafPosition: Balance; readonly siblings: Vec; } export interface IntervalTreeNode extends Struct { readonly data: Hash; readonly start: Balance; } export interface Range extends Struct { readonly start: u128; readonly end: u128; } export interface RangeOf extends Struct { readonly start: u128; readonly end: u128; } export interface StateUpdate extends Struct { readonly depositContractAddress: AccountId; readonly range: Range; readonly blockNumber: BlockNumber; readonly stateObject: Property; } export declare type PHANTOM_PLASMA = 'plasma';