Skip to content

Commit

Permalink
rename token to AI
Browse files Browse the repository at this point in the history
  • Loading branch information
mattdf committed Jan 13, 2025
1 parent efa7597 commit 75a0599
Show file tree
Hide file tree
Showing 7 changed files with 34 additions and 34 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:

- name: Run Forge build
run: |
forge build --via-ir --sizes
forge build --via-ir
id: build

- name: Run Forge tests
Expand Down
2 changes: 1 addition & 1 deletion src/PrimeIntellectToken.sol → src/AIToken.sol
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/access/AccessControl.sol";

contract PrimeIntellectToken is ERC20, AccessControl {
contract AIToken is ERC20, AccessControl {
bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE");
bytes32 public constant BURNER_ROLE = keccak256("BURNER_ROLE");

Expand Down
6 changes: 3 additions & 3 deletions src/ComputePool.sol
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ contract ComputePool is IComputePool, AccessControl {
IComputeRegistry public computeRegistry;
IDomainRegistry public domainRegistry;
RewardsDistributor public rewardsDistributor;
IERC20 public PrimeToken;
IERC20 public AIToken;

mapping(uint256 => mapping(address => WorkInterval[])) public nodeWork;
mapping(uint256 => mapping(address => uint256)) public providerActiveNodes;
Expand All @@ -36,12 +36,12 @@ contract ComputePool is IComputePool, AccessControl {
address _primeAdmin,
IDomainRegistry _domainRegistry,
IComputeRegistry _computeRegistry,
IERC20 _PrimeToken
IERC20 _AIToken
) {
_grantRole(DEFAULT_ADMIN_ROLE, _primeAdmin);
_grantRole(PRIME_ROLE, _primeAdmin);
poolIdCounter = 0;
PrimeToken = _PrimeToken;
AIToken = _AIToken;
computeRegistry = _computeRegistry;
domainRegistry = _domainRegistry;
}
Expand Down
10 changes: 5 additions & 5 deletions src/PrimeNetwork.sol
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@ contract PrimeNetwork is AccessControl {
IStakeManager public stakeManager;
IComputePool public computePool;

IERC20 public PrimeToken;
IERC20 public AIToken;

constructor(address _federator, address _validator, IERC20 _PrimeToken) {
constructor(address _federator, address _validator, IERC20 _AIToken) {
_grantRole(DEFAULT_ADMIN_ROLE, msg.sender);
_grantRole(FEDERATOR_ROLE, _federator);
_grantRole(VALIDATOR_ROLE, _validator);
PrimeToken = _PrimeToken;
AIToken = _AIToken;
}

function setModuleAddresses(
Expand Down Expand Up @@ -91,8 +91,8 @@ contract PrimeNetwork is AccessControl {
address provider = msg.sender;
bool success = computeRegistry.register(provider);
require(success, "Provider registration failed");
PrimeToken.transferFrom(msg.sender, address(this), stake);
PrimeToken.approve(address(stakeManager), stake);
AIToken.transferFrom(msg.sender, address(this), stake);
AIToken.approve(address(stakeManager), stake);
stakeManager.stake(provider, stake);
emit ProviderRegistered(provider, stake);
}
Expand Down
2 changes: 1 addition & 1 deletion src/RewardsDistributor.sol
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ contract RewardsDistributor {
IComputeRegistry public computeRegistry;
uint256 public poolId;
mapping(address => uint256) public lastClaimed;
IERC20 public PrimeToken;
IERC20 public AIToken;
uint256 public rewardRate;

constructor(IComputePool _computePool, IComputeRegistry _computeRegistry, uint256 _poolId) {
Expand Down
12 changes: 6 additions & 6 deletions src/StakeManager.sol
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ contract StakeManager is IStakeManager, AccessControl {
}

bytes32 public constant PRIME_ROLE = keccak256("PRIME_ROLE");
IERC20 public PrimeToken;
IERC20 public AIToken;

mapping(address => uint256) private _stakes;
mapping(address => UnbondTracker) private _unbonds;
Expand All @@ -21,17 +21,17 @@ contract StakeManager is IStakeManager, AccessControl {
uint256 private _unbondingPeriod;
uint256 private _stakeMinimum;

constructor(address primeAdmin, uint256 unbondingPeriod, IERC20 primeToken) {
constructor(address primeAdmin, uint256 unbondingPeriod, IERC20 _AIToken) {
_unbondingPeriod = unbondingPeriod;
PrimeToken = primeToken;
AIToken = _AIToken;
_grantRole(DEFAULT_ADMIN_ROLE, primeAdmin);
_grantRole(PRIME_ROLE, primeAdmin);
}

function stake(address staker, uint256 amount) external onlyRole(PRIME_ROLE) {
_stakes[staker] += amount;
_totalStaked += amount;
PrimeToken.transferFrom(msg.sender, address(this), amount);
AIToken.transferFrom(msg.sender, address(this), amount);
emit Stake(staker, amount);
}

Expand Down Expand Up @@ -62,7 +62,7 @@ contract StakeManager is IStakeManager, AccessControl {
if (amount == 0) {
revert("StakeManager: no funds to withdraw");
}
PrimeToken.transfer(msg.sender, amount);
AIToken.transfer(msg.sender, amount);
emit Withdraw(msg.sender, amount);
}

Expand All @@ -71,7 +71,7 @@ contract StakeManager is IStakeManager, AccessControl {
reason.length == 0; // silence warning
_stakes[staker] -= amount;
_totalStaked -= amount;
PrimeToken.transfer(msg.sender, amount);
AIToken.transfer(msg.sender, amount);
emit Unstake(staker, amount);
}

Expand Down
34 changes: 17 additions & 17 deletions test/PrimeNetwork.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ pragma solidity ^0.8.13;

import {Test, console} from "forge-std/Test.sol";
import {PrimeNetwork} from "../src/PrimeNetwork.sol";
import {PrimeIntellectToken} from "../src/PrimeIntellectToken.sol";
import {AIToken} from "../src/AIToken.sol";
import {ComputeRegistry} from "../src/ComputeRegistry.sol";
import {ComputePool} from "../src/ComputePool.sol";
import {StakeManager} from "../src/StakeManager.sol";
Expand Down Expand Up @@ -36,7 +36,7 @@ contract PrimeNetworkTest is Test {
address computeManager;
uint256 computeManager_sk;
PrimeNetwork primeNetwork;
PrimeIntellectToken primeIntellectToken;
AIToken AI;
ComputeRegistry computeRegistry;
ComputePool computePool;
StakeManager stakeManager;
Expand All @@ -48,12 +48,12 @@ contract PrimeNetworkTest is Test {
federator = makeAddr("federator");
validator = makeAddr("validator");
startHoax(federator);
primeIntellectToken = new PrimeIntellectToken("Prime Intellect", "PRIME");
primeNetwork = new PrimeNetwork(federator, validator, primeIntellectToken);
AI = new AIToken("Prime Intellect", "AI");
primeNetwork = new PrimeNetwork(federator, validator, AI);
computeRegistry = new ComputeRegistry(address(primeNetwork));
stakeManager = new StakeManager(address(primeNetwork), unbondingPeriod, primeIntellectToken);
stakeManager = new StakeManager(address(primeNetwork), unbondingPeriod, AI);
domainRegistry = new DomainRegistry(address(primeNetwork));
computePool = new ComputePool(address(primeNetwork), domainRegistry, computeRegistry, primeIntellectToken);
computePool = new ComputePool(address(primeNetwork), domainRegistry, computeRegistry, AI);

primeNetwork.setModuleAddresses(
address(computeRegistry), address(domainRegistry), address(stakeManager), address(computePool)
Expand All @@ -74,10 +74,10 @@ contract PrimeNetworkTest is Test {
(node_bad1, node_bad1_sk) = makeAddrAndKey("node_bad1");
(computeManager, computeManager_sk) = makeAddrAndKey("computeManager");

primeIntellectToken.mint(provider_good1, 1000);
primeIntellectToken.mint(provider_good2, 1000);
primeIntellectToken.mint(provider_good3, 1000);
primeIntellectToken.mint(provider_bad1, 1000);
AI.mint(provider_good1, 1000);
AI.mint(provider_good2, 1000);
AI.mint(provider_good3, 1000);
AI.mint(provider_bad1, 1000);
}

function test_federatorRole() public {
Expand All @@ -94,16 +94,16 @@ contract PrimeNetworkTest is Test {

function test_providerRegistration() public {
vm.startPrank(provider_good1);
primeIntellectToken.approve(address(primeNetwork), 10);
AI.approve(address(primeNetwork), 10);
primeNetwork.registerProvider(10);
(address providerAddress,,) = computeRegistry.providers(provider_good1);
assertEq(providerAddress, provider_good1);
}

function test_providerDeregistrationAndUnstaking() public {
vm.startPrank(provider_good1);
assertEq(primeIntellectToken.balanceOf(provider_good1), 1000);
primeIntellectToken.approve(address(primeNetwork), 10);
assertEq(AI.balanceOf(provider_good1), 1000);
AI.approve(address(primeNetwork), 10);
primeNetwork.registerProvider(10);
primeNetwork.deregisterProvider(provider_good1);
(address providerAddress,,) = computeRegistry.providers(provider_good1);
Expand All @@ -115,7 +115,7 @@ contract PrimeNetworkTest is Test {
IStakeManager.Unbond[] memory bond = stakeManager.getPendingUnbonds(provider_good1);
console.log("Unbond:", bond[0].amount, bond[0].timestamp);
stakeManager.withdraw();
assertEq(primeIntellectToken.balanceOf(provider_good1), 1000);
assertEq(AI.balanceOf(provider_good1), 1000);
}

function test_domainCreation() public {
Expand All @@ -137,12 +137,12 @@ contract PrimeNetworkTest is Test {
assertEq(domain.name, "Decentralized Training");
uint256 domainId = domain.domainId;
// mint some tokens so provider can stake
primeIntellectToken.mint(address(provider_good1), 10);
AI.mint(address(provider_good1), 10);
// end federator role ------
// start provider role -----
vm.startPrank(provider_good1);
// register provider
primeIntellectToken.approve(address(primeNetwork), 10);
AI.approve(address(primeNetwork), 10);
primeNetwork.registerProvider(10);
// create a signature from node and add node
bytes32 digest = keccak256(abi.encodePacked(provider_good1, node_good1)).toEthSignedMessageHash();
Expand All @@ -162,7 +162,7 @@ contract PrimeNetworkTest is Test {
vm.startPrank(pool_creator);
// create compute pool
uint256 poolId = computePool.createComputePool(
0, computeManager, "INTELLECT-2", "https://primeintellect.ai/pools/intellect-2"
domainId, computeManager, "INTELLECT-2", "https://primeintellect.ai/pools/intellect-2"
);
computePool.startComputePool(poolId);
// invite node to join pool
Expand Down

0 comments on commit 75a0599

Please sign in to comment.