protected virtual async Task <APIResultCodes> AuthorizeImplAsync <T>(DagSystem sys, T tblock) where T : Block
        {
            var prevBlock = await sys.Storage.FindBlockByHashAsync(tblock.PreviousHash);

            var result = await StopWatcher.TrackAsync(() => VerifyWithPrevAsync(sys, tblock, prevBlock), "VerifyWithPrevAsync");

            return(result);
        }
示例#2
0
 public Task <List <TransactionBlock> > FindOtcTradeForOrderAsync(string orderid)
 {
     return(StopWatcher.Track(() => _store.FindOtcTradeForOrderAsync(orderid), "FindOtcTradeForOrder"));
 }
示例#3
0
 public async Task <List <NonFungibleToken> > GetNonFungibleTokensAsync(string AccountId) => await StopWatcher.Track(_store.GetNonFungibleTokensAsync(AccountId), StopWatcher.GetCurrentMethod());                         //_store.GetNonFungibleTokensAsync(AccountId);
 public async Task <SendTransferBlock> FindUnsettledSendBlockAsync(string AccountId) => await StopWatcher.Track(_store.FindUnsettledSendBlockAsync(AccountId), StopWatcher.GetCurrentMethod());                            //_store.FindUnsettledSendBlockAsync(AccountId);
示例#4
0
 public async Task <long> GetBlockCountAsync() => await StopWatcher.Track(_store.GetBlockCountAsync(), StopWatcher.GetCurrentMethod());                                                                                    //_store.GetBlockCountAsync();
 public async Task <TransactionBlock> FindBlockByIndexAsync(string AccountId, long index) => await StopWatcher.Track(_store.FindBlockByIndexAsync(AccountId, index), StopWatcher.GetCurrentMethod());                      //_store.FindBlockByIndexAsync(AccountId, index);
示例#5
0
 public async Task <TokenGenesisBlock> FindTokenGenesisBlockAsync(string Hash, string Ticker) => await StopWatcher.Track(_store.FindTokenGenesisBlockAsync(Hash, Ticker), StopWatcher.GetCurrentMethod());                 //_store.FindTokenGenesisBlockAsync(Hash, Ticker);
 public async Task <ReceiveTransferBlock> FindBlockBySourceHashAsync(string hash) => await StopWatcher.Track(_store.FindBlockBySourceHashAsync(hash), StopWatcher.GetCurrentMethod());                                     //_store.FindBlockBySourceHashAsync(hash);
示例#6
0
 public async Task <Block> FindBlockByHashAsync(string AccountId, string hash) => await StopWatcher.Track(_store.FindBlockByHashAsync(AccountId, hash), StopWatcher.GetCurrentMethod());                                   //_store.FindBlockByHashAsync(AccountId, hash);
 public async Task <List <TokenGenesisBlock> > FindTokenGenesisBlocksAsync(string keyword) => await StopWatcher.Track(_store.FindTokenGenesisBlocksAsync(keyword), StopWatcher.GetCurrentMethod());                        //_store.FindTokenGenesisBlocksAsync(keyword);
示例#7
0
 public async Task <Block> FindLatestBlockAsync(string AccountId) => await StopWatcher.Track(_store.FindLatestBlockAsync(AccountId), StopWatcher.GetCurrentMethod());                                                      //_store.FindLatestBlockAsync(AccountId);
 public async Task <NullTransactionBlock> FindNullTransBlockByHashAsync(string hash) => await StopWatcher.Track(_store.FindNullTransBlockByHashAsync(hash), StopWatcher.GetCurrentMethod());                               //_store.FindNullTransBlockByHashAsync(hash);
示例#8
0
 public async Task <bool> AccountExistsAsync(string AccountId) => await StopWatcher.Track(_store.AccountExistsAsync(AccountId), StopWatcher.GetCurrentMethod());                                                           //_store.AccountExistsAsync(AccountId);
 public async Task <Block> FindLatestBlockAsync() => await StopWatcher.Track(_store.FindLatestBlockAsync(), StopWatcher.GetCurrentMethod());                                                                               //_store.FindLatestBlockAsync();
示例#9
0
 public Task <bool> DoesAccountHaveCollectibleNFTInstanceAsync(string owner_account_id, TokenGenesisBlock token_block, string serial_number)
 {
     return(StopWatcher.TrackAsync(() => _store.DoesAccountHaveCollectibleNFTInstanceAsync(owner_account_id, token_block, serial_number), StopWatcher.GetCurrentMethod()));
 }
