mirror of
https://github.com/arnaucube/hermez-node.git
synced 2026-02-07 03:16:45 +01:00
Add struct get state endpoint
This commit is contained in:
@@ -1,9 +1,9 @@
|
|||||||
#!/bin/sh -e
|
#!/bin/sh -e
|
||||||
|
|
||||||
USAGE="Available options:
|
USAGE="Available options:
|
||||||
doc Start documentation UI at http://loclahost:8001 and the mock up server at http://loclahost:4010
|
doc Start documentation UI at http://localhost:8001 and the mock up server at http://localhost:4010
|
||||||
mock Start the mock up server at http://loclahost:4010
|
mock Start the mock up server at http://localhost:4010
|
||||||
editor Start the documentation editor at http://loclahost:8002
|
editor Start the documentation editor at http://localhost:8002
|
||||||
stop Stop all runing services started using this script
|
stop Stop all runing services started using this script
|
||||||
help display this message"
|
help display this message"
|
||||||
|
|
||||||
|
|||||||
17
api/state.go
Normal file
17
api/state.go
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
package api
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/hermeznetwork/hermez-node/common"
|
||||||
|
"github.com/hermeznetwork/hermez-node/db/historydb"
|
||||||
|
"github.com/hermeznetwork/hermez-node/eth"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Status define status of the network
|
||||||
|
type Status struct {
|
||||||
|
Network historydb.Network `json:"network"`
|
||||||
|
Metrics historydb.Metrics `json:"metrics"`
|
||||||
|
Rollup eth.RollupVariables `json:"rollup"`
|
||||||
|
Auction eth.AuctionVariables `json:"auction"`
|
||||||
|
WithdrawalDelayer eth.WDelayerVariables `json:"withdrawalDelayer"`
|
||||||
|
RecommendedFee common.RecommendedFee `json:"recommendedFee"`
|
||||||
|
}
|
||||||
357
api/swagger.yml
357
api/swagger.yml
@@ -2177,145 +2177,230 @@ components:
|
|||||||
$ref: '#/components/schemas/PaginationInfo'
|
$ref: '#/components/schemas/PaginationInfo'
|
||||||
State:
|
State:
|
||||||
type: object
|
type: object
|
||||||
description: Gobal statistics of the network.
|
description: Gobal variables of the network
|
||||||
properties:
|
properties:
|
||||||
lastBlock:
|
network:
|
||||||
allOf:
|
type: object
|
||||||
- $ref: '#/components/schemas/EthBlockNum'
|
description: Gobal statistics of the network
|
||||||
- description: Last synchronized Etherum block.
|
properties:
|
||||||
- example: 3457437
|
lastBlock:
|
||||||
lastBatch:
|
allOf:
|
||||||
allOf:
|
- $ref: '#/components/schemas/EthBlockNum'
|
||||||
- $ref: '#/components/schemas/BatchNum'
|
- description: Last synchronized Etherum block.
|
||||||
- description: Last batch that has been forged.
|
- example: 3457437
|
||||||
- example: 76523
|
lastBatch:
|
||||||
currentSlot:
|
$ref: '#/components/schemas/Batch'
|
||||||
allOf:
|
currentSlot:
|
||||||
- $ref: '#/components/schemas/SlotNum'
|
allOf:
|
||||||
- description: Slot where batches are currently being forged.
|
- $ref: '#/components/schemas/SlotNum'
|
||||||
- example: 2334
|
- description: Slot where batches are currently being forged.
|
||||||
transactionsPerBatch:
|
- example: 2334
|
||||||
type: number
|
nextForgers:
|
||||||
description: Average transactions per batch in the last 24 hours.
|
$ref: '#/components/schemas/NextForgers'
|
||||||
example: 2002.7
|
additionalProperties: false
|
||||||
batchFrequency:
|
require:
|
||||||
type: number
|
- lastBlock
|
||||||
description: Average elapsed time between batches in the last 24 hours, in seconds.
|
- lastBatch
|
||||||
example: 8.9
|
- currentSlot
|
||||||
transactionsPerSecond:
|
- nextForgers
|
||||||
type: number
|
metrics:
|
||||||
description: Average transactions per second in the last 24 hours.
|
type: object
|
||||||
example: 302.3
|
description: Metrics of the network
|
||||||
totalAccounts:
|
properties:
|
||||||
type: integer
|
transactionsPerBatch:
|
||||||
description: Number of created accounts.
|
type: number
|
||||||
example: 90473
|
description: Average transactions per batch in the last 24 hours.
|
||||||
totalBJJs:
|
example: 2002.7
|
||||||
type: integer
|
batchFrequency:
|
||||||
description: Number of different registered BJJs.
|
type: number
|
||||||
example: 23067
|
description: Average elapsed time between batches in the last 24 hours, in seconds.
|
||||||
avgTransactionFee:
|
example: 8.9
|
||||||
type: number
|
transactionsPerSecond:
|
||||||
description: Average fee percentage paid for L2 transactions in the last 24 hours.
|
type: number
|
||||||
example: 1.54
|
description: Average transactions per second in the last 24 hours.
|
||||||
nextForgers:
|
example: 302.3
|
||||||
$ref: '#/components/schemas/NextForgers'
|
totalAccounts:
|
||||||
|
type: integer
|
||||||
|
description: Number of created accounts.
|
||||||
|
example: 90473
|
||||||
|
totalBJJs:
|
||||||
|
type: integer
|
||||||
|
description: Number of different registered BJJs.
|
||||||
|
example: 23067
|
||||||
|
avgTransactionFee:
|
||||||
|
type: number
|
||||||
|
description: Average fee percentage paid for L2 transactions in the last 24 hours.
|
||||||
|
example: 1.54
|
||||||
|
additionalProperties: false
|
||||||
|
require:
|
||||||
|
- transactionsPerBatch
|
||||||
|
- batchFrequency
|
||||||
|
- transactionsPerSecond
|
||||||
|
- totalAccounts
|
||||||
|
- totalBJJs
|
||||||
|
- avgTransactionFee
|
||||||
|
rollup:
|
||||||
|
type: object
|
||||||
|
description: Rollup parameters
|
||||||
|
properties:
|
||||||
|
forgeL1L2BatchTimeout:
|
||||||
|
type: integer
|
||||||
|
description: Max ethereum blocks after the last L1-L2-batch, when exceeds the timeout only L1-L2-batch are allowed.
|
||||||
|
example: 5
|
||||||
|
feeAddToken:
|
||||||
|
type: integer
|
||||||
|
description: Fee to pay when registering tokens into the network.
|
||||||
|
example: 5698
|
||||||
|
withdrawalDelay:
|
||||||
|
type: integer
|
||||||
|
description: Withdraw delay in seconds
|
||||||
|
example: 432000
|
||||||
|
buckets:
|
||||||
|
type: array
|
||||||
|
description: List of buckets state
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
ceilUSD:
|
||||||
|
type: integer
|
||||||
|
description: Max USD value
|
||||||
|
example: 1000
|
||||||
|
blockStamp:
|
||||||
|
type: integer
|
||||||
|
description: Last time a withdrawal was added ( or removed if the bucket was full)
|
||||||
|
example: 4475934
|
||||||
|
withdrawals:
|
||||||
|
type: integer
|
||||||
|
description: Available withdrawals of the bucket
|
||||||
|
example: 4
|
||||||
|
blockWithdrawalRate:
|
||||||
|
type: integer
|
||||||
|
description: Every `blockWithdrawalRate` blocks add 1 withdrawal
|
||||||
|
example: 8
|
||||||
|
maxWithdrawals:
|
||||||
|
type: integer
|
||||||
|
description: Max withdrawals the bucket can hold
|
||||||
|
example: 4
|
||||||
|
additionalProperties: false
|
||||||
|
require:
|
||||||
|
- ceilUSD
|
||||||
|
- blockStamp
|
||||||
|
- withdrawals
|
||||||
|
- blockWithdrawalRate
|
||||||
|
- maxWithdrawals
|
||||||
|
additionalProperties: false
|
||||||
|
require:
|
||||||
|
- forgeL1L2BatchTimeout
|
||||||
|
- feeAddToken
|
||||||
|
- withdrawalDelay
|
||||||
|
- buckets
|
||||||
|
auction:
|
||||||
|
type: object
|
||||||
|
description: Auction parameters.
|
||||||
|
properties:
|
||||||
|
bootCoordinator:
|
||||||
|
allOf:
|
||||||
|
- $ref: '#/components/schemas/EthereumAddress'
|
||||||
|
- description: Ethereum address of the boot coordinator.
|
||||||
|
- example: "0x997dc4262BCDbf85190C01c996b4C06a461d2430"
|
||||||
|
slotDeadline:
|
||||||
|
type: integer
|
||||||
|
description: Number of blocks after the beginning of a slot after which any coordinator can forge if the winner has not forged any batch in that slot.
|
||||||
|
example: 3
|
||||||
|
closedAuctionSlots:
|
||||||
|
type: integer
|
||||||
|
description: Amount of slots between the current slot and the slot auction that is closed. Example if the value is 2, when slot 10 begins, the auction of the slot 12 gets closed.
|
||||||
|
example: 2
|
||||||
|
openAuctionSlots:
|
||||||
|
type: integer
|
||||||
|
description: How many days in advance are auctions opened.
|
||||||
|
defaultSlotSetBid:
|
||||||
|
type: array
|
||||||
|
description: "Initial minimal bid for each auction. Expressed as an array of 6 values. To calculate which value corresponds to each slot: `initialMinimalBidding[slotNum%6]`."
|
||||||
|
items:
|
||||||
|
type: integer
|
||||||
|
example: [32,0,68,21,55,99]
|
||||||
|
outbidding:
|
||||||
|
type: number
|
||||||
|
description: Minimum outbid over the previous one to consider it valid.
|
||||||
|
example: 3.64
|
||||||
|
donationAddress:
|
||||||
|
allOf:
|
||||||
|
- $ref: '#/components/schemas/EthereumAddress'
|
||||||
|
- description: Ethereum address where the donations will go to.
|
||||||
|
- example: "0x887dc4262BCDbf85190C01c996b4C06a461d2430"
|
||||||
|
allocationRatio:
|
||||||
|
type: array
|
||||||
|
description: Percentage in which fees will be splitted between donations, governance and burning. The sum of the tree values should be 100.
|
||||||
|
items:
|
||||||
|
type: integer
|
||||||
|
example: [80,10,10]
|
||||||
|
additionalProperties: false
|
||||||
|
require:
|
||||||
|
- bootCoordinator
|
||||||
|
- slotDeadline
|
||||||
|
- closedAuctionSlots
|
||||||
|
- openAuctionSlots
|
||||||
|
- defaultSlotSetBid
|
||||||
|
- outbidding
|
||||||
|
- donationAddress
|
||||||
|
- allocationRatio
|
||||||
|
withdrawalDelayer:
|
||||||
|
type: object
|
||||||
|
description: Withdrawal delayer parameters
|
||||||
|
properties:
|
||||||
|
hermezRollupAddress:
|
||||||
|
allOf:
|
||||||
|
- $ref: '#/components/schemas/EthereumAddress'
|
||||||
|
- description: Ethereum address of the rollup smart contract.
|
||||||
|
- example: "0x777dc4262BCDbf85190C01c996b4C06a461d2430"
|
||||||
|
hermezGovernanceDAOAddress:
|
||||||
|
allOf:
|
||||||
|
- $ref: '#/components/schemas/EthereumAddress'
|
||||||
|
- description: Ethereum address of the governance DAO.
|
||||||
|
- example: "0x667dc4262BCDbf85190C01c996b4C06a461d2430"
|
||||||
|
whiteHackGroupAddress:
|
||||||
|
allOf:
|
||||||
|
- $ref: '#/components/schemas/EthereumAddress'
|
||||||
|
- description: Ethereum Address that can claim the funds in an emergency when the maximum emergency mode time is exceeded.
|
||||||
|
- example: "0x557dc4262BCDbf85190C01c996b4C06a461d2430"
|
||||||
|
hermezKeeperAddress:
|
||||||
|
allOf:
|
||||||
|
- $ref: '#/components/schemas/EthereumAddress'
|
||||||
|
- description: Ethereum Address that can enable emergency mode and modify the delay to make a withdrawal.
|
||||||
|
- example: "0x557dc4262BCDbf85190C01c996b4C06a461d2430"
|
||||||
|
withdrawalDelay:
|
||||||
|
allOf:
|
||||||
|
- $ref: '#/components/schemas/EthBlockNum'
|
||||||
|
- description: The time that anyone needs to wait until a withdrawal of the funds is allowed, in Ethereum blocks.
|
||||||
|
- example: 539573849
|
||||||
|
emergencyModeStartingTime:
|
||||||
|
type: integer
|
||||||
|
description: Ethereum block in which the emergency mode will be activated.
|
||||||
|
example: 10
|
||||||
|
emergencyMode:
|
||||||
|
type: boolean
|
||||||
|
description: Indicates if emergency mode has been activated.
|
||||||
|
example: false
|
||||||
|
additionalProperties: false
|
||||||
|
require:
|
||||||
|
- hermezRollupAddress
|
||||||
|
- hermezGovernanceDAOAddress
|
||||||
|
- whiteHackGroupAddress
|
||||||
|
- hermezKeeperAddress
|
||||||
|
- withdrawalDelay
|
||||||
|
- emergencyModeStartingTime
|
||||||
|
- emergencyMode
|
||||||
recommendedFee:
|
recommendedFee:
|
||||||
$ref: '#/components/schemas/RecommendedFee'
|
$ref: '#/components/schemas/RecommendedFee'
|
||||||
governance:
|
additionalProperties: false
|
||||||
type: object
|
require:
|
||||||
description: Network setings that are updatable by the governance.
|
- network
|
||||||
properties:
|
- metrics
|
||||||
rollup:
|
- rollup
|
||||||
type: object
|
- auction
|
||||||
description: Rollup parameters.
|
- withdrawalDelayer
|
||||||
properties:
|
- recomendedFee
|
||||||
forgeTimeout:
|
|
||||||
type: integer
|
|
||||||
description: Time delay between the beggining of a slot and the beggining of the period in which anyone can forge if the auction winner of the slot hasn't forged any batch yet. Time is measured in Ethereum blocks.
|
|
||||||
example: 5
|
|
||||||
feeAddToken:
|
|
||||||
type: integer
|
|
||||||
description: fee to pay when registering tokens into the network.
|
|
||||||
example: 5698
|
|
||||||
auction:
|
|
||||||
type: object
|
|
||||||
description: Auction parameters.
|
|
||||||
properties:
|
|
||||||
bootCoordinator:
|
|
||||||
allOf:
|
|
||||||
- $ref: '#/components/schemas/EthereumAddress'
|
|
||||||
- description: Ethereum address of the boot coordinator.
|
|
||||||
- example: "0x997dc4262BCDbf85190C01c996b4C06a461d2430"
|
|
||||||
slotDeadline:
|
|
||||||
type: integer
|
|
||||||
description: Number of blocks at the end of a slot in which any coordinator can forge if the winner has not forged one before.
|
|
||||||
example: 3
|
|
||||||
closedAuctionSlots:
|
|
||||||
type: integer
|
|
||||||
description: Amount of slots between the current slot and the slot auction that is closed. Example if the value is 2, when slot 10 begins, the auction of the slot 12 gets closed.
|
|
||||||
example: 2
|
|
||||||
openAuctionSlots:
|
|
||||||
type: integer
|
|
||||||
description: How many days in advance are auctions opened.
|
|
||||||
defaultSlotSetBid:
|
|
||||||
type: array
|
|
||||||
description: "Initial minimal bid for each auction. Expressed as an array of 6 values. To calculate which value corresponds to each slot: `initialMinimalBidding[slotNum%6]`."
|
|
||||||
items:
|
|
||||||
type: integer
|
|
||||||
example: [32,0,68,21,55,99]
|
|
||||||
outbidding:
|
|
||||||
type: number
|
|
||||||
description: Minimum outbid over the previous one to consider it valid.
|
|
||||||
example: 3.64
|
|
||||||
donationAddress:
|
|
||||||
allOf:
|
|
||||||
- $ref: '#/components/schemas/EthereumAddress'
|
|
||||||
- description: Ethereum address where the donations will go to.
|
|
||||||
- example: "0x887dc4262BCDbf85190C01c996b4C06a461d2430"
|
|
||||||
allocationRatio:
|
|
||||||
type: array
|
|
||||||
description: Percentage in which fees will be splitted between donations, governance and burning. The sum of the tree values should be 100.
|
|
||||||
items:
|
|
||||||
type: integer
|
|
||||||
example: [80,10,10]
|
|
||||||
withdrawalDelayer:
|
|
||||||
type: object
|
|
||||||
description: Withdrawal delayer parameters.
|
|
||||||
properties:
|
|
||||||
rollupAddress:
|
|
||||||
allOf:
|
|
||||||
- $ref: '#/components/schemas/EthereumAddress'
|
|
||||||
- description: Ethereum address of the rollup smart contract.
|
|
||||||
- example: "0x777dc4262BCDbf85190C01c996b4C06a461d2430"
|
|
||||||
governanceAddress:
|
|
||||||
allOf:
|
|
||||||
- $ref: '#/components/schemas/EthereumAddress'
|
|
||||||
- description: Ethereum address of the governance mechanism.
|
|
||||||
- example: "0x667dc4262BCDbf85190C01c996b4C06a461d2430"
|
|
||||||
whitheHackerGroupAddress:
|
|
||||||
allOf:
|
|
||||||
- $ref: '#/components/schemas/EthereumAddress'
|
|
||||||
- description: Ethereum Address that can claim the funds in an emergency when the maximum emergency mode time is exceeded.
|
|
||||||
- example: "0x557dc4262BCDbf85190C01c996b4C06a461d2430"
|
|
||||||
keeperAddress:
|
|
||||||
allOf:
|
|
||||||
- $ref: '#/components/schemas/EthereumAddress'
|
|
||||||
- description: Ethereum Address that can enable emergency mode and modify the delay to make a withdrawal.
|
|
||||||
- example: "0x557dc4262BCDbf85190C01c996b4C06a461d2430"
|
|
||||||
withdrawalDelay:
|
|
||||||
allOf:
|
|
||||||
- $ref: '#/components/schemas/EthBlockNum'
|
|
||||||
- description: The time that anyone needs to wait until a withdrawal of the funds is allowed, in Ethereum blocks.
|
|
||||||
- example: 539573849
|
|
||||||
emergencyModeStartingTime:
|
|
||||||
type: integer
|
|
||||||
description: Ethereum block in which the emergency mode will be activated.
|
|
||||||
example: 10
|
|
||||||
emergencyMode:
|
|
||||||
type: boolean
|
|
||||||
description: Indicates if emergency mode has been activated.
|
|
||||||
|
|
||||||
PaginationInfo:
|
PaginationInfo:
|
||||||
type: object
|
type: object
|
||||||
description: Give pagination information
|
description: Give pagination information
|
||||||
|
|||||||
@@ -154,3 +154,21 @@ type BatchAPI struct {
|
|||||||
FirstItem int `json:"-" meddler:"first_item"`
|
FirstItem int `json:"-" meddler:"first_item"`
|
||||||
LastItem int `json:"-" meddler:"last_item"`
|
LastItem int `json:"-" meddler:"last_item"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Network define status of the network
|
||||||
|
type Network struct {
|
||||||
|
LastBlock int64 `json:"lastBlock"`
|
||||||
|
LastBatch BatchAPI `json:"lastBatch"`
|
||||||
|
CurrentSlot int64 `json:"currentSlot"`
|
||||||
|
NextForgers []HistoryCoordinator `json:"nextForgers"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Metrics define metrics of the network
|
||||||
|
type Metrics struct {
|
||||||
|
TransactionsPerBatch float64 `json:"transactionsPerBatch"`
|
||||||
|
BatchFrequency float64 `json:"batchFrequency"`
|
||||||
|
TransactionsPerSecond float64 `json:"transactionsPerSecond"`
|
||||||
|
TotalAccounts int64 `json:"totalAccounts"`
|
||||||
|
TotalBJJs int64 `json:"totalBJJs"`
|
||||||
|
AvgTransactionFee float64 `json:"avgTransactionFee"`
|
||||||
|
}
|
||||||
|
|||||||
@@ -63,21 +63,21 @@ type Coordinator struct {
|
|||||||
// AuctionVariables are the variables of the Auction Smart Contract
|
// AuctionVariables are the variables of the Auction Smart Contract
|
||||||
type AuctionVariables struct {
|
type AuctionVariables struct {
|
||||||
// Boot Coordinator Address
|
// Boot Coordinator Address
|
||||||
DonationAddress ethCommon.Address
|
DonationAddress ethCommon.Address `json:"donationAddress" meddler:"donation_address"`
|
||||||
// Boot Coordinator Address
|
// Boot Coordinator Address
|
||||||
BootCoordinator ethCommon.Address
|
BootCoordinator ethCommon.Address `json:"bootCoordinator" meddler:"boot_coordinator"`
|
||||||
// The minimum bid value in a series of 6 slots
|
// The minimum bid value in a series of 6 slots
|
||||||
DefaultSlotSetBid [6]*big.Int
|
DefaultSlotSetBid [6]*big.Int `json:"defaultSlotSetBid" meddler:"default_slot_set_bid,json"`
|
||||||
// Distance (#slots) to the closest slot to which you can bid ( 2 Slots = 2 * 40 Blocks = 20 min )
|
// Distance (#slots) to the closest slot to which you can bid ( 2 Slots = 2 * 40 Blocks = 20 min )
|
||||||
ClosedAuctionSlots uint16
|
ClosedAuctionSlots uint16 `json:"closedAuctionSlots" meddler:"closed_auction_slots"`
|
||||||
// Distance (#slots) to the farthest slot to which you can bid (30 days = 4320 slots )
|
// Distance (#slots) to the farthest slot to which you can bid (30 days = 4320 slots )
|
||||||
OpenAuctionSlots uint16
|
OpenAuctionSlots uint16 `json:"openAuctionSlots" meddler:"open_auction_slots"`
|
||||||
// How the HEZ tokens deposited by the slot winner are distributed (Burn: 40% - Donation: 40% - HGT: 20%)
|
// How the HEZ tokens deposited by the slot winner are distributed (Burn: 40% - Donation: 40% - HGT: 20%)
|
||||||
AllocationRatio [3]uint16
|
AllocationRatio [3]uint16 `json:"allocationRatio" meddler:"allocation_ratio,json"`
|
||||||
// Minimum outbid (percentage) over the previous one to consider it valid
|
// Minimum outbid (percentage) over the previous one to consider it valid
|
||||||
Outbidding uint16
|
Outbidding uint16 `json:"outbidding" meddler:"outbidding"`
|
||||||
// Number of blocks at the end of a slot in which any coordinator can forge if the winner has not forged one before
|
// Number of blocks at the end of a slot in which any coordinator can forge if the winner has not forged one before
|
||||||
SlotDeadline uint8
|
SlotDeadline uint8 `json:"slotDeadline" meddler:"slot_deadline"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// AuctionState represents the state of the Rollup in the Smart Contract
|
// AuctionState represents the state of the Rollup in the Smart Contract
|
||||||
|
|||||||
@@ -110,11 +110,21 @@ type RollupPublicConstants struct {
|
|||||||
WithdrawDelayerContract ethCommon.Address `json:"withdrawDelayerContract"`
|
WithdrawDelayerContract ethCommon.Address `json:"withdrawDelayerContract"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Bucket are the variables of each Bucket of Rollup Smart Contract
|
||||||
|
type Bucket struct {
|
||||||
|
CeilUSD uint64 `json:"ceilUSD"`
|
||||||
|
BlockStamp uint64 `json:"blockStamp"`
|
||||||
|
Withdrawals uint64 `json:"withdrawals"`
|
||||||
|
BlockWithdrawalRate uint64 `json:"blockWithdrawalRate"`
|
||||||
|
MaxWithdrawals uint64 `json:"maxWithdrawals"`
|
||||||
|
}
|
||||||
|
|
||||||
// RollupVariables are the variables of the Rollup Smart Contract
|
// RollupVariables are the variables of the Rollup Smart Contract
|
||||||
type RollupVariables struct {
|
type RollupVariables struct {
|
||||||
FeeAddToken *big.Int
|
FeeAddToken *big.Int `json:"feeAddToken" meddler:"fee_addtoken"`
|
||||||
ForgeL1L2BatchTimeout int64
|
ForgeL1L2BatchTimeout int64 `json:"forgeL1L2BatchTimeout" meddler:"forge_l1l2_timeout"`
|
||||||
WithdrawalDelay uint64
|
WithdrawalDelay uint64 `json:"withdrawalDelay" meddler:"withdrawal_delay"`
|
||||||
|
Buckets [RollupConstNumBuckets]Bucket `json:"buckets" meddler:"buckets,json"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// QueueStruct is the queue of L1Txs for a batch
|
// QueueStruct is the queue of L1Txs for a batch
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import (
|
|||||||
WithdrawalDelayer "github.com/hermeznetwork/hermez-node/eth/contracts/withdrawdelayer"
|
WithdrawalDelayer "github.com/hermeznetwork/hermez-node/eth/contracts/withdrawdelayer"
|
||||||
)
|
)
|
||||||
|
|
||||||
// WDelayerConstants are the constants of the Rollup Smart Contract
|
// WDelayerConstants are the constants of the Withdrawal Delayer Smart Contract
|
||||||
type WDelayerConstants struct {
|
type WDelayerConstants struct {
|
||||||
// Max Withdrawal Delay
|
// Max Withdrawal Delay
|
||||||
MaxWithdrawalDelay uint64 `json:"maxWithdrawalDelay"`
|
MaxWithdrawalDelay uint64 `json:"maxWithdrawalDelay"`
|
||||||
@@ -26,6 +26,17 @@ type WDelayerConstants struct {
|
|||||||
HermezRollup ethCommon.Address `json:"hermezRollup"`
|
HermezRollup ethCommon.Address `json:"hermezRollup"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WDelayerVariables are the variables of the Withdrawal Delayer Smart Contract
|
||||||
|
type WDelayerVariables struct {
|
||||||
|
HermezRollupAddress ethCommon.Address `json:"hermezRollupAddress" meddler:"rollup_address"`
|
||||||
|
HermezGovernanceDAOAddress ethCommon.Address `json:"hermezGovernanceDAOAddress" meddler:"govdao_address"`
|
||||||
|
WhiteHackGroupAddress ethCommon.Address `json:"whiteHackGroupAddress" meddler:"whg_address"`
|
||||||
|
HermezKeeperAddress ethCommon.Address `json:"hermezKeeperAddress" meddler:"keeper_address"`
|
||||||
|
WithdrawalDelay uint64 `json:"withdrawalDelay" meddler:"withdrawal_delay"`
|
||||||
|
EmergencyModeStartingTime uint64 `json:"emergencyModeStartingTime" meddler:"emergency_start_time"`
|
||||||
|
EmergencyMode bool `json:"emergencyMode" meddler:"emergency_mode"`
|
||||||
|
}
|
||||||
|
|
||||||
// DepositState is the state of Deposit
|
// DepositState is the state of Deposit
|
||||||
type DepositState struct {
|
type DepositState struct {
|
||||||
Amount *big.Int
|
Amount *big.Int
|
||||||
|
|||||||
Reference in New Issue
Block a user