From 8982070dd7836afc2adc5210592d0be7d8fe3740 Mon Sep 17 00:00:00 2001 From: ChiTimesChi <88190723+ChiTimesChi@users.noreply.github.com> Date: Fri, 22 Nov 2024 11:23:35 +0000 Subject: [PATCH] docs: natspec --- packages/contracts-rfq/contracts/AdminV2.sol | 3 +++ packages/contracts-rfq/contracts/FastBridgeV2.sol | 9 ++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/contracts-rfq/contracts/AdminV2.sol b/packages/contracts-rfq/contracts/AdminV2.sol index 6a6361e552..b1ab948ef0 100644 --- a/packages/contracts-rfq/contracts/AdminV2.sol +++ b/packages/contracts-rfq/contracts/AdminV2.sol @@ -8,6 +8,9 @@ import {AccessControlEnumerable} from "@openzeppelin/contracts/access/extensions import {SafeERC20, IERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; import {Address} from "@openzeppelin/contracts/utils/Address.sol"; +/// @title AdminV2 +/// @notice Provides administrative functions and controls for managing the FastBridgeV2 contract, +/// including access control and configuration settings. contract AdminV2 is AccessControlEnumerable, IAdminV2, IAdminV2Errors { using SafeERC20 for IERC20; diff --git a/packages/contracts-rfq/contracts/FastBridgeV2.sol b/packages/contracts-rfq/contracts/FastBridgeV2.sol index 3925215fde..e92a73db03 100644 --- a/packages/contracts-rfq/contracts/FastBridgeV2.sol +++ b/packages/contracts-rfq/contracts/FastBridgeV2.sol @@ -14,7 +14,14 @@ import {MulticallTarget} from "./utils/MulticallTarget.sol"; import {SafeERC20, IERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; import {Address} from "@openzeppelin/contracts/utils/Address.sol"; -/// @notice FastBridgeV2 is a contract for bridging tokens across chains. +/// @title FastBridgeV2 +/// @notice Core component of the SynapseRFQ protocol, enabling Relayers (Solvers) to fulfill bridge requests. +/// Supports ERC20 and native gas tokens, along with the Zap feature for executing actions on the destination chain. +/// Users interact with the off-chain Quoter API to obtain a current quote for a bridge transaction. +/// They then submit the bridge request with the quote to this contract, depositing their assets in escrow. +/// Relayers can fulfill requests by relaying them to the destination chain and must prove fulfillment to claim funds. +/// Guards monitor proofs and can dispute discrepancies. +/// Users can reclaim funds by cancelling their requests if it has not been fulfilled within the specified deadline. contract FastBridgeV2 is AdminV2, MulticallTarget, IFastBridgeV2, IFastBridgeV2Errors { using BridgeTransactionV2Lib for bytes; using SafeERC20 for IERC20;