Skip to content
Snippets Groups Projects
Select Git revision
  • 3e644842f92ff92e6d9c1a7d5778e145dea52c46
  • master default protected
  • fix_picked_up_file_in_runtime_release
  • network/gtest-1000 protected
  • upgradable-multisig
  • runtime/gtest-1000
  • network/gdev-800 protected
  • cgeek/issue-297-cpu
  • gdev-800-tests
  • update-docker-compose-rpc-squid-names
  • fix-252
  • 1000i100-test
  • hugo/tmp-0.9.1
  • network/gdev-803 protected
  • hugo/endpoint-gossip
  • network/gdev-802 protected
  • hugo/distance-precompute
  • network/gdev-900 protected
  • tuxmain/anonymous-tx
  • debug/podman
  • hugo/195-doc
  • gtest-1000-0.11.1 protected
  • gtest-1000-0.11.0 protected
  • gtest-1000 protected
  • gdev-900-0.10.1 protected
  • gdev-900-0.10.0 protected
  • gdev-900-0.9.2 protected
  • gdev-800-0.8.0 protected
  • gdev-900-0.9.1 protected
  • gdev-900-0.9.0 protected
  • gdev-803 protected
  • gdev-802 protected
  • runtime-801 protected
  • gdev-800 protected
  • runtime-800-bis protected
  • runtime-800 protected
  • runtime-800-backup protected
  • runtime-701 protected
  • runtime-700 protected
  • runtime-600 protected
  • runtime-500 protected
41 results

runtime-calls.md

