public ObserverTests() { var context = new ContractExecutorTestContext(); this.network = context.Network; this.TestAddress = "0x0000000000000000000000000000000000000001".HexToAddress(); this.repository = context.State; this.moduleReader = new ContractModuleDefinitionReader(); this.assemblyLoader = new ContractAssemblyLoader(); this.gasMeter = new GasMeter((Gas)5000000); var block = new TestBlock { Coinbase = this.TestAddress, Number = 1 }; var message = new TestMessage { ContractAddress = this.TestAddress, GasLimit = (Gas)GasLimit, Sender = this.TestAddress, Value = Value }; var getBalance = new Func <ulong>(() => Balance); var persistentState = new TestPersistentState(); var network = new SmartContractsRegTest(); var serializer = new ContractPrimitiveSerializer(network); this.state = new SmartContractState( new Stratis.SmartContracts.Block(1, this.TestAddress), new Message(this.TestAddress, this.TestAddress, 0), new PersistentState(new MeteredPersistenceStrategy(this.repository, this.gasMeter, new BasicKeyEncodingStrategy()), context.Serializer, this.TestAddress.ToUint160()), context.Serializer, this.gasMeter, new ContractLogHolder(), Mock.Of <IInternalTransactionExecutor>(), new InternalHashHelper(), () => 1000); this.rewriter = new ObserverRewriter(new Observer(this.gasMeter, ReflectionVirtualMachine.MemoryUnitLimit)); }
public ReflectionVirtualMachineTests() { // Take what's needed for these tests this.context = new ContractExecutorTestContext(); this.network = this.context.Network; this.TestAddress = "0x0000000000000000000000000000000000000001".HexToAddress(); this.vm = this.context.Vm; this.state = this.context.State; this.contractState = new SmartContractState( new Block(1, this.TestAddress), new Message(this.TestAddress, this.TestAddress, 0), new PersistentState( new TestPersistenceStrategy(this.state), this.context.Serializer, this.TestAddress.ToUint160()), this.context.Serializer, new ContractLogHolder(), Mock.Of <IInternalTransactionExecutor>(), new InternalHashHelper(), () => 1000); this.gasMeter = new GasMeter((RuntimeObserver.Gas) 50_000); }