package api import ( "math/big" "net/http" ethCommon "github.com/ethereum/go-ethereum/common" "github.com/gin-gonic/gin" "github.com/hermeznetwork/hermez-node/common" ) type rollupConstants struct { PublicConstants common.RollupConstants `json:"publicConstants"` MaxFeeIdxCoordinator int `json:"maxFeeIdxCoordinator"` ReservedIdx int `json:"reservedIdx"` ExitIdx int `json:"exitIdx"` LimitDepositAmount *big.Int `json:"limitDepositAmount"` LimitL2TransferAmount *big.Int `json:"limitL2TransferAmount"` LimitTokens int `json:"limitTokens"` L1CoordinatorTotalBytes int `json:"l1CoordinatorTotalBytes"` L1UserTotalBytes int `json:"l1UserTotalBytes"` MaxL1UserTx int `json:"maxL1UserTx"` MaxL1Tx int `json:"maxL1Tx"` InputSHAConstantBytes int `json:"inputSHAConstantBytes"` NumBuckets int `json:"numBuckets"` MaxWithdrawalDelay int `json:"maxWithdrawalDelay"` ExchangeMultiplier int `json:"exchangeMultiplier"` } func newRollupConstants(publicConstants common.RollupConstants) *rollupConstants { return &rollupConstants{ PublicConstants: publicConstants, MaxFeeIdxCoordinator: common.RollupConstMaxFeeIdxCoordinator, ReservedIdx: common.RollupConstReservedIDx, ExitIdx: common.RollupConstExitIDx, LimitDepositAmount: common.RollupConstLimitDepositAmount, LimitL2TransferAmount: common.RollupConstLimitL2TransferAmount, LimitTokens: common.RollupConstLimitTokens, L1CoordinatorTotalBytes: common.RollupConstL1CoordinatorTotalBytes, L1UserTotalBytes: common.RollupConstL1UserTotalBytes, MaxL1UserTx: common.RollupConstMaxL1UserTx, MaxL1Tx: common.RollupConstMaxL1Tx, InputSHAConstantBytes: common.RollupConstInputSHAConstantBytes, MaxWithdrawalDelay: common.RollupConstMaxWithdrawalDelay, ExchangeMultiplier: common.RollupConstExchangeMultiplier, } } // Config of the API type Config struct { RollupConstants common.RollupConstants AuctionConstants common.AuctionConstants WDelayerConstants common.WDelayerConstants ChainID uint16 HermezAddress ethCommon.Address } type configAPI struct { RollupConstants rollupConstants `json:"hermez"` AuctionConstants common.AuctionConstants `json:"auction"` WDelayerConstants common.WDelayerConstants `json:"withdrawalDelayer"` } func (a *API) getConfig(c *gin.Context) { c.JSON(http.StatusOK, a.cg) }