fix: correct constructor arguments in contract tests
Some checks failed
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Deploy to Testnet / notify-deployment (push) Has been cancelled
Contract Performance Benchmarks / benchmark-gas-usage (push) Failing after 10s
Contract Performance Benchmarks / benchmark-execution-time (push) Has started running
Contract Performance Benchmarks / benchmark-throughput (push) Has been cancelled
Contract Performance Benchmarks / compare-benchmarks (push) Has been cancelled
Cross-Chain Functionality Tests / test-cross-chain-sync (push) Failing after 8s
Cross-Chain Functionality Tests / test-cross-chain-transactions (push) Successful in 9s
Cross-Chain Functionality Tests / test-cross-chain-bridge (push) Failing after 1m12s
Cross-Chain Functionality Tests / test-multi-chain-consensus (push) Failing after 2s
Cross-Chain Functionality Tests / aggregate-results (push) Has been skipped

- Fix AITBCPaymentProcessor constructor to pass aiPowerRental address
- Fix DynamicPricing constructor to deploy required dependencies
- Fix EscrowService constructor to pass aiPowerRental to PaymentProcessor
- Fix Phase4ModularContracts to use waitForDeployment() instead of deployed()
- Fix Phase4ModularContracts to use getAddress() instead of .address
This commit is contained in:
aitbc
2026-04-29 10:54:47 +02:00
parent d826318aab
commit 1c5292f84b
3 changed files with 30 additions and 23 deletions

View File

@@ -8,7 +8,6 @@ describe("AITBCPaymentProcessor", function () {
let paymentId;
const PAYMENT_AMOUNT = ethers.parseEther("100");
const SERVICE_FEE_PERCENTAGE = 200; // 2%
beforeEach(async function () {
[deployer, payer, payee, agent] = await ethers.getSigners();
@@ -18,11 +17,16 @@ describe("AITBCPaymentProcessor", function () {
aitbcToken = await AIToken.deploy(ethers.parseUnits("1000000", 18));
await aitbcToken.waitForDeployment();
// Deploy AIPowerRental (mock)
const AIPowerRental = await ethers.getContractFactory("AIPowerRental");
const aiPowerRental = await AIPowerRental.deploy();
await aiPowerRental.waitForDeployment();
// Deploy PaymentProcessor
const AITBCPaymentProcessor = await ethers.getContractFactory("AITBCPaymentProcessor");
paymentProcessor = await AITBCPaymentProcessor.deploy(
await aitbcToken.getAddress(),
SERVICE_FEE_PERCENTAGE
await aiPowerRental.getAddress()
);
await paymentProcessor.waitForDeployment();

View File

@@ -27,7 +27,10 @@ describe("EscrowService", function () {
// Deploy AITBCPaymentProcessor (mock)
const AITBCPaymentProcessor = await ethers.getContractFactory("AITBCPaymentProcessor");
paymentProcessor = await AITBCPaymentProcessor.deploy();
paymentProcessor = await AITBCPaymentProcessor.deploy(
await aitbcToken.getAddress(),
await aiPowerRental.getAddress()
);
await paymentProcessor.waitForDeployment();
// Deploy EscrowService

View File

@@ -26,7 +26,7 @@ describe("Phase 4 Modular Smart Contracts", function () {
// Deploy AIToken for testing
const AIToken = await ethers.getContractFactory("AIToken");
aiToken = await AIToken.deploy(INITIAL_SUPPLY);
await aiToken.deployed();
await aiToken.waitForDeployment();
// Transfer tokens to users
await aiToken.transfer(user1.address, ethers.parseEther("10000"));
@@ -36,60 +36,60 @@ describe("Phase 4 Modular Smart Contracts", function () {
// Deploy ContractRegistry
const ContractRegistry = await ethers.getContractFactory("ContractRegistry");
contractRegistry = await ContractRegistry.deploy();
await contractRegistry.deployed();
await contractRegistry.waitForDeployment();
// Deploy TreasuryManager
const TreasuryManager = await ethers.getContractFactory("TreasuryManager");
treasuryManager = await TreasuryManager.deploy(aiToken.address);
await treasuryManager.deployed();
treasuryManager = await TreasuryManager.deploy(await aiToken.getAddress());
await treasuryManager.waitForDeployment();
// Deploy RewardDistributor
const RewardDistributor = await ethers.getContractFactory("RewardDistributor");
rewardDistributor = await RewardDistributor.deploy();
await rewardDistributor.deployed();
await rewardDistributor.waitForDeployment();
// Deploy PerformanceAggregator
const PerformanceAggregator = await ethers.getContractFactory("PerformanceAggregator");
performanceAggregator = await PerformanceAggregator.deploy();
await performanceAggregator.deployed();
await performanceAggregator.waitForDeployment();
// Deploy StakingPoolFactory
const StakingPoolFactory = await ethers.getContractFactory("StakingPoolFactory");
stakingPoolFactory = await StakingPoolFactory.deploy(aiToken.address);
await stakingPoolFactory.deployed();
stakingPoolFactory = await StakingPoolFactory.deploy(await aiToken.getAddress());
await stakingPoolFactory.waitForDeployment();
// Deploy DAOGovernanceEnhanced
const DAOGovernanceEnhanced = await ethers.getContractFactory("DAOGovernanceEnhanced");
daoGovernanceEnhanced = await DAOGovernanceEnhanced.deploy(aiToken.address, MIN_STAKE);
await daoGovernanceEnhanced.deployed();
daoGovernanceEnhanced = await DAOGovernanceEnhanced.deploy(await aiToken.getAddress(), MIN_STAKE);
await daoGovernanceEnhanced.waitForDeployment();
// Initialize all contracts
await treasuryManager.initialize(contractRegistry.address);
await rewardDistributor.initialize(contractRegistry.address);
await performanceAggregator.initialize(contractRegistry.address);
await stakingPoolFactory.initialize(contractRegistry.address);
await daoGovernanceEnhanced.initialize(contractRegistry.address);
await treasuryManager.initialize(await contractRegistry.getAddress());
await rewardDistributor.initialize(await contractRegistry.getAddress());
await performanceAggregator.initialize(await contractRegistry.getAddress());
await stakingPoolFactory.initialize(await contractRegistry.getAddress());
await daoGovernanceEnhanced.initialize(await contractRegistry.getAddress());
// Register contracts in registry
await contractRegistry.registerContract(
ethers.keccak256(ethers.toUtf8Bytes("TreasuryManager")),
treasuryManager.address
await treasuryManager.getAddress()
);
await contractRegistry.registerContract(
ethers.keccak256(ethers.toUtf8Bytes("RewardDistributor")),
rewardDistributor.address
await rewardDistributor.getAddress()
);
await contractRegistry.registerContract(
ethers.keccak256(ethers.toUtf8Bytes("PerformanceAggregator")),
performanceAggregator.address
await performanceAggregator.getAddress()
);
await contractRegistry.registerContract(
ethers.keccak256(ethers.toUtf8Bytes("StakingPoolFactory")),
stakingPoolFactory.address
await stakingPoolFactory.getAddress()
);
await contractRegistry.registerContract(
ethers.keccak256(ethers.toUtf8Bytes("DAOGovernanceEnhanced")),
daoGovernanceEnhanced.address
await daoGovernanceEnhanced.getAddress()
);
});