示例#10
0
 public Task <List <NonFungibleToken> > GetIssuedNFTInstancesAsync(bool GetOnlySendBlocks, string AccountId, string TokenCode)
 {
     return(StopWatcher.TrackAsync(() => _store.GetIssuedNFTInstancesAsync(GetOnlySendBlocks, AccountId, TokenCode), StopWatcher.GetCurrentMethod()));
 }
示例#11
0
 public Block FindBlockByHash(string hash)
 {
     return(StopWatcher.Track(() => _store.FindBlockByHash(hash), "FindBlockByHash"));
 }
示例#12
0
 public TransactionBlock FindFirstBlock(string AccountId)
 {
     return(StopWatcher.Track(() => _store.FindFirstBlock(AccountId), "FindFirstBlock"));
 }
示例#13
0
 public Task <Block> FindFirstBlockAsync(string AccountId)
 {
     return(StopWatcher.TrackAsync(() => _store.FindFirstBlockAsync(AccountId), StopWatcher.GetCurrentMethod()));
 }
示例#14
0
 public Task <long> GetBlockCountAsync(string AccountId)
 {
     return(StopWatcher.TrackAsync(() => _store.GetBlockCountAsync(AccountId), StopWatcher.GetCurrentMethod()));
 }
示例#15
0
 public async Task <Block> FindLatestBlockAsync(string AccountId) => await StopWatcher.TrackAsync(() => _store.FindLatestBlockAsync(AccountId), StopWatcher.GetCurrentMethod());                                                      //_store.FindLatestBlockAsync(AccountId);
 public async Task <Block> FindBlockByHashAsync(string hash) => await StopWatcher.TrackAsync(() => _store.FindBlockByHashAsync(hash), StopWatcher.GetCurrentMethod());                                                                //_store.FindBlockByHashAsync(hash);
示例#16
0
        internal async Task <ServiceBlock> GetLastServiceBlockAsync() => await StopWatcher.Track(_store.GetLastServiceBlockAsync(), StopWatcher.GetCurrentMethod());                   //_store.GetLastServiceBlockAsync();

        // forward api. should have more control here.
        public async Task <bool> AddBlockAsync(Block block) => await StopWatcher.Track(AddBlockImplAsync(block), StopWatcher.GetCurrentMethod());
示例#17
0
        //public async Task AddBlockAsync(ServiceBlock serviceBlock) => await StopWatcher.Track(_store.AddBlockAsync(serviceBlock), StopWatcher.GetCurrentMethod());//_store.AddBlockAsync(serviceBlock);

        // bellow readonly access
        public async Task <bool> AccountExistsAsync(string AccountId) => await StopWatcher.Track(_store.AccountExistsAsync(AccountId), StopWatcher.GetCurrentMethod());                                                           //_store.AccountExistsAsync(AccountId);
示例#18
0
 public Task <List <TransactionDescription> > SearchTransactionsAsync(string accountId, DateTime startTime, DateTime endTime, int count)
 {
     return(StopWatcher.TrackAsync(() => _store.SearchTransactionsAsync(accountId, startTime, endTime, count), StopWatcher.GetCurrentMethod()));
 }
示例#19
0
 public async Task <Block> FindLatestBlockAsync() => await StopWatcher.Track(_store.FindLatestBlockAsync(), StopWatcher.GetCurrentMethod());                                                                               //_store.FindLatestBlockAsync();
 public async Task <Block> FindLatestBlockAsync(string AccountId) => await StopWatcher.Track(_store.FindLatestBlockAsync(AccountId), StopWatcher.GetCurrentMethod());                                                      //_store.FindLatestBlockAsync(AccountId);
示例#20
0
 public Task <ServiceBlock> FindServiceBlockByIndexAsync(long index)
 {
     return(StopWatcher.TrackAsync(() => _store.FindServiceBlockByIndexAsync(index), StopWatcher.GetCurrentMethod()));
 }
