public void TestToParameter() { StackItem byteItem = "00e057eb481b".HexToBytes(); Assert.AreEqual(30000000000000L, (long)new BigInteger(byteItem.ToParameter().Value as byte[])); StackItem boolItem = false; Assert.AreEqual(false, (bool)boolItem.ToParameter().Value); StackItem intItem = new BigInteger(1000); Assert.AreEqual(1000, (BigInteger)intItem.ToParameter().Value); StackItem interopItem = new VM.Types.InteropInterface <string>("test"); Assert.AreEqual(null, interopItem.ToParameter().Value); StackItem arrayItem = new VM.Types.Array(new[] { byteItem, boolItem, intItem, interopItem }); Assert.AreEqual(1000, (BigInteger)(arrayItem.ToParameter().Value as List <ContractParameter>)[2].Value); StackItem mapItem = new VM.Types.Map(new Dictionary <StackItem, StackItem>(new[] { new KeyValuePair <StackItem, StackItem>(byteItem, intItem) })); Assert.AreEqual(1000, (BigInteger)(mapItem.ToParameter().Value as List <KeyValuePair <ContractParameter, ContractParameter> >)[0].Value.Value); }
private void TestToParameter2InteropInterface() { StackItem item = new VM.Types.InteropInterface <VM.Types.Boolean>(new VM.Types.Boolean(true)); ContractParameter parameter = VM.Helper.ToParameter(item); Assert.AreEqual(ContractParameterType.InteropInterface, parameter.Type); }
public bool GetTransactions(ExecutionEngine engine) { var obj = engine.EvaluationStack.Pop(); var block = ((VM.Types.InteropInterface)obj).GetInterface <Block>(); if (block == null) { return(false); } // returns Transaction[] var txs = new StackItem[block._transactions.Count]; int index = 0; foreach (var tx in block.Transactions) { txs[index] = new VM.Types.InteropInterface(tx); index++; } var array = new VM.Types.Array(txs); throw new NotImplementedException(); }
public bool GetTransactions(ExecutionEngine engine) { var obj = engine.EvaluationStack.Pop(); var block = obj.GetInterface <Block>(); if (block == null) { return(false); } // returns Transaction[] var txs = new StackItem[block.transactions.Count]; for (int i = 0; i < block.transactions.Count; i++) { var tx = block.transactions[i]; txs[i] = new VM.Types.InteropInterface(tx); } var array = new VM.Types.Array(txs); throw new NotImplementedException(); }