Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions content/community-contracts/api/crosschain.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,31 @@ description: "Smart contract crosschain utilities and implementations"
Gateways are contracts that enable cross-chain communication. These can either be a message source or a destination according to ERC-7786.

* [`ERC7786OpenBridge`](#ERC7786OpenBridge): ERC-7786 "N out of M" gateway. Sends a message through M gateways and executes on the destination if N received it.
* [`ERC7786Attributes`](#ERC7786Attributes): Library of helpers to parse and process ERC-7786 attributes.

Developers can access interoperability protocols through gateway adapters. The library includes the following gateway adapters:

* [`AxelarGatewayAdapter`](#AxelarGatewayAdapter): ERC-7786 gateway adapter for Axelar.
* [`WormholeGatewayAdapter`](#WormholeGatewayAdapter): ERC-7786 gateway adapter for Wormhole (EVM chains only).

## Gateways

[`ERC7786OpenBridge`](#ERC7786OpenBridge)

## Utilities

[`ERC7786Attributes`](#ERC7786Attributes)

## Adapters

### Axelar

[`AxelarGatewayAdapter`](#AxelarGatewayAdapter)

### Wormhole

[`WormholeGatewayAdapter`](#WormholeGatewayAdapter)

<a id="ERC7786OpenBridge"></a>

<div style={{marginTop: "4em"}} className="w-full flex flex-row items-center justify-between">
Expand Down
14 changes: 13 additions & 1 deletion content/community-contracts/api/interfaces.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,27 @@ description: "Smart contract interfaces utilities and implementations"

These interfaces are available as `.sol` files. These are useful to interact with third party contracts that implement them.

* [`IERC7540`](#IERC7540) (`IERC7540Operator`, `IERC7540Deposit`, `IERC7540Redeem`): Operator management and asynchronous deposit/redeem request interfaces for ERC-7540 tokenized vaults.
* [`IERC7575`](#IERC7575) (`IERC7575`, `IERC7575Share`): Multi-asset ERC-4626 vaults and share-to-vault lookup interfaces.
* [`IERC7786Attributes`](#IERC7786Attributes): Standard attributes for ERC-7786 cross-chain messaging.
* `IERC7913SignatureVerifier`
* `IERC7943`
* `IERC7943`: ERC-20 based interface for RWA tokens with account restrictions, asset freezing, and forced transfers.
* `IERC7969` (`IDKIMRegistry`): Onchain DKIM public key registry interface for email-based authentication.

## Detailed ABI

[`IERC7540`](#IERC7540)

[`IERC7575`](#IERC7575)

[`IERC7786Attributes`](#IERC7786Attributes)

{`IERC7913SignatureVerifier`}

{`IERC7943`}

{`IERC7969`}

<a id="IERC7540Operator"></a>

<div style={{marginTop: "4em"}} className="w-full flex flex-row items-center justify-between">
Expand Down
32 changes: 32 additions & 0 deletions content/community-contracts/api/token.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,17 @@ Set of extensions and utilities for tokens (e.g ERC-20, ERC-721, ERC-1155) and d
* [`ERC20Blocklist`](#ERC20Blocklist): Extension of ERC20 with transfers and approvals that can be disabled by adding users into a blocklist.
* [`ERC20Collateral`](#ERC20Collateral): Oracle-agnostic extension of ERC20 that limits the total supply based on a collateral amount.
* [`ERC20Custodian`](#ERC20Custodian): Extension of ERC20 that implements an access-control agnostic approach to define a custodian that can freeze user’s transfers and approvals.
* [`ERC20Freezable`](#ERC20Freezable): Extension of ERC20 that allows an authorized account to freeze a portion of an account’s balance, preventing it from being transferred until unfrozen.
* [`ERC20Restricted`](#ERC20Restricted): Extension of ERC20 that allows implementing user account transfer restrictions (blocklist or allowlist) inspired by EIP-7943.
* [`ERC20uRWA`](#ERC20uRWA): Extension of ERC20 according to EIP-7943, combining standard ERC-20 with RWA-specific features like account restrictions, asset freezing, and forced transfers.
* [`ERC4626Fees`](#ERC4626Fees): ERC4626 vault with fees on entry (deposit/mint) or exit (withdraw/redeem).
* [`ERC7540`](#ERC7540): Implementation of ERC-7540 "Asynchronous ERC-4626 Tokenized Vaults", providing a base for vaults with asynchronous deposit and/or redemption flows.
* [`ERC7540AdminDeposit`](#ERC7540AdminDeposit): Admin-controlled (operator-triggered) fulfillment strategy for asynchronous deposits in ERC-7540 vaults.
* [`ERC7540AdminRedeem`](#ERC7540AdminRedeem): Admin-controlled (operator-triggered) fulfillment strategy for asynchronous redemptions in ERC-7540 vaults.
* [`ERC7540DelayDeposit`](#ERC7540DelayDeposit): Time-delay fulfillment strategy for asynchronous deposits, becoming permissionlessly claimable after a configurable waiting period.
* [`ERC7540DelayRedeem`](#ERC7540DelayRedeem): Time-delay fulfillment strategy for asynchronous redemptions, becoming permissionlessly claimable after a configurable waiting period.
* [`ERC7540SyncDeposit`](#ERC7540SyncDeposit): Module for enabling synchronous (ERC-4626) deposit flow in an ERC-7540 vault.
* [`ERC7540SyncRedeem`](#ERC7540SyncRedeem): Module for enabling synchronous (ERC-4626) redeem flow in an ERC-7540 vault.

## General

Expand All @@ -26,8 +36,30 @@ Set of extensions and utilities for tokens (e.g ERC-20, ERC-721, ERC-1155) and d

[`ERC20Custodian`](#ERC20Custodian)

[`ERC20Freezable`](#ERC20Freezable)

[`ERC20Restricted`](#ERC20Restricted)

[`ERC20uRWA`](#ERC20uRWA)

[`ERC4626Fees`](#ERC4626Fees)

## ERC7540

[`ERC7540`](#ERC7540)

[`ERC7540AdminDeposit`](#ERC7540AdminDeposit)

[`ERC7540AdminRedeem`](#ERC7540AdminRedeem)

[`ERC7540DelayDeposit`](#ERC7540DelayDeposit)

[`ERC7540DelayRedeem`](#ERC7540DelayRedeem)

[`ERC7540SyncDeposit`](#ERC7540SyncDeposit)

[`ERC7540SyncRedeem`](#ERC7540SyncRedeem)

<a id="ERC20Allowlist"></a>

<div style={{marginTop: "4em"}} className="w-full flex flex-row items-center justify-between">
Expand Down
Loading