From d28d9df99c8a0261f5db1861628c167cf443ddd8 Mon Sep 17 00:00:00 2001 From: ron Date: Mon, 25 Mar 2024 18:46:18 +0800 Subject: [PATCH] Cleanup for not exceed the size limit --- contracts/src/Assets.sol | 7 +++---- contracts/src/Gateway.sol | 18 +----------------- contracts/src/interfaces/IGateway.sol | 4 ++-- contracts/test/Gateway.t.sol | 2 +- 4 files changed, 7 insertions(+), 24 deletions(-) diff --git a/contracts/src/Assets.sol b/contracts/src/Assets.sol index 0011ec9b64..701adb5f23 100644 --- a/contracts/src/Assets.sol +++ b/contracts/src/Assets.sol @@ -186,7 +186,7 @@ library Assets { } // @dev Register a new fungible Polkadot token for an agent - function registerTokenByID(bytes32 tokenID, address token, bytes32 agentID) internal { + function registerTokenByID(bytes32 tokenID, address token, bytes32 agentID) external { AssetsStorage.Layout storage $ = AssetsStorage.layout(); if ($.tokenRegistryByID[tokenID].isRegistered == true) { revert TokenAlreadyRegistered(); @@ -195,11 +195,10 @@ library Assets { TokenInfo({isRegistered: true, isForeign: true, tokenID: tokenID, agentID: agentID, token: token}); $.tokenRegistry[token] = info; $.tokenRegistryByID[tokenID] = info; - emit IGateway.TokenRegistered(tokenID, agentID, token); } // @dev Get token address by tokenID - function getTokenInfo(bytes32 tokenID) internal view returns (TokenInfo memory) { + function getTokenInfo(bytes32 tokenID) external view returns (TokenInfo memory) { AssetsStorage.Layout storage $ = AssetsStorage.layout(); if ($.tokenRegistryByID[tokenID].isRegistered == false) { revert TokenNotRegistered(); @@ -216,7 +215,7 @@ library Assets { MultiAddress calldata destinationAddress, uint128 destinationChainFee, uint128 amount - ) internal returns (Ticket memory ticket) { + ) external returns (Ticket memory ticket) { AssetsStorage.Layout storage $asset = AssetsStorage.layout(); TokenInfo storage info = $asset.tokenRegistry[token]; diff --git a/contracts/src/Gateway.sol b/contracts/src/Gateway.sol index cfa35552be..4d75dbbf4d 100644 --- a/contracts/src/Gateway.sol +++ b/contracts/src/Gateway.sol @@ -98,15 +98,6 @@ contract Gateway is IGateway, IInitializable { _; } - // handler functions are privileged from agent only - modifier onlyAgent(bytes32 agentID) { - bytes32 _agentID = _ensureAgentAddress(msg.sender); - if (_agentID != agentID) { - revert Unauthorized(); - } - _; - } - constructor( address beefyClient, address agentExecutor, @@ -289,6 +280,7 @@ contract Gateway is IGateway, IInitializable { (bytes memory result) = abi.decode(returndata, (bytes)); (bytes32 tokenID, address token) = abi.decode(result, (bytes32, address)); Assets.registerTokenByID(tokenID, token, params.agentID); + emit IGateway.ForeignTokenRegistered(tokenID, params.agentID, token); } } @@ -575,14 +567,6 @@ contract Gateway is IGateway, IInitializable { } } - /// @dev Ensure that the specified address is an valid agent - function _ensureAgentAddress(address agent) internal view returns (bytes32 agentID) { - agentID = CoreStorage.layout().agentAddresses[agent]; - if (agentID == bytes32(0)) { - revert AgentDoesNotExist(); - } - } - /// @dev Invoke some code within an agent function _invokeOnAgent(address agent, bytes memory data) internal returns (bytes memory) { (bool success, bytes memory returndata) = (Agent(payable(agent)).invoke(AGENT_EXECUTOR, data)); diff --git a/contracts/src/interfaces/IGateway.sol b/contracts/src/interfaces/IGateway.sol index 0b3f63470c..8446d1df7e 100644 --- a/contracts/src/interfaces/IGateway.sol +++ b/contracts/src/interfaces/IGateway.sol @@ -39,8 +39,8 @@ interface IGateway { // Emitted when funds are withdrawn from an agent event AgentFundsWithdrawn(bytes32 indexed agentID, address indexed recipient, uint256 amount); - // Emitted when token registed - event TokenRegistered(bytes32 indexed tokenID, bytes32 agentID, address token); + // Emitted when foreign token from polkadot registed + event ForeignTokenRegistered(bytes32 indexed tokenID, bytes32 agentID, address token); /** * Getters diff --git a/contracts/test/Gateway.t.sol b/contracts/test/Gateway.t.sol index 9b7dea90ff..e66b1d3d16 100644 --- a/contracts/test/Gateway.t.sol +++ b/contracts/test/Gateway.t.sol @@ -926,7 +926,7 @@ contract GatewayTest is Test { }); vm.expectEmit(true, true, false, false); - emit IGateway.TokenRegistered(bytes32(uint256(1)), assetHubAgentID, address(0)); + emit IGateway.ForeignTokenRegistered(bytes32(uint256(1)), assetHubAgentID, address(0)); GatewayMock(address(gateway)).agentExecutePublic(abi.encode(params)); }