chore: sync submodule state (parent ref update)

Made-with: Cursor
This commit is contained in:
defiQUG
2026-03-02 12:14:09 -08:00
parent 50ab378da9
commit 5efe36b1e0
1100 changed files with 155024 additions and 8674 deletions

View File

@@ -8,7 +8,7 @@ import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import "../registry/UniversalAssetRegistry.sol";
import "../ccip/interfaces/IRouterClient.sol";
import "../ccip/IRouterClient.sol";
/**
* @title UniversalCCIPBridge
@@ -101,10 +101,12 @@ contract UniversalCCIPBridge is
__UUPSUpgradeable_init();
require(_assetRegistry != address(0), "Zero registry");
require(_ccipRouter != address(0), "Zero router");
assetRegistry = UniversalAssetRegistry(_assetRegistry);
ccipRouter = IRouterClient(_ccipRouter);
if (_ccipRouter != address(0)) {
ccipRouter = IRouterClient(_ccipRouter);
}
// If _ccipRouter is zero, set via setCCIPRouter() after deployment (enables same initData for deterministic proxy address)
_grantRole(DEFAULT_ADMIN_ROLE, admin);
_grantRole(BRIDGE_OPERATOR_ROLE, admin);
@@ -114,12 +116,20 @@ contract UniversalCCIPBridge is
function _authorizeUpgrade(address newImplementation)
internal override onlyRole(UPGRADER_ROLE) {}
/**
* @notice Set CCIP router (for deterministic deployment: initialize with router=0, then set per chain)
*/
function setCCIPRouter(address _ccipRouter) external onlyRole(DEFAULT_ADMIN_ROLE) {
require(_ccipRouter != address(0), "Zero router");
ccipRouter = IRouterClient(_ccipRouter);
}
/**
* @notice Main bridge function with asset type routing
*/
function bridge(
BridgeOperation calldata op
) external nonReentrant returns (bytes32 messageId) {
) external payable nonReentrant returns (bytes32 messageId) {
// Validate asset is registered and active
UniversalAssetRegistry.UniversalAsset memory asset = assetRegistry.getAsset(op.token);
require(asset.isActive, "Asset not active");
@@ -211,7 +221,7 @@ contract UniversalCCIPBridge is
// If vault exists, record operation
if (vault != address(0)) {
// Call vault to record bridge operation
(bool success, ) = vault.call(
(bool ok, ) = vault.call(
abi.encodeWithSignature(
"recordBridgeOperation(bytes32,address,uint256,uint64)",
bytes32(0), // messageId will be set after CCIP send
@@ -220,7 +230,9 @@ contract UniversalCCIPBridge is
op.destinationChain
)
);
// Vault recording is optional
if (!ok) {
// Vault recording is optional; ignore failure
}
}
}