Example #1
0
        public void TestTotalSupplyDecimal()
        {
            var snapshot = Blockchain.Singleton.GetSnapshot();

            TestNep5Token test        = new TestNep5Token();
            BigInteger    totalSupply = 100_000_000;

            totalSupply *= test.Factor;

            StorageItem item = new StorageItem
            {
                Value = totalSupply.ToByteArrayStandard()
            };
            var key = CreateStorageKey(Prefix_TotalSupply);

            var ServiceHash = "test".ToInteropMethodHash();

            byte[] script = null;
            using (ScriptBuilder sb = new ScriptBuilder())
            {
                sb.EmitSysCall(ServiceHash);
                script = sb.ToArray();
            }
            var Hash = script.ToScriptHash();

            key.ScriptHash = Hash;

            snapshot.Storages.Add(key, item);

            ApplicationEngine ae        = new ApplicationEngine(TriggerType.Application, null, snapshot, 0);
            StackItem         stackItem = test.TotalSupply(ae, null);

            stackItem.GetBigInteger().Should().Be(10_000_000_000_000_000);
        }
Example #2
0
        public void TestTotalSupply()
        {
            var         mockSnapshot = new Mock <Snapshot>();
            var         myDataCache  = new TestDataCache <StorageKey, StorageItem>();
            StorageItem item         = new StorageItem
            {
                Value = new byte[] { 0x01 }
            };
            var key = CreateStorageKey(Prefix_TotalSupply);

            var ServiceHash = "test".ToInteropMethodHash();

            byte[] script = null;
            using (ScriptBuilder sb = new ScriptBuilder())
            {
                sb.EmitSysCall(ServiceHash);
                script = sb.ToArray();
            }
            var Hash = script.ToScriptHash();

            key.ScriptHash = Hash;

            myDataCache.Add(key, item);
            mockSnapshot.SetupGet(p => p.Storages).Returns(myDataCache);
            TestNep5Token     test      = new TestNep5Token();
            ApplicationEngine ae        = new ApplicationEngine(TriggerType.Application, null, mockSnapshot.Object, 0);
            StackItem         stackItem = test.TotalSupply(ae, null);

            stackItem.GetBigInteger().Should().Be(1);
        }