Browse Source

upgrade constantinople runtime modified for upgrade to nicaea, removed incompatible proposals form nicaea, removed nicaea-compatible proposals from constantinople

Gleb Urvanov 4 years ago
parent
commit
78e02bc73a
23 changed files with 13 additions and 911 deletions
  1. 3 2
      tests/network-tests/package.json
  2. 1 1
      tests/network-tests/src/constantinople/tests/impl/electingCouncil.ts
  3. 0 40
      tests/network-tests/src/constantinople/tests/proposals/electionParametersProposalTest.ts
  4. 0 124
      tests/network-tests/src/constantinople/tests/proposals/impl/electionParametersProposal.ts
  5. 0 46
      tests/network-tests/src/constantinople/tests/proposals/impl/setLeadProposal.ts
  6. 0 64
      tests/network-tests/src/constantinople/tests/proposals/impl/spendingProposal.ts
  7. 0 46
      tests/network-tests/src/constantinople/tests/proposals/impl/textProposal.ts
  8. 4 3
      tests/network-tests/src/constantinople/tests/proposals/impl/updateRuntime.ts
  9. 0 55
      tests/network-tests/src/constantinople/tests/proposals/impl/validatorCountProposal.ts
  10. 0 59
      tests/network-tests/src/constantinople/tests/proposals/impl/workingGroupMintCapacityProposal.ts
  11. 0 40
      tests/network-tests/src/constantinople/tests/proposals/setLeadProposalTest.ts
  12. 0 42
      tests/network-tests/src/constantinople/tests/proposals/spendingProposalTest.ts
  13. 0 40
      tests/network-tests/src/constantinople/tests/proposals/textProposalTest.ts
  14. 2 2
      tests/network-tests/src/constantinople/tests/proposals/updateRuntimeTest.ts
  15. 0 41
      tests/network-tests/src/constantinople/tests/proposals/validatorCountProposalTest.ts
  16. 0 41
      tests/network-tests/src/constantinople/tests/proposals/workingGroupMintCapacityProposalTest.ts
  17. 1 1
      tests/network-tests/src/constantinople/utils/apiWrapper.ts
  18. 1 1
      tests/network-tests/src/constantinople/utils/utils.ts
  19. 1 1
      tests/network-tests/src/nicaea/tests/impl/electingCouncil.ts
  20. 0 40
      tests/network-tests/src/nicaea/tests/proposals/evictStorageProviderTest.ts
  21. 0 62
      tests/network-tests/src/nicaea/tests/proposals/impl/evictStoraveProvider.ts
  22. 0 120
      tests/network-tests/src/nicaea/tests/proposals/impl/storageRoleParametersProposal.ts
  23. 0 40
      tests/network-tests/src/nicaea/tests/proposals/storageRoleParametersProposalTest.ts

+ 3 - 2
tests/network-tests/package.json