示例#21
0
 public async Task <Block> FindBlockByHashAsync(string hash) => await StopWatcher.Track(_store.FindBlockByHashAsync(hash), StopWatcher.GetCurrentMethod());                                                                //_store.FindBlockByHashAsync(hash);
 public async Task <Block> FindBlockByHashAsync(string AccountId, string hash) => await StopWatcher.Track(_store.FindBlockByHashAsync(AccountId, hash), StopWatcher.GetCurrentMethod());                                   //_store.FindBlockByHashAsync(AccountId, hash);
示例#22
0
 public Task <SendTransferBlock> FindUnsettledSendBlockByDestinationAccountIdAsync(string AccountId)
 {
     return(StopWatcher.TrackAsync(() => _store.FindUnsettledSendBlockByDestinationAccountIdAsync(AccountId), StopWatcher.GetCurrentMethod()));
 }
示例#23
0
 public async Task <List <TokenGenesisBlock> > FindTokenGenesisBlocksAsync(string keyword) => await StopWatcher.Track(_store.FindTokenGenesisBlocksAsync(keyword), StopWatcher.GetCurrentMethod());                        //_store.FindTokenGenesisBlocksAsync(keyword);
 public async Task <TokenGenesisBlock> FindTokenGenesisBlockAsync(string Hash, string Ticker) => await StopWatcher.Track(_store.FindTokenGenesisBlockAsync(Hash, Ticker), StopWatcher.GetCurrentMethod());                 //_store.FindTokenGenesisBlockAsync(Hash, Ticker);
示例#24
0
 public async Task <IEnumerable <string> > GetAllUnConsolidatedBlocksAsync() => await StopWatcher.Track(_store.GetAllUnConsolidatedBlocks(), StopWatcher.GetCurrentMethod());
示例#25
0
 public async Task <ReceiveTransferBlock> FindBlockBySourceHashAsync(string hash) => await StopWatcher.Track(_store.FindBlockBySourceHashAsync(hash), StopWatcher.GetCurrentMethod());                                     //_store.FindBlockBySourceHashAsync(hash);
 public async Task <long> GetBlockCountAsync() => await StopWatcher.Track(_store.GetBlockCountAsync(), StopWatcher.GetCurrentMethod());                                                                                    //_store.GetBlockCountAsync();
示例#26
0
 internal async Task <ConsolidationBlock> GetLastConsolidationBlockAsync() => await StopWatcher.Track(_store.GetLastConsolidationBlockAsync(), StopWatcher.GetCurrentMethod()); //_store.GetSyncBlockAsync();
示例#27
0
 public async Task <TransactionBlock> FindBlockByIndexAsync(string AccountId, long index) => await StopWatcher.Track(_store.FindBlockByIndexAsync(AccountId, index), StopWatcher.GetCurrentMethod());                      //_store.FindBlockByIndexAsync(AccountId, index);
 public async Task <List <NonFungibleToken> > GetNonFungibleTokensAsync(string AccountId) => await StopWatcher.Track(_store.GetNonFungibleTokensAsync(AccountId), StopWatcher.GetCurrentMethod());                         //_store.GetNonFungibleTokensAsync(AccountId);
示例#28
0
 internal async Task <ConsolidationBlock> GetLastConsolidationBlockAsync() => await StopWatcher.Track(_store.GetLastConsolidationBlockAsync(), StopWatcher.GetCurrentMethod()); //_store.GetSyncBlockAsync();
 public async Task <List <ConsolidationBlock> > GetConsolidationBlocksAsync(long startHeight) => await StopWatcher.Track(_store.GetConsolidationBlocksAsync(startHeight), StopWatcher.GetCurrentMethod());
示例#29
0
 public async Task <SendTransferBlock> FindUnsettledSendBlockAsync(string AccountId) => await StopWatcher.Track(_store.FindUnsettledSendBlockAsync(AccountId), StopWatcher.GetCurrentMethod());                            //_store.FindUnsettledSendBlockAsync(AccountId);
 public async Task <TransactionBlock> FindBlockByPreviousBlockHashAsync(string previousBlockHash) => await StopWatcher.Track(_store.FindBlockByPreviousBlockHashAsync(previousBlockHash), StopWatcher.GetCurrentMethod()); //_store.FindBlockByPreviousBlockHashAsync(previousBlockHash);
示例#30
0
 internal async Task <ServiceBlock> GetLastServiceBlockAsync() => await StopWatcher.Track(_store.GetLastServiceBlockAsync(), StopWatcher.GetCurrentMethod());                   //_store.GetLastServiceBlockAsync();