You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

37 lines
1.4 KiB

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
}