Documentation
¶
Index ¶
- Constants
- Variables
- func Check(roots []common.Hash, leaf common.Hash, position uint32, ...) (common.Hash, error)
- func String[T any](p T) string
- func WaitMineTransaction(ctx context.Context, client *ethclient.Client, tx *types.Transaction, ...) error
- type BridgeDeposit
- type BridgeDepositResponse
- type BridgeProof
- type DepositID
- type GetDepositOptions
- type GetDepositsAndVerifyBatchesSharedOptions
- type GetVerifyBatchesOptions
- type IMT
- type JsonError
- type Proof
- type ProofOptions
- type ProofsSharedOptions
- type RollupsProof
- type RollupsProofOptions
Constants ¶
View Source
const ( ArgGasLimit = "gas-limit" ArgChainID = "chain-id" ArgPrivateKey = "private-key" ArgValue = "value" ArgRPCURL = "rpc-url" ArgBridgeAddress = "bridge-address" ArgRollupManagerAddress = "rollup-manager-address" ArgDestNetwork = "destination-network" ArgDestAddress = "destination-address" ArgForceUpdate = "force-update-root" ArgCallData = "call-data" ArgCallDataFile = "call-data-file" ArgTimeout = "transaction-receipt-timeout" ArgDepositCount = "deposit-count" ArgDepositNetwork = "deposit-network" ArgRollupID = "rollup-id" ArgCompleteMT = "complete-merkle-tree" ArgBridgeServiceURL = "bridge-service-url" ArgFileName = "file-name" ArgFromBlock = "from-block" ArgToBlock = "to-block" ArgFilterSize = "filter-size" ArgTokenAddress = "token-address" ArgGlobalIndex = "global-index" ArgDryRun = "dry-run" ArgGasPrice = "gas-price" ArgBridgeMappings = "bridge-service-map" ArgBridgeLimit = "bridge-limit" ArgBridgeOffset = "bridge-offset" ArgWait = "wait" )
View Source
const ( // TreeDepth of 32 is pulled directly from the // _DEPOSIT_CONTRACT_TREE_DEPTH from the smart contract. We // could make this a variable as well // https://github.com/0xPolygonHermez/zkevm-contracts/blob/54f58c8b64806429bc4d5c52248f29cf80ba401c/contracts/v2/lib/DepositContractBase.sol#L15 TreeDepth = 32 )
Variables ¶
View Source
var ( ErrNotReadyForClaim = errors.New("the claim transaction is not yet ready to be claimed, try again in a few blocks") ErrDepositAlreadyClaimed = errors.New("the claim transaction has already been claimed") ErrUnableToRetrieveDeposit = errors.New("the bridge deposit was not found") )
View Source
var ULxLyCmd = &cobra.Command{ Use: "ulxly", Short: "Utilities for interacting with the uLxLy bridge", Long: "Basic utility commands for interacting with the bridge contracts, bridge services, and generating proofs", Args: cobra.NoArgs, }
Functions ¶
func Check ¶ added in v0.1.74
func Check(roots []common.Hash, leaf common.Hash, position uint32, siblings [32]common.Hash) (common.Hash, error)
Check is a sanity check of a proof in order to make sure that the proof that was generated creates a root that we recognize. This was useful while testing in order to avoid verifying that the proof works or doesn't work onchain
func WaitMineTransaction ¶ added in v0.1.67
func WaitMineTransaction(ctx context.Context, client *ethclient.Client, tx *types.Transaction, txTimeout uint64) error
Wait for the transaction to be mined
Types ¶
type BridgeDeposit ¶ added in v0.1.67
type BridgeDeposit struct { LeafType uint8 `json:"leaf_type"` OrigNet uint32 `json:"orig_net"` OrigAddr string `json:"orig_addr"` Amount string `json:"amount"` DestNet uint32 `json:"dest_net"` DestAddr string `json:"dest_addr"` BlockNum string `json:"block_num"` DepositCnt uint32 `json:"deposit_cnt"` NetworkID uint32 `json:"network_id"` TxHash string `json:"tx_hash"` ClaimTxHash string `json:"claim_tx_hash"` Metadata string `json:"metadata"` ReadyForClaim bool `json:"ready_for_claim"` GlobalIndex string `json:"global_index"` }
type BridgeDepositResponse ¶ added in v0.1.67
type BridgeDepositResponse struct { Deposit BridgeDeposit `json:"deposit"` Code *int `json:"code"` Message *string `json:"message"` }
type BridgeProof ¶
type GetDepositOptions ¶ added in v0.1.74
type GetDepositOptions struct {
BridgeAddress string
}
func (*GetDepositOptions) AddFlags ¶ added in v0.1.74
func (o *GetDepositOptions) AddFlags(cmd *cobra.Command)
type GetDepositsAndVerifyBatchesSharedOptions ¶ added in v0.1.74
type GetDepositsAndVerifyBatchesSharedOptions struct {
func (*GetDepositsAndVerifyBatchesSharedOptions) AddFlags ¶ added in v0.1.74
func (o *GetDepositsAndVerifyBatchesSharedOptions) AddFlags(cmd *cobra.Command)
type GetVerifyBatchesOptions ¶ added in v0.1.74
type GetVerifyBatchesOptions struct {
RollupManagerAddress string
}
func (*GetVerifyBatchesOptions) AddFlags ¶ added in v0.1.74
func (o *GetVerifyBatchesOptions) AddFlags(cmd *cobra.Command)
type IMT ¶
type IMT struct { Branches map[uint32][]common.Hash Leaves map[uint32]common.Hash Roots []common.Hash ZeroHashes []common.Hash Proofs map[uint32]Proof }
func (*IMT) AddLeaf ¶
AddLeaf will take a given deposit and add it to the collection of leaves. It will also update the
func (*IMT) GetProof ¶
GetProof will return an object containing the proof data necessary for verification
type ProofOptions ¶ added in v0.1.74
type ProofOptions struct {
DepositCount uint32
}
func (*ProofOptions) AddFlags ¶ added in v0.1.74
func (o *ProofOptions) AddFlags(cmd *cobra.Command)
type ProofsSharedOptions ¶ added in v0.1.74
type ProofsSharedOptions struct {
}func (*ProofsSharedOptions) AddFlags ¶ added in v0.1.74
func (o *ProofsSharedOptions) AddFlags(cmd *cobra.Command)
type RollupsProof ¶ added in v0.1.74
type RollupsProof struct { Siblings [TreeDepth]common.Hash Root common.Hash RollupID uint32 LeafHash common.Hash }
func ComputeSiblings ¶ added in v0.1.74
type RollupsProofOptions ¶ added in v0.1.74
func (*RollupsProofOptions) AddFlags ¶ added in v0.1.74
func (o *RollupsProofOptions) AddFlags(cmd *cobra.Command)
Click to show internal directories.
Click to hide internal directories.