package common import ( "math/big" ethCommon "github.com/ethereum/go-ethereum/common" "github.com/iden3/go-merkletree" ) // ExitInfo represents the ExitTree Leaf data type ExitInfo struct { BatchNum BatchNum `meddler:"batch_num"` AccountIdx Idx `meddler:"account_idx"` MerkleProof *merkletree.CircomVerifierProof `meddler:"merkle_proof,json"` Balance *big.Int `meddler:"balance,bigint"` // InstantWithdrawn is the ethBlockNum in which the exit is withdrawn // instantly. nil means this hasn't happened. InstantWithdrawn *int64 `meddler:"instant_withdrawn"` // DelayedWithdrawRequest is the ethBlockNum in which the exit is // requested to be withdrawn from the delayedWithdrawn smart contract. // nil means this hasn't happened. DelayedWithdrawRequest *int64 `meddler:"delayed_withdraw_request"` // DelayedWithdrawn is the ethBlockNum in which the exit is withdrawn // from the delayedWithdrawn smart contract. nil means this hasn't // happened. DelayedWithdrawn *int64 `meddler:"delayed_withdrawn"` } // WithdrawInfo represents a withdraw action to the rollup type WithdrawInfo struct { Idx Idx NumExitRoot BatchNum InstantWithdraw bool TxHash ethCommon.Hash // hash of the transaction in which the withdraw happened Owner ethCommon.Address Token ethCommon.Address }