From 36dffd43d165d8402c1db516c5b330104fb97fe2 Mon Sep 17 00:00:00 2001 From: MoMannn Date: Mon, 7 Sep 2026 11:20:20 +0200 Subject: [PATCH 01/10] implement compliance veda adapter --- .github/workflows/test.yml | 1 + script/DeployComplianceVedaAdapter.s.sol | 59 +++ src/helpers/ComplianceVedaAdapter.sol | 449 ++++++++++++++++++ .../interfaces/IComplianceVedaTeller.sol | 47 ++ test/helpers/ComplianceVedaLending.t.sol | 359 ++++++++++++++ 5 files changed, 915 insertions(+) create mode 100644 script/DeployComplianceVedaAdapter.s.sol create mode 100644 src/helpers/ComplianceVedaAdapter.sol create mode 100644 src/helpers/interfaces/IComplianceVedaTeller.sol create mode 100644 test/helpers/ComplianceVedaLending.t.sol diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 09fc09bc..9aeadf14 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -52,4 +52,5 @@ jobs: env: LINEA_RPC_URL: ${{ secrets.LINEA_RPC_URL }} ARBITRUM_RPC_URL: ${{ secrets.ARBITRUM_RPC_URL }} + MONAD_RPC_URL: ${{ secrets.MONAD_RPC_URL }} RPC_API_KEY: ${{ secrets.RPC_API_KEY }} diff --git a/script/DeployComplianceVedaAdapter.s.sol b/script/DeployComplianceVedaAdapter.s.sol new file mode 100644 index 00000000..65f55745 --- /dev/null +++ b/script/DeployComplianceVedaAdapter.s.sol @@ -0,0 +1,59 @@ +// SPDX-License-Identifier: MIT AND Apache-2.0 +pragma solidity 0.8.23; + +import "forge-std/Script.sol"; +import { console2 } from "forge-std/console2.sol"; + +import { ComplianceVedaAdapter } from "../src/helpers/ComplianceVedaAdapter.sol"; + +/** + * @title DeployComplianceVedaAdapter + * @notice Deploys ComplianceVedaAdapter deterministically with CREATE2. + * @dev Run with: + * forge script script/DeployComplianceVedaAdapter.s.sol --rpc-url --private-key $PRIVATE_KEY --broadcast + * Monad simulations may require --skip-simulation because its mUSD contract uses post-London opcodes. + */ +contract DeployComplianceVedaAdapter is Script { + bytes32 internal salt; + address internal vedaAdapterOwner; + address internal delegationManager; + address internal boringVault; + address internal vedaTeller; + address internal depositToken; + + function setUp() public { + salt = bytes32(abi.encodePacked(vm.envString("SALT"))); + vedaAdapterOwner = vm.envAddress("VEDA_ADAPTER_OWNER_ADDRESS"); + delegationManager = vm.envAddress("DELEGATION_MANAGER_ADDRESS"); + boringVault = vm.envAddress("VEDA_BORING_VAULT_ADDRESS"); + vedaTeller = vm.envAddress("VEDA_TELLER_ADDRESS"); + depositToken = vm.envAddress("VEDA_DEPOSIT_TOKEN_ADDRESS"); + + console2.log("~~~"); + console2.log("Owner: %s", vedaAdapterOwner); + console2.log("DelegationManager: %s", delegationManager); + console2.log("BoringVault: %s", boringVault); + console2.log("VedaTeller: %s", vedaTeller); + console2.log("DepositToken: %s", depositToken); + console2.log("Salt:"); + console2.logBytes32(salt); + } + + function run() public { + vm.startBroadcast(); + + // Foundry's fork mode cannot interact with mUSD on Monad (NotActivated in revm). + // Mock the approve call so simulation passes; the real broadcast executes the + // actual constructor on-chain where the token works correctly. + // vm.mockCall(depositToken, abi.encodeWithSelector(bytes4(keccak256("approve(address,uint256)"))), abi.encode(true)); + + address deployed = address( + new ComplianceVedaAdapter{ salt: salt }(vedaAdapterOwner, delegationManager, boringVault, vedaTeller, depositToken) + ); + + vm.stopBroadcast(); + console2.log("ComplianceVedaAdapter: %s", deployed); + + // vm.clearMockedCalls(); + } +} diff --git a/src/helpers/ComplianceVedaAdapter.sol b/src/helpers/ComplianceVedaAdapter.sol new file mode 100644 index 00000000..2a5d27c9 --- /dev/null +++ b/src/helpers/ComplianceVedaAdapter.sol @@ -0,0 +1,449 @@ +// SPDX-License-Identifier: MIT AND Apache-2.0 +pragma solidity 0.8.23; + +import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; +import { Ownable2Step, Ownable } from "@openzeppelin/contracts/access/Ownable2Step.sol"; +import { ModeLib } from "@erc7579/lib/ModeLib.sol"; +import { ExecutionLib } from "@erc7579/lib/ExecutionLib.sol"; +import { Delegation, ModeCode } from "../utils/Types.sol"; +import { IDelegationManager } from "../interfaces/IDelegationManager.sol"; +import { IComplianceVedaTeller } from "./interfaces/IComplianceVedaTeller.sol"; + +/** + * @title ComplianceVedaAdapter + * @notice Adapter contract that enables compliance-gated Veda BoringVault deposit and withdrawal operations + * through MetaMask's delegation framework + * @dev This contract acts as an intermediary between users and a compliance-enabled Veda Teller + * (`TellerWithMultiAssetSupport` Base V0.3 / `TellerWithYieldStreaming`), enabling delegation-based + * token operations without requiring direct token approvals from the user to the vault. + * + * Architecture: + * - BoringVault: The ERC20 vault share token that also custodies assets. On deposit, the vault pulls + * tokens from the caller via `safeTransferFrom`, so this adapter must approve the BoringVault. + * - Teller: The contract that orchestrates deposits/withdrawals. Deposits use the struct-based + * `deposit(DepositParams, to, referral, ComplianceData)` selector. Withdrawals use + * `teller.withdraw()` on TellerWithYieldStreaming. + * - depositToken: The single ERC20 token used for both deposits and withdrawals. Fixed at construction; + * deposits transfer this token into the vault, and withdrawals redeem vault shares back to this token. + * + * Compliance: + * - An off-chain backend verifies that the share recipient (`to`) is an approved account and produces + * an EIP-191 (`personal_sign`) signature. The Teller recovers the signer and checks that the signer + * holds the configured `complianceSignerRole` on the Teller's `RolesAuthority`. + * - The digest is `keccak256(abi.encode(teller, chainId, msg.sender, to, asset, amount, deadline))`, + * then prefixed with `"\x19Ethereum Signed Message:\n32"`. There is no separate nonce: replay + * protection is the Teller's `usedComplianceSignatures` map of that digest. + * - Because this adapter is `msg.sender` on the Teller call, the signature MUST bind this adapter as + * the caller and the root delegator as `to` (share recipient). A signature issued for a direct user + * deposit cannot be reused through this adapter. + * - When `allowlistedRouterRole` is enabled on the Teller, this adapter must hold that role so it can + * mint shares to `to != msg.sender`. Withdrawals are not compliance-gated. + * + * Delegation Flow: + * 1. The user creates an initial delegation to an "operator" address (a DeleGator-upgraded account). + * This delegation includes: + * - A transfer enforcer to control which tokens/shares and amounts can be transferred + * - A redeemer enforcer that restricts redemption to only the ComplianceVedaAdapter contract + * + * 2. The operator then redelegates to this ComplianceVedaAdapter contract with additional constraints: + * - Allowed methods enforcer limiting which functions can be called + * - Limited calls enforcer restricting the delegation to a single execution + * + * 3. For deposits: the adapter redeems the delegation chain, transfers tokens from the user to itself, + * and calls `teller.deposit(...)` with the caller-supplied `ComplianceData` to mint shares to the user. + * For withdrawals: the adapter redeems the delegation chain, transfers vault shares from the user + * to itself, and calls `teller.withdraw()` to burn shares and send `depositToken` assets to the user. + * + * Requirements: + * - ComplianceVedaAdapter must approve the BoringVault to spend deposit tokens. The constructor sets + * this allowance to `type(uint256).max`, and the owner-only `ensureAllowance()` function + * can be used as a fail-safe to restore it to max if it were ever reduced. + * + * Leaf Caveat Format: + * - The first caveat of the leaf delegation (`_delegations[0].caveats[0]`) must follow the + * ERC20TransferAmountEnforcer terms format: abi.encodePacked(address token, uint256 amount) (52 bytes). + * The adapter parses only the amount from these terms; the token address encoded in bytes 0–19 is + * consumed by the enforcer itself and is not read by this adapter. + * + * @notice Security consideration: Anyone can call `depositByDelegation` and `withdrawByDelegation` — there is no + * caller restriction. Security is enforced entirely through the delegation chain and, for deposits, the + * Teller's compliance check. The redelegation from the operator to this adapter MUST include an + * `ERC20TransferAmountEnforcer` caveat capped to exactly the intended deposit or withdrawal amount, and it + * MUST be the first caveat (`caveats[0]`) of that redelegation — the adapter reads the amount directly from + * `_delegations[0].caveats[0].terms`. Once that amount is transferred the enforcer's running total is + * exhausted and any replay attempt will revert, making the delegation effectively single-use. A delegation + * without this enforcer as the first caveat (or with an amount larger than intended) could be exploited by + * any caller to transfer more tokens than authorised. A valid compliance signature is additionally bound to + * this adapter, the recipient, the asset, the amount, and a deadline; it cannot be replayed after the Teller + * marks the digest as used. + */ +contract ComplianceVedaAdapter is Ownable2Step { + using SafeERC20 for IERC20; + using ExecutionLib for bytes; + using ModeLib for ModeCode; + + /** + * @notice Parameters for a single deposit operation in a batch + * @dev `compliance` is forwarded to the Teller unchanged. Each stream needs its own signature because + * the digest includes amount and deadline, and used signatures cannot be replayed. + */ + struct DepositParams { + Delegation[] delegations; + uint256 minimumMint; + IComplianceVedaTeller.ComplianceData compliance; + } + + /** + * @notice Parameters for a single withdrawal operation in a batch + */ + struct WithdrawParams { + Delegation[] delegations; + uint256 minimumAssets; + } + + ////////////////////////////// Events ////////////////////////////// + + /** + * @notice Emitted when a deposit operation is executed via delegation + * @param delegator Address of the token owner (delegator) + * @param token Address of the deposited token + * @param amount Amount of tokens deposited + * @param shares Amount of vault shares minted to the delegator + */ + event DepositExecuted(address indexed delegator, address indexed token, uint256 amount, uint256 shares); + + /** + * @notice Emitted when a withdrawal operation is executed via delegation + * @param delegator Address of the share owner (delegator) + * @param token Address of the underlying token withdrawn (always `depositToken`) + * @param shareAmount Amount of vault shares burned + * @param assetsOut Amount of underlying tokens sent to the delegator + */ + event WithdrawExecuted(address indexed delegator, address indexed token, uint256 shareAmount, uint256 assetsOut); + + /** + * @notice Emitted when a batch deposit is completed + * @param caller Address of the batch executor + * @param count Number of deposit streams executed + */ + event BatchDepositExecuted(address indexed caller, uint256 count); + + /** + * @notice Emitted when a batch withdrawal is completed + * @param caller Address of the batch executor + * @param count Number of withdrawal streams executed + */ + event BatchWithdrawExecuted(address indexed caller, uint256 count); + + /** + * @notice Emitted when stuck tokens are withdrawn by owner + * @param token Address of the token withdrawn + * @param recipient Address of the recipient + * @param amount Amount of tokens withdrawn + */ + event StuckTokensWithdrawn(IERC20 indexed token, address indexed recipient, uint256 amount); + + ////////////////////////////// Errors ////////////////////////////// + + /// @dev Thrown when a zero address is provided for required parameters + error InvalidZeroAddress(); + + /// @dev Thrown when a zero address is provided for the recipient + error InvalidRecipient(); + + /// @dev Thrown when the delegation chain has fewer than 2 delegations + error InvalidDelegationsLength(); + + /// @dev Thrown when the batch array is empty + error InvalidBatchLength(); + + /// @dev Thrown when the leaf caveat terms are shorter than 52 bytes (ERC20TransferAmountEnforcer format) + error InvalidTermsLength(); + + ////////////////////////////// State ////////////////////////////// + + /** + * @notice The DelegationManager contract used to redeem delegations + */ + IDelegationManager public immutable delegationManager; + + /** + * @notice The BoringVault contract (approval target for token transfers) + */ + address public immutable boringVault; + + /** + * @notice The compliance-gated Teller contract for deposit and withdrawal operations + */ + IComplianceVedaTeller public immutable teller; + + /** + * @notice The ERC20 token used for all deposits and withdrawals + * @dev Fixed at construction. Deposits transfer this token into the vault; withdrawals redeem vault + * shares back to this token. + */ + IERC20 public immutable depositToken; + + ////////////////////////////// Constructor ////////////////////////////// + + /** + * @notice Initializes the adapter with delegation manager, BoringVault, Teller, and deposit token addresses + * @param _owner Address of the contract owner + * @param _delegationManager Address of the delegation manager contract + * @param _boringVault Address of the BoringVault (token approval target) + * @param _teller Address of the compliance-gated Teller contract (deposit entry point) + * @param _depositToken Address of the ERC20 token used for all deposits and withdrawals + */ + constructor( + address _owner, + address _delegationManager, + address _boringVault, + address _teller, + address _depositToken + ) + Ownable(_owner) + { + if (_delegationManager == address(0) || _boringVault == address(0) || _teller == address(0) || _depositToken == address(0)) + { + revert InvalidZeroAddress(); + } + + delegationManager = IDelegationManager(_delegationManager); + boringVault = _boringVault; + teller = IComplianceVedaTeller(_teller); + depositToken = IERC20(_depositToken); + + // Approve BoringVault to pull tokens + depositToken.forceApprove(boringVault, type(uint256).max); + } + + ////////////////////////////// External Methods ////////////////////////////// + + /** + * @notice Deposits tokens into a Veda BoringVault using delegation-based token transfer + * @dev Redeems the delegation to transfer `depositToken` from the user to this adapter, then calls deposit + * on the Teller which mints vault shares directly to the original token owner. + * Requires at least 2 delegations forming a chain from user to operator to this adapter. + * The deposit amount is parsed from the first caveat of the leaf delegation + * (`_delegations[0].caveats[0].terms`), which must follow the ERC20TransferAmountEnforcer + * format: abi.encodePacked(address token, uint256 amount). + * `_compliance` is forwarded as-is. The Teller verifies deadline, EIP-191 signature, signer role, + * and unused digest. The signed `msg.sender` field must be this adapter and `to` must be the + * root delegator. + * @param _delegations Array of Delegation objects, sorted leaf to root + * @param _minimumMint Minimum vault shares the caller expects to receive, used as a sanity-check + * bound. The Veda vault conversion is always at fair value; rate drift from yield streaming + * is negligible. A tolerance of 0.1-0.5% is recommended. If this check causes a revert, + * no funds are lost — retry with a fresh quote. + * @param _compliance Backend-issued compliance approval (`deadline` + `signature`) for this deposit + * @notice Security consideration: Callable by anyone. The redelegation passed in MUST include an + * `ERC20TransferAmountEnforcer` as its first caveat (`caveats[0]`), capped to exactly the intended + * deposit amount, to prevent over-spending or replay. + */ + function depositByDelegation( + Delegation[] calldata _delegations, + uint256 _minimumMint, + IComplianceVedaTeller.ComplianceData calldata _compliance + ) + external + { + _executeDepositByDelegation(_delegations, _minimumMint, _compliance); + } + + /** + * @notice Deposits tokens using multiple delegation streams, executed sequentially + * @dev Each element is executed one after the other. The amount for each stream is parsed + * from the first caveat of each stream's leaf delegation. Each stream must carry its own + * `ComplianceData`; a signature cannot be reused across streams. + * @param _depositStreams Array of deposit parameters + * @notice Security consideration: Callable by anyone. Each redelegation in the batch MUST include an + * `ERC20TransferAmountEnforcer` as its first caveat (`caveats[0]`), capped to exactly the intended + * deposit amount, to prevent over-spending or replay. + */ + function depositByDelegationBatch(DepositParams[] calldata _depositStreams) external { + uint256 streamsLength_ = _depositStreams.length; + if (streamsLength_ == 0) revert InvalidBatchLength(); + + for (uint256 i = 0; i < streamsLength_;) { + DepositParams calldata params_ = _depositStreams[i]; + _executeDepositByDelegation(params_.delegations, params_.minimumMint, params_.compliance); + unchecked { + ++i; + } + } + + emit BatchDepositExecuted(msg.sender, streamsLength_); + } + + /** + * @notice Withdraws `depositToken` from a Veda BoringVault using delegation-based share transfer + * @dev Redeems the delegation to transfer vault shares to this adapter, then calls withdraw + * on the Teller which burns shares and sends `depositToken` assets directly to the original share owner. + * Requires at least 2 delegations forming a chain from user to operator to this adapter. + * The share amount is parsed from the first caveat of the leaf delegation + * (`_delegations[0].caveats[0].terms`), which must follow the ERC20TransferAmountEnforcer + * format: abi.encodePacked(address boringVault, uint256 shareAmount). + * Withdrawals are not compliance-gated by the Teller. + * @param _delegations Array of Delegation objects, sorted leaf to root + * @param _minimumAssets Minimum underlying assets the caller expects to receive, used as a + * sanity-check bound. The Veda vault conversion is always at fair value; rate drift from + * yield streaming is negligible. A tolerance of 0.1-0.5% is recommended. If this check + * causes a revert, no funds are lost — retry with a fresh quote. + * @notice Security consideration: Callable by anyone. The redelegation passed in MUST include an + * `ERC20TransferAmountEnforcer` as its first caveat (`caveats[0]`), capped to exactly the intended + * share amount, to prevent over-spending or replay. + */ + function withdrawByDelegation(Delegation[] calldata _delegations, uint256 _minimumAssets) external { + _executeWithdrawByDelegation(_delegations, _minimumAssets); + } + + /** + * @notice Withdraws `depositToken` using multiple delegation streams, executed sequentially + * @dev Each element is executed one after the other. The share amount for each stream is parsed + * from the first caveat of each stream's leaf delegation. + * @param _withdrawStreams Array of withdraw parameters + * @notice Security consideration: Callable by anyone. Each redelegation in the batch MUST include an + * `ERC20TransferAmountEnforcer` as its first caveat (`caveats[0]`), capped to exactly the intended + * share amount, to prevent over-spending or replay. + */ + function withdrawByDelegationBatch(WithdrawParams[] calldata _withdrawStreams) external { + uint256 streamsLength_ = _withdrawStreams.length; + if (streamsLength_ == 0) revert InvalidBatchLength(); + + for (uint256 i = 0; i < streamsLength_;) { + WithdrawParams calldata params_ = _withdrawStreams[i]; + _executeWithdrawByDelegation(params_.delegations, params_.minimumAssets); + unchecked { + ++i; + } + } + + emit BatchWithdrawExecuted(msg.sender, streamsLength_); + } + + /** + * @notice Emergency function to recover tokens accidentally sent to this contract + * @dev This contract should never hold ERC20 tokens as all token operations are handled + * through delegation-based transfers that move tokens directly between users and the BoringVault. + * This function is only for recovering tokens sent to this contract by mistake. + * Recommended delegation: restrict this owner action by token, recipient, amount, and call count. + * @param _token The token to be recovered + * @param _amount The amount of tokens to recover + * @param _recipient The address to receive the recovered tokens + */ + function withdrawEmergency(IERC20 _token, uint256 _amount, address _recipient) external onlyOwner { + if (_recipient == address(0)) revert InvalidRecipient(); + + _token.safeTransfer(_recipient, _amount); + + emit StuckTokensWithdrawn(_token, _recipient, _amount); + } + + /** + * @notice Resets the deposit token allowance for the BoringVault to `type(uint256).max` + * @dev Fail-safe function. The constructor already sets the allowance to `type(uint256).max` + * the allowance should realistically never be exhausted. This function exists only as a + * defensive measure. The owner can restore it to max. + * Recommended delegation: allow only this selector and limit it to one call. + */ + function ensureAllowance() external onlyOwner { + depositToken.forceApprove(boringVault, type(uint256).max); + } + + ////////////////////////////// Private/Internal Methods ////////////////////////////// + + /** + * @notice Parses the transfer amount from ERC20TransferAmountEnforcer terms + * @dev Terms format: abi.encodePacked(address token, uint256 amount) = 52 bytes. + * The token address (bytes 0–19) is validated by the enforcer itself and is not read here. + * Only the amount (bytes 20–51) is returned. + * @param _terms The raw terms bytes from a caveat + * @return amount_ The uint256 amount encoded in bytes 20-51 + */ + function _parseERC20TransferTerms(bytes calldata _terms) private pure returns (uint256 amount_) { + if (_terms.length < 52) revert InvalidTermsLength(); + amount_ = uint256(bytes32(_terms[20:52])); + } + + /** + * @notice Internal implementation of deposit by delegation + * @dev Parses the deposit amount from the first caveat of the leaf delegation + * via `_parseERC20TransferTerms`. Uses `depositToken` as the transfer token. + * Forwards `_compliance` to the Teller; this adapter is `msg.sender` and `to` is the root delegator. + * @param _delegations Delegation chain, sorted leaf to root + * @param _minimumMint Minimum vault shares expected (sanity-check bound) + * @param _compliance Backend-issued compliance approval for this deposit + */ + function _executeDepositByDelegation( + Delegation[] calldata _delegations, + uint256 _minimumMint, + IComplianceVedaTeller.ComplianceData calldata _compliance + ) + internal + { + uint256 length_ = _delegations.length; + if (length_ < 2) revert InvalidDelegationsLength(); + + uint256 amount_ = _parseERC20TransferTerms(_delegations[0].caveats[0].terms); + address rootDelegator_ = _delegations[length_ - 1].delegator; + + // Redeem delegation: transfer tokens from user to this adapter + bytes[] memory permissionContexts_ = new bytes[](1); + permissionContexts_[0] = abi.encode(_delegations); + + ModeCode[] memory encodedModes_ = new ModeCode[](1); + encodedModes_[0] = ModeLib.encodeSimpleSingle(); + + bytes[] memory executionCallDatas_ = new bytes[](1); + executionCallDatas_[0] = + ExecutionLib.encodeSingle(address(depositToken), 0, abi.encodeCall(IERC20.transfer, (address(this), amount_))); + + delegationManager.redeemDelegations(permissionContexts_, encodedModes_, executionCallDatas_); + + // Deposit into Teller: pulls depositToken from this adapter, mints shares to root delegator + uint256 shares_ = teller.deposit( + IComplianceVedaTeller.DepositParams({ + depositAsset: address(depositToken), depositAmount: amount_, minimumMint: _minimumMint + }), + rootDelegator_, + address(0), + _compliance + ); + + emit DepositExecuted(rootDelegator_, address(depositToken), amount_, shares_); + } + + /** + * @notice Internal implementation of withdraw by delegation + * @dev Parses the share amount from the first caveat of the leaf delegation + * via `_parseERC20TransferTerms`. Redeems vault shares and sends `depositToken` to the root delegator. + * @param _delegations Delegation chain, sorted leaf to root + * @param _minimumAssets Minimum underlying assets expected (sanity-check bound) + */ + function _executeWithdrawByDelegation(Delegation[] calldata _delegations, uint256 _minimumAssets) internal { + uint256 length_ = _delegations.length; + if (length_ < 2) revert InvalidDelegationsLength(); + + uint256 shareAmount_ = _parseERC20TransferTerms(_delegations[0].caveats[0].terms); + address rootDelegator_ = _delegations[length_ - 1].delegator; + + // Redeem delegation: transfer vault shares from user to this adapter + bytes[] memory permissionContexts_ = new bytes[](1); + permissionContexts_[0] = abi.encode(_delegations); + + ModeCode[] memory encodedModes_ = new ModeCode[](1); + encodedModes_[0] = ModeLib.encodeSimpleSingle(); + + bytes[] memory executionCallDatas_ = new bytes[](1); + executionCallDatas_[0] = + ExecutionLib.encodeSingle(boringVault, 0, abi.encodeCall(IERC20.transfer, (address(this), shareAmount_))); + + delegationManager.redeemDelegations(permissionContexts_, encodedModes_, executionCallDatas_); + + // Withdraw from Teller: burns shares from this adapter, sends depositToken to root delegator + uint256 assetsOut_ = teller.withdraw(address(depositToken), shareAmount_, _minimumAssets, rootDelegator_); + + emit WithdrawExecuted(rootDelegator_, address(depositToken), shareAmount_, assetsOut_); + } +} diff --git a/src/helpers/interfaces/IComplianceVedaTeller.sol b/src/helpers/interfaces/IComplianceVedaTeller.sol new file mode 100644 index 00000000..b247f1e0 --- /dev/null +++ b/src/helpers/interfaces/IComplianceVedaTeller.sol @@ -0,0 +1,47 @@ +// SPDX-License-Identifier: MIT AND Apache-2.0 +pragma solidity 0.8.23; + +/** + * @title IComplianceVedaTeller + * @notice Interface for compliance-gated Veda tellers using the Base V0.3 deposit API. + * @dev Asset fields use address instead of Solmate's ERC20 type because both have the same ABI encoding. + */ +interface IComplianceVedaTeller { + struct DepositParams { + address depositAsset; + uint256 depositAmount; + uint256 minimumMint; + } + + struct ComplianceData { + uint256 deadline; + bytes signature; + } + + /** + * @notice Deposits an asset and mints vault shares to `to`. + * @dev The compliance signature is bound to this teller, chain ID, caller, recipient, asset, amount, and deadline. + */ + function deposit( + DepositParams calldata params, + address to, + address referralAddress, + ComplianceData calldata compliance + ) + external + payable + returns (uint256 shares); + + /** + * @notice Burns shares from the caller and sends the selected asset to `to`. + * @dev Available on TellerWithYieldStreaming. + */ + function withdraw( + address withdrawAsset, + uint256 shareAmount, + uint256 minimumAssets, + address to + ) + external + returns (uint256 assetsOut); +} diff --git a/test/helpers/ComplianceVedaLending.t.sol b/test/helpers/ComplianceVedaLending.t.sol new file mode 100644 index 00000000..797ccb2e --- /dev/null +++ b/test/helpers/ComplianceVedaLending.t.sol @@ -0,0 +1,359 @@ +// SPDX-License-Identifier: MIT AND Apache-2.0 +pragma solidity 0.8.23; + +import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; + +import { EncoderLib } from "../../src/libraries/EncoderLib.sol"; +import { IComplianceVedaTeller } from "../../src/helpers/interfaces/IComplianceVedaTeller.sol"; +import { ComplianceVedaAdapter } from "../../src/helpers/ComplianceVedaAdapter.sol"; +import { ERC20TransferAmountEnforcer } from "../../src/enforcers/ERC20TransferAmountEnforcer.sol"; +import { RedeemerEnforcer } from "../../src/enforcers/RedeemerEnforcer.sol"; +import { Delegation, Caveat } from "../../src/utils/Types.sol"; +import { BaseTest } from "../utils/BaseTest.t.sol"; +import { Implementation, SignatureType, TestUser } from "../utils/Types.t.sol"; + +interface IRolesAuthority { + function owner() external view returns (address); + function setUserRole(address user, uint8 role, bool enabled) external; + function setRoleCapability(uint8 role, address target, bytes4 functionSig, bool enabled) external; +} + +interface ITellerConfiguration { + function owner() external view returns (address); + function setTransferRestrictions(uint8 transferAllowedRole, uint8 allowlistedRouterRole) external; +} + +/// forge-config: default.evm_version = "cancun" +contract ComplianceVedaLendingTest is BaseTest { + IComplianceVedaTeller internal constant TELLER = IComplianceVedaTeller(0xB0025a2eBc0474d4F28E975F0D3E70471246ebae); + IERC20 internal constant BORING_VAULT = IERC20(0xBFeC8c2b1ccea3931a1363E4CaC27352c1C908B7); + IERC20 internal constant MUSD = IERC20(0xacA92E438df0B2401fF60dA7E4337B687a2435DA); + IRolesAuthority internal constant ROLES_AUTHORITY = IRolesAuthority(0x00f0CF4f540D1d47470f565Ecb11a75E073c2dd0); + + address internal constant MUSD_WHALE = 0x6cb5094cfe45Ee97938702637478fe7146A8FA0f; + uint8 internal constant COMPLIANCE_SIGNER_ROLE = 36; + uint8 internal constant TRANSFER_ALLOWED_ROLE = 37; + uint8 internal constant TEST_ROUTER_ROLE = 254; + + uint256 internal constant INITIAL_MUSD_BALANCE = 100_000e6; + uint256 internal constant DEPOSIT_AMOUNT = 1_000e6; + uint256 internal constant COMPLIANCE_SIGNER_KEY = 0xC011A11CE; + + ERC20TransferAmountEnforcer internal erc20TransferAmountEnforcer; + RedeemerEnforcer internal redeemerEnforcer; + ComplianceVedaAdapter internal adapter; + address internal adapterOwner; + address internal complianceSigner; + + function setUp() public override { + vm.createSelectFork(vm.envString("MONAD_RPC_URL")); + + IMPLEMENTATION = Implementation.Hybrid; + SIGNATURE_TYPE = SignatureType.RawP256; + super.setUp(); + + adapterOwner = makeAddr("ComplianceVedaAdapter Owner"); + complianceSigner = vm.addr(COMPLIANCE_SIGNER_KEY); + erc20TransferAmountEnforcer = new ERC20TransferAmountEnforcer(); + redeemerEnforcer = new RedeemerEnforcer(); + adapter = new ComplianceVedaAdapter( + adapterOwner, address(delegationManager), address(BORING_VAULT), address(TELLER), address(MUSD) + ); + + _configureForkRoles(); + + vm.prank(MUSD_WHALE); + require(MUSD.transfer(address(users.alice.deleGator), INITIAL_MUSD_BALANCE), "mUSD funding failed"); + + vm.label(address(adapter), "ComplianceVedaAdapter"); + vm.label(address(TELLER), "Veda Compliance Teller"); + vm.label(address(BORING_VAULT), "Premium mUSD Vault"); + vm.label(address(MUSD), "mUSD"); + vm.label(complianceSigner, "Compliance Signer"); + } + + function test_deposit_direct_withCompliance() public { + uint256 deadline_ = block.timestamp + 30 minutes; + bytes memory signature_ = _signCompliance( + address(users.alice.deleGator), address(users.alice.deleGator), DEPOSIT_AMOUNT, deadline_, COMPLIANCE_SIGNER_KEY + ); + + vm.startPrank(address(users.alice.deleGator)); + MUSD.approve(address(BORING_VAULT), DEPOSIT_AMOUNT); + uint256 shares_ = TELLER.deposit( + IComplianceVedaTeller.DepositParams(address(MUSD), DEPOSIT_AMOUNT, 0), + address(users.alice.deleGator), + address(0), + IComplianceVedaTeller.ComplianceData(deadline_, signature_) + ); + vm.stopPrank(); + + assertGt(shares_, 0); + assertEq(BORING_VAULT.balanceOf(address(users.alice.deleGator)), shares_); + } + + function test_deposit_viaAdapter_withCompliance() public { + uint256 shares_ = _depositViaAdapter(DEPOSIT_AMOUNT, 0, block.timestamp + 30 minutes); + + assertGt(shares_, 0); + assertEq(MUSD.balanceOf(address(adapter)), 0); + assertEq(BORING_VAULT.balanceOf(address(adapter)), 0); + } + + function test_withdraw_viaAdapter_afterComplianceDeposit() public { + _depositViaAdapter(DEPOSIT_AMOUNT, 0, block.timestamp + 30 minutes); + uint256 shares_ = BORING_VAULT.balanceOf(address(users.alice.deleGator)); + uint256 assetsBefore_ = MUSD.balanceOf(address(users.alice.deleGator)); + Delegation[] memory delegations_ = _createDelegationChain(address(BORING_VAULT), shares_, 1); + + vm.prank(address(users.bob.deleGator)); + adapter.withdrawByDelegation(delegations_, 0); + + assertEq(BORING_VAULT.balanceOf(address(users.alice.deleGator)), 0); + assertGt(MUSD.balanceOf(address(users.alice.deleGator)), assetsBefore_); + assertEq(BORING_VAULT.balanceOf(address(adapter)), 0); + } + + function test_deposit_batch_withUniqueComplianceApprovals() public { + uint256 firstAmount_ = DEPOSIT_AMOUNT; + uint256 secondAmount_ = DEPOSIT_AMOUNT / 2; + ComplianceVedaAdapter.DepositParams[] memory streams_ = new ComplianceVedaAdapter.DepositParams[](2); + streams_[0] = _buildDepositParams(firstAmount_, 10, block.timestamp + 20 minutes); + streams_[1] = _buildDepositParams(secondAmount_, 11, block.timestamp + 21 minutes); + + vm.prank(address(users.bob.deleGator)); + adapter.depositByDelegationBatch(streams_); + + assertGt(BORING_VAULT.balanceOf(address(users.alice.deleGator)), 0); + assertEq(MUSD.balanceOf(address(adapter)), 0); + } + + function test_withdraw_batch_afterComplianceDeposits() public { + _depositViaAdapter(DEPOSIT_AMOUNT, 12, block.timestamp + 20 minutes); + uint256 shares_ = BORING_VAULT.balanceOf(address(users.alice.deleGator)); + uint256 firstShareAmount_ = shares_ / 2; + + ComplianceVedaAdapter.WithdrawParams[] memory streams_ = new ComplianceVedaAdapter.WithdrawParams[](2); + streams_[0] = ComplianceVedaAdapter.WithdrawParams({ + delegations: _createDelegationChain(address(BORING_VAULT), firstShareAmount_, 13), minimumAssets: 0 + }); + streams_[1] = ComplianceVedaAdapter.WithdrawParams({ + delegations: _createDelegationChain(address(BORING_VAULT), shares_ - firstShareAmount_, 14), minimumAssets: 0 + }); + + vm.prank(address(users.bob.deleGator)); + adapter.withdrawByDelegationBatch(streams_); + + assertEq(BORING_VAULT.balanceOf(address(users.alice.deleGator)), 0); + assertEq(BORING_VAULT.balanceOf(address(adapter)), 0); + } + + function test_reverts_replayedComplianceSignatureWithFreshDelegation() public { + uint256 deadline_ = block.timestamp + 30 minutes; + _depositViaAdapter(DEPOSIT_AMOUNT, 20, deadline_); + + Delegation[] memory freshDelegations_ = _createDelegationChain(address(MUSD), DEPOSIT_AMOUNT, 21); + IComplianceVedaTeller.ComplianceData memory compliance_ = + _complianceData(address(users.alice.deleGator), DEPOSIT_AMOUNT, deadline_, COMPLIANCE_SIGNER_KEY); + + vm.prank(address(users.bob.deleGator)); + vm.expectRevert(); + adapter.depositByDelegation(freshDelegations_, 0, compliance_); + } + + function test_reverts_expiredComplianceSignature() public { + uint256 deadline_ = block.timestamp - 1; + Delegation[] memory delegations_ = _createDelegationChain(address(MUSD), DEPOSIT_AMOUNT, 30); + IComplianceVedaTeller.ComplianceData memory compliance_ = + _complianceData(address(users.alice.deleGator), DEPOSIT_AMOUNT, deadline_, COMPLIANCE_SIGNER_KEY); + + vm.prank(address(users.bob.deleGator)); + vm.expectRevert(); + adapter.depositByDelegation(delegations_, 0, compliance_); + } + + function test_reverts_wrongComplianceSigner() public { + uint256 deadline_ = block.timestamp + 30 minutes; + Delegation[] memory delegations_ = _createDelegationChain(address(MUSD), DEPOSIT_AMOUNT, 31); + IComplianceVedaTeller.ComplianceData memory compliance_ = + _complianceData(address(users.alice.deleGator), DEPOSIT_AMOUNT, deadline_, 0xBAD); + + vm.prank(address(users.bob.deleGator)); + vm.expectRevert(); + adapter.depositByDelegation(delegations_, 0, compliance_); + } + + function test_reverts_signatureForWrongRecipient() public { + uint256 deadline_ = block.timestamp + 30 minutes; + Delegation[] memory delegations_ = _createDelegationChain(address(MUSD), DEPOSIT_AMOUNT, 32); + IComplianceVedaTeller.ComplianceData memory compliance_ = + _complianceData(address(users.bob.deleGator), DEPOSIT_AMOUNT, deadline_, COMPLIANCE_SIGNER_KEY); + + vm.prank(address(users.bob.deleGator)); + vm.expectRevert(); + adapter.depositByDelegation(delegations_, 0, compliance_); + } + + function test_reverts_minimumMintTooHigh() public { + uint256 deadline_ = block.timestamp + 30 minutes; + Delegation[] memory delegations_ = _createDelegationChain(address(MUSD), DEPOSIT_AMOUNT, 33); + IComplianceVedaTeller.ComplianceData memory compliance_ = + _complianceData(address(users.alice.deleGator), DEPOSIT_AMOUNT, deadline_, COMPLIANCE_SIGNER_KEY); + + vm.prank(address(users.bob.deleGator)); + vm.expectRevert(); + adapter.depositByDelegation(delegations_, type(uint256).max, compliance_); + } + + function test_reverts_emptyBatches() public { + ComplianceVedaAdapter.DepositParams[] memory deposits_ = new ComplianceVedaAdapter.DepositParams[](0); + ComplianceVedaAdapter.WithdrawParams[] memory withdrawals_ = new ComplianceVedaAdapter.WithdrawParams[](0); + + vm.expectRevert(ComplianceVedaAdapter.InvalidBatchLength.selector); + adapter.depositByDelegationBatch(deposits_); + vm.expectRevert(ComplianceVedaAdapter.InvalidBatchLength.selector); + adapter.withdrawByDelegationBatch(withdrawals_); + } + + function _configureForkRoles() internal { + address authorityOwner_ = ROLES_AUTHORITY.owner(); + address tellerOwner_ = ITellerConfiguration(address(TELLER)).owner(); + assertEq(authorityOwner_, tellerOwner_); + + vm.startPrank(authorityOwner_); + ROLES_AUTHORITY.setUserRole(complianceSigner, COMPLIANCE_SIGNER_ROLE, true); + ROLES_AUTHORITY.setUserRole(address(adapter), TRANSFER_ALLOWED_ROLE, true); + ROLES_AUTHORITY.setUserRole(address(adapter), TEST_ROUTER_ROLE, true); + ROLES_AUTHORITY.setRoleCapability(TEST_ROUTER_ROLE, address(TELLER), IComplianceVedaTeller.withdraw.selector, true); + ITellerConfiguration(address(TELLER)).setTransferRestrictions(TRANSFER_ALLOWED_ROLE, TEST_ROUTER_ROLE); + vm.stopPrank(); + } + + function _depositViaAdapter(uint256 _amount, uint256 _salt, uint256 _deadline) internal returns (uint256 shares_) { + uint256 sharesBefore_ = BORING_VAULT.balanceOf(address(users.alice.deleGator)); + Delegation[] memory delegations_ = _createDelegationChain(address(MUSD), _amount, _salt); + IComplianceVedaTeller.ComplianceData memory compliance_ = + _complianceData(address(users.alice.deleGator), _amount, _deadline, COMPLIANCE_SIGNER_KEY); + + vm.prank(address(users.bob.deleGator)); + adapter.depositByDelegation(delegations_, 0, compliance_); + shares_ = BORING_VAULT.balanceOf(address(users.alice.deleGator)) - sharesBefore_; + } + + function _buildDepositParams( + uint256 _amount, + uint256 _salt, + uint256 _deadline + ) + internal + view + returns (ComplianceVedaAdapter.DepositParams memory) + { + return ComplianceVedaAdapter.DepositParams({ + delegations: _createDelegationChain(address(MUSD), _amount, _salt), + minimumMint: 0, + compliance: _complianceData(address(users.alice.deleGator), _amount, _deadline, COMPLIANCE_SIGNER_KEY) + }); + } + + function _createDelegationChain( + address _token, + uint256 _amount, + uint256 _salt + ) + internal + view + returns (Delegation[] memory delegations_) + { + Delegation memory root_ = _createTransferDelegation(users.alice, _token, type(uint256).max, _salt); + Delegation memory leaf_ = _createAdapterRedelegation(EncoderLib._getDelegationHash(root_), _token, _amount, _salt); + + delegations_ = new Delegation[](2); + delegations_[0] = leaf_; + delegations_[1] = root_; + } + + function _createTransferDelegation( + TestUser memory _delegator, + address _token, + uint256 _amount, + uint256 _salt + ) + internal + view + returns (Delegation memory) + { + Caveat[] memory caveats_ = new Caveat[](2); + caveats_[0] = + Caveat({ args: hex"", enforcer: address(erc20TransferAmountEnforcer), terms: abi.encodePacked(_token, _amount) }); + caveats_[1] = Caveat({ args: hex"", enforcer: address(redeemerEnforcer), terms: abi.encodePacked(address(adapter)) }); + + Delegation memory delegation_ = Delegation({ + delegate: address(users.bob.deleGator), + delegator: address(_delegator.deleGator), + authority: ROOT_AUTHORITY, + caveats: caveats_, + salt: _salt, + signature: hex"" + }); + return signDelegation(_delegator, delegation_); + } + + function _createAdapterRedelegation( + bytes32 _authority, + address _token, + uint256 _amount, + uint256 _salt + ) + internal + view + returns (Delegation memory) + { + Caveat[] memory caveats_ = new Caveat[](1); + caveats_[0] = + Caveat({ args: hex"", enforcer: address(erc20TransferAmountEnforcer), terms: abi.encodePacked(_token, _amount) }); + + Delegation memory delegation_ = Delegation({ + delegate: address(adapter), + delegator: address(users.bob.deleGator), + authority: _authority, + caveats: caveats_, + salt: _salt, + signature: hex"" + }); + return signDelegation(users.bob, delegation_); + } + + function _complianceData( + address _recipient, + uint256 _amount, + uint256 _deadline, + uint256 _signerKey + ) + internal + view + returns (IComplianceVedaTeller.ComplianceData memory) + { + return IComplianceVedaTeller.ComplianceData({ + deadline: _deadline, signature: _signCompliance(address(adapter), _recipient, _amount, _deadline, _signerKey) + }); + } + + function _signCompliance( + address _caller, + address _recipient, + uint256 _amount, + uint256 _deadline, + uint256 _signerKey + ) + internal + view + returns (bytes memory) + { + bytes32 messageHash_ = + keccak256(abi.encode(address(TELLER), block.chainid, _caller, _recipient, address(MUSD), _amount, _deadline)); + bytes32 ethSignedMessageHash_ = keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", messageHash_)); + (uint8 v_, bytes32 r_, bytes32 s_) = vm.sign(_signerKey, ethSignedMessageHash_); + return abi.encodePacked(r_, s_, v_); + } +} From bba85962678972ece96af923e2270ee2c55b45c4 Mon Sep 17 00:00:00 2001 From: MoMannn Date: Mon, 7 Sep 2026 11:39:42 +0200 Subject: [PATCH 02/10] update monad rpc in example --- .env.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.env.example b/.env.example index 4083dfd8..d4dd0284 100644 --- a/.env.example +++ b/.env.example @@ -43,7 +43,7 @@ ARBITRUM_NOVA_RPC_URL=https://nova.arbitrum.io/rpc SEI_RPC_URL=https://evm-rpc.sei-apis.com INK_RPC_URL=https://rpc-gel.inkonchain.com SONIC_RPC_URL=https://rpc.soniclabs.com -MONAD_RPC_URL=https://rpc.monad.xyz +MONAD_RPC_URL=https://monad-mainnet.infura.io/v3/${RPC_API_KEY} MEGA_ETH_RPC_URL= RONIN_RPC_URL=https://api.roninchain.com/rpc TEMPO_RPC_URL=https://rpc.tempo.xyz From 686f0ab98bd9a1daef7997d0e8ff845165821295 Mon Sep 17 00:00:00 2001 From: MoMannn Date: Wed, 30 Sep 2026 13:40:31 +0200 Subject: [PATCH 03/10] update tests --- test/helpers/ComplianceVedaLending.t.sol | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/test/helpers/ComplianceVedaLending.t.sol b/test/helpers/ComplianceVedaLending.t.sol index 797ccb2e..f0fc6440 100644 --- a/test/helpers/ComplianceVedaLending.t.sol +++ b/test/helpers/ComplianceVedaLending.t.sol @@ -23,6 +23,13 @@ interface ITellerConfiguration { function setTransferRestrictions(uint8 transferAllowedRole, uint8 allowlistedRouterRole) external; } +/// @dev Custom errors thrown by the deployed Veda `TellerWithMultiAssetSupport` (Base V0.3). Declared here so the +/// negative tests can assert the exact revert reason instead of accepting any revert. +interface ITellerErrors { + error TellerWithMultiAssetSupport__ComplianceCheckFailed(); + error TellerWithMultiAssetSupport__MinimumMintNotMet(); +} + /// forge-config: default.evm_version = "cancun" contract ComplianceVedaLendingTest is BaseTest { IComplianceVedaTeller internal constant TELLER = IComplianceVedaTeller(0xB0025a2eBc0474d4F28E975F0D3E70471246ebae); @@ -157,7 +164,7 @@ contract ComplianceVedaLendingTest is BaseTest { _complianceData(address(users.alice.deleGator), DEPOSIT_AMOUNT, deadline_, COMPLIANCE_SIGNER_KEY); vm.prank(address(users.bob.deleGator)); - vm.expectRevert(); + vm.expectRevert(ITellerErrors.TellerWithMultiAssetSupport__ComplianceCheckFailed.selector); adapter.depositByDelegation(freshDelegations_, 0, compliance_); } @@ -168,7 +175,7 @@ contract ComplianceVedaLendingTest is BaseTest { _complianceData(address(users.alice.deleGator), DEPOSIT_AMOUNT, deadline_, COMPLIANCE_SIGNER_KEY); vm.prank(address(users.bob.deleGator)); - vm.expectRevert(); + vm.expectRevert(ITellerErrors.TellerWithMultiAssetSupport__ComplianceCheckFailed.selector); adapter.depositByDelegation(delegations_, 0, compliance_); } @@ -179,7 +186,7 @@ contract ComplianceVedaLendingTest is BaseTest { _complianceData(address(users.alice.deleGator), DEPOSIT_AMOUNT, deadline_, 0xBAD); vm.prank(address(users.bob.deleGator)); - vm.expectRevert(); + vm.expectRevert(ITellerErrors.TellerWithMultiAssetSupport__ComplianceCheckFailed.selector); adapter.depositByDelegation(delegations_, 0, compliance_); } @@ -190,7 +197,7 @@ contract ComplianceVedaLendingTest is BaseTest { _complianceData(address(users.bob.deleGator), DEPOSIT_AMOUNT, deadline_, COMPLIANCE_SIGNER_KEY); vm.prank(address(users.bob.deleGator)); - vm.expectRevert(); + vm.expectRevert(ITellerErrors.TellerWithMultiAssetSupport__ComplianceCheckFailed.selector); adapter.depositByDelegation(delegations_, 0, compliance_); } @@ -201,7 +208,7 @@ contract ComplianceVedaLendingTest is BaseTest { _complianceData(address(users.alice.deleGator), DEPOSIT_AMOUNT, deadline_, COMPLIANCE_SIGNER_KEY); vm.prank(address(users.bob.deleGator)); - vm.expectRevert(); + vm.expectRevert(ITellerErrors.TellerWithMultiAssetSupport__MinimumMintNotMet.selector); adapter.depositByDelegation(delegations_, type(uint256).max, compliance_); } From 9578affd2c851c1df57e4cd86d5ab642d4d11db6 Mon Sep 17 00:00:00 2001 From: MoMannn Date: Wed, 30 Sep 2026 13:50:17 +0200 Subject: [PATCH 04/10] update natspec --- src/helpers/ComplianceVedaAdapter.sol | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/helpers/ComplianceVedaAdapter.sol b/src/helpers/ComplianceVedaAdapter.sol index 2a5d27c9..400c5974 100644 --- a/src/helpers/ComplianceVedaAdapter.sol +++ b/src/helpers/ComplianceVedaAdapter.sol @@ -37,8 +37,13 @@ import { IComplianceVedaTeller } from "./interfaces/IComplianceVedaTeller.sol"; * - Because this adapter is `msg.sender` on the Teller call, the signature MUST bind this adapter as * the caller and the root delegator as `to` (share recipient). A signature issued for a direct user * deposit cannot be reused through this adapter. - * - When `allowlistedRouterRole` is enabled on the Teller, this adapter must hold that role so it can - * mint shares to `to != msg.sender`. Withdrawals are not compliance-gated. + * - Veda RolesAuthority prerequisites: + * - `allowlistedRouterRole` must permit this adapter to route both deposits and withdrawals to the + * root delegator, because the Teller sees `to != msg.sender` in both flows. + * - When `transferAllowedRole` is enabled, withdrawals must satisfy that role during the delegated + * vault-share transfer. Granting it to this adapter supports all users. + * - The Teller's deposit and withdraw selectors must be public or otherwise callable by this adapter. + * Withdrawals do not require a compliance signature, but these role checks still apply. * * Delegation Flow: * 1. The user creates an initial delegation to an "operator" address (a DeleGator-upgraded account). @@ -284,7 +289,8 @@ contract ComplianceVedaAdapter is Ownable2Step { * The share amount is parsed from the first caveat of the leaf delegation * (`_delegations[0].caveats[0].terms`), which must follow the ERC20TransferAmountEnforcer * format: abi.encodePacked(address boringVault, uint256 shareAmount). - * Withdrawals are not compliance-gated by the Teller. + * Withdrawals do not require a compliance signature. The Teller's routing and transfer role checks + * still apply; see the contract-level RolesAuthority prerequisites. * @param _delegations Array of Delegation objects, sorted leaf to root * @param _minimumAssets Minimum underlying assets the caller expects to receive, used as a * sanity-check bound. The Veda vault conversion is always at fair value; rate drift from From 83d430e396cdca7d111045781044e90bb391e2a8 Mon Sep 17 00:00:00 2001 From: MoMannn Date: Wed, 30 Sep 2026 13:54:10 +0200 Subject: [PATCH 05/10] update natspec --- src/helpers/ComplianceVedaAdapter.sol | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/helpers/ComplianceVedaAdapter.sol b/src/helpers/ComplianceVedaAdapter.sol index 400c5974..8623a2f3 100644 --- a/src/helpers/ComplianceVedaAdapter.sol +++ b/src/helpers/ComplianceVedaAdapter.sol @@ -51,9 +51,11 @@ import { IComplianceVedaTeller } from "./interfaces/IComplianceVedaTeller.sol"; * - A transfer enforcer to control which tokens/shares and amounts can be transferred * - A redeemer enforcer that restricts redemption to only the ComplianceVedaAdapter contract * - * 2. The operator then redelegates to this ComplianceVedaAdapter contract with additional constraints: - * - Allowed methods enforcer limiting which functions can be called - * - Limited calls enforcer restricting the delegation to a single execution + * 2. The operator then redelegates to this ComplianceVedaAdapter contract. The leaf caveat is an + * `ERC20TransferAmountEnforcer` capped to the exact amount. That enforcer already requires + * `IERC20.transfer` (`0xa9059cbb`) and the token target — `depositToken` for deposits, + * `boringVault` for withdrawals — so a separate allowed-methods caveat is not used. A limited-calls + * enforcer can further restrict the redelegation to a single execution. * * 3. For deposits: the adapter redeems the delegation chain, transfers tokens from the user to itself, * and calls `teller.deposit(...)` with the caller-supplied `ComplianceData` to mint shares to the user. @@ -69,7 +71,9 @@ import { IComplianceVedaTeller } from "./interfaces/IComplianceVedaTeller.sol"; * - The first caveat of the leaf delegation (`_delegations[0].caveats[0]`) must follow the * ERC20TransferAmountEnforcer terms format: abi.encodePacked(address token, uint256 amount) (52 bytes). * The adapter parses only the amount from these terms; the token address encoded in bytes 0–19 is - * consumed by the enforcer itself and is not read by this adapter. + * consumed by the enforcer itself and is not read by this adapter. The enforcer evaluates the + * preliminary token transfer redeemed through `DelegationManager`, not the adapter entry point or + * the subsequent Teller call. * * @notice Security consideration: Anyone can call `depositByDelegation` and `withdrawByDelegation` — there is no * caller restriction. Security is enforced entirely through the delegation chain and, for deposits, the From 40cd24a911dd28bbb5697a694d88f3816fd841e9 Mon Sep 17 00:00:00 2001 From: MoMannn Date: Wed, 30 Sep 2026 13:59:36 +0200 Subject: [PATCH 06/10] nat spec update + non zero premium test --- src/helpers/ComplianceVedaAdapter.sol | 9 ++++++--- test/helpers/ComplianceVedaLending.t.sol | 22 ++++++++++++++++++++++ 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/src/helpers/ComplianceVedaAdapter.sol b/src/helpers/ComplianceVedaAdapter.sol index 8623a2f3..6d9fef01 100644 --- a/src/helpers/ComplianceVedaAdapter.sol +++ b/src/helpers/ComplianceVedaAdapter.sol @@ -242,9 +242,12 @@ contract ComplianceVedaAdapter is Ownable2Step { * root delegator. * @param _delegations Array of Delegation objects, sorted leaf to root * @param _minimumMint Minimum vault shares the caller expects to receive, used as a sanity-check - * bound. The Veda vault conversion is always at fair value; rate drift from yield streaming - * is negligible. A tolerance of 0.1-0.5% is recommended. If this check causes a revert, - * no funds are lost — retry with a fresh quote. + * bound. Minted shares are the accountant's fair value reduced by + * `assetData(depositToken).sharePremium` when that premium is non-zero. The Teller owner can + * set the premium up to 1,000 bps (10%) through `updateAssetData`. Rate drift from yield + * streaming is negligible beside that haircut. A tolerance of 0.1-0.5% covers rate drift only + * while the premium is zero; otherwise size this bound for the configured premium. If this + * check causes a revert, no funds are lost — retry with a fresh quote. * @param _compliance Backend-issued compliance approval (`deadline` + `signature`) for this deposit * @notice Security consideration: Callable by anyone. The redelegation passed in MUST include an * `ERC20TransferAmountEnforcer` as its first caveat (`caveats[0]`), capped to exactly the intended diff --git a/test/helpers/ComplianceVedaLending.t.sol b/test/helpers/ComplianceVedaLending.t.sol index f0fc6440..95f11c94 100644 --- a/test/helpers/ComplianceVedaLending.t.sol +++ b/test/helpers/ComplianceVedaLending.t.sol @@ -21,6 +21,8 @@ interface IRolesAuthority { interface ITellerConfiguration { function owner() external view returns (address); function setTransferRestrictions(uint8 transferAllowedRole, uint8 allowlistedRouterRole) external; + function assetData(address asset) external view returns (bool allowDeposits, bool allowWithdraws, uint16 sharePremium); + function updateAssetData(address asset, bool allowDeposits, bool allowWithdraws, uint16 sharePremium) external; } /// @dev Custom errors thrown by the deployed Veda `TellerWithMultiAssetSupport` (Base V0.3). Declared here so the @@ -201,6 +203,20 @@ contract ComplianceVedaLendingTest is BaseTest { adapter.depositByDelegation(delegations_, 0, compliance_); } + /// @notice A non-zero `sharePremium` haircuts minted shares below the fair-value amount. + function test_deposit_sharePremiumHaircutsMint() public { + _setSharePremium(0); + uint256 fairShares_ = _depositViaAdapter(DEPOSIT_AMOUNT, 40, block.timestamp + 30 minutes); + + uint16 premiumBps_ = 1_000; + _setSharePremium(premiumBps_); + uint256 haircutShares_ = _depositViaAdapter(DEPOSIT_AMOUNT, 41, block.timestamp + 31 minutes); + + uint256 expected_ = fairShares_ * (10_000 - uint256(premiumBps_)) / 10_000; + assertLt(haircutShares_, fairShares_); + assertEq(haircutShares_, expected_); + } + function test_reverts_minimumMintTooHigh() public { uint256 deadline_ = block.timestamp + 30 minutes; Delegation[] memory delegations_ = _createDelegationChain(address(MUSD), DEPOSIT_AMOUNT, 33); @@ -222,6 +238,12 @@ contract ComplianceVedaLendingTest is BaseTest { adapter.withdrawByDelegationBatch(withdrawals_); } + function _setSharePremium(uint16 _sharePremium) internal { + (bool allowDeposits_, bool allowWithdraws_,) = ITellerConfiguration(address(TELLER)).assetData(address(MUSD)); + vm.prank(ITellerConfiguration(address(TELLER)).owner()); + ITellerConfiguration(address(TELLER)).updateAssetData(address(MUSD), allowDeposits_, allowWithdraws_, _sharePremium); + } + function _configureForkRoles() internal { address authorityOwner_ = ROLES_AUTHORITY.owner(); address tellerOwner_ = ITellerConfiguration(address(TELLER)).owner(); From dc5df95309982114437f4dd22357a2f84734891f Mon Sep 17 00:00:00 2001 From: MoMannn Date: Mon, 5 Oct 2026 09:33:36 +0200 Subject: [PATCH 07/10] update deploy logic --- documents/Deployments.md | 5 +++++ script/DeployComplianceVedaAdapter.s.sol | 14 ++++++++++---- script/DeployVedaAdapter.s.sol | 14 ++++++++++---- 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/documents/Deployments.md b/documents/Deployments.md index 16b3dfc1..04594893 100644 --- a/documents/Deployments.md +++ b/documents/Deployments.md @@ -15,6 +15,11 @@ forge script script/DeployCaveatEnforcers.s.sol --rpc-url --priva **MegaETH:** append `--gas-limit 300000000 --with-gas-price 2100000 --priority-gas-price 100000 --skip-simulation` to the `forge script` command (mainnet and testnet). +**Monad (`DeployVedaAdapter` and `DeployComplianceVedaAdapter`):** mUSD uses post-London opcodes and this repo pins `evm_version = "london"`, so the constructor's `forceApprove` reverts in the local script run. `--skip-simulation` does not skip that local run. Pick one: + +1. Append `--evm-version shanghai`. Compile, broadcast, and verify with that same setting: a different compiler EVM version changes creation code and the CREATE2 address. +2. Stay on London and uncomment the `vm.mockCall` (and `vm.clearMockedCalls`) in the script's `run()`. The mock only affects the local simulation; the real constructor still runs on-chain. Leave those lines commented when using `--evm-version shanghai`. + ### Salt Value The deployment scripts use a predefined salt value, which is **"GATOR"**. This value is converted into a **`bytes32`** format. diff --git a/script/DeployComplianceVedaAdapter.s.sol b/script/DeployComplianceVedaAdapter.s.sol index 65f55745..63f3426d 100644 --- a/script/DeployComplianceVedaAdapter.s.sol +++ b/script/DeployComplianceVedaAdapter.s.sol @@ -11,7 +11,12 @@ import { ComplianceVedaAdapter } from "../src/helpers/ComplianceVedaAdapter.sol" * @notice Deploys ComplianceVedaAdapter deterministically with CREATE2. * @dev Run with: * forge script script/DeployComplianceVedaAdapter.s.sol --rpc-url --private-key $PRIVATE_KEY --broadcast - * Monad simulations may require --skip-simulation because its mUSD contract uses post-London opcodes. + * On Monad, mUSD uses post-London opcodes and this repo pins London, so the constructor's forceApprove + * reverts in the local script run. Pick one: + * 1. Append --evm-version shanghai. Compile, broadcast, and verify with that same setting: a different + * compiler EVM version changes creation code and the CREATE2 address. + * 2. Stay on London and uncomment the vm.mockCall (and vm.clearMockedCalls) in run(). The mock only + * affects the local simulation; the real constructor still runs on-chain. */ contract DeployComplianceVedaAdapter is Script { bytes32 internal salt; @@ -42,9 +47,9 @@ contract DeployComplianceVedaAdapter is Script { function run() public { vm.startBroadcast(); - // Foundry's fork mode cannot interact with mUSD on Monad (NotActivated in revm). - // Mock the approve call so simulation passes; the real broadcast executes the - // actual constructor on-chain where the token works correctly. + // London only. Foundry's fork mode cannot interact with mUSD on Monad (NotActivated in revm). + // Uncomment so the local simulation passes. Leave commented when using --evm-version shanghai. + // The mock only affects the local simulation; the real constructor still runs on-chain. // vm.mockCall(depositToken, abi.encodeWithSelector(bytes4(keccak256("approve(address,uint256)"))), abi.encode(true)); address deployed = address( @@ -54,6 +59,7 @@ contract DeployComplianceVedaAdapter is Script { vm.stopBroadcast(); console2.log("ComplianceVedaAdapter: %s", deployed); + // Uncomment together with vm.mockCall above when deploying on London. // vm.clearMockedCalls(); } } diff --git a/script/DeployVedaAdapter.s.sol b/script/DeployVedaAdapter.s.sol index 52eece91..ff56d283 100644 --- a/script/DeployVedaAdapter.s.sol +++ b/script/DeployVedaAdapter.s.sol @@ -12,7 +12,12 @@ import { VedaAdapter } from "../src/helpers/VedaAdapter.sol"; * @dev Fill the required variables in the .env file * @dev run the script with: * forge script script/DeployVedaAdapter.s.sol --rpc-url --private-key $PRIVATE_KEY --broadcast - * For deploying on monad add --skip-simulation, because of how monad works the simulation fails because the token is not activated. + * On Monad, mUSD uses post-London opcodes and this repo pins London, so the constructor's forceApprove + * reverts in the local script run. Pick one: + * 1. Append --evm-version shanghai. Compile, broadcast, and verify with that same setting: a different + * compiler EVM version changes creation code and the CREATE2 address. + * 2. Stay on London and uncomment the vm.mockCall (and vm.clearMockedCalls) in run(). The mock only + * affects the local simulation; the real constructor still runs on-chain. */ contract DeployVedaAdapter is Script { bytes32 salt; @@ -45,9 +50,9 @@ contract DeployVedaAdapter is Script { function run() public { console2.log("~~~"); - // Foundry's fork mode cannot interact with mUSD on Monad (NotActivated in revm). - // Mock the approve call so simulation passes; the real broadcast executes the - // actual constructor on-chain where the token works correctly. + // London only. Foundry's fork mode cannot interact with mUSD on Monad (NotActivated in revm). + // Uncomment so the local simulation passes. Leave commented when using --evm-version shanghai. + // The mock only affects the local simulation; the real constructor still runs on-chain. // vm.mockCall(depositToken, abi.encodeWithSelector(bytes4(keccak256("approve(address,uint256)"))), abi.encode(true)); vm.startBroadcast(); @@ -58,6 +63,7 @@ contract DeployVedaAdapter is Script { vm.stopBroadcast(); + // Uncomment together with vm.mockCall above when deploying on London. // vm.clearMockedCalls(); } } From 9a8fa2bffe3b6967fb3392986577121b496659c6 Mon Sep 17 00:00:00 2001 From: MoMannn Date: Mon, 5 Oct 2026 09:35:54 +0200 Subject: [PATCH 08/10] comment _ComplianceCheckFailed --- src/helpers/ComplianceVedaAdapter.sol | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/src/helpers/ComplianceVedaAdapter.sol b/src/helpers/ComplianceVedaAdapter.sol index 6d9fef01..5e620e48 100644 --- a/src/helpers/ComplianceVedaAdapter.sol +++ b/src/helpers/ComplianceVedaAdapter.sol @@ -37,6 +37,17 @@ import { IComplianceVedaTeller } from "./interfaces/IComplianceVedaTeller.sol"; * - Because this adapter is `msg.sender` on the Teller call, the signature MUST bind this adapter as * the caller and the root delegator as `to` (share recipient). A signature issued for a direct user * deposit cannot be reused through this adapter. + * - `TellerWithMultiAssetSupport__ComplianceCheckFailed()` means either that `deadline` has passed + * (`block.timestamp > deadline`) or, when `complianceWindow` is nonzero, that the acceptance window + * has not begun (`deadline > block.timestamp + complianceWindow`). A nonzero window accepts an + * approval only while `block.timestamp <= deadline <= block.timestamp + complianceWindow`, which is + * from `deadline - complianceWindow` through `deadline`, inclusive. The error alone does not show + * that the approval has expired. An early rejection leaves the approval unconsumed and rolls back + * the leaf's transfer-allowance consumption, so the original signed delegation and approval can + * still succeed once the window opens. The Teller's replay key includes `deadline`, so a replacement + * approval with a different deadline is a separate key and does not cancel the original. On retry, + * reuse the same amount-capped leaf, or revoke the superseded leaf before submitting a replacement. + * A fresh leaf together with a new approval can both execute and spend allowance twice. * - Veda RolesAuthority prerequisites: * - `allowlistedRouterRole` must permit this adapter to route both deposits and withdrawals to the * root delegator, because the Teller sees `to != msg.sender` in both flows. @@ -85,7 +96,8 @@ import { IComplianceVedaTeller } from "./interfaces/IComplianceVedaTeller.sol"; * without this enforcer as the first caveat (or with an amount larger than intended) could be exploited by * any caller to transfer more tokens than authorised. A valid compliance signature is additionally bound to * this adapter, the recipient, the asset, the amount, and a deadline; it cannot be replayed after the Teller - * marks the digest as used. + * marks the digest as used. `TellerWithMultiAssetSupport__ComplianceCheckFailed()` before the acceptance + * window opens does not mark that digest used. */ contract ComplianceVedaAdapter is Ownable2Step { using SafeERC20 for IERC20; @@ -237,9 +249,14 @@ contract ComplianceVedaAdapter is Ownable2Step { * The deposit amount is parsed from the first caveat of the leaf delegation * (`_delegations[0].caveats[0].terms`), which must follow the ERC20TransferAmountEnforcer * format: abi.encodePacked(address token, uint256 amount). - * `_compliance` is forwarded as-is. The Teller verifies deadline, EIP-191 signature, signer role, - * and unused digest. The signed `msg.sender` field must be this adapter and `to` must be the - * root delegator. + * `_compliance` is forwarded as-is. The Teller verifies the EIP-191 signature, signer role, and + * unused digest. When `complianceWindow` is nonzero it accepts the approval only while + * `block.timestamp <= deadline <= block.timestamp + complianceWindow`. + * `TellerWithMultiAssetSupport__ComplianceCheckFailed()` is returned both after `deadline` and + * before that window opens. An early rejection does not consume the approval or the leaf allowance, + * and a replacement approval uses a different `deadline`, so it does not invalidate the original. + * Retry with the same amount-capped leaf, or revoke the superseded leaf before using a replacement. + * The signed `msg.sender` field must be this adapter and `to` must be the root delegator. * @param _delegations Array of Delegation objects, sorted leaf to root * @param _minimumMint Minimum vault shares the caller expects to receive, used as a sanity-check * bound. Minted shares are the accountant's fair value reduced by From 7b9fe8d1060e2310d41cacd01cbbeee319b79812 Mon Sep 17 00:00:00 2001 From: MoMannn Date: Mon, 5 Oct 2026 13:57:25 +0200 Subject: [PATCH 09/10] add audit report --- audits/cyfrin/cyfrin-10-26.pdf | Bin 0 -> 246971 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 audits/cyfrin/cyfrin-10-26.pdf diff --git a/audits/cyfrin/cyfrin-10-26.pdf b/audits/cyfrin/cyfrin-10-26.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f6354bfc960b5da9466508e104dcbb4c8402c052 GIT binary patch literal 246971 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 G*d{|3MK=9$_i4aY5!oKPvuF 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%0D>^ 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 YLj2$}1(<{9 literal 0 HcmV?d00001 From 7825aeba3720ab996a6750ae479c9227be1339b1 Mon Sep 17 00:00:00 2001 From: MoMannn Date: Tue, 6 Oct 2026 13:49:11 +0200 Subject: [PATCH 10/10] deploy of compliance veda adapter --- .../143/run-1791287105763.json | 85 +++++++++++++++++++ .../143/run-latest.json | 85 +++++++++++++++++++ 2 files changed, 170 insertions(+) create mode 100644 broadcast/DeployComplianceVedaAdapter.s.sol/143/run-1791287105763.json create mode 100644 broadcast/DeployComplianceVedaAdapter.s.sol/143/run-latest.json diff --git a/broadcast/DeployComplianceVedaAdapter.s.sol/143/run-1791287105763.json b/broadcast/DeployComplianceVedaAdapter.s.sol/143/run-1791287105763.json new file mode 100644 index 00000000..b5d6f077 --- /dev/null +++ b/broadcast/DeployComplianceVedaAdapter.s.sol/143/run-1791287105763.json @@ -0,0 +1,85 @@ +{ + "transactions": [ + { + "hash": "0x4168f1715c823d520b58be489c88af2f95e2d3e6ed5202b351297e3eed214586", + "transactionType": "CREATE2", + "contractName": "ComplianceVedaAdapter", + "contractAddress": "0x0a9bb266e06e1f003a61ab02cada1ee147951eb1", + "function": null, + "arguments": [ + "0x74dbD45B505fB3b9F94C31E5f15c41b8E9883B04", + "0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3", + "0x8b5bA7A24c30106F712217285Fc9702d6A0e0D1C", + "0xa23847d0B4842caA2bAdAD8F082dD55C68007612", + "0xacA92E438df0B2401fF60dA7E4337B687a2435DA" + ], + "transaction": { + "from": "0xb0403b32f54d0bd752113f4009e8b534c6669f44", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "value": "0x0", + "input": "0x4741544f520000000000000000000000000000000000000000000000000000006101006040523480156200001257600080fd5b5060405162001fec38038062001fec8339810160408190526200003591620004d4565b846001600160a01b0381166200006657604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b620000718162000112565b506001600160a01b03841615806200009057506001600160a01b038316155b80620000a357506001600160a01b038216155b80620000b657506001600160a01b038116155b15620000d55760405163f6b2911f60e01b815260040160405180910390fd5b6001600160a01b0380851660805283811660a081905283821660c05290821660e0819052620001079160001962000130565b505050505062000599565b600180546001600160a01b03191690556200012d81620001fc565b50565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200018a90859083906200024c16565b620001f657604080516001600160a01b038516602482015260006044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001ea918691620002fd16565b620001f68482620002fd565b50505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806000846001600160a01b0316846040516200026b919062000544565b6000604051808303816000865af19150503d8060008114620002aa576040519150601f19603f3d011682016040523d82523d6000602084013e620002af565b606091505b5091509150818015620002dd575080511580620002dd575080806020019051810190620002dd919062000575565b8015620002f457506000856001600160a01b03163b115b95945050505050565b6000620003146001600160a01b038416836200036c565b905080516000141580156200033c5750808060200190518101906200033a919062000575565b155b156200036757604051635274afe760e01b81526001600160a01b03841660048201526024016200005d565b505050565b60606200037c8383600062000383565b9392505050565b606081471015620003aa5760405163cd78605960e01b81523060048201526024016200005d565b600080856001600160a01b03168486604051620003c8919062000544565b60006040518083038185875af1925050503d806000811462000407576040519150601f19603f3d011682016040523d82523d6000602084013e6200040c565b606091505b5090925090506200041f86838362000429565b9695505050505050565b60608262000442576200043c826200048d565b6200037c565b81511580156200045a57506001600160a01b0384163b155b156200048557604051639996b31560e01b81526001600160a01b03851660048201526024016200005d565b50806200037c565b8051156200049e5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b80516001600160a01b0381168114620004cf57600080fd5b919050565b600080600080600060a08688031215620004ed57600080fd5b620004f886620004b7565b94506200050860208701620004b7565b93506200051860408701620004b7565b92506200052860608701620004b7565b91506200053860808701620004b7565b90509295509295909350565b6000825160005b818110156200056757602081860181015185830152016200054b565b506000920191825250919050565b6000602082840312156200058857600080fd5b815180151581146200037c57600080fd5b60805160a05160c05160e0516119c562000627600039600081816101b901528181610285015281816108870152818161093b01528181610c6d01528181610d760152610e1701526000818161011c015281816108c90152610d3c01526000818161023e015281816102a7015261077c015260008181610204015281816108070152610ccd01526119c56000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80638da5cb5b11610097578063e30c397811610066578063e30c3978146101ee578063ea4d3c9b146101ff578063f2fde38b14610226578063f3b977841461023957600080fd5b80638da5cb5b14610190578063af74d121146101a1578063c89039c5146101b4578063d83d314a146101db57600080fd5b8063715018a6116100d3578063715018a61461015a578063758d94581461016257806379ba5097146101755780638bd291191461017d57600080fd5b80632a490331146100fa5780633db1b8e51461010f57806357edab4e14610117575b600080fd5b61010d610108366004611237565b610260565b005b61010d610270565b61013e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61010d6102d0565b61010d610170366004611298565b6102e2565b61010d610377565b61010d61018b3660046112da565b6103c0565b6000546001600160a01b031661013e565b61010d6101af366004611352565b6103d2565b61013e7f000000000000000000000000000000000000000000000000000000000000000081565b61010d6101e9366004611352565b610490565b6001546001600160a01b031661013e565b61013e7f000000000000000000000000000000000000000000000000000000000000000081565b61010d610234366004611394565b610538565b61013e7f000000000000000000000000000000000000000000000000000000000000000081565b61026b8383836105a9565b505050565b6102786109bb565b6102ce6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f00000000000000000000000000000000000000000000000000000000000000006000196109e8565b565b6102d86109bb565b6102ce6000610aa6565b6102ea6109bb565b6001600160a01b03811661031157604051634e46966960e11b815260040160405180910390fd5b6103256001600160a01b0384168284610abf565b806001600160a01b0316836001600160a01b03167f0e191ee1e354192688af5ec7da0cc3d7f54ecb056e6418d42e73ddc4c37d36378460405161036a91815260200190565b60405180910390a3505050565b60015433906001600160a01b031681146103b45760405163118cdaa760e01b81526001600160a01b03821660048201526024015b60405180910390fd5b6103bd81610aa6565b50565b6103cc84848484610af0565b50505050565b8060008190036103f55760405163ca3487f760e01b815260040160405180910390fd5b60005b818110156104545736848483818110610413576104136113b1565b905060200281019061042591906113c7565b905061044b61043482806113e7565b60208401356104466040860186611431565b610af0565b506001016103f8565b5060405181815233907f25a16c13690e68b4c9d49e1fbab1e490d7a6710945c61a77c745d0512b501e36906020015b60405180910390a2505050565b8060008190036104b35760405163ca3487f760e01b815260040160405180910390fd5b60005b8181101561050557368484838181106104d1576104d16113b1565b90506020028101906104e39190611431565b90506104fc6104f282806113e7565b83602001356105a9565b506001016104b6565b5060405181815233907f52cc3cbb9ba447be2acf8c157cfb0f7b133158f4c4ad10a43f43d77c18c3716890602001610483565b6105406109bb565b600180546001600160a01b0383166001600160a01b031990911681179091556105716000546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b8160028110156105cb57604051622d38d560e61b815260040160405180910390fd5b6000610639858560008181106105e3576105e36113b1565b90506020028101906105f59190611447565b6106039060608101906113e7565b6000818110610614576106146113b1565b905060200281019061062691906113c7565b61063490602081019061145d565b610e98565b90506000858561064a6001866114a4565b818110610659576106596113b1565b905060200281019061066b9190611447565b61067c906040810190602001611394565b60408051600180825281830190925291925060009190816020015b606081526020019060019003908161069757905050905086866040516020016106c192919061163e565b604051602081830303815290604052816000815181106106e3576106e36113b1565b602090810291909101015260408051600180825281830190925260009181602001602082028036833701905050905061071a610eda565b8160008151811061072d5761072d6113b1565b6020908102919091010152604080516001808252818301909252600091816020015b606081526020019060019003908161074f575050604051306024820152604481018790529091506107d2907f0000000000000000000000000000000000000000000000000000000000000000906000906064015b60408051601f198184030181529190526020810180516001600160e01b031663a9059cbb60e01b179052610eed565b816000815181106107e5576107e56113b1565b602090810291909101015260405163cef6d20960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063cef6d20990610840908690869086906004016117c5565b600060405180830381600087803b15801561085a57600080fd5b505af115801561086e573d6000803e3d6000fd5b50506040516316762eed60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015260248201899052604482018b90528781166064830152600093507f00000000000000000000000000000000000000000000000000000000000000001691506316762eed906084016020604051808303816000875af1158015610913573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610937919061182f565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03167fa7b6bdc54af4440592478ca9547f46cc8b433eaf224768065fc6b910aab5cc1f88846040516109a7929190918252602082015260400190565b60405180910390a350505050505050505050565b6000546001600160a01b031633146102ce5760405163118cdaa760e01b81523360048201526024016103ab565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610a398482610f1c565b6103cc576040516001600160a01b03848116602483015260006044830152610a9c91869182169063095ea7b3906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610fc6565b6103cc8482610fc6565b600180546001600160a01b03191690556103bd81611029565b6040516001600160a01b0383811660248301526044820183905261026b91859182169063a9059cbb90606401610a6a565b826002811015610b1257604051622d38d560e61b815260040160405180910390fd5b6000610b2a868660008181106105e3576105e36113b1565b905060008686610b3b6001866114a4565b818110610b4a57610b4a6113b1565b9050602002810190610b5c9190611447565b610b6d906040810190602001611394565b60408051600180825281830190925291925060009190816020015b6060815260200190600190039081610b885790505090508787604051602001610bb292919061163e565b60405160208183030381529060405281600081518110610bd457610bd46113b1565b6020908102919091010152604080516001808252818301909252600091816020016020820280368337019050509050610c0b610eda565b81600081518110610c1e57610c1e6113b1565b6020908102919091010152604080516001808252818301909252600091816020015b6060815260200190600190039081610c4057505060405130602482015260448101879052909150610c98907f0000000000000000000000000000000000000000000000000000000000000000906000906064016107a3565b81600081518110610cab57610cab6113b1565b602090810291909101015260405163cef6d20960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063cef6d20990610d06908690869086906004016117c5565b600060405180830381600087803b158015610d2057600080fd5b505af1158015610d34573d6000803e3d6000fd5b5050505060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637bad376560405180606001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020018981526020018c8152508760008c6040518563ffffffff1660e01b8152600401610dd09493929190611848565b6020604051808303816000875af1158015610def573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e13919061182f565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03167fe1e067eab571218f837c5015c854ebbbc631dc6ec63b28e9deb6718d78a858b78884604051610e83929190918252602082015260400190565b60405180910390a35050505050505050505050565b60006034821015610ebc576040516386a371ad60e01b815260040160405180910390fd5b610eca6034601484866118ad565b610ed3916118d7565b9392505050565b6000610ee881808080611079565b905090565b6060838383604051602001610f04939291906118f5565b60405160208183030381529060405290509392505050565b6000806000846001600160a01b031684604051610f399190611934565b6000604051808303816000865af19150503d8060008114610f76576040519150601f19603f3d011682016040523d82523d6000602084013e610f7b565b606091505b5091509150818015610fa5575080511580610fa5575080806020019051810190610fa59190611946565b8015610fbb57506000856001600160a01b03163b115b925050505b92915050565b6000610fdb6001600160a01b038416836110e4565b90508051600014158015611000575080806020019051810190610ffe9190611946565b155b1561026b57604051635274afe760e01b81526001600160a01b03841660048201526024016103ab565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b604080516001600160f81b03198087166020830152851660218201526000602282018190526001600160e01b03198516602683015269ffffffffffffffffffff198416602a83015291016040516020818303038152906040526110db90611968565b95945050505050565b6060610ed38383600084600080856001600160a01b0316848660405161110a9190611934565b60006040518083038185875af1925050503d8060008114611147576040519150601f19603f3d011682016040523d82523d6000602084013e61114c565b606091505b509150915061115c868383611166565b9695505050505050565b60608261117b57611176826111c2565b610ed3565b815115801561119257506001600160a01b0384163b155b156111bb57604051639996b31560e01b81526001600160a01b03851660048201526024016103ab565b5080610ed3565b8051156111d25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60008083601f8401126111fd57600080fd5b50813567ffffffffffffffff81111561121557600080fd5b6020830191508360208260051b850101111561123057600080fd5b9250929050565b60008060006040848603121561124c57600080fd5b833567ffffffffffffffff81111561126357600080fd5b61126f868287016111eb565b909790965060209590950135949350505050565b6001600160a01b03811681146103bd57600080fd5b6000806000606084860312156112ad57600080fd5b83356112b881611283565b92506020840135915060408401356112cf81611283565b809150509250925092565b600080600080606085870312156112f057600080fd5b843567ffffffffffffffff8082111561130857600080fd5b611314888389016111eb565b909650945060208701359350604087013591508082111561133457600080fd5b5085016040818803121561134757600080fd5b939692955090935050565b6000806020838503121561136557600080fd5b823567ffffffffffffffff81111561137c57600080fd5b611388858286016111eb565b90969095509350505050565b6000602082840312156113a657600080fd5b8135610ed381611283565b634e487b7160e01b600052603260045260246000fd5b60008235605e198336030181126113dd57600080fd5b9190910192915050565b6000808335601e198436030181126113fe57600080fd5b83018035915067ffffffffffffffff82111561141957600080fd5b6020019150600581901b360382131561123057600080fd5b60008235603e198336030181126113dd57600080fd5b6000823560be198336030181126113dd57600080fd5b6000808335601e1984360301811261147457600080fd5b83018035915067ffffffffffffffff82111561148f57600080fd5b60200191503681900382131561123057600080fd5b81810381811115610fc057634e487b7160e01b600052601160045260246000fd5b6000808335601e198436030181126114dc57600080fd5b830160208101925035905067ffffffffffffffff8111156114fc57600080fd5b8060051b360382131561123057600080fd5b6000808335601e1984360301811261152557600080fd5b830160208101925035905067ffffffffffffffff81111561154557600080fd5b80360382131561123057600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60008383855260208086019550808560051b830101846000805b8881101561163057858403601f19018a52823536899003605e190181126115bc578283fd5b8801606081356115cb81611283565b6001600160a01b031686526115e28288018361150e565b82898901526115f48389018284611554565b9250505060406116068184018461150e565b93508783038289015261161a838583611554565b9d89019d97505050938601935050600101611597565b509198975050505050505050565b60208082528181018390526000906040808401600586901b850182018785805b8981101561172257888403603f190185528235368c900360be19018112611683578283fd5b8b0160c0813561169281611283565b6001600160a01b039081168752828a0135906116ad82611283565b16868a0152818801358887015260606116c8818401846114c5565b83838a01526116da848a01828461157d565b9350505050608080830135818801525060a06116f88184018461150e565b93508783038289015261170c838583611554565b988b01989750505093880193505060010161165e565b50919998505050505050505050565b60005b8381101561174c578181015183820152602001611734565b50506000910152565b600082825180855260208086019550808260051b84010181860160005b848110156117b857601f1980878503018a528251805180865261179a81888801898501611731565b9a86019a601f01909116939093018401925090830190600101611772565b5090979650505050505050565b6060815260006117d86060830186611755565b82810360208481019190915285518083528682019282019060005b8181101561180f578451835293830193918301916001016117f3565b505084810360408601526118238187611755565b98975050505050505050565b60006020828403121561184157600080fd5b5051919050565b600060018060a01b038087511683526020870151602084015260408701516040840152808616606084015280851660808401525060c060a0830152823560c0830152611897602084018461150e565b604060e085015261182361010085018284611554565b600080858511156118bd57600080fd5b838611156118ca57600080fd5b5050820193919092039150565b80356020831015610fc057600019602084900360031b1b1692915050565b6bffffffffffffffffffffffff198460601b16815282601482015260008251611925816034850160208701611731565b91909101603401949350505050565b600082516113dd818460208701611731565b60006020828403121561195857600080fd5b81518015158114610ed357600080fd5b80516020808301519190811015611989576000198160200360031b1b821691505b5091905056fea26469706673582212204d8faa1d87f717e2fe0223901e3bdd37399d2323d3ef249782acc670ce880a1464736f6c6343000817003300000000000000000000000074dbd45b505fb3b9f94c31e5f15c41b8e9883b04000000000000000000000000db9b1e94b5b69df7e401ddbede43491141047db30000000000000000000000008b5ba7a24c30106f712217285fc9702d6a0e0d1c000000000000000000000000a23847d0b4842caa2badad8f082dd55c68007612000000000000000000000000aca92e438df0b2401ff60da7e4337b687a2435da", + "nonce": "0x30", + "chainId": "0x8f" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "type": "0x2", + "status": "0x1", + "cumulativeGasUsed": "0x7f0384", + "logs": [ + { + "address": "0x0a9bb266e06e1f003a61ab02cada1ee147951eb1", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000074dbd45b505fb3b9f94c31e5f15c41b8e9883b04" + ], + "data": "0x", + "blockHash": "0xced0359b65f89b3f6126308f5708016024f1f12c10933238a7d6538801c4c864", + "blockNumber": "0x69e2d0e", + "blockTimestamp": "0x6ac4df40", + "transactionHash": "0x4168f1715c823d520b58be489c88af2f95e2d3e6ed5202b351297e3eed214586", + "transactionIndex": "0x7", + "logIndex": "0x3e", + "removed": false + }, + { + "address": "0xaca92e438df0b2401ff60da7e4337b687a2435da", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000000a9bb266e06e1f003a61ab02cada1ee147951eb1", + "0x0000000000000000000000008b5ba7a24c30106f712217285fc9702d6a0e0d1c" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xced0359b65f89b3f6126308f5708016024f1f12c10933238a7d6538801c4c864", + "blockNumber": "0x69e2d0e", + "blockTimestamp": "0x6ac4df40", + "transactionHash": "0x4168f1715c823d520b58be489c88af2f95e2d3e6ed5202b351297e3eed214586", + "transactionIndex": "0x7", + "logIndex": "0x3f", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000200000000080800000000000000101000000000000000000000000004000000000000000000000000000200000000000000000000000000000000000000001000000000000000000000000000000000000020008000000800000000800000000000000800000000000000000400000008020000000000000000000000000002000000000000000000800000000020000000000000000000000000000000000000000000000000000080000000000000000000000100000000000000000000000000000000000000000000020000010000020000000000000000000000000000000000000000000000000000000", + "transactionHash": "0x4168f1715c823d520b58be489c88af2f95e2d3e6ed5202b351297e3eed214586", + "transactionIndex": "0x7", + "blockHash": "0xced0359b65f89b3f6126308f5708016024f1f12c10933238a7d6538801c4c864", + "blockNumber": "0x69e2d0e", + "gasUsed": "0x206ed6", + "effectiveGasPrice": "0x17bfac7c00", + "from": "0xb0403b32f54d0bd752113f4009e8b534c6669f44", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1791287105763, + "chain": 143, + "commit": "7b9fe8d" +} \ No newline at end of file diff --git a/broadcast/DeployComplianceVedaAdapter.s.sol/143/run-latest.json b/broadcast/DeployComplianceVedaAdapter.s.sol/143/run-latest.json new file mode 100644 index 00000000..b5d6f077 --- /dev/null +++ b/broadcast/DeployComplianceVedaAdapter.s.sol/143/run-latest.json @@ -0,0 +1,85 @@ +{ + "transactions": [ + { + "hash": "0x4168f1715c823d520b58be489c88af2f95e2d3e6ed5202b351297e3eed214586", + "transactionType": "CREATE2", + "contractName": "ComplianceVedaAdapter", + "contractAddress": "0x0a9bb266e06e1f003a61ab02cada1ee147951eb1", + "function": null, + "arguments": [ + "0x74dbD45B505fB3b9F94C31E5f15c41b8E9883B04", + "0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3", + "0x8b5bA7A24c30106F712217285Fc9702d6A0e0D1C", + "0xa23847d0B4842caA2bAdAD8F082dD55C68007612", + "0xacA92E438df0B2401fF60dA7E4337B687a2435DA" + ], + "transaction": { + "from": "0xb0403b32f54d0bd752113f4009e8b534c6669f44", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "value": "0x0", + "input": "0x4741544f520000000000000000000000000000000000000000000000000000006101006040523480156200001257600080fd5b5060405162001fec38038062001fec8339810160408190526200003591620004d4565b846001600160a01b0381166200006657604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b620000718162000112565b506001600160a01b03841615806200009057506001600160a01b038316155b80620000a357506001600160a01b038216155b80620000b657506001600160a01b038116155b15620000d55760405163f6b2911f60e01b815260040160405180910390fd5b6001600160a01b0380851660805283811660a081905283821660c05290821660e0819052620001079160001962000130565b505050505062000599565b600180546001600160a01b03191690556200012d81620001fc565b50565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200018a90859083906200024c16565b620001f657604080516001600160a01b038516602482015260006044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001ea918691620002fd16565b620001f68482620002fd565b50505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806000846001600160a01b0316846040516200026b919062000544565b6000604051808303816000865af19150503d8060008114620002aa576040519150601f19603f3d011682016040523d82523d6000602084013e620002af565b606091505b5091509150818015620002dd575080511580620002dd575080806020019051810190620002dd919062000575565b8015620002f457506000856001600160a01b03163b115b95945050505050565b6000620003146001600160a01b038416836200036c565b905080516000141580156200033c5750808060200190518101906200033a919062000575565b155b156200036757604051635274afe760e01b81526001600160a01b03841660048201526024016200005d565b505050565b60606200037c8383600062000383565b9392505050565b606081471015620003aa5760405163cd78605960e01b81523060048201526024016200005d565b600080856001600160a01b03168486604051620003c8919062000544565b60006040518083038185875af1925050503d806000811462000407576040519150601f19603f3d011682016040523d82523d6000602084013e6200040c565b606091505b5090925090506200041f86838362000429565b9695505050505050565b60608262000442576200043c826200048d565b6200037c565b81511580156200045a57506001600160a01b0384163b155b156200048557604051639996b31560e01b81526001600160a01b03851660048201526024016200005d565b50806200037c565b8051156200049e5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b80516001600160a01b0381168114620004cf57600080fd5b919050565b600080600080600060a08688031215620004ed57600080fd5b620004f886620004b7565b94506200050860208701620004b7565b93506200051860408701620004b7565b92506200052860608701620004b7565b91506200053860808701620004b7565b90509295509295909350565b6000825160005b818110156200056757602081860181015185830152016200054b565b506000920191825250919050565b6000602082840312156200058857600080fd5b815180151581146200037c57600080fd5b60805160a05160c05160e0516119c562000627600039600081816101b901528181610285015281816108870152818161093b01528181610c6d01528181610d760152610e1701526000818161011c015281816108c90152610d3c01526000818161023e015281816102a7015261077c015260008181610204015281816108070152610ccd01526119c56000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80638da5cb5b11610097578063e30c397811610066578063e30c3978146101ee578063ea4d3c9b146101ff578063f2fde38b14610226578063f3b977841461023957600080fd5b80638da5cb5b14610190578063af74d121146101a1578063c89039c5146101b4578063d83d314a146101db57600080fd5b8063715018a6116100d3578063715018a61461015a578063758d94581461016257806379ba5097146101755780638bd291191461017d57600080fd5b80632a490331146100fa5780633db1b8e51461010f57806357edab4e14610117575b600080fd5b61010d610108366004611237565b610260565b005b61010d610270565b61013e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61010d6102d0565b61010d610170366004611298565b6102e2565b61010d610377565b61010d61018b3660046112da565b6103c0565b6000546001600160a01b031661013e565b61010d6101af366004611352565b6103d2565b61013e7f000000000000000000000000000000000000000000000000000000000000000081565b61010d6101e9366004611352565b610490565b6001546001600160a01b031661013e565b61013e7f000000000000000000000000000000000000000000000000000000000000000081565b61010d610234366004611394565b610538565b61013e7f000000000000000000000000000000000000000000000000000000000000000081565b61026b8383836105a9565b505050565b6102786109bb565b6102ce6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f00000000000000000000000000000000000000000000000000000000000000006000196109e8565b565b6102d86109bb565b6102ce6000610aa6565b6102ea6109bb565b6001600160a01b03811661031157604051634e46966960e11b815260040160405180910390fd5b6103256001600160a01b0384168284610abf565b806001600160a01b0316836001600160a01b03167f0e191ee1e354192688af5ec7da0cc3d7f54ecb056e6418d42e73ddc4c37d36378460405161036a91815260200190565b60405180910390a3505050565b60015433906001600160a01b031681146103b45760405163118cdaa760e01b81526001600160a01b03821660048201526024015b60405180910390fd5b6103bd81610aa6565b50565b6103cc84848484610af0565b50505050565b8060008190036103f55760405163ca3487f760e01b815260040160405180910390fd5b60005b818110156104545736848483818110610413576104136113b1565b905060200281019061042591906113c7565b905061044b61043482806113e7565b60208401356104466040860186611431565b610af0565b506001016103f8565b5060405181815233907f25a16c13690e68b4c9d49e1fbab1e490d7a6710945c61a77c745d0512b501e36906020015b60405180910390a2505050565b8060008190036104b35760405163ca3487f760e01b815260040160405180910390fd5b60005b8181101561050557368484838181106104d1576104d16113b1565b90506020028101906104e39190611431565b90506104fc6104f282806113e7565b83602001356105a9565b506001016104b6565b5060405181815233907f52cc3cbb9ba447be2acf8c157cfb0f7b133158f4c4ad10a43f43d77c18c3716890602001610483565b6105406109bb565b600180546001600160a01b0383166001600160a01b031990911681179091556105716000546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b8160028110156105cb57604051622d38d560e61b815260040160405180910390fd5b6000610639858560008181106105e3576105e36113b1565b90506020028101906105f59190611447565b6106039060608101906113e7565b6000818110610614576106146113b1565b905060200281019061062691906113c7565b61063490602081019061145d565b610e98565b90506000858561064a6001866114a4565b818110610659576106596113b1565b905060200281019061066b9190611447565b61067c906040810190602001611394565b60408051600180825281830190925291925060009190816020015b606081526020019060019003908161069757905050905086866040516020016106c192919061163e565b604051602081830303815290604052816000815181106106e3576106e36113b1565b602090810291909101015260408051600180825281830190925260009181602001602082028036833701905050905061071a610eda565b8160008151811061072d5761072d6113b1565b6020908102919091010152604080516001808252818301909252600091816020015b606081526020019060019003908161074f575050604051306024820152604481018790529091506107d2907f0000000000000000000000000000000000000000000000000000000000000000906000906064015b60408051601f198184030181529190526020810180516001600160e01b031663a9059cbb60e01b179052610eed565b816000815181106107e5576107e56113b1565b602090810291909101015260405163cef6d20960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063cef6d20990610840908690869086906004016117c5565b600060405180830381600087803b15801561085a57600080fd5b505af115801561086e573d6000803e3d6000fd5b50506040516316762eed60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015260248201899052604482018b90528781166064830152600093507f00000000000000000000000000000000000000000000000000000000000000001691506316762eed906084016020604051808303816000875af1158015610913573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610937919061182f565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03167fa7b6bdc54af4440592478ca9547f46cc8b433eaf224768065fc6b910aab5cc1f88846040516109a7929190918252602082015260400190565b60405180910390a350505050505050505050565b6000546001600160a01b031633146102ce5760405163118cdaa760e01b81523360048201526024016103ab565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610a398482610f1c565b6103cc576040516001600160a01b03848116602483015260006044830152610a9c91869182169063095ea7b3906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610fc6565b6103cc8482610fc6565b600180546001600160a01b03191690556103bd81611029565b6040516001600160a01b0383811660248301526044820183905261026b91859182169063a9059cbb90606401610a6a565b826002811015610b1257604051622d38d560e61b815260040160405180910390fd5b6000610b2a868660008181106105e3576105e36113b1565b905060008686610b3b6001866114a4565b818110610b4a57610b4a6113b1565b9050602002810190610b5c9190611447565b610b6d906040810190602001611394565b60408051600180825281830190925291925060009190816020015b6060815260200190600190039081610b885790505090508787604051602001610bb292919061163e565b60405160208183030381529060405281600081518110610bd457610bd46113b1565b6020908102919091010152604080516001808252818301909252600091816020016020820280368337019050509050610c0b610eda565b81600081518110610c1e57610c1e6113b1565b6020908102919091010152604080516001808252818301909252600091816020015b6060815260200190600190039081610c4057505060405130602482015260448101879052909150610c98907f0000000000000000000000000000000000000000000000000000000000000000906000906064016107a3565b81600081518110610cab57610cab6113b1565b602090810291909101015260405163cef6d20960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063cef6d20990610d06908690869086906004016117c5565b600060405180830381600087803b158015610d2057600080fd5b505af1158015610d34573d6000803e3d6000fd5b5050505060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637bad376560405180606001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020018981526020018c8152508760008c6040518563ffffffff1660e01b8152600401610dd09493929190611848565b6020604051808303816000875af1158015610def573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e13919061182f565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03167fe1e067eab571218f837c5015c854ebbbc631dc6ec63b28e9deb6718d78a858b78884604051610e83929190918252602082015260400190565b60405180910390a35050505050505050505050565b60006034821015610ebc576040516386a371ad60e01b815260040160405180910390fd5b610eca6034601484866118ad565b610ed3916118d7565b9392505050565b6000610ee881808080611079565b905090565b6060838383604051602001610f04939291906118f5565b60405160208183030381529060405290509392505050565b6000806000846001600160a01b031684604051610f399190611934565b6000604051808303816000865af19150503d8060008114610f76576040519150601f19603f3d011682016040523d82523d6000602084013e610f7b565b606091505b5091509150818015610fa5575080511580610fa5575080806020019051810190610fa59190611946565b8015610fbb57506000856001600160a01b03163b115b925050505b92915050565b6000610fdb6001600160a01b038416836110e4565b90508051600014158015611000575080806020019051810190610ffe9190611946565b155b1561026b57604051635274afe760e01b81526001600160a01b03841660048201526024016103ab565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b604080516001600160f81b03198087166020830152851660218201526000602282018190526001600160e01b03198516602683015269ffffffffffffffffffff198416602a83015291016040516020818303038152906040526110db90611968565b95945050505050565b6060610ed38383600084600080856001600160a01b0316848660405161110a9190611934565b60006040518083038185875af1925050503d8060008114611147576040519150601f19603f3d011682016040523d82523d6000602084013e61114c565b606091505b509150915061115c868383611166565b9695505050505050565b60608261117b57611176826111c2565b610ed3565b815115801561119257506001600160a01b0384163b155b156111bb57604051639996b31560e01b81526001600160a01b03851660048201526024016103ab565b5080610ed3565b8051156111d25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60008083601f8401126111fd57600080fd5b50813567ffffffffffffffff81111561121557600080fd5b6020830191508360208260051b850101111561123057600080fd5b9250929050565b60008060006040848603121561124c57600080fd5b833567ffffffffffffffff81111561126357600080fd5b61126f868287016111eb565b909790965060209590950135949350505050565b6001600160a01b03811681146103bd57600080fd5b6000806000606084860312156112ad57600080fd5b83356112b881611283565b92506020840135915060408401356112cf81611283565b809150509250925092565b600080600080606085870312156112f057600080fd5b843567ffffffffffffffff8082111561130857600080fd5b611314888389016111eb565b909650945060208701359350604087013591508082111561133457600080fd5b5085016040818803121561134757600080fd5b939692955090935050565b6000806020838503121561136557600080fd5b823567ffffffffffffffff81111561137c57600080fd5b611388858286016111eb565b90969095509350505050565b6000602082840312156113a657600080fd5b8135610ed381611283565b634e487b7160e01b600052603260045260246000fd5b60008235605e198336030181126113dd57600080fd5b9190910192915050565b6000808335601e198436030181126113fe57600080fd5b83018035915067ffffffffffffffff82111561141957600080fd5b6020019150600581901b360382131561123057600080fd5b60008235603e198336030181126113dd57600080fd5b6000823560be198336030181126113dd57600080fd5b6000808335601e1984360301811261147457600080fd5b83018035915067ffffffffffffffff82111561148f57600080fd5b60200191503681900382131561123057600080fd5b81810381811115610fc057634e487b7160e01b600052601160045260246000fd5b6000808335601e198436030181126114dc57600080fd5b830160208101925035905067ffffffffffffffff8111156114fc57600080fd5b8060051b360382131561123057600080fd5b6000808335601e1984360301811261152557600080fd5b830160208101925035905067ffffffffffffffff81111561154557600080fd5b80360382131561123057600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60008383855260208086019550808560051b830101846000805b8881101561163057858403601f19018a52823536899003605e190181126115bc578283fd5b8801606081356115cb81611283565b6001600160a01b031686526115e28288018361150e565b82898901526115f48389018284611554565b9250505060406116068184018461150e565b93508783038289015261161a838583611554565b9d89019d97505050938601935050600101611597565b509198975050505050505050565b60208082528181018390526000906040808401600586901b850182018785805b8981101561172257888403603f190185528235368c900360be19018112611683578283fd5b8b0160c0813561169281611283565b6001600160a01b039081168752828a0135906116ad82611283565b16868a0152818801358887015260606116c8818401846114c5565b83838a01526116da848a01828461157d565b9350505050608080830135818801525060a06116f88184018461150e565b93508783038289015261170c838583611554565b988b01989750505093880193505060010161165e565b50919998505050505050505050565b60005b8381101561174c578181015183820152602001611734565b50506000910152565b600082825180855260208086019550808260051b84010181860160005b848110156117b857601f1980878503018a528251805180865261179a81888801898501611731565b9a86019a601f01909116939093018401925090830190600101611772565b5090979650505050505050565b6060815260006117d86060830186611755565b82810360208481019190915285518083528682019282019060005b8181101561180f578451835293830193918301916001016117f3565b505084810360408601526118238187611755565b98975050505050505050565b60006020828403121561184157600080fd5b5051919050565b600060018060a01b038087511683526020870151602084015260408701516040840152808616606084015280851660808401525060c060a0830152823560c0830152611897602084018461150e565b604060e085015261182361010085018284611554565b600080858511156118bd57600080fd5b838611156118ca57600080fd5b5050820193919092039150565b80356020831015610fc057600019602084900360031b1b1692915050565b6bffffffffffffffffffffffff198460601b16815282601482015260008251611925816034850160208701611731565b91909101603401949350505050565b600082516113dd818460208701611731565b60006020828403121561195857600080fd5b81518015158114610ed357600080fd5b80516020808301519190811015611989576000198160200360031b1b821691505b5091905056fea26469706673582212204d8faa1d87f717e2fe0223901e3bdd37399d2323d3ef249782acc670ce880a1464736f6c6343000817003300000000000000000000000074dbd45b505fb3b9f94c31e5f15c41b8e9883b04000000000000000000000000db9b1e94b5b69df7e401ddbede43491141047db30000000000000000000000008b5ba7a24c30106f712217285fc9702d6a0e0d1c000000000000000000000000a23847d0b4842caa2badad8f082dd55c68007612000000000000000000000000aca92e438df0b2401ff60da7e4337b687a2435da", + "nonce": "0x30", + "chainId": "0x8f" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "type": "0x2", + "status": "0x1", + "cumulativeGasUsed": "0x7f0384", + "logs": [ + { + "address": "0x0a9bb266e06e1f003a61ab02cada1ee147951eb1", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000074dbd45b505fb3b9f94c31e5f15c41b8e9883b04" + ], + "data": "0x", + "blockHash": "0xced0359b65f89b3f6126308f5708016024f1f12c10933238a7d6538801c4c864", + "blockNumber": "0x69e2d0e", + "blockTimestamp": "0x6ac4df40", + "transactionHash": "0x4168f1715c823d520b58be489c88af2f95e2d3e6ed5202b351297e3eed214586", + "transactionIndex": "0x7", + "logIndex": "0x3e", + "removed": false + }, + { + "address": "0xaca92e438df0b2401ff60da7e4337b687a2435da", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000000a9bb266e06e1f003a61ab02cada1ee147951eb1", + "0x0000000000000000000000008b5ba7a24c30106f712217285fc9702d6a0e0d1c" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xced0359b65f89b3f6126308f5708016024f1f12c10933238a7d6538801c4c864", + "blockNumber": "0x69e2d0e", + "blockTimestamp": "0x6ac4df40", + "transactionHash": "0x4168f1715c823d520b58be489c88af2f95e2d3e6ed5202b351297e3eed214586", + "transactionIndex": "0x7", + "logIndex": "0x3f", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000200000000080800000000000000101000000000000000000000000004000000000000000000000000000200000000000000000000000000000000000000001000000000000000000000000000000000000020008000000800000000800000000000000800000000000000000400000008020000000000000000000000000002000000000000000000800000000020000000000000000000000000000000000000000000000000000080000000000000000000000100000000000000000000000000000000000000000000020000010000020000000000000000000000000000000000000000000000000000000", + "transactionHash": "0x4168f1715c823d520b58be489c88af2f95e2d3e6ed5202b351297e3eed214586", + "transactionIndex": "0x7", + "blockHash": "0xced0359b65f89b3f6126308f5708016024f1f12c10933238a7d6538801c4c864", + "blockNumber": "0x69e2d0e", + "gasUsed": "0x206ed6", + "effectiveGasPrice": "0x17bfac7c00", + "from": "0xb0403b32f54d0bd752113f4009e8b534c6669f44", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1791287105763, + "chain": 143, + "commit": "7b9fe8d" +} \ No newline at end of file