Test/1723 update asset proposal (#1753)
* test: test for update asset proposal * test: added test for hiding validator list * chore: update vegacapsule config files * fix: lint * chore: add reason to skipped test
This commit is contained in:
parent
37a6217169
commit
b1c15d5711
10
apps/token-e2e/src/fixtures/proposals/update-asset.json
Normal file
10
apps/token-e2e/src/fixtures/proposals/update-asset.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"assetId": "ebcd94151ae1f0d39a4bde3b21a9c7ae81a80ea4352fb075a92e07608d9c953d",
|
||||
"changes": {
|
||||
"quantum": "1",
|
||||
"erc20": {
|
||||
"withdrawThreshold": "10",
|
||||
"lifetimeLimit": "10"
|
||||
}
|
||||
}
|
||||
}
|
@ -26,7 +26,7 @@ const proposalVoteProgressAgainstTokens =
|
||||
const changeVoteButton = '[data-testid="change-vote-button"]';
|
||||
const proposalDetailsTitle = '[data-testid="proposal-title"]';
|
||||
const proposalDetailsDescription = '[data-testid="proposal-description"]';
|
||||
const proposalVoteDeadline = '[data-testid="proposal-vote-deadline"]';
|
||||
const rawProposalData = '[data-testid="proposal-data"]';
|
||||
const minVoteButton = '[data-testid="min-vote"]';
|
||||
const maxVoteButton = '[data-testid="max-vote"]';
|
||||
const voteButtons = '[data-testid="vote-buttons"]';
|
||||
@ -61,10 +61,12 @@ context(
|
||||
cy.verify_page_header('The $VEGA token');
|
||||
cy.get_network_parameters().then((network_parameters) => {
|
||||
cy.wrap(
|
||||
network_parameters['governance.proposal.freeform.minProposerBalance']
|
||||
network_parameters['spam.protection.proposal.min.tokens'] /
|
||||
1000000000000000000
|
||||
).as('minProposerBalance');
|
||||
cy.wrap(
|
||||
network_parameters['governance.proposal.freeform.minVoterBalance']
|
||||
network_parameters['spam.protection.voting.min.tokens'] /
|
||||
1000000000000000000
|
||||
).as('minVoterBalance');
|
||||
cy.wrap(
|
||||
network_parameters['governance.proposal.freeform.requiredMajority'] *
|
||||
@ -191,23 +193,15 @@ context(
|
||||
);
|
||||
|
||||
it('Able to submit a valid freeform proposal - with minimum required tokens associated - but also staked', function () {
|
||||
cy.ensure_specified_unstaked_tokens_are_associated(
|
||||
this.minProposerBalance
|
||||
);
|
||||
cy.ensure_specified_unstaked_tokens_are_associated('2');
|
||||
cy.navigate_to_page_if_not_already_loaded('governance');
|
||||
cy.get(vegaWalletUnstakedBalance, txTimeout).should(
|
||||
'contain',
|
||||
this.minProposerBalance
|
||||
);
|
||||
cy.get(vegaWalletUnstakedBalance, txTimeout).should('contain', '2');
|
||||
cy.navigate_to('staking');
|
||||
cy.wait_for_spinner();
|
||||
cy.click_on_validator_from_list(0);
|
||||
cy.staking_validator_page_add_stake(this.minProposerBalance);
|
||||
cy.staking_validator_page_add_stake('2');
|
||||
|
||||
cy.get(vegaWalletStakedBalances, txTimeout).should(
|
||||
'contain',
|
||||
this.minProposerBalance
|
||||
);
|
||||
cy.get(vegaWalletStakedBalances, txTimeout).should('contain', '2');
|
||||
|
||||
cy.navigate_to('governance');
|
||||
cy.wait_for_spinner();
|
||||
@ -355,8 +349,7 @@ context(
|
||||
});
|
||||
});
|
||||
|
||||
// Skipping test due to bug - should be solved when #1223 released
|
||||
it.skip('Newly created freeform proposal details - shows proposal title and full description', function () {
|
||||
it('Newly created raw proposal details - shows proposal title and full description', function () {
|
||||
createRawProposal(this.minProposerBalance);
|
||||
cy.wait('@proposalSubmissionCompletion')
|
||||
.its(proposalResponseProposalIdPath)
|
||||
@ -366,38 +359,13 @@ context(
|
||||
cy.get(viewProposalButton).should('be.visible').click();
|
||||
});
|
||||
});
|
||||
cy.get('@rawProposal').then((freeformProposal) => {
|
||||
cy.get('@rawProposal').then((rawProposal) => {
|
||||
// 3001-VOTE-054
|
||||
cy.get(proposalDetailsTitle)
|
||||
.should('contain', freeformProposal.rationale.title)
|
||||
.should('contain', rawProposal.rationale.title)
|
||||
.and('be.visible');
|
||||
cy.get(proposalDetailsDescription)
|
||||
.should('contain', freeformProposal.rationale.description)
|
||||
.and('be.visible');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// 1005-todo-PROP-019
|
||||
// Skipping test due to bug - should be solved when #1223 released
|
||||
it.skip('Newly created raw proposal details - shows full link included in description', function () {
|
||||
createRawProposal(this.minProposerBalance);
|
||||
cy.wait('@proposalSubmissionCompletion')
|
||||
.its(proposalResponseProposalIdPath)
|
||||
.then((proposalId) => {
|
||||
cy.get(openProposals).within(() => {
|
||||
cy.get(`#${proposalId}`).within(() => {
|
||||
cy.get(viewProposalButton).should('be.visible').click();
|
||||
});
|
||||
});
|
||||
cy.get('@rawProposal').then(() => {
|
||||
// 3001-VOTE-055
|
||||
cy.get(proposalDetailsDescription)
|
||||
.should('have.attr', 'href')
|
||||
.and(
|
||||
'equal',
|
||||
'https://dweb.link/ipfs/bafybeigwwctpv37xdcwacqxvekr6e4kaemqsrv34em6glkbiceo3fcy4si'
|
||||
)
|
||||
.should('contain', rawProposal.rationale.description)
|
||||
.and('be.visible');
|
||||
});
|
||||
});
|
||||
@ -623,13 +591,16 @@ context(
|
||||
);
|
||||
});
|
||||
|
||||
// No longer able to submit a rejected freeform proposal
|
||||
it.skip('Creating a proposal - proposal rejected - able to access rejected proposals', function () {
|
||||
it('Creating a proposal - proposal rejected - able to access rejected proposals', function () {
|
||||
cy.ensure_specified_unstaked_tokens_are_associated(
|
||||
this.minProposerBalance
|
||||
);
|
||||
cy.go_to_make_new_proposal(governanceProposalType.FREEFORM);
|
||||
cy.enter_unique_freeform_proposal_body('500000000');
|
||||
cy.go_to_make_new_proposal(governanceProposalType.RAW);
|
||||
cy.create_ten_digit_unix_timestamp_for_specified_days('1000').then(
|
||||
(closingDateTimestamp) => {
|
||||
cy.enter_raw_proposal_body(closingDateTimestamp).as('rawProposal');
|
||||
}
|
||||
);
|
||||
cy.get(newProposalSubmitButton).should('be.visible').click();
|
||||
cy.contains('Awaiting network confirmation', epochTimeout).should(
|
||||
'be.visible'
|
||||
@ -663,14 +634,17 @@ context(
|
||||
txTimeout
|
||||
);
|
||||
cy.go_to_make_new_proposal(governanceProposalType.RAW);
|
||||
createRawProposal();
|
||||
|
||||
cy.create_ten_digit_unix_timestamp_for_specified_days('8').then(
|
||||
(closingDateTimestamp) => {
|
||||
cy.enter_raw_proposal_body(closingDateTimestamp).as;
|
||||
}
|
||||
);
|
||||
cy.get(newProposalSubmitButton).should('be.visible').click();
|
||||
cy.contains('Transaction failed', proposalTimeout).should('be.visible');
|
||||
cy.get(feedbackError)
|
||||
.contains(
|
||||
'Party has insufficient associated governance tokens in their staking account to submit proposal request'
|
||||
)
|
||||
.should('be.visible');
|
||||
cy.get(feedbackError).should(
|
||||
'have.text',
|
||||
'party has insufficient associated governance tokens in their staking account to submit proposal request'
|
||||
);
|
||||
});
|
||||
|
||||
it('Unable to create a proposal - when some but not enough tokens are associated', function () {
|
||||
@ -678,78 +652,74 @@ context(
|
||||
this.minProposerBalance - 0.000001
|
||||
);
|
||||
cy.go_to_make_new_proposal(governanceProposalType.RAW);
|
||||
createRawProposal(this.minProposerBalance);
|
||||
|
||||
cy.create_ten_digit_unix_timestamp_for_specified_days('8').then(
|
||||
(closingDateTimestamp) => {
|
||||
cy.enter_raw_proposal_body(closingDateTimestamp);
|
||||
}
|
||||
);
|
||||
cy.get(newProposalSubmitButton).should('be.visible').click();
|
||||
cy.contains('Transaction failed', proposalTimeout).should('be.visible');
|
||||
cy.get(feedbackError)
|
||||
.contains(
|
||||
'Party has insufficient associated governance tokens in their staking account to submit proposal request'
|
||||
)
|
||||
.should('be.visible');
|
||||
cy.get(feedbackError).should(
|
||||
'have.text',
|
||||
'party has insufficient associated governance tokens in their staking account to submit proposal request'
|
||||
);
|
||||
});
|
||||
|
||||
// Json containing unexpected field no longer fails submission
|
||||
it.skip('Unable to create a freeform proposal - when json parent section contains unexpected field', function () {
|
||||
it('Unable to create a freeform proposal - when json parent section contains unexpected field', function () {
|
||||
// 3001-VOTE-038
|
||||
cy.ensure_specified_unstaked_tokens_are_associated(
|
||||
this.minProposerBalance
|
||||
);
|
||||
cy.go_to_make_new_proposal(governanceProposalType.FREEFORM);
|
||||
cy.create_ten_digit_unix_timestamp_for_specified_days('1').then(
|
||||
cy.go_to_make_new_proposal(governanceProposalType.RAW);
|
||||
cy.create_ten_digit_unix_timestamp_for_specified_days('8').then(
|
||||
(closingDateTimestamp) => {
|
||||
cy.fixture('/proposals/freeform.json').then((freeformProposal) => {
|
||||
cy.fixture('/proposals/raw.json').then((freeformProposal) => {
|
||||
freeformProposal.terms.closingTimestamp = closingDateTimestamp;
|
||||
freeformProposal.unexpected = `i shouldn't be here`;
|
||||
let proposalPayload = JSON.stringify(freeformProposal);
|
||||
|
||||
cy.get(proposalDetailsTitle).type(
|
||||
freeformProposal.rationale.title
|
||||
);
|
||||
cy.get(proposalDetailsDescription).type(proposalPayload, {
|
||||
cy.get(rawProposalData).type(proposalPayload, {
|
||||
parseSpecialCharSequences: false,
|
||||
delay: 2,
|
||||
});
|
||||
cy.get(proposalVoteDeadline).clear().click().type('50');
|
||||
});
|
||||
}
|
||||
);
|
||||
cy.get(newProposalSubmitButton).should('be.visible').click();
|
||||
|
||||
cy.contains('Transaction failed', proposalTimeout).should('be.visible');
|
||||
cy.get(feedbackError)
|
||||
.contains('Unknown field unexpected in vega proposal terms')
|
||||
.should('be.visible');
|
||||
cy.get(feedbackError).should(
|
||||
'have.text',
|
||||
'*: unknown field "unexpected" in vega.commands.v1.ProposalSubmission'
|
||||
);
|
||||
});
|
||||
|
||||
// Json containing unexpected field no longer fails submission
|
||||
it.skip('Unable to create a freeform proposal - when json terms section contains unexpected field', function () {
|
||||
it('Unable to create a freeform proposal - when json terms section contains unexpected field', function () {
|
||||
// 3001-VOTE-038
|
||||
cy.ensure_specified_unstaked_tokens_are_associated(
|
||||
this.minProposerBalance
|
||||
);
|
||||
cy.go_to_make_new_proposal(governanceProposalType.RAW);
|
||||
cy.create_ten_digit_unix_timestamp_for_specified_days('1').then(
|
||||
cy.create_ten_digit_unix_timestamp_for_specified_days('8').then(
|
||||
(closingDateTimestamp) => {
|
||||
cy.fixture('/proposals/raw.json').then((rawProposal) => {
|
||||
rawProposal.terms.closingTimestamp = closingDateTimestamp;
|
||||
rawProposal.terms.unexpectedField = `i shouldn't be here`;
|
||||
let proposalPayload = JSON.stringify(rawProposal);
|
||||
|
||||
cy.get(proposalDetailsTitle).type(rawProposal.rationale.title);
|
||||
cy.get(proposalDetailsDescription).type(proposalPayload, {
|
||||
cy.get(rawProposalData).type(proposalPayload, {
|
||||
parseSpecialCharSequences: false,
|
||||
delay: 2,
|
||||
});
|
||||
cy.get(proposalVoteDeadline).clear().click().type('50');
|
||||
});
|
||||
}
|
||||
);
|
||||
cy.get(newProposalSubmitButton).should('be.visible').click();
|
||||
|
||||
cy.contains('Transaction failed', proposalTimeout).should('be.visible');
|
||||
cy.get(feedbackError)
|
||||
.contains('Unknown field unexpected in vega proposal terms')
|
||||
.should('be.visible');
|
||||
cy.get(feedbackError).should(
|
||||
'have.text',
|
||||
'*: unknown field "unexpectedField" in vega.ProposalTerms'
|
||||
);
|
||||
});
|
||||
|
||||
// Have to skip because #1326 bug doesn't handle below scenario
|
||||
@ -815,7 +785,7 @@ context(
|
||||
function createRawProposal(proposerBalance) {
|
||||
if (proposerBalance)
|
||||
cy.ensure_specified_unstaked_tokens_are_associated(proposerBalance);
|
||||
cy.go_to_make_new_proposal('raw proposal');
|
||||
cy.go_to_make_new_proposal(governanceProposalType.RAW);
|
||||
cy.create_ten_digit_unix_timestamp_for_specified_days('8').then(
|
||||
(closingDateTimestamp) => {
|
||||
cy.enter_raw_proposal_body(closingDateTimestamp).as('rawProposal');
|
||||
|
@ -2,6 +2,7 @@ const newProposalSubmitButton = '[data-testid="proposal-submit"]';
|
||||
const proposalVoteDeadline = '[data-testid="proposal-vote-deadline"]';
|
||||
const proposalValidationDeadline =
|
||||
'[data-testid="proposal-validation-deadline"]';
|
||||
const proposalEnactmentDeadline = '[data-testid="proposal-enactment-deadline"]';
|
||||
const proposalParameterSelect = '[data-testid="proposal-parameter-select"]';
|
||||
const proposalMarketSelect = '[data-testid="proposal-market-select"]';
|
||||
const newProposalTitle = '[data-testid="proposal-title"]';
|
||||
@ -13,6 +14,7 @@ const newProposedParameterValue =
|
||||
'[data-testid="selected-proposal-param-new-value"]';
|
||||
const dialogCloseButton = '[data-testid="dialog-close"]';
|
||||
const inputError = '[data-testid="input-error-text"]';
|
||||
const feedbackError = '[data-testid="Error"]';
|
||||
const epochTimeout = Cypress.env('epochTimeout');
|
||||
const proposalTimeout = { timeout: 14000 };
|
||||
|
||||
@ -21,6 +23,7 @@ const governanceProposalType = {
|
||||
NEW_MARKET: 'New market',
|
||||
UPDATE_MARKET: 'Update market',
|
||||
NEW_ASSET: 'New asset',
|
||||
UPDATE_ASSET: 'Update asset',
|
||||
FREEFORM: 'Freeform',
|
||||
RAW: 'raw proposal',
|
||||
};
|
||||
@ -97,8 +100,9 @@ context(
|
||||
);
|
||||
});
|
||||
|
||||
// 3003-PMAN-001
|
||||
it('Able to submit valid new market proposal', function () {
|
||||
// Skipping because unclear what the required json is yet for new market proposal, will update once docs have been updated
|
||||
// 3003-todo-PMAN-001
|
||||
it.skip('Able to submit valid new market proposal', function () {
|
||||
cy.go_to_make_new_proposal(governanceProposalType.NEW_MARKET);
|
||||
cy.get(newProposalTitle).type('Test new market proposal');
|
||||
cy.get(newProposalDescription).type('E2E test for proposals');
|
||||
@ -117,9 +121,24 @@ context(
|
||||
cy.go_to_make_new_proposal(governanceProposalType.NEW_MARKET);
|
||||
cy.get(newProposalSubmitButton).should('be.visible').click();
|
||||
cy.get(inputError).should('have.length', 3);
|
||||
cy.get(newProposalTitle).type('Test new market proposal');
|
||||
cy.get(newProposalDescription).type('E2E test for proposals');
|
||||
cy.fixture('/proposals/new-market').then((newMarketProposal) => {
|
||||
let newMarketPayload = JSON.stringify(newMarketProposal);
|
||||
cy.get(newProposalTerms).type(newMarketPayload, {
|
||||
parseSpecialCharSequences: false,
|
||||
delay: 2,
|
||||
});
|
||||
});
|
||||
cy.get(newProposalSubmitButton).should('be.visible').click();
|
||||
cy.contains('Transaction failed', proposalTimeout).should('be.visible');
|
||||
cy.get(feedbackError).should(
|
||||
'have.text',
|
||||
'*: unknown field "settlementPriceProperty" in vega.OracleSpecToFutureBinding'
|
||||
);
|
||||
});
|
||||
|
||||
// skipped because of bug #1605
|
||||
// skipped because no markets available to select in capsule
|
||||
it.skip('Able to submit update market proposal', function () {
|
||||
const marketId =
|
||||
'315a8e48db0a292c92b617264728048c82c20efc922c75fd292fc54e5c727c81';
|
||||
@ -163,6 +182,15 @@ context(
|
||||
'be.visible'
|
||||
);
|
||||
cy.get(dialogCloseButton).click();
|
||||
cy.get(newProposalSubmitButton).should('be.visible').click();
|
||||
// cannot submit a proposal with ERC20 address already in use
|
||||
cy.contains('Proposal rejected', proposalTimeout).should('be.visible');
|
||||
cy.getByTestId('dialog-content').within(() => {
|
||||
cy.get('p').should(
|
||||
'have.text',
|
||||
'PROPOSAL_ERROR_ERC20_ADDRESS_ALREADY_IN_USE'
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
it('Unable to submit new asset proposal with missing/invalid fields', function () {
|
||||
@ -177,5 +205,28 @@ context(
|
||||
'not.exist'
|
||||
);
|
||||
});
|
||||
|
||||
it('Able to submit update asset proposal', function () {
|
||||
cy.go_to_make_new_proposal(governanceProposalType.UPDATE_ASSET);
|
||||
cy.get(newProposalTitle).type('Test update asset proposal');
|
||||
cy.get(newProposalDescription).type('E2E test for proposals');
|
||||
cy.fixture('/proposals/update-asset').then((newAssetProposal) => {
|
||||
let newAssetPayload = JSON.stringify(newAssetProposal);
|
||||
cy.get(newProposalTerms).type(newAssetPayload, {
|
||||
parseSpecialCharSequences: false,
|
||||
delay: 2,
|
||||
});
|
||||
});
|
||||
cy.get(proposalVoteDeadline).clear().click().type('50');
|
||||
cy.get(proposalEnactmentDeadline).clear().click().type('50');
|
||||
cy.get(newProposalSubmitButton).should('be.visible').click();
|
||||
cy.wait_for_proposal_submitted();
|
||||
});
|
||||
|
||||
it('Unable to submit edit asset proposal with missing/invalid fields', function () {
|
||||
cy.go_to_make_new_proposal(governanceProposalType.UPDATE_ASSET);
|
||||
cy.get(newProposalSubmitButton).should('be.visible').click();
|
||||
cy.get(inputError).should('have.length', 3);
|
||||
});
|
||||
}
|
||||
);
|
||||
|
@ -21,15 +21,15 @@ context('Staking Page - verify elements on page', function () {
|
||||
|
||||
describe('with wallets disconnected', { tags: '@smoke' }, function () {
|
||||
describe('description section', function () {
|
||||
it('should have staking tab highlighted', function () {
|
||||
it('Should have staking tab highlighted', function () {
|
||||
cy.verify_tab_highlighted('staking');
|
||||
});
|
||||
|
||||
it('should have STAKING ON VEGA header visible', function () {
|
||||
it('Should have STAKING ON VEGA header visible', function () {
|
||||
cy.verify_page_header('Staking');
|
||||
});
|
||||
|
||||
it('should have Staking Guide link visible', function () {
|
||||
it('Should have Staking Guide link visible', function () {
|
||||
// 2001-STKE-003
|
||||
cy.get(guideLink)
|
||||
.should('be.visible')
|
||||
@ -124,6 +124,10 @@ context('Staking Page - verify elements on page', function () {
|
||||
cy.wrap($votingPower).should('not.be.empty');
|
||||
});
|
||||
});
|
||||
|
||||
it('Should be able to see button to unhide top validators', function () {
|
||||
cy.get('[data-testid="show-all-validators"]').should('be.visible');
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
@ -205,7 +209,7 @@ context('Staking Page - verify elements on page', function () {
|
||||
});
|
||||
|
||||
// 2001-STKE-011 2002-SINC-001 2002-SINC-002
|
||||
it('should be able to see epoch information', function () {
|
||||
it('Should be able to see epoch information', function () {
|
||||
const epochTitle = 'h3';
|
||||
const nextEpochInfo = 'p';
|
||||
|
||||
|
@ -24,6 +24,7 @@ Level = "info"
|
||||
TokenExpiry = "168h0m0s"
|
||||
Port = 1789
|
||||
Host = "0.0.0.0"
|
||||
|
||||
[API]
|
||||
[API.GRPC]
|
||||
Hosts = [{{range $i, $v := .Validators}}{{if ne $i 0}},{{end}}"127.0.0.1:30{{$i}}2"{{end}}]
|
||||
@ -57,8 +58,22 @@ EOT
|
||||
env = {
|
||||
POSTGRES_USER="vega"
|
||||
POSTGRES_PASSWORD="vega"
|
||||
POSTGRES_DBS="vega0,vega1,vega2,vega3,vega4,vega5,vega6"
|
||||
POSTGRES_DBS="vega0,vega1,vega2,vega3,vega4,vega5,vega6,vega7,vega8"
|
||||
}
|
||||
|
||||
volume_mounts = concat(
|
||||
[
|
||||
for ns in generated.node_sets:
|
||||
"${ns.data_node.service.home_dir}/dehistory/snapshotsCopyTo:/snapshotsCopyTo${ns.index}"
|
||||
if ns.data_node != null
|
||||
],
|
||||
[
|
||||
for ns in generated.node_sets:
|
||||
"${ns.data_node.service.home_dir}/dehistory/snapshotsCopyFrom:/snapshotsCopyFrom${ns.index}"
|
||||
if ns.data_node != null
|
||||
]
|
||||
)
|
||||
|
||||
static_port {
|
||||
value = 5232
|
||||
to = 5432
|
||||
@ -94,10 +109,17 @@ EOT
|
||||
mode = "full"
|
||||
use_data_node = true
|
||||
|
||||
pre_start_probe {
|
||||
postgres {
|
||||
connection = "user=vega dbname=vega{{ .NodeNumber }} password=vega port=5232 sslmode=disable"
|
||||
query = "select 10 + 10"
|
||||
}
|
||||
}
|
||||
|
||||
config_templates {
|
||||
vega_file = "./node_set_templates/default/vega_full.tmpl"
|
||||
tendermint_file = "./node_set_templates/default/tendermint_full.tmpl"
|
||||
data_node_file = "./node_set_templates/default/data_node_full_external_postgres.tmpl"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -153,7 +153,7 @@
|
||||
"total_supply": "0",
|
||||
"source": {
|
||||
"erc20": {
|
||||
"contract_address": "{{.GetEthContractAddr "tUSDC"}}"
|
||||
"contract_address": "{{.GetEthContractAddr "tUSDC"}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -175,114 +175,40 @@
|
||||
},
|
||||
"network_parameters": {
|
||||
"blockchains.ethereumConfig": "{\"network_id\": \"{{ .NetworkID }}\", \"chain_id\": \"{{ .ChainID }}\", \"collateral_bridge_contract\": { \"address\": \"{{.GetEthContractAddr "erc20_bridge_1"}}\" }, \"confirmations\": 3, \"staking_bridge_contract\": { \"address\": \"{{.GetEthContractAddr "staking_bridge"}}\", \"deployment_block_height\": 0}, \"token_vesting_contract\": { \"address\": \"{{.GetEthContractAddr "erc20_vesting"}}\", \"deployment_block_height\": 0 }, \"multisig_control_contract\": { \"address\": \"{{.GetEthContractAddr "MultisigControl"}}\", \"deployment_block_height\": 0 }}",
|
||||
"governance.proposal.asset.maxClose":"8760h0m0s",
|
||||
"governance.proposal.asset.maxEnact":"8760h0m0s",
|
||||
"governance.proposal.asset.minClose":"2s",
|
||||
"governance.proposal.asset.minEnact":"2s",
|
||||
"governance.proposal.asset.minProposerBalance":"0",
|
||||
"governance.proposal.asset.minVoterBalance":"0",
|
||||
"governance.proposal.asset.requiredMajority":"0.66",
|
||||
"governance.proposal.asset.requiredParticipation":"0.00000000000000000000000015",
|
||||
"governance.proposal.freeform.maxClose":"8760h0m0s",
|
||||
"governance.proposal.freeform.minClose":"48h0m0s",
|
||||
"governance.proposal.freeform.minProposerBalance":"1",
|
||||
"governance.proposal.freeform.minVoterBalance":"1",
|
||||
"governance.proposal.freeform.requiredMajority":"0.66",
|
||||
"governance.proposal.freeform.requiredParticipation":"0.00001",
|
||||
"governance.proposal.market.maxClose":"8760h0m0s",
|
||||
"governance.proposal.market.maxEnact":"8760h0m0s",
|
||||
"governance.proposal.market.minClose":"2s",
|
||||
"governance.proposal.market.minEnact":"2s",
|
||||
"governance.proposal.market.minProposerBalance":"0",
|
||||
"governance.proposal.market.minVoterBalance":"0",
|
||||
"governance.proposal.market.requiredMajority":"0.66",
|
||||
"governance.proposal.market.requiredParticipation":"0.00000000000000000000000015",
|
||||
"governance.proposal.updateAsset.maxClose":"8760h0m0s",
|
||||
"governance.proposal.updateAsset.maxEnact":"8760h0m0s",
|
||||
"governance.proposal.updateAsset.minClose":"48h0m0s",
|
||||
"governance.proposal.updateAsset.minEnact":"48h0m0s",
|
||||
"governance.proposal.updateAsset.minProposerBalance":"0",
|
||||
"governance.proposal.updateAsset.minVoterBalance":"0",
|
||||
"governance.proposal.updateAsset.requiredMajority":"0.66",
|
||||
"governance.proposal.updateAsset.requiredParticipation":"0.00001",
|
||||
"governance.proposal.updateMarket.maxClose":"8760h0m0s",
|
||||
"governance.proposal.updateMarket.maxEnact":"8760h0m0s",
|
||||
"governance.proposal.updateMarket.minClose":"2s",
|
||||
"governance.proposal.updateMarket.minEnact":"2s",
|
||||
"governance.proposal.updateMarket.minProposerBalance":"0",
|
||||
"governance.proposal.updateMarket.minProposerEquityLikeShare":"0.66",
|
||||
"governance.proposal.updateMarket.minVoterBalance":"0",
|
||||
"governance.proposal.updateMarket.requiredMajority":"0.66",
|
||||
"governance.proposal.updateMarket.requiredMajorityLP":"0.66",
|
||||
"governance.proposal.updateMarket.requiredParticipation":"0.00000000000000000000000015",
|
||||
"governance.proposal.updateMarket.requiredParticipationLP":"0.00001",
|
||||
"governance.proposal.updateNetParam.maxClose":"8760h0m0s",
|
||||
"governance.proposal.updateNetParam.maxEnact":"8760h0m0s",
|
||||
"governance.proposal.updateNetParam.minClose":"2s",
|
||||
"governance.proposal.updateNetParam.minEnact":"2s",
|
||||
"governance.proposal.updateNetParam.minProposerBalance":"0",
|
||||
"governance.proposal.updateNetParam.minVoterBalance":"0",
|
||||
"governance.proposal.updateNetParam.requiredMajority":"0.66",
|
||||
"governance.proposal.updateNetParam.requiredParticipation":"0.00000000000000000000000015",
|
||||
"limits.assets.proposeEnabledFrom":"2100-12-30T00:00:00Z",
|
||||
"limits.markets.proposeEnabledFrom":"2100-12-30T00:00:00Z",
|
||||
"market.auction.maximumDuration":"168h0m0s",
|
||||
"market.auction.minimumDuration":"3s",
|
||||
"market.fee.factors.infrastructureFee":"0.001",
|
||||
"market.fee.factors.makerFee":"0.004",
|
||||
"market.liquidity.bondPenaltyParameter":"1",
|
||||
"market.liquidity.maximumLiquidityFeeFactorLevel":"1",
|
||||
"market.liquidity.minimum.probabilityOfTrading.lpOrders":"1e-8",
|
||||
"market.liquidity.probabilityOfTrading.tau.scaling":"1",
|
||||
"market.liquidity.providers.fee.distributionTimeStep":"0s",
|
||||
"market.liquidity.stakeToCcySiskas":"0.3",
|
||||
"market.liquidity.targetstake.triggering.ratio":"0.7",
|
||||
"market.liquidityProvision.minLpStakeQuantumMultiple":"1",
|
||||
"market.liquidityProvision.shapes.maxSize":"100",
|
||||
"market.margin.scalingFactors":"{\"search_level\": 1.1, \"initial_margin\": 1.2, \"collateral_release\": 1.4}",
|
||||
"market.monitor.price.defaultParameters":"{\"triggers\": []}",
|
||||
"market.stake.target.scalingFactor":"10",
|
||||
"market.stake.target.timeWindow":"1h0m0s",
|
||||
"market.value.windowLength":"168h0m0s",
|
||||
"network.checkpoint.timeElapsedBetweenCheckpoints":"10s",
|
||||
"network.floatingPointUpdates.delay":"5m",
|
||||
"network.validators.ersatz.multipleOfTendermintValidators":"0.5",
|
||||
"network.validators.ersatz.rewardFactor":"0.5",
|
||||
"network.validators.incumbentBonus":"1",
|
||||
"network.validators.minimumEthereumEventsForNewValidator":"3",
|
||||
"network.validators.multisig.numberOfSigners":"13",
|
||||
"network.validators.tendermint.number":"30",
|
||||
"governance.proposal.asset.minClose": "2s",
|
||||
"governance.proposal.asset.minEnact": "2s",
|
||||
"governance.proposal.asset.requiredParticipation": "0.00000000000000000000000015",
|
||||
"governance.proposal.market.minClose": "2s",
|
||||
"governance.proposal.market.minEnact": "2s",
|
||||
"governance.proposal.market.requiredParticipation": "0.00000000000000000000000015",
|
||||
"governance.proposal.updateMarket.minClose": "2s",
|
||||
"governance.proposal.updateMarket.minEnact": "2s",
|
||||
"governance.proposal.updateMarket.requiredParticipation": "0.00000000000000000000000015",
|
||||
"governance.proposal.updateNetParam.minClose": "2s",
|
||||
"governance.proposal.updateNetParam.minEnact": "2s",
|
||||
"governance.proposal.updateNetParam.requiredParticipation": "0.00000000000000000000000015",
|
||||
"market.auction.minimumDuration": "3s",
|
||||
"market.fee.factors.infrastructureFee": "0.001",
|
||||
"market.fee.factors.makerFee": "0.004",
|
||||
"market.liquidity.stakeToCcySiskas": "0.3",
|
||||
"market.liquidity.targetstake.triggering.ratio": "0.7",
|
||||
"network.checkpoint.timeElapsedBetweenCheckpoints": "10s",
|
||||
"reward.asset":"{{.GetVegaContractID "VEGA"}}",
|
||||
"reward.staking.delegation.competitionLevel":"3.1",
|
||||
"reward.staking.delegation.delegatorShare":"0.883",
|
||||
"reward.staking.delegation.maxPayoutPerEpoch":"7000000000000000000000",
|
||||
"reward.staking.delegation.maxPayoutPerParticipant":"700000000000000000000",
|
||||
"reward.staking.delegation.minValidators":"5",
|
||||
"reward.staking.delegation.minimumValidatorStake":"3000000000000000000000",
|
||||
"reward.staking.delegation.optimalStakeMultiplier":"3.0",
|
||||
"reward.staking.delegation.payoutDelay":"5m",
|
||||
"reward.staking.delegation.payoutFraction":"0.007",
|
||||
"rewards.marketCreationQuantumMultiple":"10000000",
|
||||
"snapshot.interval.length":"1000",
|
||||
"spam.pow.difficulty":"15",
|
||||
"spam.pow.hashFunction":"sha3_24_rounds",
|
||||
"spam.pow.increaseDifficulty":"0",
|
||||
"spam.pow.numberOfPastBlocks":"100",
|
||||
"spam.pow.numberOfTxPerBlock":"2",
|
||||
"spam.protection.delegation.min.tokens":"2000000000000000000",
|
||||
"spam.protection.max.batchSize":"15",
|
||||
"spam.protection.max.delegations":"390",
|
||||
"spam.protection.max.proposals":"100",
|
||||
"spam.protection.max.votes":"100",
|
||||
"spam.protection.maxUserTransfersPerEpoch":"20",
|
||||
"spam.protection.proposal.min.tokens":"1000000000000000000",
|
||||
"spam.protection.voting.min.tokens":"1000000000000000000",
|
||||
"transfer.fee.factor":"0.001",
|
||||
"transfer.minTransferQuantumMultiple":"0.1",
|
||||
"validators.delegation.minAmount":"100000000000000000",
|
||||
"validators.epoch.length":"5s",
|
||||
"validators.vote.required":"0.67"
|
||||
"reward.asset": "{{.GetVegaContractID "VEGA"}}",
|
||||
"reward.staking.delegation.competitionLevel": "3.1",
|
||||
"reward.staking.delegation.delegatorShare": "0.883",
|
||||
"reward.staking.delegation.maxPayoutPerParticipant": "700000000000000000000",
|
||||
"reward.staking.delegation.minimumValidatorStake": "3000000000000000000000",
|
||||
"reward.staking.delegation.payoutDelay": "5m",
|
||||
"reward.staking.delegation.payoutFraction": "0.007",
|
||||
"spam.protection.delegation.min.tokens": "1000000000000000000",
|
||||
"spam.protection.max.delegations": "390",
|
||||
"spam.protection.max.proposals": "100",
|
||||
"spam.protection.max.votes": "100",
|
||||
"spam.protection.proposal.min.tokens": "1000000000000000000",
|
||||
"spam.protection.voting.min.tokens": "1000000000000000000",
|
||||
"validators.delegation.minAmount": "100000000000000000",
|
||||
"validators.epoch.length": "5s",
|
||||
"validators.vote.required": "0.67"
|
||||
},
|
||||
"network_limits": {
|
||||
"propose_asset_enabled": true,
|
||||
@ -296,4 +222,4 @@
|
||||
"time_iota_ms": "1"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,7 @@ GatewayEnabled = true
|
||||
Port = 5232
|
||||
UseTransactions = true
|
||||
Database = "vega{{.NodeNumber}}"
|
||||
|
||||
|
||||
|
||||
[API]
|
||||
Level = "Info"
|
||||
@ -27,7 +27,7 @@ GatewayEnabled = true
|
||||
Port = 30{{.NodeNumber}}8
|
||||
[Gateway.REST]
|
||||
Port = 30{{.NodeNumber}}9
|
||||
|
||||
|
||||
[Metrics]
|
||||
Level = "Info"
|
||||
Timeout = "5s"
|
||||
@ -37,4 +37,4 @@ GatewayEnabled = true
|
||||
Level = "Info"
|
||||
UseEventFile = false
|
||||
[Broker.SocketConfig]
|
||||
Port = 30{{.NodeNumber}}5
|
||||
Port = 30{{.NodeNumber}}5
|
||||
|
@ -29,4 +29,4 @@
|
||||
[Broker]
|
||||
[Broker.Socket]
|
||||
Port = 30{{.NodeNumber}}5
|
||||
Enabled = true
|
||||
Enabled = true
|
||||
|
@ -27,4 +27,4 @@
|
||||
[Processor]
|
||||
[Processor.Ratelimit]
|
||||
Requests = 10000
|
||||
PerNBlocks = 1
|
||||
PerNBlocks = 1
|
||||
|
Loading…
Reference in New Issue
Block a user