UserOriginbool// true if the tx was originated by a user, false if it was aoriginated by a coordinator. Note that this differ from the spec for implementation simplification purpposes
PublicKeybabyjub.PublicKey
LoadAmount*big.Int// amount transfered from L1 -> L2
EthBlockNumuint64// Ethereum Block Number in which this L1Tx was added to the queue
EthTxHasheth.Hash// TxHash that added this L1Tx to the queue
Positionint// Position among all the L1Txs in that batch
ToForgeL1TxsNumuint32// toForgeL1TxsNum in which the tx was forged / will be forged
FromBJJbabyjub.PublicKey
CreateAccountbool// "from" + token ID is a new account
FromEthAddreth.Address
// Stored in DB: mandatory fileds
TxIDTxID`meddler:"tx_id"`
ToForgeL1TxsNumuint32`meddler:"to_forge_l1_txs_num"`// toForgeL1TxsNum in which the tx was forged / will be forged
Positionint`meddler:"position"`
UserOriginbool`meddler:"user_origin"`// true if the tx was originated by a user, false if it was aoriginated by a coordinator. Note that this differ from the spec for implementation simplification purpposes
FromIdxIdx`meddler:"from_idx"`// FromIdx is used by L1Tx/Deposit to indicate the Idx receiver of the L1Tx.LoadAmount (deposit)
FromEthAddreth.Address`meddler:"from_eth_addr"`
FromBJJ*babyjub.PublicKey`meddler:"from_bjj"`
ToIdxIdx`meddler:"to_idx"`// ToIdx is ignored in L1Tx/Deposit, but used in the L1Tx/DepositAndTransfer
TokenIDTokenID`meddler:"token_id"`
Amount*big.Int`meddler:"amount,bigint"`
LoadAmount*big.Int`meddler:"load_amount,bigint"`
EthBlockNumuint64`meddler:"eth_block_num"`// Ethereum Block Number in which this L1Tx was added to the queue
// Extra metadata, may be uninitialized
TypeTxType`meddler:"-"`// optional, descrives which kind of tx it's