private async Task <byte[]> GetFileDescriptorSetAsync(Address address) { var chain = await _blockchainService.GetChainAsync(); var chainContext = new ChainContext() { BlockHash = chain.BestChainHash, BlockHeight = chain.BestChainHeight }; return(await _transactionReadOnlyExecutionService.GetFileDescriptorSetAsync(chainContext, address)); }
public async Task GetFileDescriptorSetAsync_Test() { var chain = await _smartContractHelper.CreateChainWithGenesisContractAsync(); var chainContext = new ChainContext { BlockHash = chain.BestChainHash, BlockHeight = chain.BestChainHeight }; _transactionReadOnlyExecutionService.GetFileDescriptorSetAsync(chainContext, SampleAddress.AddressList[0]) .ShouldThrow <SmartContractFindRegistrationException>(); _smartContractExecutiveProvider.GetPool(_defaultContractZeroCodeProvider.ContractZeroAddress).Single() .ContractHash.ShouldBe(_defaultContractZeroCodeProvider.DefaultContractZeroRegistration.CodeHash); var bytes = await _transactionReadOnlyExecutionService.GetFileDescriptorSetAsync(chainContext, _defaultContractZeroCodeProvider.ContractZeroAddress); var fileDescriptorSet = FileDescriptorSet.Parser.ParseFrom(bytes); fileDescriptorSet.ShouldNotBeNull(); _smartContractExecutiveProvider.GetPool(_defaultContractZeroCodeProvider.ContractZeroAddress).Single() .ContractHash.ShouldBe(_defaultContractZeroCodeProvider.DefaultContractZeroRegistration.CodeHash); }