Documentation
¶
Index ¶
Constants ¶
View Source
const ( ArgGasLimit = "gas-limit" ArgChainID = "chain-id" ArgPrivateKey = "private-key" ArgValue = "value" ArgRPCURL = "rpc-url" ArgBridgeAddress = "bridge-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" 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") )
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 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 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 ¶
func (s *IMT) AddLeaf(deposit *ulxly.UlxlyBridgeEvent)
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 Proof ¶
type Proof struct {
Siblings [TreeDepth]common.Hash
Root common.Hash
DepositCount uint32
LeafHash common.Hash
}
Click to show internal directories.
Click to hide internal directories.