@@ -4,8 +4,9 @@
   "license": "GPL-3.0-only",
   "scripts": {
     "build": "tsc --build tsconfig.json",
-    "test": "tap --files ts-node/register src/constantinople/tests/proposals/*Test.ts --files ts-node/register src/nicaea/tests/bureaucracy/*Test.ts",
-    "test-migration": "tap --files src/rome/tests/romeRuntimeUpgradeTest.ts --files src/constantinople/tests/electingCouncilTest.ts",
+    "test": "tap --files ts-node/register src/nicaea/tests/proposals/*Test.ts --files ts-node/register src/nicaea/tests/bureaucracy/*Test.ts -T",
+    "test-migration-constantinople": "tap --files src/rome/tests/romeRuntimeUpgradeTest.ts --files src/constantinople/tests/electingCouncilTest.ts -T",
+    "test-migration-nicaea": "tap --files src/constantinople/tests/proposals/updateRuntimeTest.ts --files src/nicaea/tests/electingCouncilTest.ts -T",
     "debug": "tap --files src/nicaea/tests/bureaucracy/manageWorkerAsLeadTest.ts -T",
     "lint": "tslint --project tsconfig.json",
     "prettier": "prettier --write ./src"

+ 1 - 1
tests/network-tests/src/constantinople/tests/impl/electingCouncil.ts

@@ -2,7 +2,7 @@ import { KeyringPair } from '@polkadot/keyring/types';
 import { ApiWrapper } from '../../utils/apiWrapper';
 import { Keyring } from '@polkadot/api';
 import BN from 'bn.js';
-import { Seat } from '@constantinople/types/lib/council';
+import { Seat } from '@constantinople/types';
 import { assert } from 'chai';
 import { v4 as uuid } from 'uuid';
 import { Utils } from '../../utils/utils';

+ 0 - 40
tests/network-tests/src/constantinople/tests/proposals/electionParametersProposalTest.ts

@@ -1,40 +0,0 @@
-import { KeyringPair } from '@polkadot/keyring/types';
-import { membershipTest } from '../impl/membershipCreation';
-import { councilTest } from '../impl/electingCouncil';
-import { electionParametersProposalTest } from './impl/electionParametersProposal';
-import { initConfig } from '../../utils/config';
-import { Keyring, WsProvider } from '@polkadot/api';
-import BN from 'bn.js';
-import { setTestTimeout } from '../../utils/setTestTimeout';
-import tap from 'tap';
-import { registerJoystreamTypes } from '@constantinople/types';
-import { closeApi } from '../impl/closeApi';
-import { ApiWrapper } from '../../utils/apiWrapper';
-
-tap.mocha.describe('Election parameters proposal scenario', async () => {
-  initConfig();
-  registerJoystreamTypes();
-
-  const m1KeyPairs: KeyringPair[] = new Array();
-  const m2KeyPairs: KeyringPair[] = new Array();
-
-  const keyring = new Keyring({ type: 'sr25519' });
-  const N: number = +process.env.MEMBERSHIP_CREATION_N!;
-  const paidTerms: number = +process.env.MEMBERSHIP_PAID_TERMS!;
-  const nodeUrl: string = process.env.NODE_URL!;
-  const sudoUri: string = process.env.SUDO_ACCOUNT_URI!;
-  const K: number = +process.env.COUNCIL_ELECTION_K!;
-  const greaterStake: BN = new BN(+process.env.COUNCIL_STAKE_GREATER_AMOUNT!);
-  const lesserStake: BN = new BN(+process.env.COUNCIL_STAKE_LESSER_AMOUNT!);
-  const durationInBlocks: number = 29;
-
-  const provider = new WsProvider(nodeUrl);
-  const apiWrapper: ApiWrapper = await ApiWrapper.create(provider);
-
-  setTestTimeout(apiWrapper, durationInBlocks);
-  membershipTest(apiWrapper, m1KeyPairs, keyring, N, paidTerms, sudoUri);
-  membershipTest(apiWrapper, m2KeyPairs, keyring, N, paidTerms, sudoUri);
-  councilTest(apiWrapper, m1KeyPairs, m2KeyPairs, keyring, K, sudoUri, greaterStake, lesserStake);
-  electionParametersProposalTest(apiWrapper, m1KeyPairs, m2KeyPairs, keyring, sudoUri);
-  closeApi(apiWrapper);
-});

+ 0 - 124
tests/network-tests/src/constantinople/tests/proposals/impl/electionParametersProposal.ts

@@ -1,124 +0,0 @@
-import { Keyring } from '@polkadot/api';
-import { KeyringPair } from '@polkadot/keyring/types';
-import { ApiWrapper } from '../../../utils/apiWrapper';
-import { v4 as uuid } from 'uuid';
-import BN from 'bn.js';
-import { assert } from 'chai';
-import tap from 'tap';
-
-export function electionParametersProposalTest(
-  apiWrapper: ApiWrapper,
-  m1KeyPairs: KeyringPair[],
-  m2KeyPairs: KeyringPair[],
-  keyring: Keyring,
-  sudoUri: string
-) {
-  let sudo: KeyringPair;
-
-  tap.test('Election parameters proposal test', async () => {
-    // Setup
-    sudo = keyring.addFromUri(sudoUri);
-    const proposalTitle: string = 'Testing proposal ' + uuid().substring(0, 8);
-    const description: string = 'Testing validator count proposal ' + uuid().substring(0, 8);
-    const runtimeVoteFee: BN = apiWrapper.estimateVoteForProposalFee();
-    await apiWrapper.transferBalanceToAccounts(sudo, m2KeyPairs, runtimeVoteFee);
-    const announcingPeriod: BN = await apiWrapper.getAnnouncingPeriod();
-    const votingPeriod: BN = await apiWrapper.getVotingPeriod();
-    const revealingPeriod: BN = await apiWrapper.getRevealingPeriod();
-    const councilSize: BN = await apiWrapper.getCouncilSize();
-    const candidacyLimit: BN = await apiWrapper.getCandidacyLimit();
-    const newTermDuration: BN = await apiWrapper.getNewTermDuration();
-    const minCouncilStake: BN = await apiWrapper.getMinCouncilStake();
-    const minVotingStake: BN = await apiWrapper.getMinVotingStake();
-
-    // Proposal stake calculation
-    const proposalStake: BN = new BN(200000);
-    const proposalFee: BN = apiWrapper.estimateProposeElectionParametersFee(
-      description,
-      description,
-      proposalStake,
-      announcingPeriod,
-      votingPeriod,
-      revealingPeriod,
-      councilSize,
-      candidacyLimit,
-      newTermDuration,
-      minCouncilStake,
-      minVotingStake
-    );
-    await apiWrapper.transferBalance(sudo, m1KeyPairs[0].address, proposalFee.add(proposalStake));
-
-    // Proposal creation
-    const proposedAnnouncingPeriod: BN = announcingPeriod.subn(1);
-    const proposedVotingPeriod: BN = votingPeriod.addn(1);
-    const proposedRevealingPeriod: BN = revealingPeriod.addn(1);
-    const proposedCouncilSize: BN = councilSize.addn(1);
-    const proposedCandidacyLimit: BN = candidacyLimit.addn(1);
-    const proposedNewTermDuration: BN = newTermDuration.addn(1);
-    const proposedMinCouncilStake: BN = minCouncilStake.addn(1);
-    const proposedMinVotingStake: BN = minVotingStake.addn(1);
-    const proposalPromise = apiWrapper.expectProposalCreated();
-    await apiWrapper.proposeElectionParameters(
-      m1KeyPairs[0],
-      proposalTitle,
-      description,
-      proposalStake,
-      proposedAnnouncingPeriod,
-      proposedVotingPeriod,
-      proposedRevealingPeriod,
-      proposedCouncilSize,
-      proposedCandidacyLimit,
-      proposedNewTermDuration,
-      proposedMinCouncilStake,
-      proposedMinVotingStake
-    );
-    const proposalNumber = await proposalPromise;
-
-    // Approving the proposal
-    const proposalExecutionPromise = apiWrapper.expectProposalFinalized();
-    await apiWrapper.batchApproveProposal(m2KeyPairs, proposalNumber);
-    await proposalExecutionPromise;
-
-    // Assertions
-    const newAnnouncingPeriod: BN = await apiWrapper.getAnnouncingPeriod();
-    const newVotingPeriod: BN = await apiWrapper.getVotingPeriod();
-    const newRevealingPeriod: BN = await apiWrapper.getRevealingPeriod();
-    const newCouncilSize: BN = await apiWrapper.getCouncilSize();
-    const newCandidacyLimit: BN = await apiWrapper.getCandidacyLimit();
-    const newNewTermDuration: BN = await apiWrapper.getNewTermDuration();
-    const newMinCouncilStake: BN = await apiWrapper.getMinCouncilStake();
-    const newMinVotingStake: BN = await apiWrapper.getMinVotingStake();
-    assert(
-      proposedAnnouncingPeriod.eq(newAnnouncingPeriod),
-      `Announcing period has unexpected value ${newAnnouncingPeriod}, expected ${proposedAnnouncingPeriod}`
-    );
-    assert(
-      proposedVotingPeriod.eq(newVotingPeriod),
-      `Voting period has unexpected value ${newVotingPeriod}, expected ${proposedVotingPeriod}`
-    );
-    assert(
-      proposedRevealingPeriod.eq(newRevealingPeriod),
-      `Revealing has unexpected value ${newRevealingPeriod}, expected ${proposedRevealingPeriod}`
-    );
-    assert(
-      proposedCouncilSize.eq(newCouncilSize),
-      `Council size has unexpected value ${newCouncilSize}, expected ${proposedCouncilSize}`
-    );
-    assert(
-      proposedCandidacyLimit.eq(newCandidacyLimit),
-      `Candidacy limit has unexpected value ${newCandidacyLimit}, expected ${proposedCandidacyLimit}`
-    );
-    assert(
-      proposedNewTermDuration.eq(newNewTermDuration),
-      `New term duration has unexpected value ${newNewTermDuration}, expected ${proposedNewTermDuration}`
-    );
-    assert(
-      proposedMinCouncilStake.eq(newMinCouncilStake),
-      `Min council stake has unexpected value ${newMinCouncilStake}, expected ${proposedMinCouncilStake}`
-    );
-    assert(
-      proposedMinVotingStake.eq(newMinVotingStake),
-      `Min voting stake has unexpected value ${newMinVotingStake}, expected ${proposedMinVotingStake}`
-    );
-  });
-}

+ 0 - 46
tests/network-tests/src/constantinople/tests/proposals/impl/setLeadProposal.ts

@@ -1,46 +0,0 @@
-import { Keyring } from '@polkadot/api';
-import { KeyringPair } from '@polkadot/keyring/types';
-import { ApiWrapper } from '../../../utils/apiWrapper';
-import { v4 as uuid } from 'uuid';
-import BN from 'bn.js';
-import { assert } from 'chai';
-import tap from 'tap';
-
-export function setLeadProposalTest(
-  apiWrapper: ApiWrapper,
-  m1KeyPairs: KeyringPair[],
-  m2KeyPairs: KeyringPair[],
-  keyring: Keyring,
-  sudoUri: string
-) {
-  let sudo: KeyringPair;
-
-  tap.test('Lead proposal test', async () => {
-    // Setup
-    sudo = keyring.addFromUri(sudoUri);
-    const proposalTitle: string = 'Testing proposal ' + uuid().substring(0, 8);
-    const description: string = 'Testing validator count proposal ' + uuid().substring(0, 8);
-    const runtimeVoteFee: BN = apiWrapper.estimateVoteForProposalFee();
-    await apiWrapper.transferBalanceToAccounts(sudo, m2KeyPairs, runtimeVoteFee);
-
-    // Proposal stake calculation
-    const proposalStake: BN = new BN(50000);
-    const proposalFee: BN = apiWrapper.estimateProposeLeadFee(description, description, proposalStake, sudo.address);
-    await apiWrapper.transferBalance(sudo, m1KeyPairs[0].address, proposalFee.add(proposalStake));
-
-    // Proposal creation
-    const proposalPromise = apiWrapper.expectProposalCreated();
-    await apiWrapper.proposeLead(m1KeyPairs[0], proposalTitle, description, proposalStake, m1KeyPairs[1]);
-    const proposalNumber = await proposalPromise;
-
-    // Approving the proposal
-    const proposalExecutionPromise = apiWrapper.expectProposalFinalized();
-    await apiWrapper.batchApproveProposal(m2KeyPairs, proposalNumber);
-    await proposalExecutionPromise;
-    const newLead: string = await apiWrapper.getCurrentLeadAddress();
-    assert(
-      newLead === m1KeyPairs[1].address,
-      `New lead has unexpected value ${newLead}, expected ${m1KeyPairs[1].address}`
-    );
-  });
-}

+ 0 - 64
tests/network-tests/src/constantinople/tests/proposals/impl/spendingProposal.ts

@@ -1,64 +0,0 @@
-import { Keyring } from '@polkadot/api';
-import { KeyringPair } from '@polkadot/keyring/types';
-import { ApiWrapper } from '../../../utils/apiWrapper';
-import { v4 as uuid } from 'uuid';
-import BN from 'bn.js';
-import { assert } from 'chai';
-import tap from 'tap';
-
-export function spendingProposalTest(
-  apiWrapper: ApiWrapper,
-  m1KeyPairs: KeyringPair[],
-  m2KeyPairs: KeyringPair[],
-  keyring: Keyring,
-  sudoUri: string,
-  spendingBalance: BN,
-  mintCapacity: BN
-) {
-  let sudo: KeyringPair;
-
-  tap.test('Spending proposal test', async () => {
-    // Setup
-    sudo = keyring.addFromUri(sudoUri);
-    const description: string = 'spending proposal which is used for API network testing with some mock data';
-    const runtimeVoteFee: BN = apiWrapper.estimateVoteForProposalFee();
-
-    // Topping the balances
-    const proposalStake: BN = new BN(25000);
-    const runtimeProposalFee: BN = apiWrapper.estimateProposeSpendingFee(
-      description,
-      description,
-      proposalStake,
-      spendingBalance,
-      sudo.address
-    );
-    await apiWrapper.transferBalance(sudo, m1KeyPairs[0].address, runtimeProposalFee.add(proposalStake));
-    await apiWrapper.transferBalanceToAccounts(sudo, m2KeyPairs, runtimeVoteFee);
-    await apiWrapper.sudoSetCouncilMintCapacity(sudo, mintCapacity);
-
-    // Proposal creation
-    const proposalPromise = apiWrapper.expectProposalCreated();
-    await apiWrapper.proposeSpending(
-      m1KeyPairs[0],
-      'testing spending' + uuid().substring(0, 8),
-      'spending to test proposal functionality' + uuid().substring(0, 8),
-      proposalStake,
-      spendingBalance,
-      sudo.address
-    );
-    const proposalNumber = await proposalPromise;
-
-    // Approving spending proposal
-    const balanceBeforeMinting: BN = await apiWrapper.getBalance(sudo.address);
-    const spendingPromise = apiWrapper.expectProposalFinalized();
-    await apiWrapper.batchApproveProposal(m2KeyPairs, proposalNumber);
-    await spendingPromise;
-    const balanceAfterMinting: BN = await apiWrapper.getBalance(sudo.address);
-    assert(
-      balanceAfterMinting.sub(balanceBeforeMinting).eq(spendingBalance),
-      `member ${
-        m1KeyPairs[0].address
-      } has unexpected balance ${balanceAfterMinting}, expected ${balanceBeforeMinting.add(spendingBalance)}`
-    );
-  });
-}

+ 0 - 46
tests/network-tests/src/constantinople/tests/proposals/impl/textProposal.ts

@@ -1,46 +0,0 @@
-import { Keyring } from '@polkadot/api';
-import { KeyringPair } from '@polkadot/keyring/types';
-import { ApiWrapper } from '../../../utils/apiWrapper';
-import { v4 as uuid } from 'uuid';
-import BN from 'bn.js';
-import tap from 'tap';
-
-export function textProposalTest(
-  apiWrapper: ApiWrapper,
-  m1KeyPairs: KeyringPair[],
-  m2KeyPairs: KeyringPair[],
-  keyring: Keyring,
-  sudoUri: string
-) {
-  let sudo: KeyringPair;
-
-  tap.test('Text proposal test', async () => {
-    // Setup
-    sudo = keyring.addFromUri(sudoUri);
-    const proposalTitle: string = 'Testing proposal ' + uuid().substring(0, 8);
-    const description: string = 'Testing text proposal ' + uuid().substring(0, 8);
-    const proposalText: string = 'Text of the testing proposal ' + uuid().substring(0, 8);
-    const runtimeVoteFee: BN = apiWrapper.estimateVoteForProposalFee();
-    await apiWrapper.transferBalanceToAccounts(sudo, m2KeyPairs, runtimeVoteFee);
-
-    // Proposal stake calculation
-    const proposalStake: BN = new BN(25000);
-    const runtimeProposalFee: BN = apiWrapper.estimateProposeTextFee(
-      proposalStake,
-      description,
-      description,
-      proposalText
-    );
-    await apiWrapper.transferBalance(sudo, m1KeyPairs[0].address, runtimeProposalFee.add(proposalStake));
-
-    // Proposal creation
-    const proposalPromise = apiWrapper.expectProposalCreated();
-    await apiWrapper.proposeText(m1KeyPairs[0], proposalStake, proposalTitle, description, proposalText);
-    const proposalNumber = await proposalPromise;
-
-    // Approving text proposal
-    const textProposalPromise = apiWrapper.expectProposalFinalized();
-    await apiWrapper.batchApproveProposal(m2KeyPairs, proposalNumber);
-    await textProposalPromise;
-  });
-}

+ 4 - 3
tests/network-tests/src/constantinople/tests/proposals/impl/updateRuntime.ts

@@ -1,24 +1,25 @@
 import { Keyring } from '@polkadot/api';
-import { Bytes } from '@polkadot/types';
 import { KeyringPair } from '@polkadot/keyring/types';
 import { ApiWrapper } from '../../../utils/apiWrapper';
 import { v4 as uuid } from 'uuid';
 import BN from 'bn.js';
 import tap from 'tap';
+import { Utils } from '../../../utils/utils';
 
 export function updateRuntimeTest(
   apiWrapper: ApiWrapper,
   m1KeyPairs: KeyringPair[],
   m2KeyPairs: KeyringPair[],
   keyring: Keyring,
-  sudoUri: string
+  sudoUri: string,
+  runtimePath: string
 ) {
   let sudo: KeyringPair;
 
   tap.test('\n\tUpgrading the runtime test', async () => {
     // Setup
     sudo = keyring.addFromUri(sudoUri);
-    const runtime: Bytes = await apiWrapper.getRuntime();
+    const runtime: string = Utils.readRuntimeFromFile(runtimePath);
     const description: string = 'runtime upgrade proposal which is used for API network testing';
     const runtimeVoteFee: BN = apiWrapper.estimateVoteForProposalFee();
 

+ 0 - 55
tests/network-tests/src/constantinople/tests/proposals/impl/validatorCountProposal.ts

@@ -1,55 +0,0 @@
-import { Keyring } from '@polkadot/api';
-import { KeyringPair } from '@polkadot/keyring/types';
-import { ApiWrapper } from '../../../utils/apiWrapper';
-import { v4 as uuid } from 'uuid';
-import BN from 'bn.js';
-import { assert } from 'chai';
-import tap from 'tap';
-
-export function validatorCountProposal(
-  apiWrapper: ApiWrapper,
-  m1KeyPairs: KeyringPair[],
-  m2KeyPairs: KeyringPair[],
-  keyring: Keyring,
-  sudoUri: string,
-  validatorCountIncrement: BN
-) {
-  let sudo: KeyringPair;
-
-  tap.test('Validator count proposal test', async () => {
-    // Setup
-    sudo = keyring.addFromUri(sudoUri);
-    const proposalTitle: string = 'Testing proposal ' + uuid().substring(0, 8);
-    const description: string = 'Testing validator count proposal ' + uuid().substring(0, 8);
-    const runtimeVoteFee: BN = apiWrapper.estimateVoteForProposalFee();
-    await apiWrapper.transferBalanceToAccounts(sudo, m2KeyPairs, runtimeVoteFee);
-
-    // Proposal stake calculation
-    const proposalStake: BN = new BN(100000);
-    const proposalFee: BN = apiWrapper.estimateProposeValidatorCountFee(description, description, proposalStake);
-    await apiWrapper.transferBalance(sudo, m1KeyPairs[0].address, proposalFee.add(proposalStake));
-    const validatorCount: BN = await apiWrapper.getValidatorCount();
-
-    // Proposal creation
-    const proposedValidatorCount: BN = validatorCount.add(validatorCountIncrement);
-    const proposalPromise = apiWrapper.expectProposalCreated();
-    await apiWrapper.proposeValidatorCount(
-      m1KeyPairs[0],
-      proposalTitle,
-      description,
-      proposalStake,
-      proposedValidatorCount
-    );
-    const proposalNumber = await proposalPromise;
-
-    // Approving the proposal
-    const proposalExecutionPromise = apiWrapper.expectProposalFinalized();
-    await apiWrapper.batchApproveProposal(m2KeyPairs, proposalNumber);
-    await proposalExecutionPromise;
-    const newValidatorCount: BN = await apiWrapper.getValidatorCount();
-    assert(
-      proposedValidatorCount.eq(newValidatorCount),
-      `Validator count has unexpeccted value ${newValidatorCount}, expected ${proposedValidatorCount}`
-    );
-  });
-}

+ 0 - 59
tests/network-tests/src/constantinople/tests/proposals/impl/workingGroupMintCapacityProposal.ts

@@ -1,59 +0,0 @@
-import { Keyring } from '@polkadot/api';
-import { KeyringPair } from '@polkadot/keyring/types';
-import { ApiWrapper } from '../../../utils/apiWrapper';
-import { v4 as uuid } from 'uuid';
-import BN from 'bn.js';
-import { assert } from 'chai';
-import tap from 'tap';
-
-export function workingGroupMintCapacityProposalTest(
-  apiWrapper: ApiWrapper,
-  m1KeyPairs: KeyringPair[],
-  m2KeyPairs: KeyringPair[],
-  keyring: Keyring,
-  sudoUri: string,
-  mintingCapacityIncrement: BN
-) {
-  let sudo: KeyringPair;
-
-  tap.test('Mint capacity proposal test', async () => {
-    // Setup
-    sudo = keyring.addFromUri(sudoUri);
-    const description: string = 'spending proposal which is used for API network testing';
-    const runtimeVoteFee: BN = apiWrapper.estimateVoteForProposalFee();
-    const initialMintingCapacity: BN = await apiWrapper.getWorkingGroupMintCapacity();
-
-    // Topping the balances
-    const proposalStake: BN = new BN(50000);
-    const runtimeProposalFee: BN = apiWrapper.estimateProposeWorkingGroupMintCapacityFee(
-      description,
-      description,
-      proposalStake,
-      initialMintingCapacity.add(mintingCapacityIncrement)
-    );
-    await apiWrapper.transferBalance(sudo, m1KeyPairs[0].address, runtimeProposalFee.add(proposalStake));
-    await apiWrapper.transferBalanceToAccounts(sudo, m2KeyPairs, runtimeVoteFee);
-
-    // Proposal creation
-    const proposedMintingCapacity: BN = initialMintingCapacity.add(mintingCapacityIncrement);
-    const proposalPromise = apiWrapper.expectProposalCreated();
-    await apiWrapper.proposeWorkingGroupMintCapacity(
-      m1KeyPairs[0],
-      'testing mint capacity' + uuid().substring(0, 8),
-      'mint capacity to test proposal functionality' + uuid().substring(0, 8),
-      proposalStake,
-      proposedMintingCapacity
-    );
-    const proposalNumber = await proposalPromise;
-
-    // Approving mint capacity proposal
-    const mintCapacityPromise = apiWrapper.expectProposalFinalized();
-    await apiWrapper.batchApproveProposal(m2KeyPairs, proposalNumber);
-    await mintCapacityPromise;
-    const newMintingCapacity: BN = await apiWrapper.getWorkingGroupMintCapacity();
-    assert(
-      proposedMintingCapacity.eq(newMintingCapacity),
-      `Content working group has unexpected minting capacity ${newMintingCapacity}, expected ${proposedMintingCapacity}`
-    );
-  });
-}

+ 0 - 40
tests/network-tests/src/constantinople/tests/proposals/setLeadProposalTest.ts

@@ -1,40 +0,0 @@
-import { KeyringPair } from '@polkadot/keyring/types';
-import { membershipTest } from '../impl/membershipCreation';
-import { councilTest } from '../impl/electingCouncil';
-import { setLeadProposalTest } from './impl/setLeadProposal';
-import { initConfig } from '../../utils/config';
-import { Keyring, WsProvider } from '@polkadot/api';
-import BN from 'bn.js';
-import { setTestTimeout } from '../../utils/setTestTimeout';
-import tap from 'tap';
-import { registerJoystreamTypes } from '@constantinople/types';
-import { closeApi } from '../impl/closeApi';
-import { ApiWrapper } from '../../utils/apiWrapper';
-
-tap.mocha.describe('Set lead proposal scenario', async () => {
-  initConfig();
-  registerJoystreamTypes();
-
-  const m1KeyPairs: KeyringPair[] = new Array();
-  const m2KeyPairs: KeyringPair[] = new Array();
-
-  const keyring = new Keyring({ type: 'sr25519' });
-  const N: number = +process.env.MEMBERSHIP_CREATION_N!;
-  const paidTerms: number = +process.env.MEMBERSHIP_PAID_TERMS!;
-  const nodeUrl: string = process.env.NODE_URL!;
-  const sudoUri: string = process.env.SUDO_ACCOUNT_URI!;
-  const K: number = +process.env.COUNCIL_ELECTION_K!;
-  const greaterStake: BN = new BN(+process.env.COUNCIL_STAKE_GREATER_AMOUNT!);
-  const lesserStake: BN = new BN(+process.env.COUNCIL_STAKE_LESSER_AMOUNT!);
-  const durationInBlocks: number = 29;
-
-  const provider = new WsProvider(nodeUrl);
-  const apiWrapper: ApiWrapper = await ApiWrapper.create(provider);
-
-  setTestTimeout(apiWrapper, durationInBlocks);
-  membershipTest(apiWrapper, m1KeyPairs, keyring, N, paidTerms, sudoUri);
-  membershipTest(apiWrapper, m2KeyPairs, keyring, N, paidTerms, sudoUri);
-  councilTest(apiWrapper, m1KeyPairs, m2KeyPairs, keyring, K, sudoUri, greaterStake, lesserStake);
-  setLeadProposalTest(apiWrapper, m1KeyPairs, m2KeyPairs, keyring, sudoUri);
-  closeApi(apiWrapper);
-});

+ 0 - 42
tests/network-tests/src/constantinople/tests/proposals/spendingProposalTest.ts

@@ -1,42 +0,0 @@
-import { KeyringPair } from '@polkadot/keyring/types';
-import { membershipTest } from '../impl/membershipCreation';
-import { councilTest } from '../impl/electingCouncil';
-import { spendingProposalTest } from './impl/spendingProposal';
-import { initConfig } from '../../utils/config';
-import { Keyring, WsProvider } from '@polkadot/api';
-import BN from 'bn.js';
-import { setTestTimeout } from '../../utils/setTestTimeout';
-import tap from 'tap';
-import { registerJoystreamTypes } from '@constantinople/types';
-import { closeApi } from '../impl/closeApi';
-import { ApiWrapper } from '../../utils/apiWrapper';
-
-tap.mocha.describe('Spending proposal scenario', async () => {
-  initConfig();
-  registerJoystreamTypes();
-
-  const m1KeyPairs: KeyringPair[] = new Array();
-  const m2KeyPairs: KeyringPair[] = new Array();
-
-  const keyring = new Keyring({ type: 'sr25519' });
-  const N: number = +process.env.MEMBERSHIP_CREATION_N!;
-  const paidTerms: number = +process.env.MEMBERSHIP_PAID_TERMS!;
-  const nodeUrl: string = process.env.NODE_URL!;
-  const sudoUri: string = process.env.SUDO_ACCOUNT_URI!;
-  const K: number = +process.env.COUNCIL_ELECTION_K!;
-  const greaterStake: BN = new BN(+process.env.COUNCIL_STAKE_GREATER_AMOUNT!);
-  const lesserStake: BN = new BN(+process.env.COUNCIL_STAKE_LESSER_AMOUNT!);
-  const spendingBalance: BN = new BN(+process.env.SPENDING_BALANCE!);
-  const mintCapacity: BN = new BN(+process.env.COUNCIL_MINTING_CAPACITY!);
-  const durationInBlocks: number = 29;
-
-  const provider = new WsProvider(nodeUrl);
-  const apiWrapper: ApiWrapper = await ApiWrapper.create(provider);
-
-  setTestTimeout(apiWrapper, durationInBlocks);
-  membershipTest(apiWrapper, m1KeyPairs, keyring, N, paidTerms, sudoUri);
-  membershipTest(apiWrapper, m2KeyPairs, keyring, N, paidTerms, sudoUri);
-  councilTest(apiWrapper, m1KeyPairs, m2KeyPairs, keyring, K, sudoUri, greaterStake, lesserStake);
-  spendingProposalTest(apiWrapper, m1KeyPairs, m2KeyPairs, keyring, sudoUri, spendingBalance, mintCapacity);
-  closeApi(apiWrapper);
-});

+ 0 - 40
tests/network-tests/src/constantinople/tests/proposals/textProposalTest.ts

@@ -1,40 +0,0 @@
-import { KeyringPair } from '@polkadot/keyring/types';
-import { membershipTest } from '../impl/membershipCreation';
-import { councilTest } from '../impl/electingCouncil';
-import { textProposalTest } from './impl/textProposal';
-import { initConfig } from '../../utils/config';
-import { Keyring, WsProvider } from '@polkadot/api';
-import BN from 'bn.js';
-import { setTestTimeout } from '../../utils/setTestTimeout';
-import tap from 'tap';
-import { registerJoystreamTypes } from '@constantinople/types';
-import { closeApi } from '../impl/closeApi';
-import { ApiWrapper } from '../../utils/apiWrapper';
-
-tap.mocha.describe('Text proposal scenario', async () => {
-  initConfig();
-  registerJoystreamTypes();
-
-  const m1KeyPairs: KeyringPair[] = new Array();
-  const m2KeyPairs: KeyringPair[] = new Array();
-
-  const keyring = new Keyring({ type: 'sr25519' });
-  const N: number = +process.env.MEMBERSHIP_CREATION_N!;
-  const paidTerms: number = +process.env.MEMBERSHIP_PAID_TERMS!;
-  const nodeUrl: string = process.env.NODE_URL!;
-  const sudoUri: string = process.env.SUDO_ACCOUNT_URI!;
-  const K: number = +process.env.COUNCIL_ELECTION_K!;
-  const greaterStake: BN = new BN(+process.env.COUNCIL_STAKE_GREATER_AMOUNT!);
-  const lesserStake: BN = new BN(+process.env.COUNCIL_STAKE_LESSER_AMOUNT!);
-  const durationInBlocks: number = 28;
-
-  const provider = new WsProvider(nodeUrl);
-  const apiWrapper: ApiWrapper = await ApiWrapper.create(provider);
-
-  setTestTimeout(apiWrapper, durationInBlocks);
-  membershipTest(apiWrapper, m1KeyPairs, keyring, N, paidTerms, sudoUri);
-  membershipTest(apiWrapper, m2KeyPairs, keyring, N, paidTerms, sudoUri);
-  councilTest(apiWrapper, m1KeyPairs, m2KeyPairs, keyring, K, sudoUri, greaterStake, lesserStake);
-  textProposalTest(apiWrapper, m1KeyPairs, m2KeyPairs, keyring, sudoUri);
-  closeApi(apiWrapper);
-});

+ 2 - 2
tests/network-tests/src/constantinople/tests/proposals/updateRuntimeTest.ts

@@ -27,6 +27,7 @@ tap.mocha.describe('Update runtime scenario', async () => {
   const greaterStake: BN = new BN(+process.env.COUNCIL_STAKE_GREATER_AMOUNT!);
   const lesserStake: BN = new BN(+process.env.COUNCIL_STAKE_LESSER_AMOUNT!);
   const durationInBlocks: number = 54;
+  const runtimePath: string = process.env.RUNTIME_WASM_PATH!;
 
   const provider = new WsProvider(nodeUrl);
   const apiWrapper: ApiWrapper = await ApiWrapper.create(provider);
@@ -35,7 +36,6 @@ tap.mocha.describe('Update runtime scenario', async () => {
   membershipTest(apiWrapper, m1KeyPairs, keyring, N, paidTerms, sudoUri);
   membershipTest(apiWrapper, m2KeyPairs, keyring, N, paidTerms, sudoUri);
   councilTest(apiWrapper, m1KeyPairs, m2KeyPairs, keyring, K, sudoUri, greaterStake, lesserStake);
-  updateRuntimeTest(apiWrapper, m1KeyPairs, m2KeyPairs, keyring, sudoUri);
-  membershipTest(apiWrapper, new Array<KeyringPair>(), keyring, N, paidTerms, sudoUri);
+  updateRuntimeTest(apiWrapper, m1KeyPairs, m2KeyPairs, keyring, sudoUri, runtimePath);
   closeApi(apiWrapper);
 });

+ 0 - 41
tests/network-tests/src/constantinople/tests/proposals/validatorCountProposalTest.ts

@@ -1,41 +0,0 @@
-import { KeyringPair } from '@polkadot/keyring/types';
-import { membershipTest } from '../impl/membershipCreation';
-import { councilTest } from '../impl/electingCouncil';
-import { validatorCountProposal } from './impl/validatorCountProposal';
-import { initConfig } from '../../utils/config';
-import { Keyring, WsProvider } from '@polkadot/api';
-import BN from 'bn.js';
-import { setTestTimeout } from '../../utils/setTestTimeout';
-import tap from 'tap';
-import { registerJoystreamTypes } from '@constantinople/types';
-import { closeApi } from '../impl/closeApi';
-import { ApiWrapper } from '../../utils/apiWrapper';
-
-tap.mocha.describe('Validator count proposal scenario', async () => {
-  initConfig();
-  registerJoystreamTypes();
-
-  const m1KeyPairs: KeyringPair[] = new Array();
-  const m2KeyPairs: KeyringPair[] = new Array();
-
-  const keyring = new Keyring({ type: 'sr25519' });
-  const N: number = +process.env.MEMBERSHIP_CREATION_N!;
-  const paidTerms: number = +process.env.MEMBERSHIP_PAID_TERMS!;
-  const nodeUrl: string = process.env.NODE_URL!;
-  const sudoUri: string = process.env.SUDO_ACCOUNT_URI!;
-  const K: number = +process.env.COUNCIL_ELECTION_K!;
-  const greaterStake: BN = new BN(+process.env.COUNCIL_STAKE_GREATER_AMOUNT!);
-  const lesserStake: BN = new BN(+process.env.COUNCIL_STAKE_LESSER_AMOUNT!);
-  const validatorCountIncrement: BN = new BN(+process.env.VALIDATOR_COUNT_INCREMENT!);
-  const durationInBlocks: number = 29;
-
-  const provider = new WsProvider(nodeUrl);
-  const apiWrapper: ApiWrapper = await ApiWrapper.create(provider);
-
-  setTestTimeout(apiWrapper, durationInBlocks);
-  membershipTest(apiWrapper, m1KeyPairs, keyring, N, paidTerms, sudoUri);
-  membershipTest(apiWrapper, m2KeyPairs, keyring, N, paidTerms, sudoUri);
-  councilTest(apiWrapper, m1KeyPairs, m2KeyPairs, keyring, K, sudoUri, greaterStake, lesserStake);
-  validatorCountProposal(apiWrapper, m1KeyPairs, m2KeyPairs, keyring, sudoUri, validatorCountIncrement);
-  closeApi(apiWrapper);
-});

+ 0 - 41
tests/network-tests/src/constantinople/tests/proposals/workingGroupMintCapacityProposalTest.ts

@@ -1,41 +0,0 @@
-import { KeyringPair } from '@polkadot/keyring/types';
-import { membershipTest } from '../impl/membershipCreation';
-import { councilTest } from '../impl/electingCouncil';
-import { workingGroupMintCapacityProposalTest } from './impl/workingGroupMintCapacityProposal';
-import { initConfig } from '../../utils/config';
-import { Keyring, WsProvider } from '@polkadot/api';
-import BN from 'bn.js';
-import { setTestTimeout } from '../../utils/setTestTimeout';
-import tap from 'tap';
-import { registerJoystreamTypes } from '@constantinople/types';
-import { closeApi } from '../impl/closeApi';
-import { ApiWrapper } from '../../utils/apiWrapper';
-
-tap.mocha.describe('Validator count proposal scenario', async () => {
-  initConfig();
-  registerJoystreamTypes();
-
-  const m1KeyPairs: KeyringPair[] = new Array();
-  const m2KeyPairs: KeyringPair[] = new Array();
-
-  const keyring = new Keyring({ type: 'sr25519' });
-  const N: number = +process.env.MEMBERSHIP_CREATION_N!;
-  const paidTerms: number = +process.env.MEMBERSHIP_PAID_TERMS!;
-  const nodeUrl: string = process.env.NODE_URL!;
-  const sudoUri: string = process.env.SUDO_ACCOUNT_URI!;
-  const K: number = +process.env.COUNCIL_ELECTION_K!;
-  const greaterStake: BN = new BN(+process.env.COUNCIL_STAKE_GREATER_AMOUNT!);
-  const lesserStake: BN = new BN(+process.env.COUNCIL_STAKE_LESSER_AMOUNT!);
-  const mintingCapacityIncrement: BN = new BN(+process.env.MINTING_CAPACITY_INCREMENT!);
-  const durationInBlocks: number = 29;
-
-  const provider = new WsProvider(nodeUrl);
-  const apiWrapper: ApiWrapper = await ApiWrapper.create(provider);
-
-  setTestTimeout(apiWrapper, durationInBlocks);
-  membershipTest(apiWrapper, m1KeyPairs, keyring, N, paidTerms, sudoUri);
-  membershipTest(apiWrapper, m2KeyPairs, keyring, N, paidTerms, sudoUri);
-  councilTest(apiWrapper, m1KeyPairs, m2KeyPairs, keyring, K, sudoUri, greaterStake, lesserStake);
-  workingGroupMintCapacityProposalTest(apiWrapper, m1KeyPairs, m2KeyPairs, keyring, sudoUri, mintingCapacityIncrement);
-  closeApi(apiWrapper);
-});

+ 1 - 1
tests/network-tests/src/constantinople/utils/apiWrapper.ts

@@ -6,7 +6,7 @@ import { UserInfo, PaidMembershipTerms, MemberId } from '@constantinople/types/l
 import { Mint, MintId } from '@constantinople/types/lib/mint';
 import { Lead, LeadId } from '@constantinople/types/lib/content-working-group';
 import { RoleParameters } from '@constantinople/types/lib/roles';
-import { Seat } from '@constantinople/types/lib/council';
+import { Seat } from '@constantinople/types';
 import { Balance, EventRecord, AccountId, BlockNumber, BalanceOf } from '@polkadot/types/interfaces';
 import BN from 'bn.js';
 import { SubmittableExtrinsic } from '@polkadot/api/types';

+ 1 - 1
tests/network-tests/src/constantinople/utils/utils.ts

@@ -4,7 +4,7 @@ import { blake2AsHex } from '@polkadot/util-crypto';
 import BN from 'bn.js';
 import fs from 'fs';
 import { decodeAddress } from '@polkadot/keyring';
-import { Seat } from '@constantinople/types/lib/council';
+import { Seat } from '@constantinople/types';
 
 export class Utils {
   private static LENGTH_ADDRESS = 32 + 1; // publicKey + prefix

+ 1 - 1
tests/network-tests/src/nicaea/tests/impl/electingCouncil.ts

@@ -2,7 +2,7 @@ import { KeyringPair } from '@polkadot/keyring/types';
 import { ApiWrapper } from '../../utils/apiWrapper';
 import { Keyring } from '@polkadot/api';
 import BN from 'bn.js';
-import { Seat } from '@nicaea/types';
+import { Seat } from '@nicaea/types/lib/council';
 import { assert } from 'chai';
 import { v4 as uuid } from 'uuid';
 import { Utils } from '../../utils/utils';

+ 0 - 40
tests/network-tests/src/nicaea/tests/proposals/evictStorageProviderTest.ts

@@ -1,40 +0,0 @@
-import { KeyringPair } from '@polkadot/keyring/types';
-import { membershipTest } from '../impl/membershipCreation';
-import { councilTest } from '../impl/electingCouncil';
-import { evictStorageProviderTest } from './impl/evictStoraveProvider';
-import { initConfig } from '../../utils/config';
-import { Keyring, WsProvider } from '@polkadot/api';
-import BN from 'bn.js';
-import { setTestTimeout } from '../../utils/setTestTimeout';
-import tap from 'tap';
-import { registerJoystreamTypes } from '@nicaea/types';
-import { closeApi } from '../impl/closeApi';
-import { ApiWrapper } from '../../utils/apiWrapper';
-
-tap.mocha.describe('Evict Storage provider scenario', async () => {
-  initConfig();
-  registerJoystreamTypes();
-
-  const m1KeyPairs: KeyringPair[] = new Array();
-  const m2KeyPairs: KeyringPair[] = new Array();
-
-  const keyring = new Keyring({ type: 'sr25519' });
-  const N: number = +process.env.MEMBERSHIP_CREATION_N!;
-  const paidTerms: number = +process.env.MEMBERSHIP_PAID_TERMS!;
-  const nodeUrl: string = process.env.NODE_URL!;
-  const sudoUri: string = process.env.SUDO_ACCOUNT_URI!;
-  const K: number = +process.env.COUNCIL_ELECTION_K!;
-  const greaterStake: BN = new BN(+process.env.COUNCIL_STAKE_GREATER_AMOUNT!);
-  const lesserStake: BN = new BN(+process.env.COUNCIL_STAKE_LESSER_AMOUNT!);
-  const durationInBlocks: number = 32;
-
-  const provider = new WsProvider(nodeUrl);
-  const apiWrapper: ApiWrapper = await ApiWrapper.create(provider);
-
-  setTestTimeout(apiWrapper, durationInBlocks);
-  membershipTest(apiWrapper, m1KeyPairs, keyring, N, paidTerms, sudoUri);
-  membershipTest(apiWrapper, m2KeyPairs, keyring, N, paidTerms, sudoUri);
-  councilTest(apiWrapper, m1KeyPairs, m2KeyPairs, keyring, K, sudoUri, greaterStake, lesserStake);
-  evictStorageProviderTest(apiWrapper, m1KeyPairs, m2KeyPairs, keyring, sudoUri);
-  closeApi(apiWrapper);
-});

+ 0 - 62
tests/network-tests/src/nicaea/tests/proposals/impl/evictStoraveProvider.ts

@@ -1,62 +0,0 @@
-import { Keyring } from '@polkadot/api';
-import { KeyringPair } from '@polkadot/keyring/types';
-import { ApiWrapper } from '../../../utils/apiWrapper';
-import { v4 as uuid } from 'uuid';
-import BN from 'bn.js';
-import { assert } from 'chai';
-import { Utils } from '../../../utils/utils';
-import tap from 'tap';
-
-export function evictStorageProviderTest(
-  apiWrapper: ApiWrapper,
-  m1KeyPairs: KeyringPair[],
-  m2KeyPairs: KeyringPair[],
-  keyring: Keyring,
-  sudoUri: string
-) {
-  let sudo: KeyringPair;
-
-  tap.test('Evict storage provider proposal test', async () => {
-    // Setup
-    sudo = keyring.addFromUri(sudoUri);
-    const proposalTitle: string = 'Testing proposal ' + uuid().substring(0, 8);
-    const description: string = 'Testing validator count proposal ' + uuid().substring(0, 8);
-    const runtimeVoteFee: BN = apiWrapper.estimateVoteForProposalFee();
-    await apiWrapper.transferBalanceToAccounts(sudo, m2KeyPairs, runtimeVoteFee);
-    if (!(await apiWrapper.isStorageProvider(sudo.address))) {
-      await apiWrapper.createStorageProvider(sudo);
-    }
-    assert(await apiWrapper.isStorageProvider(sudo.address), `Account ${sudo.address} is not storage provider`);
-
-    // Proposal stake calculation
-    const proposalStake: BN = new BN(25000);
-    const proposalFee: BN = apiWrapper.estimateProposeEvictStorageProviderFee(
-      description,
-      description,
-      proposalStake,
-      sudo.address
-    );
-    await apiWrapper.transferBalance(sudo, m1KeyPairs[0].address, proposalFee.add(proposalStake));
-
-    // Proposal creation
-    const proposalPromise = apiWrapper.expectProposalCreated();
-    await apiWrapper.proposeEvictStorageProvider(
-      m1KeyPairs[0],
-      proposalTitle,
-      description,
-      proposalStake,
-      sudo.address
-    );
-    const proposalNumber = await proposalPromise;
-
-    // Approving the proposal
-    const proposalExecutionPromise = apiWrapper.expectProposalFinalized();
-    await apiWrapper.batchApproveProposal(m2KeyPairs, proposalNumber);
-    await proposalExecutionPromise;
-    await Utils.wait(apiWrapper.getBlockDuration().toNumber());
-    assert(
-      !(await apiWrapper.isStorageProvider(sudo.address)),
-      `Account ${sudo.address} is storage provider after eviction`
-    );
-  });
-}

+ 0 - 120
tests/network-tests/src/nicaea/tests/proposals/impl/storageRoleParametersProposal.ts

@@ -1,120 +0,0 @@
-import { Keyring } from '@polkadot/api';
-import { KeyringPair } from '@polkadot/keyring/types';
-import { ApiWrapper } from '../../../utils/apiWrapper';
-import { v4 as uuid } from 'uuid';
-import BN from 'bn.js';
-import { assert } from 'chai';
-import { RoleParameters } from '@nicaea/types/lib/roles';
-import tap from 'tap';
-
-export function storageRoleParametersProposalTest(
-  apiWrapper: ApiWrapper,
-  m1KeyPairs: KeyringPair[],
-  m2KeyPairs: KeyringPair[],
-  keyring: Keyring,
-  sudoUri: string
-) {
-  let sudo: KeyringPair;
-
-  tap.test('Storage role parameters proposal test', async () => {
-    // Setup
-    sudo = keyring.addFromUri(sudoUri);
-    const proposalTitle: string = 'Testing proposal ' + uuid().substring(0, 8);
-    const description: string = 'Testing validator count proposal ' + uuid().substring(0, 8);
-    const runtimeVoteFee: BN = apiWrapper.estimateVoteForProposalFee();
-    await apiWrapper.transferBalanceToAccounts(sudo, m2KeyPairs, runtimeVoteFee);
-    const roleParameters: RoleParameters = ((await apiWrapper.getStorageRoleParameters()) as unknown) as RoleParameters;
-
-    // Proposal stake calculation
-    const proposalStake: BN = new BN(100000);
-    const proposalFee: BN = apiWrapper.estimateProposeStorageRoleParametersFee(
-      description,
-      description,
-      proposalStake,
-      roleParameters.min_stake.toBn(),
-      roleParameters.min_actors.toBn(),
-      roleParameters.max_actors.toBn(),
-      roleParameters.reward.toBn(),
-      roleParameters.reward_period.toBn(),
-      roleParameters.bonding_period.toBn(),
-      roleParameters.unbonding_period.toBn(),
-      roleParameters.min_service_period.toBn(),
-      roleParameters.startup_grace_period.toBn(),
-      roleParameters.entry_request_fee.toBn()
-    );
-    await apiWrapper.transferBalance(sudo, m1KeyPairs[0].address, proposalFee.add(proposalStake));
-
-    // Proposal creation
-    const proposedMinStake: BN = roleParameters.min_stake.toBn().addn(1);
-    const proposedMaxActors: BN = roleParameters.max_actors.toBn().addn(1);
-    const proposedReward: BN = roleParameters.reward.toBn().addn(1);
-    const proposedRewardPeriod: BN = roleParameters.reward_period.toBn().addn(1);
-    const proposedBondingPeriod: BN = roleParameters.bonding_period.toBn().addn(1);
-    const proposedUnbondingPeriod: BN = roleParameters.unbonding_period.toBn().addn(1);
-    const proposedMinServicePeriod: BN = roleParameters.min_service_period.toBn().addn(1);
-    const proposedStartupGracePeriod: BN = roleParameters.startup_grace_period.toBn().addn(1);
-    const proposedEntryRequestFee: BN = roleParameters.entry_request_fee.toBn().addn(1);
-    const proposalPromise = apiWrapper.expectProposalCreated();
-    await apiWrapper.proposeStorageRoleParameters(
-      m1KeyPairs[0],
-      proposalTitle,
-      description,
-      proposalStake,
-      proposedMinStake,
-      roleParameters.min_actors.toBn(),
-      proposedMaxActors,
-      proposedReward,
-      proposedRewardPeriod,
-      proposedBondingPeriod,
-      proposedUnbondingPeriod,
-      proposedMinServicePeriod,
-      proposedStartupGracePeriod,
-      proposedEntryRequestFee
-    );
-    const proposalNumber = await proposalPromise;
-
-    // Approving the proposal
-    const proposalExecutionPromise = apiWrapper.expectProposalFinalized();
-    await apiWrapper.batchApproveProposal(m2KeyPairs, proposalNumber);
-    await proposalExecutionPromise;
-
-    // Assertions
-    const newRoleParameters: RoleParameters = await apiWrapper.getStorageRoleParameters();
-    assert(
-      proposedMinStake.eq(newRoleParameters.min_stake.toBn()),
-      `Min stake has unexpected value ${newRoleParameters.min_stake.toBn()}, expected ${proposedMinStake}`
-    );
-    assert(
-      proposedMaxActors.eq(newRoleParameters.max_actors.toBn()),
-      `Max actors has unexpected value ${newRoleParameters.max_actors.toBn()}, expected ${proposedMaxActors}`
-    );
-    assert(
-      proposedReward.eq(newRoleParameters.reward.toBn()),
-      `Reward has unexpected value ${newRoleParameters.reward.toBn()}, expected ${proposedReward}`
-    );
-    assert(
-      proposedRewardPeriod.eq(newRoleParameters.reward_period.toBn()),
-      `Reward period has unexpected value ${newRoleParameters.reward_period.toBn()}, expected ${proposedRewardPeriod}`
-    );
-    assert(
-      proposedBondingPeriod.eq(newRoleParameters.bonding_period.toBn()),
-      `Bonding period has unexpected value ${newRoleParameters.bonding_period.toBn()}, expected ${proposedBondingPeriod}`
-    );
-    assert(
-      proposedUnbondingPeriod.eq(newRoleParameters.unbonding_period.toBn()),
-      `Unbonding period has unexpected value ${newRoleParameters.unbonding_period.toBn()}, expected ${proposedUnbondingPeriod}`
-    );
-    assert(
-      proposedMinServicePeriod.eq(newRoleParameters.min_service_period.toBn()),
-      `Min service period has unexpected value ${newRoleParameters.min_service_period.toBn()}, expected ${proposedMinServicePeriod}`
-    );
-    assert(
-      proposedStartupGracePeriod.eq(newRoleParameters.startup_grace_period.toBn()),
-      `Startup grace period has unexpected value ${newRoleParameters.startup_grace_period.toBn()}, expected ${proposedStartupGracePeriod}`
-    );
-    assert(
-      proposedEntryRequestFee.eq(newRoleParameters.entry_request_fee.toBn()),
-      `Entry request fee has unexpected value ${newRoleParameters.entry_request_fee.toBn()}, expected ${proposedEntryRequestFee}`
-    );
-  });
-}

+ 0 - 40
tests/network-tests/src/nicaea/tests/proposals/storageRoleParametersProposalTest.ts

@@ -1,40 +0,0 @@
-import { KeyringPair } from '@polkadot/keyring/types';
-import { membershipTest } from '../impl/membershipCreation';
-import { councilTest } from '../impl/electingCouncil';
-import { storageRoleParametersProposalTest } from './impl/storageRoleParametersProposal';
-import { initConfig } from '../../utils/config';
-import { Keyring, WsProvider } from '@polkadot/api';
-import BN from 'bn.js';
-import { setTestTimeout } from '../../utils/setTestTimeout';
-import tap from 'tap';
-import { registerJoystreamTypes } from '@nicaea/types';
-import { closeApi } from '../impl/closeApi';
-import { ApiWrapper } from '../../utils/apiWrapper';
-
-tap.mocha.describe('Storage role parameters proposal scenario', async () => {
-  initConfig();
-  registerJoystreamTypes();
-
-  const m1KeyPairs: KeyringPair[] = new Array();
-  const m2KeyPairs: KeyringPair[] = new Array();
-
-  const keyring = new Keyring({ type: 'sr25519' });
-  const N: number = +process.env.MEMBERSHIP_CREATION_N!;
-  const paidTerms: number = +process.env.MEMBERSHIP_PAID_TERMS!;
-  const nodeUrl: string = process.env.NODE_URL!;
-  const sudoUri: string = process.env.SUDO_ACCOUNT_URI!;
-  const K: number = +process.env.COUNCIL_ELECTION_K!;
-  const greaterStake: BN = new BN(+process.env.COUNCIL_STAKE_GREATER_AMOUNT!);
-  const lesserStake: BN = new BN(+process.env.COUNCIL_STAKE_LESSER_AMOUNT!);
-  const durationInBlocks: number = 29;
-
-  const provider = new WsProvider(nodeUrl);
-  const apiWrapper: ApiWrapper = await ApiWrapper.create(provider);
-
-  setTestTimeout(apiWrapper, durationInBlocks);
-  membershipTest(apiWrapper, m1KeyPairs, keyring, N, paidTerms, sudoUri);
-  membershipTest(apiWrapper, m2KeyPairs, keyring, N, paidTerms, sudoUri);
-  councilTest(apiWrapper, m1KeyPairs, m2KeyPairs, keyring, K, sudoUri, greaterStake, lesserStake);
-  storageRoleParametersProposalTest(apiWrapper, m1KeyPairs, m2KeyPairs, keyring, sudoUri);
-  closeApi(apiWrapper);
-});