diff --git a/src/ERC1155A.sol b/src/ERC1155A.sol index fdd3ee2..a79da88 100644 --- a/src/ERC1155A.sol +++ b/src/ERC1155A.sol @@ -279,7 +279,7 @@ abstract contract ERC1155A is IERC1155A, IERC1155Errors { //////////////////////////////////////////////////////////////*/ /// @inheritdoc IERC1155A - function registerSERC20(uint256 id) external virtual override returns (address) { + function registerSERC20(uint256 id) external payable virtual override returns (address) { if (_totalSupply[id] == 0) revert ID_NOT_MINTED_YET(); if (synthethicTokenId[id] != address(0)) revert SYNTHETIC_ERC20_ALREADY_REGISTERED(); diff --git a/src/interfaces/IERC1155A.sol b/src/interfaces/IERC1155A.sol index 538dcad..47ea8ab 100644 --- a/src/interfaces/IERC1155A.sol +++ b/src/interfaces/IERC1155A.sol @@ -97,8 +97,10 @@ interface IERC1155A is IERC1155 { //////////////////////////////////////////////////////////////*/ /// @dev Function set to virtual so that implementing protocols may introduce RBAC here or perform other changes + /// @notice payable to allow any implementing cross-chain protocol to be paid for fees for relaying this action to + /// various chain /// @param id of the ERC1155 to create a synthetic ERC20 for - function registerSERC20(uint256 id) external returns (address); + function registerSERC20(uint256 id) external payable returns (address); /// @notice Use transmuteBatchToERC20 to transmute multiple ERC1155 ids into separate ERC20 /// Easier to transmute to 1155A than to transmute back to erc20 because of ERC1155 beauty!