Documentation
¶
Index ¶
- Constants
- Variables
- type BridgeEndpoints
- func (b *BridgeEndpoints) GetBridges(networkID uint32, pageNumber, pageSize *uint32, depositCount *uint64) (interface{}, rpc.Error)
- func (b *BridgeEndpoints) GetClaims(networkID uint32, pageNumber, pageSize *uint32) (interface{}, rpc.Error)
- func (b *BridgeEndpoints) GetProof(networkID uint32, depositCount uint32, l1InfoTreeIndex uint32) (interface{}, rpc.Error)
- func (b *BridgeEndpoints) GetSponsoredClaimStatus(globalIndex *big.Int) (interface{}, rpc.Error)
- func (b *BridgeEndpoints) GetTokenMappings(networkID uint32, pageNumber, pageSize *uint32) (interface{}, rpc.Error)
- func (b *BridgeEndpoints) InjectedInfoAfterIndex(networkID uint32, l1InfoTreeIndex uint32) (interface{}, rpc.Error)
- func (b *BridgeEndpoints) L1InfoTreeIndexForBridge(networkID uint32, depositCount uint32) (interface{}, rpc.Error)
- func (b *BridgeEndpoints) SponsorClaim(claim claimsponsor.Claim) (interface{}, rpc.Error)
- type Bridger
- type BridgesResult
- type ClaimSponsorer
- type ClaimsResult
- type L1InfoTreer
- type LastGERer
- type TokenMappingsResult
Constants ¶
const ( // DefaultPageSize is the default number of records to be fetched DefaultPageSize = 20 // MaxPageSize is the maximum number of records to be fetched MaxPageSize = 200 // DefaultPage is the default page number to be used when fetching records DefaultPage = 1 )
const (
// BRIDGE is the namespace of the bridge service
BRIDGE = "bridge"
)
Variables ¶
var (
ErrNotOnL1Info = errors.New("this bridge has not been included on the L1 Info Tree yet")
)
Functions ¶
This section is empty.
Types ¶
type BridgeEndpoints ¶
type BridgeEndpoints struct {
// contains filtered or unexported fields
}
BridgeEndpoints contains implementations for the "bridge" RPC endpoints
func NewBridgeEndpoints ¶
func NewBridgeEndpoints( logger *log.Logger, writeTimeout time.Duration, readTimeout time.Duration, networkID uint32, sponsor ClaimSponsorer, l1InfoTree L1InfoTreer, injectedGERs LastGERer, bridgeL1 Bridger, bridgeL2 Bridger, ) *BridgeEndpoints
NewBridgeEndpoints returns BridgeEndpoints
func (*BridgeEndpoints) GetBridges ¶
func (*BridgeEndpoints) GetClaims ¶
func (b *BridgeEndpoints) GetClaims(networkID uint32, pageNumber, pageSize *uint32, ) (interface{}, rpc.Error)
func (*BridgeEndpoints) GetProof ¶
func (b *BridgeEndpoints) GetProof( networkID uint32, depositCount uint32, l1InfoTreeIndex uint32, ) (interface{}, rpc.Error)
GetProof returns the proofs needed to claim a bridge. NetworkID and depositCount refere to the bridge origin while globalExitRoot should be already injected on the destination network. This call needs to be done to a client of the same network were the bridge tx was sent
func (*BridgeEndpoints) GetSponsoredClaimStatus ¶
func (b *BridgeEndpoints) GetSponsoredClaimStatus(globalIndex *big.Int) (interface{}, rpc.Error)
GetSponsoredClaimStatus returns the status of a claim that has been previously requested to be sponsored. This call needs to be done to the same client were it was requested to be sponsored
func (*BridgeEndpoints) GetTokenMappings ¶
func (b *BridgeEndpoints) GetTokenMappings(networkID uint32, pageNumber, pageSize *uint32) (interface{}, rpc.Error)
GetTokenMappings returns the token mappings for the given network
func (*BridgeEndpoints) InjectedInfoAfterIndex ¶
func (b *BridgeEndpoints) InjectedInfoAfterIndex(networkID uint32, l1InfoTreeIndex uint32) (interface{}, rpc.Error)
InjectedInfoAfterIndex return the first GER injected onto the network that is linked to the given index or greater. This call is useful to understand when a bridge is ready to be claimed on its destination network
func (*BridgeEndpoints) L1InfoTreeIndexForBridge ¶
func (b *BridgeEndpoints) L1InfoTreeIndexForBridge(networkID uint32, depositCount uint32) (interface{}, rpc.Error)
L1InfoTreeIndexForBridge returns the first L1 Info Tree index in which the bridge was included. networkID represents the origin network. This call needs to be done to a client of the same network were the bridge tx was sent
func (*BridgeEndpoints) SponsorClaim ¶
func (b *BridgeEndpoints) SponsorClaim(claim claimsponsor.Claim) (interface{}, rpc.Error)
SponsorClaim sends a claim tx on behalf of the user. This call needs to be done to a client of the same network were the claim is going to be sent (bridge destination)
type Bridger ¶
type Bridger interface {
GetProof(ctx context.Context, depositCount uint32, localExitRoot common.Hash) (tree.Proof, error)
GetRootByLER(ctx context.Context, ler common.Hash) (*tree.Root, error)
GetBridgesPaged(
ctx context.Context,
pageNumber, pageSize uint32,
depositCount *uint64,
) ([]*bridgesync.BridgeResponse, int, error)
GetTokenMappings(ctx context.Context, pageNumber, pageSize uint32) ([]*bridgesync.TokenMapping, int, error)
GetClaimsPaged(ctx context.Context, page, pageSize uint32) ([]*bridgesync.ClaimResponse, int, error)
}
type BridgesResult ¶
type BridgesResult struct {
Bridges []*bridgesync.BridgeResponse `json:"bridges"`
Count int `json:"count"`
}
BridgesResult contains the bridges and the total count of bridges
type ClaimSponsorer ¶
type ClaimSponsorer interface {
AddClaimToQueue(claim *claimsponsor.Claim) error
GetClaim(globalIndex *big.Int) (*claimsponsor.Claim, error)
}
type ClaimsResult ¶
type ClaimsResult struct {
Claims []*bridgesync.ClaimResponse `json:"claims"`
Count int `json:"count"`
}
ClaimsResult contains the claims and the total count of claims
type L1InfoTreer ¶
type L1InfoTreer interface {
GetInfoByIndex(ctx context.Context, index uint32) (*l1infotreesync.L1InfoTreeLeaf, error)
GetRollupExitTreeMerkleProof(ctx context.Context, networkID uint32, root common.Hash) (tree.Proof, error)
GetLocalExitRoot(ctx context.Context, networkID uint32, rollupExitRoot common.Hash) (common.Hash, error)
GetLastInfo() (*l1infotreesync.L1InfoTreeLeaf, error)
GetFirstInfo() (*l1infotreesync.L1InfoTreeLeaf, error)
GetFirstInfoAfterBlock(blockNum uint64) (*l1infotreesync.L1InfoTreeLeaf, error)
GetLastVerifiedBatches(rollupID uint32) (*l1infotreesync.VerifyBatches, error)
GetFirstVerifiedBatches(rollupID uint32) (*l1infotreesync.VerifyBatches, error)
GetFirstVerifiedBatchesAfterBlock(rollupID uint32, blockNum uint64) (*l1infotreesync.VerifyBatches, error)
GetFirstL1InfoWithRollupExitRoot(rollupExitRoot common.Hash) (*l1infotreesync.L1InfoTreeLeaf, error)
}
type TokenMappingsResult ¶
type TokenMappingsResult struct {
TokenMappings []*bridgesync.TokenMapping `json:"tokenMappings"`
Count int `json:"count"`
}
TokenMappingsResult contains the token mappings and the total count of token mappings