memoscan
← all memos

Memo 0x23b7e746…48e688 on Ethereum

𝑛. // SPDX-License-Identifier: MIT pragma solidity ^0.8.20; contract EnergyChanneler { error InvalidInput(); // [...] // EVENT /** * @notice ... * @dev ... * ... * @param flux ... * @param divisions ... * @param weight ... * @param precision ... * @param anchor ... * @return tide ... * @return pattern ... * @return reward ... */ function channelEnergy( uint256 flux, uint256 divisions, uint256 weight, uint256 precision, uint256 anchor ) external returns (uint256 tide, bytes32 pattern, uint256 reward) { if (flux == 0 || divisions == 0 || precision == 0) revert InvalidInput(); // [...] unchecked { uint256 adjustedWeight = (weight * precision) / (weight + precision); uint256 modulatedFlux = ((flux ** 2) / (divisions + 1)) + (anchor % adjustedWeight); tide = (modulatedFlux * adjustedWeight) / precision; pattern = keccak256( abi.encodePacked( tide, divisions, weight, precision, anchor, blockhash(block.number - (anchor % 256)) ) ); reward = (tide * (precision**2)) / ((divisions + 1) * adjustedWeight); } // EMIT } }