Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable std #530

Open
wants to merge 7 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 0 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -63,15 +63,13 @@ target/wasm32-unknown-unknown/release/aurora_engine.wasm: Cargo.toml Cargo.lock
--release \
--verbose \
-p aurora-engine \
--no-default-features \
--features=$(FEATURES)$(ADDITIONAL_FEATURES) \
-Z avoid-dev-deps

target/wasm32-unknown-unknown/debug/aurora_engine.wasm: Cargo.toml Cargo.lock $(wildcard engine/*.rs) etc/eth-contracts/res/EvmErc20.bin
$(CARGO) build \
--target wasm32-unknown-unknown \
-p aurora-engine \
--no-default-features \
--features=$(FEATURES)$(ADDITIONAL_FEATURES) \
-Z avoid-dev-deps

Expand Down
19 changes: 9 additions & 10 deletions engine-precompiles/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,29 +13,28 @@ publish = false
autobenches = false

[dependencies]
aurora-engine-types = { path = "../engine-types", default-features = false }
aurora-engine-sdk = { path = "../engine-sdk", default-features = false }
base64 = { version = "0.13.0", default-features = false, features = ["alloc"] }
borsh = { version = "0.8.2", default-features = false }
aurora-engine-types = { path = "../engine-types" }
aurora-engine-sdk = { path = "../engine-sdk" }
base64 = "0.13.0"
borsh = "0.8.2"
bn = { package = "aurora-bn", git = "https://github.com/aurora-is-near/aurora-bn.git", default-features = false }
evm = { git = "https://github.com/aurora-is-near/sputnikvm.git", rev = "37448b6cacd98b06282cff5a559684505c29bd2b", default-features = false }
evm-core = { git = "https://github.com/aurora-is-near/sputnikvm.git", rev = "37448b6cacd98b06282cff5a559684505c29bd2b", default-features = false }
libsecp256k1 = { version = "0.7.0", default-features = false, features = ["static-context", "hmac"] }
num = { version = "0.4.0", default-features = false, features = ["alloc"] }
num = "0.4.0"
primitive-types = { version = "0.10.0", default-features = false, features = ["rlp"] }
ripemd160 = { version = "0.9.1", default-features = false }
sha2 = { version = "0.9.3", default-features = false }
sha3 = { version = "0.9.1", default-features = false }
ripemd160 = "0.9.1"
sha2 = "0.9.3"
sha3 = "0.9.1"
ethabi = { git = "https://github.com/darwinia-network/ethabi", branch = "xavier-no-std", default-features = false }
hex = { version = "0.4", default-features = false, features = ["alloc"] }
hex = "0.4"

[dev-dependencies]
serde = { version = "1", features = ["derive"] }
serde_json = "1"
rand = "0.7.3"

[features]
std = ["aurora-engine-types/std", "aurora-engine-sdk/std", "borsh/std", "bn/std", "evm/std", "evm-core/std", "libsecp256k1/std", "ripemd160/std", "sha2/std", "sha3/std", "ethabi/std"]
contract = []
log = []
error_refund = []
2 changes: 0 additions & 2 deletions engine-precompiles/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
#![allow(dead_code)]
#![cfg_attr(not(feature = "std"), no_std)]
#![cfg_attr(not(feature = "std"), feature(alloc_error_handler))]

pub mod account_ids;
pub mod blake2;
Expand Down
9 changes: 4 additions & 5 deletions engine-sdk/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,12 @@ publish = false
autobenches = false

[dependencies]
aurora-engine-types = { path = "../engine-types", default-features = false }
borsh = { version = "0.8.2", default-features = false }
sha3 = { version = "0.9.1", default-features = false }
sha2 = { version = "0.9.3", default-features = false }
aurora-engine-types = { path = "../engine-types" }
borsh = "0.8.2"
sha3 = "0.9.1"
sha2 = "0.9.3"

[features]
std = ["aurora-engine-types/std"]
contract = []
log = []
mainnet = []
Expand Down
3 changes: 0 additions & 3 deletions engine-sdk/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
#![cfg_attr(not(feature = "std"), no_std)]
#![cfg_attr(not(feature = "std"), feature(alloc_error_handler))]

#[cfg(feature = "contract")]
use crate::prelude::Address;
use crate::prelude::{H256, STORAGE_PRICE_PER_BYTE};
Expand Down
10 changes: 5 additions & 5 deletions engine-standalone-storage/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ autobenches = false
crate-type = ["lib"]

[dependencies]
aurora-engine = { path = "../engine", default-features = false, features = ["std"] }
aurora-engine-types = { path = "../engine-types", default-features = false, features = ["std"] }
aurora-engine-sdk = { path = "../engine-sdk", default-features = false, features = ["std"] }
aurora-engine-transactions = { path = "../engine-transactions", default-features = false, features = ["std"] }
borsh = { version = "0.8.2" }
aurora-engine = { path = "../engine" }
aurora-engine-types = { path = "../engine-types" }
aurora-engine-sdk = { path = "../engine-sdk" }
aurora-engine-transactions = { path = "../engine-transactions" }
borsh = "0.8.2"
evm-core = { git = "https://github.com/aurora-is-near/sputnikvm.git", rev = "37448b6cacd98b06282cff5a559684505c29bd2b", default-features = false }
rocksdb = { version = "0.18.0", default-features = false }
postgres = "0.19.2"
Expand Down
7 changes: 3 additions & 4 deletions engine-standalone-tracing/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,16 @@ autobenches = false
crate-type = ["lib"]

[dependencies]
aurora-engine = { path = "../engine", default-features = false, features = ["std"] }
aurora-engine-types = { path = "../engine-types", default-features = false, features = ["std"] }
aurora-engine-sdk = { path = "../engine-sdk", default-features = false, features = ["std"] }
aurora-engine = { path = "../engine" }
aurora-engine-types = { path = "../engine-types" }
aurora-engine-sdk = { path = "../engine-sdk" }
evm-core = { git = "https://github.com/aurora-is-near/sputnikvm.git", rev = "37448b6cacd98b06282cff5a559684505c29bd2b", default-features = false, features = ["std"] }
evm = { git = "https://github.com/aurora-is-near/sputnikvm.git", rev = "37448b6cacd98b06282cff5a559684505c29bd2b", default-features = false, features = ["std", "tracing"] }
evm-runtime = { git = "https://github.com/aurora-is-near/sputnikvm.git", rev = "37448b6cacd98b06282cff5a559684505c29bd2b", default-features = false, features = ["std", "tracing"] }
evm-gasometer = { git = "https://github.com/aurora-is-near/sputnikvm.git", rev = "37448b6cacd98b06282cff5a559684505c29bd2b", default-features = false, features = ["std", "tracing"] }
serde = { version = "1", features = ["derive"], optional = true }

[features]
default = []
mainnet = []
testnet = []
impl-serde = ["aurora-engine-types/impl-serde", "serde"]
18 changes: 9 additions & 9 deletions engine-tests/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,19 @@ publish = false
autobenches = false

[dependencies]
aurora-engine = { path = "../engine", default-features = false, features = ["std", "tracing"] }
aurora-engine-types = { path = "../engine-types", default-features = false, features = ["std"] }
aurora-engine-sdk = { path = "../engine-sdk", default-features = false, features = ["std"] }
aurora-engine-precompiles = { path = "../engine-precompiles", default-features = false, features = ["std"] }
aurora-engine-transactions = { path = "../engine-transactions", default-features = false, features = ["std"] }
aurora-engine = { path = "../engine", features = ["tracing"] }
aurora-engine-types = { path = "../engine-types" }
aurora-engine-sdk = { path = "../engine-sdk" }
aurora-engine-precompiles = { path = "../engine-precompiles" }
aurora-engine-transactions = { path = "../engine-transactions" }
engine-standalone-storage = { path = "../engine-standalone-storage" }
engine-standalone-tracing = { path = "../engine-standalone-tracing" }
borsh = { version = "0.8.2", default-features = false }
sha3 = { version = "0.9.1", default-features = false }
borsh = "0.8.2"
sha3 = "0.9.1"
evm = { git = "https://github.com/aurora-is-near/sputnikvm.git", rev = "37448b6cacd98b06282cff5a559684505c29bd2b", default-features = false, features = ["std", "tracing"] }
evm-runtime = { git = "https://github.com/aurora-is-near/sputnikvm.git", rev = "37448b6cacd98b06282cff5a559684505c29bd2b", default-features = false, features = ["std", "tracing"] }
evm-gasometer = { git = "https://github.com/aurora-is-near/sputnikvm.git", rev = "37448b6cacd98b06282cff5a559684505c29bd2b", default-features = false, features = ["std", "tracing"] }
rlp = { version = "0.5.0", default-features = false }
rlp = "0.5.0"

[dev-dependencies]
base64 = "0.13.0"
Expand All @@ -34,7 +34,7 @@ byte-slice-cast = { version = "1.0", default-features = false }
ethabi = { git = "https://github.com/darwinia-network/ethabi", branch = "xavier-no-std" }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
hex = { version = "0.4.3", default-features = false }
hex = "0.4"
near-sdk = { git = "https://github.com/aurora-is-near/near-sdk-rs.git", rev = "ba2eddbfbf4484ac3e44b4c8119bbac4907d6e07" }
near-sdk-sim = { git = "https://github.com/aurora-is-near/near-sdk-rs.git", rev = "ba2eddbfbf4484ac3e44b4c8119bbac4907d6e07" }
near-crypto = { git = "https://github.com/birchmd/nearcore.git", rev = "980bc48dc02878fea1e0dbc5812ae7de49f12dda" }
Expand Down
2 changes: 1 addition & 1 deletion engine-tests/src/tests/one_inch.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ fn test_1inch_liquidity_protocol() {

let (result, profile, deployer_address) = helper.create_mooniswap_deployer();
assert!(result.gas_used >= 5_100_000); // more than 5.1M EVM gas used
assert_gas_bound(profile.all_gas(), 10); // less than 10 NEAR Tgas used
assert_gas_bound(profile.all_gas(), 10); // less than 11git NEAR Tgas used

let (result, profile, pool_factory) = helper.create_pool_factory(&deployer_address);
assert!(result.gas_used >= 2_800_000); // more than 2.8M EVM gas used
Expand Down
11 changes: 5 additions & 6 deletions engine-transactions/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,13 @@ publish = false
autobenches = false

[dependencies]
aurora-engine-types = { path = "../engine-types", default-features = false }
aurora-engine-sdk = { path = "../engine-sdk", default-features = false }
aurora-engine-precompiles = { path = "../engine-precompiles", default-features = false }
aurora-engine-types = { path = "../engine-types" }
aurora-engine-sdk = { path = "../engine-sdk" }
aurora-engine-precompiles = { path = "../engine-precompiles" }
evm = { git = "https://github.com/aurora-is-near/sputnikvm.git", rev = "37448b6cacd98b06282cff5a559684505c29bd2b", default-features = false }
rlp = { version = "0.5.0", default-features = false }
hex = { version = "0.4", default-features = false, features = ["alloc"] }
rlp = "0.5.0"
hex = "0.4"
serde = { version = "1", features = ["derive"], optional = true }

[features]
std = ["aurora-engine-types/std", "aurora-engine-precompiles/std", "evm/std", "rlp/std", "hex/std"]
impl-serde = ["aurora-engine-types/impl-serde", "serde"]
3 changes: 0 additions & 3 deletions engine-transactions/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
#![cfg_attr(not(feature = "std"), no_std)]
#![cfg_attr(not(feature = "std"), feature(alloc_error_handler))]

use aurora_engine_types::types::{Address, Wei};
use aurora_engine_types::{vec, Vec, H160, U256};
use eip_2930::AccessTuple;
Expand Down
8 changes: 3 additions & 5 deletions engine-types/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ publish = false
autobenches = false

[dependencies]
borsh = { version = "0.8.2", default-features = false }
borsh = "0.8.2"
ethabi = { git = "https://github.com/darwinia-network/ethabi", branch = "xavier-no-std", default-features = false }
hex = { version = "0.4", default-features = false, features = ["alloc"] }
hex = "0.4"
primitive-types = { version = "0.10.0", default-features = false, features = ["rlp"] }
sha3 = { version = "0.9.1", default-features = false }
sha3 = "0.9.1"
serde = { version = "1", features = ["derive"], optional = true }

[dev-dependencies]
Expand All @@ -27,6 +27,4 @@ serde_json = "1"
rand = "0.7.3"

[features]
default = ["std"]
std = ["primitive-types/std"]
impl-serde = ["primitive-types/impl-serde", "serde"]
13 changes: 3 additions & 10 deletions engine-types/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,17 +1,11 @@
#![cfg_attr(not(feature = "std"), no_std)]
#![cfg_attr(not(feature = "std"), feature(alloc_error_handler))]
#![cfg_attr(feature = "log", feature(panic_info_message))]

pub mod account_id;
pub mod parameters;
pub mod storage;
pub mod types;

mod v0 {
extern crate alloc;
extern crate core;

pub use alloc::{
pub use primitive_types::{H160, H256, U256};
pub use std::{
borrow::ToOwned,
borrow::{Cow, Cow::*},
boxed::Box,
Expand All @@ -23,11 +17,10 @@ mod v0 {
vec,
vec::Vec,
};
pub use core::{
pub use std::{
cmp::Ordering, fmt::Display, marker::PhantomData, mem, ops::Add, ops::Div, ops::Mul,
ops::Sub, ops::SubAssign,
};
pub use primitive_types::{H160, H256, U256};
}

pub use v0::*;
33 changes: 16 additions & 17 deletions engine/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,27 +16,27 @@ autobenches = false
crate-type = ["cdylib", "rlib"]

[dependencies]
aurora-engine-types = { path = "../engine-types", default-features = false }
aurora-engine-sdk = { path = "../engine-sdk", default-features = false }
aurora-engine-precompiles = { path = "../engine-precompiles", default-features = false }
aurora-engine-transactions = { path = "../engine-transactions", default-features = false }
base64 = { version = "0.13.0", default-features = false, features = ["alloc"] }
borsh = { version = "0.8.2", default-features = false }
aurora-engine-types = { path = "../engine-types" }
aurora-engine-sdk = { path = "../engine-sdk" }
aurora-engine-precompiles = { path = "../engine-precompiles" }
aurora-engine-transactions = { path = "../engine-transactions" }
base64 = "0.13.0"
borsh = "0.8.2"
bn = { package = "aurora-bn", git = "https://github.com/aurora-is-near/aurora-bn.git", default-features = false }
evm = { git = "https://github.com/aurora-is-near/sputnikvm.git", rev = "37448b6cacd98b06282cff5a559684505c29bd2b", default-features = false }
evm-core = { git = "https://github.com/aurora-is-near/sputnikvm.git", rev = "37448b6cacd98b06282cff5a559684505c29bd2b", default-features = false }
libsecp256k1 = { version = "0.7.0", default-features = false }
num = { version = "0.4.0", default-features = false, features = ["alloc"] }
num = "0.4.0"
primitive-types = { version = "0.10.0", default-features = false, features = ["rlp"] }
ripemd160 = { version = "0.9.1", default-features = false }
rlp = { version = "0.5.0", default-features = false }
sha3 = { version = "0.9.1", default-features = false }
wee_alloc = { version = "0.4.5", default-features = false }
logos = { version = "0.12", default-features = false, features = ["export_derive"] }
ripemd160 = "0.9.1"
rlp = "0.5.0"
sha3 = "0.9.1"
wee_alloc = "0.4.5"
logos = { version = "0.12", features = ["export_derive"] }
ethabi = { git = "https://github.com/darwinia-network/ethabi", branch = "xavier-no-std", default-features = false }
hex = { version = "0.4", default-features = false, features = ["alloc"] }
byte-slice-cast = { version = "1.0", default-features = false }
rjson = { git = "https://github.com/aurora-is-near/rjson", rev = "cc3da949", default-features = false, features = ["integer"] }
hex = "0.4"
byte-slice-cast = "1.0"
rjson = { git = "https://github.com/aurora-is-near/rjson", rev = "cc3da949", features = ["integer"] }
serde = { version = "1", features = ["derive"], optional = true }

[dev-dependencies]
Expand All @@ -45,8 +45,7 @@ serde_json = "1"
rand = "0.7.3"

[features]
default = ["std"]
std = ["borsh/std", "evm/std", "primitive-types/std", "rlp/std", "sha3/std", "ethabi/std", "logos/std", "bn/std", "aurora-engine-types/std", "rjson/std", "aurora-engine-precompiles/std", "aurora-engine-transactions/std"]
std = []
contract = ["aurora-engine-sdk/contract", "aurora-engine-precompiles/contract"]
evm_bully = []
log = ["aurora-engine-sdk/log", "aurora-engine-precompiles/log"]
Expand Down
43 changes: 0 additions & 43 deletions engine/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,17 +1,5 @@
#![cfg_attr(not(feature = "std"), no_std)]
#![cfg_attr(not(feature = "std"), feature(alloc_error_handler))]
#![cfg_attr(
all(feature = "log", target_arch = "wasm32"),
feature(panic_info_message)
)]

use aurora_engine_types::parameters::PromiseCreateArgs;

#[cfg(not(feature = "std"))]
extern crate alloc;
#[cfg(not(feature = "std"))]
extern crate core;

mod map;
#[cfg(feature = "meta-call")]
pub mod meta_parsing;
Expand All @@ -34,37 +22,6 @@ mod prelude;
#[global_allocator]
static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT;

#[cfg(target_arch = "wasm32")]
#[panic_handler]
#[cfg_attr(not(feature = "log"), allow(unused_variables))]
#[no_mangle]
pub unsafe fn on_panic(info: &::core::panic::PanicInfo) -> ! {
#[cfg(feature = "log")]
{
use prelude::ToString;

if let Some(msg) = info.message() {
let msg = if let Some(log) = info.location() {
prelude::format!("{} [{}]", msg, log)
} else {
msg.to_string()
};
prelude::sdk::panic_utf8(msg.as_bytes());
} else if let Some(log) = info.location() {
prelude::sdk::panic_utf8(log.to_string().as_bytes());
}
}

::core::arch::wasm32::unreachable();
}

#[cfg(target_arch = "wasm32")]
#[alloc_error_handler]
#[no_mangle]
pub unsafe fn on_alloc_error(_: core::alloc::Layout) -> ! {
::core::arch::wasm32::unreachable();
}

#[cfg(feature = "contract")]
mod contract {
use borsh::{BorshDeserialize, BorshSerialize};
Expand Down
4 changes: 2 additions & 2 deletions etc/self-contained-5bEgfRQ/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ codegen-units = 1
rpath = false

[dependencies]
borsh = { version = "0.8.2", default-features = false }
borsh = "0.8.2"
aurora-engine = { path = "../../engine", default-features = false }
aurora-engine-sdk = { path = "../../engine-sdk", default-features = false, features = ["contract"] }
aurora-engine-types = { path = "../../engine-types", default-features = false }
aurora-engine-types = { path = "../../engine-types" }
4 changes: 2 additions & 2 deletions etc/state-migration-test/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ codegen-units = 1
rpath = false

[dependencies]
borsh = { version = "0.8.2", default-features = false }
borsh = "0.8.2"
aurora-engine = { path = "../../engine", default-features = false }
aurora-engine-sdk = { path = "../../engine-sdk", default-features = false, features = ["contract"] }
aurora-engine-types = { path = "../../engine-types", default-features = false }
aurora-engine-types = { path = "../../engine-types" }