diff --git a/content/community-contracts/api/crosschain.mdx b/content/community-contracts/api/crosschain.mdx index 5d9685ff..bc828a44 100644 --- a/content/community-contracts/api/crosschain.mdx +++ b/content/community-contracts/api/crosschain.mdx @@ -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) +
diff --git a/content/community-contracts/api/interfaces.mdx b/content/community-contracts/api/interfaces.mdx index b251fb30..929cfbbd 100644 --- a/content/community-contracts/api/interfaces.mdx +++ b/content/community-contracts/api/interfaces.mdx @@ -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`} +
diff --git a/content/community-contracts/api/token.mdx b/content/community-contracts/api/token.mdx index 199261e2..f44ef154 100644 --- a/content/community-contracts/api/token.mdx +++ b/content/community-contracts/api/token.mdx @@ -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 @@ -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) +