Transaction Hash:
Block:
9841802 at Apr-10-2020 02:16:28 AM +UTC
Transaction Fee:
0.000167235 ETH
$0.41
Gas Used:
33,447 Gas / 5 Gwei
Emitted Events:
133 |
AuctionityProxy_V1.0xa99c90b368a7874c901fe86e09c9e53a2d8151e7815c8a402b1ead76ed3613d9( 0xa99c90b368a7874c901fe86e09c9e53a2d8151e7815c8a402b1ead76ed3613d9, 000000000000000000000000f0c8cac73f329773c3a63e1f878cee8746d50d45, 0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000063b89b56335000 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x5A0b54D5...D3E029c4c
Miner
| (Spark Pool) | 46.478859960280030229 Eth | 46.479027195280030229 Eth | 0.000167235 | |
0xBdC18219...9c575666f | (Auctionity) | 58.696364989588260541 Eth | 58.724433989588260541 Eth | 0.028069 | |
0xf0c8cAc7...746D50d45 |
0.038053391 Eth
Nonce: 468
|
0.009817156 Eth
Nonce: 469
| 0.028236235 |
Execution Trace
ETH 0.028069
AuctionityProxy_V1.CALL( )

ETH 0.028069
0xd75ff5435a94a5a35b641d455296af90875068b1.DELEGATECALL( )
ETH 0.028069
AuctionityPausable_V1.DELEGATECALL( )
- ETH 0.028069
AuctionityOwnable_V1.DELEGATECALL( )
- ETH 0.028069
File 1 of 3: AuctionityProxy_V1
File 2 of 3: AuctionityPausable_V1
File 3 of 3: AuctionityOwnable_V1
{"AuctionityLibrary_V1.sol":{"content":"pragma solidity ^0.5.4;\n\nimport \"./AuctionityStorage0.sol\";\n\n/// @title Auction library for delegate for some delegated function\ncontract AuctionityLibrary_V1 is AuctionityStorage0 {\n /// @notice get delegated addrss from a selector\n /// @param _selector byte4\n /// @return _contractDelegate address\n function getDelegate_V1(bytes4 _selector)\n public\n view\n returns (address _contractDelegate)\n {\n return delegates[_selector];\n }\n\n /// @notice call delegated function\n /// @param _calldata bytes : data sended to delegated contract\n /// @param _contractFallback address: address of fallback if selector is not exist, address(0) if no fallback\n /// @return uint return pointer and uint return size of callData return\n function _callDelegated_V1(\n bytes memory _calldata,\n address _contractFallback\n ) internal returns (uint returnPtr, uint returnSize) {\n /// @dev get selector from _calldata\n bytes4 _selector;\n assembly {\n _selector := mload(add(_calldata, 0x20))\n }\n\n /// @dev get address of delegated from selector\n address _contractDelegate = getDelegate_V1(_selector);\n\n /// @dev if _contractDelegate not found set _contractFallback into _contractFallback\n if (_contractDelegate == address(0)) {\n _contractDelegate = _contractFallback;\n }\n\n require(\n _contractDelegate != address(0),\n \"Auctionity function does not exist.\"\n );\n\n /// @dev delegate call and return result, or the eventual revert\n assembly {\n let result := delegatecall(\n gas,\n _contractDelegate,\n add(_calldata, 0x20),\n mload(_calldata),\n 0,\n 0\n )\n returnSize := returndatasize\n returnPtr := mload(0x40)\n returndatacopy(returnPtr, 0, returnSize)\n if eq(result, 0) {\n revert(returnPtr, returnSize)\n }\n }\n\n /// @dev return returndatacopy\n return (returnPtr, returnSize);\n\n }\n\n /// @notice delegate IsContractOwner_V1\n /// @return _isContractOwner\n function delegatedSendIsContractOwner_V1()\n public\n returns (bool _isContractOwner)\n {\n uint returnPtr;\n uint returnSize;\n\n (returnPtr, returnSize) = _callDelegated_V1(\n abi.encodeWithSelector(\n bytes4(keccak256(\"delegatedReceiveIsContractOwner_V1()\"))\n ),\n address(0)\n );\n\n assembly {\n _isContractOwner := mload(returnPtr)\n }\n\n return _isContractOwner;\n }\n\n modifier delegatedSendIsOracle_V1() {\n require(\n msg.sender == delegatedSendGetOracle_V1(),\n \"Sender must be oracle\"\n );\n _;\n }\n\n /// @notice delegate getOracle_V1\n /// @return address _oracle\n function delegatedSendGetOracle_V1() public returns (address _oracle) {\n uint returnPtr;\n uint returnSize;\n\n (returnPtr, returnSize) = _callDelegated_V1(\n abi.encodeWithSelector(\n bytes4(keccak256(\"delegatedReceiveGetOracle_V1()\"))\n ),\n address(0)\n );\n\n assembly {\n _oracle := mload(returnPtr)\n }\n return _oracle;\n\n }\n\n /// @notice delegate getPaused_V1\n /// @return bool _isPaused\n function delegatedSendGetPaused_V1() public returns (bool _isPaused) {\n uint returnPtr;\n uint returnSize;\n\n (returnPtr, returnSize) = _callDelegated_V1(\n abi.encodeWithSelector(\n bytes4(keccak256(\"delegatedReceiveGetPaused_V1()\"))\n ),\n address(0)\n );\n assembly {\n _isPaused := mload(returnPtr)\n }\n return _isPaused;\n\n }\n\n /// @notice delegate lockDeposit_V1\n /// @param _tokenContractAddress address\n /// @param _tokenId uint256\n /// @param _amount uint256\n /// @param _auctionId uint256\n /// @param _refundUser address\n /// @return bool _isPaused\n function delegatedLockDeposit_V1(\n address _tokenContractAddress,\n uint256 _tokenId,\n uint256 _amount,\n uint256 _auctionId,\n address _refundUser\n ) public returns (bool _success) {\n uint returnPtr;\n uint returnSize;\n\n (returnPtr, returnSize) = _callDelegated_V1(\n abi.encodeWithSelector(\n bytes4(\n keccak256(\n \"lockDeposit_V1(address,uint256,uint256,uint256,address)\"\n )\n ),\n _tokenContractAddress,\n _tokenId,\n _amount,\n _auctionId,\n _refundUser\n ),\n address(0)\n );\n\n assembly {\n _success := mload(returnPtr)\n }\n return _success;\n\n }\n\n /// @notice verify if _contractAddress is a contract\n /// @param _contractAddress address\n /// @return _isContract\n function isContract_V1(address _contractAddress)\n internal\n view\n returns (bool _isContract)\n {\n uint _size;\n assembly {\n _size := extcodesize(_contractAddress)\n }\n return _size \u003e 0;\n }\n\n /// @notice cast a bytesmemory into a uint256\n /// @param b bytes\n /// @return uint256\n function bytesToUint_V1(bytes memory b) internal pure returns (uint256) {\n uint256 _number;\n for (uint i = 0; i \u003c b.length; i++) {\n _number = _number + uint8(b[i]) * (2 ** (8 * (b.length - (i + 1))));\n }\n return _number;\n }\n}\n"},"AuctionityProxy_V1.sol":{"content":"pragma solidity ^0.5.4;\n\nimport \"./AuctionityLibrary_V1.sol\";\n\n/**\n * @title Proxy\n * @dev Gives the possibility to delegate any call to a foreign implementation.\n */\ncontract AuctionityProxy_V1 is AuctionityLibrary_V1 {\n /// @notice init contract by calling `_auctionityProxyUpdate.initProxyContract_V1(auctionityProxyUpdate,_ownable)`,\n /// adding the first delegate functions and set _ownable as the contract responsible for\n /// contract ownership.\n /// @param _auctionityProxyUpdate address : contract proxyUpdate\n /// @param _ownable address : contract ownable\n constructor(address _auctionityProxyUpdate, address _ownable) public {\n /// @dev encode initProxyContract_V1 selector with parametters\n bytes memory _calldata = abi.encodeWithSelector(\n bytes4(keccak256(\"initProxyContract_V1(address,address)\")),\n _auctionityProxyUpdate,\n _ownable\n );\n\n /// @dev deletatecall initProxyContract_V1 to _auctionityProxyUpdate\n /// @return return the delegtecall return, or the eventual revert\n assembly {\n let result := delegatecall(\n gas,\n _auctionityProxyUpdate,\n add(_calldata, 0x20),\n mload(_calldata),\n 0,\n 0\n )\n let size := returndatasize\n returndatacopy(_calldata, 0, size)\n if eq(result, 0) {\n revert(_calldata, size)\n }\n }\n }\n\n // @notice Fallback payable proxy function\n /// @return return the _callDelegated_V1 return, or the eventual revert\n function() external payable {\n uint returnPtr;\n uint returnSize;\n\n (returnPtr, returnSize) = _callDelegated_V1(\n msg.data,\n proxyFallbackContract\n );\n\n assembly {\n return(returnPtr, returnSize)\n }\n\n }\n}\n"},"AuctionityStorage0.sol":{"content":"pragma solidity ^0.5.4;\n\ncontract AuctionityStorage0 {\n // selector =\u003e delegate contract\n mapping(bytes4 =\u003e address) internal delegates;\n\n // If selector not found, fallback contract address\n address public proxyFallbackContract;\n\n address public contractOwner;\n address public oracle;\n\n bool public paused;\n\n uint8 public ethereumChainId;\n uint8 public auctionityChainId;\n}\n"}}
File 2 of 3: AuctionityPausable_V1
{"AuctionityLibrary_V1.sol":{"content":"pragma solidity ^0.5.4;\n\nimport \"./AuctionityStorage0.sol\";\n\n/// @title Auction library for delegate for some delegated function\ncontract AuctionityLibrary_V1 is AuctionityStorage0 {\n /// @notice get delegated addrss from a selector\n /// @param _selector byte4\n /// @return _contractDelegate address\n function getDelegate_V1(bytes4 _selector)\n public\n view\n returns (address _contractDelegate)\n {\n return delegates[_selector];\n }\n\n /// @notice call delegated function\n /// @param _calldata bytes : data sended to delegated contract\n /// @param _contractFallback address: address of fallback if selector is not exist, address(0) if no fallback\n /// @return uint return pointer and uint return size of callData return\n function _callDelegated_V1(\n bytes memory _calldata,\n address _contractFallback\n ) internal returns (uint returnPtr, uint returnSize) {\n /// @dev get selector from _calldata\n bytes4 _selector;\n assembly {\n _selector := mload(add(_calldata, 0x20))\n }\n\n /// @dev get address of delegated from selector\n address _contractDelegate = getDelegate_V1(_selector);\n\n /// @dev if _contractDelegate not found set _contractFallback into _contractFallback\n if (_contractDelegate == address(0)) {\n _contractDelegate = _contractFallback;\n }\n\n require(\n _contractDelegate != address(0),\n \"Auctionity function does not exist.\"\n );\n\n /// @dev delegate call and return result, or the eventual revert\n assembly {\n let result := delegatecall(\n gas,\n _contractDelegate,\n add(_calldata, 0x20),\n mload(_calldata),\n 0,\n 0\n )\n returnSize := returndatasize\n returnPtr := mload(0x40)\n returndatacopy(returnPtr, 0, returnSize)\n if eq(result, 0) {\n revert(returnPtr, returnSize)\n }\n }\n\n /// @dev return returndatacopy\n return (returnPtr, returnSize);\n\n }\n\n /// @notice delegate IsContractOwner_V1\n /// @return _isContractOwner\n function delegatedSendIsContractOwner_V1()\n public\n returns (bool _isContractOwner)\n {\n uint returnPtr;\n uint returnSize;\n\n (returnPtr, returnSize) = _callDelegated_V1(\n abi.encodeWithSelector(\n bytes4(keccak256(\"delegatedReceiveIsContractOwner_V1()\"))\n ),\n address(0)\n );\n\n assembly {\n _isContractOwner := mload(returnPtr)\n }\n\n return _isContractOwner;\n }\n\n modifier delegatedSendIsOracle_V1() {\n require(\n msg.sender == delegatedSendGetOracle_V1(),\n \"Sender must be oracle\"\n );\n _;\n }\n\n /// @notice delegate getOracle_V1\n /// @return address _oracle\n function delegatedSendGetOracle_V1() public returns (address _oracle) {\n uint returnPtr;\n uint returnSize;\n\n (returnPtr, returnSize) = _callDelegated_V1(\n abi.encodeWithSelector(\n bytes4(keccak256(\"delegatedReceiveGetOracle_V1()\"))\n ),\n address(0)\n );\n\n assembly {\n _oracle := mload(returnPtr)\n }\n return _oracle;\n\n }\n\n /// @notice delegate getPaused_V1\n /// @return bool _isPaused\n function delegatedSendGetPaused_V1() public returns (bool _isPaused) {\n uint returnPtr;\n uint returnSize;\n\n (returnPtr, returnSize) = _callDelegated_V1(\n abi.encodeWithSelector(\n bytes4(keccak256(\"delegatedReceiveGetPaused_V1()\"))\n ),\n address(0)\n );\n assembly {\n _isPaused := mload(returnPtr)\n }\n return _isPaused;\n\n }\n\n /// @notice delegate lockDeposit_V1\n /// @param _tokenContractAddress address\n /// @param _tokenId uint256\n /// @param _amount uint256\n /// @param _auctionId uint256\n /// @param _refundUser address\n /// @return bool _isPaused\n function delegatedLockDeposit_V1(\n address _tokenContractAddress,\n uint256 _tokenId,\n uint256 _amount,\n uint256 _auctionId,\n address _refundUser\n ) public returns (bool _success) {\n uint returnPtr;\n uint returnSize;\n\n (returnPtr, returnSize) = _callDelegated_V1(\n abi.encodeWithSelector(\n bytes4(\n keccak256(\n \"lockDeposit_V1(address,uint256,uint256,uint256,address)\"\n )\n ),\n _tokenContractAddress,\n _tokenId,\n _amount,\n _auctionId,\n _refundUser\n ),\n address(0)\n );\n\n assembly {\n _success := mload(returnPtr)\n }\n return _success;\n\n }\n\n /// @notice verify if _contractAddress is a contract\n /// @param _contractAddress address\n /// @return _isContract\n function isContract_V1(address _contractAddress)\n internal\n view\n returns (bool _isContract)\n {\n uint _size;\n assembly {\n _size := extcodesize(_contractAddress)\n }\n return _size \u003e 0;\n }\n\n /// @notice cast a bytesmemory into a uint256\n /// @param b bytes\n /// @return uint256\n function bytesToUint_V1(bytes memory b) internal pure returns (uint256) {\n uint256 _number;\n for (uint i = 0; i \u003c b.length; i++) {\n _number = _number + uint8(b[i]) * (2 ** (8 * (b.length - (i + 1))));\n }\n return _number;\n }\n}\n"},"AuctionityPausable_V1.sol":{"content":"pragma solidity ^0.5.4;\n\nimport \"./AuctionityLibrary_V1.sol\";\n\n/// @title Pausable\n/// @dev Base contract which allows children to implement an emergency stop mechanism.\n\ncontract AuctionityPausable_V1 is AuctionityLibrary_V1 {\n event LogPaused_V1(bool paused);\n\n /// @notice constructor, default is false, no incidence if called by proxy\n constructor() public {\n paused = false;\n }\n\n /// @notice delegate receive of get Paused\n /// @return _isPaused bool\n function delegatedReceiveGetPaused_V1()\n public\n payable\n returns (bool _isPaused)\n {\n return getPaused_V1();\n }\n\n /// @notice verify if is paused\n /// @return _isPaused bool\n function getPaused_V1() public returns (bool _isPaused) {\n if (delegatedSendIsContractOwner_V1() == true) {\n return false;\n }\n return paused;\n }\n\n /// @dev Modifier to make a function callable only when the contract is not paused.\n modifier whenNotPaused_V1() {\n require(!delegatedSendGetPaused_V1(), \"Contrat is paused\");\n _;\n }\n\n /// @dev Modifier to make a function callable only when the contract is paused.\n modifier whenPaused_V1() {\n require(delegatedSendGetPaused_V1(), \"Contrat is not paused\");\n _;\n }\n\n /// @notice called by the owner to pause, triggers stopped state\n /// @param _paused bool\n function setPaused_V1(bool _paused) public {\n require(delegatedSendIsContractOwner_V1(), \"Not Contract owner\");\n paused = _paused;\n emit LogPaused_V1(_paused);\n }\n}\n"},"AuctionityStorage0.sol":{"content":"pragma solidity ^0.5.4;\n\ncontract AuctionityStorage0 {\n // selector =\u003e delegate contract\n mapping(bytes4 =\u003e address) internal delegates;\n\n // If selector not found, fallback contract address\n address public proxyFallbackContract;\n\n address public contractOwner;\n address public oracle;\n\n bool public paused;\n\n uint8 public ethereumChainId;\n uint8 public auctionityChainId;\n}\n"}}
File 3 of 3: AuctionityOwnable_V1
{"AuctionityLibrary_V1.sol":{"content":"pragma solidity ^0.5.4;\n\nimport \"./AuctionityStorage0.sol\";\n\n/// @title Auction library for delegate for some delegated function\ncontract AuctionityLibrary_V1 is AuctionityStorage0 {\n /// @notice get delegated addrss from a selector\n /// @param _selector byte4\n /// @return _contractDelegate address\n function getDelegate_V1(bytes4 _selector)\n public\n view\n returns (address _contractDelegate)\n {\n return delegates[_selector];\n }\n\n /// @notice call delegated function\n /// @param _calldata bytes : data sended to delegated contract\n /// @param _contractFallback address: address of fallback if selector is not exist, address(0) if no fallback\n /// @return uint return pointer and uint return size of callData return\n function _callDelegated_V1(\n bytes memory _calldata,\n address _contractFallback\n ) internal returns (uint returnPtr, uint returnSize) {\n /// @dev get selector from _calldata\n bytes4 _selector;\n assembly {\n _selector := mload(add(_calldata, 0x20))\n }\n\n /// @dev get address of delegated from selector\n address _contractDelegate = getDelegate_V1(_selector);\n\n /// @dev if _contractDelegate not found set _contractFallback into _contractFallback\n if (_contractDelegate == address(0)) {\n _contractDelegate = _contractFallback;\n }\n\n require(\n _contractDelegate != address(0),\n \"Auctionity function does not exist.\"\n );\n\n /// @dev delegate call and return result, or the eventual revert\n assembly {\n let result := delegatecall(\n gas,\n _contractDelegate,\n add(_calldata, 0x20),\n mload(_calldata),\n 0,\n 0\n )\n returnSize := returndatasize\n returnPtr := mload(0x40)\n returndatacopy(returnPtr, 0, returnSize)\n if eq(result, 0) {\n revert(returnPtr, returnSize)\n }\n }\n\n /// @dev return returndatacopy\n return (returnPtr, returnSize);\n\n }\n\n /// @notice delegate IsContractOwner_V1\n /// @return _isContractOwner\n function delegatedSendIsContractOwner_V1()\n public\n returns (bool _isContractOwner)\n {\n uint returnPtr;\n uint returnSize;\n\n (returnPtr, returnSize) = _callDelegated_V1(\n abi.encodeWithSelector(\n bytes4(keccak256(\"delegatedReceiveIsContractOwner_V1()\"))\n ),\n address(0)\n );\n\n assembly {\n _isContractOwner := mload(returnPtr)\n }\n\n return _isContractOwner;\n }\n\n modifier delegatedSendIsOracle_V1() {\n require(\n msg.sender == delegatedSendGetOracle_V1(),\n \"Sender must be oracle\"\n );\n _;\n }\n\n /// @notice delegate getOracle_V1\n /// @return address _oracle\n function delegatedSendGetOracle_V1() public returns (address _oracle) {\n uint returnPtr;\n uint returnSize;\n\n (returnPtr, returnSize) = _callDelegated_V1(\n abi.encodeWithSelector(\n bytes4(keccak256(\"delegatedReceiveGetOracle_V1()\"))\n ),\n address(0)\n );\n\n assembly {\n _oracle := mload(returnPtr)\n }\n return _oracle;\n\n }\n\n /// @notice delegate getPaused_V1\n /// @return bool _isPaused\n function delegatedSendGetPaused_V1() public returns (bool _isPaused) {\n uint returnPtr;\n uint returnSize;\n\n (returnPtr, returnSize) = _callDelegated_V1(\n abi.encodeWithSelector(\n bytes4(keccak256(\"delegatedReceiveGetPaused_V1()\"))\n ),\n address(0)\n );\n assembly {\n _isPaused := mload(returnPtr)\n }\n return _isPaused;\n\n }\n\n /// @notice delegate lockDeposit_V1\n /// @param _tokenContractAddress address\n /// @param _tokenId uint256\n /// @param _amount uint256\n /// @param _auctionId uint256\n /// @param _refundUser address\n /// @return bool _isPaused\n function delegatedLockDeposit_V1(\n address _tokenContractAddress,\n uint256 _tokenId,\n uint256 _amount,\n uint256 _auctionId,\n address _refundUser\n ) public returns (bool _success) {\n uint returnPtr;\n uint returnSize;\n\n (returnPtr, returnSize) = _callDelegated_V1(\n abi.encodeWithSelector(\n bytes4(\n keccak256(\n \"lockDeposit_V1(address,uint256,uint256,uint256,address)\"\n )\n ),\n _tokenContractAddress,\n _tokenId,\n _amount,\n _auctionId,\n _refundUser\n ),\n address(0)\n );\n\n assembly {\n _success := mload(returnPtr)\n }\n return _success;\n\n }\n\n /// @notice verify if _contractAddress is a contract\n /// @param _contractAddress address\n /// @return _isContract\n function isContract_V1(address _contractAddress)\n internal\n view\n returns (bool _isContract)\n {\n uint _size;\n assembly {\n _size := extcodesize(_contractAddress)\n }\n return _size \u003e 0;\n }\n\n /// @notice cast a bytesmemory into a uint256\n /// @param b bytes\n /// @return uint256\n function bytesToUint_V1(bytes memory b) internal pure returns (uint256) {\n uint256 _number;\n for (uint i = 0; i \u003c b.length; i++) {\n _number = _number + uint8(b[i]) * (2 ** (8 * (b.length - (i + 1))));\n }\n return _number;\n }\n}\n"},"AuctionityOwnable_V1.sol":{"content":"pragma solidity ^0.5.4;\n\nimport \"./AuctionityStorage0.sol\";\n\n/// @title Ownable\n/// @dev The Ownable contract has an owner address, and provides basic authorization control\n/// functions, this simplifies the implementation of \"user permissions\".\n\ncontract AuctionityOwnable_V1 is AuctionityStorage0 {\n event OwnershipRenounced_V1(address indexed previousOwner);\n event OwnershipTransferred_V1(\n address indexed previousOwner,\n address indexed newOwner\n );\n\n /// @notice get contract owner address\n /// @return _contractOwner address\n function getContractOwner_V1()\n public\n view\n returns (address _contractOwner)\n {\n return contractOwner;\n }\n\n /// @notice delegate receive of isContractOwner\n /// @return _isContractOwner bool\n function delegatedReceiveIsContractOwner_V1()\n public\n payable\n returns (bool _isContractOwner)\n {\n return isContractOwner_V1();\n }\n\n /// @notice verify if msg.sender is contract owner\n /// @return _isContractOwner bool\n function isContractOwner_V1() public view returns (bool _isContractOwner) {\n return msg.sender == contractOwner;\n }\n\n /// @notice Renouncing to ownership will leave the contract without an owner.\n function renounceOwnership_V1() public {\n require(isContractOwner_V1(), \"Not the owner\");\n emit OwnershipRenounced_V1(contractOwner);\n contractOwner = address(0);\n }\n\n /// @notice Allows the current owner to transfer control of the contract to a newOwner.\n /// @param newOwner The address to transfer ownership to.\n function transferOwnership_V1(address newOwner) public {\n require(isContractOwner_V1(), \"Not the owner\");\n _transferOwnership_V1(newOwner);\n }\n\n /// @notice Transfers control of the contract to a newOwner.\n /// @param newOwner The address to transfer ownership to.\n function _transferOwnership_V1(address newOwner) internal {\n require(newOwner != address(0));\n emit OwnershipTransferred_V1(contractOwner, newOwner);\n contractOwner = newOwner;\n }\n}\n"},"AuctionityStorage0.sol":{"content":"pragma solidity ^0.5.4;\n\ncontract AuctionityStorage0 {\n // selector =\u003e delegate contract\n mapping(bytes4 =\u003e address) internal delegates;\n\n // If selector not found, fallback contract address\n address public proxyFallbackContract;\n\n address public contractOwner;\n address public oracle;\n\n bool public paused;\n\n uint8 public ethereumChainId;\n uint8 public auctionityChainId;\n}\n"}}