non-fungible-apps/contracts/FleekBuilds.sol

32 lines
813 B
Solidity

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;
import "../interfaces/IFleekBuilds.sol";
import "./FleekAccessControl.sol";
abstract contract FleekBuilds is IFleekBuilds, FleekAccessControl {
build[] public builds;
function update(
build calldata _newBuild
) external override requireController {
builds.push(_newBuild);
emit Upgraded(_newBuild);
}
function getCurrentBuild() external view override returns (build memory) {
return builds[builds.length - 1];
}
function getBuildById(
uint256 _buildId
) external view override returns (build memory) {
return builds[_buildId];
}
function getBuilds() external view override returns (build[] memory) {
return builds;
}
}