function explorationResults(
        uint256 _shipTokenId,
        uint256 _sectorTokenId,
        uint16[10] _IDs,
        uint8[10] _attributes,
        uint8[STATS_SIZE][10] _stats
    )
    external onlyOracle
    {
        uint256 cooldown;
        uint64 cooldownEndBlock;
        uint256 builtBy;
        (,,,,,cooldownEndBlock, cooldown, builtBy) = ethernautsStorage.assets(_shipTokenId);

        address owner = ethernautsStorage.ownerOf(_shipTokenId);
        require(owner != address(0));

        
        uint256 i = 0;
        for (i = 0; i < 10 && _IDs[i] > 0; i++) {
            _buildAsset(
                _sectorTokenId,
                owner,
                0,
                _IDs[i],
                uint8(AssetCategory.Object),
                uint8(_attributes[i]),
                _stats[i],
                cooldown,
                cooldownEndBlock
            );
        }

        
        require(i > 0);

        
        delete explorers[tokenIndexToExplore[_shipTokenId]];
        delete tokenIndexToSector[_shipTokenId];

        
        Result(_shipTokenId, _sectorTokenId);
    }