import { Segment } from '../segment'; import { Address } from '../helpers/types'; import * as ethers from 'ethers'; import BigNumber = ethers.utils.BigNumber; import { SignedTransaction } from '../SignedTransaction'; import { StateUpdate } from '../StateUpdate'; export declare class SwapRequest { owner: Address; blkNum: BigNumber; segment: Segment; neightborBlkNum: BigNumber; neighbor: Segment; target?: StateUpdate; constructor(owner: Address, blkNum: BigNumber, segment: Segment, neightborBlkNum: BigNumber, neighbor: Segment); getOwner(): string; getBlkNum(): ethers.ethers.utils.BigNumber; getNeighbor(): Segment; getNeighborBlkNum(): ethers.ethers.utils.BigNumber; serialize(): { owner: string; blkNum: string; segment: string[]; neightborBlkNum: string; neighbor: string[]; }; static deserialize(data: any): SwapRequest; /** * * @param segment * segment - neightbor * or neightbor - segment */ check(segment: Segment): boolean; setTarget(target: StateUpdate): void; getSignedSwapTx(targetBlock: BigNumber, predicate: Address): SignedTransaction | undefined; /** * * @param owner * @param blkNum * @param segment * neighbor - segment - this.segment * case: segment >= this.segment * segment:offset and this.segment * case: segment < this.segment * neighbor - segment - this.segment * segment and this.segment:offset */ private getSwapTx; }