示例#1
0
        private void ParseAndApplyAccountStateDiff()
        {
            uint modded = _reader.ReadUint32();

            for (var i = 0; i < modded; i++)
            {
                var b = _state.Update(_reader.ReadLedgerEntry());
                if (!b)
                {
                    throw new AssertionError();
                }
            }

            uint deleted = _reader.ReadUint32();

            for (var i = 0; i < deleted; i++)
            {
                var b = _state.RemoveLeaf(_reader.ReadHash256());
                if (!b)
                {
                    throw new AssertionError();
                }
            }

            uint added = _reader.ReadUint32();

            for (var i = 0; i < added; i++)
            {
                var b = _state.Add(_reader.ReadLedgerEntry());
                if (!b)
                {
                    throw new AssertionError();
                }
            }
        }
示例#2
0
        private void ParseAccountState()
        {
            _state = new AccountState();

            while (NextFrame() == FrameType.IndexedLedgerEntry)
            {
                _state.Add(_reader.ReadLedgerEntry());
            }
        }