Skip to content

XToken v4, an invariant entry contract for users to choose which bridge: (custodian_dapp, source_token, target_token) #69

@hackfisher

Description

@hackfisher

XToken bridge will be defined by a three-element tuple: (custodian_dapp, source_token, target_token).

custodian_dapp consists of Backing contract(source chain) and Issuing contract(target chain). Its functions include the following parts:

  • Configure the message port that the bridge should use, This is crucial because Msgport choice is fundamental in ensuring the custodian's security.
  • Security and inspection strategies (KYC, Guard, Safebox, rescue, recovery, token whitelist etc)
  • Backing contract of the source chain: IXTokenBacking.sol. Removing the token update/register function.
  • Issuing contract of the target chain: IXTokenIssuing.sol. Removing the token update/register function.
  • Optionally, custodian_dapp can choose to provide a standard target_token template and util for user to create the target_token and set the mint auth to the custodian_dapp's Issuing contract

xToken can offer an invariant entry contract(without owner and proxy) across each chain, allowing users and UI interfaces to select the bridge tuple that best suits their needs, it will provide interfaces for custodian_dapp to implement, custodian_dapp must follow these xToken interfaces for being able to used by users via xToken entry contract.

In this way, It becomes permissionless, granting users the freedom to choose any custodian they prefer for their bridge.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions