mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-13 10:31:04 +00:00
Update srml-contract to Rust 2018. (#1510)
* Fix imports. * Remove redundant binding * Clean extern crates. * Add comment * Re-export macros from prelude * Build fixes * Update core/sr-std/src/lib.rs Co-Authored-By: pepyakin <s.pepyakin@gmail.com>
This commit is contained in:
@@ -52,41 +52,14 @@
|
||||
|
||||
#![cfg_attr(not(feature = "std"), no_std)]
|
||||
|
||||
// We need these `extern crate` to be placed here otherwise there will be errors.
|
||||
// TODO: https://github.com/paritytech/substrate/issues/1509
|
||||
#[macro_use]
|
||||
extern crate parity_codec_derive;
|
||||
|
||||
extern crate parity_wasm;
|
||||
extern crate pwasm_utils;
|
||||
|
||||
extern crate parity_codec as codec;
|
||||
extern crate sr_io as runtime_io;
|
||||
extern crate sr_sandbox as sandbox;
|
||||
|
||||
#[cfg_attr(not(feature = "std"), macro_use)]
|
||||
extern crate sr_std as rstd;
|
||||
|
||||
extern crate srml_balances as balances;
|
||||
extern crate srml_system as system;
|
||||
|
||||
#[macro_use]
|
||||
extern crate srml_support as runtime_support;
|
||||
|
||||
extern crate sr_primitives as runtime_primitives;
|
||||
|
||||
#[cfg(test)]
|
||||
extern crate substrate_primitives;
|
||||
|
||||
#[cfg(test)]
|
||||
#[macro_use]
|
||||
extern crate assert_matches;
|
||||
|
||||
#[cfg(test)]
|
||||
extern crate wabt;
|
||||
|
||||
#[cfg(test)]
|
||||
#[macro_use]
|
||||
extern crate hex_literal;
|
||||
|
||||
#[macro_use]
|
||||
mod gas;
|
||||
|
||||
@@ -97,8 +70,8 @@ mod wasm;
|
||||
#[cfg(test)]
|
||||
mod tests;
|
||||
|
||||
use exec::ExecutionContext;
|
||||
use account_db::AccountDb;
|
||||
use crate::exec::ExecutionContext;
|
||||
use crate::account_db::AccountDb;
|
||||
|
||||
use rstd::prelude::*;
|
||||
use rstd::marker::PhantomData;
|
||||
@@ -234,8 +207,8 @@ decl_module! {
|
||||
let mut gas_meter = gas::buy_gas::<T>(&origin, gas_limit)?;
|
||||
|
||||
let cfg = Config::preload();
|
||||
let vm = ::wasm::WasmVm::new(&cfg.schedule);
|
||||
let loader = ::wasm::WasmLoader::new(&cfg.schedule);
|
||||
let vm = crate::wasm::WasmVm::new(&cfg.schedule);
|
||||
let loader = crate::wasm::WasmLoader::new(&cfg.schedule);
|
||||
let mut ctx = ExecutionContext::top_level(origin.clone(), &cfg, &vm, &loader);
|
||||
|
||||
let result = ctx.call(dest, value, &mut gas_meter, &data, exec::EmptyOutputBuf::new());
|
||||
@@ -288,8 +261,8 @@ decl_module! {
|
||||
let mut gas_meter = gas::buy_gas::<T>(&origin, gas_limit)?;
|
||||
|
||||
let cfg = Config::preload();
|
||||
let vm = ::wasm::WasmVm::new(&cfg.schedule);
|
||||
let loader = ::wasm::WasmLoader::new(&cfg.schedule);
|
||||
let vm = crate::wasm::WasmVm::new(&cfg.schedule);
|
||||
let loader = crate::wasm::WasmLoader::new(&cfg.schedule);
|
||||
let mut ctx = ExecutionContext::top_level(origin.clone(), &cfg, &vm, &loader);
|
||||
let result = ctx.instantiate(endowment, &mut gas_meter, &code_hash, &data);
|
||||
|
||||
@@ -380,7 +353,7 @@ decl_storage! {
|
||||
/// The storage items associated with an account/key.
|
||||
///
|
||||
/// TODO: keys should also be able to take AsRef<KeyType> to ensure Vec<u8>s can be passed as &[u8]
|
||||
pub(crate) struct StorageOf<T>(::rstd::marker::PhantomData<T>);
|
||||
pub(crate) struct StorageOf<T>(rstd::marker::PhantomData<T>);
|
||||
impl<T: Trait> StorageDoubleMap for StorageOf<T> {
|
||||
const PREFIX: &'static [u8] = b"con:sto:";
|
||||
type Key1 = T::AccountId;
|
||||
|
||||
Reference in New Issue
Block a user