Blame
    • Benjamin Gallois's avatar
      93853b2d
      Upgrade to polkadot-v1.6.0 (!229) · 93853b2d
      Benjamin Gallois authored and Hugo Trentesaux's avatar Hugo Trentesaux committed
      * check live tests
      
      * cargo check benchmarks after rebase
      
      * cargo check tests after rebase
      
      * update metadata after rebase
      
      * cargo check after rebase
      
      * cargo fmt after rebase
      
      * upgrade runtime to polkadot v1.6.0
      
      upgrade node to polkadot v1.6.0
      
      upgrade distance oracle to polkadot v1.6.0
      
      upgrade end2end tests
      
      upgrade xtask to polkadot v1.6.0
      
      update repository paths to duniter polkadot v1.6.0
      
      fix #131
      
      optimize end2end test
      
      fix review errors
      
      update subxt branch
      
      update test comment
      93853b2d
      History
      Upgrade to polkadot-v1.6.0 (!229)
      Benjamin Gallois authored and Hugo Trentesaux's avatar Hugo Trentesaux committed
      * check live tests
      
      * cargo check benchmarks after rebase
      
      * cargo check tests after rebase
      
      * update metadata after rebase
      
      * cargo check after rebase
      
      * cargo fmt after rebase
      
      * upgrade runtime to polkadot v1.6.0
      
      upgrade node to polkadot v1.6.0
      
      upgrade distance oracle to polkadot v1.6.0
      
      upgrade end2end tests
      
      upgrade xtask to polkadot v1.6.0
      
      update repository paths to duniter polkadot v1.6.0
      
      fix #131
      
      optimize end2end test
      
      fix review errors
      
      update subxt branch
      
      update test comment
    lib.rs NaN GiB
    //  Copyright (C) 2017-2019  The AXIOM TEAM Association.
    //
    // This program is free software: you can redistribute it and/or modify
    // it under the terms of the GNU Affero General Public License as
    // published by the Free Software Foundation, either version 3 of the
    // License, or (at your option) any later version.
    //
    // This program is distributed in the hope that it will be useful,
    // but WITHOUT ANY WARRANTY; without even the implied warranty of
    // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    // GNU Affero General Public License for more details.
    //
    // You should have received a copy of the GNU Affero General Public License
    // along with this program.  If not, see <https://www.gnu.org/licenses/>.
    
    //! BlockChain Datas Access Layer in Read-Only mode.
    
    #![allow(clippy::large_enum_variant, clippy::ptr_arg)]
    #![deny(
        missing_copy_implementations,
        trivial_casts,
        trivial_numeric_casts,
        unsafe_code,
        unstable_features,
        unused_import_braces,
        unused_qualifications
    )]
    
    pub mod blocks;
    pub mod constants;
    pub mod currency_params;
    pub mod current_meta_datas;
    pub mod indexes;
    pub mod paging;
    pub mod tools;
    pub mod traits;
    
    pub use durs_dbs_tools::kv_db::{
        from_db_value, KvFileDbRead as DbReadable, KvFileDbReader as Reader,
        KvFileDbRoHandler as BcDbRo, KvFileDbSchema, KvFileDbStoreType, KvFileDbValue as DbValue,
        Readable as DbReader,
    };
    pub use durs_dbs_tools::DbError;
    #[cfg(feature = "mock")]
    pub use traits::MockBcDbInReadTx_ as MockBcDbInReadTx;
    pub use traits::{BcDbInReadTx, BcDbInReadTx_, BcDbRead, BcDbWithReader};
    
    use constants::*;
    use maplit::hashmap;
    use std::path::Path;
    
    #[inline]
    /// Get BlockChain DB Schema
    pub fn bc_db_schema() -> KvFileDbSchema {
        KvFileDbSchema {
            stores: hashmap![
                CURRENT_METAS_DATAS.to_owned() => KvFileDbStoreType::SingleIntKey,
                MAIN_BLOCKS.to_owned() => KvFileDbStoreType::SingleIntKey,
                FORK_BLOCKS.to_owned() => KvFileDbStoreType::Single,
                ORPHAN_BLOCKSTAMP.to_owned() => KvFileDbStoreType::Single,
                IDENTITIES.to_owned() => KvFileDbStoreType::SingleIntKey,
                MBS_BY_CREATED_BLOCK.to_owned() => KvFileDbStoreType::MultiIntKey,
                CERTS_BY_CREATED_BLOCK.to_owned() => KvFileDbStoreType::MultiIntKey,
                WOT_ID_INDEX.to_owned() => KvFileDbStoreType::Single,
                DIVIDENDS.to_owned() => KvFileDbStoreType::Multi,
                UTXOS.to_owned() => KvFileDbStoreType::Single,
                CONSUMED_UTXOS.to_owned() => KvFileDbStoreType::SingleIntKey,
            ],
        }
    }
    
    /// Open database
    #[inline]
    pub fn open_db_ro(path: &Path) -> Result<BcDbRo, DbError> {
        BcDbRo::open_db_ro(path, &bc_db_schema())
    }
    
    pub struct BcDbWithReaderStruct<'r, 'db: 'r, DB>
    where
        DB: DbReadable,
    {
        pub db: &'db DB,
        pub r: Reader<'r>,
    }
    
    pub type BcDbRoWithReader<'r, 'db> = BcDbWithReaderStruct<'r, 'db, BcDbRo>;
    
    impl<'r, 'db: 'r, DB> BcDbWithReader for BcDbWithReaderStruct<'r, 'db, DB>
    where
        DB: DbReadable,
    {
        type DB = DB;
        type R = Reader<'r>;
    
        fn db(&self) -> &Self::DB {
            self.db
        }
        fn r(&self) -> &Self::R {
            &self.r
        }
    }
    
    #[cfg(test)]
    pub mod tests {
    
        use super::*;
        use durs_dbs_tools::kv_db::KvFileDbHandler;
        use tempfile::tempdir;
    
        #[inline]
        /// Open database in an arbitrary temporary directory given by OS
        /// and automatically cleaned when `Db` is dropped
        pub fn open_tmp_db() -> Result<KvFileDbHandler, DbError> {
            KvFileDbHandler::open_db(
                tempdir().map_err(DbError::FileSystemError)?.path(),
                &bc_db_schema(),
            )
        }
    }