Add proposal 1 and test (#298)
* Add proposal 1 and test * update changelog
This commit is contained in:
		@@ -1,4 +1,13 @@
 | 
				
			|||||||
[
 | 
					[
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        "version": "1.3.0",
 | 
				
			||||||
 | 
					        "changes": [
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                "note": "Added proposal 1 params and test",
 | 
				
			||||||
 | 
					                "pr": 298
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        "timestamp": 1624356181,
 | 
					        "timestamp": 1624356181,
 | 
				
			||||||
        "version": "1.2.3",
 | 
					        "version": "1.2.3",
 | 
				
			||||||
 
 | 
				
			|||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							@@ -151,4 +151,72 @@ blockchainTests.fork.skip('Treasury proposal mainnet fork tests', env => {
 | 
				
			|||||||
            );
 | 
					            );
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					    describe('Proposal 1', () => {
 | 
				
			||||||
 | 
					        it('works', async () => {
 | 
				
			||||||
 | 
					            const proposal = proposals[1];
 | 
				
			||||||
 | 
					            let executionEpoch: BigNumber;
 | 
				
			||||||
 | 
					            if (proposal.executionEpoch) {
 | 
				
			||||||
 | 
					                executionEpoch = proposal.executionEpoch;
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					                const currentEpoch = await staking.currentEpoch().callAsync();
 | 
				
			||||||
 | 
					                executionEpoch = currentEpoch.plus(2);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            const pools = await querySubgraphAsync(PROPOSER);
 | 
				
			||||||
 | 
					            const proposeTx = treasury.propose(proposal.actions, executionEpoch, proposal.description, pools);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            const calldata = proposeTx.getABIEncodedTransactionData();
 | 
				
			||||||
 | 
					            logUtils.log('ZrxTreasury.propose calldata:');
 | 
				
			||||||
 | 
					            logUtils.log(calldata);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            const proposalId = await proposeTx.callAsync({ from: PROPOSER });
 | 
				
			||||||
 | 
					            const receipt = await proposeTx.awaitTransactionSuccessAsync({ from: PROPOSER });
 | 
				
			||||||
 | 
					            verifyEventsFromLogs(
 | 
				
			||||||
 | 
					                receipt.logs,
 | 
				
			||||||
 | 
					                [
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        ...proposal,
 | 
				
			||||||
 | 
					                        proposalId,
 | 
				
			||||||
 | 
					                        executionEpoch,
 | 
				
			||||||
 | 
					                        proposer: PROPOSER,
 | 
				
			||||||
 | 
					                        operatedPoolIds: pools,
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
 | 
					                ZrxTreasuryEvents.ProposalCreated,
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
 | 
					            await fastForwardToNextEpochAsync();
 | 
				
			||||||
 | 
					            await fastForwardToNextEpochAsync();
 | 
				
			||||||
 | 
					            await treasury
 | 
				
			||||||
 | 
					                .castVote(proposalId, true, VOTER_OPERATED_POOLS)
 | 
				
			||||||
 | 
					                .awaitTransactionSuccessAsync({ from: VOTER });
 | 
				
			||||||
 | 
					            await env.web3Wrapper.increaseTimeAsync(votingPeriod.plus(1).toNumber());
 | 
				
			||||||
 | 
					            await env.web3Wrapper.mineBlockAsync();
 | 
				
			||||||
 | 
					            const executeTx = await treasury.execute(proposalId, proposal.actions).awaitTransactionSuccessAsync();
 | 
				
			||||||
 | 
					            verifyEventsFromLogs(
 | 
				
			||||||
 | 
					                executeTx.logs,
 | 
				
			||||||
 | 
					                [
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        proposalId,
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
 | 
					                ZrxTreasuryEvents.ProposalExecuted,
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
 | 
					            const recipient = '0xab66cc8fd10457ebc9d13b9760c835f0a4cbc487';
 | 
				
			||||||
 | 
					            verifyEventsFromLogs(
 | 
				
			||||||
 | 
					                executeTx.logs,
 | 
				
			||||||
 | 
					                [
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        _from: TREASURY_ADDRESS,
 | 
				
			||||||
 | 
					                        _to: recipient,
 | 
				
			||||||
 | 
					                        _value: new BigNumber(330_813).times('1e18'),
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        _from: TREASURY_ADDRESS,
 | 
				
			||||||
 | 
					                        _to: recipient,
 | 
				
			||||||
 | 
					                        _value: new BigNumber(420000).times('1e18'),
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
 | 
					                ERC20TokenEvents.Transfer,
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user