Skip to content

Phase 3: Create SubnetRootActorDiamond #1535

@LePremierHomme

Description

@LePremierHomme

Create a new Solidity diamond called SubnetRootActorDiamond to consolidate functionality from GatewayDiamond, SubnetActorDiamond, and SubnetRegistryDiamond for an EVM L1 rootnet deployment.

This top-level contract should manage a list of deployed subnets associated with a specific owner.

Module Feature Current Module Current Function
Core create new subnet RegisterSubnetFacet .newSubnetActor()
Core register subnet GatewayManagerFacet .register()
Core approve subnet GatewayManagerFacet .approveSubnet()
Core reject subnet GatewayManagerFacet .rejectApprovedSubnet()
Core terminate subnet GatewayManagerFacet .kill()
Core terminate subnet SubnetActorManagerFacet .kill()
Core add collateral GatewayManagerFacet .addStake()
Core release collateral GatewayManagerFacet .releaseStake()
Core deposit native token to a subnet address GatewayManagerFacet .fund()
Core deposit ERC20 token to a subnet address GatewayManagerFacet .fundWithToken()
Core release deposit GatewayManagerFacet .release()
Core owner pauses subnet operations SubnetActorPauseFacet .pause()
Core announce the network address of a bootstrap node SubnetActorManagerFacet .addBootstrapNode()
Core fund subnet before activation SubnetActorManagerFacet .preFund()
Core withdraw funds before activation SubnetActorManagerFacet .preRelease()
Core owner resumes subnet operations SubnetActorPauseFacet .resume()
Validators validator join SubnetActorManagerFacet .join()
Validators add stake SubnetActorManagerFacet .stake()
Validators remove stake SubnetActorManagerFacet .unstake()
Validators set federated power mode SubnetActorManagerFacet .setFederatedPower()
Validators set validator gateway SubnetActorManagerFacet .setValidatorGater()
Validators rewards claim SubnetActorRewardFacet .claim()
Validators activity claim SubnetActorActivityFacet .claim()
Validators set rewarder LibActivity .setRewarder()
Checkpointting Commit checkpoint CheckpointingFacet .commitCheckpoint()
Checkpointting Execute checkpoint CheckpointingFacet .execBottomUpMsgBatch()
Checkpointing Execute bottom up batch CheckpointingFacet .execBottomUpMsgBatch()
Checkpointting submit checkpoint with quorum signatures SubnetActorCheckpointingFacet .submitBottomUpCheckpoint()
Checkpointting submit checkpoint’s state root SubnetActorCheckpointingFacet .recordAppHashBreakdown()
Checkpointting execute bottom up batch SubnetActorCheckpointingFacet .execBottomUpBatch()
GMP send general-purpose cross-net msg (from contracts only) GatewayMessengerFacet .sendContractXnetMessage()
GMP commit validated cross-net msgs LibGateway .commitValidatedCrossMessage()
GMP check msgs LibGateway .checkCrossMessage()

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions