@skynetxbt/venice-ai-plugin
Version:
Venice AI Plugin for Skynet Framework - Staking Contract Integration
43 lines (36 loc) • 2.13 kB
text/typescript
export const DEMO_PLUGIN_ADDRESS = "0x0000000000000000000000000000000000000000";
export const STAKING_CONTRACT_ADDRESS = "0x321b7ff75154472B18EDb199033fF4D116F340Ff";
export const STAKING_CONTRACT_IMPLEMENTATION_ADDRESS = "0x417e7e8045aab25dcd703003dd8d7b5f2f11ead8";
// Venice Token (VVV) constants
export const VENICE_TOKEN_ADDRESS = "0xacfE6019Ed1A7Dc6f7B508C02d1b04ec88cC21bf"; // Replace with actual VVV token address
export const VENICE_TOKEN_ABI = [
"function approve(address spender, uint256 amount) external returns (bool)",
"function allowance(address owner, address spender) external view returns (uint256)",
"function balanceOf(address account) external view returns (uint256)",
"function transfer(address recipient, uint256 amount) external returns (bool)"
];
// Import ABI from a JSON file that we'll create
export const STAKING_CONTRACT_ABI = [
// Staking functions
"function stake(address recipient, uint256 amount) external",
"function initiateUnstake(uint256 amount) external",
"function finalizeUnstake() external",
"function claim() external",
// View functions
"function pendingRewards(address _user) public view returns (uint256)",
"function getVenicePercentage() public view returns (uint256)",
"function stakes(address) public view returns (uint256 rewardDebt, uint256 cooldownEnd, uint256 cooldownAmount)",
"function venice() public view returns (address)",
"function oracle() public view returns (address)",
"function treasury() public view returns (address)",
"function emissionRatePerSecond() public view returns (uint256)",
"function cooldownDuration() public view returns (uint256)",
"function accRewardPerShare() public view returns (uint256)",
"function lastRewardTimestamp() public view returns (uint256)",
"function totalSupply() public view returns (uint256)",
"function balanceOf(address account) public view returns (uint256)",
// Admin functions
"function setTreasury(address _treasury) external",
"function setEmissionRate(uint256 _emissionRate) external",
"function setCooldownDuration(uint256 _cooldownDuration) external"
];