protected void InitializeContracts() { //get basic stub BasicContractStub = GetContractZeroTester(DefaultSenderKeyPair); //deploy parliamentAuth contract ParliamentAuthContractAddress = AsyncHelper.RunSync(() => DeploySystemSmartContract( KernelConstants.CodeCoverageRunnerCategory, ParliamentAuthCode, ParliamentAuthSmartContractAddressNameProvider.Name, DefaultSenderKeyPair )); ParliamentAuthContractStub = GetParliamentAuthContractTester(DefaultSenderKeyPair); //deploy token contract TokenContractAddress = AsyncHelper.RunSync(() => DeploySystemSmartContract( KernelConstants.CodeCoverageRunnerCategory, TokenContractCoe, TokenSmartContractAddressNameProvider.Name, DefaultSenderKeyPair)); TokenContractStub = GetTokenContractTester(DefaultSenderKeyPair); AsyncHelper.RunSync(async() => await InitializeTokenAsync()); ConsensusContractAddress = AsyncHelper.RunSync(() => DeploySystemSmartContract( KernelConstants.CodeCoverageRunnerCategory, DPoSConsensusCode, ConsensusSmartContractAddressNameProvider.Name, DefaultSenderKeyPair)); ConsensusContractStub = GetConsensusContractTester(DefaultSenderKeyPair); AsyncHelper.RunSync(async() => await InitializeConsensusAsync()); }
protected void InitializeContracts() { BasicContractZeroStub = GetContractZeroTester(DefaultSenderKeyPair); //deploy parliamentAuth contract ParliamentAuthContractAddress = AsyncHelper.RunSync(() => BasicContractZeroStub.DeploySystemSmartContract.SendAsync( new SystemContractDeploymentInput { Category = KernelConstants.CodeCoverageRunnerCategory, Code = ByteString.CopyFrom(File.ReadAllBytes(typeof(ParliamentAuthContract).Assembly.Location)), Name = Hash.FromString("AElf.ContractNames.ParliamentAuth"), TransactionMethodCallList = GenerateParliamentAuthInitializationCallList() })).Output; ParliamentAuthContractStub = GetParliamentAuthContractTester(DefaultSenderKeyPair); var otherParliamentAuthContractAddress = AsyncHelper.RunSync(() => BasicContractZeroStub.DeploySmartContract.SendAsync( new ContractDeploymentInput { Category = KernelConstants.CodeCoverageRunnerCategory, Code = ByteString.CopyFrom(File.ReadAllBytes(typeof(ParliamentAuthContract).Assembly.Location)), })).Output; OtherParliamentAuthContractStub = GetTester <ParliamentAuthContractContainer.ParliamentAuthContractStub>(otherParliamentAuthContractAddress, DefaultSenderKeyPair); //deploy token contract TokenContractAddress = AsyncHelper.RunSync(() => BasicContractZeroStub.DeploySystemSmartContract.SendAsync( new SystemContractDeploymentInput { Category = KernelConstants.CodeCoverageRunnerCategory, Code = ByteString.CopyFrom(File.ReadAllBytes(typeof(TokenContract).Assembly.Location)), Name = TokenSmartContractAddressNameProvider.Name, TransactionMethodCallList = GenerateTokenInitializationCallList() })).Output; TokenContractStub = GetTokenContractTester(DefaultSenderKeyPair); ConsensusContractAddress = AsyncHelper.RunSync(() => GetContractZeroTester(DefaultSenderKeyPair) .DeploySystemSmartContract.SendAsync(new SystemContractDeploymentInput { Category = KernelConstants.CodeCoverageRunnerCategory, Code = ByteString.CopyFrom(File.ReadAllBytes(typeof(ConsensusContract).Assembly.Location)), Name = ConsensusSmartContractAddressNameProvider.Name, TransactionMethodCallList = GenerateConsensusInitializationCallList() })).Output; ConsensusContractStub = GetConsensusContractTester(DefaultSenderKeyPair); }
private async Task DeployContractsAsync() { var category = KernelConstants.CodeCoverageRunnerCategory; var code = Codes.Single(kv => kv.Key.Split(",").First().EndsWith("Configuration")).Value; OptionalLogEventListeningService <IBlockAcceptedLogEventHandler> .Enabled = true; ConfigurationContractAddress = await DeploySystemSmartContract(category, code, ConfigurationSmartContractAddressNameProvider.Name, DefaultSenderKeyPair); _configurationStub = GetTester <ConfigurationContainer.ConfigurationStub>(ConfigurationContractAddress, DefaultSenderKeyPair); var consensusContractCode = Codes.Single(kv => kv.Key.Split(",").First().EndsWith("Consensus.AEDPoS")).Value; var consensusContractAddress = await DeploySystemSmartContract(category, consensusContractCode, ConsensusSmartContractAddressNameProvider.Name, DefaultSenderKeyPair); var consensusStub = GetTester <AEDPoSContractImplContainer.AEDPoSContractImplStub>(consensusContractAddress, DefaultSenderKeyPair); await consensusStub.FirstRound.SendAsync( new MinerList { Pubkeys = { ByteString.CopyFrom(DefaultSenderKeyPair.PublicKey) } }.GenerateFirstRoundOfNewTerm(4000, TimestampHelper.GetUtcNow()) ); var parliamentAuthContractCode = Codes.Single(kv => kv.Key.Split(",").First().EndsWith("ParliamentAuth")).Value; var parliamentAuthContractAddress = await DeploySystemSmartContract(category, parliamentAuthContractCode, ParliamentAuthSmartContractAddressNameProvider.Name, DefaultSenderKeyPair); _parliamentAuthStub = GetTester <ParliamentAuthContractContainer.ParliamentAuthContractStub>(parliamentAuthContractAddress, DefaultSenderKeyPair); await _parliamentAuthStub.Initialize.SendAsync(new InitializeInput { GenesisOwnerReleaseThreshold = 1, ProposerAuthorityRequired = true, PrivilegedProposer = Address.FromPublicKey(DefaultSenderKeyPair.PublicKey) }); var chain = await _blockchainService.GetChainAsync(); await _blockchainService.SetIrreversibleBlockAsync(chain, chain.BestChainHeight, chain.BestChainHash); }
protected void InitializeContracts() { BasicContractZeroStub = GetContractZeroTester(DefaultSenderKeyPair); //deploy vote contract VoteContractAddress = AsyncHelper.RunSync(() => BasicContractZeroStub.DeploySystemSmartContract.SendAsync( new SystemContractDeploymentInput { Category = KernelConstants.CodeCoverageRunnerCategory, Code = ByteString.CopyFrom(File.ReadAllBytes(typeof(VoteContract).Assembly.Location)), Name = VoteSmartContractAddressNameProvider.Name, TransactionMethodCallList = GenerateVoteInitializationCallList() })).Output; VoteContractStub = GetVoteContractTester(DefaultSenderKeyPair); //deploy token contract TokenContractAddress = AsyncHelper.RunSync(() => BasicContractZeroStub.DeploySystemSmartContract.SendAsync( new SystemContractDeploymentInput { Category = KernelConstants.CodeCoverageRunnerCategory, Code = ByteString.CopyFrom(File.ReadAllBytes(typeof(TokenContract).Assembly.Location)), Name = TokenSmartContractAddressNameProvider.Name, TransactionMethodCallList = GenerateTokenInitializationCallList() })).Output; TokenContractStub = GetTokenContractTester(DefaultSenderKeyPair); //deploy parliament auth contract ParliamentAuthContractAddress = AsyncHelper.RunSync(() => BasicContractZeroStub.DeploySystemSmartContract.SendAsync( new SystemContractDeploymentInput { Category = KernelConstants.CodeCoverageRunnerCategory, Code = ByteString.CopyFrom(File.ReadAllBytes(typeof(ParliamentAuthContract).Assembly.Location)), Name = ParliamentAuthSmartContractAddressNameProvider.Name, TransactionMethodCallList = GenerateParliamentInitializationCallList() })).Output; ParliamentAuthContractStub = GetParliamentAuthContractTester(DefaultSenderKeyPair); }