From 6407360d8aa714121bca81e25eba15add13ce6d7 Mon Sep 17 00:00:00 2001 From: Boyu Yang Date: Wed, 13 Mar 2019 20:19:56 +0800 Subject: [PATCH 01/96] Fix JSON-RPC CORS. --- CHANGELOG.md | 3 ++- cita-jsonrpc/src/http_header.rs | 10 +++++----- cita-jsonrpc/src/http_server.rs | 5 +++-- tests/integrate_test/cita_jsonrpcTest.sh | 5 +++++ 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 861dfb77a..6eed871e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,7 +19,7 @@ Following [Upgrade Instructions](https://docs.citahub.com/en-US/cita/protocol-up The new feature of integrating p2p to network service, we add discovery of the network node when the original configuration is compatible. But we still need to make some changes to the network configuration file definition: - + The old version `network.toml` looks like: ```toml @@ -63,6 +63,7 @@ But in v0.22.0, the item `[[peers]]` means `known nodes` in the network, you can - [Optimization] Update test token info. [@kaikai] - [Feature] Add `from` to `body` of `getBlockByNumber` and `getBlockByHash`. [@CL] +- [Fix] Fix the missing CORS header. [@yangby] ### Scripts diff --git a/cita-jsonrpc/src/http_header.rs b/cita-jsonrpc/src/http_header.rs index 4daea8ec1..0c5bef398 100644 --- a/cita-jsonrpc/src/http_header.rs +++ b/cita-jsonrpc/src/http_header.rs @@ -18,7 +18,7 @@ use hyper::header::{HeaderMap, HeaderName, HeaderValue, InvalidHeaderValue}; pub const ORIGIN_ANY_STR: &str = "*"; -pub const ORIGIN_NULL_STR: &str = ""; +pub const ORIGIN_NULL_STR: &str = "null"; // values come from hyper 0.11 pub const CONTENT_TYPE_PLAIN_TEXT_STR: &str = "text/plain; charset=utf-8"; @@ -174,7 +174,7 @@ mod test { #[test] fn test_origin_null() { - assert_eq!(Origin::null(), HeaderValue::from_static("")); + assert_eq!(Origin::null(), HeaderValue::from_static("null")); } #[test] @@ -192,9 +192,9 @@ mod test { vec![ (Some("*"), HeaderValue::from_static("*")), (Some(" * "), HeaderValue::from_static("*")), - (None, HeaderValue::from_static("")), - (Some(""), HeaderValue::from_static("")), - (Some(" null "), HeaderValue::from_static("")), + (None, HeaderValue::from_static("null")), + (Some(""), HeaderValue::from_static("null")), + (Some(" null "), HeaderValue::from_static("null")), (Some("abc"), HeaderValue::from_static("abc")), (Some(" xyz "), HeaderValue::from_static("xyz")), ] diff --git a/cita-jsonrpc/src/http_server.rs b/cita-jsonrpc/src/http_server.rs index dc9be4311..8adfc7a79 100644 --- a/cita-jsonrpc/src/http_server.rs +++ b/cita-jsonrpc/src/http_server.rs @@ -18,7 +18,8 @@ use futures::future::{self as future, Future}; use hyper::header::{ HeaderMap as Headers, HeaderName, HeaderValue, ACCEPT, ACCESS_CONTROL_ALLOW_HEADERS, - ACCESS_CONTROL_ALLOW_METHODS, ACCESS_CONTROL_MAX_AGE, CONTENT_TYPE, ORIGIN, USER_AGENT, + ACCESS_CONTROL_ALLOW_METHODS, ACCESS_CONTROL_ALLOW_ORIGIN, ACCESS_CONTROL_MAX_AGE, + CONTENT_TYPE, ORIGIN, USER_AGENT, }; use hyper::service::{MakeService, Service}; use hyper::{Body, Method, Request, Response, StatusCode}; @@ -249,7 +250,7 @@ impl Server { let mut http_headers = Headers::new(); http_headers.insert(CONTENT_TYPE, json); - http_headers.insert(ORIGIN, allow_origin); + http_headers.insert(ACCESS_CONTROL_ALLOW_ORIGIN, allow_origin); let make_jsonrpc_svc = JsonrpcMakeService { inner: Arc::new(Inner { diff --git a/tests/integrate_test/cita_jsonrpcTest.sh b/tests/integrate_test/cita_jsonrpcTest.sh index f336a2f00..ab833f909 100755 --- a/tests/integrate_test/cita_jsonrpcTest.sh +++ b/tests/integrate_test/cita_jsonrpcTest.sh @@ -34,6 +34,11 @@ invalid_data=-32600 invalid_jsonrpc_method=-32601 ./cita_start.sh + +# Check JSON-RPC CORS: Access-Control-Allow-Origin should be existed. +has_cors=$(curl -i -X POST -d '{"jsonrpc":"2.0","method":"peerCount","params":[],"id":2}' $IP:$PORT 2>/dev/null | grep -ic "^access-control-allow-origin: ") +assert ${has_cors} 1 "Check JSON-RPC CORS" + ## request of invalid http method err_code=`curl -s -X GET -d '{"jsonrpc":"2.0","method":"peerCount","params":[],"id":2}' $IP:$PORT | jq ".error.code"` assert $err_code $invalid_http_method "request of invalid http method" From c4d083c5efa14dee5d8713956d2b37524aadf9d5 Mon Sep 17 00:00:00 2001 From: leeyr Date: Thu, 14 Mar 2019 18:29:30 +0800 Subject: [PATCH 02/96] Bugfix for auth crashes on performance test: 1. Do not return when auth not ready; 2. Do not broadcast all auth message --- cita-auth/src/handler.rs | 3 --- cita-network/src/main.rs | 15 ++++++++--- cita-network/src/mq_agent.rs | 14 +++++----- cita-network/src/network.rs | 27 ++++++++++++++++--- cita-network/src/node_manager.rs | 7 ++--- .../src/p2p_protocol/node_discovery.rs | 2 ++ cita-network/src/p2p_protocol/transfer.rs | 2 ++ 7 files changed, 48 insertions(+), 22 deletions(-) diff --git a/cita-auth/src/handler.rs b/cita-auth/src/handler.rs index 6a931b0c2..f9fc3501c 100644 --- a/cita-auth/src/handler.rs +++ b/cita-auth/src/handler.rs @@ -377,7 +377,6 @@ impl MsgHandler { // we will send req for all height // so don't too frequent if check && self.history_heights.is_too_frequent() { - warn!("Too frequent to send request!"); return; } trace!( @@ -467,7 +466,6 @@ impl MsgHandler { routing_key!(Consensus >> VerifyBlockReq) => { if !self.is_ready() { info!("Net/Consensus >> CompactProposal: auth is not ready"); - return; } else { self.deal_signed_proposal(msg); } @@ -475,7 +473,6 @@ impl MsgHandler { routing_key!(Net >> BlockTxn) => { if !self.is_ready() || self.verify_block_req.is_none() { info!("Net >> BlockTxn: auth is not ready"); - return; } else { let verify_block_req = self.verify_block_req.clone(); if let Some(verify_block_req) = verify_block_req { diff --git a/cita-network/src/main.rs b/cita-network/src/main.rs index bd13d4ff5..dec6dcd54 100644 --- a/cita-network/src/main.rs +++ b/cita-network/src/main.rs @@ -92,7 +92,8 @@ use crate::network::Network; use crate::node_manager::{NodesManager, DEFAULT_PORT}; use crate::p2p_protocol::{ node_discovery::DiscoveryProtocolMeta, node_discovery::NodesAddressManager, - transfer::TransferProtocolMeta, SHandle, + node_discovery::DISCOVERY_PROTOCOL_ID, transfer::TransferProtocolMeta, + transfer::TRANSFER_PROTOCOL_ID, SHandle, }; use crate::synchronizer::Synchronizer; use clap::App; @@ -144,9 +145,15 @@ fn main() { mq_agent.set_network_client(network_mgr.client()); // Init p2p protocols - let discovery_meta = - DiscoveryProtocolMeta::new(0, NodesAddressManager::new(nodes_mgr.client())); - let transfer_meta = TransferProtocolMeta::new(1, network_mgr.client(), nodes_mgr.client()); + let discovery_meta = DiscoveryProtocolMeta::new( + DISCOVERY_PROTOCOL_ID, + NodesAddressManager::new(nodes_mgr.client()), + ); + let transfer_meta = TransferProtocolMeta::new( + TRANSFER_PROTOCOL_ID, + network_mgr.client(), + nodes_mgr.client(), + ); let mut service_cfg = ServiceBuilder::default() .insert_protocol(discovery_meta) diff --git a/cita-network/src/mq_agent.rs b/cita-network/src/mq_agent.rs index 5489a4cf5..c27a89251 100644 --- a/cita-network/src/mq_agent.rs +++ b/cita-network/src/mq_agent.rs @@ -15,8 +15,8 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -use crate::network::{LocalMessage, NetworkClient}; -use crate::node_manager::{BroadcastReq, NodesManagerClient}; +use crate::network::{send_message, LocalMessage, NetworkClient}; +use crate::node_manager::NodesManagerClient; use libproto::router::{MsgType, RoutingKey, SubModules}; use libproto::routing_key; use libproto::{Message, TryFrom}; @@ -101,25 +101,23 @@ impl MqAgent { pub fn run(&self) { if let Some(ref client) = self.nodes_manager_client { // Thread for handle new transactions from MQ - let nodes_manager_client = client.clone(); + let nodes_mgr_client = client.clone(); let sub_auth = self.sub_auth.clone(); thread::spawn(move || loop { let (key, body) = sub_auth.recv().unwrap(); let msg = Message::try_from(&body).unwrap(); - // Broadcast the message to other nodes - nodes_manager_client.broadcast(BroadcastReq::new(key, msg)); + send_message(&nodes_mgr_client, key, msg); }); // Thread for handle consensus message - let nodes_manager_client = client.clone(); + let nodes_mgr_client = client.clone(); let sub_consensus = self.sub_consensus.clone(); thread::spawn(move || loop { let (key, body) = sub_consensus.recv().unwrap(); let msg = Message::try_from(&body).unwrap(); - // Broadcast the message to other nodes - nodes_manager_client.broadcast(BroadcastReq::new(key, msg)); + send_message(&nodes_mgr_client, key, msg); }); } diff --git a/cita-network/src/network.rs b/cita-network/src/network.rs index 58c1b6918..be7a56681 100644 --- a/cita-network/src/network.rs +++ b/cita-network/src/network.rs @@ -16,12 +16,12 @@ // along with this program. If not, see . use crate::mq_agent::{MqAgentClient, PubMessage}; -use crate::node_manager::{BroadcastReq, GetPeerCountReq, NodesManagerClient}; +use crate::node_manager::{BroadcastReq, GetPeerCountReq, NodesManagerClient, SingleTxReq}; use crate::synchronizer::{SynchronizerClient, SynchronizerMessage}; use libproto::router::{MsgType, RoutingKey, SubModules}; use libproto::routing_key; use libproto::snapshot::{Cmd, Resp, SnapshotResp}; -use libproto::{Message as ProtoMessage, Response}; +use libproto::{Message as ProtoMessage, OperateType, Response}; use libproto::{TryFrom, TryInto}; use logger::{error, info, trace, warn}; use pubsub::channel::{unbounded, Receiver, Sender}; @@ -134,10 +134,11 @@ impl LocalMessage { } routing_key!(Chain >> SyncResponse) => { let msg = ProtoMessage::try_from(&self.data).unwrap(); - service.nodes_mgr_client.broadcast(BroadcastReq::new( + send_message( + &service.nodes_mgr_client, routing_key!(Synchronizer >> SyncResponse).into(), msg, - )); + ); } routing_key!(Jsonrpc >> RequestNet) => { self.reply_rpc(&self.data, service); @@ -291,3 +292,21 @@ impl RemoteMessage { } } } + +pub fn send_message(nodes_mgr_client: &NodesManagerClient, key: String, msg: ProtoMessage) { + let operate = msg.get_operate(); + + match operate { + OperateType::Broadcast => { + nodes_mgr_client.broadcast(BroadcastReq::new(key, msg)); + } + OperateType::Single => { + let dst = msg.get_origin(); + nodes_mgr_client.send_message(SingleTxReq::new(dst as usize, key, msg)); + } + OperateType::Subtract => { + // FIXME: Support subtract broadcast if necessary. + warn!("[MqAgent] Subtract broadcast does not support yet!"); + } + } +} diff --git a/cita-network/src/node_manager.rs b/cita-network/src/node_manager.rs index 4f7ff64d6..f4dfdd3cc 100644 --- a/cita-network/src/node_manager.rs +++ b/cita-network/src/node_manager.rs @@ -17,6 +17,7 @@ use crate::cita_protocol::{pubsub_message_to_network_message, CITA_FRAME_HEADER_LEN}; use crate::config::NetConfig; +use crate::p2p_protocol::transfer::TRANSFER_PROTOCOL_ID; use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt}; use bytes::BytesMut; use cita_types::Address; @@ -415,7 +416,7 @@ impl NetworkInitReq { if let Some(ref mut ctrl) = service.service_ctrl { // FIXME: handle the error! - let ret = ctrl.send_message(self.session_id, 1, buf.to_vec()); + let ret = ctrl.send_message(self.session_id, TRANSFER_PROTOCOL_ID, buf.to_vec()); info!( "[NodeManager] Send network init message!, id: {:?}, peer_addr: {:?}, ret: {:?}", self.session_id, peer_key, ret, @@ -563,7 +564,7 @@ impl BroadcastReq { BytesMut::with_capacity(CITA_FRAME_HEADER_LEN + self.key.len() + msg_bytes.len()); pubsub_message_to_network_message(&mut buf, Some((self.key, msg_bytes))); if let Some(ref mut ctrl) = service.service_ctrl { - let _ = ctrl.filter_broadcast(None, 1, buf.to_vec()); + let _ = ctrl.filter_broadcast(None, TRANSFER_PROTOCOL_ID, buf.to_vec()); } } } @@ -593,7 +594,7 @@ impl SingleTxReq { pubsub_message_to_network_message(&mut buf, Some((self.key, msg_bytes))); if let Some(ref mut ctrl) = service.service_ctrl { // FIXME: handle the error! - let _ = ctrl.send_message(self.dst, 1, buf.to_vec()); + let _ = ctrl.send_message(self.dst, TRANSFER_PROTOCOL_ID, buf.to_vec()); } } } diff --git a/cita-network/src/p2p_protocol/node_discovery.rs b/cita-network/src/p2p_protocol/node_discovery.rs index 7ff766411..6fbfa50b6 100644 --- a/cita-network/src/p2p_protocol/node_discovery.rs +++ b/cita-network/src/p2p_protocol/node_discovery.rs @@ -34,6 +34,8 @@ use tentacle::{ }; use tokio::codec::length_delimited::LengthDelimitedCodec; +pub const DISCOVERY_PROTOCOL_ID: ProtocolId = 0; + #[derive(Clone, Debug)] pub struct NodesAddressManager { pub nodes_mgr_client: NodesManagerClient, diff --git a/cita-network/src/p2p_protocol/transfer.rs b/cita-network/src/p2p_protocol/transfer.rs index 8b05fc747..95b846542 100644 --- a/cita-network/src/p2p_protocol/transfer.rs +++ b/cita-network/src/p2p_protocol/transfer.rs @@ -28,6 +28,8 @@ use tentacle::{ }; use tokio::codec::length_delimited::LengthDelimitedCodec; +pub const TRANSFER_PROTOCOL_ID: ProtocolId = 1; + pub struct TransferProtocolMeta { id: ProtocolId, network_client: NetworkClient, From 7f6174ebb285957f22689773d14b96ff5c32a900 Mon Sep 17 00:00:00 2001 From: leeyr Date: Fri, 15 Mar 2019 11:03:05 +0800 Subject: [PATCH 03/96] Use broadcast for subtract broadcast --- cita-network/src/network.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cita-network/src/network.rs b/cita-network/src/network.rs index be7a56681..9b2963eb4 100644 --- a/cita-network/src/network.rs +++ b/cita-network/src/network.rs @@ -305,8 +305,9 @@ pub fn send_message(nodes_mgr_client: &NodesManagerClient, key: String, msg: Pro nodes_mgr_client.send_message(SingleTxReq::new(dst as usize, key, msg)); } OperateType::Subtract => { - // FIXME: Support subtract broadcast if necessary. - warn!("[MqAgent] Subtract broadcast does not support yet!"); + // FIXME: Support subtract broadcast if necessary, just use broadcast instead. + warn!("[MqAgent] Subtract broadcast does not support yet, use broadcast instead!"); + nodes_mgr_client.broadcast(BroadcastReq::new(key, msg)); } } } From b71174489e230d821bef7b2d41ed6b45794ee627 Mon Sep 17 00:00:00 2001 From: leeyr Date: Fri, 15 Mar 2019 15:06:06 +0800 Subject: [PATCH 04/96] delete useless code --- cita-network/src/cita_protocol.rs | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/cita-network/src/cita_protocol.rs b/cita-network/src/cita_protocol.rs index 7f74fcc73..629377836 100644 --- a/cita-network/src/cita_protocol.rs +++ b/cita-network/src/cita_protocol.rs @@ -21,15 +21,7 @@ use byteorder::{ByteOrder, NetworkEndian}; use bytes::BufMut; use bytes::BytesMut; use logger::{error, warn}; -use std::io; use std::str; -use tokio::codec::{Decoder, Encoder}; - -pub type CitaRequest = (String, Vec); -pub type CitaResponse = Option<(String, Vec)>; - -/// Our multiplexed line-based codec -pub struct CitaCodec; /// Implementation of the multiplexed line-based protocol. /// @@ -68,25 +60,6 @@ fn opt_bytes_extend(buf: &mut BytesMut, data: &[u8]) { } } -impl Decoder for CitaCodec { - type Item = CitaRequest; - type Error = io::Error; - - fn decode(&mut self, buf: &mut BytesMut) -> Result, io::Error> { - Ok(network_message_to_pubsub_message(buf)) - } -} - -impl Encoder for CitaCodec { - type Item = CitaResponse; - type Error = io::Error; - - fn encode(&mut self, msg: Self::Item, buf: &mut BytesMut) -> io::Result<()> { - pubsub_message_to_network_message(buf, msg); - Ok(()) - } -} - pub fn pubsub_message_to_network_message(buf: &mut BytesMut, msg: Option<(String, Vec)>) { let mut request_id_bytes = [0; 8]; if let Some((key, body)) = msg { From 5202fe9f5cfa95a15b047331c78a4cf2ce3214d6 Mon Sep 17 00:00:00 2001 From: leeyr Date: Fri, 15 Mar 2019 22:17:45 +0800 Subject: [PATCH 05/96] Do not use to_vec for message buffer --- cita-network/src/cita_protocol.rs | 12 ++++++------ cita-network/src/node_manager.rs | 16 ++++++---------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/cita-network/src/cita_protocol.rs b/cita-network/src/cita_protocol.rs index 629377836..1cc05e59b 100644 --- a/cita-network/src/cita_protocol.rs +++ b/cita-network/src/cita_protocol.rs @@ -52,7 +52,7 @@ const NETMSG_START: u64 = 0xDEAD_BEEF_0000_0000; // And this will consume "4 + 4 + 1" fixed-lengths of the frame. pub const CITA_FRAME_HEADER_LEN: usize = 4 + 4 + 1; -fn opt_bytes_extend(buf: &mut BytesMut, data: &[u8]) { +fn opt_bytes_extend(buf: &mut Vec, data: &[u8]) { buf.reserve(data.len()); unsafe { buf.bytes_mut()[..data.len()].copy_from_slice(data); @@ -60,7 +60,7 @@ fn opt_bytes_extend(buf: &mut BytesMut, data: &[u8]) { } } -pub fn pubsub_message_to_network_message(buf: &mut BytesMut, msg: Option<(String, Vec)>) { +pub fn pubsub_message_to_network_message(buf: &mut Vec, msg: Option<(String, Vec)>) { let mut request_id_bytes = [0; 8]; if let Some((key, body)) = msg { let length_key = key.len(); @@ -150,9 +150,9 @@ mod test { #[test] fn convert_empty_message() { - let mut buf = BytesMut::with_capacity(4 + 4); + let mut buf = Vec::with_capacity(4 + 4); pubsub_message_to_network_message(&mut buf, None); - let pub_msg_opt = network_message_to_pubsub_message(&mut buf); + let pub_msg_opt = network_message_to_pubsub_message(&mut BytesMut::from(buf)); assert!(pub_msg_opt.is_none()); } @@ -160,9 +160,9 @@ mod test { fn convert_messages() { let key = "this-is-the-key".to_string(); let msg: Vec = vec![1, 3, 5, 7, 9]; - let mut buf = BytesMut::with_capacity(4 + 4 + 1 + key.len() + msg.len()); + let mut buf = Vec::with_capacity(4 + 4 + 1 + key.len() + msg.len()); pubsub_message_to_network_message(&mut buf, Some((key.clone(), msg.clone()))); - let pub_msg_opt = network_message_to_pubsub_message(&mut buf); + let pub_msg_opt = network_message_to_pubsub_message(&mut BytesMut::from(buf)); assert!(pub_msg_opt.is_some()); let (key_new, msg_new) = pub_msg_opt.unwrap(); assert_eq!(key, key_new); diff --git a/cita-network/src/node_manager.rs b/cita-network/src/node_manager.rs index f4dfdd3cc..f7de22252 100644 --- a/cita-network/src/node_manager.rs +++ b/cita-network/src/node_manager.rs @@ -19,7 +19,6 @@ use crate::cita_protocol::{pubsub_message_to_network_message, CITA_FRAME_HEADER_ use crate::config::NetConfig; use crate::p2p_protocol::transfer::TRANSFER_PROTOCOL_ID; use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt}; -use bytes::BytesMut; use cita_types::Address; use discovery::RawAddr; use fnv::FnvHashMap; @@ -410,13 +409,12 @@ impl NetworkInitReq { }; let msg_bytes: Vec = init_msg.into(); - let mut buf = - BytesMut::with_capacity(CITA_FRAME_HEADER_LEN + send_key.len() + msg_bytes.len()); + let mut buf = Vec::with_capacity(CITA_FRAME_HEADER_LEN + send_key.len() + msg_bytes.len()); pubsub_message_to_network_message(&mut buf, Some((send_key, msg_bytes))); if let Some(ref mut ctrl) = service.service_ctrl { // FIXME: handle the error! - let ret = ctrl.send_message(self.session_id, TRANSFER_PROTOCOL_ID, buf.to_vec()); + let ret = ctrl.send_message(self.session_id, TRANSFER_PROTOCOL_ID, buf); info!( "[NodeManager] Send network init message!, id: {:?}, peer_addr: {:?}, ret: {:?}", self.session_id, peer_key, ret, @@ -560,11 +558,10 @@ impl BroadcastReq { ); let msg_bytes: Vec = self.msg.try_into().unwrap(); - let mut buf = - BytesMut::with_capacity(CITA_FRAME_HEADER_LEN + self.key.len() + msg_bytes.len()); + let mut buf = Vec::with_capacity(CITA_FRAME_HEADER_LEN + self.key.len() + msg_bytes.len()); pubsub_message_to_network_message(&mut buf, Some((self.key, msg_bytes))); if let Some(ref mut ctrl) = service.service_ctrl { - let _ = ctrl.filter_broadcast(None, TRANSFER_PROTOCOL_ID, buf.to_vec()); + let _ = ctrl.filter_broadcast(None, TRANSFER_PROTOCOL_ID, buf); } } } @@ -589,12 +586,11 @@ impl SingleTxReq { ); let msg_bytes: Vec = self.msg.try_into().unwrap(); - let mut buf = - BytesMut::with_capacity(CITA_FRAME_HEADER_LEN + self.key.len() + msg_bytes.len()); + let mut buf = Vec::with_capacity(CITA_FRAME_HEADER_LEN + self.key.len() + msg_bytes.len()); pubsub_message_to_network_message(&mut buf, Some((self.key, msg_bytes))); if let Some(ref mut ctrl) = service.service_ctrl { // FIXME: handle the error! - let _ = ctrl.send_message(self.dst, TRANSFER_PROTOCOL_ID, buf.to_vec()); + let _ = ctrl.send_message(self.dst, TRANSFER_PROTOCOL_ID, buf); } } } From 11dcb009e5159b6465edb69b85f85cfb74b06357 Mon Sep 17 00:00:00 2001 From: Boyu Yang Date: Thu, 7 Mar 2019 17:40:56 +0800 Subject: [PATCH 06/96] Update default rust toolchain. --- .circleci/config.yml | 2 +- .travis.yml | 2 +- cita-auth/src/dispatcher.rs | 2 +- cita-auth/src/handler.rs | 6 +++--- cita-bft | 2 +- cita-chain/core/src/libchain/chain.rs | 17 ++++++++--------- cita-chain/types/src/filter.rs | 2 +- cita-chain/types/src/receipt.rs | 4 ++-- .../core/src/contracts/grpc/grpc_vm.rs | 2 +- .../src/contracts/native/crosschain_verify.rs | 2 +- cita-executor/core/src/libexecutor/lru_cache.rs | 2 +- cita-executor/src/backlogs.rs | 2 +- cita-forever | 2 +- daemon.sh | 2 +- env.sh | 2 +- scripts/ci.sh | 2 +- tools/create_key_addr/src/main.rs | 2 +- 17 files changed, 27 insertions(+), 28 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1de88a2c2..d33998bdc 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -107,7 +107,7 @@ alias: - &job-default docker: - - image: cita/cita-build:ubuntu-18.04-20190107 + - image: cita/cita-build:ubuntu-18.04-20190304 working_directory: ~/cita-build resource_class: xlarge diff --git a/.travis.yml b/.travis.yml index 4f9fbfc3d..c4b3c74b1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,7 +14,7 @@ stages: - Release - IntegrateTest before_install: - - docker pull cita/cita-build:ubuntu-18.04-20190107 + - docker pull cita/cita-build:ubuntu-18.04-20190304 jobs: include: diff --git a/cita-auth/src/dispatcher.rs b/cita-auth/src/dispatcher.rs index c7d078377..96374f023 100644 --- a/cita-auth/src/dispatcher.rs +++ b/cita-auth/src/dispatcher.rs @@ -153,7 +153,7 @@ impl Dispatcher { pub fn get_txs(&self, ids: &[H256]) -> Vec { let pool = self.txs_pool.borrow(); - ids.into_iter() + ids.iter() .map(|id| pool.get(id).cloned()) .filter(|tx| tx.is_some()) .map(|tx| tx.unwrap()) diff --git a/cita-auth/src/handler.rs b/cita-auth/src/handler.rs index f9fc3501c..1a138cb35 100644 --- a/cita-auth/src/handler.rs +++ b/cita-auth/src/handler.rs @@ -548,7 +548,7 @@ impl MsgHandler { fn deal_black_list(&mut self, black_list: &BlackList) { black_list .get_clear_list() - .into_iter() + .iter() .for_each(|clear_list: &Vec| { self.black_list_cache .remove(&Address::from_slice(clear_list.as_slice())); @@ -556,7 +556,7 @@ impl MsgHandler { black_list .get_black_list() - .into_iter() + .iter() .for_each(|blacklist: &Vec| { self.black_list_cache .entry(Address::from_slice(blacklist.as_slice())) @@ -857,7 +857,7 @@ impl MsgHandler { fn deal_get_block_txn(&mut self, get_block_txn: &mut GetBlockTxn, origin: Origin) { let short_ids: Vec = get_block_txn .get_short_ids() - .into_iter() + .iter() .map(|id| H256::from(U256::from(id.as_slice()))) .collect(); let txs: Vec = self diff --git a/cita-bft b/cita-bft index 893e97a69..f3360601a 160000 --- a/cita-bft +++ b/cita-bft @@ -1 +1 @@ -Subproject commit 893e97a69dfed64361a2009bc888b001adc8dcab +Subproject commit f3360601aee602559daa7fe1c3a80c2e0fab2a83 diff --git a/cita-chain/core/src/libchain/chain.rs b/cita-chain/core/src/libchain/chain.rs index b690a564c..46ce19a65 100644 --- a/cita-chain/core/src/libchain/chain.rs +++ b/cita-chain/core/src/libchain/chain.rs @@ -150,14 +150,13 @@ impl TxProof { let from_chain_id = U256::from(iter.next().unwrap()); let to_chain_id = U256::from(iter.next().unwrap()); let dest_contract = Address::from(H256::from(iter.next().unwrap())); - let dest_hasher = iter.next().unwrap()[..4] - .into_iter() - .take(4) - .enumerate() - .fold([0u8; 4], |mut acc, (idx, val)| { + let dest_hasher = iter.next().unwrap()[..4].iter().take(4).enumerate().fold( + [0u8; 4], + |mut acc, (idx, val)| { acc[idx] = *val; acc - }); + }, + ); let cross_chain_nonce = U256::from(iter.next().unwrap()).low_u64(); Some(RelayInfo { from_chain_id, @@ -459,12 +458,12 @@ impl Chain { let conf = ret.get_config(); let nodes = conf.get_nodes(); let nodes: Vec
= nodes - .into_iter() + .iter() .map(|vecaddr| Address::from_slice(&vecaddr[..])) .collect(); let validators = conf.get_validators(); let validators: Vec
= validators - .into_iter() + .iter() .map(|vecaddr| Address::from_slice(&vecaddr[..])) .collect(); let block_interval = conf.get_block_interval(); @@ -522,7 +521,7 @@ impl Chain { if !info.get_receipts().is_empty() { let receipts: Vec = info .get_receipts() - .into_iter() + .iter() .map(|receipt_with_option| Receipt::from(receipt_with_option.get_receipt().clone())) .collect(); diff --git a/cita-chain/types/src/filter.rs b/cita-chain/types/src/filter.rs index 3b6f89edb..fd05fdec3 100644 --- a/cita-chain/types/src/filter.rs +++ b/cita-chain/types/src/filter.rs @@ -82,7 +82,7 @@ impl Filter { .into_iter() .flat_map(|bloom| { topics - .into_iter() + .iter() .map(|topic| { let mut b = bloom; b.accrue_raw(topic); diff --git a/cita-chain/types/src/receipt.rs b/cita-chain/types/src/receipt.rs index e5d21b4fd..f3c4f67b1 100644 --- a/cita-chain/types/src/receipt.rs +++ b/cita-chain/types/src/receipt.rs @@ -254,12 +254,12 @@ impl From for Receipt { let logs = receipt .get_logs() - .into_iter() + .iter() .map(|log_entry| { let address: Address = Address::from_slice(log_entry.get_address()); let topics: Vec = log_entry .get_topics() - .into_iter() + .iter() .map(|topic| H256::from_slice(topic)) .collect(); let data: Bytes = Bytes::from(log_entry.get_data()); diff --git a/cita-executor/core/src/contracts/grpc/grpc_vm.rs b/cita-executor/core/src/contracts/grpc/grpc_vm.rs index ada9498d2..11296aa76 100644 --- a/cita-executor/core/src/contracts/grpc/grpc_vm.rs +++ b/cita-executor/core/src/contracts/grpc/grpc_vm.rs @@ -42,7 +42,7 @@ use util::Bytes; pub fn extract_logs_from_response(sender: Address, response: &InvokeResponse) -> Vec { response .get_logs() - .into_iter() + .iter() .map(|log| { let mut topics = Vec::new(); let tdata = log.get_topic(); diff --git a/cita-executor/core/src/contracts/native/crosschain_verify.rs b/cita-executor/core/src/contracts/native/crosschain_verify.rs index bf33e3fc9..191294ff1 100644 --- a/cita-executor/core/src/contracts/native/crosschain_verify.rs +++ b/cita-executor/core/src/contracts/native/crosschain_verify.rs @@ -116,7 +116,7 @@ impl CrossChainVerify { if result.is_none() { return Err(Error::Internal("decode 2nd param failed".to_string())); } - let hasher = result.unwrap()[..4].into_iter().take(4).enumerate().fold( + let hasher = result.unwrap()[..4].iter().take(4).enumerate().fold( [0u8; 4], |mut acc, (idx, val)| { acc[idx] = *val; diff --git a/cita-executor/core/src/libexecutor/lru_cache.rs b/cita-executor/core/src/libexecutor/lru_cache.rs index 578b2b2a2..17a94755e 100644 --- a/cita-executor/core/src/libexecutor/lru_cache.rs +++ b/cita-executor/core/src/libexecutor/lru_cache.rs @@ -96,7 +96,7 @@ where self.cache_by_key.remove(k); let v: Vec = v - .into_iter() + .iter() .filter(|value| match self.cache_by_value.get(value) { Some(ref key) if key == &k => true, None | Some(_) => false, diff --git a/cita-executor/src/backlogs.rs b/cita-executor/src/backlogs.rs index 69c23e8c4..efa6916c1 100644 --- a/cita-executor/src/backlogs.rs +++ b/cita-executor/src/backlogs.rs @@ -352,7 +352,7 @@ impl Backlogs { let executed_result = &self.completed[&prev_height]; let validators = executed_result.get_config().get_validators(); let proof_checkers: Vec
= validators - .into_iter() + .iter() .map(|vec| Address::from_slice(&vec[..])) .collect(); diff --git a/cita-forever b/cita-forever index e6f4b0d4f..5a4356ad5 160000 --- a/cita-forever +++ b/cita-forever @@ -1 +1 @@ -Subproject commit e6f4b0d4f4a90e5bdf524e84239187021e8830b4 +Subproject commit 5a4356ad5787993f7fa4ea5e965f1ce46a9c7412 diff --git a/daemon.sh b/daemon.sh index 3fe936cd2..dd30403c8 100755 --- a/daemon.sh +++ b/daemon.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -DOCKER_IMAGE="cita/cita-build:ubuntu-18.04-20190107" +DOCKER_IMAGE="cita/cita-build:ubuntu-18.04-20190304" if [[ `uname` == 'Darwin' ]] then cp /etc/localtime $PWD/localtime diff --git a/env.sh b/env.sh index 6d8fee58b..1f4ef735d 100755 --- a/env.sh +++ b/env.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -DOCKER_IMAGE="cita/cita-build:ubuntu-18.04-20190107" +DOCKER_IMAGE="cita/cita-build:ubuntu-18.04-20190304" if [[ `uname` == 'Darwin' ]] then cp /etc/localtime $PWD/localtime diff --git a/scripts/ci.sh b/scripts/ci.sh index b165fd666..b6b0a6ebc 100755 --- a/scripts/ci.sh +++ b/scripts/ci.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -DOCKER_IMAGE="cita/cita-build:ubuntu-18.04-20190107" +DOCKER_IMAGE="cita/cita-build:ubuntu-18.04-20190304" if [[ `uname` == 'Darwin' ]] then diff --git a/tools/create_key_addr/src/main.rs b/tools/create_key_addr/src/main.rs index fc75b9468..9bdd40189 100644 --- a/tools/create_key_addr/src/main.rs +++ b/tools/create_key_addr/src/main.rs @@ -25,7 +25,7 @@ use std::fs::{File, OpenOptions}; use std::io::Write; fn to_hex_string(data: &[u8]) -> String { - let strs: Vec = data.into_iter().map(|a| format!("{:02x}", a)).collect(); + let strs: Vec = data.iter().map(|a| format!("{:02x}", a)).collect(); strs.join("") } From 069b8d01605d0672f4dc6e93557750ca9252373c Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Sun, 17 Mar 2019 16:15:08 +0800 Subject: [PATCH 07/96] Update node package version to fix the security alter. --- scripts/contracts/tests/package.json | 12 +- scripts/contracts/tests/yarn.lock | 4561 +++++++++++++++----------- 2 files changed, 2710 insertions(+), 1863 deletions(-) diff --git a/scripts/contracts/tests/package.json b/scripts/contracts/tests/package.json index 2896b072e..b8fde653d 100644 --- a/scripts/contracts/tests/package.json +++ b/scripts/contracts/tests/package.json @@ -4,9 +4,9 @@ "description": "CITA contract test using web3", "main": "", "devDependencies": { - "eslint": "^4.19.1", - "eslint-config-airbnb-base": "^12.1.0", - "eslint-plugin-import": "^2.12.0" + "eslint": "^5.15.2", + "eslint-config-airbnb-base": "^13.1.0", + "eslint-plugin-import": "^2.16.0" }, "scripts": { "unit_group": "eslint test/unit/group.js && mocha test/unit/group.js -t 20s --exit", @@ -35,8 +35,8 @@ "license": "GPL-3.0+", "dependencies": { "@appchain/base": "^0.20.3", - "chai": "^4.1.2", - "log4js": "^2.7.0", - "mocha": "^5.2.0" + "chai": "^4.2.0", + "log4js": "^4.0.2", + "mocha": "^6.0.2" } } diff --git a/scripts/contracts/tests/yarn.lock b/scripts/contracts/tests/yarn.lock index 17e267684..8b80b47a0 100644 --- a/scripts/contracts/tests/yarn.lock +++ b/scripts/contracts/tests/yarn.lock @@ -4,269 +4,284 @@ "@appchain/base@^0.20.3": version "0.20.3" - resolved "http://registry.npm.taobao.org/@appchain/base/download/@appchain/base-0.20.3.tgz#733c8b117f89665a1e1cf86ab338c591e750bc37" + resolved "https://registry.yarnpkg.com/@appchain/base/-/base-0.20.3.tgz#733c8b117f89665a1e1cf86ab338c591e750bc37" + integrity sha512-BHujlv3mg8TBkokYIBGf6cHAYpqB40tnhYtzBDnsup5n+9Eq2b7Ol4QlHbW/WkyR4GlM2EtQiRiqknebPxB6jQ== dependencies: "@appchain/signer" "^2.0.4" web3 "^1.0.0-beta.34" "@appchain/signer@^2.0.4": version "2.0.4" - resolved "http://registry.npm.taobao.org/@appchain/signer/download/@appchain/signer-2.0.4.tgz#deae6486b2d04e0525a04f7d4d26b0a9a143e9bb" + resolved "https://registry.yarnpkg.com/@appchain/signer/-/signer-2.0.4.tgz#deae6486b2d04e0525a04f7d4d26b0a9a143e9bb" + integrity sha512-Hk3FMjB3VTYCXmiRGH9MR2DnNlQi4W2B9mmFCUEELFgiC3bIOPkz2MXbCnPITV81XycFKtEpzyDRz+JD/a4ilA== dependencies: ec "^0.0.1" elliptic "^6.4.0" google-protobuf "^3.5.0" web3 "^1.0.0-beta.34" -accepts@~1.3.5: - version "1.3.5" - resolved "http://registry.npm.taobao.org/accepts/download/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" +"@babel/code-frame@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" + integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== dependencies: - mime-types "~2.1.18" - negotiator "0.6.1" + "@babel/highlight" "^7.0.0" -acorn-jsx@^3.0.0: - version "3.0.1" - resolved "http://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" +"@babel/highlight@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" + integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw== + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^4.0.0" + +"@babel/runtime@^7.3.1": + version "7.3.4" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.3.4.tgz#73d12ba819e365fcf7fd152aed56d6df97d21c83" + integrity sha512-IvfvnMdSaLBateu0jfsYIpZTxAc2cKEXEMiezGGN75QcBcecDUKd3PgLAncT0oOgxKy8dd8hrJKj9MfzgfZd6g== dependencies: - acorn "^3.0.4" + regenerator-runtime "^0.12.0" -acorn@^3.0.4: - version "3.3.0" - resolved "http://registry.npm.taobao.org/acorn/download/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" +"@types/bn.js@^4.11.4": + version "4.11.4" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.4.tgz#a7bed5bdef9f16b25c92ba27745ab261374787d7" + integrity sha512-AO8WW+aRcKWKQAYTfKLzwnpL6U+TfPqS+haRrhCy5ff04Da8WZud3ZgVjspQXaEXJDcTlsjUEVvL39wegDek5w== + dependencies: + "@types/node" "*" -acorn@^5.5.0: - version "5.5.3" - resolved "http://registry.npm.taobao.org/acorn/download/acorn-5.5.3.tgz#f473dd47e0277a08e28e9bec5aeeb04751f0b8c9" +"@types/node@*": + version "11.11.3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.3.tgz#7c6b0f8eaf16ae530795de2ad1b85d34bf2f5c58" + integrity sha512-wp6IOGu1lxsfnrD+5mX6qwSwWuqsdkKKxTN4aQc4wByHAKZJf9/D4KXPQ1POUjEbnCP5LMggB0OEFNY9OTsMqg== -addressparser@1.0.1: - version "1.0.1" - resolved "http://registry.npm.taobao.org/addressparser/download/addressparser-1.0.1.tgz#47afbe1a2a9262191db6838e4fd1d39b40821746" +"@types/node@^10.12.18", "@types/node@^10.3.2": + version "10.14.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.1.tgz#8701cd760acc20beba5ffe0b7a1b879f39cb8c41" + integrity sha512-Rymt08vh1GaW4vYB6QP61/5m/CFLGnFZP++bJpWbiNxceNa6RBipDmb413jvtSf/R1gg5a/jQVl2jY4XVRscEA== -agent-base@4, agent-base@^4.1.0, agent-base@^4.2.0: - version "4.2.0" - resolved "http://registry.npm.taobao.org/agent-base/download/agent-base-4.2.0.tgz#9838b5c3392b962bad031e6a4c5e1024abec45ce" +accepts@~1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" + integrity sha1-63d99gEXI6OxTopywIBcjoZ0a9I= dependencies: - es6-promisify "^5.0.0" + mime-types "~2.1.18" + negotiator "0.6.1" -ajv-keywords@^2.1.0: - version "2.1.1" - resolved "http://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" +acorn-jsx@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e" + integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg== + +acorn@^6.0.7: + version "6.1.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f" + integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA== + +aes-js@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" + integrity sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0= -ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0: - version "5.5.2" - resolved "http://registry.npm.taobao.org/ajv/download/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" +ajv@^6.5.5, ajv@^6.9.1: + version "6.10.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1" + integrity sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg== dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" + fast-deep-equal "^2.0.1" fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" -amqplib@^0.5.2: - version "0.5.2" - resolved "http://registry.npm.taobao.org/amqplib/download/amqplib-0.5.2.tgz#d2d7313c7ffaa4d10bcf1e6252de4591b6cc7b63" - dependencies: - bitsyntax "~0.0.4" - bluebird "^3.4.6" - buffer-more-ints "0.0.2" - readable-stream "1.x >=1.1.9" - safe-buffer "^5.0.1" +ansi-colors@3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" + integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw== -ansi-escapes@^3.0.0: - version "3.1.0" - resolved "http://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" +ansi-escapes@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== ansi-regex@^2.0.0: version "2.1.1" - resolved "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= ansi-regex@^3.0.0: version "3.0.0" - resolved "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= -ansi-styles@^2.2.1: - version "2.2.1" - resolved "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== -ansi-styles@^3.2.1: +ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" - resolved "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" -any-promise@1.3.0, any-promise@^1.0.0, any-promise@^1.3.0: - version "1.3.0" - resolved "http://registry.npm.taobao.org/any-promise/download/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" - argparse@^1.0.7: version "1.0.10" - resolved "http://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" -array-flatten@1.1.1: - version "1.1.1" - resolved "http://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= -array-union@^1.0.1: - version "1.0.2" - resolved "http://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - dependencies: - array-uniq "^1.0.1" +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== -array-uniq@^1.0.1: - version "1.0.3" - resolved "http://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= -arrify@^1.0.0: - version "1.0.1" - resolved "http://registry.npm.taobao.org/arrify/download/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= asn1.js@^4.0.0: version "4.10.1" - resolved "http://registry.npm.taobao.org/asn1.js/download/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== dependencies: bn.js "^4.0.0" inherits "^2.0.1" minimalistic-assert "^1.0.0" asn1@~0.2.3: - version "0.2.3" - resolved "http://registry.npm.taobao.org/asn1/download/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + dependencies: + safer-buffer "~2.1.0" assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" - resolved "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - -assert-plus@^0.2.0: - version "0.2.0" - resolved "http://registry.npm.taobao.org/assert-plus/download/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= -assertion-error@^1.0.1: +assertion-error@^1.1.0: version "1.1.0" - resolved "http://registry.npm.taobao.org/assertion-error/download/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= -ast-types@0.x.x: - version "0.11.3" - resolved "http://registry.npm.taobao.org/ast-types/download/ast-types-0.11.3.tgz#c20757fe72ee71278ea0ff3d87e5c2ca30d9edf8" +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== async-limiter@~1.0.0: version "1.0.0" - resolved "http://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" + integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg== -async@~2.6.0: - version "2.6.1" - resolved "http://registry.npm.taobao.org/async/download/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" +async@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381" + integrity sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg== dependencies: - lodash "^4.17.10" + lodash "^4.17.11" asynckit@^0.4.0: version "0.4.0" - resolved "http://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= -aws-sign2@~0.6.0: - version "0.6.0" - resolved "http://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" +atob@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== aws-sign2@~0.7.0: version "0.7.0" - resolved "http://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - -aws4@^1.2.1, aws4@^1.6.0: - version "1.7.0" - resolved "http://registry.npm.taobao.org/aws4/download/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= -axios@^0.15.3: - version "0.15.3" - resolved "http://registry.npm.taobao.org/axios/download/axios-0.15.3.tgz#2c9d638b2e191a08ea1d6cc988eadd6ba5bdc053" - dependencies: - follow-redirects "1.0.0" - -babel-code-frame@^6.22.0: - version "6.26.0" - resolved "http://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" +aws4@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" + integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== balanced-match@^1.0.0: version "1.0.0" - resolved "http://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - -base64-js@0.0.8: - version "0.0.8" - resolved "http://registry.npm.taobao.org/base64-js/download/base64-js-0.0.8.tgz#1101e9544f4a76b1bc3b26d452ca96d7a35e7978" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= base64-js@^1.0.2: version "1.3.0" - resolved "http://registry.npm.taobao.org/base64-js/download/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" + integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" bcrypt-pbkdf@^1.0.0: - version "1.0.1" - resolved "http://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= dependencies: tweetnacl "^0.14.3" -bitsyntax@~0.0.4: - version "0.0.4" - resolved "http://registry.npm.taobao.org/bitsyntax/download/bitsyntax-0.0.4.tgz#eb10cc6f82b8c490e3e85698f07e83d46e0cba82" - dependencies: - buffer-more-ints "0.0.2" - bl@^1.0.0: version "1.2.2" - resolved "http://registry.npm.taobao.org/bl/download/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" + integrity sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA== dependencies: readable-stream "^2.3.5" safe-buffer "^5.1.1" -bl@~1.1.2: - version "1.1.2" - resolved "http://registry.npm.taobao.org/bl/download/bl-1.1.2.tgz#fdca871a99713aa00d19e3bbba41c44787a65398" - dependencies: - readable-stream "~2.0.5" - -block-stream@*: - version "0.0.9" - resolved "http://registry.npm.taobao.org/block-stream/download/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" - dependencies: - inherits "~2.0.0" - -bluebird@^2.9.34: - version "2.11.0" - resolved "http://registry.npm.taobao.org/bluebird/download/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1" - -bluebird@^3.4.6, bluebird@^3.5.0: - version "3.5.1" - resolved "http://registry.npm.taobao.org/bluebird/download/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" +bluebird@^3.5.0: + version "3.5.3" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7" + integrity sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw== bn.js@4.11.6: version "4.11.6" - resolved "http://registry.npm.taobao.org/bn.js/download/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" + integrity sha1-UzRK2xRhehP26N0s4okF0cC6MhU= -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.6, bn.js@^4.4.0: +bn.js@4.11.8, bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.6, bn.js@^4.4.0: version "4.11.8" - resolved "http://registry.npm.taobao.org/bn.js/download/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" - -body-parser@1.18.2: - version "1.18.2" - resolved "http://registry.npm.taobao.org/body-parser/download/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" - dependencies: - bytes "3.0.0" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.1" - http-errors "~1.6.2" - iconv-lite "0.4.19" - on-finished "~2.3.0" - qs "6.5.1" - raw-body "2.3.2" - type-is "~1.6.15" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" + integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== -body-parser@^1.16.0: +body-parser@1.18.3, body-parser@^1.16.0: version "1.18.3" - resolved "http://registry.npm.taobao.org/body-parser/download/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4" + integrity sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ= dependencies: bytes "3.0.0" content-type "~1.0.4" @@ -279,42 +294,44 @@ body-parser@^1.16.0: raw-body "2.3.3" type-is "~1.6.16" -boom@2.x.x: - version "2.10.1" - resolved "http://registry.npm.taobao.org/boom/download/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" - dependencies: - hoek "2.x.x" - -boom@4.x.x: - version "4.3.1" - resolved "http://registry.npm.taobao.org/boom/download/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" - dependencies: - hoek "4.x.x" - -boom@5.x.x: - version "5.2.0" - resolved "http://registry.npm.taobao.org/boom/download/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02" - dependencies: - hoek "4.x.x" - brace-expansion@^1.1.7: version "1.1.11" - resolved "http://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" +braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + brorand@^1.0.1: version "1.1.0" - resolved "http://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= browser-stdout@1.3.1: version "1.3.1" - resolved "http://registry.npm.taobao.org/browser-stdout/download/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== browserify-aes@^1.0.0, browserify-aes@^1.0.4: version "1.2.0" - resolved "http://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== dependencies: buffer-xor "^1.0.3" cipher-base "^1.0.0" @@ -325,36 +342,43 @@ browserify-aes@^1.0.0, browserify-aes@^1.0.4: browserify-cipher@^1.0.0: version "1.0.1" - resolved "http://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== dependencies: browserify-aes "^1.0.4" browserify-des "^1.0.0" evp_bytestokey "^1.0.0" browserify-des@^1.0.0: - version "1.0.1" - resolved "http://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.1.tgz#3343124db6d7ad53e26a8826318712bdc8450f9c" + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== dependencies: cipher-base "^1.0.1" des.js "^1.0.0" inherits "^2.0.1" + safe-buffer "^5.1.2" browserify-rsa@^4.0.0: version "4.0.1" - resolved "http://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= dependencies: bn.js "^4.1.0" randombytes "^2.0.1" -browserify-sha3@^0.0.1: - version "0.0.1" - resolved "http://registry.npm.taobao.org/browserify-sha3/download/browserify-sha3-0.0.1.tgz#3ff34a3006ef15c0fb3567e541b91a2340123d11" +browserify-sha3@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/browserify-sha3/-/browserify-sha3-0.0.4.tgz#086c47b8c82316c9d47022c26185954576dd8e26" + integrity sha1-CGxHuMgjFsnUcCLCYYWVRXbdjiY= dependencies: - js-sha3 "^0.3.1" + js-sha3 "^0.6.1" + safe-buffer "^5.1.1" browserify-sign@^4.0.0: version "4.0.4" - resolved "http://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" + integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= dependencies: bn.js "^4.1.1" browserify-rsa "^4.0.0" @@ -366,242 +390,264 @@ browserify-sign@^4.0.0: buffer-alloc-unsafe@^1.1.0: version "1.1.0" - resolved "http://registry.npm.taobao.org/buffer-alloc-unsafe/download/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== -buffer-alloc@^1.1.0: +buffer-alloc@^1.2.0: version "1.2.0" - resolved "http://registry.npm.taobao.org/buffer-alloc/download/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== dependencies: buffer-alloc-unsafe "^1.1.0" buffer-fill "^1.0.0" buffer-crc32@~0.2.3: version "0.2.13" - resolved "http://registry.npm.taobao.org/buffer-crc32/download/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= buffer-fill@^1.0.0: version "1.0.0" - resolved "http://registry.npm.taobao.org/buffer-fill/download/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" - -buffer-from@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/buffer-from/download/buffer-from-1.0.0.tgz#4cb8832d23612589b0406e9e2956c17f06fdf531" - -buffer-more-ints@0.0.2: - version "0.0.2" - resolved "http://registry.npm.taobao.org/buffer-more-ints/download/buffer-more-ints-0.0.2.tgz#26b3885d10fa13db7fc01aae3aab870199e0124c" + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= buffer-to-arraybuffer@^0.0.5: version "0.0.5" - resolved "http://registry.npm.taobao.org/buffer-to-arraybuffer/download/buffer-to-arraybuffer-0.0.5.tgz#6064a40fa76eb43c723aba9ef8f6e1216d10511a" + resolved "https://registry.yarnpkg.com/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz#6064a40fa76eb43c723aba9ef8f6e1216d10511a" + integrity sha1-YGSkD6dutDxyOrqe+PbhIW0QURo= buffer-xor@^1.0.3: version "1.0.3" - resolved "http://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - -buffer@^3.0.1: - version "3.6.0" - resolved "http://registry.npm.taobao.org/buffer/download/buffer-3.6.0.tgz#a72c936f77b96bf52f5f7e7b467180628551defb" - dependencies: - base64-js "0.0.8" - ieee754 "^1.1.4" - isarray "^1.0.0" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= -buffer@^5.0.5: - version "5.1.0" - resolved "http://registry.npm.taobao.org/buffer/download/buffer-5.1.0.tgz#c913e43678c7cb7c8bd16afbcddb6c5505e8f9fe" +buffer@^5.0.5, buffer@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.2.1.tgz#dd57fa0f109ac59c602479044dca7b8b3d0b71d6" + integrity sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg== dependencies: base64-js "^1.0.2" ieee754 "^1.1.4" -buildmail@4.0.1: - version "4.0.1" - resolved "http://registry.npm.taobao.org/buildmail/download/buildmail-4.0.1.tgz#877f7738b78729871c9a105e3b837d2be11a7a72" - dependencies: - addressparser "1.0.1" - libbase64 "0.1.0" - libmime "3.0.0" - libqp "1.1.0" - nodemailer-fetch "1.6.0" - nodemailer-shared "1.1.0" - punycode "1.4.1" - -builtin-modules@^1.0.0: - version "1.1.1" - resolved "http://registry.npm.taobao.org/builtin-modules/download/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - bytes@3.0.0: version "3.0.0" - resolved "http://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - -caller-path@^0.1.0: - version "0.1.0" - resolved "http://registry.npm.taobao.org/caller-path/download/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" - dependencies: - callsites "^0.2.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= -callsites@^0.2.0: - version "0.2.0" - resolved "http://registry.npm.taobao.org/callsites/download/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +callsites@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.0.0.tgz#fb7eb569b72ad7a45812f93fd9430a3e410b3dd3" + integrity sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw== -caseless@~0.11.0: - version "0.11.0" - resolved "http://registry.npm.taobao.org/caseless/download/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" +camelcase@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.2.0.tgz#e7522abda5ed94cc0489e1b8466610e88404cf45" + integrity sha512-IXFsBS2pC+X0j0N/GE7Dm7j3bsEBp+oTpb7F50dwEVX7rf3IgwO9XatnegTsDtniKCUtEJH4fSU6Asw7uoVLfQ== caseless@~0.12.0: version "0.12.0" - resolved "http://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -chai@^4.1.2: - version "4.1.2" - resolved "http://registry.npm.taobao.org/chai/download/chai-4.1.2.tgz#0f64584ba642f0f2ace2806279f4f06ca23ad73c" +chai@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5" + integrity sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw== dependencies: - assertion-error "^1.0.1" - check-error "^1.0.1" - deep-eql "^3.0.0" + assertion-error "^1.1.0" + check-error "^1.0.2" + deep-eql "^3.0.1" get-func-name "^2.0.0" - pathval "^1.0.0" - type-detect "^4.0.0" - -chalk@^1.1.1, chalk@^1.1.3: - version "1.1.3" - resolved "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" + pathval "^1.1.0" + type-detect "^4.0.5" -chalk@^2.0.0, chalk@^2.1.0: - version "2.4.1" - resolved "http://registry.npm.taobao.org/chalk/download/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chardet@^0.4.0: - version "0.4.2" - resolved "http://registry.npm.taobao.org/chardet/download/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -check-error@^1.0.1: +check-error@^1.0.2: version "1.0.2" - resolved "http://registry.npm.taobao.org/check-error/download/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" + integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= + +chownr@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" + integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" - resolved "http://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== dependencies: inherits "^2.0.1" safe-buffer "^5.0.1" -circular-json@^0.3.1: - version "0.3.3" - resolved "http://registry.npm.taobao.org/circular-json/download/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" - -circular-json@^0.5.4: - version "0.5.4" - resolved "http://registry.npm.taobao.org/circular-json/download/circular-json-0.5.4.tgz#ff1ad2f2e392eeb8a5172d4d985fa846ed8ad656" +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" cli-cursor@^2.1.0: version "2.1.0" - resolved "http://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= dependencies: restore-cursor "^2.0.0" cli-width@^2.0.0: version "2.2.0" - resolved "http://registry.npm.taobao.org/cli-width/download/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" + integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= + +cliui@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" + integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + wrap-ansi "^2.0.0" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= -co@^4.6.0: - version "4.6.0" - resolved "http://registry.npm.taobao.org/co/download/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" color-convert@^1.9.0: - version "1.9.1" - resolved "http://registry.npm.taobao.org/color-convert/download/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: - color-name "^1.1.1" + color-name "1.1.3" -color-name@^1.1.1: +color-name@1.1.3: version "1.1.3" - resolved "http://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= -combined-stream@1.0.6, combined-stream@^1.0.5, combined-stream@~1.0.5: - version "1.0.6" - resolved "http://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" + integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w== dependencies: delayed-stream "~1.0.0" -commander@2.15.1, commander@^2.9.0: - version "2.15.1" - resolved "http://registry.npm.taobao.org/commander/download/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" - -commander@^2.8.1: - version "2.16.0" - resolved "http://registry.npm.taobao.org/commander/download/commander-2.16.0.tgz#f16390593996ceb4f3eeb020b31d78528f7f8a50" - commander@~2.8.1: version "2.8.1" - resolved "http://registry.npm.taobao.org/commander/download/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" + integrity sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ= dependencies: graceful-readlink ">= 1.0.0" +component-emitter@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= + concat-map@0.0.1: version "0.0.1" - resolved "http://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - -concat-stream@^1.6.0: - version "1.6.2" - resolved "http://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= contains-path@^0.1.0: version "0.1.0" - resolved "http://registry.npm.taobao.org/contains-path/download/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= content-disposition@0.5.2: version "0.5.2" - resolved "http://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" + integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ= content-type@~1.0.4: version "1.0.4" - resolved "http://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== cookie-signature@1.0.6: version "1.0.6" - resolved "http://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= cookie@0.3.1: version "0.3.1" - resolved "http://registry.npm.taobao.org/cookie/download/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s= + +cookiejar@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.2.tgz#dd8a235530752f988f9a0844f3fc589e3111125c" + integrity sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA== + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" - resolved "http://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= cors@^2.8.1: - version "2.8.4" - resolved "http://registry.npm.taobao.org/cors/download/cors-2.8.4.tgz#2bd381f2eb201020105cd50ea59da63090694686" + version "2.8.5" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== dependencies: object-assign "^4" vary "^1" create-ecdh@^4.0.0: version "4.0.3" - resolved "http://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" + integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== dependencies: bn.js "^4.1.0" elliptic "^6.0.0" create-hash@^1.1.0, create-hash@^1.1.2: version "1.2.0" - resolved "http://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== dependencies: cipher-base "^1.0.1" inherits "^2.0.1" @@ -611,7 +657,8 @@ create-hash@^1.1.0, create-hash@^1.1.2: create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: version "1.1.7" - resolved "http://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== dependencies: cipher-base "^1.0.3" create-hash "^1.1.0" @@ -620,29 +667,21 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" -cross-spawn@^5.1.0: - version "5.1.0" - resolved "http://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" +cross-spawn@^6.0.0, cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== dependencies: - lru-cache "^4.0.1" + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" shebang-command "^1.2.0" which "^1.2.9" -cryptiles@2.x.x: - version "2.0.5" - resolved "http://registry.npm.taobao.org/cryptiles/download/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" - dependencies: - boom "2.x.x" - -cryptiles@3.x.x: - version "3.1.2" - resolved "http://registry.npm.taobao.org/cryptiles/download/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" - dependencies: - boom "5.x.x" - crypto-browserify@3.12.0: version "3.12.0" - resolved "http://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== dependencies: browserify-cipher "^1.0.0" browserify-sign "^4.0.0" @@ -658,43 +697,58 @@ crypto-browserify@3.12.0: dashdash@^1.12.0: version "1.14.1" - resolved "http://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= dependencies: assert-plus "^1.0.0" -data-uri-to-buffer@1: - version "1.2.0" - resolved "http://registry.npm.taobao.org/data-uri-to-buffer/download/data-uri-to-buffer-1.2.0.tgz#77163ea9c20d8641b4707e8f18abdf9a78f34835" - -date-format@^1.2.0: - version "1.2.0" - resolved "http://registry.npm.taobao.org/date-format/download/date-format-1.2.0.tgz#615e828e233dd1ab9bb9ae0950e0ceccfa6ecad8" +date-format@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/date-format/-/date-format-2.0.0.tgz#7cf7b172f1ec564f0003b39ea302c5498fb98c8f" + integrity sha512-M6UqVvZVgFYqZL1SfHsRGIQSz3ZL+qgbsV5Lp1Vj61LZVYuEwcMXYay7DRDtYs2HQQBK5hQtQ0fD9aEJ89V0LA== -debug@2, debug@2.6.9, debug@^2.2.0, debug@^2.6.8, debug@^2.6.9: +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: version "2.6.9" - resolved "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@3.1.0, debug@^3.1.0, debug@~3.1.0: - version "3.1.0" - resolved "http://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" +debug@3.2.6, debug@^3.1.0: + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== dependencies: - ms "2.0.0" + ms "^2.1.1" + +debug@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== + dependencies: + ms "^2.1.1" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= decode-uri-component@^0.2.0: version "0.2.0" - resolved "http://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= decompress-response@^3.2.0, decompress-response@^3.3.0: version "3.3.0" - resolved "http://registry.npm.taobao.org/decompress-response/download/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= dependencies: mimic-response "^1.0.0" decompress-tar@^4.0.0, decompress-tar@^4.1.0, decompress-tar@^4.1.1: version "4.1.1" - resolved "http://registry.npm.taobao.org/decompress-tar/download/decompress-tar-4.1.1.tgz#718cbd3fcb16209716e70a26b84e7ba4592e5af1" + resolved "https://registry.yarnpkg.com/decompress-tar/-/decompress-tar-4.1.1.tgz#718cbd3fcb16209716e70a26b84e7ba4592e5af1" + integrity sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ== dependencies: file-type "^5.2.0" is-stream "^1.1.0" @@ -702,7 +756,8 @@ decompress-tar@^4.0.0, decompress-tar@^4.1.0, decompress-tar@^4.1.1: decompress-tarbz2@^4.0.0: version "4.1.1" - resolved "http://registry.npm.taobao.org/decompress-tarbz2/download/decompress-tarbz2-4.1.1.tgz#3082a5b880ea4043816349f378b56c516be1a39b" + resolved "https://registry.yarnpkg.com/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz#3082a5b880ea4043816349f378b56c516be1a39b" + integrity sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A== dependencies: decompress-tar "^4.1.0" file-type "^6.1.0" @@ -712,7 +767,8 @@ decompress-tarbz2@^4.0.0: decompress-targz@^4.0.0: version "4.1.1" - resolved "http://registry.npm.taobao.org/decompress-targz/download/decompress-targz-4.1.1.tgz#c09bc35c4d11f3de09f2d2da53e9de23e7ce1eee" + resolved "https://registry.yarnpkg.com/decompress-targz/-/decompress-targz-4.1.1.tgz#c09bc35c4d11f3de09f2d2da53e9de23e7ce1eee" + integrity sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w== dependencies: decompress-tar "^4.1.1" file-type "^5.2.0" @@ -720,7 +776,8 @@ decompress-targz@^4.0.0: decompress-unzip@^4.0.1: version "4.0.1" - resolved "http://registry.npm.taobao.org/decompress-unzip/download/decompress-unzip-4.0.1.tgz#deaaccdfd14aeaf85578f733ae8210f9b4848f69" + resolved "https://registry.yarnpkg.com/decompress-unzip/-/decompress-unzip-4.0.1.tgz#deaaccdfd14aeaf85578f733ae8210f9b4848f69" + integrity sha1-3qrM39FK6vhVePczroIQ+bSEj2k= dependencies: file-type "^3.8.0" get-stream "^2.2.0" @@ -729,7 +786,8 @@ decompress-unzip@^4.0.1: decompress@^4.0.0: version "4.2.0" - resolved "http://registry.npm.taobao.org/decompress/download/decompress-4.2.0.tgz#7aedd85427e5a92dacfe55674a7c505e96d01f9d" + resolved "https://registry.yarnpkg.com/decompress/-/decompress-4.2.0.tgz#7aedd85427e5a92dacfe55674a7c505e96d01f9d" + integrity sha1-eu3YVCflqS2s/lVnSnxQXpbQH50= dependencies: decompress-tar "^4.0.0" decompress-tarbz2 "^4.0.0" @@ -740,66 +798,84 @@ decompress@^4.0.0: pify "^2.3.0" strip-dirs "^2.0.0" -deep-eql@^3.0.0: +deep-eql@^3.0.1: version "3.0.1" - resolved "http://registry.npm.taobao.org/deep-eql/download/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" + integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== dependencies: type-detect "^4.0.0" deep-is@~0.1.3: version "0.1.3" - resolved "http://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= -degenerator@^1.0.4: - version "1.0.4" - resolved "http://registry.npm.taobao.org/degenerator/download/degenerator-1.0.4.tgz#fcf490a37ece266464d9cc431ab98c5819ced095" +define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== dependencies: - ast-types "0.x.x" - escodegen "1.x.x" - esprima "3.x.x" + object-keys "^1.0.12" -del@^2.0.2: - version "2.2.2" - resolved "http://registry.npm.taobao.org/del/download/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= dependencies: - globby "^5.0.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - rimraf "^2.2.8" + is-descriptor "^0.1.0" -delayed-stream@~1.0.0: +define-property@^1.0.0: version "1.0.0" - resolved "http://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" -depd@1.1.1: - version "1.1.1" - resolved "http://registry.npm.taobao.org/depd/download/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" -depd@~1.1.1, depd@~1.1.2: +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +depd@~1.1.2: version "1.1.2" - resolved "http://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= des.js@^1.0.0: version "1.0.0" - resolved "http://registry.npm.taobao.org/des.js/download/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" + integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw= dependencies: inherits "^2.0.1" minimalistic-assert "^1.0.0" destroy@~1.0.4: version "1.0.4" - resolved "http://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +detect-file@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" + integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= diff@3.5.0: version "3.5.0" - resolved "http://registry.npm.taobao.org/diff/download/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" + integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== diffie-hellman@^5.0.0: version "5.0.3" - resolved "http://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== dependencies: bn.js "^4.1.0" miller-rabin "^4.0.0" @@ -807,46 +883,61 @@ diffie-hellman@^5.0.0: doctrine@1.5.0: version "1.5.0" - resolved "http://registry.npm.taobao.org/doctrine/download/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= dependencies: esutils "^2.0.2" isarray "^1.0.0" -doctrine@^2.1.0: - version "2.1.0" - resolved "http://registry.npm.taobao.org/doctrine/download/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== dependencies: esutils "^2.0.2" dom-walk@^0.1.0: version "0.1.1" - resolved "http://registry.npm.taobao.org/dom-walk/download/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" - -double-ended-queue@^2.1.0-0: - version "2.1.0-0" - resolved "http://registry.npm.taobao.org/double-ended-queue/download/double-ended-queue-2.1.0-0.tgz#103d3527fd31528f40188130c841efdd78264e5c" + resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" + integrity sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg= duplexer3@^0.1.4: version "0.1.4" - resolved "http://registry.npm.taobao.org/duplexer3/download/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= ec@^0.0.1: version "0.0.1" - resolved "http://registry.npm.taobao.org/ec/download/ec-0.0.1.tgz#5579aad6053f2ce337bc712a905188f69450b8e1" + resolved "https://registry.yarnpkg.com/ec/-/ec-0.0.1.tgz#5579aad6053f2ce337bc712a905188f69450b8e1" + integrity sha1-VXmq1gU/LOM3vHEqkFGI9pRQuOE= ecc-jsbn@~0.1.1: - version "0.1.1" - resolved "http://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= dependencies: jsbn "~0.1.0" + safer-buffer "^2.1.0" ee-first@1.1.1: version "1.1.1" - resolved "http://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +elliptic@6.3.3: + version "6.3.3" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.3.3.tgz#5482d9646d54bcb89fd7d994fc9e2e9568876e3f" + integrity sha1-VILZZG1UvLif19mU/J4ulWiHbj8= + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + inherits "^2.0.1" elliptic@^6.0.0, elliptic@^6.4.0: - version "6.4.0" - resolved "http://registry.npm.taobao.org/elliptic/download/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" + version "6.4.1" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.1.tgz#c2d0b7776911b86722c632c3c06c60f2f819939a" + integrity sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ== dependencies: bn.js "^4.4.0" brorand "^1.0.1" @@ -856,186 +947,231 @@ elliptic@^6.0.0, elliptic@^6.4.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.0" +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + encodeurl@~1.0.2: version "1.0.2" - resolved "http://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= -end-of-stream@^1.0.0: +end-of-stream@^1.0.0, end-of-stream@^1.1.0: version "1.4.1" - resolved "http://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" + integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== dependencies: once "^1.4.0" error-ex@^1.2.0: - version "1.3.1" - resolved "http://registry.npm.taobao.org/error-ex/download/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" -es6-promise@^4.0.3: - version "4.2.4" - resolved "http://registry.npm.taobao.org/es6-promise/download/es6-promise-4.2.4.tgz#dc4221c2b16518760bd8c39a52d8f356fc00ed29" +es-abstract@^1.12.0, es-abstract@^1.5.0, es-abstract@^1.5.1: + version "1.13.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" + integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== + dependencies: + es-to-primitive "^1.2.0" + function-bind "^1.1.1" + has "^1.0.3" + is-callable "^1.1.4" + is-regex "^1.0.4" + object-keys "^1.0.12" -es6-promisify@^5.0.0: - version "5.0.0" - resolved "http://registry.npm.taobao.org/es6-promisify/download/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" +es-to-primitive@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" + integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== dependencies: - es6-promise "^4.0.3" + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" escape-html@~1.0.3: version "1.0.3" - resolved "http://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5: version "1.0.5" - resolved "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - -escodegen@1.x.x: - version "1.9.1" - resolved "http://registry.npm.taobao.org/escodegen/download/escodegen-1.9.1.tgz#dbae17ef96c8e4bedb1356f4504fa4cc2f7cb7e2" - dependencies: - esprima "^3.1.3" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= -eslint-config-airbnb-base@^12.1.0: - version "12.1.0" - resolved "http://registry.npm.taobao.org/eslint-config-airbnb-base/download/eslint-config-airbnb-base-12.1.0.tgz#386441e54a12ccd957b0a92564a4bafebd747944" +eslint-config-airbnb-base@^13.1.0: + version "13.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.1.0.tgz#b5a1b480b80dfad16433d6c4ad84e6605052c05c" + integrity sha512-XWwQtf3U3zIoKO1BbHh6aUhJZQweOwSt4c2JrPDg9FP3Ltv3+YfEv7jIDB8275tVnO/qOHbfuYg3kzw6Je7uWw== dependencies: eslint-restricted-globals "^0.1.1" + object.assign "^4.1.0" + object.entries "^1.0.4" -eslint-import-resolver-node@^0.3.1: +eslint-import-resolver-node@^0.3.2: version "0.3.2" - resolved "http://registry.npm.taobao.org/eslint-import-resolver-node/download/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a" + integrity sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q== dependencies: debug "^2.6.9" resolve "^1.5.0" -eslint-module-utils@^2.2.0: - version "2.2.0" - resolved "http://registry.npm.taobao.org/eslint-module-utils/download/eslint-module-utils-2.2.0.tgz#b270362cd88b1a48ad308976ce7fa54e98411746" +eslint-module-utils@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.3.0.tgz#546178dab5e046c8b562bbb50705e2456d7bda49" + integrity sha512-lmDJgeOOjk8hObTysjqH7wyMi+nsHwwvfBykwfhjR1LNdd7C2uFJBvx4OpWYpXOw4df1yE1cDEVd1yLHitk34w== dependencies: debug "^2.6.8" - pkg-dir "^1.0.0" + pkg-dir "^2.0.0" -eslint-plugin-import@^2.12.0: - version "2.12.0" - resolved "http://registry.npm.taobao.org/eslint-plugin-import/download/eslint-plugin-import-2.12.0.tgz#dad31781292d6664b25317fd049d2e2b2f02205d" +eslint-plugin-import@^2.16.0: + version "2.16.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.16.0.tgz#97ac3e75d0791c4fac0e15ef388510217be7f66f" + integrity sha512-z6oqWlf1x5GkHIFgrSvtmudnqM6Q60KM4KvpWi5ubonMjycLjndvd5+8VAZIsTlHC03djdgJuyKG6XO577px6A== dependencies: contains-path "^0.1.0" - debug "^2.6.8" + debug "^2.6.9" doctrine "1.5.0" - eslint-import-resolver-node "^0.3.1" - eslint-module-utils "^2.2.0" - has "^1.0.1" - lodash "^4.17.4" - minimatch "^3.0.3" + eslint-import-resolver-node "^0.3.2" + eslint-module-utils "^2.3.0" + has "^1.0.3" + lodash "^4.17.11" + minimatch "^3.0.4" read-pkg-up "^2.0.0" - resolve "^1.6.0" + resolve "^1.9.0" eslint-restricted-globals@^0.1.1: version "0.1.1" - resolved "http://registry.npm.taobao.org/eslint-restricted-globals/download/eslint-restricted-globals-0.1.1.tgz#35f0d5cbc64c2e3ed62e93b4b1a7af05ba7ed4d7" + resolved "https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz#35f0d5cbc64c2e3ed62e93b4b1a7af05ba7ed4d7" + integrity sha1-NfDVy8ZMLj7WLpO0saevBbp+1Nc= -eslint-scope@^3.7.1: - version "3.7.1" - resolved "http://registry.npm.taobao.org/eslint-scope/download/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" +eslint-scope@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" + integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== dependencies: esrecurse "^4.1.0" estraverse "^4.1.1" +eslint-utils@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512" + integrity sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q== + eslint-visitor-keys@^1.0.0: version "1.0.0" - resolved "http://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" + integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== -eslint@^4.19.1: - version "4.19.1" - resolved "http://registry.npm.taobao.org/eslint/download/eslint-4.19.1.tgz#32d1d653e1d90408854bfb296f076ec7e186a300" +eslint@^5.15.2: + version "5.15.2" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.15.2.tgz#0237bbb2362f89f4effef2f191eb0fea5279c0a5" + integrity sha512-I8VM4SILpMwUvsRt83bQVwIRQAJ2iPMXun1FVZ/lV1OHklH2tJaXqoDnNzdiFc6bnCtGKXvQIQNP3kj1eMskSw== dependencies: - ajv "^5.3.0" - babel-code-frame "^6.22.0" + "@babel/code-frame" "^7.0.0" + ajv "^6.9.1" chalk "^2.1.0" - concat-stream "^1.6.0" - cross-spawn "^5.1.0" - debug "^3.1.0" - doctrine "^2.1.0" - eslint-scope "^3.7.1" + cross-spawn "^6.0.5" + debug "^4.0.1" + doctrine "^3.0.0" + eslint-scope "^4.0.3" + eslint-utils "^1.3.1" eslint-visitor-keys "^1.0.0" - espree "^3.5.4" - esquery "^1.0.0" + espree "^5.0.1" + esquery "^1.0.1" esutils "^2.0.2" - file-entry-cache "^2.0.0" + file-entry-cache "^5.0.1" functional-red-black-tree "^1.0.1" glob "^7.1.2" - globals "^11.0.1" - ignore "^3.3.3" + globals "^11.7.0" + ignore "^4.0.6" + import-fresh "^3.0.0" imurmurhash "^0.1.4" - inquirer "^3.0.6" - is-resolvable "^1.0.0" - js-yaml "^3.9.1" + inquirer "^6.2.2" + js-yaml "^3.12.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.3.0" - lodash "^4.17.4" - minimatch "^3.0.2" + lodash "^4.17.11" + minimatch "^3.0.4" mkdirp "^0.5.1" natural-compare "^1.4.0" optionator "^0.8.2" path-is-inside "^1.0.2" - pluralize "^7.0.0" progress "^2.0.0" - regexpp "^1.0.1" - require-uncached "^1.0.3" - semver "^5.3.0" + regexpp "^2.0.1" + semver "^5.5.1" strip-ansi "^4.0.0" - strip-json-comments "~2.0.1" - table "4.0.2" - text-table "~0.2.0" + strip-json-comments "^2.0.1" + table "^5.2.3" + text-table "^0.2.0" -espree@^3.5.4: - version "3.5.4" - resolved "http://registry.npm.taobao.org/espree/download/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7" +espree@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a" + integrity sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A== dependencies: - acorn "^5.5.0" - acorn-jsx "^3.0.0" - -esprima@3.x.x, esprima@^3.1.3: - version "3.1.3" - resolved "http://registry.npm.taobao.org/esprima/download/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + acorn "^6.0.7" + acorn-jsx "^5.0.0" + eslint-visitor-keys "^1.0.0" esprima@^4.0.0: - version "4.0.0" - resolved "http://registry.npm.taobao.org/esprima/download/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.0.0: +esquery@^1.0.1: version "1.0.1" - resolved "http://registry.npm.taobao.org/esquery/download/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" + integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== dependencies: estraverse "^4.0.0" esrecurse@^4.1.0: version "4.2.1" - resolved "http://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" + integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== dependencies: estraverse "^4.1.0" -estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: +estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: version "4.2.0" - resolved "http://registry.npm.taobao.org/estraverse/download/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= esutils@^2.0.2: version "2.0.2" - resolved "http://registry.npm.taobao.org/esutils/download/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= etag@~1.8.1: version "1.8.1" - resolved "http://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +eth-ens-namehash@2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz#229ac46eca86d52e0c991e7cb2aef83ff0f68bcf" + integrity sha1-IprEbsqG1S4MmR58sq74P/D2i88= + dependencies: + idna-uts46-hx "^2.3.1" + js-sha3 "^0.5.7" + +eth-lib@0.2.8: + version "0.2.8" + resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.8.tgz#b194058bef4b220ad12ea497431d6cb6aa0623c8" + integrity sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw== + dependencies: + bn.js "^4.11.6" + elliptic "^6.4.0" + xhr-request-promise "^0.1.2" -eth-lib@0.1.27, eth-lib@^0.1.26: +eth-lib@^0.1.26: version "0.1.27" - resolved "http://registry.npm.taobao.org/eth-lib/download/eth-lib-0.1.27.tgz#f0b0fd144f865d2d6bf8257a40004f2e75ca1dd6" + resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.1.27.tgz#f0b0fd144f865d2d6bf8257a40004f2e75ca1dd6" + integrity sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA== dependencies: bn.js "^4.11.6" elliptic "^6.4.0" @@ -1045,39 +1181,84 @@ eth-lib@0.1.27, eth-lib@^0.1.26: ws "^3.0.0" xhr-request-promise "^0.1.2" -eth-lib@0.2.7: - version "0.2.7" - resolved "http://registry.npm.taobao.org/eth-lib/download/eth-lib-0.2.7.tgz#2f93f17b1e23aec3759cd4a3fe20c1286a3fc1ca" +ethers@4.0.26: + version "4.0.26" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.26.tgz#a4b17184a0ed3db9c88d1b6d28beaa7d0e0ba3e4" + integrity sha512-3hK4S8eAGhuWZ/feip5z17MswjGgjb4lEPJqWO/O0dNqToYLSHhvu6gGQPs8d9f+XfpEB2EYexfF0qjhWiZjUA== dependencies: - bn.js "^4.11.6" - elliptic "^6.4.0" - xhr-request-promise "^0.1.2" + "@types/node" "^10.3.2" + aes-js "3.0.0" + bn.js "^4.4.0" + elliptic "6.3.3" + hash.js "1.1.3" + js-sha3 "0.5.7" + scrypt-js "2.0.4" + setimmediate "1.0.4" + uuid "2.0.1" + xmlhttprequest "1.8.0" -ethjs-unit@0.1.6: +ethjs-unit@^0.1.6: version "0.1.6" - resolved "http://registry.npm.taobao.org/ethjs-unit/download/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" + resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" + integrity sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk= dependencies: bn.js "4.11.6" number-to-bn "1.7.0" -eventemitter3@1.1.1: - version "1.1.1" - resolved "http://registry.npm.taobao.org/eventemitter3/download/eventemitter3-1.1.1.tgz#47786bdaa087caf7b1b75e73abc5c7d540158cd0" +eventemitter3@3.1.0, eventemitter3@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" + integrity sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA== evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" - resolved "http://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== dependencies: md5.js "^1.3.4" safe-buffer "^5.1.1" +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expand-tilde@^2.0.0, expand-tilde@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= + dependencies: + homedir-polyfill "^1.0.1" + express@^4.14.0: - version "4.16.3" - resolved "http://registry.npm.taobao.org/express/download/express-4.16.3.tgz#6af8a502350db3246ecc4becf6b5a34d22f7ed53" + version "4.16.4" + resolved "https://registry.yarnpkg.com/express/-/express-4.16.4.tgz#fddef61926109e24c515ea97fd2f1bdbf62df12e" + integrity sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg== dependencies: accepts "~1.3.5" array-flatten "1.1.1" - body-parser "1.18.2" + body-parser "1.18.3" content-disposition "0.5.2" content-type "~1.0.4" cookie "0.3.1" @@ -1094,10 +1275,10 @@ express@^4.14.0: on-finished "~2.3.0" parseurl "~1.3.2" path-to-regexp "0.1.7" - proxy-addr "~2.0.3" - qs "6.5.1" + proxy-addr "~2.0.4" + qs "6.5.2" range-parser "~1.2.0" - safe-buffer "5.1.1" + safe-buffer "5.1.2" send "0.16.2" serve-static "1.13.2" setprototypeof "1.1.0" @@ -1106,76 +1287,124 @@ express@^4.14.0: utils-merge "1.0.1" vary "~1.1.2" -extend@3, extend@^3.0.0, extend@~3.0.0, extend@~3.0.1: - version "3.0.1" - resolved "http://registry.npm.taobao.org/extend/download/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" -external-editor@^2.0.4: - version "2.2.0" - resolved "http://registry.npm.taobao.org/external-editor/download/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +external-editor@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" + integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA== dependencies: - chardet "^0.4.0" - iconv-lite "^0.4.17" + chardet "^0.7.0" + iconv-lite "^0.4.24" tmp "^0.0.33" +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + extsprintf@1.3.0: version "1.3.0" - resolved "http://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= extsprintf@^1.2.0: version "1.4.0" - resolved "http://registry.npm.taobao.org/extsprintf/download/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= -fast-deep-equal@^1.0.0: - version "1.1.0" - resolved "http://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" +fast-deep-equal@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" + integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= fast-json-stable-stringify@^2.0.0: version "2.0.0" - resolved "http://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= fast-levenshtein@~2.0.4: version "2.0.6" - resolved "http://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= fd-slicer@~1.1.0: version "1.1.0" - resolved "http://registry.npm.taobao.org/fd-slicer/download/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= dependencies: pend "~1.2.0" figures@^2.0.0: version "2.0.0" - resolved "http://registry.npm.taobao.org/figures/download/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= dependencies: escape-string-regexp "^1.0.5" -file-entry-cache@^2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" +file-entry-cache@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" + integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== dependencies: - flat-cache "^1.2.1" - object-assign "^4.0.1" + flat-cache "^2.0.1" file-type@^3.8.0: version "3.9.0" - resolved "http://registry.npm.taobao.org/file-type/download/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" + integrity sha1-JXoHg4TR24CHvESdEH1SpSZyuek= file-type@^5.2.0: version "5.2.0" - resolved "http://registry.npm.taobao.org/file-type/download/file-type-5.2.0.tgz#2ddbea7c73ffe36368dfae49dc338c058c2b8ad6" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-5.2.0.tgz#2ddbea7c73ffe36368dfae49dc338c058c2b8ad6" + integrity sha1-LdvqfHP/42No365J3DOMBYwritY= file-type@^6.1.0: version "6.2.0" - resolved "http://registry.npm.taobao.org/file-type/download/file-type-6.2.0.tgz#e50cd75d356ffed4e306dc4f5bcf52a79903a919" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-6.2.0.tgz#e50cd75d356ffed4e306dc4f5bcf52a79903a919" + integrity sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg== -file-uri-to-path@1: - version "1.0.0" - resolved "http://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" finalhandler@1.1.1: version "1.1.1" - resolved "http://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" + integrity sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg== dependencies: debug "2.6.9" encodeurl "~1.0.2" @@ -1185,161 +1414,185 @@ finalhandler@1.1.1: statuses "~1.4.0" unpipe "~1.0.0" -find-up@^1.0.0: - version "1.1.2" - resolved "http://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^2.0.0: +find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" - resolved "http://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= dependencies: locate-path "^2.0.0" -flat-cache@^1.2.1: - version "1.3.0" - resolved "http://registry.npm.taobao.org/flat-cache/download/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481" +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== dependencies: - circular-json "^0.3.1" - del "^2.0.2" - graceful-fs "^4.1.2" - write "^0.2.1" + locate-path "^3.0.0" -follow-redirects@1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.0.0.tgz#8e34298cbd2e176f254effec75a1c78cc849fd37" +findup-sync@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc" + integrity sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw= dependencies: - debug "^2.2.0" + detect-file "^1.0.0" + is-glob "^3.1.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" + +flat-cache@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" + integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== + dependencies: + flatted "^2.0.0" + rimraf "2.6.3" + write "1.0.3" -for-each@^0.3.2: +flat@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" + integrity sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw== + dependencies: + is-buffer "~2.0.3" + +flatted@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.0.tgz#55122b6536ea496b4b44893ee2608141d10d9916" + integrity sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg== + +for-each@^0.3.3: version "0.3.3" - resolved "http://registry.npm.taobao.org/for-each/download/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== dependencies: is-callable "^1.1.3" +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + forever-agent@~0.6.1: version "0.6.1" - resolved "http://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= -form-data@~2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/form-data/download/form-data-2.0.0.tgz#6f0aebadcc5da16c13e1ecc11137d85f9b883b25" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.11" - -form-data@~2.3.0, form-data@~2.3.1: - version "2.3.2" - resolved "http://registry.npm.taobao.org/form-data/download/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== dependencies: asynckit "^0.4.0" - combined-stream "1.0.6" + combined-stream "^1.0.6" mime-types "^2.1.12" forwarded@~0.1.2: version "0.1.2" - resolved "http://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" fresh@0.5.2: version "0.5.2" - resolved "http://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= fs-constants@^1.0.0: version "1.0.0" - resolved "http://registry.npm.taobao.org/fs-constants/download/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== -fs-extra@^2.0.0, fs-extra@^2.1.2: - version "2.1.2" - resolved "http://registry.npm.taobao.org/fs-extra/download/fs-extra-2.1.2.tgz#046c70163cef9aad46b0e4a7fa467fb22d71de35" +fs-extra@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" + integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== dependencies: graceful-fs "^4.1.2" - jsonfile "^2.1.0" + jsonfile "^4.0.0" + universalify "^0.1.0" -fs-promise@^2.0.0: - version "2.0.3" - resolved "http://registry.npm.taobao.org/fs-promise/download/fs-promise-2.0.3.tgz#f64e4f854bcf689aa8bddcba268916db3db46854" - dependencies: - any-promise "^1.3.0" - fs-extra "^2.0.0" - mz "^2.6.0" - thenify-all "^1.6.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - -fstream@^1.0.2, fstream@^1.0.8: - version "1.0.11" - resolved "http://registry.npm.taobao.org/fstream/download/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" +fs-extra@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== dependencies: graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" + jsonfile "^4.0.0" + universalify "^0.1.0" -ftp@~0.3.10: - version "0.3.10" - resolved "http://registry.npm.taobao.org/ftp/download/ftp-0.3.10.tgz#9197d861ad8142f3e63d5a83bfe4c59f7330885d" +fs-minipass@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" + integrity sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ== dependencies: - readable-stream "1.1.x" - xregexp "2.0.0" + minipass "^2.2.1" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -function-bind@^1.0.2: +function-bind@^1.0.2, function-bind@^1.1.1: version "1.1.1" - resolved "http://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== functional-red-black-tree@^1.0.1: version "1.0.1" - resolved "http://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - -generate-function@^2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/generate-function/download/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -generate-object-property@^1.1.0: - version "1.2.0" - resolved "http://registry.npm.taobao.org/generate-object-property/download/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" - dependencies: - is-property "^1.0.0" +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== get-func-name@^2.0.0: version "2.0.0" - resolved "http://registry.npm.taobao.org/get-func-name/download/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" + integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= get-stream@^2.2.0: version "2.3.1" - resolved "http://registry.npm.taobao.org/get-stream/download/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" + integrity sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4= dependencies: object-assign "^4.0.1" pinkie-promise "^2.0.0" get-stream@^3.0.0: version "3.0.0" - resolved "http://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= -get-uri@^2.0.0: - version "2.0.2" - resolved "http://registry.npm.taobao.org/get-uri/download/get-uri-2.0.2.tgz#5c795e71326f6ca1286f2fc82575cd2bab2af578" +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== dependencies: - data-uri-to-buffer "1" - debug "2" - extend "3" - file-uri-to-path "1" - ftp "~0.3.10" - readable-stream "2" + pump "^3.0.0" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= getpass@^0.1.1: version "0.1.7" - resolved "http://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= dependencies: assert-plus "^1.0.0" -glob@7.1.2, glob@^7.0.3, glob@^7.0.5, glob@^7.1.2: - version "7.1.2" - resolved "http://registry.npm.taobao.org/glob/download/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" +glob@7.1.3, glob@^7.1.2, glob@^7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" + integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -1348,35 +1601,48 @@ glob@7.1.2, glob@^7.0.3, glob@^7.0.5, glob@^7.1.2: once "^1.3.0" path-is-absolute "^1.0.0" +global-modules@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== + dependencies: + global-prefix "^1.0.1" + is-windows "^1.0.1" + resolve-dir "^1.0.0" + +global-prefix@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= + dependencies: + expand-tilde "^2.0.2" + homedir-polyfill "^1.0.1" + ini "^1.3.4" + is-windows "^1.0.1" + which "^1.2.14" + global@~4.3.0: version "4.3.2" - resolved "http://registry.npm.taobao.org/global/download/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f" + resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f" + integrity sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8= dependencies: min-document "^2.19.0" process "~0.5.1" -globals@^11.0.1: - version "11.5.0" - resolved "http://registry.npm.taobao.org/globals/download/globals-11.5.0.tgz#6bc840de6771173b191f13d3a9c94d441ee92642" - -globby@^5.0.0: - version "5.0.0" - resolved "http://registry.npm.taobao.org/globby/download/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" - dependencies: - array-union "^1.0.1" - arrify "^1.0.0" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" +globals@^11.7.0: + version "11.11.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.11.0.tgz#dcf93757fa2de5486fbeed7118538adf789e9c2e" + integrity sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw== google-protobuf@^3.5.0: - version "3.6.0" - resolved "http://registry.npm.taobao.org/google-protobuf/download/google-protobuf-3.6.0.tgz#e2bafb00c20a8734174d8f89e0a842709e2ceed0" + version "3.7.0" + resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.7.0.tgz#5c7228b68d24a7c93706c1a44efdb8ee883cea43" + integrity sha512-QZwgOBPfvnAdnYA+tizEs9CbE42mMXFPGCmYAh0podfJbGPkBIEC6vR9gMSGxjaSB8t2GCGLhOHiX9OrseOWCA== -got@7.1.0, got@^7.1.0: +got@^7.1.0: version "7.1.0" - resolved "http://registry.npm.taobao.org/got/download/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a" + resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a" + integrity sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw== dependencies: decompress-response "^3.2.0" duplexer3 "^0.1.4" @@ -1394,138 +1660,147 @@ got@7.1.0, got@^7.1.0: url-to-options "^1.0.1" graceful-fs@^4.1.10, graceful-fs@^4.1.2, graceful-fs@^4.1.6: - version "4.1.11" - resolved "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + version "4.1.15" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" + integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== "graceful-readlink@>= 1.0.0": version "1.0.1" - resolved "http://registry.npm.taobao.org/graceful-readlink/download/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= growl@1.10.5: version "1.10.5" - resolved "http://registry.npm.taobao.org/growl/download/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== har-schema@^2.0.0: version "2.0.0" - resolved "http://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - -har-validator@~2.0.6: - version "2.0.6" - resolved "http://registry.npm.taobao.org/har-validator/download/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" - dependencies: - chalk "^1.1.1" - commander "^2.9.0" - is-my-json-valid "^2.12.4" - pinkie-promise "^2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= -har-validator@~5.0.3: - version "5.0.3" - resolved "http://registry.npm.taobao.org/har-validator/download/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" +har-validator@~5.1.0: + version "5.1.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" + integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== dependencies: - ajv "^5.1.0" + ajv "^6.5.5" har-schema "^2.0.0" -has-ansi@^2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - dependencies: - ansi-regex "^2.0.0" - has-flag@^3.0.0: version "3.0.0" - resolved "http://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= has-symbol-support-x@^1.4.1: version "1.4.2" - resolved "http://registry.npm.taobao.org/has-symbol-support-x/download/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" + resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" + integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== + +has-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" + integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= has-to-string-tag-x@^1.2.0: version "1.4.1" - resolved "http://registry.npm.taobao.org/has-to-string-tag-x/download/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" + resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" + integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== dependencies: has-symbol-support-x "^1.4.1" -has@^1.0.1: - version "1.0.1" - resolved "http://registry.npm.taobao.org/has/download/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= dependencies: - function-bind "^1.0.2" + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.1, has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" hash-base@^3.0.0: version "3.0.4" - resolved "http://registry.npm.taobao.org/hash-base/download/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" + integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= dependencies: inherits "^2.0.1" safe-buffer "^5.0.1" -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.5" - resolved "http://registry.npm.taobao.org/hash.js/download/hash.js-1.1.5.tgz#e38ab4b85dfb1e0c40fe9265c0e9b54854c23812" +hash.js@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" + integrity sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA== dependencies: inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hawk@~3.1.3: - version "3.1.3" - resolved "http://registry.npm.taobao.org/hawk/download/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" - dependencies: - boom "2.x.x" - cryptiles "2.x.x" - hoek "2.x.x" - sntp "1.x.x" + minimalistic-assert "^1.0.0" -hawk@~6.0.2: - version "6.0.2" - resolved "http://registry.npm.taobao.org/hawk/download/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== dependencies: - boom "4.x.x" - cryptiles "3.x.x" - hoek "4.x.x" - sntp "2.x.x" - -he@1.1.1: - version "1.1.1" - resolved "http://registry.npm.taobao.org/he/download/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" + inherits "^2.0.3" + minimalistic-assert "^1.0.1" -hipchat-notifier@^1.1.0: - version "1.1.0" - resolved "http://registry.npm.taobao.org/hipchat-notifier/download/hipchat-notifier-1.1.0.tgz#b6d249755437c191082367799d3ba9a0f23b231e" - dependencies: - lodash "^4.0.0" - request "^2.0.0" +he@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== hmac-drbg@^1.0.0: version "1.0.1" - resolved "http://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= dependencies: hash.js "^1.0.3" minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoek@2.x.x: - version "2.16.3" - resolved "http://registry.npm.taobao.org/hoek/download/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" - -hoek@4.x.x: - version "4.2.1" - resolved "http://registry.npm.taobao.org/hoek/download/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb" +homedir-polyfill@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== + dependencies: + parse-passwd "^1.0.0" hosted-git-info@^2.1.4: - version "2.6.0" - resolved "http://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.6.0.tgz#23235b29ab230c576aab0d4f13fc046b0b038222" - -http-errors@1.6.2: - version "1.6.2" - resolved "http://registry.npm.taobao.org/http-errors/download/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" - dependencies: - depd "1.1.1" - inherits "2.0.3" - setprototypeof "1.0.3" - statuses ">= 1.3.1 < 2" + version "2.7.1" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" + integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w== http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3: version "1.6.3" - resolved "http://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= dependencies: depd "~1.1.2" inherits "2.0.3" @@ -1534,284 +1809,396 @@ http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3: http-https@^1.0.0: version "1.0.0" - resolved "http://registry.npm.taobao.org/http-https/download/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b" - -http-proxy-agent@^2.1.0: - version "2.1.0" - resolved "http://registry.npm.taobao.org/http-proxy-agent/download/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405" - dependencies: - agent-base "4" - debug "3.1.0" - -http-signature@~1.1.0: - version "1.1.1" - resolved "http://registry.npm.taobao.org/http-signature/download/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" - dependencies: - assert-plus "^0.2.0" - jsprim "^1.2.2" - sshpk "^1.7.0" + resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b" + integrity sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs= http-signature@~1.2.0: version "1.2.0" - resolved "http://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= dependencies: assert-plus "^1.0.0" jsprim "^1.2.2" sshpk "^1.7.0" -httpntlm@1.6.1: - version "1.6.1" - resolved "http://registry.npm.taobao.org/httpntlm/download/httpntlm-1.6.1.tgz#ad01527143a2e8773cfae6a96f58656bb52a34b2" +iconv-lite@0.4.23: + version "0.4.23" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" + integrity sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA== dependencies: - httpreq ">=0.4.22" - underscore "~1.7.0" + safer-buffer ">= 2.1.2 < 3" -httpreq@>=0.4.22: +iconv-lite@^0.4.24: version "0.4.24" - resolved "http://registry.npm.taobao.org/httpreq/download/httpreq-0.4.24.tgz#4335ffd82cd969668a39465c929ac61d6393627f" - -https-proxy-agent@^2.2.1: - version "2.2.1" - resolved "http://registry.npm.taobao.org/https-proxy-agent/download/https-proxy-agent-2.2.1.tgz#51552970fa04d723e04c56d04178c3f92592bbc0" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== dependencies: - agent-base "^4.1.0" - debug "^3.1.0" - -iconv-lite@0.4.15: - version "0.4.15" - resolved "http://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" - -iconv-lite@0.4.19: - version "0.4.19" - resolved "http://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" + safer-buffer ">= 2.1.2 < 3" -iconv-lite@0.4.23, iconv-lite@^0.4.17: - version "0.4.23" - resolved "http://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" +idna-uts46-hx@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz#a1dc5c4df37eee522bf66d969cc980e00e8711f9" + integrity sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA== dependencies: - safer-buffer ">= 2.1.2 < 3" + punycode "2.1.0" ieee754@^1.1.4: - version "1.1.11" - resolved "http://registry.npm.taobao.org/ieee754/download/ieee754-1.1.11.tgz#c16384ffe00f5b7835824e67b6f2bd44a5229455" + version "1.1.12" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b" + integrity sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA== + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^3.3.3: - version "3.3.8" - resolved "http://registry.npm.taobao.org/ignore/download/ignore-3.3.8.tgz#3f8e9c35d38708a3a7e0e9abb6c73e7ee7707b2b" +import-fresh@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.0.0.tgz#a3d897f420cab0e671236897f75bc14b4885c390" + integrity sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" imurmurhash@^0.1.4: version "0.1.4" - resolved "http://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - -inflection@~1.12.0: - version "1.12.0" - resolved "http://registry.npm.taobao.org/inflection/download/inflection-1.12.0.tgz#a200935656d6f5f6bc4dc7502e1aecb703228416" - -inflection@~1.3.0: - version "1.3.8" - resolved "http://registry.npm.taobao.org/inflection/download/inflection-1.3.8.tgz#cbd160da9f75b14c3cc63578d4f396784bf3014e" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= inflight@^1.0.4: version "1.0.6" - resolved "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= dependencies: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: version "2.0.3" - resolved "http://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -inquirer@^3.0.6: - version "3.3.0" - resolved "http://registry.npm.taobao.org/inquirer/download/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" +ini@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + +inquirer@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.2.tgz#46941176f65c9eb20804627149b743a218f25406" + integrity sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA== dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.0" + ansi-escapes "^3.2.0" + chalk "^2.4.2" cli-cursor "^2.1.0" cli-width "^2.0.0" - external-editor "^2.0.4" + external-editor "^3.0.3" figures "^2.0.0" - lodash "^4.3.0" + lodash "^4.17.11" mute-stream "0.0.7" run-async "^2.2.0" - rx-lite "^4.0.8" - rx-lite-aggregates "^4.0.8" + rxjs "^6.4.0" string-width "^2.1.0" - strip-ansi "^4.0.0" + strip-ansi "^5.0.0" through "^2.3.6" -ip@^1.1.2, ip@^1.1.4, ip@^1.1.5: - version "1.1.5" - resolved "http://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" +invert-kv@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" + integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== + +ipaddr.js@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e" + integrity sha1-6qM9bd16zo9/b+DJygRA5wZzix4= -ipaddr.js@1.6.0: - version "1.6.0" - resolved "http://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.6.0.tgz#e3fa357b773da619f26e95f049d055c72796f86b" +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" is-arrayish@^0.2.1: version "0.2.1" - resolved "http://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-buffer@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" + integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw== -is-builtin-module@^1.0.0: +is-callable@^1.1.3, is-callable@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" + integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: version "1.0.0" - resolved "http://registry.npm.taobao.org/is-builtin-module/download/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== dependencies: - builtin-modules "^1.0.0" + kind-of "^6.0.0" -is-callable@^1.1.3: - version "1.1.4" - resolved "http://registry.npm.taobao.org/is-callable/download/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" +is-date-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" -is-function@^1.0.1: +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: version "1.0.1" - resolved "http://registry.npm.taobao.org/is-function/download/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" -is-hex-prefixed@1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/is-hex-prefixed/download/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" +is-extglob@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -is-my-ip-valid@^1.0.0: +is-fullwidth-code-point@^1.0.0: version "1.0.0" - resolved "http://registry.npm.taobao.org/is-my-ip-valid/download/is-my-ip-valid-1.0.0.tgz#7b351b8e8edd4d3995d4d066680e664d94696824" - -is-my-json-valid@^2.12.4: - version "2.17.2" - resolved "http://registry.npm.taobao.org/is-my-json-valid/download/is-my-json-valid-2.17.2.tgz#6b2103a288e94ef3de5cf15d29dd85fc4b78d65c" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= dependencies: - generate-function "^2.0.0" - generate-object-property "^1.1.0" - is-my-ip-valid "^1.0.0" - jsonpointer "^4.0.0" - xtend "^4.0.0" + number-is-nan "^1.0.0" -is-natural-number@^4.0.1: - version "4.0.1" - resolved "http://registry.npm.taobao.org/is-natural-number/download/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= -is-object@^1.0.1: +is-function@^1.0.1: version "1.0.1" - resolved "http://registry.npm.taobao.org/is-object/download/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" + resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" + integrity sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU= + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" -is-path-cwd@^1.0.0: +is-hex-prefixed@1.0.0: version "1.0.0" - resolved "http://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" + integrity sha1-fY035q135dEnFIkTxXPggtd39VQ= -is-path-in-cwd@^1.0.0: - version "1.0.1" - resolved "http://registry.npm.taobao.org/is-path-in-cwd/download/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" +is-natural-number@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" + integrity sha1-q5124dtM7VHjXeDHLr7PCfc0zeg= + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= dependencies: - is-path-inside "^1.0.0" + kind-of "^3.0.2" -is-path-inside@^1.0.0: +is-object@^1.0.1: version "1.0.1" - resolved "http://registry.npm.taobao.org/is-path-inside/download/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" - dependencies: - path-is-inside "^1.0.1" + resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" + integrity sha1-iVJojF7C/9awPsyF52ngKQMINHA= is-plain-obj@^1.1.0: version "1.1.0" - resolved "http://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" is-promise@^2.1.0: version "2.1.0" - resolved "http://registry.npm.taobao.org/is-promise/download/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - -is-property@^1.0.0: - version "1.0.2" - resolved "http://registry.npm.taobao.org/is-property/download/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= -is-resolvable@^1.0.0: - version "1.1.0" - resolved "http://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" +is-regex@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= + dependencies: + has "^1.0.1" is-retry-allowed@^1.0.0: version "1.1.0" - resolved "http://registry.npm.taobao.org/is-retry-allowed/download/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" + integrity sha1-EaBgVotnM5REAz0BJaYaINVk+zQ= is-stream@^1.0.0, is-stream@^1.1.0: version "1.1.0" - resolved "http://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-symbol@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" + integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== + dependencies: + has-symbols "^1.0.0" is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" - resolved "http://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= -isarray@0.0.1: - version "0.0.1" - resolved "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" +is-windows@^1.0.1, is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== -isarray@^1.0.0, isarray@~1.0.0: +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" - resolved "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= isexe@^2.0.0: version "2.0.0" - resolved "http://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= isstream@~0.1.2: version "0.1.2" - resolved "http://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= isurl@^1.0.0-alpha5: version "1.0.0" - resolved "http://registry.npm.taobao.org/isurl/download/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" + resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" + integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== dependencies: has-to-string-tag-x "^1.2.0" is-object "^1.0.1" -js-sha3@^0.3.1: - version "0.3.1" - resolved "http://registry.npm.taobao.org/js-sha3/download/js-sha3-0.3.1.tgz#86122802142f0828502a0d1dee1d95e253bb0243" +js-sha3@0.5.7, js-sha3@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" + integrity sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc= -js-tokens@^3.0.2: - version "3.0.2" - resolved "http://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" +js-sha3@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.6.1.tgz#5b89f77a7477679877f58c4a075240934b1f95c0" + integrity sha1-W4n3enR3Z5h39YxKB1JAk0sflcA= + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.9.1: - version "3.11.0" - resolved "http://registry.npm.taobao.org/js-yaml/download/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef" +js-yaml@3.12.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" + integrity sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^3.12.0: + version "3.12.2" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.2.tgz#ef1d067c5a9d9cb65bd72f285b5d8105c77f14fc" + integrity sha512-QHn/Lh/7HhZ/Twc7vJYQTkjuCa0kaCcDcjK5Zlk2rvnUpy7DxMJ23+Jc2dcyvltwQVg1nygAVlB2oRDFHoRS5Q== dependencies: argparse "^1.0.7" esprima "^4.0.0" jsbn@~0.1.0: version "0.1.1" - resolved "http://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= -json-schema-traverse@^0.3.0: - version "0.3.1" - resolved "http://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== json-schema@0.2.3: version "0.2.3" - resolved "http://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "http://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= -json-stringify-safe@5.0.x, json-stringify-safe@~5.0.1: +json-stringify-safe@~5.0.1: version "5.0.1" - resolved "http://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= -jsonfile@^2.1.0: - version "2.4.0" - resolved "http://registry.npm.taobao.org/jsonfile/download/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= optionalDependencies: graceful-fs "^4.1.6" -jsonpointer@^4.0.0: - version "4.0.1" - resolved "http://registry.npm.taobao.org/jsonpointer/download/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" - jsprim@^1.2.2: version "1.4.1" - resolved "http://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= dependencies: assert-plus "1.0.0" extsprintf "1.3.0" @@ -1819,38 +2206,56 @@ jsprim@^1.2.2: verror "1.10.0" keccakjs@^0.2.1: - version "0.2.1" - resolved "http://registry.npm.taobao.org/keccakjs/download/keccakjs-0.2.1.tgz#1d633af907ef305bbf9f2fa616d56c44561dfa4d" + version "0.2.3" + resolved "https://registry.yarnpkg.com/keccakjs/-/keccakjs-0.2.3.tgz#5e4e969ce39689a3861f445d7752ee3477f9fe72" + integrity sha512-BjLkNDcfaZ6l8HBG9tH0tpmDv3sS2mA7FNQxFHpCdzP3Gb2MVruXBSuoM66SnVxKJpAr5dKGdkHD+bDokt8fTg== dependencies: - browserify-sha3 "^0.0.1" - sha3 "^1.1.0" + browserify-sha3 "^0.0.4" + sha3 "^1.2.2" -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "http://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" + is-buffer "^1.1.5" -libbase64@0.1.0: - version "0.1.0" - resolved "http://registry.npm.taobao.org/libbase64/download/libbase64-0.1.0.tgz#62351a839563ac5ff5bd26f12f60e9830bb751e6" +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" -libmime@3.0.0: - version "3.0.0" - resolved "http://registry.npm.taobao.org/libmime/download/libmime-3.0.0.tgz#51a1a9e7448ecbd32cda54421675bb21bc093da6" +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== + +lcid@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" + integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== dependencies: - iconv-lite "0.4.15" - libbase64 "0.1.0" - libqp "1.1.0" + invert-kv "^2.0.0" -libqp@1.1.0: - version "1.1.0" - resolved "http://registry.npm.taobao.org/libqp/download/libqp-1.1.0.tgz#f5e6e06ad74b794fb5b5b66988bf728ef1dedbe8" +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" load-json-file@^2.0.0: version "2.0.0" - resolved "http://registry.npm.taobao.org/load-json-file/download/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= dependencies: graceful-fs "^4.1.2" parse-json "^2.2.0" @@ -1859,328 +2264,463 @@ load-json-file@^2.0.0: locate-path@^2.0.0: version "2.0.0" - resolved "http://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= dependencies: p-locate "^2.0.0" path-exists "^3.0.0" -lodash@^4.0.0, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.4, lodash@^4.3.0: - version "4.17.10" - resolved "http://registry.npm.taobao.org/lodash/download/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +lodash@^4.17.10, lodash@^4.17.11: + version "4.17.11" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" + integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== -log4js@^2.7.0: - version "2.7.0" - resolved "http://registry.npm.taobao.org/log4js/download/log4js-2.7.0.tgz#adbf21cc70927644e3cc86669a0225acbc230971" +log-symbols@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== dependencies: - circular-json "^0.5.4" - date-format "^1.2.0" - debug "^3.1.0" - semver "^5.5.0" - streamroller "0.7.0" - optionalDependencies: - amqplib "^0.5.2" - axios "^0.15.3" - hipchat-notifier "^1.1.0" - loggly "^1.1.0" - mailgun-js "^0.18.0" - nodemailer "^2.5.0" - redis "^2.7.1" - slack-node "~0.2.0" - -loggly@^1.1.0: - version "1.1.1" - resolved "http://registry.npm.taobao.org/loggly/download/loggly-1.1.1.tgz#0a0fc1d3fa3a5ec44fdc7b897beba2a4695cebee" + chalk "^2.0.1" + +log4js@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-4.0.2.tgz#0c73e623ca4448669653eb0e9f629beacc7fbbe3" + integrity sha512-KE7HjiieVDPPdveA3bJZSuu0n8chMkFl8mIoisBFxwEJ9FmXe4YzNuiqSwYUiR1K8q8/5/8Yd6AClENY1RA9ww== dependencies: - json-stringify-safe "5.0.x" - request "2.75.x" - timespan "2.3.x" + date-format "^2.0.0" + debug "^3.1.0" + flatted "^2.0.0" + rfdc "^1.1.2" + streamroller "^1.0.1" lowercase-keys@^1.0.0: version "1.0.1" - resolved "http://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== -lru-cache@^4.0.1, lru-cache@^4.1.2: - version "4.1.3" - resolved "http://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" +make-dir@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" + pify "^3.0.0" -mailcomposer@4.0.1: - version "4.0.1" - resolved "http://registry.npm.taobao.org/mailcomposer/download/mailcomposer-4.0.1.tgz#0e1c44b2a07cf740ee17dc149ba009f19cadfeb4" +map-age-cleaner@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== dependencies: - buildmail "4.0.1" - libmime "3.0.0" + p-defer "^1.0.0" -mailgun-js@^0.18.0: - version "0.18.0" - resolved "http://registry.npm.taobao.org/mailgun-js/download/mailgun-js-0.18.0.tgz#81fed0c66a411d3ff6c4354861ad21387afcfaaa" - dependencies: - async "~2.6.0" - debug "~3.1.0" - form-data "~2.3.0" - inflection "~1.12.0" - is-stream "^1.1.0" - path-proxy "~1.0.0" - promisify-call "^2.0.2" - proxy-agent "~3.0.0" - tsscmp "~1.0.0" +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= -make-dir@^1.0.0: - version "1.2.0" - resolved "http://registry.npm.taobao.org/make-dir/download/make-dir-1.2.0.tgz#6d6a49eead4aae296c53bbf3a1a008bd6c89469b" +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= dependencies: - pify "^3.0.0" + object-visit "^1.0.0" md5.js@^1.3.4: - version "1.3.4" - resolved "http://registry.npm.taobao.org/md5.js/download/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d" + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== dependencies: hash-base "^3.0.0" inherits "^2.0.1" + safe-buffer "^5.1.2" media-typer@0.3.0: version "0.3.0" - resolved "http://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +mem@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-4.2.0.tgz#5ee057680ed9cb8dad8a78d820f9a8897a102025" + integrity sha512-5fJxa68urlY0Ir8ijatKa3eRz5lwXnRCTvo9+TbTGAuTFJOwpGcY0X05moBd0nW45965Njt4CDI2GFQoG8DvqA== + dependencies: + map-age-cleaner "^0.1.1" + mimic-fn "^2.0.0" + p-is-promise "^2.0.0" merge-descriptors@1.0.1: version "1.0.1" - resolved "http://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= methods@~1.1.2: version "1.1.2" - resolved "http://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +micromatch@^3.0.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" miller-rabin@^4.0.0: version "4.0.1" - resolved "http://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== dependencies: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@~1.33.0: - version "1.33.0" - resolved "http://registry.npm.taobao.org/mime-db/download/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" +mime-db@~1.38.0: + version "1.38.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.38.0.tgz#1a2aab16da9eb167b49c6e4df2d9c68d63d8e2ad" + integrity sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg== -mime-types@^2.1.11, mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.17, mime-types@~2.1.18, mime-types@~2.1.7: - version "2.1.18" - resolved "http://registry.npm.taobao.org/mime-types/download/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" +mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.18, mime-types@~2.1.19: + version "2.1.22" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.22.tgz#fe6b355a190926ab7698c9a0556a11199b2199bd" + integrity sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog== dependencies: - mime-db "~1.33.0" + mime-db "~1.38.0" mime@1.4.1: version "1.4.1" - resolved "http://registry.npm.taobao.org/mime/download/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" + integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== mimic-fn@^1.0.0: version "1.2.0" - resolved "http://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + +mimic-fn@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.0.0.tgz#0913ff0b121db44ef5848242c38bbb35d44cabde" + integrity sha512-jbex9Yd/3lmICXwYT6gA/j2mNQGU48wCh/VzRd+/Y/PjYQtlg1gLMdZqvu9s/xH7qKvngxRObl56XZR609IMbA== mimic-response@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/mimic-response/download/mimic-response-1.0.0.tgz#df3d3652a73fded6b9b0b24146e6fd052353458e" + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== min-document@^2.19.0: version "2.19.0" - resolved "http://registry.npm.taobao.org/min-document/download/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" + resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" + integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU= dependencies: dom-walk "^0.1.0" minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" - resolved "http://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: version "1.0.1" - resolved "http://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: +minimatch@3.0.4, minimatch@^3.0.4: version "3.0.4" - resolved "http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: brace-expansion "^1.1.7" minimist@0.0.8: version "0.0.8" - resolved "http://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= + +minipass@^2.2.1, minipass@^2.3.4: + version "2.3.5" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" + integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + +minizlib@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" + integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== + dependencies: + minipass "^2.2.1" + +mixin-deep@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" + integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" mkdirp-promise@^5.0.1: version "5.0.1" - resolved "http://registry.npm.taobao.org/mkdirp-promise/download/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1" + resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1" + integrity sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE= dependencies: mkdirp "*" -mkdirp@*, mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.1: +mkdirp@*, mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1: version "0.5.1" - resolved "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= dependencies: minimist "0.0.8" -mocha@^5.2.0: - version "5.2.0" - resolved "http://registry.npm.taobao.org/mocha/download/mocha-5.2.0.tgz#6d8ae508f59167f940f2b5b3c4a612ae50c90ae6" +mocha@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-6.0.2.tgz#cdc1a6fdf66472c079b5605bac59d29807702d2c" + integrity sha512-RtTJsmmToGyeTznSOMoM6TPEk1A84FQaHIciKrRqARZx+B5ccJ5tXlmJzEKGBxZdqk9UjpRsesZTUkZmR5YnuQ== dependencies: + ansi-colors "3.2.3" browser-stdout "1.3.1" - commander "2.15.1" - debug "3.1.0" + debug "3.2.6" diff "3.5.0" escape-string-regexp "1.0.5" - glob "7.1.2" + findup-sync "2.0.0" + glob "7.1.3" growl "1.10.5" - he "1.1.1" + he "1.2.0" + js-yaml "3.12.0" + log-symbols "2.2.0" minimatch "3.0.4" mkdirp "0.5.1" - supports-color "5.4.0" + ms "2.1.1" + node-environment-flags "1.0.4" + object.assign "4.1.0" + strip-json-comments "2.0.1" + supports-color "6.0.0" + which "1.3.1" + wide-align "1.1.3" + yargs "12.0.5" + yargs-parser "11.1.1" + yargs-unparser "1.5.0" mock-fs@^4.1.0: - version "4.5.0" - resolved "http://registry.npm.taobao.org/mock-fs/download/mock-fs-4.5.0.tgz#75245b966f7e3defe197b03454af9c5b355594b7" - -mout@^0.11.0: - version "0.11.1" - resolved "http://registry.npm.taobao.org/mout/download/mout-0.11.1.tgz#ba3611df5f0e5b1ffbfd01166b8f02d1f5fa2b99" + version "4.8.0" + resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.8.0.tgz#eb0784ceba4b34c91a924a5112eeb36e1b5a9e29" + integrity sha512-Gwj4KnJOW15YeTJKO5frFd/WDO5Mc0zxXqL9oHx3+e9rBqW8EVARqQHSaIXznUdljrD6pvbNGW2ZGXKPEfYJfw== ms@2.0.0: version "2.0.0" - resolved "http://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.1, ms@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== mute-stream@0.0.7: version "0.0.7" - resolved "http://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" - -mz@^2.6.0: - version "2.7.0" - resolved "http://registry.npm.taobao.org/mz/download/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= -nan@2.10.0, nan@^2.0.8, nan@^2.3.3: +nan@2.10.0: version "2.10.0" - resolved "http://registry.npm.taobao.org/nan/download/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" + integrity sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA== + +nan@^2.0.8, nan@^2.3.3: + version "2.13.1" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.1.tgz#a15bee3790bde247e8f38f1d446edcdaeb05f2dd" + integrity sha512-I6YB/YEuDeUZMmhscXKxGgZlFnhsn5y0hgOZBadkzfTRrZBtJDZeg6eQf7PYMIEclwmorTKK8GztsyOUSVBREA== nano-json-stream-parser@^0.1.2: version "0.1.2" - resolved "http://registry.npm.taobao.org/nano-json-stream-parser/download/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" + resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" + integrity sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18= + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" natural-compare@^1.4.0: version "1.4.0" - resolved "http://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= negotiator@0.6.1: version "0.6.1" - resolved "http://registry.npm.taobao.org/negotiator/download/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" - -netmask@^1.0.6: - version "1.0.6" - resolved "http://registry.npm.taobao.org/netmask/download/netmask-1.0.6.tgz#20297e89d86f6f6400f250d9f4f6b4c1945fcd35" - -node-uuid@~1.4.7: - version "1.4.8" - resolved "http://registry.npm.taobao.org/node-uuid/download/node-uuid-1.4.8.tgz#b040eb0923968afabf8d32fb1f17f1167fdab907" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" + integrity sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk= -nodemailer-direct-transport@3.3.2: - version "3.3.2" - resolved "http://registry.npm.taobao.org/nodemailer-direct-transport/download/nodemailer-direct-transport-3.3.2.tgz#e96fafb90358560947e569017d97e60738a50a86" - dependencies: - nodemailer-shared "1.1.0" - smtp-connection "2.12.0" - -nodemailer-fetch@1.6.0: - version "1.6.0" - resolved "http://registry.npm.taobao.org/nodemailer-fetch/download/nodemailer-fetch-1.6.0.tgz#79c4908a1c0f5f375b73fe888da9828f6dc963a4" - -nodemailer-shared@1.1.0: - version "1.1.0" - resolved "http://registry.npm.taobao.org/nodemailer-shared/download/nodemailer-shared-1.1.0.tgz#cf5994e2fd268d00f5cf0fa767a08169edb07ec0" - dependencies: - nodemailer-fetch "1.6.0" - -nodemailer-smtp-pool@2.8.2: - version "2.8.2" - resolved "http://registry.npm.taobao.org/nodemailer-smtp-pool/download/nodemailer-smtp-pool-2.8.2.tgz#2eb94d6cf85780b1b4725ce853b9cbd5e8da8c72" - dependencies: - nodemailer-shared "1.1.0" - nodemailer-wellknown "0.1.10" - smtp-connection "2.12.0" - -nodemailer-smtp-transport@2.7.2: - version "2.7.2" - resolved "http://registry.npm.taobao.org/nodemailer-smtp-transport/download/nodemailer-smtp-transport-2.7.2.tgz#03d71c76314f14ac7dbc7bf033a6a6d16d67fb77" - dependencies: - nodemailer-shared "1.1.0" - nodemailer-wellknown "0.1.10" - smtp-connection "2.12.0" - -nodemailer-wellknown@0.1.10: - version "0.1.10" - resolved "http://registry.npm.taobao.org/nodemailer-wellknown/download/nodemailer-wellknown-0.1.10.tgz#586db8101db30cb4438eb546737a41aad0cf13d5" +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== -nodemailer@^2.5.0: - version "2.7.2" - resolved "http://registry.npm.taobao.org/nodemailer/download/nodemailer-2.7.2.tgz#f242e649aeeae39b6c7ed740ef7b061c404d30f9" +node-environment-flags@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/node-environment-flags/-/node-environment-flags-1.0.4.tgz#0b784a6551426bfc16d3b2208424dcbc2b2ff038" + integrity sha512-M9rwCnWVLW7PX+NUWe3ejEdiLYinRpsEre9hMkU/6NS4h+EEulYaDH1gCEZ2gyXsmw+RXYDaV2JkkTNcsPDJ0Q== dependencies: - libmime "3.0.0" - mailcomposer "4.0.1" - nodemailer-direct-transport "3.3.2" - nodemailer-shared "1.1.0" - nodemailer-smtp-pool "2.8.2" - nodemailer-smtp-transport "2.7.2" - socks "1.1.9" + object.getownpropertydescriptors "^2.0.3" normalize-package-data@^2.3.2: - version "2.4.0" - resolved "http://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== dependencies: hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" + resolve "^1.10.0" semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + number-to-bn@1.7.0: version "1.7.0" - resolved "http://registry.npm.taobao.org/number-to-bn/download/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" + resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" + integrity sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA= dependencies: bn.js "4.11.6" strip-hex-prefix "1.0.0" -oauth-sign@~0.8.1, oauth-sign@~0.8.2: - version "0.8.2" - resolved "http://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" - resolved "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-keys@^1.0.11, object-keys@^1.0.12: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.0.tgz#11bd22348dd2e096a045ab06f6c85bcc340fa032" + integrity sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg== -oboe@2.1.3: - version "2.1.3" - resolved "http://registry.npm.taobao.org/oboe/download/oboe-2.1.3.tgz#2b4865dbd46be81225713f4e9bfe4bcf4f680a4f" +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.assign@4.1.0, object.assign@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.1" + has-symbols "^1.0.0" + object-keys "^1.0.11" + +object.entries@^1.0.4: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519" + integrity sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.12.0" + function-bind "^1.1.1" + has "^1.0.3" + +object.getownpropertydescriptors@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" + integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= + dependencies: + define-properties "^1.1.2" + es-abstract "^1.5.1" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +oboe@2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/oboe/-/oboe-2.1.4.tgz#20c88cdb0c15371bb04119257d4fdd34b0aa49f6" + integrity sha1-IMiM2wwVNxuwQRklfU/dNLCqSfY= dependencies: http-https "^1.0.0" on-finished@~2.3.0: version "2.3.0" - resolved "http://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= dependencies: ee-first "1.1.1" once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" - resolved "http://registry.npm.taobao.org/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= dependencies: wrappy "1" onetime@^2.0.0: version "2.0.1" - resolved "http://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= dependencies: mimic-fn "^1.0.0" -optionator@^0.8.1, optionator@^0.8.2: +optionator@^0.8.2: version "0.8.2" - resolved "http://registry.npm.taobao.org/optionator/download/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= dependencies: deep-is "~0.1.3" fast-levenshtein "~2.0.4" @@ -2189,135 +2729,180 @@ optionator@^0.8.1, optionator@^0.8.2: type-check "~0.3.2" wordwrap "~1.0.0" +os-locale@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" + integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== + dependencies: + execa "^1.0.0" + lcid "^2.0.0" + mem "^4.0.0" + os-tmpdir@~1.0.2: version "1.0.2" - resolved "http://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= p-cancelable@^0.3.0: version "0.3.0" - resolved "http://registry.npm.taobao.org/p-cancelable/download/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" + integrity sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw== + +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= p-finally@^1.0.0: version "1.0.0" - resolved "http://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-is-promise@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.0.0.tgz#7554e3d572109a87e1f3f53f6a7d85d1b194f4c5" + integrity sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg== p-limit@^1.1.0: - version "1.2.0" - resolved "http://registry.npm.taobao.org/p-limit/download/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c" + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== dependencies: p-try "^1.0.0" +p-limit@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" + integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ== + dependencies: + p-try "^2.0.0" + p-locate@^2.0.0: version "2.0.0" - resolved "http://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= dependencies: p-limit "^1.1.0" +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + p-timeout@^1.1.1: version "1.2.1" - resolved "http://registry.npm.taobao.org/p-timeout/download/p-timeout-1.2.1.tgz#5eb3b353b7fce99f101a1038880bb054ebbea386" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.1.tgz#5eb3b353b7fce99f101a1038880bb054ebbea386" + integrity sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y= dependencies: p-finally "^1.0.0" p-try@^1.0.0: version "1.0.0" - resolved "http://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= -pac-proxy-agent@^2.0.1: - version "2.0.2" - resolved "http://registry.npm.taobao.org/pac-proxy-agent/download/pac-proxy-agent-2.0.2.tgz#90d9f6730ab0f4d2607dcdcd4d3d641aa26c3896" - dependencies: - agent-base "^4.2.0" - debug "^3.1.0" - get-uri "^2.0.0" - http-proxy-agent "^2.1.0" - https-proxy-agent "^2.2.1" - pac-resolver "^3.0.0" - raw-body "^2.2.0" - socks-proxy-agent "^3.0.0" - -pac-resolver@^3.0.0: - version "3.0.0" - resolved "http://registry.npm.taobao.org/pac-resolver/download/pac-resolver-3.0.0.tgz#6aea30787db0a891704deb7800a722a7615a6f26" +p-try@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" + integrity sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ== + +parent-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.0.tgz#df250bdc5391f4a085fb589dad761f5ad6b865b5" + integrity sha512-8Mf5juOMmiE4FcmzYc4IaiS9L3+9paz2KOiXzkRviCP6aDmN49Hz6EMWz0lGNp9pX80GvvAuLADtyGfW/Em3TA== dependencies: - co "^4.6.0" - degenerator "^1.0.4" - ip "^1.1.5" - netmask "^1.0.6" - thunkify "^2.1.2" + callsites "^3.0.0" parse-asn1@^5.0.0: - version "5.1.1" - resolved "http://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.1.tgz#f6bf293818332bd0dab54efb16087724745e6ca8" + version "5.1.4" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc" + integrity sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw== dependencies: asn1.js "^4.0.0" browserify-aes "^1.0.0" create-hash "^1.1.0" evp_bytestokey "^1.0.0" pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" parse-headers@^2.0.0: - version "2.0.1" - resolved "http://registry.npm.taobao.org/parse-headers/download/parse-headers-2.0.1.tgz#6ae83a7aa25a9d9b700acc28698cd1f1ed7e9536" + version "2.0.2" + resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.2.tgz#9545e8a4c1ae5eaea7d24992bca890281ed26e34" + integrity sha512-/LypJhzFmyBIDYP9aDVgeyEb5sQfbfY5mnDq4hVhlQ69js87wXfmEI5V3xI6vvXasqebp0oCytYFLxsBVfCzSg== dependencies: - for-each "^0.3.2" - trim "0.0.1" + for-each "^0.3.3" + string.prototype.trim "^1.1.2" parse-json@^2.2.0: version "2.2.0" - resolved "http://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= dependencies: error-ex "^1.2.0" +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + parseurl@~1.3.2: version "1.3.2" - resolved "http://registry.npm.taobao.org/parseurl/download/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" + integrity sha1-/CidTtiZMRlGDBViUyYs3I3mW/M= -path-exists@^2.0.0: - version "2.1.0" - resolved "http://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - dependencies: - pinkie-promise "^2.0.0" +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= path-exists@^3.0.0: version "3.0.0" - resolved "http://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= path-is-absolute@^1.0.0: version "1.0.1" - resolved "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-is-inside@^1.0.1, path-is-inside@^1.0.2: +path-is-inside@^1.0.2: version "1.0.2" - resolved "http://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= -path-parse@^1.0.5: - version "1.0.5" - resolved "http://registry.npm.taobao.org/path-parse/download/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= -path-proxy@~1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/path-proxy/download/path-proxy-1.0.0.tgz#18e8a36859fc9d2f1a53b48dee138543c020de5e" - dependencies: - inflection "~1.3.0" +path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== path-to-regexp@0.1.7: version "0.1.7" - resolved "http://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= path-type@^2.0.0: version "2.0.0" - resolved "http://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= dependencies: pify "^2.0.0" -pathval@^1.0.0: +pathval@^1.1.0: version "1.1.0" - resolved "http://registry.npm.taobao.org/pathval/download/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" + integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA= pbkdf2@^3.0.3: - version "3.0.16" - resolved "http://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.0.16.tgz#7404208ec6b01b62d85bf83853a8064f8d9c2a5c" + version "3.0.17" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" + integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== dependencies: create-hash "^1.1.2" create-hmac "^1.1.4" @@ -2327,165 +2912,169 @@ pbkdf2@^3.0.3: pend@~1.2.0: version "1.2.0" - resolved "http://registry.npm.taobao.org/pend/download/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= performance-now@^2.1.0: version "2.1.0" - resolved "http://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= pify@^2.0.0, pify@^2.3.0: version "2.3.0" - resolved "http://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= pify@^3.0.0: version "3.0.0" - resolved "http://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= pinkie-promise@^2.0.0: version "2.0.1" - resolved "http://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= dependencies: pinkie "^2.0.0" pinkie@^2.0.0: version "2.0.4" - resolved "http://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= -pkg-dir@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/pkg-dir/download/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= dependencies: - find-up "^1.0.0" + find-up "^2.1.0" -pluralize@^7.0.0: - version "7.0.0" - resolved "http://registry.npm.taobao.org/pluralize/download/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= prelude-ls@~1.1.2: version "1.1.2" - resolved "http://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= prepend-http@^1.0.1: version "1.0.4" - resolved "http://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - -process-nextick-args@~1.0.6: - version "1.0.7" - resolved "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= process-nextick-args@~2.0.0: version "2.0.0" - resolved "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== process@~0.5.1: version "0.5.2" - resolved "http://registry.npm.taobao.org/process/download/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" + resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" + integrity sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8= progress@^2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/progress/download/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== -promisify-call@^2.0.2: +proxy-addr@~2.0.4: version "2.0.4" - resolved "http://registry.npm.taobao.org/promisify-call/download/promisify-call-2.0.4.tgz#d48c2d45652ccccd52801ddecbd533a6d4bd5fba" - dependencies: - with-callback "^1.0.2" - -proxy-addr@~2.0.3: - version "2.0.3" - resolved "http://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.3.tgz#355f262505a621646b3130a728eb647e22055341" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz#ecfc733bf22ff8c6f407fa275327b9ab67e48b93" + integrity sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA== dependencies: forwarded "~0.1.2" - ipaddr.js "1.6.0" + ipaddr.js "1.8.0" -proxy-agent@~3.0.0: - version "3.0.0" - resolved "http://registry.npm.taobao.org/proxy-agent/download/proxy-agent-3.0.0.tgz#f6768e202889b2285d39906d3a94768416f8f713" - dependencies: - agent-base "^4.2.0" - debug "^3.1.0" - http-proxy-agent "^2.1.0" - https-proxy-agent "^2.2.1" - lru-cache "^4.1.2" - pac-proxy-agent "^2.0.1" - proxy-from-env "^1.0.0" - socks-proxy-agent "^3.0.0" - -proxy-from-env@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/proxy-from-env/download/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" - -pseudomap@^1.0.2: - version "1.0.2" - resolved "http://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" +psl@^1.1.24: + version "1.1.31" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184" + integrity sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw== public-encrypt@^4.0.0: - version "4.0.2" - resolved "http://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.2.tgz#46eb9107206bf73489f8b85b69d91334c6610994" + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== dependencies: bn.js "^4.1.0" browserify-rsa "^4.0.0" create-hash "^1.1.0" parse-asn1 "^5.0.0" randombytes "^2.0.1" + safe-buffer "^5.1.2" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" -punycode@1.4.1, punycode@^1.4.1: +punycode@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" + integrity sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0= + +punycode@^1.4.1: version "1.4.1" - resolved "http://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= -qs@6.5.1: - version "6.5.1" - resolved "http://registry.npm.taobao.org/qs/download/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -qs@6.5.2, qs@~6.5.1: +qs@6.5.2, qs@~6.5.2: version "6.5.2" - resolved "http://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - -qs@~6.2.0: - version "6.2.3" - resolved "http://registry.npm.taobao.org/qs/download/qs-6.2.3.tgz#1cfcb25c10a9b2b483053ff39f5dfc9233908cfe" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== query-string@^5.0.1: version "5.1.1" - resolved "http://registry.npm.taobao.org/query-string/download/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" + integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== dependencies: decode-uri-component "^0.2.0" object-assign "^4.1.0" strict-uri-encode "^1.0.0" +querystringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.0.tgz#7ded8dfbf7879dcc60d0a644ac6754b283ad17ef" + integrity sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg== + randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: - version "2.0.6" - resolved "http://registry.npm.taobao.org/randombytes/download/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80" + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" randomfill@^1.0.3: version "1.0.4" - resolved "http://registry.npm.taobao.org/randomfill/download/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== dependencies: randombytes "^2.0.5" safe-buffer "^5.1.0" randomhex@0.1.5: version "0.1.5" - resolved "http://registry.npm.taobao.org/randomhex/download/randomhex-0.1.5.tgz#baceef982329091400f2a2912c6cd02f1094f585" + resolved "https://registry.yarnpkg.com/randomhex/-/randomhex-0.1.5.tgz#baceef982329091400f2a2912c6cd02f1094f585" + integrity sha1-us7vmCMpCRQA8qKRLGzQLxCU9YU= range-parser@~1.2.0: version "1.2.0" - resolved "http://registry.npm.taobao.org/range-parser/download/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4= -raw-body@2.3.2: - version "2.3.2" - resolved "http://registry.npm.taobao.org/raw-body/download/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89" - dependencies: - bytes "3.0.0" - http-errors "1.6.2" - iconv-lite "0.4.19" - unpipe "1.0.0" - -raw-body@2.3.3, raw-body@^2.2.0: +raw-body@2.3.3: version "2.3.3" - resolved "http://registry.npm.taobao.org/raw-body/download/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" + integrity sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw== dependencies: bytes "3.0.0" http-errors "1.6.3" @@ -2494,31 +3083,25 @@ raw-body@2.3.3, raw-body@^2.2.0: read-pkg-up@^2.0.0: version "2.0.0" - resolved "http://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= dependencies: find-up "^2.0.0" read-pkg "^2.0.0" read-pkg@^2.0.0: version "2.0.0" - resolved "http://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= dependencies: load-json-file "^2.0.0" normalize-package-data "^2.3.2" path-type "^2.0.0" -readable-stream@1.1.x, "readable-stream@1.x >=1.1.9": - version "1.1.14" - resolved "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@2, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.5: +readable-stream@^2.3.0, readable-stream@^2.3.5: version "2.3.6" - resolved "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== dependencies: core-util-is "~1.0.0" inherits "~2.0.3" @@ -2528,221 +3111,207 @@ readable-stream@2, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stre string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@~2.0.5: - version "2.0.6" - resolved "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" - util-deprecate "~1.0.1" +regenerator-runtime@^0.12.0: + version "0.12.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de" + integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg== -redis-commands@^1.2.0: - version "1.3.5" - resolved "http://registry.npm.taobao.org/redis-commands/download/redis-commands-1.3.5.tgz#4495889414f1e886261180b1442e7295602d83a2" +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" -redis-parser@^2.6.0: - version "2.6.0" - resolved "http://registry.npm.taobao.org/redis-parser/download/redis-parser-2.6.0.tgz#52ed09dacac108f1a631c07e9b69941e7a19504b" +regexpp@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" + integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== -redis@^2.7.1: - version "2.8.0" - resolved "http://registry.npm.taobao.org/redis/download/redis-2.8.0.tgz#202288e3f58c49f6079d97af7a10e1303ae14b02" - dependencies: - double-ended-queue "^2.1.0-0" - redis-commands "^1.2.0" - redis-parser "^2.6.0" +repeat-element@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== -regexpp@^1.0.1: - version "1.1.0" - resolved "http://registry.npm.taobao.org/regexpp/download/regexpp-1.1.0.tgz#0e3516dd0b7904f413d2d4193dce4618c3a689ab" - -request@2.75.x: - version "2.75.0" - resolved "http://registry.npm.taobao.org/request/download/request-2.75.0.tgz#d2b8268a286da13eaa5d01adf5d18cc90f657d93" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - bl "~1.1.2" - caseless "~0.11.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.0.0" - har-validator "~2.0.6" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - node-uuid "~1.4.7" - oauth-sign "~0.8.1" - qs "~6.2.0" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "~0.4.1" - -request@^2.0.0, request@^2.74.0: - version "2.85.0" - resolved "http://registry.npm.taobao.org/request/download/request-2.85.0.tgz#5a03615a47c61420b3eb99b7dba204f83603e1fa" - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.6.0" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.1" - forever-agent "~0.6.1" - form-data "~2.3.1" - har-validator "~5.0.3" - hawk "~6.0.2" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.17" - oauth-sign "~0.8.2" - performance-now "^2.1.0" - qs "~6.5.1" - safe-buffer "^5.1.1" - stringstream "~0.0.5" - tough-cookie "~2.3.3" - tunnel-agent "^0.6.0" - uuid "^3.1.0" +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= request@^2.79.0: - version "2.87.0" - resolved "http://registry.npm.taobao.org/request/download/request-2.87.0.tgz#32f00235cd08d482b4d0d68db93a829c0ed5756e" + version "2.88.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" + integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== dependencies: aws-sign2 "~0.7.0" - aws4 "^1.6.0" + aws4 "^1.8.0" caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.1" + combined-stream "~1.0.6" + extend "~3.0.2" forever-agent "~0.6.1" - form-data "~2.3.1" - har-validator "~5.0.3" + form-data "~2.3.2" + har-validator "~5.1.0" http-signature "~1.2.0" is-typedarray "~1.0.0" isstream "~0.1.2" json-stringify-safe "~5.0.1" - mime-types "~2.1.17" - oauth-sign "~0.8.2" + mime-types "~2.1.19" + oauth-sign "~0.9.0" performance-now "^2.1.0" - qs "~6.5.1" - safe-buffer "^5.1.1" - tough-cookie "~2.3.3" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.4.3" tunnel-agent "^0.6.0" - uuid "^3.1.0" + uuid "^3.3.2" -requestretry@^1.2.2: - version "1.13.0" - resolved "http://registry.npm.taobao.org/requestretry/download/requestretry-1.13.0.tgz#213ec1006eeb750e8b8ce54176283d15a8d55d94" - dependencies: - extend "^3.0.0" - lodash "^4.15.0" - request "^2.74.0" - when "^3.7.7" +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= -require-uncached@^1.0.3: - version "1.0.3" - resolved "http://registry.npm.taobao.org/require-uncached/download/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" - dependencies: - caller-path "^0.1.0" - resolve-from "^1.0.0" +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= -resolve-from@^1.0.0: +resolve-dir@^1.0.0, resolve-dir@^1.0.1: version "1.0.1" - resolved "http://registry.npm.taobao.org/resolve-from/download/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= + dependencies: + expand-tilde "^2.0.0" + global-modules "^1.0.0" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve@^1.5.0, resolve@^1.6.0: - version "1.7.1" - resolved "http://registry.npm.taobao.org/resolve/download/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3" +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.10.0, resolve@^1.5.0, resolve@^1.9.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba" + integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg== dependencies: - path-parse "^1.0.5" + path-parse "^1.0.6" restore-cursor@^2.0.0: version "2.0.0" - resolved "http://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= dependencies: onetime "^2.0.0" signal-exit "^3.0.2" -rimraf@2, rimraf@^2.2.8: - version "2.6.2" - resolved "http://registry.npm.taobao.org/rimraf/download/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +rfdc@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.1.2.tgz#e6e72d74f5dc39de8f538f65e00c36c18018e349" + integrity sha512-92ktAgvZhBzYTIK0Mja9uen5q5J3NRVMoDkJL2VMwq6SXjVCgqvQeVP2XAaUY6HT+XpQYeLSjb3UoitBryKmdA== + +rimraf@2.6.3: + version "2.6.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== dependencies: - glob "^7.0.5" + glob "^7.1.3" ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" - resolved "http://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== dependencies: hash-base "^3.0.0" inherits "^2.0.1" run-async@^2.2.0: version "2.3.0" - resolved "http://registry.npm.taobao.org/run-async/download/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" + integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= dependencies: is-promise "^2.1.0" -rx-lite-aggregates@^4.0.8: - version "4.0.8" - resolved "http://registry.npm.taobao.org/rx-lite-aggregates/download/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" +rxjs@^6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.4.0.tgz#f3bb0fe7bda7fb69deac0c16f17b50b0b8790504" + integrity sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw== dependencies: - rx-lite "*" - -rx-lite@*, rx-lite@^4.0.8: - version "4.0.8" - resolved "http://registry.npm.taobao.org/rx-lite/download/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" - -safe-buffer@5.1.1: - version "5.1.1" - resolved "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" + tslib "^1.9.0" -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" - resolved "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3": +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" - resolved "http://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +scrypt-js@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16" + integrity sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw== scrypt.js@0.2.0: version "0.2.0" - resolved "http://registry.npm.taobao.org/scrypt.js/download/scrypt.js-0.2.0.tgz#af8d1465b71e9990110bedfc593b9479e03a8ada" + resolved "https://registry.yarnpkg.com/scrypt.js/-/scrypt.js-0.2.0.tgz#af8d1465b71e9990110bedfc593b9479e03a8ada" + integrity sha1-r40UZbcemZARC+38WTuUeeA6ito= dependencies: scrypt "^6.0.2" scryptsy "^1.2.1" scrypt@^6.0.2: version "6.0.3" - resolved "http://registry.npm.taobao.org/scrypt/download/scrypt-6.0.3.tgz#04e014a5682b53fa50c2d5cce167d719c06d870d" + resolved "https://registry.yarnpkg.com/scrypt/-/scrypt-6.0.3.tgz#04e014a5682b53fa50c2d5cce167d719c06d870d" + integrity sha1-BOAUpWgrU/pQwtXM4WfXGcBthw0= dependencies: nan "^2.0.8" scryptsy@^1.2.1: version "1.2.1" - resolved "http://registry.npm.taobao.org/scryptsy/download/scryptsy-1.2.1.tgz#a3225fa4b2524f802700761e2855bdf3b2d92163" + resolved "https://registry.yarnpkg.com/scryptsy/-/scryptsy-1.2.1.tgz#a3225fa4b2524f802700761e2855bdf3b2d92163" + integrity sha1-oyJfpLJST4AnAHYeKFW987LZIWM= dependencies: pbkdf2 "^3.0.3" seek-bzip@^1.0.5: version "1.0.5" - resolved "http://registry.npm.taobao.org/seek-bzip/download/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc" + resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc" + integrity sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w= dependencies: commander "~2.8.1" -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5.0: - version "5.5.0" - resolved "http://registry.npm.taobao.org/semver/download/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" +"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.5.1: + version "5.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" + integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== send@0.16.2: version "0.16.2" - resolved "http://registry.npm.taobao.org/send/download/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" + resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" + integrity sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw== dependencies: debug "2.6.9" depd "~1.1.2" @@ -2760,7 +3329,8 @@ send@0.16.2: serve-static@1.13.2: version "1.13.2" - resolved "http://registry.npm.taobao.org/serve-static/download/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" + integrity sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw== dependencies: encodeurl "~1.0.2" escape-html "~1.0.3" @@ -2769,7 +3339,8 @@ serve-static@1.13.2: servify@^0.1.12: version "0.1.12" - resolved "http://registry.npm.taobao.org/servify/download/servify-0.1.12.tgz#142ab7bee1f1d033b66d0707086085b17c06db95" + resolved "https://registry.yarnpkg.com/servify/-/servify-0.1.12.tgz#142ab7bee1f1d033b66d0707086085b17c06db95" + integrity sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw== dependencies: body-parser "^1.16.0" cors "^2.8.1" @@ -2777,667 +3348,875 @@ servify@^0.1.12: request "^2.79.0" xhr "^2.3.3" +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" + integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE= + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.1" + to-object-path "^0.3.0" + +set-value@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" + integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.4.tgz#20e81de622d4a02588ce0c8da8973cbcf1d3138f" + integrity sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48= + setimmediate@^1.0.5: version "1.0.5" - resolved "http://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - -setprototypeof@1.0.3: - version "1.0.3" - resolved "http://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= setprototypeof@1.1.0: version "1.1.0" - resolved "http://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== sha.js@^2.4.0, sha.js@^2.4.8: version "2.4.11" - resolved "http://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== dependencies: inherits "^2.0.1" safe-buffer "^5.0.1" -sha3@^1.1.0: +sha3@^1.2.2: version "1.2.2" - resolved "http://registry.npm.taobao.org/sha3/download/sha3-1.2.2.tgz#a66c5098de4c25bc88336ec8b4817d005bca7ba9" + resolved "https://registry.yarnpkg.com/sha3/-/sha3-1.2.2.tgz#a66c5098de4c25bc88336ec8b4817d005bca7ba9" + integrity sha1-pmxQmN5MJbyIM27ItIF9AFvKe6k= dependencies: nan "2.10.0" shebang-command@^1.2.0: version "1.2.0" - resolved "http://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= dependencies: shebang-regex "^1.0.0" shebang-regex@^1.0.0: version "1.0.0" - resolved "http://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= -signal-exit@^3.0.2: +signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" - resolved "http://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= simple-concat@^1.0.0: version "1.0.0" - resolved "http://registry.npm.taobao.org/simple-concat/download/simple-concat-1.0.0.tgz#7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.0.tgz#7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6" + integrity sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY= simple-get@^2.7.0: version "2.8.1" - resolved "http://registry.npm.taobao.org/simple-get/download/simple-get-2.8.1.tgz#0e22e91d4575d87620620bc91308d57a77f44b5d" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.1.tgz#0e22e91d4575d87620620bc91308d57a77f44b5d" + integrity sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw== dependencies: decompress-response "^3.3.0" once "^1.3.1" simple-concat "^1.0.0" -slack-node@~0.2.0: - version "0.2.0" - resolved "http://registry.npm.taobao.org/slack-node/download/slack-node-0.2.0.tgz#de4b8dddaa8b793f61dbd2938104fdabf37dfa30" - dependencies: - requestretry "^1.2.2" - -slice-ansi@1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/slice-ansi/download/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" +slice-ansi@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== dependencies: + ansi-styles "^3.2.0" + astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" -smart-buffer@^1.0.13, smart-buffer@^1.0.4: - version "1.1.15" - resolved "http://registry.npm.taobao.org/smart-buffer/download/smart-buffer-1.1.15.tgz#7f114b5b65fab3e2a35aa775bb12f0d1c649bf16" - -smtp-connection@2.12.0: - version "2.12.0" - resolved "http://registry.npm.taobao.org/smtp-connection/download/smtp-connection-2.12.0.tgz#d76ef9127cb23c2259edb1e8349c2e8d5e2d74c1" - dependencies: - httpntlm "1.6.1" - nodemailer-shared "1.1.0" - -sntp@1.x.x: - version "1.0.9" - resolved "http://registry.npm.taobao.org/sntp/download/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" - dependencies: - hoek "2.x.x" - -sntp@2.x.x: - version "2.1.0" - resolved "http://registry.npm.taobao.org/sntp/download/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8" +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== dependencies: - hoek "4.x.x" + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" -socks-proxy-agent@^3.0.0: +snapdragon-util@^3.0.1: version "3.0.1" - resolved "http://registry.npm.taobao.org/socks-proxy-agent/download/socks-proxy-agent-3.0.1.tgz#2eae7cf8e2a82d34565761539a7f9718c5617659" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== dependencies: - agent-base "^4.1.0" - socks "^1.1.10" + kind-of "^3.2.0" -socks@1.1.9: - version "1.1.9" - resolved "http://registry.npm.taobao.org/socks/download/socks-1.1.9.tgz#628d7e4d04912435445ac0b6e459376cb3e6d691" +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== dependencies: - ip "^1.1.2" - smart-buffer "^1.0.4" - -socks@^1.1.10: - version "1.1.10" - resolved "http://registry.npm.taobao.org/socks/download/socks-1.1.10.tgz#5b8b7fc7c8f341c53ed056e929b7bf4de8ba7b5a" + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-map-resolve@^0.5.0: + version "0.5.2" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" + integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== dependencies: - ip "^1.1.4" - smart-buffer "^1.0.13" + atob "^2.1.1" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" -source-map@~0.6.1: - version "0.6.1" - resolved "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + +source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= spdx-correct@^3.0.0: - version "3.0.0" - resolved "http://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82" + version "3.1.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" + integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== dependencies: spdx-expression-parse "^3.0.0" spdx-license-ids "^3.0.0" spdx-exceptions@^2.1.0: - version "2.1.0" - resolved "http://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.1.0.tgz#2c7ae61056c714a5b9b9b2b2af7d311ef5c78fe9" + version "2.2.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" + integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== spdx-expression-parse@^3.0.0: version "3.0.0" - resolved "http://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== dependencies: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.0" - resolved "http://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87" + version "3.0.3" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz#81c0ce8f21474756148bbb5f3bfc0f36bf15d76e" + integrity sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" sprintf-js@~1.0.2: version "1.0.3" - resolved "http://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= sshpk@^1.7.0: - version "1.14.1" - resolved "http://registry.npm.taobao.org/sshpk/download/sshpk-1.14.1.tgz#130f5975eddad963f1d56f92b9ac6c51fa9f83eb" + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" - dashdash "^1.12.0" - getpass "^0.1.1" - optionalDependencies: bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" ecc-jsbn "~0.1.1" + getpass "^0.1.1" jsbn "~0.1.0" + safer-buffer "^2.0.2" tweetnacl "~0.14.0" -"statuses@>= 1.3.1 < 2", "statuses@>= 1.4.0 < 2": +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +"statuses@>= 1.4.0 < 2": version "1.5.0" - resolved "http://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= statuses@~1.4.0: version "1.4.0" - resolved "http://registry.npm.taobao.org/statuses/download/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" + integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew== -streamroller@0.7.0: - version "0.7.0" - resolved "http://registry.npm.taobao.org/streamroller/download/streamroller-0.7.0.tgz#a1d1b7cf83d39afb0d63049a5acbf93493bdf64b" +streamroller@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-1.0.3.tgz#cb51e7e382f799a9381a5d7490ce3053b325fba3" + integrity sha512-P7z9NwP51EltdZ81otaGAN3ob+/F88USJE546joNq7bqRNTe6jc74fTBDyynxP4qpIfKlt/CesEYicuMzI0yJg== dependencies: - date-format "^1.2.0" + async "^2.6.1" + date-format "^2.0.0" debug "^3.1.0" - mkdirp "^0.5.1" - readable-stream "^2.3.0" + fs-extra "^7.0.0" + lodash "^4.17.10" strict-uri-encode@^1.0.0: version "1.1.0" - resolved "http://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" -string-width@^2.1.0, string-width@^2.1.1: +"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: version "2.1.1" - resolved "http://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== dependencies: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" -string_decoder@~0.10.x: - version "0.10.31" - resolved "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" +string-width@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string.prototype.trim@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz#d04de2c89e137f4d7d206f086b5ed2fae6be8cea" + integrity sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo= + dependencies: + define-properties "^1.1.2" + es-abstract "^1.5.0" + function-bind "^1.0.2" string_decoder@~1.1.1: version "1.1.1" - resolved "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== dependencies: safe-buffer "~5.1.0" -stringstream@~0.0.4, stringstream@~0.0.5: - version "0.0.5" - resolved "http://registry.npm.taobao.org/stringstream/download/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" - -strip-ansi@^3.0.0: +strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" - resolved "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= dependencies: ansi-regex "^2.0.0" strip-ansi@^4.0.0: version "4.0.0" - resolved "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= dependencies: ansi-regex "^3.0.0" +strip-ansi@^5.0.0, strip-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.1.0.tgz#55aaa54e33b4c0649a7338a43437b1887d153ec4" + integrity sha512-TjxrkPONqO2Z8QDCpeE2j6n0M6EwxzyDgzEeGp+FbdvaJAt//ClYi6W5my+3ROlC/hZX2KACUwDfK49Ka5eDvg== + dependencies: + ansi-regex "^4.1.0" + strip-bom@^3.0.0: version "3.0.0" - resolved "http://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= strip-dirs@^2.0.0: version "2.1.0" - resolved "http://registry.npm.taobao.org/strip-dirs/download/strip-dirs-2.1.0.tgz#4987736264fc344cf20f6c34aca9d13d1d4ed6c5" + resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-2.1.0.tgz#4987736264fc344cf20f6c34aca9d13d1d4ed6c5" + integrity sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g== dependencies: is-natural-number "^4.0.1" +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + strip-hex-prefix@1.0.0: version "1.0.0" - resolved "http://registry.npm.taobao.org/strip-hex-prefix/download/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" + resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" + integrity sha1-DF8VX+8RUTczd96du1iNoFUA428= dependencies: is-hex-prefixed "1.0.0" -strip-json-comments@~2.0.1: +strip-json-comments@2.0.1, strip-json-comments@^2.0.1: version "2.0.1" - resolved "http://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -supports-color@5.4.0, supports-color@^5.3.0: - version "5.4.0" - resolved "http://registry.npm.taobao.org/supports-color/download/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" +supports-color@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.0.0.tgz#76cfe742cf1f41bb9b1c29ad03068c05b4c0e40a" + integrity sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg== dependencies: has-flag "^3.0.0" -supports-color@^2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" -swarm-js@0.1.37: - version "0.1.37" - resolved "http://registry.npm.taobao.org/swarm-js/download/swarm-js-0.1.37.tgz#27d485317a340bbeec40292af783cc10acfa4663" +swarm-js@^0.1.39: + version "0.1.39" + resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.39.tgz#79becb07f291d4b2a178c50fee7aa6e10342c0e8" + integrity sha512-QLMqL2rzF6n5s50BptyD6Oi0R1aWlJC5Y17SRIVXRj6OR1DRIPM7nepvrxxkjA1zNzFz6mUOMjfeqeDaWB7OOg== dependencies: bluebird "^3.5.0" buffer "^5.0.5" decompress "^4.0.0" eth-lib "^0.1.26" - fs-extra "^2.1.2" - fs-promise "^2.0.0" + fs-extra "^4.0.2" got "^7.1.0" mime-types "^2.1.16" mkdirp-promise "^5.0.1" mock-fs "^4.1.0" setimmediate "^1.0.5" - tar.gz "^1.0.5" + tar "^4.0.2" xhr-request-promise "^0.1.2" -table@4.0.2: - version "4.0.2" - resolved "http://registry.npm.taobao.org/table/download/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36" +table@^5.2.3: + version "5.2.3" + resolved "https://registry.yarnpkg.com/table/-/table-5.2.3.tgz#cde0cc6eb06751c009efab27e8c820ca5b67b7f2" + integrity sha512-N2RsDAMvDLvYwFcwbPyF3VmVSSkuF+G1e+8inhBLtHpvwXGw4QRPEZhihQNeEN0i1up6/f6ObCJXNdlRG3YVyQ== dependencies: - ajv "^5.2.3" - ajv-keywords "^2.1.0" - chalk "^2.1.0" - lodash "^4.17.4" - slice-ansi "1.0.0" - string-width "^2.1.1" + ajv "^6.9.1" + lodash "^4.17.11" + slice-ansi "^2.1.0" + string-width "^3.0.0" tar-stream@^1.5.2: - version "1.6.1" - resolved "http://registry.npm.taobao.org/tar-stream/download/tar-stream-1.6.1.tgz#f84ef1696269d6223ca48f6e1eeede3f7e81f395" + version "1.6.2" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" + integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== dependencies: bl "^1.0.0" - buffer-alloc "^1.1.0" + buffer-alloc "^1.2.0" end-of-stream "^1.0.0" fs-constants "^1.0.0" readable-stream "^2.3.0" - to-buffer "^1.1.0" + to-buffer "^1.1.1" xtend "^4.0.0" -tar.gz@^1.0.5: - version "1.0.7" - resolved "http://registry.npm.taobao.org/tar.gz/download/tar.gz-1.0.7.tgz#577ef2c595faaa73452ef0415fed41113212257b" - dependencies: - bluebird "^2.9.34" - commander "^2.8.1" - fstream "^1.0.8" - mout "^0.11.0" - tar "^2.1.1" - -tar@^2.1.1: - version "2.2.1" - resolved "http://registry.npm.taobao.org/tar/download/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" +tar@^4.0.2: + version "4.4.8" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d" + integrity sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ== dependencies: - block-stream "*" - fstream "^1.0.2" - inherits "2" + chownr "^1.1.1" + fs-minipass "^1.2.5" + minipass "^2.3.4" + minizlib "^1.1.1" + mkdirp "^0.5.0" + safe-buffer "^5.1.2" + yallist "^3.0.2" -text-table@~0.2.0: +text-table@^0.2.0: version "0.2.0" - resolved "http://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - -thenify-all@^1.0.0, thenify-all@^1.6.0: - version "1.6.0" - resolved "http://registry.npm.taobao.org/thenify-all/download/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.3.0" - resolved "http://registry.npm.taobao.org/thenify/download/thenify-3.3.0.tgz#e69e38a1babe969b0108207978b9f62b88604839" - dependencies: - any-promise "^1.0.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -through@^2.3.6: +through@^2.3.6, through@^2.3.8: version "2.3.8" - resolved "http://registry.npm.taobao.org/through/download/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - -thunkify@^2.1.2: - version "2.1.2" - resolved "http://registry.npm.taobao.org/thunkify/download/thunkify-2.1.2.tgz#faa0e9d230c51acc95ca13a361ac05ca7e04553d" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= timed-out@^4.0.0, timed-out@^4.0.1: version "4.0.1" - resolved "http://registry.npm.taobao.org/timed-out/download/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" - -timespan@2.3.x: - version "2.3.0" - resolved "http://registry.npm.taobao.org/timespan/download/timespan-2.3.0.tgz#4902ce040bd13d845c8f59b27e9d59bad6f39929" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" + integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= tmp@^0.0.33: version "0.0.33" - resolved "http://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== dependencies: os-tmpdir "~1.0.2" -to-buffer@^1.1.0: +to-buffer@^1.1.1: version "1.1.1" - resolved "http://registry.npm.taobao.org/to-buffer/download/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" + resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" + integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== -tough-cookie@~2.3.0, tough-cookie@~2.3.3: - version "2.3.4" - resolved "http://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= dependencies: - punycode "^1.4.1" + kind-of "^3.0.2" -trim@0.0.1: - version "0.0.1" - resolved "http://registry.npm.taobao.org/trim/download/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" -tsscmp@~1.0.0: - version "1.0.5" - resolved "http://registry.npm.taobao.org/tsscmp/download/tsscmp-1.0.5.tgz#7dc4a33af71581ab4337da91d85ca5427ebd9a97" +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +tough-cookie@~2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== + dependencies: + psl "^1.1.24" + punycode "^1.4.1" + +tslib@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" + integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== tunnel-agent@^0.6.0: version "0.6.0" - resolved "http://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= dependencies: safe-buffer "^5.0.1" -tunnel-agent@~0.4.1: - version "0.4.3" - resolved "http://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" - tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" - resolved "http://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= type-check@~0.3.2: version "0.3.2" - resolved "http://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= dependencies: prelude-ls "~1.1.2" -type-detect@^4.0.0: +type-detect@^4.0.0, type-detect@^4.0.5: version "4.0.8" - resolved "http://registry.npm.taobao.org/type-detect/download/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== -type-is@~1.6.15, type-is@~1.6.16: +type-is@~1.6.16: version "1.6.16" - resolved "http://registry.npm.taobao.org/type-is/download/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" + integrity sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q== dependencies: media-typer "0.3.0" mime-types "~2.1.18" typedarray-to-buffer@^3.1.2: version "3.1.5" - resolved "http://registry.npm.taobao.org/typedarray-to-buffer/download/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== dependencies: is-typedarray "^1.0.0" -typedarray@^0.0.6: - version "0.0.6" - resolved "http://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - ultron@~1.1.0: version "1.1.1" - resolved "http://registry.npm.taobao.org/ultron/download/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" + integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== unbzip2-stream@^1.0.9: - version "1.2.5" - resolved "http://registry.npm.taobao.org/unbzip2-stream/download/unbzip2-stream-1.2.5.tgz#73a033a567bbbde59654b193c44d48a7e4f43c47" + version "1.3.3" + resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz#d156d205e670d8d8c393e1c02ebd506422873f6a" + integrity sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg== dependencies: - buffer "^3.0.1" - through "^2.3.6" + buffer "^5.2.1" + through "^2.3.8" -underscore@1.8.3: - version "1.8.3" - resolved "http://registry.npm.taobao.org/underscore/download/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022" +union-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" + integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ= + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^0.4.3" -underscore@~1.7.0: - version "1.7.0" - resolved "http://registry.npm.taobao.org/underscore/download/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209" +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" - resolved "http://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +uri-js@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= url-parse-lax@^1.0.0: version "1.0.0" - resolved "http://registry.npm.taobao.org/url-parse-lax/download/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= dependencies: prepend-http "^1.0.1" +url-parse@1.4.4: + version "1.4.4" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.4.tgz#cac1556e95faa0303691fec5cf9d5a1bc34648f8" + integrity sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg== + dependencies: + querystringify "^2.0.0" + requires-port "^1.0.0" + url-set-query@^1.0.0: version "1.0.0" - resolved "http://registry.npm.taobao.org/url-set-query/download/url-set-query-1.0.0.tgz#016e8cfd7c20ee05cafe7795e892bd0702faa339" + resolved "https://registry.yarnpkg.com/url-set-query/-/url-set-query-1.0.0.tgz#016e8cfd7c20ee05cafe7795e892bd0702faa339" + integrity sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk= url-to-options@^1.0.1: version "1.0.1" - resolved "http://registry.npm.taobao.org/url-to-options/download/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" + resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" + integrity sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k= + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== utf8@2.1.1: version "2.1.1" - resolved "http://registry.npm.taobao.org/utf8/download/utf8-2.1.1.tgz#2e01db02f7d8d0944f77104f1609eb0c304cf768" + resolved "https://registry.yarnpkg.com/utf8/-/utf8-2.1.1.tgz#2e01db02f7d8d0944f77104f1609eb0c304cf768" + integrity sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g= util-deprecate@~1.0.1: version "1.0.2" - resolved "http://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= utils-merge@1.0.1: version "1.0.1" - resolved "http://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= uuid@2.0.1: version "2.0.1" - resolved "http://registry.npm.taobao.org/uuid/download/uuid-2.0.1.tgz#c2a30dedb3e535d72ccf82e343941a50ba8533ac" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.1.tgz#c2a30dedb3e535d72ccf82e343941a50ba8533ac" + integrity sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w= -uuid@^3.1.0: - version "3.2.1" - resolved "http://registry.npm.taobao.org/uuid/download/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" +uuid@3.3.2, uuid@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== validate-npm-package-license@^3.0.1: - version "3.0.3" - resolved "http://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.3.tgz#81643bcbef1bdfecd4623793dc4648948ba98338" + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== dependencies: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" vary@^1, vary@~1.1.2: version "1.1.2" - resolved "http://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= verror@1.10.0: version "1.10.0" - resolved "http://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= dependencies: assert-plus "^1.0.0" core-util-is "1.0.2" extsprintf "^1.2.0" -web3-bzz@1.0.0-beta.34: - version "1.0.0-beta.34" - resolved "http://registry.npm.taobao.org/web3-bzz/download/web3-bzz-1.0.0-beta.34.tgz#068d37777ab65e5c60f8ec8b9a50cfe45277929c" - dependencies: - got "7.1.0" - swarm-js "0.1.37" - underscore "1.8.3" - -web3-core-helpers@1.0.0-beta.34: - version "1.0.0-beta.34" - resolved "http://registry.npm.taobao.org/web3-core-helpers/download/web3-core-helpers-1.0.0-beta.34.tgz#b168da00d3e19e156bc15ae203203dd4dfee2d03" - dependencies: - underscore "1.8.3" - web3-eth-iban "1.0.0-beta.34" - web3-utils "1.0.0-beta.34" - -web3-core-method@1.0.0-beta.34: - version "1.0.0-beta.34" - resolved "http://registry.npm.taobao.org/web3-core-method/download/web3-core-method-1.0.0-beta.34.tgz#ec163c8a2c490fa02a7ec15559fa7307fc7cc6dd" - dependencies: - underscore "1.8.3" - web3-core-helpers "1.0.0-beta.34" - web3-core-promievent "1.0.0-beta.34" - web3-core-subscriptions "1.0.0-beta.34" - web3-utils "1.0.0-beta.34" - -web3-core-promievent@1.0.0-beta.34: - version "1.0.0-beta.34" - resolved "http://registry.npm.taobao.org/web3-core-promievent/download/web3-core-promievent-1.0.0-beta.34.tgz#a4f4fa6784bb293e82c60960ae5b56a94cd03edc" - dependencies: - any-promise "1.3.0" - eventemitter3 "1.1.1" - -web3-core-requestmanager@1.0.0-beta.34: - version "1.0.0-beta.34" - resolved "http://registry.npm.taobao.org/web3-core-requestmanager/download/web3-core-requestmanager-1.0.0-beta.34.tgz#01f8f6cf2ae6b6f0b70c38bae1ef741b5bab215c" - dependencies: - underscore "1.8.3" - web3-core-helpers "1.0.0-beta.34" - web3-providers-http "1.0.0-beta.34" - web3-providers-ipc "1.0.0-beta.34" - web3-providers-ws "1.0.0-beta.34" - -web3-core-subscriptions@1.0.0-beta.34: - version "1.0.0-beta.34" - resolved "http://registry.npm.taobao.org/web3-core-subscriptions/download/web3-core-subscriptions-1.0.0-beta.34.tgz#9fed144033f221c3cf21060302ffdaf5ef2de2de" - dependencies: - eventemitter3 "1.1.1" - underscore "1.8.3" - web3-core-helpers "1.0.0-beta.34" - -web3-core@1.0.0-beta.34: - version "1.0.0-beta.34" - resolved "http://registry.npm.taobao.org/web3-core/download/web3-core-1.0.0-beta.34.tgz#121be8555e9fb00d2c5d05ddd3381d0c9e46987e" - dependencies: - web3-core-helpers "1.0.0-beta.34" - web3-core-method "1.0.0-beta.34" - web3-core-requestmanager "1.0.0-beta.34" - web3-utils "1.0.0-beta.34" - -web3-eth-abi@1.0.0-beta.34: - version "1.0.0-beta.34" - resolved "http://registry.npm.taobao.org/web3-eth-abi/download/web3-eth-abi-1.0.0-beta.34.tgz#034533e3aa2f7e59ff31793eaea685c0ed5af67a" - dependencies: - bn.js "4.11.6" - underscore "1.8.3" - web3-core-helpers "1.0.0-beta.34" - web3-utils "1.0.0-beta.34" - -web3-eth-accounts@1.0.0-beta.34: - version "1.0.0-beta.34" - resolved "http://registry.npm.taobao.org/web3-eth-accounts/download/web3-eth-accounts-1.0.0-beta.34.tgz#e09142eeecc797ac3459b75e9b23946d3695f333" - dependencies: - any-promise "1.3.0" +web3-bzz@1.0.0-beta.48: + version "1.0.0-beta.48" + resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.0.0-beta.48.tgz#da88c2b9c865d69fd55b751e2ecf733536e433a7" + integrity sha512-rl+z5cyBXefZ1tgmhnC4QDutCYYmURKogHSkmhoH3ow161D1P8qYrxDqNSXwNcuXyejUaaPzi5OLAlR3JTnyxw== + dependencies: + "@babel/runtime" "^7.3.1" + "@types/node" "^10.12.18" + lodash "^4.17.11" + swarm-js "^0.1.39" + +web3-core-helpers@1.0.0-beta.48: + version "1.0.0-beta.48" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.48.tgz#efd552012ff5886a94e49e4f6c2ccef72b4a1a7d" + integrity sha512-WjRKTw67IVX1k0S600c9pyp1YZib3AjSOFWAyJu5XbhtckXryZ5oQVFbJRc7XVeJWJA0yLGnqZuSUSh4ot8Byw== + dependencies: + "@babel/runtime" "^7.3.1" + lodash "^4.17.11" + web3-eth-iban "1.0.0-beta.48" + web3-utils "1.0.0-beta.48" + +web3-core-method@1.0.0-beta.48: + version "1.0.0-beta.48" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.0.0-beta.48.tgz#c56e04a5211d843164d2e17aac31d4cda019bfc2" + integrity sha512-/VfRiFzksrHqKbicK+Yw8SzK2hw/YXKjTQ6l/j9CVFw2FDpBqQtlo9A3qZNeoo6aIh1McTVeSSIrR9vJGFo3dw== + dependencies: + "@babel/runtime" "^7.3.1" + eventemitter3 "3.1.0" + lodash "^4.17.11" + web3-core "1.0.0-beta.48" + web3-core-helpers "1.0.0-beta.48" + web3-core-promievent "1.0.0-beta.48" + web3-core-subscriptions "1.0.0-beta.48" + web3-utils "1.0.0-beta.48" + +web3-core-promievent@1.0.0-beta.48: + version "1.0.0-beta.48" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.0.0-beta.48.tgz#1a441860ec86b0996431d50ccc4fe9de0d1dbc86" + integrity sha512-GNUnYUL0PUO/QzvlYxIlZW5Pra3jyjN6uHuUSDFRp59NbknluP470nTSC/+0XkvZrVTYADf0+04yyOlVM083Ug== + dependencies: + "@babel/runtime" "^7.3.1" + eventemitter3 "^3.1.0" + +web3-core-subscriptions@1.0.0-beta.48: + version "1.0.0-beta.48" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.0.0-beta.48.tgz#a1b941e993302ba81bb889a9243fd96889d841f2" + integrity sha512-9G5hQhFuEvEtZ+e+wEulpfGQnUny7McDiQ6G3pxN6b5/Wg7MVW5Zovcm8s7kvBGISW/8UkRVOJ1vYkzjH0Y2fg== + dependencies: + "@babel/runtime" "^7.3.1" + eventemitter3 "^3.1.0" + lodash "^4.17.11" + web3-core-helpers "1.0.0-beta.48" + web3-utils "1.0.0-beta.48" + +web3-core@1.0.0-beta.48: + version "1.0.0-beta.48" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.0.0-beta.48.tgz#122dad8face59ec5b2fdcba829aa7b56fa041387" + integrity sha512-vOciU4otvpqp5rRJlfjMGuq+OqBG0EYskKwUbQY+UUM8w8g8MRKjYZGzqIMGQGQ3liIbJGQk8WtiVQjh0e5ZrQ== + dependencies: + "@babel/runtime" "^7.3.1" + "@types/node" "^10.12.18" + lodash "^4.17.11" + web3-utils "1.0.0-beta.48" + +web3-eth-abi@1.0.0-beta.48: + version "1.0.0-beta.48" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.48.tgz#81296c0360ca6d78285815e3b91732ba89aba632" + integrity sha512-wT1EarsrxHSkd4ZKMn9McgRVXa5fFaNHkjBRo/idXWyV/MMrzs7oCa2AtovrCrkQRiT2GmecaBDLXxGPA06grw== + dependencies: + "@babel/runtime" "^7.3.1" + ethers "4.0.26" + lodash "^4.17.11" + web3-utils "1.0.0-beta.48" + +web3-eth-accounts@1.0.0-beta.48: + version "1.0.0-beta.48" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.0.0-beta.48.tgz#b070331b4c4c0c1bee9cb32fe023a33354a261ba" + integrity sha512-h+1I7Ao0ALKRz0EeDBcZ+ASYyvW06DZmsIYl0yqKTdH3ilfhTkPrEUjmnRPA9KKvJQvrmUkSLEcBHc6OxG+zlA== + dependencies: + "@babel/runtime" "^7.3.1" crypto-browserify "3.12.0" - eth-lib "0.2.7" + eth-lib "0.2.8" + lodash "^4.17.11" scrypt.js "0.2.0" - underscore "1.8.3" - uuid "2.0.1" - web3-core "1.0.0-beta.34" - web3-core-helpers "1.0.0-beta.34" - web3-core-method "1.0.0-beta.34" - web3-utils "1.0.0-beta.34" - -web3-eth-contract@1.0.0-beta.34: - version "1.0.0-beta.34" - resolved "http://registry.npm.taobao.org/web3-eth-contract/download/web3-eth-contract-1.0.0-beta.34.tgz#9dbb38fae7643a808427a20180470ec7415c91e6" - dependencies: - underscore "1.8.3" - web3-core "1.0.0-beta.34" - web3-core-helpers "1.0.0-beta.34" - web3-core-method "1.0.0-beta.34" - web3-core-promievent "1.0.0-beta.34" - web3-core-subscriptions "1.0.0-beta.34" - web3-eth-abi "1.0.0-beta.34" - web3-utils "1.0.0-beta.34" - -web3-eth-iban@1.0.0-beta.34: - version "1.0.0-beta.34" - resolved "http://registry.npm.taobao.org/web3-eth-iban/download/web3-eth-iban-1.0.0-beta.34.tgz#9af458605867ccf74ea979aaf326b38ba6a5ba0c" - dependencies: - bn.js "4.11.6" - web3-utils "1.0.0-beta.34" - -web3-eth-personal@1.0.0-beta.34: - version "1.0.0-beta.34" - resolved "http://registry.npm.taobao.org/web3-eth-personal/download/web3-eth-personal-1.0.0-beta.34.tgz#9afba167342ebde5420bcd5895c3f6c34388f205" - dependencies: - web3-core "1.0.0-beta.34" - web3-core-helpers "1.0.0-beta.34" - web3-core-method "1.0.0-beta.34" - web3-net "1.0.0-beta.34" - web3-utils "1.0.0-beta.34" - -web3-eth@1.0.0-beta.34: - version "1.0.0-beta.34" - resolved "http://registry.npm.taobao.org/web3-eth/download/web3-eth-1.0.0-beta.34.tgz#74086000850c6fe6f535ef49837d6d4bb6113268" - dependencies: - underscore "1.8.3" - web3-core "1.0.0-beta.34" - web3-core-helpers "1.0.0-beta.34" - web3-core-method "1.0.0-beta.34" - web3-core-subscriptions "1.0.0-beta.34" - web3-eth-abi "1.0.0-beta.34" - web3-eth-accounts "1.0.0-beta.34" - web3-eth-contract "1.0.0-beta.34" - web3-eth-iban "1.0.0-beta.34" - web3-eth-personal "1.0.0-beta.34" - web3-net "1.0.0-beta.34" - web3-utils "1.0.0-beta.34" - -web3-net@1.0.0-beta.34: - version "1.0.0-beta.34" - resolved "http://registry.npm.taobao.org/web3-net/download/web3-net-1.0.0-beta.34.tgz#427cea2f431881449c8e38d523290f173f9ff63d" - dependencies: - web3-core "1.0.0-beta.34" - web3-core-method "1.0.0-beta.34" - web3-utils "1.0.0-beta.34" - -web3-providers-http@1.0.0-beta.34: - version "1.0.0-beta.34" - resolved "http://registry.npm.taobao.org/web3-providers-http/download/web3-providers-http-1.0.0-beta.34.tgz#e561b52bbb43766282007d40285bfe3550c27e7a" - dependencies: - web3-core-helpers "1.0.0-beta.34" - xhr2 "0.1.4" - -web3-providers-ipc@1.0.0-beta.34: - version "1.0.0-beta.34" - resolved "http://registry.npm.taobao.org/web3-providers-ipc/download/web3-providers-ipc-1.0.0-beta.34.tgz#a1b77f1a306d73649a9c039052e40cb71328d00a" - dependencies: - oboe "2.1.3" - underscore "1.8.3" - web3-core-helpers "1.0.0-beta.34" - -web3-providers-ws@1.0.0-beta.34: - version "1.0.0-beta.34" - resolved "http://registry.npm.taobao.org/web3-providers-ws/download/web3-providers-ws-1.0.0-beta.34.tgz#7de70f1b83f2de36476772156becfef6e3516eb3" - dependencies: - underscore "1.8.3" - web3-core-helpers "1.0.0-beta.34" + uuid "3.3.2" + web3-core "1.0.0-beta.48" + web3-core-helpers "1.0.0-beta.48" + web3-core-method "1.0.0-beta.48" + web3-providers "1.0.0-beta.48" + web3-utils "1.0.0-beta.48" + +web3-eth-contract@1.0.0-beta.48: + version "1.0.0-beta.48" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.0.0-beta.48.tgz#b781485befc68c9cc0ac7c5423ce2119733a7d88" + integrity sha512-V02dZ0FozYAfE9LBiqHEUWNWY5K9EIFCoQ/9lJz/ixgeyzDe6LRWzec1fT0ntPrMaU3J3hr6+2Ikg41xnfYoaQ== + dependencies: + "@babel/runtime" "^7.3.1" + lodash "^4.17.11" + web3-core "1.0.0-beta.48" + web3-core-helpers "1.0.0-beta.48" + web3-core-method "1.0.0-beta.48" + web3-core-promievent "1.0.0-beta.48" + web3-core-subscriptions "1.0.0-beta.48" + web3-eth-abi "1.0.0-beta.48" + web3-eth-accounts "1.0.0-beta.48" + web3-providers "1.0.0-beta.48" + web3-utils "1.0.0-beta.48" + +web3-eth-ens@1.0.0-beta.48: + version "1.0.0-beta.48" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.0.0-beta.48.tgz#d2e7b64eebdff99892dffd0b6af44479d8bc6765" + integrity sha512-5pmpbms7n5o6zoKc77d5qWNbjPEfeU9qbTsmzbaZenriVpMqXpvdriuCDLkB/3OV4PvBi+z4Lj8RBTiDb2jBuA== + dependencies: + "@babel/runtime" "^7.3.1" + eth-ens-namehash "2.0.8" + lodash "^4.17.11" + web3-core "1.0.0-beta.48" + web3-core-helpers "1.0.0-beta.48" + web3-core-method "1.0.0-beta.48" + web3-core-promievent "1.0.0-beta.48" + web3-eth-abi "1.0.0-beta.48" + web3-eth-contract "1.0.0-beta.48" + web3-net "1.0.0-beta.48" + web3-providers "1.0.0-beta.48" + web3-utils "1.0.0-beta.48" + +web3-eth-iban@1.0.0-beta.48: + version "1.0.0-beta.48" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.48.tgz#9ce7eb63e07f4f32e62a6284ced86fae01a11ebe" + integrity sha512-ZQapOV6qTP6Wb3TMFUNRyyFwFgPYbB4pGdSW3OkNjFpx8xr+QjcQgwa6EbnSgF+3ApgSWeUzPtdRlqvV/7j5Lw== + dependencies: + "@babel/runtime" "^7.3.1" + bn.js "4.11.8" + web3-utils "1.0.0-beta.48" + +web3-eth-personal@1.0.0-beta.48: + version "1.0.0-beta.48" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.0.0-beta.48.tgz#ec1719fccc633aff7f6b6a8c2a3c29f8da2cd2d4" + integrity sha512-mcoslAQpxBbGiPRO6tOAHiLK3WoE+O1fN/6WJLRkEYlDUEJeo3eoWiAkkyaCZyzqCrrohZpZ977s7/spuxSSDA== + dependencies: + "@babel/runtime" "^7.3.1" + web3-core "1.0.0-beta.48" + web3-core-helpers "1.0.0-beta.48" + web3-core-method "1.0.0-beta.48" + web3-net "1.0.0-beta.48" + web3-providers "1.0.0-beta.48" + web3-utils "1.0.0-beta.48" + +web3-eth@1.0.0-beta.48: + version "1.0.0-beta.48" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.0.0-beta.48.tgz#7ed4ef7d1a06c1315777be285138b5ffe7b1fb0c" + integrity sha512-PTSe+UAzd/HxKFzG8VVr0WePtnErHhXeRu3j2dA+Z4ucVULJcJo8r6ux+ekWKNZMxXV+gtJjoChk7WGIqXLmSw== + dependencies: + "@babel/runtime" "^7.3.1" + eth-lib "0.2.8" + web3-core "1.0.0-beta.48" + web3-core-helpers "1.0.0-beta.48" + web3-core-method "1.0.0-beta.48" + web3-core-subscriptions "1.0.0-beta.48" + web3-eth-abi "1.0.0-beta.48" + web3-eth-accounts "1.0.0-beta.48" + web3-eth-contract "1.0.0-beta.48" + web3-eth-ens "1.0.0-beta.48" + web3-eth-iban "1.0.0-beta.48" + web3-eth-personal "1.0.0-beta.48" + web3-net "1.0.0-beta.48" + web3-providers "1.0.0-beta.48" + web3-utils "1.0.0-beta.48" + +web3-net@1.0.0-beta.48: + version "1.0.0-beta.48" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.0.0-beta.48.tgz#9d9434725c46fbc3e4592ffa3f556f6fa1364cd8" + integrity sha512-q9nLXc2DwepLaTvbJ8Bvv5QHJVY9CUNKJQnIYfcU+R5OHkZ9eN//B8skHbmk5dtbwKJbeUyt5sfZKas/cf4mlw== + dependencies: + "@babel/runtime" "^7.3.1" + lodash "^4.17.11" + web3-core "1.0.0-beta.48" + web3-core-helpers "1.0.0-beta.48" + web3-core-method "1.0.0-beta.48" + web3-providers "1.0.0-beta.48" + web3-utils "1.0.0-beta.48" + +web3-providers@1.0.0-beta.48: + version "1.0.0-beta.48" + resolved "https://registry.yarnpkg.com/web3-providers/-/web3-providers-1.0.0-beta.48.tgz#f2eef8269b6b0802f81e8c91aa4755c2c0bc172d" + integrity sha512-rqWe370lftaYqvTSe8b7vdaANEBeoME6f30yD8VIEkKD6iEbp5TqCtP6A22zC6CEcVnCUrXIKsBCSI71f+QEtw== + dependencies: + "@babel/runtime" "^7.3.1" + "@types/node" "^10.12.18" + eventemitter3 "3.1.0" + lodash "^4.17.11" + oboe "2.1.4" + url-parse "1.4.4" websocket "git://github.com/frozeman/WebSocket-Node.git#browserifyCompatible" - -web3-shh@1.0.0-beta.34: - version "1.0.0-beta.34" - resolved "http://registry.npm.taobao.org/web3-shh/download/web3-shh-1.0.0-beta.34.tgz#975061d71eaec42ccee576f7bd8f70f03844afe0" - dependencies: - web3-core "1.0.0-beta.34" - web3-core-method "1.0.0-beta.34" - web3-core-subscriptions "1.0.0-beta.34" - web3-net "1.0.0-beta.34" - -web3-utils@1.0.0-beta.34: - version "1.0.0-beta.34" - resolved "http://registry.npm.taobao.org/web3-utils/download/web3-utils-1.0.0-beta.34.tgz#9411fc39aaef39ca4e06169f762297d9ff020970" - dependencies: - bn.js "4.11.6" - eth-lib "0.1.27" - ethjs-unit "0.1.6" + xhr2-cookies "1.1.0" + +web3-shh@1.0.0-beta.48: + version "1.0.0-beta.48" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.0.0-beta.48.tgz#7cf317dbcf3753690de8ce3427736864e7b06e87" + integrity sha512-7F3JcsdMxuq2ezC2BaSFqy0suXtU7a58CjUIM6kVeWa1a3jwSIPvfzlDtMe3AKaabeOay0jaHHs3UUbw4Hzi+A== + dependencies: + "@babel/runtime" "^7.3.1" + web3-core "1.0.0-beta.48" + web3-core-helpers "1.0.0-beta.48" + web3-core-method "1.0.0-beta.48" + web3-core-subscriptions "1.0.0-beta.48" + web3-net "1.0.0-beta.48" + web3-providers "1.0.0-beta.48" + web3-utils "1.0.0-beta.48" + +web3-utils@1.0.0-beta.48: + version "1.0.0-beta.48" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.0.0-beta.48.tgz#faf9e4932030d78235efd5dcc17c397d8808fa45" + integrity sha512-TK61xy7mRpLt53M8GbPnrFr9lA2SmqLHvWIJN8K9cU4oDH9MWxuxxJ+Lxg+pQPKqIO9f1u+AiMRNvSEuMeeAmg== + dependencies: + "@babel/runtime" "^7.3.1" + "@types/bn.js" "^4.11.4" + "@types/node" "^10.12.18" + bn.js "4.11.8" + eth-lib "0.2.8" + ethjs-unit "^0.1.6" + lodash "^4.17.11" number-to-bn "1.7.0" randomhex "0.1.5" - underscore "1.8.3" utf8 "2.1.1" web3@^1.0.0-beta.34: - version "1.0.0-beta.34" - resolved "http://registry.npm.taobao.org/web3/download/web3-1.0.0-beta.34.tgz#347e561b784098cb5563315f490479a1d91f2ab1" - dependencies: - web3-bzz "1.0.0-beta.34" - web3-core "1.0.0-beta.34" - web3-eth "1.0.0-beta.34" - web3-eth-personal "1.0.0-beta.34" - web3-net "1.0.0-beta.34" - web3-shh "1.0.0-beta.34" - web3-utils "1.0.0-beta.34" + version "1.0.0-beta.48" + resolved "https://registry.yarnpkg.com/web3/-/web3-1.0.0-beta.48.tgz#66a3d29cdb40a0d2015cd7e5af081defaa2ec270" + integrity sha512-/HfIaRQVScZv0iy6fnEZCsXQbbOmtEB08sa2YaCkRo8nqUQo1C+55VC5sXqjrwKaDs9Xf9qxVTiUUeTbKD+KYg== + dependencies: + "@babel/runtime" "^7.3.1" + "@types/node" "^10.12.18" + web3-bzz "1.0.0-beta.48" + web3-core "1.0.0-beta.48" + web3-core-helpers "1.0.0-beta.48" + web3-core-method "1.0.0-beta.48" + web3-eth "1.0.0-beta.48" + web3-eth-personal "1.0.0-beta.48" + web3-net "1.0.0-beta.48" + web3-providers "1.0.0-beta.48" + web3-shh "1.0.0-beta.48" + web3-utils "1.0.0-beta.48" "websocket@git://github.com/frozeman/WebSocket-Node.git#browserifyCompatible": version "1.0.26" @@ -3448,37 +4227,54 @@ web3@^1.0.0-beta.34: typedarray-to-buffer "^3.1.2" yaeti "^0.0.6" -when@^3.7.7: - version "3.7.8" - resolved "http://registry.npm.taobao.org/when/download/when-3.7.8.tgz#c7130b6a7ea04693e842cdc9e7a1f2aa39a39f82" +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@^1.2.9: - version "1.3.0" - resolved "http://registry.npm.taobao.org/which/download/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" +which@1.3.1, which@^1.2.14, which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" -with-callback@^1.0.2: - version "1.0.2" - resolved "http://registry.npm.taobao.org/with-callback/download/with-callback-1.0.2.tgz#a09629b9a920028d721404fb435bdcff5c91bc21" +wide-align@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + dependencies: + string-width "^1.0.2 || 2" wordwrap@~1.0.0: version "1.0.0" - resolved "http://registry.npm.taobao.org/wordwrap/download/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" wrappy@1: version "1.0.2" - resolved "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write@^0.2.1: - version "0.2.1" - resolved "http://registry.npm.taobao.org/write/download/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" +write@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" + integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== dependencies: mkdirp "^0.5.1" ws@^3.0.0: version "3.3.3" - resolved "http://registry.npm.taobao.org/ws/download/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" + resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" + integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== dependencies: async-limiter "~1.0.0" safe-buffer "~5.1.0" @@ -3486,13 +4282,15 @@ ws@^3.0.0: xhr-request-promise@^0.1.2: version "0.1.2" - resolved "http://registry.npm.taobao.org/xhr-request-promise/download/xhr-request-promise-0.1.2.tgz#343c44d1ee7726b8648069682d0f840c83b4261d" + resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.2.tgz#343c44d1ee7726b8648069682d0f840c83b4261d" + integrity sha1-NDxE0e53JrhkgGloLQ+EDIO0Jh0= dependencies: xhr-request "^1.0.1" xhr-request@^1.0.1: version "1.1.0" - resolved "http://registry.npm.taobao.org/xhr-request/download/xhr-request-1.1.0.tgz#f4a7c1868b9f198723444d82dcae317643f2e2ed" + resolved "https://registry.yarnpkg.com/xhr-request/-/xhr-request-1.1.0.tgz#f4a7c1868b9f198723444d82dcae317643f2e2ed" + integrity sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA== dependencies: buffer-to-arraybuffer "^0.0.5" object-assign "^4.1.1" @@ -3502,38 +4300,87 @@ xhr-request@^1.0.1: url-set-query "^1.0.0" xhr "^2.0.4" -xhr2@0.1.4: - version "0.1.4" - resolved "http://registry.npm.taobao.org/xhr2/download/xhr2-0.1.4.tgz#7f87658847716db5026323812f818cadab387a5f" +xhr2-cookies@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz#7d77449d0999197f155cb73b23df72505ed89d48" + integrity sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg= + dependencies: + cookiejar "^2.1.1" xhr@^2.0.4, xhr@^2.3.3: version "2.5.0" - resolved "http://registry.npm.taobao.org/xhr/download/xhr-2.5.0.tgz#bed8d1676d5ca36108667692b74b316c496e49dd" + resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.5.0.tgz#bed8d1676d5ca36108667692b74b316c496e49dd" + integrity sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ== dependencies: global "~4.3.0" is-function "^1.0.1" parse-headers "^2.0.0" xtend "^4.0.0" -xregexp@2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/xregexp/download/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943" +xmlhttprequest@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" + integrity sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw= xtend@^4.0.0: version "4.0.1" - resolved "http://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= + +"y18n@^3.2.1 || ^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== yaeti@^0.0.6: version "0.0.6" - resolved "http://registry.npm.taobao.org/yaeti/download/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" + resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" + integrity sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc= -yallist@^2.1.2: - version "2.1.2" - resolved "http://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" +yallist@^3.0.0, yallist@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" + integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== + +yargs-parser@11.1.1, yargs-parser@^11.1.1: + version "11.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" + integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-unparser@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.5.0.tgz#f2bb2a7e83cbc87bb95c8e572828a06c9add6e0d" + integrity sha512-HK25qidFTCVuj/D1VfNiEndpLIeJN78aqgR23nL3y4N0U/91cOAzqfHlF8n2BvoNDcZmJKin3ddNSvOxSr8flw== + dependencies: + flat "^4.1.0" + lodash "^4.17.11" + yargs "^12.0.5" + +yargs@12.0.5, yargs@^12.0.5: + version "12.0.5" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" + integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== + dependencies: + cliui "^4.0.0" + decamelize "^1.2.0" + find-up "^3.0.0" + get-caller-file "^1.0.1" + os-locale "^3.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1 || ^4.0.0" + yargs-parser "^11.1.1" yauzl@^2.4.2: version "2.10.0" - resolved "http://registry.npm.taobao.org/yauzl/download/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= dependencies: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" From 8460356a37e73bb57688e426ac081532190ccf16 Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Sun, 17 Mar 2019 16:16:28 +0800 Subject: [PATCH 08/96] Use new js sdk. --- scripts/contracts/tests/package.json | 2 +- scripts/contracts/tests/test/helpers/util.js | 19 +- scripts/contracts/tests/test/integrate/abi.js | 8 +- .../tests/test/integrate/auto_exec.js | 4 +- .../tests/test/integrate/batch_tx.js | 6 +- .../tests/test/integrate/permission.js | 7 +- .../contracts/tests/test/integrate/quota.js | 6 +- .../contracts/tests/test/integrate/store.js | 10 +- scripts/contracts/tests/test/unit/admin.js | 2 +- .../tests/test/unit/authorization.js | 2 +- .../tests/test/unit/chain_manager.js | 2 +- scripts/contracts/tests/test/unit/group.js | 6 +- .../tests/test/unit/group_management.js | 8 +- .../contracts/tests/test/unit/node_manager.js | 2 +- .../contracts/tests/test/unit/permission.js | 6 +- .../tests/test/unit/permission_management.js | 12 +- scripts/contracts/tests/test/unit/quota.js | 2 +- .../tests/test/unit/role_management.js | 12 +- scripts/contracts/tests/test/unit/uint8.js | 31 +- scripts/contracts/tests/yarn.lock | 747 +++++++++--------- 20 files changed, 446 insertions(+), 448 deletions(-) diff --git a/scripts/contracts/tests/package.json b/scripts/contracts/tests/package.json index b8fde653d..59403cadc 100644 --- a/scripts/contracts/tests/package.json +++ b/scripts/contracts/tests/package.json @@ -34,7 +34,7 @@ "author": "Cryptape Technologies ", "license": "GPL-3.0+", "dependencies": { - "@appchain/base": "^0.20.3", + "@cryptape/cita-sdk": "^0.21.2", "chai": "^4.2.0", "log4js": "^4.0.2", "mocha": "^6.0.2" diff --git a/scripts/contracts/tests/test/helpers/util.js b/scripts/contracts/tests/test/helpers/util.js index df21e6c18..29e23fded 100644 --- a/scripts/contracts/tests/test/helpers/util.js +++ b/scripts/contracts/tests/test/helpers/util.js @@ -1,16 +1,16 @@ -const Appchain = require('@appchain/base').default; -const config = require('../config'); +const CITASDK = require('@cryptape/cita-sdk').default; const log4js = require('log4js'); +const config = require('../config'); const flag = true; -let appchain; +let citaSDK; if (flag) { // Use local server - appchain = Appchain(config.localServer); + citaSDK = CITASDK(config.localServer); } else { // Use remote server - appchain = Appchain(config.remoteServer); + citaSDK = CITASDK(config.remoteServer); } const logger = log4js.getLogger(); @@ -20,11 +20,10 @@ const blockLimit = 100; const sender = config.testSender; const randomInt = () => Math.floor(Math.random() * 100).toString(); -const genContract = (abi, addr) => new appchain.eth.Contract(abi, addr); +const genContract = (abi, addr) => new citaSDK.eth.Contract(abi, addr); -const getTxReceipt = appchain.listeners.listenToTransactionReceipt; -const getBlockNumber = appchain.base.getBlockNumber; -const getMetaData = appchain.base.getMetaData; +const getTxReceipt = citaSDK.listeners.listenToTransactionReceipt; +const { getBlockNumber, getMetaData } = citaSDK.base; const genTxParams = async (_sender = sender) => { const current = await getBlockNumber(); @@ -42,7 +41,7 @@ const genTxParams = async (_sender = sender) => { }; module.exports = { - appchain, + citaSDK, randomInt, quota, blockLimit, diff --git a/scripts/contracts/tests/test/integrate/abi.js b/scripts/contracts/tests/test/integrate/abi.js index 35d1bec59..261cd8227 100644 --- a/scripts/contracts/tests/test/integrate/abi.js +++ b/scripts/contracts/tests/test/integrate/abi.js @@ -4,7 +4,7 @@ const config = require('../config'); const { expect } = chai; const { - appchain, logger, genTxParams, + citaSDK, logger, genTxParams, } = util; const abiArray = [{ @@ -23,7 +23,7 @@ let param; describe('\n\ntest store/get abi\n\n', () => { it('should send a tx: deploy_contract', async () => { param = await genTxParams(superAdmin); - const res = await appchain.base.deploy( + const res = await citaSDK.base.deploy( testBin, param, ); @@ -33,7 +33,7 @@ describe('\n\ntest store/get abi\n\n', () => { it('should send a tx: store abi', async () => { param = await genTxParams(superAdmin); - const res = await appchain.base.storeAbi( + const res = await citaSDK.base.storeAbi( addr, abi, param, @@ -42,7 +42,7 @@ describe('\n\ntest store/get abi\n\n', () => { }); it('should get the abi', async () => { - const res = await appchain.base.getAbi(addr, 'pending'); + const res = await citaSDK.base.getAbi(addr, 'pending'); logger.debug('\nabi of test:\n', res); expect(res).to.deep.equal(abiArray); }); diff --git a/scripts/contracts/tests/test/integrate/auto_exec.js b/scripts/contracts/tests/test/integrate/auto_exec.js index 25d1ca68c..9dd79d613 100644 --- a/scripts/contracts/tests/test/integrate/auto_exec.js +++ b/scripts/contracts/tests/test/integrate/auto_exec.js @@ -5,7 +5,7 @@ const config = require('../config'); const { expect } = chai; const { - appchain, logger, genTxParams, genContract, getTxReceipt, + citaSDK, logger, genTxParams, genContract, getTxReceipt, } = util; const { superAdmin } = config; @@ -30,7 +30,7 @@ const abi = [{ describe('\n\nDeploy a contract\n\n', () => { it('should send a tx: deploy_contract', async () => { param = await genTxParams(superAdmin); - const res = await appchain.base.deploy( + const res = await citaSDK.base.deploy( bin, param, ); diff --git a/scripts/contracts/tests/test/integrate/batch_tx.js b/scripts/contracts/tests/test/integrate/batch_tx.js index bffa06c7f..28cc7d260 100644 --- a/scripts/contracts/tests/test/integrate/batch_tx.js +++ b/scripts/contracts/tests/test/integrate/batch_tx.js @@ -4,7 +4,7 @@ const config = require('../config'); const { expect } = chai; const { - appchain, logger, genTxParams, genContract, getTxReceipt, + citaSDK, logger, genTxParams, genContract, getTxReceipt, } = util; const { superAdmin } = config; @@ -32,7 +32,7 @@ const bytes32 = '000000000000000000000000000000000000000000000000000000000000000 describe('\n\nDeploy a contract\n\n', () => { it('should send a tx: deploy_contract', async () => { param = await genTxParams(superAdmin); - const res = await appchain.base.deploy( + const res = await citaSDK.base.deploy( bin, param, ); @@ -53,7 +53,7 @@ describe('\n\ntest batch tx\n\n', () => { const tmp = `${addr.substring(2)}${lenTx}${setHash}`; const data = `${mulHash}${bytes32}${bytes32}${tmp}${tmp}`; logger.debug('\nThe data:\n', JSON.stringify(data)); - const res = await appchain.base.sendTransaction({ + const res = await citaSDK.base.sendTransaction({ ...param, to: batchTx, data, diff --git a/scripts/contracts/tests/test/integrate/permission.js b/scripts/contracts/tests/test/integrate/permission.js index 04c03498a..1aeb1be9a 100644 --- a/scripts/contracts/tests/test/integrate/permission.js +++ b/scripts/contracts/tests/test/integrate/permission.js @@ -5,7 +5,7 @@ const config = require('../config'); const { expect } = chai; const { - appchain, logger, genTxParams, genContract, getTxReceipt, + citaSDK, logger, genTxParams, genContract, getTxReceipt, } = util; @@ -33,7 +33,7 @@ const { } = permissionManagement; -const name = appchain.utils.utf8ToHex('testPermission'); +const name = citaSDK.utils.utf8ToHex('testPermission'); const { superAdmin, @@ -42,7 +42,7 @@ const { describe('\n\nDeploy a contract\n\n', () => { it('should send a tx: deploy_contract', async () => { param = await genTxParams(superAdmin); - const res = await appchain.base.deploy( + const res = await citaSDK.base.deploy( bin, param, ); @@ -107,4 +107,3 @@ describe('\n\nDeploy a contract\n\n', () => { expect(res.errorMessage).to.be.null; }); }); - diff --git a/scripts/contracts/tests/test/integrate/quota.js b/scripts/contracts/tests/test/integrate/quota.js index 3531924ba..86228f3fd 100644 --- a/scripts/contracts/tests/test/integrate/quota.js +++ b/scripts/contracts/tests/test/integrate/quota.js @@ -6,7 +6,7 @@ const quota = require('../helpers/quota'); const { expect } = chai; const { - getTxReceipt, logger, appchain, genTxParams, + getTxReceipt, logger, citaSDK, genTxParams, } = util; const { setDefaultAQL, getDefaultAQL } = quota; @@ -42,7 +42,7 @@ describe('test quota not enough error', () => { it('should send a tx with bigger quota and get error msg', async () => { const param = await genTxParams(); // TODO should receive an error - appchain.base.sendTransaction(param).catch((e) => { + citaSDK.base.sendTransaction(param).catch((e) => { logger.log('\nerror:\n', e); expect(e).to.equal('QuotaNotEnough'); }); @@ -71,7 +71,7 @@ describe('test quota not enough error', () => { it('should send a tx with bigger quota', async () => { const param = await genTxParams(); - const res = await appchain.base.sendTransaction(param); + const res = await citaSDK.base.sendTransaction(param); logger.debug('\nSend tx ok:\n', JSON.stringify(res)); }); }); diff --git a/scripts/contracts/tests/test/integrate/store.js b/scripts/contracts/tests/test/integrate/store.js index a3e07dfce..936a5f574 100644 --- a/scripts/contracts/tests/test/integrate/store.js +++ b/scripts/contracts/tests/test/integrate/store.js @@ -6,7 +6,7 @@ const { expect } = chai; const { superAdmin } = config; const { - logger, appchain, genTxParams, getTxReceipt, + logger, citaSDK, genTxParams, getTxReceipt, } = util; // tmp @@ -15,13 +15,13 @@ let param; let content; // test data -const msg = appchain.utils.utf8ToHex('This is a test'); +const msg = citaSDK.utils.utf8ToHex('This is a test'); const store = 'ffffffffffffffffffffffffffffffffff010000'; describe('test store data', () => { it('should send a tx with data', async () => { param = await genTxParams(superAdmin); - const res = await appchain.base.sendTransaction({ + const res = await citaSDK.base.sendTransaction({ ...param, to: store, data: msg, @@ -38,14 +38,14 @@ describe('test store data', () => { }); it('should get tx content', async () => { - const res = await appchain.base.getTransaction(hash); + const res = await citaSDK.base.getTransaction(hash); logger.debug('\nTransaction:\n', res); expect(res.hash).to.equal(hash); ({ content } = res); }); it('should equal test msg', async () => { - const res = await appchain.base.unsigner(content); + const res = await citaSDK.base.unsigner(content); logger.debug('\nunsigner transaction content:\n', res); expect(res.transaction.data).to.equal(msg); }); diff --git a/scripts/contracts/tests/test/unit/admin.js b/scripts/contracts/tests/test/unit/admin.js index 76b2bc226..36d7c8cde 100644 --- a/scripts/contracts/tests/test/unit/admin.js +++ b/scripts/contracts/tests/test/unit/admin.js @@ -1,7 +1,7 @@ +const chai = require('chai'); const util = require('../helpers/util'); const admin = require('../helpers/admin'); const config = require('../config'); -const chai = require('chai'); const { expect } = chai; const { diff --git a/scripts/contracts/tests/test/unit/authorization.js b/scripts/contracts/tests/test/unit/authorization.js index a495aecc4..7997200bb 100644 --- a/scripts/contracts/tests/test/unit/authorization.js +++ b/scripts/contracts/tests/test/unit/authorization.js @@ -1,7 +1,7 @@ +const chai = require('chai'); const authorization = require('../helpers/authorization'); const util = require('../helpers/util'); const config = require('../config'); -const chai = require('chai'); const { expect } = chai; diff --git a/scripts/contracts/tests/test/unit/chain_manager.js b/scripts/contracts/tests/test/unit/chain_manager.js index 207401461..47434e74c 100644 --- a/scripts/contracts/tests/test/unit/chain_manager.js +++ b/scripts/contracts/tests/test/unit/chain_manager.js @@ -1,7 +1,7 @@ +const chai = require('chai'); const util = require('../helpers/util'); const chainManager = require('../helpers/chain_manager'); const config = require('../config'); -const chai = require('chai'); const { expect } = chai; const { logger, getTxReceipt } = util; diff --git a/scripts/contracts/tests/test/unit/group.js b/scripts/contracts/tests/test/unit/group.js index dd71d72d5..0db157a74 100644 --- a/scripts/contracts/tests/test/unit/group.js +++ b/scripts/contracts/tests/test/unit/group.js @@ -1,11 +1,11 @@ +const chai = require('chai'); const util = require('../helpers/util'); const config = require('../config'); const group = require('../helpers/group'); -const chai = require('chai'); const { expect } = chai; -const { appchain, logger } = util; +const { citaSDK, logger } = util; const { queryInfo, queryAccounts, queryParent, inGroup, @@ -13,7 +13,7 @@ const { // test data const { address } = config.superAdmin; -const name = appchain.utils.utf8ToHex('rootGroup'); +const name = citaSDK.utils.utf8ToHex('rootGroup'); const nul = '0x0000000000000000000000000000000000000000'; describe('test group contract', () => { diff --git a/scripts/contracts/tests/test/unit/group_management.js b/scripts/contracts/tests/test/unit/group_management.js index 9feaf759d..2599781bf 100644 --- a/scripts/contracts/tests/test/unit/group_management.js +++ b/scripts/contracts/tests/test/unit/group_management.js @@ -10,7 +10,7 @@ const { abi } = group; // util const { - logger, getTxReceipt, genContract, appchain, + logger, getTxReceipt, genContract, citaSDK, } = util; // group management @@ -28,9 +28,9 @@ let contract; let res; // test data TODO as a file -const name = appchain.utils.utf8ToHex('testGroup'); -const newName = appchain.utils.utf8ToHex('testGroupNewName'); -const newName2 = appchain.utils.utf8ToHex('testGroupNewName2'); +const name = citaSDK.utils.utf8ToHex('testGroup'); +const newName = citaSDK.utils.utf8ToHex('testGroupNewName'); +const newName2 = citaSDK.utils.utf8ToHex('testGroupNewName2'); const { rootGroup, testSender, testAddr } = config; const addr = testSender.address; diff --git a/scripts/contracts/tests/test/unit/node_manager.js b/scripts/contracts/tests/test/unit/node_manager.js index 1e26acdaa..c287c8f54 100644 --- a/scripts/contracts/tests/test/unit/node_manager.js +++ b/scripts/contracts/tests/test/unit/node_manager.js @@ -1,7 +1,7 @@ +const chai = require('chai'); const util = require('../helpers/util'); const nodeManager = require('../helpers/node_manager'); const config = require('../config'); -const chai = require('chai'); const { expect } = chai; const { diff --git a/scripts/contracts/tests/test/unit/permission.js b/scripts/contracts/tests/test/unit/permission.js index 28bc6a7c6..c11ea083d 100644 --- a/scripts/contracts/tests/test/unit/permission.js +++ b/scripts/contracts/tests/test/unit/permission.js @@ -1,10 +1,10 @@ +const chai = require('chai'); const util = require('../helpers/util'); const permission = require('../helpers/permission'); -const chai = require('chai'); const { expect } = chai; -const { appchain, logger } = util; +const { citaSDK, logger } = util; const { inPermission, queryInfo } = permission; @@ -12,7 +12,7 @@ describe('test permission contract', () => { it('should be the build-in newPermission', async () => { const res = await queryInfo(); logger.debug('\nInfo:\n', res); - expect(appchain.utils.hexToUtf8(res[0])).to.have.string('newPermission'); + expect(citaSDK.utils.hexToUtf8(res[0])).to.have.string('newPermission'); expect(res[1]).to.deep.equal(['0xffFffFffFFffFFFFFfFfFFfFFFFfffFFff020004']); expect(res[2]).to.deep.equal(['0xfc4a089c']); }); diff --git a/scripts/contracts/tests/test/unit/permission_management.js b/scripts/contracts/tests/test/unit/permission_management.js index fdfa0e11b..4b866432d 100644 --- a/scripts/contracts/tests/test/unit/permission_management.js +++ b/scripts/contracts/tests/test/unit/permission_management.js @@ -1,15 +1,15 @@ +const chai = require('chai'); const util = require('../helpers/util'); const permissionManagement = require('../helpers/permission_management'); const authorization = require('../helpers/authorization'); const permission = require('../helpers/permission'); const config = require('../config'); -const chai = require('chai'); const { expect } = chai; // util const { - logger, getTxReceipt, genContract, appchain, + logger, getTxReceipt, genContract, citaSDK, } = util; const { abi } = permission; @@ -34,10 +34,10 @@ let contract; // test data // const name = 'testPermission'; -const name = appchain.utils.utf8ToHex('testPermission'); -const newName = appchain.utils.utf8ToHex('testPermissionNewName'); -const nameA = appchain.utils.utf8ToHex('testPermissionA'); -const nameB = appchain.utils.utf8ToHex('testPermissionB'); +const name = citaSDK.utils.utf8ToHex('testPermission'); +const newName = citaSDK.utils.utf8ToHex('testPermissionNewName'); +const nameA = citaSDK.utils.utf8ToHex('testPermissionA'); +const nameB = citaSDK.utils.utf8ToHex('testPermissionB'); const { testAddr, testFunc, permissions } = config; const cont = '0x1a702A25C6bCA72B67987968f0BfB3a3213c5603'; const func = '0xf036ed59'; diff --git a/scripts/contracts/tests/test/unit/quota.js b/scripts/contracts/tests/test/unit/quota.js index f4eee4eb1..dc776fb81 100644 --- a/scripts/contracts/tests/test/unit/quota.js +++ b/scripts/contracts/tests/test/unit/quota.js @@ -1,6 +1,6 @@ +const chai = require('chai'); const util = require('../helpers/util'); const quota = require('../helpers/quota'); -const chai = require('chai'); const config = require('../config'); const { expect } = chai; diff --git a/scripts/contracts/tests/test/unit/role_management.js b/scripts/contracts/tests/test/unit/role_management.js index 0b04d7d2e..001fd66df 100644 --- a/scripts/contracts/tests/test/unit/role_management.js +++ b/scripts/contracts/tests/test/unit/role_management.js @@ -1,17 +1,17 @@ const fs = require('fs'); +const chai = require('chai'); const util = require('../helpers/util'); const roleManagement = require('../helpers/role_management'); const roleAuth = require('../helpers/role_auth'); const permissionManagement = require('../helpers/permission_management'); const authorization = require('../helpers/authorization'); const config = require('../config'); -const chai = require('chai'); const { expect } = chai; // util const { - getTxReceipt, logger, genContract, appchain, + getTxReceipt, logger, genContract, citaSDK, } = util; const roleAbi = JSON.parse(fs.readFileSync('../interaction/abi/Role.abi')); @@ -38,10 +38,10 @@ let hash; let roleInstance; // test data -const name = appchain.utils.utf8ToHex('testNewRole'); -const newName = appchain.utils.utf8ToHex('testNewRoleName'); -const name2 = appchain.utils.utf8ToHex('testNewRole2'); -const permName = appchain.utils.utf8ToHex('testPermission'); +const name = citaSDK.utils.utf8ToHex('testNewRole'); +const newName = citaSDK.utils.utf8ToHex('testNewRoleName'); +const name2 = citaSDK.utils.utf8ToHex('testNewRole2'); +const permName = citaSDK.utils.utf8ToHex('testPermission'); const { testAddr, testFunc, permissions } = config; const addr = testAddr[0]; const addr2 = testAddr[1]; diff --git a/scripts/contracts/tests/test/unit/uint8.js b/scripts/contracts/tests/test/unit/uint8.js index 56be1b67e..409de03ac 100644 --- a/scripts/contracts/tests/test/unit/uint8.js +++ b/scripts/contracts/tests/test/unit/uint8.js @@ -3,7 +3,7 @@ const util = require('../helpers/util'); const { expect } = chai; const { - appchain, logger, genTxParams, genContract, getTxReceipt, + citaSDK, logger, genTxParams, genContract, getTxReceipt, } = util; // tmp @@ -15,27 +15,26 @@ let contract; // test data const bin = '608060405234801561001057600080fd5b506104b1806100206000396000f30060806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630f560cd7811461007157806324b8ba5f146100d6578063916acd6f146100f3578063ab3a58a314610121578063f353f57514610136575b600080fd5b34801561007d57600080fd5b506100866101c6565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156100c25781810151838201526020016100aa565b505050509050019250505060405180910390f35b3480156100e257600080fd5b506100f160ff6004351661023d565b005b3480156100ff57600080fd5b5061010b600435610319565b6040805160ff9092168252519081900360200190f35b34801561012d57600080fd5b5061010b61034b565b34801561014257600080fd5b5061015160ff60043516610354565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018b578181015183820152602001610173565b50505050905090810190601f1680156101b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6060600180548060200260200160405190810160405280929190818152602001828054801561023257602002820191906000526020600020906000905b825461010083900a900460ff168152602060019283018181049485019490930390920291018084116102035790505b505050505090505b90565b6000805460ff80841660ff19909216821783556001805480820190915560208082047fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6018054601f9093166101000a808602940219909216929092179055604080518082018252600481527f7465737400000000000000000000000000000000000000000000000000000000818401908152938552600290925290922091516102e79291906103ed565b5060405160ff8216907f9ea96415d40c63bb79282ce0228b39a603c5aedcb05f6805a191d2ee3fb8167790600090a250565b600180548290811061032757fe5b9060005260206000209060209182820401919006915054906101000a900460ff1681565b60005460ff1681565b600260208181526000928352604092839020805484516001821615610100026000190190911693909304601f81018390048302840183019094528383529192908301828280156103e55780601f106103ba576101008083540402835291602001916103e5565b820191906000526020600020905b8154815290600101906020018083116103c857829003601f168201915b505050505081565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061042e57805160ff191683800117855561045b565b8280016001018555821561045b579182015b8281111561045b578251825591602001919060010190610440565b5061046792915061046b565b5090565b61023a91905b8082111561046757600081556001016104715600a165627a7a723058208e701579255c4f1fe708064d9ae54e25a31442bf4e0f99e5cbe935199276e1010029'; -const abi = - [{ - constant: true, inputs: [], name: 'list', outputs: [{ name: '', type: 'uint8[]' }], payable: false, stateMutability: 'view', type: 'function', - }, { - constant: false, inputs: [{ name: 'x', type: 'uint8' }], name: 'set', outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', - }, { - constant: true, inputs: [{ name: '', type: 'uint256' }], name: 'u8array', outputs: [{ name: '', type: 'uint8' }], payable: false, stateMutability: 'view', type: 'function', - }, { - constant: true, inputs: [], name: 'u8', outputs: [{ name: '', type: 'uint8' }], payable: false, stateMutability: 'view', type: 'function', - }, { - constant: true, inputs: [{ name: '', type: 'uint8' }], name: 'u8map', outputs: [{ name: '', type: 'string' }], payable: false, stateMutability: 'view', type: 'function', - }, { - anonymous: false, inputs: [{ indexed: true, name: 'x', type: 'uint8' }], name: 'IndexU8', type: 'event', - }]; +const abi = [{ + constant: true, inputs: [], name: 'list', outputs: [{ name: '', type: 'uint8[]' }], payable: false, stateMutability: 'view', type: 'function', +}, { + constant: false, inputs: [{ name: 'x', type: 'uint8' }], name: 'set', outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', +}, { + constant: true, inputs: [{ name: '', type: 'uint256' }], name: 'u8array', outputs: [{ name: '', type: 'uint8' }], payable: false, stateMutability: 'view', type: 'function', +}, { + constant: true, inputs: [], name: 'u8', outputs: [{ name: '', type: 'uint8' }], payable: false, stateMutability: 'view', type: 'function', +}, { + constant: true, inputs: [{ name: '', type: 'uint8' }], name: 'u8map', outputs: [{ name: '', type: 'string' }], payable: false, stateMutability: 'view', type: 'function', +}, { + anonymous: false, inputs: [{ indexed: true, name: 'x', type: 'uint8' }], name: 'IndexU8', type: 'event', +}]; const u8 = 0x01; const test = 'test'; describe('\n\nDeploy a contract\n\n', () => { it('should send a tx: deploy_contract', async () => { param = await genTxParams(); - res = await appchain.base.deploy( + res = await citaSDK.base.deploy( bin, param, ); diff --git a/scripts/contracts/tests/yarn.lock b/scripts/contracts/tests/yarn.lock index 8b80b47a0..f24b9df3b 100644 --- a/scripts/contracts/tests/yarn.lock +++ b/scripts/contracts/tests/yarn.lock @@ -2,24 +2,6 @@ # yarn lockfile v1 -"@appchain/base@^0.20.3": - version "0.20.3" - resolved "https://registry.yarnpkg.com/@appchain/base/-/base-0.20.3.tgz#733c8b117f89665a1e1cf86ab338c591e750bc37" - integrity sha512-BHujlv3mg8TBkokYIBGf6cHAYpqB40tnhYtzBDnsup5n+9Eq2b7Ol4QlHbW/WkyR4GlM2EtQiRiqknebPxB6jQ== - dependencies: - "@appchain/signer" "^2.0.4" - web3 "^1.0.0-beta.34" - -"@appchain/signer@^2.0.4": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@appchain/signer/-/signer-2.0.4.tgz#deae6486b2d04e0525a04f7d4d26b0a9a143e9bb" - integrity sha512-Hk3FMjB3VTYCXmiRGH9MR2DnNlQi4W2B9mmFCUEELFgiC3bIOPkz2MXbCnPITV81XycFKtEpzyDRz+JD/a4ilA== - dependencies: - ec "^0.0.1" - elliptic "^6.4.0" - google-protobuf "^3.5.0" - web3 "^1.0.0-beta.34" - "@babel/code-frame@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" @@ -36,26 +18,25 @@ esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/runtime@^7.3.1": - version "7.3.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.3.4.tgz#73d12ba819e365fcf7fd152aed56d6df97d21c83" - integrity sha512-IvfvnMdSaLBateu0jfsYIpZTxAc2cKEXEMiezGGN75QcBcecDUKd3PgLAncT0oOgxKy8dd8hrJKj9MfzgfZd6g== +"@cryptape/cita-sdk@^0.21.2": + version "0.21.2" + resolved "https://registry.yarnpkg.com/@cryptape/cita-sdk/-/cita-sdk-0.21.2.tgz#37607d1fc74d446cba44d4067e931838ff2a075b" + integrity sha512-2hcUor7VIzRRvkRm1yQbDFYgQ+Z/dUYyhUnd0H23L4IB8Nwih34jSl6W7vnW2jeWGEfnlEBOxbS3nuLYrGNizw== dependencies: - regenerator-runtime "^0.12.0" + "@cryptape/cita-signer" "^2.2.3" + web3 "1.0.0-beta.37" -"@types/bn.js@^4.11.4": - version "4.11.4" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.4.tgz#a7bed5bdef9f16b25c92ba27745ab261374787d7" - integrity sha512-AO8WW+aRcKWKQAYTfKLzwnpL6U+TfPqS+haRrhCy5ff04Da8WZud3ZgVjspQXaEXJDcTlsjUEVvL39wegDek5w== +"@cryptape/cita-signer@^2.2.3": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@cryptape/cita-signer/-/cita-signer-2.2.3.tgz#2000f8a19b8bb9f45b5a0e42b2c7cc034e7b8b82" + integrity sha512-KA06lG33uCj10/AcIOWbl/qnXf0qh4QIdHtiIMJMdLLUQcA7E06HTF+1acbeFHMDT5Q6O8SOFesskp0Ze8ReoA== dependencies: - "@types/node" "*" - -"@types/node@*": - version "11.11.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.3.tgz#7c6b0f8eaf16ae530795de2ad1b85d34bf2f5c58" - integrity sha512-wp6IOGu1lxsfnrD+5mX6qwSwWuqsdkKKxTN4aQc4wByHAKZJf9/D4KXPQ1POUjEbnCP5LMggB0OEFNY9OTsMqg== + ec "^0.0.1" + elliptic "^6.4.0" + google-protobuf "^3.5.0" + web3 "1.0.0-beta.37" -"@types/node@^10.12.18", "@types/node@^10.3.2": +"@types/node@^10.3.2": version "10.14.1" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.1.tgz#8701cd760acc20beba5ffe0b7a1b879f39cb8c41" integrity sha512-Rymt08vh1GaW4vYB6QP61/5m/CFLGnFZP++bJpWbiNxceNa6RBipDmb413jvtSf/R1gg5a/jQVl2jY4XVRscEA== @@ -125,6 +106,11 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" +any-promise@1.3.0, any-promise@^1.0.0, any-promise@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= + argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -263,6 +249,18 @@ bl@^1.0.0: readable-stream "^2.3.5" safe-buffer "^5.1.1" +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo= + dependencies: + inherits "~2.0.0" + +bluebird@^2.9.34: + version "2.11.0" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1" + integrity sha1-U0uQM8AiyVecVro7Plpcqvu2UOE= + bluebird@^3.5.0: version "3.5.3" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7" @@ -273,7 +271,7 @@ bn.js@4.11.6: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" integrity sha1-UzRK2xRhehP26N0s4okF0cC6MhU= -bn.js@4.11.8, bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.6, bn.js@^4.4.0: +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.6, bn.js@^4.4.0: version "4.11.8" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== @@ -495,11 +493,6 @@ check-error@^1.0.2: resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= -chownr@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" - integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== - cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" @@ -571,6 +564,11 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" +commander@^2.8.1: + version "2.19.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" + integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== + commander@~2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" @@ -1159,16 +1157,7 @@ eth-ens-namehash@2.0.8: idna-uts46-hx "^2.3.1" js-sha3 "^0.5.7" -eth-lib@0.2.8: - version "0.2.8" - resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.8.tgz#b194058bef4b220ad12ea497431d6cb6aa0623c8" - integrity sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw== - dependencies: - bn.js "^4.11.6" - elliptic "^6.4.0" - xhr-request-promise "^0.1.2" - -eth-lib@^0.1.26: +eth-lib@0.1.27, eth-lib@^0.1.26: version "0.1.27" resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.1.27.tgz#f0b0fd144f865d2d6bf8257a40004f2e75ca1dd6" integrity sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA== @@ -1181,10 +1170,19 @@ eth-lib@^0.1.26: ws "^3.0.0" xhr-request-promise "^0.1.2" -ethers@4.0.26: - version "4.0.26" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.26.tgz#a4b17184a0ed3db9c88d1b6d28beaa7d0e0ba3e4" - integrity sha512-3hK4S8eAGhuWZ/feip5z17MswjGgjb4lEPJqWO/O0dNqToYLSHhvu6gGQPs8d9f+XfpEB2EYexfF0qjhWiZjUA== +eth-lib@0.2.7: + version "0.2.7" + resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.7.tgz#2f93f17b1e23aec3759cd4a3fe20c1286a3fc1ca" + integrity sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco= + dependencies: + bn.js "^4.11.6" + elliptic "^6.4.0" + xhr-request-promise "^0.1.2" + +ethers@4.0.0-beta.1: + version "4.0.0-beta.1" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.0-beta.1.tgz#0648268b83e0e91a961b1af971c662cdf8cbab6d" + integrity sha512-SoYhktEbLxf+fiux5SfCEwdzWENMvgIbMZD90I62s4GZD9nEjgEWy8ZboI3hck193Vs0bDoTohDISx84f2H2tw== dependencies: "@types/node" "^10.3.2" aes-js "3.0.0" @@ -1192,12 +1190,12 @@ ethers@4.0.26: elliptic "6.3.3" hash.js "1.1.3" js-sha3 "0.5.7" - scrypt-js "2.0.4" + scrypt-js "2.0.3" setimmediate "1.0.4" uuid "2.0.1" xmlhttprequest "1.8.0" -ethjs-unit@^0.1.6: +ethjs-unit@0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" integrity sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk= @@ -1205,10 +1203,10 @@ ethjs-unit@^0.1.6: bn.js "4.11.6" number-to-bn "1.7.0" -eventemitter3@3.1.0, eventemitter3@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" - integrity sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA== +eventemitter3@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.1.1.tgz#47786bdaa087caf7b1b75e73abc5c7d540158cd0" + integrity sha1-R3hr2qCHyvext15zq8XH1UAVjNA= evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" @@ -1507,14 +1505,13 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== -fs-extra@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" - integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== +fs-extra@^2.0.0, fs-extra@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-2.1.2.tgz#046c70163cef9aad46b0e4a7fa467fb22d71de35" + integrity sha1-BGxwFjzvmq1GsOSn+kZ/si1x3jU= dependencies: graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" + jsonfile "^2.1.0" fs-extra@^7.0.0: version "7.0.1" @@ -1525,18 +1522,31 @@ fs-extra@^7.0.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-minipass@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" - integrity sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ== +fs-promise@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/fs-promise/-/fs-promise-2.0.3.tgz#f64e4f854bcf689aa8bddcba268916db3db46854" + integrity sha1-9k5PhUvPaJqovdy6JokW2z20aFQ= dependencies: - minipass "^2.2.1" + any-promise "^1.3.0" + fs-extra "^2.0.0" + mz "^2.6.0" + thenify-all "^1.6.0" fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= +fstream@^1.0.2, fstream@^1.0.8: + version "1.0.11" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" + integrity sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE= + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + function-bind@^1.0.2, function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -1639,7 +1649,7 @@ google-protobuf@^3.5.0: resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.7.0.tgz#5c7228b68d24a7c93706c1a44efdb8ee883cea43" integrity sha512-QZwgOBPfvnAdnYA+tizEs9CbE42mMXFPGCmYAh0podfJbGPkBIEC6vR9gMSGxjaSB8t2GCGLhOHiX9OrseOWCA== -got@^7.1.0: +got@7.1.0, got@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a" integrity sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw== @@ -1873,7 +1883,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= @@ -2188,6 +2198,13 @@ json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= +jsonfile@^2.1.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" + integrity sha1-NzaitCi4e72gzIO1P6PWM6NcKug= + optionalDependencies: + graceful-fs "^4.1.6" + jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" @@ -2453,21 +2470,6 @@ minimist@0.0.8: resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= -minipass@^2.2.1, minipass@^2.3.4: - version "2.3.5" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" - integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minizlib@^1.1.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" - integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== - dependencies: - minipass "^2.2.1" - mixin-deep@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" @@ -2483,7 +2485,7 @@ mkdirp-promise@^5.0.1: dependencies: mkdirp "*" -mkdirp@*, mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1: +mkdirp@*, mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= @@ -2524,6 +2526,11 @@ mock-fs@^4.1.0: resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.8.0.tgz#eb0784ceba4b34c91a924a5112eeb36e1b5a9e29" integrity sha512-Gwj4KnJOW15YeTJKO5frFd/WDO5Mc0zxXqL9oHx3+e9rBqW8EVARqQHSaIXznUdljrD6pvbNGW2ZGXKPEfYJfw== +mout@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/mout/-/mout-0.11.1.tgz#ba3611df5f0e5b1ffbfd01166b8f02d1f5fa2b99" + integrity sha1-ujYR318OWx/7/QEWa48C0fX6K5k= + ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -2539,6 +2546,15 @@ mute-stream@0.0.7: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= +mz@^2.6.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + nan@2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" @@ -2689,10 +2705,10 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" -oboe@2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/oboe/-/oboe-2.1.4.tgz#20c88cdb0c15371bb04119257d4fdd34b0aa49f6" - integrity sha1-IMiM2wwVNxuwQRklfU/dNLCqSfY= +oboe@2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/oboe/-/oboe-2.1.3.tgz#2b4865dbd46be81225713f4e9bfe4bcf4f680a4f" + integrity sha1-K0hl29Rr6BIlcT9Om/5Lz09oCk8= dependencies: http-https "^1.0.0" @@ -3041,11 +3057,6 @@ query-string@^5.0.1: object-assign "^4.1.0" strict-uri-encode "^1.0.0" -querystringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.0.tgz#7ded8dfbf7879dcc60d0a644ac6754b283ad17ef" - integrity sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg== - randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -3111,11 +3122,6 @@ readable-stream@^2.3.0, readable-stream@^2.3.5: string_decoder "~1.1.1" util-deprecate "~1.0.1" -regenerator-runtime@^0.12.0: - version "0.12.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de" - integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg== - regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" @@ -3175,11 +3181,6 @@ require-main-filename@^1.0.1: resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= - resolve-dir@^1.0.0, resolve-dir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" @@ -3223,7 +3224,7 @@ rfdc@^1.1.2: resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.1.2.tgz#e6e72d74f5dc39de8f538f65e00c36c18018e349" integrity sha512-92ktAgvZhBzYTIK0Mja9uen5q5J3NRVMoDkJL2VMwq6SXjVCgqvQeVP2XAaUY6HT+XpQYeLSjb3UoitBryKmdA== -rimraf@2.6.3: +rimraf@2, rimraf@2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== @@ -3269,10 +3270,10 @@ safe-regex@^1.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -scrypt-js@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16" - integrity sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw== +scrypt-js@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.3.tgz#bb0040be03043da9a012a2cea9fc9f852cfc87d4" + integrity sha1-uwBAvgMEPamgEqLOqfyfhSz8h9Q= scrypt.js@0.2.0: version "0.2.0" @@ -3687,22 +3688,23 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" -swarm-js@^0.1.39: - version "0.1.39" - resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.39.tgz#79becb07f291d4b2a178c50fee7aa6e10342c0e8" - integrity sha512-QLMqL2rzF6n5s50BptyD6Oi0R1aWlJC5Y17SRIVXRj6OR1DRIPM7nepvrxxkjA1zNzFz6mUOMjfeqeDaWB7OOg== +swarm-js@0.1.37: + version "0.1.37" + resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.37.tgz#27d485317a340bbeec40292af783cc10acfa4663" + integrity sha512-G8gi5fcXP/2upwiuOShJ258sIufBVztekgobr3cVgYXObZwJ5AXLqZn52AI+/ffft29pJexF9WNdUxjlkVehoQ== dependencies: bluebird "^3.5.0" buffer "^5.0.5" decompress "^4.0.0" eth-lib "^0.1.26" - fs-extra "^4.0.2" + fs-extra "^2.1.2" + fs-promise "^2.0.0" got "^7.1.0" mime-types "^2.1.16" mkdirp-promise "^5.0.1" mock-fs "^4.1.0" setimmediate "^1.0.5" - tar "^4.0.2" + tar.gz "^1.0.5" xhr-request-promise "^0.1.2" table@^5.2.3: @@ -3728,24 +3730,45 @@ tar-stream@^1.5.2: to-buffer "^1.1.1" xtend "^4.0.0" -tar@^4.0.2: - version "4.4.8" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d" - integrity sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ== - dependencies: - chownr "^1.1.1" - fs-minipass "^1.2.5" - minipass "^2.3.4" - minizlib "^1.1.1" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.2" +tar.gz@^1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/tar.gz/-/tar.gz-1.0.7.tgz#577ef2c595faaa73452ef0415fed41113212257b" + integrity sha512-uhGatJvds/3diZrETqMj4RxBR779LKlIE74SsMcn5JProZsfs9j0QBwWO1RW+IWNJxS2x8Zzra1+AW6OQHWphg== + dependencies: + bluebird "^2.9.34" + commander "^2.8.1" + fstream "^1.0.8" + mout "^0.11.0" + tar "^2.1.1" + +tar@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" + integrity sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE= + dependencies: + block-stream "*" + fstream "^1.0.2" + inherits "2" text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= +thenify-all@^1.0.0, thenify-all@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" + integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.0" + resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.0.tgz#e69e38a1babe969b0108207978b9f62b88604839" + integrity sha1-5p44obq+lpsBCCB5eLn2K4hgSDk= + dependencies: + any-promise "^1.0.0" + through@^2.3.6, through@^2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -3858,6 +3881,11 @@ unbzip2-stream@^1.0.9: buffer "^5.2.1" through "^2.3.8" +underscore@1.8.3: + version "1.8.3" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022" + integrity sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI= + union-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" @@ -3905,14 +3933,6 @@ url-parse-lax@^1.0.0: dependencies: prepend-http "^1.0.1" -url-parse@1.4.4: - version "1.4.4" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.4.tgz#cac1556e95faa0303691fec5cf9d5a1bc34648f8" - integrity sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg== - dependencies: - querystringify "^2.0.0" - requires-port "^1.0.0" - url-set-query@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/url-set-query/-/url-set-query-1.0.0.tgz#016e8cfd7c20ee05cafe7795e892bd0702faa339" @@ -3948,7 +3968,7 @@ uuid@2.0.1: resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.1.tgz#c2a30dedb3e535d72ccf82e343941a50ba8533ac" integrity sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w= -uuid@3.3.2, uuid@^3.3.2: +uuid@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== @@ -3975,248 +3995,234 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -web3-bzz@1.0.0-beta.48: - version "1.0.0-beta.48" - resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.0.0-beta.48.tgz#da88c2b9c865d69fd55b751e2ecf733536e433a7" - integrity sha512-rl+z5cyBXefZ1tgmhnC4QDutCYYmURKogHSkmhoH3ow161D1P8qYrxDqNSXwNcuXyejUaaPzi5OLAlR3JTnyxw== +web3-bzz@1.0.0-beta.37: + version "1.0.0-beta.37" + resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.0.0-beta.37.tgz#59e3e4f5a9d732731008fe9165c3ec8bf85d502f" + integrity sha512-E+dho49Nsm/QpQvYWOF35YDsQrMvLB19AApENxhlQsu6HpWQt534DQul0t3Y/aAh8rlKD6Kanxt8LhHDG3vejQ== + dependencies: + got "7.1.0" + swarm-js "0.1.37" + underscore "1.8.3" + +web3-core-helpers@1.0.0-beta.37: + version "1.0.0-beta.37" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.37.tgz#04ec354b7f5c57234c309eea2bda9bf1f2fe68ba" + integrity sha512-efaLOzN28RMnbugnyelgLwPWWaSwElQzcAJ/x3PZu+uPloM/lE5x0YuBKvIh7/PoSMlHqtRWj1B8CpuQOUQ5Ew== + dependencies: + underscore "1.8.3" + web3-eth-iban "1.0.0-beta.37" + web3-utils "1.0.0-beta.37" + +web3-core-method@1.0.0-beta.37: + version "1.0.0-beta.37" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.0.0-beta.37.tgz#53d148e63f818b23461b26307afdfbdaa9457744" + integrity sha512-pKWFUeqnVmzx3VrZg+CseSdrl/Yrk2ioid/HzolNXZE6zdoITZL0uRjnsbqXGEzgRRd1Oe/pFndpTlRsnxXloA== + dependencies: + underscore "1.8.3" + web3-core-helpers "1.0.0-beta.37" + web3-core-promievent "1.0.0-beta.37" + web3-core-subscriptions "1.0.0-beta.37" + web3-utils "1.0.0-beta.37" + +web3-core-promievent@1.0.0-beta.37: + version "1.0.0-beta.37" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.0.0-beta.37.tgz#4e51c469d0a7ac0a969885a4dbcde8504abe5b02" + integrity sha512-GTF2r1lP8nJBeA5Gxq5yZpJy9l8Fb9CXGZPfF8jHvaRdQHtm2Z+NDhqYmF833lcdkokRSyfPcXlz1mlWeClFpg== + dependencies: + any-promise "1.3.0" + eventemitter3 "1.1.1" + +web3-core-requestmanager@1.0.0-beta.37: + version "1.0.0-beta.37" + resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.0.0-beta.37.tgz#721a75df5920621bff42d9d74f7a64413675d56b" + integrity sha512-66VUqye5BGp1Zz1r8psCxdNH+GtTjaFwroum2Osx+wbC5oRjAiXkkadiitf6wRb+edodjEMPn49u7B6WGNuewQ== + dependencies: + underscore "1.8.3" + web3-core-helpers "1.0.0-beta.37" + web3-providers-http "1.0.0-beta.37" + web3-providers-ipc "1.0.0-beta.37" + web3-providers-ws "1.0.0-beta.37" + +web3-core-subscriptions@1.0.0-beta.37: + version "1.0.0-beta.37" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.0.0-beta.37.tgz#40de5e2490cc05b15faa8f935c97fd48d670cd9a" + integrity sha512-FdXl8so9kwkRRWziuCSpFsAuAdg9KvpXa1fQlT16uoGcYYfxwFO/nkwyBGQzkZt7emShI2IRugcazyPCZDwkOA== + dependencies: + eventemitter3 "1.1.1" + underscore "1.8.3" + web3-core-helpers "1.0.0-beta.37" + +web3-core@1.0.0-beta.37: + version "1.0.0-beta.37" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.0.0-beta.37.tgz#66c2c7000772c9db36d737ada31607ace09b7e90" + integrity sha512-cIwEqCj7OJyefQNauI0HOgW4sSaOQ98V99H2/HEIlnCZylsDzfw7gtQUdwnRFiIyIxjbWy3iWsjwDPoXNPZBYg== + dependencies: + web3-core-helpers "1.0.0-beta.37" + web3-core-method "1.0.0-beta.37" + web3-core-requestmanager "1.0.0-beta.37" + web3-utils "1.0.0-beta.37" + +web3-eth-abi@1.0.0-beta.37: + version "1.0.0-beta.37" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.37.tgz#55592fa9cd2427d9f0441d78f3b8d0c1359a2a24" + integrity sha512-g9DKZGM2OqwKp/tX3W/yihcj7mQCtJ6CXyZXEIZfuDyRBED/iSEIFfieDOd+yo16sokLMig6FG7ADhhu+19hdA== + dependencies: + ethers "4.0.0-beta.1" + underscore "1.8.3" + web3-utils "1.0.0-beta.37" + +web3-eth-accounts@1.0.0-beta.37: + version "1.0.0-beta.37" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.0.0-beta.37.tgz#0a5a9f14a6c3bd285e001c15eb3bb38ffa4b5204" + integrity sha512-uvbHL62/zwo4GDmwKdqH9c/EgYd8QVnAfpVw8D3epSISpgbONNY7Hr4MRMSd/CqAP12l2Ls9JVQGLhhC83bW6g== + dependencies: + any-promise "1.3.0" + crypto-browserify "3.12.0" + eth-lib "0.2.7" + scrypt.js "0.2.0" + underscore "1.8.3" + uuid "2.0.1" + web3-core "1.0.0-beta.37" + web3-core-helpers "1.0.0-beta.37" + web3-core-method "1.0.0-beta.37" + web3-utils "1.0.0-beta.37" + +web3-eth-contract@1.0.0-beta.37: + version "1.0.0-beta.37" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.0.0-beta.37.tgz#87f93c95ed16f320ba54943b7886890de6766013" + integrity sha512-h1B3A8Z/C7BlnTCHkrWbXZQTViDxfR12lKMeTkT8Sqj5phFmxrBlPE4ORy4lf1Dk5b23mZYE0r/IRACx4ThCrQ== + dependencies: + underscore "1.8.3" + web3-core "1.0.0-beta.37" + web3-core-helpers "1.0.0-beta.37" + web3-core-method "1.0.0-beta.37" + web3-core-promievent "1.0.0-beta.37" + web3-core-subscriptions "1.0.0-beta.37" + web3-eth-abi "1.0.0-beta.37" + web3-utils "1.0.0-beta.37" + +web3-eth-ens@1.0.0-beta.37: + version "1.0.0-beta.37" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.0.0-beta.37.tgz#714ecb01eb447ee3eb39b2b20a10ae96edb1f01f" + integrity sha512-dR3UkrVzdRrJhfP57xBPx0CMiVnCcYFvh+u2XMkGydrhHgupSUkjqGr89xry/j1T0BkuN9mikpbyhdCVMXqMbg== dependencies: - "@babel/runtime" "^7.3.1" - "@types/node" "^10.12.18" - lodash "^4.17.11" - swarm-js "^0.1.39" - -web3-core-helpers@1.0.0-beta.48: - version "1.0.0-beta.48" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.48.tgz#efd552012ff5886a94e49e4f6c2ccef72b4a1a7d" - integrity sha512-WjRKTw67IVX1k0S600c9pyp1YZib3AjSOFWAyJu5XbhtckXryZ5oQVFbJRc7XVeJWJA0yLGnqZuSUSh4ot8Byw== + eth-ens-namehash "2.0.8" + underscore "1.8.3" + web3-core "1.0.0-beta.37" + web3-core-helpers "1.0.0-beta.37" + web3-core-promievent "1.0.0-beta.37" + web3-eth-abi "1.0.0-beta.37" + web3-eth-contract "1.0.0-beta.37" + web3-utils "1.0.0-beta.37" + +web3-eth-iban@1.0.0-beta.37: + version "1.0.0-beta.37" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.37.tgz#313a3f18ae2ab00ba98678ea1156b09ef32a3655" + integrity sha512-WQRniGJFxH/XCbd7miO6+jnUG+6bvuzfeufPIiOtCbeIC1ypp1kSqER8YVBDrTyinU1xnf1U5v0KBZ2yiWBJxQ== dependencies: - "@babel/runtime" "^7.3.1" - lodash "^4.17.11" - web3-eth-iban "1.0.0-beta.48" - web3-utils "1.0.0-beta.48" + bn.js "4.11.6" + web3-utils "1.0.0-beta.37" + +web3-eth-personal@1.0.0-beta.37: + version "1.0.0-beta.37" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.0.0-beta.37.tgz#187472f51861e2b6d45da43411801bc91a859f9a" + integrity sha512-B4dZpGbD+nGnn48i6nJBqrQ+HB7oDmd+Q3wGRKOsHSK5HRWO/KwYeA7wgwamMAElkut50lIsT9EJl4Apfk3G5Q== + dependencies: + web3-core "1.0.0-beta.37" + web3-core-helpers "1.0.0-beta.37" + web3-core-method "1.0.0-beta.37" + web3-net "1.0.0-beta.37" + web3-utils "1.0.0-beta.37" + +web3-eth@1.0.0-beta.37: + version "1.0.0-beta.37" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.0.0-beta.37.tgz#0e8ffcd857a5f85ae4b5f052ad831ca5c56f4f74" + integrity sha512-Eb3aGtkz3G9q+Z9DKgSQNbn/u8RtcZQQ0R4sW9hy5KK47GoT6vab5c6DiD3QWzI0BzitHzR5Ji+3VHf/hPUGgw== + dependencies: + underscore "1.8.3" + web3-core "1.0.0-beta.37" + web3-core-helpers "1.0.0-beta.37" + web3-core-method "1.0.0-beta.37" + web3-core-subscriptions "1.0.0-beta.37" + web3-eth-abi "1.0.0-beta.37" + web3-eth-accounts "1.0.0-beta.37" + web3-eth-contract "1.0.0-beta.37" + web3-eth-ens "1.0.0-beta.37" + web3-eth-iban "1.0.0-beta.37" + web3-eth-personal "1.0.0-beta.37" + web3-net "1.0.0-beta.37" + web3-utils "1.0.0-beta.37" + +web3-net@1.0.0-beta.37: + version "1.0.0-beta.37" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.0.0-beta.37.tgz#b494136043f3c6ba84fe4a47d4c028c2a63c9a8e" + integrity sha512-xG/uBtMdDa1UMXw9KjDUgf3fXA/fDEJUYUS0TDn+U9PMgngA+UVECHNNvQTrVVDxEky38V3sahwIDiopNsQdsw== + dependencies: + web3-core "1.0.0-beta.37" + web3-core-method "1.0.0-beta.37" + web3-utils "1.0.0-beta.37" + +web3-providers-http@1.0.0-beta.37: + version "1.0.0-beta.37" + resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.0.0-beta.37.tgz#c06efd60e16e329e25bd268d2eefc68d82d13651" + integrity sha512-FM/1YDB1jtZuTo78habFj7S9tNHoqt0UipdyoQV29b8LkGKZV9Vs3is8L24hzuj1j/tbwkcAH+ewIseHwu0DTg== + dependencies: + web3-core-helpers "1.0.0-beta.37" + xhr2-cookies "1.1.0" -web3-core-method@1.0.0-beta.48: - version "1.0.0-beta.48" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.0.0-beta.48.tgz#c56e04a5211d843164d2e17aac31d4cda019bfc2" - integrity sha512-/VfRiFzksrHqKbicK+Yw8SzK2hw/YXKjTQ6l/j9CVFw2FDpBqQtlo9A3qZNeoo6aIh1McTVeSSIrR9vJGFo3dw== +web3-providers-ipc@1.0.0-beta.37: + version "1.0.0-beta.37" + resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.0.0-beta.37.tgz#55d247e7197257ca0c3e4f4b0fe1561311b9d5b9" + integrity sha512-NdRPRxYMIU0C3u18NI8u4bwbhI9pCg5nRgDGYcmSAx5uOBxiYcQy+hb0WkJRRhBoyIXJmy+s26FoH8904+UnPg== dependencies: - "@babel/runtime" "^7.3.1" - eventemitter3 "3.1.0" - lodash "^4.17.11" - web3-core "1.0.0-beta.48" - web3-core-helpers "1.0.0-beta.48" - web3-core-promievent "1.0.0-beta.48" - web3-core-subscriptions "1.0.0-beta.48" - web3-utils "1.0.0-beta.48" - -web3-core-promievent@1.0.0-beta.48: - version "1.0.0-beta.48" - resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.0.0-beta.48.tgz#1a441860ec86b0996431d50ccc4fe9de0d1dbc86" - integrity sha512-GNUnYUL0PUO/QzvlYxIlZW5Pra3jyjN6uHuUSDFRp59NbknluP470nTSC/+0XkvZrVTYADf0+04yyOlVM083Ug== - dependencies: - "@babel/runtime" "^7.3.1" - eventemitter3 "^3.1.0" - -web3-core-subscriptions@1.0.0-beta.48: - version "1.0.0-beta.48" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.0.0-beta.48.tgz#a1b941e993302ba81bb889a9243fd96889d841f2" - integrity sha512-9G5hQhFuEvEtZ+e+wEulpfGQnUny7McDiQ6G3pxN6b5/Wg7MVW5Zovcm8s7kvBGISW/8UkRVOJ1vYkzjH0Y2fg== - dependencies: - "@babel/runtime" "^7.3.1" - eventemitter3 "^3.1.0" - lodash "^4.17.11" - web3-core-helpers "1.0.0-beta.48" - web3-utils "1.0.0-beta.48" + oboe "2.1.3" + underscore "1.8.3" + web3-core-helpers "1.0.0-beta.37" -web3-core@1.0.0-beta.48: - version "1.0.0-beta.48" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.0.0-beta.48.tgz#122dad8face59ec5b2fdcba829aa7b56fa041387" - integrity sha512-vOciU4otvpqp5rRJlfjMGuq+OqBG0EYskKwUbQY+UUM8w8g8MRKjYZGzqIMGQGQ3liIbJGQk8WtiVQjh0e5ZrQ== +web3-providers-ws@1.0.0-beta.37: + version "1.0.0-beta.37" + resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.0.0-beta.37.tgz#77c15aebc00b75d760d22d063ac2e415bdbef72f" + integrity sha512-8p6ZLv+1JYa5Vs8oBn33Nn3VGFBbF+wVfO+b78RJS1Qf1uIOzjFVDk3XwYDD7rlz9G5BKpxhaQw+6EGQ7L02aw== dependencies: - "@babel/runtime" "^7.3.1" - "@types/node" "^10.12.18" - lodash "^4.17.11" - web3-utils "1.0.0-beta.48" + underscore "1.8.3" + web3-core-helpers "1.0.0-beta.37" + websocket "git://github.com/frozeman/WebSocket-Node.git#browserifyCompatible" -web3-eth-abi@1.0.0-beta.48: - version "1.0.0-beta.48" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.48.tgz#81296c0360ca6d78285815e3b91732ba89aba632" - integrity sha512-wT1EarsrxHSkd4ZKMn9McgRVXa5fFaNHkjBRo/idXWyV/MMrzs7oCa2AtovrCrkQRiT2GmecaBDLXxGPA06grw== +web3-shh@1.0.0-beta.37: + version "1.0.0-beta.37" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.0.0-beta.37.tgz#3246ce5229601b525020828a56ee283307057105" + integrity sha512-h5STG/xqZNQWtCLYOu7NiMqwqPea8SfkKQUPUFxXKIPVCFVKpHuQEwW1qcPQRJMLhlQIv17xuoUe1A+RzDNbrw== dependencies: - "@babel/runtime" "^7.3.1" - ethers "4.0.26" - lodash "^4.17.11" - web3-utils "1.0.0-beta.48" + web3-core "1.0.0-beta.37" + web3-core-method "1.0.0-beta.37" + web3-core-subscriptions "1.0.0-beta.37" + web3-net "1.0.0-beta.37" -web3-eth-accounts@1.0.0-beta.48: - version "1.0.0-beta.48" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.0.0-beta.48.tgz#b070331b4c4c0c1bee9cb32fe023a33354a261ba" - integrity sha512-h+1I7Ao0ALKRz0EeDBcZ+ASYyvW06DZmsIYl0yqKTdH3ilfhTkPrEUjmnRPA9KKvJQvrmUkSLEcBHc6OxG+zlA== +web3-utils@1.0.0-beta.37: + version "1.0.0-beta.37" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.0.0-beta.37.tgz#ab868a90fe5e649337e38bdaf72133fcbf4d414d" + integrity sha512-kA1fyhO8nKgU21wi30oJQ/ssvu+9srMdjOTKbHYbQe4ATPcr5YNwwrxG3Bcpbu1bEwRUVKHCkqi+wTvcAWBdlQ== dependencies: - "@babel/runtime" "^7.3.1" - crypto-browserify "3.12.0" - eth-lib "0.2.8" - lodash "^4.17.11" - scrypt.js "0.2.0" - uuid "3.3.2" - web3-core "1.0.0-beta.48" - web3-core-helpers "1.0.0-beta.48" - web3-core-method "1.0.0-beta.48" - web3-providers "1.0.0-beta.48" - web3-utils "1.0.0-beta.48" - -web3-eth-contract@1.0.0-beta.48: - version "1.0.0-beta.48" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.0.0-beta.48.tgz#b781485befc68c9cc0ac7c5423ce2119733a7d88" - integrity sha512-V02dZ0FozYAfE9LBiqHEUWNWY5K9EIFCoQ/9lJz/ixgeyzDe6LRWzec1fT0ntPrMaU3J3hr6+2Ikg41xnfYoaQ== - dependencies: - "@babel/runtime" "^7.3.1" - lodash "^4.17.11" - web3-core "1.0.0-beta.48" - web3-core-helpers "1.0.0-beta.48" - web3-core-method "1.0.0-beta.48" - web3-core-promievent "1.0.0-beta.48" - web3-core-subscriptions "1.0.0-beta.48" - web3-eth-abi "1.0.0-beta.48" - web3-eth-accounts "1.0.0-beta.48" - web3-providers "1.0.0-beta.48" - web3-utils "1.0.0-beta.48" - -web3-eth-ens@1.0.0-beta.48: - version "1.0.0-beta.48" - resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.0.0-beta.48.tgz#d2e7b64eebdff99892dffd0b6af44479d8bc6765" - integrity sha512-5pmpbms7n5o6zoKc77d5qWNbjPEfeU9qbTsmzbaZenriVpMqXpvdriuCDLkB/3OV4PvBi+z4Lj8RBTiDb2jBuA== - dependencies: - "@babel/runtime" "^7.3.1" - eth-ens-namehash "2.0.8" - lodash "^4.17.11" - web3-core "1.0.0-beta.48" - web3-core-helpers "1.0.0-beta.48" - web3-core-method "1.0.0-beta.48" - web3-core-promievent "1.0.0-beta.48" - web3-eth-abi "1.0.0-beta.48" - web3-eth-contract "1.0.0-beta.48" - web3-net "1.0.0-beta.48" - web3-providers "1.0.0-beta.48" - web3-utils "1.0.0-beta.48" - -web3-eth-iban@1.0.0-beta.48: - version "1.0.0-beta.48" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.48.tgz#9ce7eb63e07f4f32e62a6284ced86fae01a11ebe" - integrity sha512-ZQapOV6qTP6Wb3TMFUNRyyFwFgPYbB4pGdSW3OkNjFpx8xr+QjcQgwa6EbnSgF+3ApgSWeUzPtdRlqvV/7j5Lw== - dependencies: - "@babel/runtime" "^7.3.1" - bn.js "4.11.8" - web3-utils "1.0.0-beta.48" - -web3-eth-personal@1.0.0-beta.48: - version "1.0.0-beta.48" - resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.0.0-beta.48.tgz#ec1719fccc633aff7f6b6a8c2a3c29f8da2cd2d4" - integrity sha512-mcoslAQpxBbGiPRO6tOAHiLK3WoE+O1fN/6WJLRkEYlDUEJeo3eoWiAkkyaCZyzqCrrohZpZ977s7/spuxSSDA== - dependencies: - "@babel/runtime" "^7.3.1" - web3-core "1.0.0-beta.48" - web3-core-helpers "1.0.0-beta.48" - web3-core-method "1.0.0-beta.48" - web3-net "1.0.0-beta.48" - web3-providers "1.0.0-beta.48" - web3-utils "1.0.0-beta.48" - -web3-eth@1.0.0-beta.48: - version "1.0.0-beta.48" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.0.0-beta.48.tgz#7ed4ef7d1a06c1315777be285138b5ffe7b1fb0c" - integrity sha512-PTSe+UAzd/HxKFzG8VVr0WePtnErHhXeRu3j2dA+Z4ucVULJcJo8r6ux+ekWKNZMxXV+gtJjoChk7WGIqXLmSw== - dependencies: - "@babel/runtime" "^7.3.1" - eth-lib "0.2.8" - web3-core "1.0.0-beta.48" - web3-core-helpers "1.0.0-beta.48" - web3-core-method "1.0.0-beta.48" - web3-core-subscriptions "1.0.0-beta.48" - web3-eth-abi "1.0.0-beta.48" - web3-eth-accounts "1.0.0-beta.48" - web3-eth-contract "1.0.0-beta.48" - web3-eth-ens "1.0.0-beta.48" - web3-eth-iban "1.0.0-beta.48" - web3-eth-personal "1.0.0-beta.48" - web3-net "1.0.0-beta.48" - web3-providers "1.0.0-beta.48" - web3-utils "1.0.0-beta.48" - -web3-net@1.0.0-beta.48: - version "1.0.0-beta.48" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.0.0-beta.48.tgz#9d9434725c46fbc3e4592ffa3f556f6fa1364cd8" - integrity sha512-q9nLXc2DwepLaTvbJ8Bvv5QHJVY9CUNKJQnIYfcU+R5OHkZ9eN//B8skHbmk5dtbwKJbeUyt5sfZKas/cf4mlw== - dependencies: - "@babel/runtime" "^7.3.1" - lodash "^4.17.11" - web3-core "1.0.0-beta.48" - web3-core-helpers "1.0.0-beta.48" - web3-core-method "1.0.0-beta.48" - web3-providers "1.0.0-beta.48" - web3-utils "1.0.0-beta.48" - -web3-providers@1.0.0-beta.48: - version "1.0.0-beta.48" - resolved "https://registry.yarnpkg.com/web3-providers/-/web3-providers-1.0.0-beta.48.tgz#f2eef8269b6b0802f81e8c91aa4755c2c0bc172d" - integrity sha512-rqWe370lftaYqvTSe8b7vdaANEBeoME6f30yD8VIEkKD6iEbp5TqCtP6A22zC6CEcVnCUrXIKsBCSI71f+QEtw== - dependencies: - "@babel/runtime" "^7.3.1" - "@types/node" "^10.12.18" - eventemitter3 "3.1.0" - lodash "^4.17.11" - oboe "2.1.4" - url-parse "1.4.4" - websocket "git://github.com/frozeman/WebSocket-Node.git#browserifyCompatible" - xhr2-cookies "1.1.0" - -web3-shh@1.0.0-beta.48: - version "1.0.0-beta.48" - resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.0.0-beta.48.tgz#7cf317dbcf3753690de8ce3427736864e7b06e87" - integrity sha512-7F3JcsdMxuq2ezC2BaSFqy0suXtU7a58CjUIM6kVeWa1a3jwSIPvfzlDtMe3AKaabeOay0jaHHs3UUbw4Hzi+A== - dependencies: - "@babel/runtime" "^7.3.1" - web3-core "1.0.0-beta.48" - web3-core-helpers "1.0.0-beta.48" - web3-core-method "1.0.0-beta.48" - web3-core-subscriptions "1.0.0-beta.48" - web3-net "1.0.0-beta.48" - web3-providers "1.0.0-beta.48" - web3-utils "1.0.0-beta.48" - -web3-utils@1.0.0-beta.48: - version "1.0.0-beta.48" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.0.0-beta.48.tgz#faf9e4932030d78235efd5dcc17c397d8808fa45" - integrity sha512-TK61xy7mRpLt53M8GbPnrFr9lA2SmqLHvWIJN8K9cU4oDH9MWxuxxJ+Lxg+pQPKqIO9f1u+AiMRNvSEuMeeAmg== - dependencies: - "@babel/runtime" "^7.3.1" - "@types/bn.js" "^4.11.4" - "@types/node" "^10.12.18" - bn.js "4.11.8" - eth-lib "0.2.8" - ethjs-unit "^0.1.6" - lodash "^4.17.11" + bn.js "4.11.6" + eth-lib "0.1.27" + ethjs-unit "0.1.6" number-to-bn "1.7.0" randomhex "0.1.5" + underscore "1.8.3" utf8 "2.1.1" -web3@^1.0.0-beta.34: - version "1.0.0-beta.48" - resolved "https://registry.yarnpkg.com/web3/-/web3-1.0.0-beta.48.tgz#66a3d29cdb40a0d2015cd7e5af081defaa2ec270" - integrity sha512-/HfIaRQVScZv0iy6fnEZCsXQbbOmtEB08sa2YaCkRo8nqUQo1C+55VC5sXqjrwKaDs9Xf9qxVTiUUeTbKD+KYg== - dependencies: - "@babel/runtime" "^7.3.1" - "@types/node" "^10.12.18" - web3-bzz "1.0.0-beta.48" - web3-core "1.0.0-beta.48" - web3-core-helpers "1.0.0-beta.48" - web3-core-method "1.0.0-beta.48" - web3-eth "1.0.0-beta.48" - web3-eth-personal "1.0.0-beta.48" - web3-net "1.0.0-beta.48" - web3-providers "1.0.0-beta.48" - web3-shh "1.0.0-beta.48" - web3-utils "1.0.0-beta.48" +web3@1.0.0-beta.37: + version "1.0.0-beta.37" + resolved "https://registry.yarnpkg.com/web3/-/web3-1.0.0-beta.37.tgz#b42c30e67195f816cd19d048fda872f70eca7083" + integrity sha512-8XLgUspdzicC/xHG82TLrcF/Fxzj2XYNJ1KTYnepOI77bj5rvpsxxwHYBWQ6/JOjk0HkZqoBfnXWgcIHCDhZhQ== + dependencies: + web3-bzz "1.0.0-beta.37" + web3-core "1.0.0-beta.37" + web3-eth "1.0.0-beta.37" + web3-eth-personal "1.0.0-beta.37" + web3-net "1.0.0-beta.37" + web3-shh "1.0.0-beta.37" + web3-utils "1.0.0-beta.37" "websocket@git://github.com/frozeman/WebSocket-Node.git#browserifyCompatible": version "1.0.26" @@ -4337,11 +4343,6 @@ yaeti@^0.0.6: resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" integrity sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc= -yallist@^3.0.0, yallist@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" - integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== - yargs-parser@11.1.1, yargs-parser@^11.1.1: version "11.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" From 09a0619cf1a449a9d43f535e145aa665e0c39716 Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Mon, 18 Mar 2019 10:30:14 +0800 Subject: [PATCH 09/96] Fix typo: j -> js. --- scripts/contracts/tests/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/contracts/tests/package.json b/scripts/contracts/tests/package.json index 59403cadc..840a70b2e 100644 --- a/scripts/contracts/tests/package.json +++ b/scripts/contracts/tests/package.json @@ -14,7 +14,7 @@ "unit_gm": "eslint test/unit/group_management.js && mocha test/unit/group_management.js -t 20s --exit", "unit_pm": "eslint test/unit/permission_management.js && mocha test/unit/permission_management.js -t 20s --exit", "unit_rm": "eslint test/unit/role_management.js && mocha test/unit/role_management.js -t 20s --exit", - "unit_auth": "eslint test/unit/authorization.j && mocha test/unit/authorization.js -t 20s --exit", + "unit_auth": "eslint test/unit/authorization.js && mocha test/unit/authorization.js -t 20s --exit", "unit_quota": "eslint test/unit/quota.js && mocha test/unit/quota.js -t 20s --exit", "unit_qm": "eslint test/unit/quota_manager.js && mocha test/unit/quota_manager.js -t 20s --exit", "unit_node": "eslint test/unit/node_manager.js && mocha test/unit/node_manager.js -t 20s --exit", From 640574ce38d8e2aecba6266b3a7231a5b3bc7e03 Mon Sep 17 00:00:00 2001 From: ouwenkg <2630582710@qq.com> Date: Tue, 12 Mar 2019 12:01:37 +0800 Subject: [PATCH 10/96] update comment --- cita-chain/src/main.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cita-chain/src/main.rs b/cita-chain/src/main.rs index 3fc00a443..667df8569 100644 --- a/cita-chain/src/main.rs +++ b/cita-chain/src/main.rs @@ -154,15 +154,15 @@ fn main() { let block_processor = BlockProcessor::new(Arc::clone(&chain), ctx_pub); - //chain 读写分离 - //chain 读数据 => 查询数据 + // Two threads, one for reading, one for writing + // Read: dispatch msg thread::spawn(move || loop { if let Ok((key, msg)) = rx.recv() { forward.dispatch_msg(&key, &msg); } }); - //chain 写数据 => 添加块 + // Write: add block thread::spawn(move || { let mut timeout_factor = 0u8; loop { From ec5570e4749a40f56ec64971835e19097c01fb84 Mon Sep 17 00:00:00 2001 From: ouwenkg <2630582710@qq.com> Date: Fri, 15 Mar 2019 16:53:43 +0800 Subject: [PATCH 11/96] reorganize toml path --- cita-auth/src/main.rs | 2 +- cita-jsonrpc/src/main.rs | 2 +- cita-network/src/main.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cita-auth/src/main.rs b/cita-auth/src/main.rs index 49aa0be4a..62d1f1d9c 100644 --- a/cita-auth/src/main.rs +++ b/cita-auth/src/main.rs @@ -153,7 +153,7 @@ fn main() { .about("CITA Block Chain Node powered by Rust") .args_from_usage("-c, --config=[FILE] 'Sets a custom config file'") .get_matches(); - let config_path = matches.value_of("config").unwrap_or("config"); + let config_path = matches.value_of("config").unwrap_or("auth.toml"); let config = Config::new(config_path); diff --git a/cita-jsonrpc/src/main.rs b/cita-jsonrpc/src/main.rs index ca3182e0e..538df1c63 100644 --- a/cita-jsonrpc/src/main.rs +++ b/cita-jsonrpc/src/main.rs @@ -136,7 +136,7 @@ fn main() { .args_from_usage("-c, --config=[FILE] 'Sets a custom config file'") .get_matches(); - let config_path = matches.value_of("config").unwrap_or("./jsonrpc.toml"); + let config_path = matches.value_of("config").unwrap_or("jsonrpc.toml"); let config = config::Config::new(config_path); info!("CITA:jsonrpc config \n {:?}", config); diff --git a/cita-network/src/main.rs b/cita-network/src/main.rs index dec6dcd54..64dfb0e57 100644 --- a/cita-network/src/main.rs +++ b/cita-network/src/main.rs @@ -121,7 +121,7 @@ fn main() { .args_from_usage("-a, --address=[FILE] 'Sets an address file'") .get_matches(); - let config_path = matches.value_of("config").unwrap_or("config"); + let config_path = matches.value_of("config").unwrap_or("network.toml"); // Init config debug!("Config path {:?}", config_path); From 270decf2bb3df4946ab0de36d8730df9baf95de8 Mon Sep 17 00:00:00 2001 From: kayryu Date: Mon, 18 Mar 2019 19:40:35 +0800 Subject: [PATCH 12/96] Config the log module --- Cargo.lock | 64 +++++++++++------------ cita-auth/src/main.rs | 13 +++-- cita-bft | 2 +- cita-chain/src/main.rs | 12 +++-- cita-executor/src/main.rs | 10 +++- cita-forever | 2 +- cita-jsonrpc/src/main.rs | 12 +++-- cita-network/src/main.rs | 14 +++-- tests/box_executor/src/main.rs | 2 +- tests/chain-executor-mock/src/main.rs | 2 +- tests/chain_performance_by_mq/src/main.rs | 2 +- tests/consensus-mock/src/main.rs | 2 +- tools/snapshot_tool/src/main.rs | 2 +- 13 files changed, 81 insertions(+), 58 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a5e4e11a5..3e069b129 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -123,7 +123,7 @@ dependencies = [ [[package]] name = "authority_manage" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -272,7 +272,7 @@ dependencies = [ [[package]] name = "blake2b" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "cc 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -521,7 +521,7 @@ dependencies = [ [[package]] name = "cita-crypto" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "cita-crypto-trait 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-ed25519 0.6.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -532,7 +532,7 @@ dependencies = [ [[package]] name = "cita-crypto-trait" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", ] @@ -540,7 +540,7 @@ dependencies = [ [[package]] name = "cita-directories" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "uuid 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -548,7 +548,7 @@ dependencies = [ [[package]] name = "cita-ed25519" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-crypto-trait 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -643,7 +643,7 @@ dependencies = [ [[package]] name = "cita-merklehash" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "hashable 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -700,7 +700,7 @@ dependencies = [ [[package]] name = "cita-secp256k1" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-crypto-trait 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -717,7 +717,7 @@ dependencies = [ [[package]] name = "cita-sm2" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "cita-crypto-trait 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -731,7 +731,7 @@ dependencies = [ [[package]] name = "cita-types" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "plain_hasher 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1118,7 +1118,7 @@ dependencies = [ [[package]] name = "db" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "elastic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1204,7 +1204,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "engine" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "cita-crypto 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1255,7 +1255,7 @@ dependencies = [ [[package]] name = "error" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" [[package]] name = "error-chain" @@ -1316,7 +1316,7 @@ dependencies = [ [[package]] name = "ethcore-bloom-journal" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "siphasher 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1539,7 +1539,7 @@ dependencies = [ [[package]] name = "hashable" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "blake2b 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1703,7 +1703,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "jsonrpc-proto" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1720,7 +1720,7 @@ dependencies = [ [[package]] name = "jsonrpc-types" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1734,7 +1734,7 @@ dependencies = [ [[package]] name = "jsonrpc-types-internals" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1816,7 +1816,7 @@ dependencies = [ [[package]] name = "libproto" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "cita-crypto 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-merklehash 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1959,7 +1959,7 @@ dependencies = [ [[package]] name = "logger" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-channel 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2189,7 +2189,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2309,7 +2309,7 @@ dependencies = [ [[package]] name = "panic_hook" version = "0.0.1" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "logger 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2448,7 +2448,7 @@ dependencies = [ [[package]] name = "proof" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-crypto 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2476,7 +2476,7 @@ dependencies = [ [[package]] name = "pubsub" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "dotenv 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "pubsub_kafka 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2487,7 +2487,7 @@ dependencies = [ [[package]] name = "pubsub_kafka" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2499,7 +2499,7 @@ dependencies = [ [[package]] name = "pubsub_rabbitmq" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "amqp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2508,7 +2508,7 @@ dependencies = [ [[package]] name = "pubsub_zeromq" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "logger 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2843,7 +2843,7 @@ dependencies = [ [[package]] name = "rlp" version = "0.2.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2855,7 +2855,7 @@ dependencies = [ [[package]] name = "rlp_derive" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", "syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3043,7 +3043,7 @@ dependencies = [ [[package]] name = "snappy" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "libc 0.2.46 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3685,7 +3685,7 @@ dependencies = [ [[package]] name = "tx_pool" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "cita-crypto 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -3816,7 +3816,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "util" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#8c25204275b4920d11b1a5a385fcf67840dec709" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" dependencies = [ "ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", diff --git a/cita-auth/src/main.rs b/cita-auth/src/main.rs index 62d1f1d9c..fa2830da9 100644 --- a/cita-auth/src/main.rs +++ b/cita-auth/src/main.rs @@ -142,17 +142,22 @@ fn profiler(flag_prof_start: u64, flag_prof_duration: u64) { } fn main() { - micro_service_init!("cita-auth", "CITA:auth"); - info!("Version: {}", get_build_info_str(true)); - // init app let matches = App::new("auth") .version(get_build_info_str(true)) .long_version(get_build_info_str(false)) .author("Cryptape") .about("CITA Block Chain Node powered by Rust") - .args_from_usage("-c, --config=[FILE] 'Sets a custom config file'") + .args_from_usage( + "-c, --config=[FILE] 'Sets a custom config file' + -s, --stdout 'Log to console'", + ) .get_matches(); + + let stdout = matches.is_present("stdout"); + micro_service_init!("cita-auth", "CITA:auth", stdout); + info!("Version: {}", get_build_info_str(true)); + let config_path = matches.value_of("config").unwrap_or("auth.toml"); let config = Config::new(config_path); diff --git a/cita-bft b/cita-bft index f3360601a..cf04a185f 160000 --- a/cita-bft +++ b/cita-bft @@ -1 +1 @@ -Subproject commit f3360601aee602559daa7fe1c3a80c2e0fab2a83 +Subproject commit cf04a185fe4928abb5e97ee5f0362fab00264e50 diff --git a/cita-chain/src/main.rs b/cita-chain/src/main.rs index 667df8569..afa080b51 100644 --- a/cita-chain/src/main.rs +++ b/cita-chain/src/main.rs @@ -107,17 +107,21 @@ use util::set_panic_handler; include!(concat!(env!("OUT_DIR"), "/build_info.rs")); fn main() { - micro_service_init!("cita-chain", "CITA:chain"); - info!("Version: {}", get_build_info_str(true)); - let matches = App::new("chain") .version(get_build_info_str(true)) .long_version(get_build_info_str(false)) .author("Cryptape") .about("CITA Block Chain Node powered by Rust") - .arg_from_usage("-c, --config=[FILE] 'Sets a chain config file'") + .args_from_usage( + "-c, --config=[FILE] 'Sets a chain config file' + -s, --stdout 'Log to console'", + ) .get_matches(); + let stdout = matches.is_present("stdout"); + micro_service_init!("cita-chain", "CITA:chain", stdout); + info!("Version: {}", get_build_info_str(true)); + let config_path = matches.value_of("config").unwrap_or("chain.toml"); let (tx, rx) = channel::unbounded(); diff --git a/cita-executor/src/main.rs b/cita-executor/src/main.rs index 808fa9431..4a13005f3 100644 --- a/cita-executor/src/main.rs +++ b/cita-executor/src/main.rs @@ -157,14 +157,20 @@ impl Options { } fn main() { - micro_service_init!("cita-executor", "CITA:executor"); let matches = App::new("executor") .version(get_build_info_str(true)) .long_version(get_build_info_str(false)) .author("Cryptape") .about("CITA Block Chain Node powered by Rust") - .arg_from_usage("-c, --config=[FILE] 'Sets a switch config file'") + .args_from_usage( + "-c, --config=[FILE] 'Sets a switch config file' + -s, --stdout 'Log to console'", + ) .get_matches(); + + let stdout = matches.is_present("stdout"); + micro_service_init!("cita-executor", "CITA:executor", stdout); + let config_path = matches.value_of("config").unwrap_or("executor.toml"); let options = Options::load(config_path); info!("Version: {}", get_build_info_str(true)); diff --git a/cita-forever b/cita-forever index 5a4356ad5..1b941c645 160000 --- a/cita-forever +++ b/cita-forever @@ -1 +1 @@ -Subproject commit 5a4356ad5787993f7fa4ea5e965f1ce46a9c7412 +Subproject commit 1b941c645bd5566442a2ac46b1712153a34034d7 diff --git a/cita-jsonrpc/src/main.rs b/cita-jsonrpc/src/main.rs index 538df1c63..e7bde614d 100644 --- a/cita-jsonrpc/src/main.rs +++ b/cita-jsonrpc/src/main.rs @@ -124,18 +124,22 @@ use ws_handler::WsFactory; include!(concat!(env!("OUT_DIR"), "/build_info.rs")); fn main() { - micro_service_init!("cita-jsonrpc", "CITA:jsonrpc"); - info!("Version: {}", get_build_info_str(true)); - // todo load config let matches = App::new("JsonRpc") .version(get_build_info_str(true)) .long_version(get_build_info_str(false)) .author("Cryptape") .about("CITA JSON-RPC by Rust") - .args_from_usage("-c, --config=[FILE] 'Sets a custom config file'") + .args_from_usage( + "-c, --config=[FILE] 'Sets a custom config file' + -s, --stdout 'Log to console'", + ) .get_matches(); + let stdout = matches.is_present("stdout"); + micro_service_init!("cita-jsonrpc", "CITA:jsonrpc", stdout); + info!("Version: {}", get_build_info_str(true)); + let config_path = matches.value_of("config").unwrap_or("jsonrpc.toml"); let config = config::Config::new(config_path); diff --git a/cita-network/src/main.rs b/cita-network/src/main.rs index 64dfb0e57..8cf5aa2fa 100644 --- a/cita-network/src/main.rs +++ b/cita-network/src/main.rs @@ -108,19 +108,23 @@ use util::set_panic_handler; include!(concat!(env!("OUT_DIR"), "/build_info.rs")); fn main() { - micro_service_init!("cita-network", "CITA:network"); - info!("Version: {}", get_build_info_str(true)); - // init app let matches = App::new("network") .version(get_build_info_str(true)) .long_version(get_build_info_str(false)) .author("Cryptape") .about("CITA Block Chain Node powered by Rust") - .args_from_usage("-c, --config=[FILE] 'Sets a custom config file'") - .args_from_usage("-a, --address=[FILE] 'Sets an address file'") + .args_from_usage( + "-c, --config=[FILE] 'Sets a custom config file' + -a, --address=[FILE] 'Sets an address file' + -s, --stdout 'Log to console'", + ) .get_matches(); + let stdout = matches.is_present("stdout"); + micro_service_init!("cita-network", "CITA:network", stdout); + info!("Version: {}", get_build_info_str(true)); + let config_path = matches.value_of("config").unwrap_or("network.toml"); // Init config diff --git a/tests/box_executor/src/main.rs b/tests/box_executor/src/main.rs index 8c8ba368f..9ccddd9b8 100644 --- a/tests/box_executor/src/main.rs +++ b/tests/box_executor/src/main.rs @@ -45,7 +45,7 @@ use std::env; fn main() { dotenv::dotenv().ok(); env::set_var("RUST_BACKTRACE", "full"); - logger::init_config("box_executor"); + logger::init_config(&logger::LogFavour::File("box_executor")); let matches = App::new("mock-consensus") .arg( clap::Arg::with_name("mock-data") diff --git a/tests/chain-executor-mock/src/main.rs b/tests/chain-executor-mock/src/main.rs index e48e62c1a..bb337812b 100644 --- a/tests/chain-executor-mock/src/main.rs +++ b/tests/chain-executor-mock/src/main.rs @@ -64,7 +64,7 @@ const GENESIS_TIMESTAMP: u64 = 1_524_000_000; fn main() { dotenv::dotenv().ok(); env::set_var("RUST_BACKTRACE", "full"); - logger::init_config("chain-executor-mock"); + logger::init_config(&logger::LogFavour::File("chain-executor-mock")); info!("CITA:Chain executor mock"); let matches = App::new("Chain executor mock") diff --git a/tests/chain_performance_by_mq/src/main.rs b/tests/chain_performance_by_mq/src/main.rs index 7a0edace1..cd2e42e74 100644 --- a/tests/chain_performance_by_mq/src/main.rs +++ b/tests/chain_performance_by_mq/src/main.rs @@ -121,7 +121,7 @@ fn create_contract( } fn main() { - logger::init_config("chain_performance_by_mq"); + logger::init_config(&logger::LogFavour::File("chain_performance_by_mq")); info!("CITA:Chain Performance by MQ"); let matches = App::new("Chain Performance by MQ") diff --git a/tests/consensus-mock/src/main.rs b/tests/consensus-mock/src/main.rs index 924fc7a39..c2228f1c4 100644 --- a/tests/consensus-mock/src/main.rs +++ b/tests/consensus-mock/src/main.rs @@ -138,7 +138,7 @@ fn send_block( } fn main() { - logger::init_config("consensus_mock"); + logger::init_config(&logger::LogFavour::File("consensus_mock")); info!("CITA: Consensus Mock"); // set up the clap to receive info from CLI diff --git a/tools/snapshot_tool/src/main.rs b/tools/snapshot_tool/src/main.rs index ab2dabbcc..efd65a69c 100644 --- a/tools/snapshot_tool/src/main.rs +++ b/tools/snapshot_tool/src/main.rs @@ -41,7 +41,7 @@ mod postman; const SNAPSHOT_LOCK: &str = ".cita_snapshot"; fn main() { - micro_service_init!("cita-snapshot", "CITA:snapshot"); + micro_service_init!("cita-snapshot", "CITA:snapshot", false); // 1. Aquire client's lock let locker = lock(); From e7266c564a088a456df4976af1fa6ddc32e420c3 Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Wed, 6 Mar 2019 17:46:57 +0800 Subject: [PATCH 13/96] :fire: Remove useless docs. [skip ci] --- docs/README.md | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 docs/README.md diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index db28199d8..000000000 --- a/docs/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# CITA Docs - - Visit the documentation site: [CITA Docs](https://docs.citahub.com/en-US/cita/cita-intro) - From e1ec1635aa6a7bc1a131dee9e1342b0be70017be Mon Sep 17 00:00:00 2001 From: Jason Date: Fri, 22 Mar 2019 13:42:14 +0800 Subject: [PATCH 14/96] Add getVersion --- Cargo.lock | 64 ++++++++++++++++--------------- cita-chain/src/forward.rs | 2 +- cita-jsonrpc/src/config.rs | 1 + cita-jsonrpc/src/helper.rs | 1 + cita-jsonrpc/src/main.rs | 46 ++++++++++++++++++---- cita-jsonrpc/src/mq_handler.rs | 1 + cita-jsonrpc/src/soliloquy.rs | 70 ++++++++++++++++++++++++++++++++++ 7 files changed, 145 insertions(+), 40 deletions(-) create mode 100644 cita-jsonrpc/src/soliloquy.rs diff --git a/Cargo.lock b/Cargo.lock index 3e069b129..6fa622666 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,3 +1,5 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. [[package]] name = "adler32" version = "1.0.3" @@ -123,7 +125,7 @@ dependencies = [ [[package]] name = "authority_manage" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -272,7 +274,7 @@ dependencies = [ [[package]] name = "blake2b" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "cc 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -521,7 +523,7 @@ dependencies = [ [[package]] name = "cita-crypto" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "cita-crypto-trait 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-ed25519 0.6.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -532,7 +534,7 @@ dependencies = [ [[package]] name = "cita-crypto-trait" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", ] @@ -540,7 +542,7 @@ dependencies = [ [[package]] name = "cita-directories" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "uuid 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -548,7 +550,7 @@ dependencies = [ [[package]] name = "cita-ed25519" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-crypto-trait 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -643,7 +645,7 @@ dependencies = [ [[package]] name = "cita-merklehash" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "hashable 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -700,7 +702,7 @@ dependencies = [ [[package]] name = "cita-secp256k1" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-crypto-trait 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -717,7 +719,7 @@ dependencies = [ [[package]] name = "cita-sm2" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "cita-crypto-trait 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -731,7 +733,7 @@ dependencies = [ [[package]] name = "cita-types" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "plain_hasher 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1118,7 +1120,7 @@ dependencies = [ [[package]] name = "db" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "elastic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1204,7 +1206,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "engine" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "cita-crypto 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1255,7 +1257,7 @@ dependencies = [ [[package]] name = "error" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" [[package]] name = "error-chain" @@ -1316,7 +1318,7 @@ dependencies = [ [[package]] name = "ethcore-bloom-journal" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "siphasher 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1539,7 +1541,7 @@ dependencies = [ [[package]] name = "hashable" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "blake2b 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1703,7 +1705,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "jsonrpc-proto" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1720,7 +1722,7 @@ dependencies = [ [[package]] name = "jsonrpc-types" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1734,7 +1736,7 @@ dependencies = [ [[package]] name = "jsonrpc-types-internals" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1816,7 +1818,7 @@ dependencies = [ [[package]] name = "libproto" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "cita-crypto 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-merklehash 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1959,7 +1961,7 @@ dependencies = [ [[package]] name = "logger" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-channel 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2309,7 +2311,7 @@ dependencies = [ [[package]] name = "panic_hook" version = "0.0.1" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "logger 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2448,7 +2450,7 @@ dependencies = [ [[package]] name = "proof" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-crypto 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2476,7 +2478,7 @@ dependencies = [ [[package]] name = "pubsub" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "dotenv 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "pubsub_kafka 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2487,7 +2489,7 @@ dependencies = [ [[package]] name = "pubsub_kafka" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2499,7 +2501,7 @@ dependencies = [ [[package]] name = "pubsub_rabbitmq" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "amqp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2508,7 +2510,7 @@ dependencies = [ [[package]] name = "pubsub_zeromq" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "logger 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2843,7 +2845,7 @@ dependencies = [ [[package]] name = "rlp" version = "0.2.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2855,7 +2857,7 @@ dependencies = [ [[package]] name = "rlp_derive" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", "syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3043,7 +3045,7 @@ dependencies = [ [[package]] name = "snappy" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "libc 0.2.46 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3685,7 +3687,7 @@ dependencies = [ [[package]] name = "tx_pool" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "cita-crypto 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -3816,7 +3818,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "util" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#0b55bb4fb4fc9b1a5a22e33dfabd7352fcbe97d1" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" dependencies = [ "ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", diff --git a/cita-chain/src/forward.rs b/cita-chain/src/forward.rs index 59710d1bd..417092d51 100644 --- a/cita-chain/src/forward.rs +++ b/cita-chain/src/forward.rs @@ -352,7 +352,7 @@ impl Forward { error!("Get messages which should not handle by this function!"); } - Request::peercount(_) | Request::un_tx(_) => { + Request::peercount(_) | Request::un_tx(_) | Request::software_version(_) => { error!("Get messages which should sent to other micro services!"); } Request::storage_key(skey) => { diff --git a/cita-jsonrpc/src/config.rs b/cita-jsonrpc/src/config.rs index 6c28736c6..97f6fd878 100644 --- a/cita-jsonrpc/src/config.rs +++ b/cita-jsonrpc/src/config.rs @@ -21,6 +21,7 @@ use ws::Settings; #[derive(Serialize, Deserialize, Debug, Clone)] pub struct Config { pub backlog_capacity: usize, + pub enable_version: Option, pub profile_config: ProfileConfig, pub http_config: HttpConfig, pub ws_config: WsConfig, diff --git a/cita-jsonrpc/src/helper.rs b/cita-jsonrpc/src/helper.rs index f1c8bcc34..d58eca9ea 100644 --- a/cita-jsonrpc/src/helper.rs +++ b/cita-jsonrpc/src/helper.rs @@ -40,6 +40,7 @@ pub fn select_topic(method: &str) -> String { match method { "peerCount" => routing_key!(Jsonrpc >> RequestNet).into(), "sendRawTransaction" | "sendTransaction" => routing_key!(Jsonrpc >> RequestNewTx).into(), + "getVersion" => routing_key!(Jsonrpc >> RequestRpc).into(), _ => routing_key!(Jsonrpc >> Request).into(), } } diff --git a/cita-jsonrpc/src/main.rs b/cita-jsonrpc/src/main.rs index e7bde614d..432cfbdcb 100644 --- a/cita-jsonrpc/src/main.rs +++ b/cita-jsonrpc/src/main.rs @@ -99,6 +99,7 @@ mod mq_handler; mod mq_publisher; mod response; mod service_error; +mod soliloquy; mod ws_handler; use clap::App; @@ -113,6 +114,7 @@ use libproto::Message; use libproto::TryInto; use pubsub::channel::{self, Sender}; use pubsub::start_pubsub; +use soliloquy::Soliloquy; use std::collections::HashMap; use std::sync::Arc; use std::thread; @@ -161,6 +163,10 @@ fn main() { let (tx_pub, rx_pub) = channel::unbounded(); //used for buffer message let (tx_relay, rx_relay) = channel::unbounded(); + // used for deal with RequestRpc + let (tx, rx) = channel::unbounded(); + let soli_resp_tx = tx_sub.clone(); + start_pubsub( "jsonrpc", routing_key!([ @@ -189,14 +195,22 @@ fn main() { loop { if let Ok(res) = rx_relay.try_recv() { let (topic, req): (String, reqlib::Request) = res; - forward_service( - topic, - req, - &mut new_tx_request_buffer, - &mut time_stamp, - &tx_pub, - &tx_flow_config, - ); + match RoutingKey::from(&topic) { + routing_key!(Jsonrpc >> RequestRpc) => { + let data: Message = req.into(); + tx.send((topic, data.try_into().unwrap())).unwrap(); + } + _ => { + forward_service( + topic, + req, + &mut new_tx_request_buffer, + &mut time_stamp, + &tx_pub, + &tx_flow_config, + ); + } + } } else { if !new_tx_request_buffer.is_empty() { batch_forward_new_tx(&mut new_tx_request_buffer, &mut time_stamp, &tx_pub); @@ -206,6 +220,22 @@ fn main() { } }); + // response RequestRpc + let soli_config = config.clone(); + thread::spawn(move || { + let soliloquy = Soliloquy::new(soli_config); + + loop { + if let Ok((_, msg_bytes)) = rx.recv() { + let resp_msg = soliloquy.handle(&msg_bytes); + let _ = soli_resp_tx.send(( + routing_key!(Jsonrpc >> Response).into(), + resp_msg.try_into().unwrap(), + )); + } + } + }); + //ws if config.ws_config.enable { let ws_config = config.ws_config.clone(); diff --git a/cita-jsonrpc/src/mq_handler.rs b/cita-jsonrpc/src/mq_handler.rs index 6f124bf9a..83109035a 100644 --- a/cita-jsonrpc/src/mq_handler.rs +++ b/cita-jsonrpc/src/mq_handler.rs @@ -44,6 +44,7 @@ impl MqHandler { routing_key!(Auth >> Response) | routing_key!(Chain >> Response) | routing_key!(Executor >> Response) + | routing_key!(Jsonrpc >> Response) | routing_key!(Net >> Response) => { let content = msg.take_response().ok_or_else(|| { error!("empty response message"); diff --git a/cita-jsonrpc/src/soliloquy.rs b/cita-jsonrpc/src/soliloquy.rs new file mode 100644 index 000000000..eb61f8c71 --- /dev/null +++ b/cita-jsonrpc/src/soliloquy.rs @@ -0,0 +1,70 @@ +// CITA +// Copyright 2016-2019 Cryptape Technologies LLC. + +// This program is free software: you can redistribute it +// and/or modify it under the terms of the GNU 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 General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +use config::Config; +use get_build_info_str; +use jsonrpc_types::rpctypes::SoftwareVersion; +use jsonrpc_types::ErrorCode; +use libproto::protos::response::Response; +use libproto::Message; +use libproto::Request_oneof_req::software_version; +use serde_json; + +pub struct Soliloquy { + config: Config, +} + +impl Soliloquy { + pub fn new(config: Config) -> Self { + Soliloquy { config } + } + + pub fn handle(&self, msg_bytes: &[u8]) -> Message { + let maybe_msg: Result = libproto::TryFrom::try_from(msg_bytes); + let mut response = Response::new(); + + if let Ok(Some(req)) = maybe_msg.map(|mut msg| msg.take_request()) { + response.set_request_id(req.request_id); + let enabled_version = self.config.enable_version.unwrap_or(false); + debug!("getVersion enabled:{}", enabled_version); + + match req.req { + Some(software_version(_)) if enabled_version => { + let version = get_build_info_str(true); + let vec: Vec<&str> = version.split('-').collect(); + let version = vec[0].to_string(); + if let Ok(json_ver) = serde_json::to_value(SoftwareVersion::new(version)) { + response.set_software_version(json_ver.to_string()); + } else { + response.set_code(ErrorCode::InternalError.code()); + response.set_error_msg(ErrorCode::InternalError.description()); + } + } + _ => { + response.set_code(ErrorCode::MethodNotFound.code()); + response.set_error_msg(ErrorCode::MethodNotFound.description()); + } + } + } else { + warn!("receive unexpected data"); + response.set_code(ErrorCode::InvalidRequest.code()); + response.set_error_msg(ErrorCode::InvalidRequest.description()); + } + + response.into() + } +} From 1ab2cd47cbc6736a559929a3278f2646c043a4bb Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Mon, 25 Mar 2019 11:13:11 +0800 Subject: [PATCH 15/96] :fire: Remove the useless daemon.sh for building. [skip ci] --- daemon.sh | 66 ------------------------------------------------------- 1 file changed, 66 deletions(-) delete mode 100755 daemon.sh diff --git a/daemon.sh b/daemon.sh deleted file mode 100755 index dd30403c8..000000000 --- a/daemon.sh +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/bin/env bash - -DOCKER_IMAGE="cita/cita-build:ubuntu-18.04-20190304" -if [[ `uname` == 'Darwin' ]] -then - cp /etc/localtime $PWD/localtime - LOCALTIME_PATH="$PWD/localtime" -else - LOCALTIME_PATH="/etc/localtime" -fi - -docker_bin=$(which docker) -if [ -z "${docker_bin}" ]; then - echo "Command not found, install docker first." - exit 1 -else - docker version > /dev/null 2>&1 - if [ $? -ne 0 ]; then - echo "Run docker version failed, Maybe docker service not running or current user not in docker user group." - exit 2 - fi -fi - -SOURCE_DIR=`pwd` -CONTAINER_NAME="cita_build${SOURCE_DIR//\//_}" -CARGO_HOME=/opt/.cargo -WORKDIR=/opt/cita -USER_ID=`id -u $USER` -USER_NAME="user" - -if [ "${USER_ID}" = "0" ]; then - USER_NAME="root" -fi - -mkdir -p ${HOME}/.docker_cargo/git -mkdir -p ${HOME}/.docker_cargo/registry - -docker ps | grep ${CONTAINER_NAME} > /dev/null 2>&1 -if [ $? -ne 0 ]; then - echo "Start docker container ${CONTAINER_NAME} ..." - docker rm ${CONTAINER_NAME} > /dev/null 2>&1 - - # test network and set init cmd - timeout=3 - target=www.google.com - ret_code=`curl -I -s --connect-timeout $timeout $target -w %{http_code} | tail -n1` - if [ "x$ret_code" = "x200" ]; then - INIT_CMD="while true;do sleep 100;done" - else - INIT_CMD="echo -e '[source.crates-io]\nregistry = \"https://github.com/rust-lang/crates.io-index\"\nreplace-with = \"ustc\"\n[source.ustc]\nregistry = \"https://mirrors.ustc.edu.cn/crates.io-index\"' | sudo tee /opt/.cargo/config;while true;do sleep 100;done" - fi - - docker run -d \ - --volume ${SOURCE_DIR}:${WORKDIR} \ - --volume ${HOME}/.docker_cargo/registry:${CARGO_HOME}/registry \ - --volume ${HOME}/.docker_cargo/git:${CARGO_HOME}/git \ - --volume ${LOCALTIME_PATH}:/etc/localtime \ - --env USER_ID=${USER_ID} \ - --workdir ${WORKDIR} \ - --name ${CONTAINER_NAME} ${DOCKER_IMAGE} \ - /bin/bash -c "${INIT_CMD}" - # Wait entrypoint.sh to finish - sleep 3 -fi - -docker exec -d ${CONTAINER_NAME} /usr/bin/gosu ${USER_NAME} "$@" From 6c1b44477022e37721c726dd887e084553753741 Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Mon, 25 Mar 2019 11:14:41 +0800 Subject: [PATCH 16/96] :fire: Remove the crowdin config. [skip ci] --- crowdin.yml | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 crowdin.yml diff --git a/crowdin.yml b/crowdin.yml deleted file mode 100644 index d2701fc35..000000000 --- a/crowdin.yml +++ /dev/null @@ -1,3 +0,0 @@ -files: - - source: /docs/zh-CN/**/*.md - translation: /docs/%locale%/**/%original_file_name% \ No newline at end of file From 3078d69f9d41e8e62f6bd08f992fdb3723554bd5 Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Mon, 25 Mar 2019 11:19:37 +0800 Subject: [PATCH 17/96] :fire: Remove the useless bft-wal tool. --- Cargo.lock | 9 ---- Cargo.toml | 1 - scripts/release.sh | 1 - tools/bft-wal/Cargo.toml | 10 ---- tools/bft-wal/src/main.rs | 96 --------------------------------------- 5 files changed, 117 deletions(-) delete mode 100644 tools/bft-wal/Cargo.toml delete mode 100644 tools/bft-wal/src/main.rs diff --git a/Cargo.lock b/Cargo.lock index 6fa622666..3171100e0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -194,15 +194,6 @@ dependencies = [ "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "bft-wal" -version = "0.1.0" -dependencies = [ - "authority_manage 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", - "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", -] - [[package]] name = "bincode" version = "0.8.0" diff --git a/Cargo.toml b/Cargo.toml index 42b41e76f..973f13036 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,6 @@ members = ["cita-auth" ,"tests/consensus-mock" ,"tests/chain_performance_by_mq" ,"tests/box_executor" -,"tools/bft-wal" ] [profile.bench] diff --git a/scripts/release.sh b/scripts/release.sh index 67b2f6879..bd6b53db4 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -35,7 +35,6 @@ for binary in \ consensus-mock \ chain-executor-mock \ box_executor \ - bft-wal \ ; do cp -rf "target/${type}/${binary}" target/install/bin/ done diff --git a/tools/bft-wal/Cargo.toml b/tools/bft-wal/Cargo.toml deleted file mode 100644 index 0921fd332..000000000 --- a/tools/bft-wal/Cargo.toml +++ /dev/null @@ -1,10 +0,0 @@ -[package] -name = "bft-wal" -version = "0.1.0" -authors = ["Cryptape Technologies "] -edition = "2018" - -[dependencies] -bincode = "0.8.0" -authority_manage = { git = "https://github.com/cryptape/cita-common.git", branch = "develop" } -cita-types = { git = "https://github.com/cryptape/cita-common.git", branch = "develop" } diff --git a/tools/bft-wal/src/main.rs b/tools/bft-wal/src/main.rs deleted file mode 100644 index 412bc1e8a..000000000 --- a/tools/bft-wal/src/main.rs +++ /dev/null @@ -1,96 +0,0 @@ -// CITA -// Copyright 2016-2018 Cryptape Technologies LLC. - -// This program is free software: you can redistribute it -// and/or modify it under the terms of the GNU 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 General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -extern crate authority_manage; -extern crate bincode; -extern crate cita_types; - -use authority_manage::wal::Wal; -use authority_manage::{AuthorityManage, DATA_PATH}; -use bincode::deserialize; -use cita_types::Address; - -#[derive(Debug)] -pub struct OldAuthorityManage { - pub authorities: Vec
, - pub authority_n: usize, - pub authorities_log: Wal, - pub authorities_old: Vec
, - pub authority_n_old: usize, - pub authority_h_old: usize, -} - -impl OldAuthorityManage { - pub fn init() -> Self { - let logpath = ::std::env::var(DATA_PATH) - .unwrap_or_else(|_| panic!("{} must be set", DATA_PATH)) - + "/authorities"; - - let mut authority_manage = Self { - authorities: Vec::new(), - authority_n: 0, - authorities_log: Wal::create(&*logpath).unwrap(), - authorities_old: Vec::new(), - authority_n_old: 0, - authority_h_old: 0, - }; - - let vec_out = authority_manage.authorities_log.load(); - if !vec_out.is_empty() { - if let Ok((h, authorities_old, authorities)) = deserialize(&(vec_out[0].1)) { - let auth_old: Vec
= authorities_old; - let auth: Vec
= authorities; - - authority_manage.authorities.extend_from_slice(&auth); - authority_manage.authority_n = authority_manage.authorities.len(); - - authority_manage - .authorities_old - .extend_from_slice(&auth_old); - authority_manage.authority_n_old = authority_manage.authorities_old.len(); - authority_manage.authority_h_old = h; - } - } - - authority_manage - } -} - -impl Into for OldAuthorityManage { - fn into(self) -> AuthorityManage { - let mut validators = self.authorities.clone(); - validators.dedup(); - - let mut validators_old = self.authorities_old.clone(); - validators_old.dedup(); - - AuthorityManage { - authorities: self.authorities, - validators, - authorities_log: self.authorities_log, - authorities_old: self.authorities_old, - validators_old, - authority_h_old: self.authority_h_old, - } - } -} - -fn main() { - let old = OldAuthorityManage::init(); - let mut auth: AuthorityManage = old.into(); - auth.save(); -} From 8b023dbd3249e9aee487d018723d08803ddd3233 Mon Sep 17 00:00:00 2001 From: leeyr Date: Sun, 24 Mar 2019 00:48:34 +0800 Subject: [PATCH 18/96] bugfix: refuse duplicate nodes --- cita-network/src/node_manager.rs | 389 ++++++++++++++++------ cita-network/src/p2p_protocol/mod.rs | 21 +- cita-network/src/p2p_protocol/transfer.rs | 6 +- 3 files changed, 299 insertions(+), 117 deletions(-) diff --git a/cita-network/src/node_manager.rs b/cita-network/src/node_manager.rs index f7de22252..2dda4db00 100644 --- a/cita-network/src/node_manager.rs +++ b/cita-network/src/node_manager.rs @@ -20,15 +20,13 @@ use crate::config::NetConfig; use crate::p2p_protocol::transfer::TRANSFER_PROTOCOL_ID; use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt}; use cita_types::Address; -use discovery::RawAddr; use fnv::FnvHashMap; use libproto::{Message as ProtoMessage, TryInto}; use logger::{debug, error, info, trace, warn}; use pubsub::channel::{select, tick, unbounded, Receiver, Sender}; - +use rand; use std::{ collections::HashMap, - collections::HashSet, convert::Into, io::Cursor, net::{SocketAddr, ToSocketAddrs}, @@ -41,13 +39,28 @@ use tentacle::{ pub const DEFAULT_MAX_CONNECTS: usize = 666; pub const DEFAULT_PORT: usize = 4000; pub const CHECK_CONNECTED_NODES: Duration = Duration::from_secs(3); + +// Score uses to manage known_nodes list. If a node has too low score, do not dial it again. +// Maybe some complex algorithm can be designed later. +// A new node come into known_nodes list has a FULL_SCORE. +pub const FULL_SCORE: i32 = 100; +// Score lower than MIN_DIALING_SCORE, stop dialing. +pub const MIN_DIALING_SCORE: i32 = 60; +// A node needs DIALING_SCORE for every dial. +pub const DIALING_SCORE: i32 = 10; +// A node connected successfully, can get SUCCESS_DIALING_SCORE. +pub const SUCCESS_DIALING_SCORE: i32 = 10; +// A node is refused by server, should need REFUSED_SCORE each time. +pub const REFUSED_SCORE: i32 = 20; + type IsTranslated = bool; pub struct NodesManager { check_connected_nodes: Receiver, - known_addrs: FnvHashMap, + known_addrs: FnvHashMap, config_addrs: HashMap, - connected_addrs: HashMap, + connected_addrs: HashMap, + pending_connected_addrs: HashMap, connected_peer_keys: HashMap, max_connects: usize, nodes_manager_client: NodesManagerClient, @@ -56,11 +69,10 @@ pub struct NodesManager { peer_key: Address, enable_tls: bool, dialing_node: Option, - repeated_connections: HashSet, } impl NodesManager { - pub fn new(known_addrs: FnvHashMap) -> Self { + pub fn new(known_addrs: FnvHashMap) -> Self { let mut node_mgr = NodesManager::default(); node_mgr.known_addrs = known_addrs; node_mgr @@ -114,6 +126,86 @@ impl NodesManager { } pub fn dial_nodes(&mut self) { + if let Some(dialing_node) = self.dialing_node { + info!( + "[NodeManager] Dialing node: {:?}, waiting for next round.", + dialing_node + ); + return; + } + self.translate_address(); + + // If connected node has not reach MAX, select a node from known_addrs to dial. + if self.connected_addrs.len() < self.max_connects { + for (key, value) in self.known_addrs.iter_mut() { + // Node has been connected + if let Some(session_id) = value.session_id { + debug!( + "[NodeManager] Address {:?} has been connected on : {:?}.", + *key, session_id + ); + continue; + } + + // Give 50% probability to select this node, this design can avoid two nodes + // simultaneously dialing each other. + let selected_miss: bool = (rand::random::() % 2) != 0; + if selected_miss { + debug!( + "[NodeManager] Address {:?} selects miss in this round.", + *key + ); + continue; + } + + // Score design prevents the client from dialing to a node all the time. + if value.score < MIN_DIALING_SCORE { + debug!( + "[NodeManager] Address {:?} has to low score ({:?}) to dial.", + *key, value.score + ); + continue; + } + + // Dial this address + if let Some(ref mut ctrl) = self.service_ctrl { + self.dialing_node = Some(*key); + info!("Trying to dial: {:?}", self.dialing_node); + match ctrl.dial((*key).to_multiaddr().unwrap()) { + Ok(_) => { + // Need DIALING_SCORE for every dial. + value.score -= DIALING_SCORE; + debug!("[NodeManager] Dail success"); + } + Err(err) => { + warn!("[NodeManager] Dail failed : {:?}", err); + } + } + } + break; + } + } + + debug!( + "[NodeManager] connected_addrs info: {:?}", + self.connected_addrs + ); + debug!("[NodeManager] known_addrs info: {:?}", self.known_addrs); + debug!( + "[NodeManager] Address in connected : {:?}", + self.connected_peer_keys + ); + } + + pub fn set_service_task_sender(&mut self, ctrl: ServiceControl) { + self.service_ctrl = Some(ctrl); + } + + pub fn is_enable_tls(&self) -> bool { + self.enable_tls + } + + pub fn translate_address(&mut self) { for (key, value) in self.config_addrs.iter_mut() { // The address has translated. if *value { @@ -123,8 +215,9 @@ impl NodesManager { match key.to_socket_addrs() { Ok(mut result) => { if let Some(socket_addr) = result.next() { - let raw_addr = RawAddr::from(socket_addr); - self.known_addrs.insert(raw_addr, 100); + // An init node from config file, give it FULL_SCORE. + let node_status = NodeStatus::new(FULL_SCORE, None); + self.known_addrs.insert(socket_addr, node_status); *value = true; } else { error!("[NodeManager] Can not convert to socket address!"); @@ -138,40 +231,6 @@ impl NodesManager { } } } - debug!("[NodeManager] Addresses in known: {:?}", self.known_addrs); - debug!( - "[NodeManager] Addresses in connected: {:?}", - self.connected_addrs - ); - - if self.connected_addrs.len() < self.max_connects { - for key in self.known_addrs.keys() { - if !self.connected_addrs.values().any(|value| *value == *key) { - info!("[NodeManager] Connect to {:?}", key.socket_addr()); - - if let Some(ref mut ctrl) = self.service_ctrl { - self.dialing_node = Some(key.socket_addr()); - match ctrl.dial(key.socket_addr().to_multiaddr().unwrap()) { - Ok(_) => { - debug!("[NodeManager] Dail success"); - } - Err(err) => { - warn!("[NodeManager] Dail failed : {:?}", err); - } - } - } - break; - } - } - } - } - - pub fn set_service_task_sender(&mut self, ctrl: ServiceControl) { - self.service_ctrl = Some(ctrl); - } - - pub fn is_enable_tls(&self) -> bool { - self.enable_tls } } @@ -188,6 +247,7 @@ impl Default for NodesManager { config_addrs: HashMap::default(), connected_addrs: HashMap::default(), connected_peer_keys: HashMap::default(), + pending_connected_addrs: HashMap::default(), max_connects: DEFAULT_MAX_CONNECTS, nodes_manager_client: client, nodes_manager_service_receiver: rx, @@ -195,11 +255,39 @@ impl Default for NodesManager { peer_key: Address::zero(), enable_tls: false, dialing_node: None, - repeated_connections: HashSet::default(), } } } +#[derive(Debug)] +pub struct NodeStatus { + // score: Score for a node, it will affect whether the node will be chosen to dail again, + // or be deleted from the known_addresses list. But for now, it useless. + pub score: i32, + + // session_id: Indicates that this node has been connected to a session. 'None' for has not + // connected yet. + pub session_id: Option, +} + +impl NodeStatus { + pub fn new(score: i32, session_id: Option) -> Self { + NodeStatus { score, session_id } + } +} + +#[derive(Debug)] +pub struct SessionInfo { + pub ty: SessionType, + pub addr: SocketAddr, +} + +impl SessionInfo { + pub fn new(ty: SessionType, addr: SocketAddr) -> Self { + SessionInfo { ty, addr } + } +} + #[derive(Clone, Debug)] pub struct NodesManagerClient { sender: Sender, @@ -222,14 +310,18 @@ impl NodesManagerClient { self.send_req(NodesManagerMessage::GetRandomNodesReq(req)); } - pub fn add_connected_node(&self, req: AddConnectedNodeReq) { - self.send_req(NodesManagerMessage::AddConnectedNodeReq(req)); + pub fn pending_connected_node(&self, req: PendingConnectedNodeReq) { + self.send_req(NodesManagerMessage::PendingConnectedNodeReq(req)); } pub fn del_connected_node(&self, req: DelConnectedNodeReq) { self.send_req(NodesManagerMessage::DelConnectedNodeReq(req)); } + pub fn add_repeated_node(&self, req: AddRepeatedNodeReq) { + self.send_req(NodesManagerMessage::AddRepeatedNode(req)); + } + pub fn broadcast(&self, req: BroadcastReq) { self.send_req(NodesManagerMessage::Broadcast(req)); } @@ -246,8 +338,8 @@ impl NodesManagerClient { self.send_req(NodesManagerMessage::NetworkInit(req)); } - pub fn add_connected_key(&self, req: AddConnectedKeyReq) { - self.send_req(NodesManagerMessage::AddConnectedKey(req)); + pub fn add_connected_node(&self, req: AddConnectedNodeReq) { + self.send_req(NodesManagerMessage::AddConnectedNode(req)); } fn send_req(&self, req: NodesManagerMessage) { @@ -265,13 +357,14 @@ pub enum NodesManagerMessage { AddNodeReq(AddNodeReq), DelNodeReq(DelNodeReq), GetRandomNodesReq(GetRandomNodesReq), - AddConnectedNodeReq(AddConnectedNodeReq), + PendingConnectedNodeReq(PendingConnectedNodeReq), DelConnectedNodeReq(DelConnectedNodeReq), Broadcast(BroadcastReq), SingleTxReq(SingleTxReq), GetPeerCount(GetPeerCountReq), NetworkInit(NetworkInitReq), - AddConnectedKey(AddConnectedKeyReq), + AddConnectedNode(AddConnectedNodeReq), + AddRepeatedNode(AddRepeatedNodeReq), } impl NodesManagerMessage { @@ -280,13 +373,14 @@ impl NodesManagerMessage { NodesManagerMessage::AddNodeReq(req) => req.handle(service), NodesManagerMessage::DelNodeReq(req) => req.handle(service), NodesManagerMessage::GetRandomNodesReq(req) => req.handle(service), - NodesManagerMessage::AddConnectedNodeReq(req) => req.handle(service), + NodesManagerMessage::PendingConnectedNodeReq(req) => req.handle(service), NodesManagerMessage::DelConnectedNodeReq(req) => req.handle(service), NodesManagerMessage::Broadcast(req) => req.handle(service), NodesManagerMessage::SingleTxReq(req) => req.handle(service), NodesManagerMessage::GetPeerCount(req) => req.handle(service), NodesManagerMessage::NetworkInit(req) => req.handle(service), - NodesManagerMessage::AddConnectedKey(req) => req.handle(service), + NodesManagerMessage::AddConnectedNode(req) => req.handle(service), + NodesManagerMessage::AddRepeatedNode(req) => req.handle(service), } } } @@ -323,15 +417,15 @@ impl From> for InitMsg { } } -pub struct AddConnectedKeyReq { +pub struct AddConnectedNodeReq { session_id: SessionId, ty: SessionType, init_msg: InitMsg, } -impl AddConnectedKeyReq { +impl AddConnectedNodeReq { pub fn new(session_id: SessionId, ty: SessionType, init_msg: InitMsg) -> Self { - AddConnectedKeyReq { + AddConnectedNodeReq { session_id, ty, init_msg, @@ -339,27 +433,25 @@ impl AddConnectedKeyReq { } pub fn handle(self, service: &mut NodesManager) { - // Repeated connected, disconnect it. if let Some(repeated_id) = service.connected_peer_keys.get(&self.init_msg.peer_key) { + // Repeated connected, it can a duplicated connected to the same node, or a duplicated + // node connected to this server. But in either case, disconnect this session. + // In P2P encrypted communication mode, the repeated connection will be detected by + // P2P framework, handling this situation by sending a `AddRepeatedNodeReq` message to + // NodesManager. See the `handle` in `AddRepeatedNodeReq` for more detail. + info!( + "[NodeManager] New session [{:?}] repeated with [{:?}], disconnect this session.", + self.session_id, *repeated_id + ); + if let Some(ref mut ctrl) = service.service_ctrl { - info!( - "[NodeManager] New session [{:?}] repeated with [{:?}]", - self.session_id, *repeated_id - ); - if self.ty == SessionType::Client { - // Need to replace key for its connected address. - if let Some(value) = service.connected_addrs.remove(&self.session_id) { - service.connected_addrs.insert(*repeated_id, value); - } - service.repeated_connections.insert(self.session_id); - info!( - "[NodeManager] Disconnected session [{:?}], address: {:?}", - self.session_id, self.init_msg.peer_key - ); - let _ = ctrl.disconnect(self.session_id); - } + let _ = ctrl.disconnect(self.session_id); } } else if service.peer_key == self.init_msg.peer_key { + // Connected self, remove this address from known_addrs list. + // In P2P encrypted communication mode, the `connected self` will be detected by + // P2P framework, handling this situation by sending a `DelNodeReq` message to + // NodesManager. See the `handle` in `DelNodeReq` for more detail. // This logic would be entry twice: // one as server, and the other one as client. if let Some(dialing_node) = service.dialing_node { @@ -367,25 +459,57 @@ impl AddConnectedKeyReq { "[NodeManager] Connected Self, Delete {:?} from know_addrs", dialing_node ); - service.known_addrs.remove(&RawAddr::from(dialing_node)); + service.known_addrs.remove(&dialing_node); if let Some(ref mut ctrl) = service.service_ctrl { let _ = ctrl.disconnect(self.session_id); } } } else { + // Found a successful connection after exchanging `init message`. + // FIXME: If have reached to max_connects, disconnected this node. + // Add connected address. + if let Some(session_info) = service.pending_connected_addrs.get(&self.session_id) { + info!( + "[NodeManager] Add session [{:?}], address: {:?} to Connected_addrs.", + self.session_id, session_info.addr + ); + + // If it is an active connection, need to set this node in known_addrs has been connected. + if self.ty == SessionType::Client { + if let Some(ref mut node_status) = + service.known_addrs.get_mut(&session_info.addr) + { + node_status.session_id = Some(self.session_id); + node_status.score += SUCCESS_DIALING_SCORE; + } + } + + service + .connected_addrs + .insert(self.session_id, session_info.addr); + } + + // Add connected peer keys let _ = service .connected_peer_keys .insert(self.init_msg.peer_key, self.session_id); + + info!( + "[NodeManager] connected_addrs info: {:?}", + service.connected_addrs + ); + info!("[NodeManager] known_addrs info: {:?}", service.known_addrs); + + info!( + "[NodeManager] Address in connected : {:?}", + service.connected_peer_keys + ); } - // End of dealing with the dialing + // End of dealing node for this round. if self.ty == SessionType::Client { service.dialing_node = None; } - debug!( - "[NodeManager] Address in connected : {:?}", - service.connected_peer_keys - ); } } @@ -433,10 +557,12 @@ impl AddNodeReq { } pub fn handle(self, service: &mut NodesManager) { + // Add a new node, using a default node status. + let default_node_status = NodeStatus::new(FULL_SCORE, None); service .known_addrs - .entry(RawAddr::from(self.addr)) - .or_insert(100); + .entry(self.addr) + .or_insert(default_node_status); } } @@ -450,7 +576,31 @@ impl DelNodeReq { } pub fn handle(self, service: &mut NodesManager) { - service.known_addrs.remove(&RawAddr::from(self.addr)); + service.known_addrs.remove(&self.addr); + + // Catch a dial error, this dialing finished + service.dialing_node = None; + } +} + +pub struct AddRepeatedNodeReq { + addr: SocketAddr, + session_id: SessionId, +} + +impl AddRepeatedNodeReq { + pub fn new(addr: SocketAddr, session_id: SessionId) -> Self { + AddRepeatedNodeReq { addr, session_id } + } + + pub fn handle(self, service: &mut NodesManager) { + info!( + "[NodeManager] Dialing a repeated node [{:?}], on session: {:?}.", + self.addr, self.session_id + ); + + // This dialing is finished. + service.dialing_node = None; } } @@ -468,12 +618,7 @@ impl GetRandomNodesReq { } pub fn handle(self, service: &mut NodesManager) { - let addrs = service - .known_addrs - .keys() - .take(self.num) - .map(|addr| addr.socket_addr()) - .collect(); + let addrs = service.known_addrs.keys().take(self.num).cloned().collect(); if let Err(e) = self.return_channel.try_send(addrs) { warn!( @@ -484,25 +629,30 @@ impl GetRandomNodesReq { } } -pub struct AddConnectedNodeReq { - addr: SocketAddr, +pub struct PendingConnectedNodeReq { session_id: SessionId, + addr: SocketAddr, + ty: SessionType, } -impl AddConnectedNodeReq { - pub fn new(addr: SocketAddr, session_id: SessionId) -> Self { - AddConnectedNodeReq { addr, session_id } +impl PendingConnectedNodeReq { + pub fn new(session_id: SessionId, addr: SocketAddr, ty: SessionType) -> Self { + PendingConnectedNodeReq { + session_id, + addr, + ty, + } } pub fn handle(self, service: &mut NodesManager) { - // FIXME: If have reached to max_connects, disconnected this node. info!( - "[NodeManager] Add session [{:?}], address: {:?} to Connected_addrs.", + "[NodeManager] Session [{:?}], address: {:?} pending to add to Connected_addrs.", self.session_id, self.addr ); + let session_info = SessionInfo::new(self.ty, self.addr); service - .connected_addrs - .insert(self.session_id, RawAddr::from(self.addr)); + .pending_connected_addrs + .insert(self.session_id, session_info); } } @@ -516,26 +666,55 @@ impl DelConnectedNodeReq { } pub fn handle(self, service: &mut NodesManager) { - // Do not need to remove anything for disconnected a repeated connection. - if service.repeated_connections.remove(&self.session_id) { - return; + info!("[NodeManager] Disconnected session [{:?}]", self.session_id); + + if let Some(addr) = service.connected_addrs.remove(&self.session_id) { + // Set the node as disconnected in known_addrs + if let Some(ref mut node_status) = service.known_addrs.get_mut(&addr) { + if let Some(session_id) = node_status.session_id { + if session_id == self.session_id { + info!("Reset node status of address {:?} to None", addr); + node_status.session_id = None; + } else { + warn!( + "[NodeManager] Expected session id: {:?}, but found: {:?}", + self.session_id, session_id + ); + } + } else { + error!("[NodeManager] Can not get node status from known_addr, this should not happen!"); + } + } } - info!( - "[NodeManager] Remove session [{:?}] from Connected_addrs.", - self.session_id - ); - service.connected_addrs.remove(&self.session_id); + // Remove connected peer keys for (key, value) in service.connected_peer_keys.iter() { if self.session_id == *value { info!( "[NodeManager] Remove session [{:?}] from connected_peer_keys.", - *key + *value ); service.connected_peer_keys.remove(&key.clone()); break; } } + + // Remove pending connected + if let Some(session_info) = service.pending_connected_addrs.remove(&self.session_id) { + if session_info.ty == SessionType::Client { + // Dial a node, but the session was closed by server, means this dial may refused. + if let Some(ref mut node_status) = service.known_addrs.get_mut(&session_info.addr) { + node_status.score -= REFUSED_SCORE; + info!( + "[NodeManager] Node [{:?}] leave score [{:?}].", + session_info.addr, node_status.score + ); + } + + // Close a session which open as client, end of this dialing. + service.dialing_node = None; + } + } } } diff --git a/cita-network/src/p2p_protocol/mod.rs b/cita-network/src/p2p_protocol/mod.rs index 32f0eb8b9..9673471d1 100644 --- a/cita-network/src/p2p_protocol/mod.rs +++ b/cita-network/src/p2p_protocol/mod.rs @@ -16,7 +16,8 @@ // along with this program. If not, see . use crate::node_manager::{ - AddConnectedNodeReq, DelConnectedNodeReq, DelNodeReq, NodesManagerClient, + AddRepeatedNodeReq, DelConnectedNodeReq, DelNodeReq, NodesManagerClient, + PendingConnectedNodeReq, }; use logger::{info, warn}; use tentacle::{ @@ -25,7 +26,6 @@ use tentacle::{ service::{ServiceError, ServiceEvent}, traits::ServiceHandle, utils::multiaddr_to_socketaddr, - yamux::session::SessionType, }; pub mod node_discovery; @@ -51,9 +51,13 @@ impl ServiceHandle for SHandle { // If dial to a connected node, need add it to connected address list. match error { error::Error::RepeatedConnection(session_id) => { - let req = AddConnectedNodeReq::new(address, session_id); - self.nodes_mgr_client.add_connected_node(req); - info!("[P2pProtocol] Connected to the same node : {:?}", address); + // Do not need to do something, just log it. + info!( + "[P2pProtocol] Connected to the same node : {:?}, session id: {:?}", + address, session_id + ); + let req = AddRepeatedNodeReq::new(address, session_id); + self.nodes_mgr_client.add_repeated_node(req); } _ => { // FIXME: Using score for deleting a node from known nodes @@ -106,10 +110,9 @@ impl ServiceHandle for SHandle { let address = multiaddr_to_socketaddr(&address).unwrap(); info!("[P2pProtocol] Service open on : {:?}, session id: {:?}, ty: {:?}, public_key: {:?}", address, id, ty, public_key); - if ty == SessionType::Client { - let req = AddConnectedNodeReq::new(address, id); - self.nodes_mgr_client.add_connected_node(req); - } + + let req = PendingConnectedNodeReq::new(id, address, ty); + self.nodes_mgr_client.pending_connected_node(req); } ServiceEvent::SessionClose { id } => { let req = DelConnectedNodeReq::new(id); diff --git a/cita-network/src/p2p_protocol/transfer.rs b/cita-network/src/p2p_protocol/transfer.rs index 95b846542..bbe3742a9 100644 --- a/cita-network/src/p2p_protocol/transfer.rs +++ b/cita-network/src/p2p_protocol/transfer.rs @@ -17,7 +17,7 @@ use crate::cita_protocol::network_message_to_pubsub_message; use crate::network::{NetworkClient, RemoteMessage}; -use crate::node_manager::{AddConnectedKeyReq, InitMsg, NetworkInitReq, NodesManagerClient}; +use crate::node_manager::{AddConnectedNodeReq, InitMsg, NetworkInitReq, NodesManagerClient}; use bytes::BytesMut; use libproto::{Message as ProtoMessage, TryFrom, TryInto}; use logger::{info, warn}; @@ -130,8 +130,8 @@ impl ServiceProtocol for TransferProtocol { if let Some((key, message)) = network_message_to_pubsub_message(&mut data) { if key.eq(&"network.init".to_string()) { let msg = InitMsg::from(message); - let req = AddConnectedKeyReq::new(session.id, session.ty, msg); - self.nodes_mgr_client.add_connected_key(req); + let req = AddConnectedNodeReq::new(session.id, session.ty, msg); + self.nodes_mgr_client.add_connected_node(req); return; } From c8caef9dbd7f765dabeb7c766e405cd81fef0ed0 Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Mon, 25 Mar 2019 17:11:33 +0800 Subject: [PATCH 19/96] Add changelog of all versions. [skip ci] --- CHANGELOG.md | 457 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 451 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6eed871e9..78a3bfc05 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -All notable changes to this project will be documented in this file. And this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +All notable changes to this project will be documented in this file. And this project adheres to [Semantic Versioning]. ## [Unreleased] @@ -12,7 +12,7 @@ However, due to the refactoring of the network, the nodes executed with v0.22.0 incompatible with the original nodes (they have different node discovery and transfer protocols), so all nodes need to be upgraded to v0.22.0 at the same time. -Following [Upgrade Instructions](https://docs.citahub.com/en-US/cita/protocol-upgrade/overview) to upgrade the nodes. +Following [Upgrade Instructions] to upgrade the nodes. ### New Feature Description @@ -75,6 +75,16 @@ But in v0.22.0, the item `[[peers]]` means `known nodes` in the network, you can - [Doc] More info about automatic execution. [@wangfh666] - [Doc] Fix start cita command in log management. [@77liyan] +## [v0.21.1] - 2019-03-15 + +Fix the issue about high CPU usage caused by too many sst files. +Check the details at [#206] + +## [v0.20.3] - 2019-03-11 + +Fix the issue about high CPU usage caused by too many sst files. +Check the details at [#206] + ## [v0.21.0] - 2019-02-19 ### Upgrade Note @@ -126,7 +136,7 @@ Pidfile = ".cita-executor.pid" Respawn = 3 ``` -After completing the above modifications, following [Upgrade Instructions](https://docs.citahub.com/en-US/cita/protocol-upgrade/overview). +After completing the above modifications, following [Upgrade Instructions]. ### CITA-Framework @@ -205,15 +215,450 @@ After completing the above modifications, following [Upgrade Instructions](https - [Doc] More detail statements about cita-bft consensus. [@KaoImin] - [Doc] Update sdk info in readme. [@zhouyun-zoe] - [Doc] Add node command description. [@WPF] -- [Doc] Build a new [documentation website](https://docs.citahub.com/en-US/cita/cita-intro). [@zhouyun-zoe] +- [Doc] Build a new [documentation website]. [@zhouyun-zoe] ### Tool - [Optimization] Split util module into standalone crates. [@yangby] - [Refactor] Combing the snapshot logic and rewrite snapshot_tools. [@keroro520] -[Unreleased]: https://github.com/cryptape/cita/compare/v0.22.0...HEAD -[v0.21.0]: https://github.com/cryptape/cita/compare/v0.21...HEAD +## [v0.19.1] - 2019-01-31 + +Fix the bug of version 0.19 that ordinary nodes can't sync blocks from the consensus nodes with a special situation. + +Check the details at [#201]. + +## [v0.20.2] - 2018-11-27 + +Fixed a bug that getting blockhash in solidity contract will get uncertain result. + +``` +pragma solidity ^0.4.24; +contract Test { + bytes32 public hash; + + function testblockhash() public { + hash = blockhash(block.number-1); + } +} +``` + +Deploy this contract, then send transaction to call testblockhash. +Once one of the nodes receives the transaction, the chain will stop growing. + +## [v0.20.1] - 2018-11-15 + +Fixed a bug that Network could not process domain names. + +## [v0.20.0] - 2018-11-09 + +### Compatibility + +* This new version changes the log format of BFT wal. So it is necessary for each consensus node to be upgraded one by one (the interval should be more than 30s). +* If you need to upgrade all the nodes at the same time, follow the steps below: + * Stop all the nodes; + * Upgrade all the nodes; + * Use the `bft-wal` tool to manually convert the log format of BFT wal; + * Restart all the nodes. + ```shell + DATA_PATH=./test-chain/0/data ./bin/bft-wal + ``` + +### Protocol + +* [Feature] Add the support for `v1` protocol. + More details can be found in the document: [Protocol Upgrade From V0 to V1]. + +### Bootstrap + +* [Optimization] Force the use of `--super_admin` to configure the administrator account when using `create_cita_config.py` to create a new chain. + +### Framework + +* [Upgrade] Upgrade rustc to `nightly-2018-10-05`, and update the docker image (latest image `cita/cita-run:ubuntu-18.04-20181009`). + +### Executor + +* [Deprecated] Deprecate the use of `delay_block_number`. +* [Refactor] Use `BlockID` explicitly in methods that require the use of `BlockID` instead of using a fuzzy Default value. +* [Refactor] Refactor duplicated codes in both of Executor and Chain. +* [Refactor] Refactor some unsafe codes. + +### Chain + +* [Upgrade] Upgrade RocksDB. + +### Auth + +* [Feature] Add the check of the version field in the transaction. + +### Network + +* [Refactor] Refactor network client. +* [Upgrade] Upgrade network server. +* [Feature] Support for TLS communication encryption based on self-signed certificate. +* [Fix] Parsing will stop immediately when the body of messages between nodes is too large. + +### RPC + +* [Fix] Fix the problem that the website returned by the [`getMetaData`] interface is incorrect. +* [Fix] The error information returned by the [`sendRawTransaction`] interface may be inconsistent when there are duplicate transactions. +* [Feature] Add the pending type in the [`BlockTag`] type. +* [Fix] The exit code caused by the configuration file exception is corrected to `2`. + +### System Contract + +* [Fix] Fix user authentication problem inside the group when the permission management is enabled. + +### Test + +* [Optimization] Optimize the efficiency of system contract testing. + +### Doc + +* [Docs] Add system contract interface documents. +* [Docs] Add more English document. + +## [v0.19.0] - 2018-09-30 + +### CITA-Framework + +* [refactoring] Improve the user experience of CITA scripts + +### Executor + +* [feature] Support superadmin to [set quota price] +* [feature] Support that the block reward can be chosen to [return to the certain address] +* [optimization] SysConfig reload based on whether there is a parameter change +* [fix] Fix loading problem of SystemConfig configuration +* [fix] Fix the situation that the transfer cannot be successful if the charge mode is enabled +* [fix] Fix the situation that account balance may overflow when transferring in charge mode + +### Chain + +* [feature] Add the cache_size entry to the configuration file + +### Auth + +* [feature] Modify the judgment logic of the transaction under emergency braking situation + +### RPC + +* [feature] [GetMetaData] support query economic model and protocol version number +* [optimization] Modify some ErrorMessage + +### Contract + +* [feature] Isolate some permissions (send_tx, create_contract) to make them can be set separately in configuration +* [fix] Eliminate compilation warnings for system contracts +* [fix] Eliminate errors and warnings detected by [Solium] on system contracts +* [feature] Add [Emergency braking system contract] +* [feature] Add version control system contract +* [feature] Add [quota price manager system contract] + +### Test + +* [ci] Increase the specification check of system contracts +* [ci] Add clippy for code review +* [optimization] Clean up smart contract unit tests that are no longer maintained +* [ci] Fix the problem of sporadic stuck in JSON Mock test + +### Doc + +* [doc] Replace txtool with [cita-cli] in document +* [doc] Modify ‘amend’ operation related documents + +## [v0.18.0] - 2018-08-30 + +### CITA-Framework + +* [feature] Replaced sha3 with Keccak algorithm library +* [feature] New Library of China Cryptographic Algorithm +* [optimize] Remove useless code and dependencies +* [optimize] Add more CI + +### Executor + +* [fix] Fix potential deadlock, multi-threaded data inconsistency +* [fix] Fix state machine state homing problem +* [fix] Fix Transaction decode logic error +* [fix] Fix blacklist problems that accounts cannot be removed from blacklist automatically when they come to have tokens +* [optimize] Add the monitor of chain status +* [feature] Modify some log levels +* [fix] Automatic synchronization when the Executor state is inconsistent with Chain +* [optimize] Optimize state synchronization speed between Executor and Chain +* [feature] Add the acquisition and verification of the state certificate + +### Chain + +* [optimize] Add a notification of Executor status +* [fix] Fix the problem about saving the latest proof when syncing +* [fix] Fix some usability issues in the snapshot + +### Network + +* [refactoring] Refactoring synchronization logic +* [feature] Output status log +* [fix] Close the connection to the deleted node when the Network configuration file is hot updated + +### Bft + +* [fix] Fix the problem about saving temporary proof + +### Auth + +* [feature] Transaction's value field validation is modified to be required to U256 or [u8;32], otherwise, an invalid value is returned. +* [fix] Transaction's to field validation is more strict, passing invalid parameters will return an error directly + +### RPC + +* [feature] Separate the JSON-RPC type definition library for the client to use + +### System Contract + +* [feature] Add cross-chain management contract to the process of state proof +* [feature] Supports batch transaction + +### Doc + +* [feature] Update the cross-chain document with more description about [sidechain exit mechanism]. + +## [v0.17.0] - 2018-07-18 + +### CITA-Framework + +* [feature] Enable rabbitmq web management +* [fix] Merge env_cn.sh into env.sh +* [feature] Add economical model support Public-Permissioned Blockchain + +### Executor + +* [fix] Fix EVM lost builtin +* [fix] Fix Executor Result cache +* [feature] Support contract amend, superadmin can modify the code and data of the contract + +### Chain + +* [fix] Fix nodes concurrent start failed +* [fix] Fix block number go down +* [fix] Fix authorities list shuffle test +* [feature] Support set value in genesis +* [fix] Fix infinite loop triggered by sync block + +### Auth + +* [refactoring] Refactor auth + +### Consensus + +* [fix] Fix consensus stop after restart all nodes + +### Contract + +* [fix] Fix quota check +* [fix] Fix smart contract static call bug + +### RPC + +* [fix] Rename JSON-RPC methods. +* [Refactoring] Refactoring JSON-RPC types. + +### Test + +* [optimize] Speed up CI +* [optimize] Add solc unit test + +### Doc + +* [doc] Support multiversion +* [doc] Adjust table of contents + +## [v0.16.0] - 2018-05-15 + +### CITA-Framework + +* [feature] Simple cross-chain protocol. +* [feature] Add chain_id for different CITA network, to prevent cross chain from replay attack. +* [feature][WIP] Prepare for public permissioned blockchain. + +### Executor + +* [feature] Add global account cache. + +### Chain + +* [optimize] Optimize block synchronization. +* [fix] Fix pre-execution bugs. +* [fix] Fix receipt error types. + +### Auth + +* [fix] Fix transaction broadcasting. +* [fix] Fix transaction authentication. + +### Consensus + +* [fix] Fix bft process in some critical conditions. + +### Contract + +* [feature] Support group-based user management. + +### Doc + +* [doc] Add more English documents. + +## [v0.15.0] - 2018-03-30 + +### CITA Framework + +* [refactoring] Refactor libproto. Send message between services will be more efficient and easy. + +### Executor + +* [feature] Upgrade EVM to support new instructions. Such as RETURNDATACOPY, RETURNDATASIZE, STATICCALL and REVERT. + +### Chain + +* [feature] Store contract ABI into Account. So SDK can generate Java/js code even without souce code of contract. + +### JSONRPC + +* [refactoring] Improve code quality. + +### System Contracts + +* [feature] Improve role-based permission contract. + +### Document + +* [doc] New document site + +### Toolchain + +* [tool] New [CITA docker images]. We recommend to use docker now and we supply some scripts to simplify this task. + +## [v0.13.0] - 2018-02-01 + +### CITA Framework + +* [refactoring] Create new [Executor service], better transaction execution customizability. +* [refactoring] Improve message format and protocols used by microservices. +* [experimental] [Account model based zero-knowledge proof transaction.] Feature turned off by default. + +### Chain + +* [fix] fix memory leaking problem + +### Auth + +* [refactoring] Improve code quality +* [fix] fix txpool transaction deletion bug + +### JSONRPC + +* [doc] update documents +* [fix] fix transaction query bug + +### System Contracts + +* [feature] Improve role-based permission contract +* [feature] Support read-only configurations + +### Toolchain + +* [tool] Update txtool dependencies +* [tool] Update admintool +* [tool] Unify configurations to toml format + +## [v0.12.0] - 2018-01-18 + +### CITA Framework + +* [feature] Extract transaction pool and transaction preprocessing to new Auth service. +* [feature] Support log rotating. +* [refactoring] Move consensus service to its own repository. +* [optimization] Use clippy to check code quality. + +### Consensus + +* [optimization] Optimize voting process to reach consensus faster. +* [optimization] Optimize voting messages to reduce network cost. + +### Chain + +* [feature] Add chain resource management. +* [optimization] Preprocess consensus proposal. +* [optimization] Reduce latency in consensus message handling. +* [optimization] Optimize block processing. +* [optimization] Optimize quota management. +* [optimization] Optimize native contract execution. + +### JSONRPC + +* [refactoring] Refactor service, rewrite to event-driven model. +* [feature] Support WebSocket protocol. +* [feature] Support filter* API. +* [doc] Update docs. + +### Network + +* [refactoring] Refactor code +* [feature] New block synchronization protocol. +* [optimization] Optimize network message lock. +* [fix] fix config file watch. + +### System Contracts + +* [feature] Add role-based user and permission management. + +### Toolchain + +* [tool] Support more than 16 local variables in solidity function. +* [tool] Deployment tool for single node environment. +* [tool] Added new tool cita-forever to monitor microservices. + +## [v0.10.0] - 2017-10-26 + +Release the first version of CITA. + +[#201]: https://github.com/cryptape/cita/issues/201 +[#206]: https://github.com/cryptape/cita/issues/206 +[Account model based zero-knowledge proof transaction.]: https://github.com/cryptape/cita/blob/develop/cita-executor/core/src/native/zk_privacy.md +[CITA docker images]: https://hub.docker.com/r/cita/ +[Emergency braking system contract]: https://docs.citahub.com/zh-CN/cita/system/emergency-brake +[Executor service]: https://github.com/cryptape/cita/tree/develop/cita-executor +[GetMetaData]: https://docs.citahub.com/zh-CN/cita/rpc-guide/rpc#getmetadata +[Protocol Upgrade From V0 to V1]: https://docs.citahub.com/zh-CN/cita/protocol-upgrade/v1 +[Semantic Versioning]: https://semver.org/spec/v2.0.0.html +[Solium]: https://github.com/duaraghav8/Solium +[Upgrade Instructions]: https://docs.citahub.com/en-US/cita/protocol-upgrade/overview +[`BlockTag`]: https://docs.citahub.com/zh-CN/cita/rpc-guide/rpc-types#tag +[`getMetaData`]: https://docs.nervos.org/cita/#/rpc_guide/rpc?id=getmetadata&version=v0.20 +[`sendRawTransaction`]: https://docs.citahub.com/zh-CN/cita/rpc-guide/rpc#sendrawtransaction +[cita-cli]: https://github.com/cryptape/cita-cli +[documentation website]: https://docs.citahub.com/en-US/cita/cita-intro +[quota price manager system contract]: https://docs.citahub.com/zh-CN/cita/system/price +[return to the certain address]: https://docs.citahub.com/zh-CN/cita/system/fee-back +[set quota price]: https://docs.citahub.com/zh-CN/cita/system/price +[sidechain exit mechanism]: https://docs.nervos.org/cita/#/crosschain/crosschain_contract_example + +[Unreleased]: https://github.com/cryptape/cita/compare/v0.21.1...HEAD +[v0.21.1]: https://github.com/cryptape/cita/compare/v0.21...HEAD +[v0.21.0]: https://github.com/cryptape/cita/compare/v0.20.3...HEAD +[v0.20.3]: https://github.com/cryptape/cita/compare/v0.20.2...HEAD +[v0.20.2]: https://github.com/cryptape/cita/compare/v0.20.1...HEAD +[v0.20.1]: https://github.com/cryptape/cita/compare/v0.20...HEAD +[v0.20.0]: https://github.com/cryptape/cita/compare/v0.19.1...HEAD +[v0.19.1]: https://github.com/cryptape/cita/compare/v0.19...HEAD +[v0.19.0]: https://github.com/cryptape/cita/compare/v0.18...HEAD +[v0.18.0]: https://github.com/cryptape/cita/compare/v0.17...HEAD +[v0.17.0]: https://github.com/cryptape/cita/compare/v0.16...HEAD +[v0.16.0]: https://github.com/cryptape/cita/compare/v0.15...HEAD +[v0.15.0]: https://github.com/cryptape/cita/compare/v0.13...HEAD +[v0.13.0]: https://github.com/cryptape/cita/compare/v0.12...HEAD +[v0.12.0]: https://github.com/cryptape/cita/compare/v0.10...HEAD +[v0.10.0]: https://github.com/cryptape/cita/releases/tag/v0.10 [@77liyan]: https://github.com/77liyan [@CL]: https://github.com/classicalliu From 681b1c61abe8f49e820b87dcf6c581d6f6f80a70 Mon Sep 17 00:00:00 2001 From: ouwenkg <2630582710@qq.com> Date: Tue, 26 Mar 2019 16:20:33 +0800 Subject: [PATCH 20/96] fix clippy in cita-common --- Cargo.lock | 62 +++++++++---------- cita-auth/src/handler.rs | 2 +- cita-chain/core/src/filters/eth_filter.rs | 2 +- cita-chain/core/src/filters/poll_filter.rs | 2 +- cita-chain/src/forward.rs | 2 +- cita-chain/types/src/filter.rs | 2 +- cita-chain/types/src/ids.rs | 2 +- cita-chain/types/src/log_entry.rs | 2 +- cita-chain/types/src/receipt.rs | 2 +- cita-executor/core/src/libexecutor/command.rs | 2 +- .../core/src/libexecutor/economical_model.rs | 2 +- cita-executor/core/src/snapshot/account.rs | 2 +- cita-executor/core/src/snapshot/mod.rs | 2 +- cita-executor/core/src/state/account.rs | 2 +- cita-executor/core/src/state/mod.rs | 2 +- cita-executor/src/postman.rs | 2 +- cita-jsonrpc/src/extractor.rs | 2 +- cita-jsonrpc/src/helper.rs | 4 +- cita-jsonrpc/src/http_server.rs | 7 ++- cita-jsonrpc/src/mq_handler.rs | 2 +- cita-jsonrpc/src/mq_publisher.rs | 3 +- cita-jsonrpc/src/response.rs | 2 +- cita-jsonrpc/src/service_error.rs | 2 +- cita-jsonrpc/src/soliloquy.rs | 2 +- cita-jsonrpc/src/ws_handler.rs | 4 +- tools/relayer-parser/src/communication.rs | 24 +++---- 26 files changed, 73 insertions(+), 71 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3171100e0..0424b3c30 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -125,7 +125,7 @@ dependencies = [ [[package]] name = "authority_manage" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -265,7 +265,7 @@ dependencies = [ [[package]] name = "blake2b" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "cc 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -514,7 +514,7 @@ dependencies = [ [[package]] name = "cita-crypto" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "cita-crypto-trait 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-ed25519 0.6.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -525,7 +525,7 @@ dependencies = [ [[package]] name = "cita-crypto-trait" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", ] @@ -533,7 +533,7 @@ dependencies = [ [[package]] name = "cita-directories" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "uuid 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -541,7 +541,7 @@ dependencies = [ [[package]] name = "cita-ed25519" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-crypto-trait 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -636,7 +636,7 @@ dependencies = [ [[package]] name = "cita-merklehash" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "hashable 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -693,7 +693,7 @@ dependencies = [ [[package]] name = "cita-secp256k1" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-crypto-trait 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -710,7 +710,7 @@ dependencies = [ [[package]] name = "cita-sm2" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "cita-crypto-trait 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -724,7 +724,7 @@ dependencies = [ [[package]] name = "cita-types" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "plain_hasher 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1111,7 +1111,7 @@ dependencies = [ [[package]] name = "db" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "elastic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1197,7 +1197,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "engine" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "cita-crypto 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1248,7 +1248,7 @@ dependencies = [ [[package]] name = "error" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" [[package]] name = "error-chain" @@ -1309,7 +1309,7 @@ dependencies = [ [[package]] name = "ethcore-bloom-journal" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "siphasher 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1532,7 +1532,7 @@ dependencies = [ [[package]] name = "hashable" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "blake2b 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1696,7 +1696,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "jsonrpc-proto" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1713,7 +1713,7 @@ dependencies = [ [[package]] name = "jsonrpc-types" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1727,7 +1727,7 @@ dependencies = [ [[package]] name = "jsonrpc-types-internals" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1809,7 +1809,7 @@ dependencies = [ [[package]] name = "libproto" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "cita-crypto 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-merklehash 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1952,7 +1952,7 @@ dependencies = [ [[package]] name = "logger" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-channel 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2302,7 +2302,7 @@ dependencies = [ [[package]] name = "panic_hook" version = "0.0.1" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "logger 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2441,7 +2441,7 @@ dependencies = [ [[package]] name = "proof" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-crypto 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2469,7 +2469,7 @@ dependencies = [ [[package]] name = "pubsub" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "dotenv 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "pubsub_kafka 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2480,7 +2480,7 @@ dependencies = [ [[package]] name = "pubsub_kafka" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2492,7 +2492,7 @@ dependencies = [ [[package]] name = "pubsub_rabbitmq" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "amqp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2501,7 +2501,7 @@ dependencies = [ [[package]] name = "pubsub_zeromq" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "logger 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2836,7 +2836,7 @@ dependencies = [ [[package]] name = "rlp" version = "0.2.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2848,7 +2848,7 @@ dependencies = [ [[package]] name = "rlp_derive" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", "syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3036,7 +3036,7 @@ dependencies = [ [[package]] name = "snappy" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "libc 0.2.46 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3678,7 +3678,7 @@ dependencies = [ [[package]] name = "tx_pool" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "cita-crypto 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -3809,7 +3809,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "util" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#1202f6ca616efece79cf9143fdb2774fbc5bd01d" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" dependencies = [ "ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", diff --git a/cita-auth/src/handler.rs b/cita-auth/src/handler.rs index 1a138cb35..af706dc7d 100644 --- a/cita-auth/src/handler.rs +++ b/cita-auth/src/handler.rs @@ -23,7 +23,7 @@ use crypto::{pubkey_to_address, PubKey, Sign, Signature, SIGNATURE_BYTES_LEN}; use dispatcher::Dispatcher; use error::ErrorCode; use history::HistoryHeights; -use jsonrpc_types::rpctypes::TxResponse; +use jsonrpc_types::rpc_types::TxResponse; use libproto::auth::{Miscellaneous, MiscellaneousReq}; use libproto::blockchain::{AccountGasLimit, SignedTransaction}; use libproto::router::{MsgType, RoutingKey, SubModules}; diff --git a/cita-chain/core/src/filters/eth_filter.rs b/cita-chain/core/src/filters/eth_filter.rs index 582dced2e..cd1d8ec53 100644 --- a/cita-chain/core/src/filters/eth_filter.rs +++ b/cita-chain/core/src/filters/eth_filter.rs @@ -16,7 +16,7 @@ use super::{limit_logs, PollFilter, PollId}; use cita_types::H256; -use jsonrpc_types::rpctypes::{Filter, FilterChanges, Log}; +use jsonrpc_types::rpc_types::{Filter, FilterChanges, Log}; use libchain::chain::Chain; use types::filter::Filter as EthcoreFilter; use types::ids::BlockId; diff --git a/cita-chain/core/src/filters/poll_filter.rs b/cita-chain/core/src/filters/poll_filter.rs index 70bbe0234..be8e0d3bd 100644 --- a/cita-chain/core/src/filters/poll_filter.rs +++ b/cita-chain/core/src/filters/poll_filter.rs @@ -16,7 +16,7 @@ //! Helper type with all filter state data. -use jsonrpc_types::rpctypes::{Filter, Log}; +use jsonrpc_types::rpc_types::{Filter, Log}; use std::collections::HashSet; pub type BlockNumber = u64; diff --git a/cita-chain/src/forward.rs b/cita-chain/src/forward.rs index 417092d51..f1220b08f 100644 --- a/cita-chain/src/forward.rs +++ b/cita-chain/src/forward.rs @@ -20,7 +20,7 @@ use core::filters::eth_filter::EthFilter; use core::libchain::chain::{BlockInQueue, Chain}; use core::libchain::OpenBlock; use error::ErrorCode; -use jsonrpc_types::rpctypes::{ +use jsonrpc_types::rpc_types::{ BlockNumber as RpcBlockNumber, BlockParamsByHash, BlockParamsByNumber, Filter as RpcFilter, Log as RpcLog, Receipt as RpcReceipt, RpcBlock, }; diff --git a/cita-chain/types/src/filter.rs b/cita-chain/types/src/filter.rs index fd05fdec3..c1efeb994 100644 --- a/cita-chain/types/src/filter.rs +++ b/cita-chain/types/src/filter.rs @@ -19,7 +19,7 @@ use cita_types::traits::BloomTools; use cita_types::{Address, H256}; use ids::BlockId; -use jsonrpc_types::rpctypes::{Filter as RpcFilter, VariadicValue}; +use jsonrpc_types::rpc_types::{Filter as RpcFilter, VariadicValue}; use log_entry::{LogBloom, LogEntry}; /// Blockchain Filter. diff --git a/cita-chain/types/src/ids.rs b/cita-chain/types/src/ids.rs index 27067de7d..6ddf1b408 100644 --- a/cita-chain/types/src/ids.rs +++ b/cita-chain/types/src/ids.rs @@ -17,7 +17,7 @@ //! Unique identifiers. use cita_types::H256; -use jsonrpc_types::rpctypes::{BlockNumber as RpcBlockNumber, BlockTag}; +use jsonrpc_types::rpc_types::{BlockNumber as RpcBlockNumber, BlockTag}; use BlockNumber; /// Uniquely identifies block. diff --git a/cita-chain/types/src/log_entry.rs b/cita-chain/types/src/log_entry.rs index ec179cec1..0973a0436 100644 --- a/cita-chain/types/src/log_entry.rs +++ b/cita-chain/types/src/log_entry.rs @@ -18,7 +18,7 @@ use cita_types::traits::BloomTools; use cita_types::{Address, Bloom, H256}; -use jsonrpc_types::rpctypes::Log as RpcLog; +use jsonrpc_types::rpc_types::Log as RpcLog; use libproto::executor::LogEntry as ProtoLogEntry; use rlp::*; use std::ops::Deref; diff --git a/cita-chain/types/src/receipt.rs b/cita-chain/types/src/receipt.rs index f3c4f67b1..99d74bc2b 100644 --- a/cita-chain/types/src/receipt.rs +++ b/cita-chain/types/src/receipt.rs @@ -18,7 +18,7 @@ use cita_types::traits::LowerHex; use cita_types::{Address, H256, U256}; -use jsonrpc_types::rpctypes::Receipt as RpcReceipt; +use jsonrpc_types::rpc_types::Receipt as RpcReceipt; use libproto::executor::{ Receipt as ProtoReceipt, ReceiptError as ProtoReceiptError, ReceiptErrorWithOption, StateRoot, }; diff --git a/cita-executor/core/src/libexecutor/command.rs b/cita-executor/core/src/libexecutor/command.rs index 32ee5ec2d..8118b1264 100644 --- a/cita-executor/core/src/libexecutor/command.rs +++ b/cita-executor/core/src/libexecutor/command.rs @@ -28,7 +28,7 @@ use engines::NullEngine; use error::CallError; use evm::env_info::EnvInfo; use executive::{Executed, Executive, TransactOptions}; -use jsonrpc_types::rpctypes::{ +use jsonrpc_types::rpc_types::{ BlockNumber, BlockTag, EconomicalModel as RpcEconomicalModel, MetaData, }; pub use libexecutor::block::*; diff --git a/cita-executor/core/src/libexecutor/economical_model.rs b/cita-executor/core/src/libexecutor/economical_model.rs index 1e558d5b5..57937121c 100644 --- a/cita-executor/core/src/libexecutor/economical_model.rs +++ b/cita-executor/core/src/libexecutor/economical_model.rs @@ -15,7 +15,7 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -use jsonrpc_types::rpctypes::EconomicalModel as RpcEconomicalModel; +use jsonrpc_types::rpc_types::EconomicalModel as RpcEconomicalModel; enum_from_primitive! { #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Copy)] diff --git a/cita-executor/core/src/snapshot/account.rs b/cita-executor/core/src/snapshot/account.rs index a80d5059b..16fb5d61c 100644 --- a/cita-executor/core/src/snapshot/account.rs +++ b/cita-executor/core/src/snapshot/account.rs @@ -75,7 +75,7 @@ pub fn to_fat_rlps( first_chunk_size: usize, max_chunk_size: usize, ) -> Result, Error> { - let db = TrieDB::new(acct_db, &acc.storage_root).unwrap(); + let db = TrieDB::create(acct_db, &acc.storage_root).unwrap(); let mut chunks = Vec::new(); let mut db_iter = db.iter().map_err(|err| *err)?; let mut target_chunk_size = first_chunk_size; diff --git a/cita-executor/core/src/snapshot/mod.rs b/cita-executor/core/src/snapshot/mod.rs index f5fa33e06..cabab4a7c 100644 --- a/cita-executor/core/src/snapshot/mod.rs +++ b/cita-executor/core/src/snapshot/mod.rs @@ -285,7 +285,7 @@ pub fn chunk_state<'a>( writer: &Mutex, progress: &'a Progress, ) -> Result, Error> { - let account_trie = TrieDB::new(db, &root).map_err(|err| *err)?; + let account_trie = TrieDB::create(db, &root).map_err(|err| *err)?; let mut chunker = StateChunker { hashes: Vec::new(), diff --git a/cita-executor/core/src/state/account.rs b/cita-executor/core/src/state/account.rs index 6e0775e8c..9823d4fbf 100644 --- a/cita-executor/core/src/state/account.rs +++ b/cita-executor/core/src/state/account.rs @@ -580,7 +580,7 @@ impl Account { trie_factory: &TrieFactory, db: &mut HashDB, ) -> trie::Result<()> { - let mut t = trie_factory.from_existing(db, &mut self.storage_root)?; + let mut t = trie_factory.get_from_existing(db, &mut self.storage_root)?; for (k, v) in self.storage_changes.drain() { // cast key and value to trait type, // so we can call overloaded `to_bytes` method diff --git a/cita-executor/core/src/state/mod.rs b/cita-executor/core/src/state/mod.rs index 3ab028e92..01c530ba6 100644 --- a/cita-executor/core/src/state/mod.rs +++ b/cita-executor/core/src/state/mod.rs @@ -905,7 +905,7 @@ impl State { let mut trie = self .factories .trie - .from_existing(self.db.as_hashdb_mut(), &mut self.root) + .get_from_existing(self.db.as_hashdb_mut(), &mut self.root) .map_err(|err| *err)?; for (address, ref mut a) in accounts.iter_mut().filter(|&(_, ref a)| a.is_dirty()) { a.state = AccountState::Committed; diff --git a/cita-executor/src/postman.rs b/cita-executor/src/postman.rs index 4d1f9a5f2..c2b62774f 100644 --- a/cita-executor/src/postman.rs +++ b/cita-executor/src/postman.rs @@ -24,7 +24,7 @@ use core::libexecutor::economical_model::EconomicalModel; use core::receipt::ReceiptError; use crossbeam_channel::{Receiver, Sender}; use error::ErrorCode; -use jsonrpc_types::rpctypes::{BlockNumber, CountOrCode}; +use jsonrpc_types::rpc_types::{BlockNumber, CountOrCode}; use libproto::auth::Miscellaneous; use libproto::blockchain::{RichStatus, StateSignal}; use libproto::request::Request_oneof_req as Request; diff --git a/cita-jsonrpc/src/extractor.rs b/cita-jsonrpc/src/extractor.rs index b958fb3e0..fd3530aa0 100644 --- a/cita-jsonrpc/src/extractor.rs +++ b/cita-jsonrpc/src/extractor.rs @@ -17,7 +17,7 @@ use futures::future::{Future, FutureResult}; use jsonrpc_proto::complete::CompleteInto; -use jsonrpc_types::request::{ +use jsonrpc_types::rpc_request::{ PartialRequest, Request as JsonRequest, RpcRequest as JsonrpcRequest, }; use libproto::request::Request as ProtoRequest; diff --git a/cita-jsonrpc/src/helper.rs b/cita-jsonrpc/src/helper.rs index d58eca9ea..916b0f652 100644 --- a/cita-jsonrpc/src/helper.rs +++ b/cita-jsonrpc/src/helper.rs @@ -16,8 +16,8 @@ // along with this program. If not, see . use futures::sync::oneshot; -use jsonrpc_types::request::RequestInfo; -use jsonrpc_types::response::Output; +use jsonrpc_types::rpc_request::RequestInfo; +use jsonrpc_types::rpc_response::Output; use libproto::request::Request as ProtoRequest; use libproto::router::{MsgType, RoutingKey, SubModules}; use pubsub::channel::Sender; diff --git a/cita-jsonrpc/src/http_server.rs b/cita-jsonrpc/src/http_server.rs index 8adfc7a79..83d519528 100644 --- a/cita-jsonrpc/src/http_server.rs +++ b/cita-jsonrpc/src/http_server.rs @@ -23,7 +23,7 @@ use hyper::header::{ }; use hyper::service::{MakeService, Service}; use hyper::{Body, Method, Request, Response, StatusCode}; -use jsonrpc_types::{request::RpcRequest as JsonrpcRequest, rpctypes::Id as RpcId}; +use jsonrpc_types::{rpc_request::RpcRequest as JsonrpcRequest, rpc_types::Id as RpcId}; use libproto::request::Request as ProtoRequest; use pubsub::channel::Sender; use std::net::{SocketAddr, TcpListener}; @@ -305,7 +305,7 @@ mod integration_test { use futures::{sync::oneshot, Stream}; use jsonrpc_proto::response::OutputExt; use jsonrpc_types; - use jsonrpc_types::response::Output; + use jsonrpc_types::rpc_response::Output; use libproto::protos; use serde_json; use tokio_core::reactor::Core; @@ -469,7 +469,8 @@ mod integration_test { "params": ["0x000000000000000000000000000000000000000000000000000000000000000a"] }"#; let rpcreq = - serde_json::from_str::(request_str).unwrap(); + serde_json::from_str::(request_str) + .unwrap(); let data = serde_json::to_string(&JsonrpcRequest::Single(rpcreq)).unwrap(); let req = hyper::Request::post(uri.clone()) .body(hyper::Body::from(data)) diff --git a/cita-jsonrpc/src/mq_handler.rs b/cita-jsonrpc/src/mq_handler.rs index 83109035a..b00ebf5ae 100644 --- a/cita-jsonrpc/src/mq_handler.rs +++ b/cita-jsonrpc/src/mq_handler.rs @@ -17,7 +17,7 @@ use helper::{RpcMap, TransferType}; use jsonrpc_proto::response::OutputExt; -use jsonrpc_types::response::Output; +use jsonrpc_types::rpc_response::Output; use libproto::router::{MsgType, RoutingKey, SubModules}; use libproto::Message; use libproto::TryFrom; diff --git a/cita-jsonrpc/src/mq_publisher.rs b/cita-jsonrpc/src/mq_publisher.rs index e8ce702a5..ef14c9cc9 100644 --- a/cita-jsonrpc/src/mq_publisher.rs +++ b/cita-jsonrpc/src/mq_publisher.rs @@ -20,7 +20,8 @@ use std::time::Duration; use futures::{future::Future, stream::FuturesOrdered, sync::oneshot}; use hyper::HeaderMap as Headers; use jsonrpc_types::{ - request::Request as JsonRequest, response::Output as JsonrpcResponse, rpctypes::Id as JsonrpcId, + rpc_request::Request as JsonRequest, rpc_response::Output as JsonrpcResponse, + rpc_types::Id as JsonrpcId, }; use libproto::request::Request as ProtoRequest; use pubsub::channel::Sender; diff --git a/cita-jsonrpc/src/response.rs b/cita-jsonrpc/src/response.rs index 2f68842de..73a7d7620 100644 --- a/cita-jsonrpc/src/response.rs +++ b/cita-jsonrpc/src/response.rs @@ -18,7 +18,7 @@ use futures::stream::{Collect, FuturesOrdered}; use futures::{future::Future, sync::oneshot, Async, Poll}; use hyper::{HeaderMap as Headers, Response as HyperResponse, StatusCode}; -use jsonrpc_types::response::Output; +use jsonrpc_types::rpc_response::Output; use serde_json; use crate::service_error::ServiceError; diff --git a/cita-jsonrpc/src/service_error.rs b/cita-jsonrpc/src/service_error.rs index 6e0e1616e..5d68274a4 100644 --- a/cita-jsonrpc/src/service_error.rs +++ b/cita-jsonrpc/src/service_error.rs @@ -16,7 +16,7 @@ // along with this program. If not, see . use hyper::{Body, HeaderMap as Headers, Response, StatusCode}; -use jsonrpc_types::{request::RequestInfo, response::RpcFailure}; +use jsonrpc_types::{rpc_request::RequestInfo, rpc_response::RpcFailure}; use serde_json; use crate::response::{HyperResponseExt, IntoResponse}; diff --git a/cita-jsonrpc/src/soliloquy.rs b/cita-jsonrpc/src/soliloquy.rs index eb61f8c71..37585ea2c 100644 --- a/cita-jsonrpc/src/soliloquy.rs +++ b/cita-jsonrpc/src/soliloquy.rs @@ -17,7 +17,7 @@ use config::Config; use get_build_info_str; -use jsonrpc_types::rpctypes::SoftwareVersion; +use jsonrpc_types::rpc_types::SoftwareVersion; use jsonrpc_types::ErrorCode; use libproto::protos::response::Response; use libproto::Message; diff --git a/cita-jsonrpc/src/ws_handler.rs b/cita-jsonrpc/src/ws_handler.rs index 425ba90f8..d1a51e75e 100644 --- a/cita-jsonrpc/src/ws_handler.rs +++ b/cita-jsonrpc/src/ws_handler.rs @@ -17,8 +17,8 @@ use helper::{select_topic, RpcMap, TransferType}; use jsonrpc_proto::complete::CompleteInto; -use jsonrpc_types::request::{PartialRequest, RequestInfo}; -use jsonrpc_types::response::RpcFailure; +use jsonrpc_types::rpc_request::{PartialRequest, RequestInfo}; +use jsonrpc_types::rpc_response::RpcFailure; use jsonrpc_types::Error; use libproto::request::Request as ProtoRequest; use num_cpus; diff --git a/tools/relayer-parser/src/communication.rs b/tools/relayer-parser/src/communication.rs index 5ab11cfa5..abbb59edb 100644 --- a/tools/relayer-parser/src/communication.rs +++ b/tools/relayer-parser/src/communication.rs @@ -27,7 +27,7 @@ use tokio_core::reactor::{Core, Timeout}; use cita_types::{H256, U256}; use configuration::UpStream; -use jsonrpc_types::{request, rpctypes}; +use jsonrpc_types::{rpc_request, rpc_types}; use libproto::blockchain::UnverifiedTransaction; #[derive(Debug)] @@ -137,29 +137,29 @@ macro_rules! define_reply_type { ($reply_type:ident, $result_type:path) => { #[derive(Debug, Clone, Serialize, Deserialize)] struct $reply_type { - pub jsonrpc: Option, - pub id: rpctypes::Id, + pub jsonrpc: Option, + pub id: rpc_types::Id, pub result: $result_type, } }; } pub fn cita_get_transaction_proof(upstream: &UpStream, tx_hash: H256) -> Result, Error> { - let req = request::GetTransactionProofParams::new(tx_hash.into()).into_request(1); - let result = rpc_send_and_get_result_from_reply!(upstream, req, rpctypes::Data); + let req = rpc_request::GetTransactionProofParams::new(tx_hash.into()).into_request(1); + let result = rpc_send_and_get_result_from_reply!(upstream, req, rpc_types::Data); Ok(result.into()) } pub fn cita_block_number(upstream: &UpStream) -> Result { - let req = request::BlockNumberParams::new().into_request(1); + let req = rpc_request::BlockNumberParams::new().into_request(1); let result = rpc_send_and_get_result_from_reply!(upstream, req, U256); Ok(result) } -pub fn cita_get_metadata(upstream: &UpStream) -> Result { - let height = rpctypes::BlockNumber::latest(); - let req = request::GetMetaDataParams::new(height).into_request(1); - let result = rpc_send_and_get_result_from_reply!(upstream, req, rpctypes::MetaData); +pub fn cita_get_metadata(upstream: &UpStream) -> Result { + let height = rpc_types::BlockNumber::latest(); + let req = rpc_request::GetMetaDataParams::new(height).into_request(1); + let result = rpc_send_and_get_result_from_reply!(upstream, req, rpc_types::MetaData); Ok(result) } @@ -168,8 +168,8 @@ pub fn cita_send_transaction( utx: &UnverifiedTransaction, ) -> Result { let tx_bytes: Vec = utx.try_into().unwrap(); - let req = request::SendRawTransactionParams::new(tx_bytes.into()).into_request(1); - let result = rpc_send_and_get_result_from_reply!(upstream, req, rpctypes::TxResponse); + let req = rpc_request::SendRawTransactionParams::new(tx_bytes.into()).into_request(1); + let result = rpc_send_and_get_result_from_reply!(upstream, req, rpc_types::TxResponse); if result.status.to_uppercase() == "OK" { Ok(result.hash) } else { From 78a1a6b9c1ab7d13639e8e2629782c9ebc51d55f Mon Sep 17 00:00:00 2001 From: leeyr Date: Tue, 26 Mar 2019 14:34:19 +0800 Subject: [PATCH 21/96] bugfix: node lost --- cita-network/src/node_manager.rs | 177 +++++++++++++++++++++------ cita-network/src/p2p_protocol/mod.rs | 14 ++- 2 files changed, 150 insertions(+), 41 deletions(-) diff --git a/cita-network/src/node_manager.rs b/cita-network/src/node_manager.rs index 2dda4db00..1176cd983 100644 --- a/cita-network/src/node_manager.rs +++ b/cita-network/src/node_manager.rs @@ -27,6 +27,7 @@ use pubsub::channel::{select, tick, unbounded, Receiver, Sender}; use rand; use std::{ collections::HashMap, + collections::HashSet, convert::Into, io::Cursor, net::{SocketAddr, ToSocketAddrs}, @@ -37,11 +38,20 @@ use tentacle::{ }; pub const DEFAULT_MAX_CONNECTS: usize = 666; +pub const DEFAULT_MAX_KNOWN_ADDRS: usize = 1000; pub const DEFAULT_PORT: usize = 4000; pub const CHECK_CONNECTED_NODES: Duration = Duration::from_secs(3); // Score uses to manage known_nodes list. If a node has too low score, do not dial it again. -// Maybe some complex algorithm can be designed later. +// Maybe some complex algorithm can be designed later. But for now, just keeps as simple as below: +// 1. Deducts 10 score for each Dial; +// 2. Deducts 25 score for each Dial Error; +// 3. Deducts 20 score for each Disconnected by server; +// 4. Add 5 score for every dialing round if the node keep on line; so If a node keep on line, +// it will get FULL_SCORE very fast. +// 5. Gives a Time sugar score (2 : nodes was configured in config file, and 1 : nodes was +// discovered by P2P framework ) when a node's score less than MIN_DIALING_SCORE; + // A new node come into known_nodes list has a FULL_SCORE. pub const FULL_SCORE: i32 = 100; // Score lower than MIN_DIALING_SCORE, stop dialing. @@ -52,6 +62,10 @@ pub const DIALING_SCORE: i32 = 10; pub const SUCCESS_DIALING_SCORE: i32 = 10; // A node is refused by server, should need REFUSED_SCORE each time. pub const REFUSED_SCORE: i32 = 20; +// A node is dialed error by client, should need DIALED_ERROR_SCORE each time. +pub const DIALED_ERROR_SCORE: i32 = 25; +// A node is dialed error by client, should need DIALED_ERROR_SCORE each time. +pub const KEEP_ON_LINE_SCORE: i32 = 5; type IsTranslated = bool; @@ -59,9 +73,11 @@ pub struct NodesManager { check_connected_nodes: Receiver, known_addrs: FnvHashMap, config_addrs: HashMap, + translated_addrs: HashSet, connected_addrs: HashMap, pending_connected_addrs: HashMap, connected_peer_keys: HashMap, + repeated_session: HashMap, max_connects: usize, nodes_manager_client: NodesManagerClient, nodes_manager_service_receiver: Receiver, @@ -69,6 +85,7 @@ pub struct NodesManager { peer_key: Address, enable_tls: bool, dialing_node: Option, + self_addr: Option, } impl NodesManager { @@ -144,6 +161,13 @@ impl NodesManager { "[NodeManager] Address {:?} has been connected on : {:?}.", *key, session_id ); + + // Node keep on line, reward KEEP_ON_LINE_SCORE. + value.score = if (value.score + KEEP_ON_LINE_SCORE) > FULL_SCORE { + FULL_SCORE as i32 + } else { + value.score + KEEP_ON_LINE_SCORE + }; continue; } @@ -158,12 +182,30 @@ impl NodesManager { continue; } + if let Some(self_addr) = self.self_addr { + if *key == self_addr { + debug!( + "[NodeManager] Trying to connected self: {:?}, skip it", + self_addr + ); + continue; + } + } + // Score design prevents the client from dialing to a node all the time. if value.score < MIN_DIALING_SCORE { debug!( "[NodeManager] Address {:?} has to low score ({:?}) to dial.", *key, value.score ); + + // The node will get time sugar, the nodes which in config file can get 2, and the + // other nodes which discovered by P2P can get 1. + value.score += if self.translated_addrs.contains(&*key) { + 2 + } else { + 1 + }; continue; } @@ -218,6 +260,7 @@ impl NodesManager { // An init node from config file, give it FULL_SCORE. let node_status = NodeStatus::new(FULL_SCORE, None); self.known_addrs.insert(socket_addr, node_status); + self.translated_addrs.insert(socket_addr); *value = true; } else { error!("[NodeManager] Can not convert to socket address!"); @@ -245,8 +288,10 @@ impl Default for NodesManager { check_connected_nodes: ticker, known_addrs: FnvHashMap::default(), config_addrs: HashMap::default(), + translated_addrs: HashSet::default(), connected_addrs: HashMap::default(), connected_peer_keys: HashMap::default(), + repeated_session: HashMap::default(), pending_connected_addrs: HashMap::default(), max_connects: DEFAULT_MAX_CONNECTS, nodes_manager_client: client, @@ -255,6 +300,7 @@ impl Default for NodesManager { peer_key: Address::zero(), enable_tls: false, dialing_node: None, + self_addr: None, } } } @@ -302,8 +348,12 @@ impl NodesManagerClient { self.send_req(NodesManagerMessage::AddNodeReq(req)); } - pub fn del_node(&self, req: DelNodeReq) { - self.send_req(NodesManagerMessage::DelNodeReq(req)); + pub fn dialed_error(&self, req: DialedErrorReq) { + self.send_req(NodesManagerMessage::DialedErrorReq(req)); + } + + pub fn connected_self(&self, req: ConnectedSelfReq) { + self.send_req(NodesManagerMessage::ConnectedSelf(req)); } pub fn get_random_nodes(&self, req: GetRandomNodesReq) { @@ -355,7 +405,7 @@ impl NodesManagerClient { // Define messages for NodesManager pub enum NodesManagerMessage { AddNodeReq(AddNodeReq), - DelNodeReq(DelNodeReq), + DialedErrorReq(DialedErrorReq), GetRandomNodesReq(GetRandomNodesReq), PendingConnectedNodeReq(PendingConnectedNodeReq), DelConnectedNodeReq(DelConnectedNodeReq), @@ -365,13 +415,14 @@ pub enum NodesManagerMessage { NetworkInit(NetworkInitReq), AddConnectedNode(AddConnectedNodeReq), AddRepeatedNode(AddRepeatedNodeReq), + ConnectedSelf(ConnectedSelfReq), } impl NodesManagerMessage { pub fn handle(self, service: &mut NodesManager) { match self { NodesManagerMessage::AddNodeReq(req) => req.handle(service), - NodesManagerMessage::DelNodeReq(req) => req.handle(service), + NodesManagerMessage::DialedErrorReq(req) => req.handle(service), NodesManagerMessage::GetRandomNodesReq(req) => req.handle(service), NodesManagerMessage::PendingConnectedNodeReq(req) => req.handle(service), NodesManagerMessage::DelConnectedNodeReq(req) => req.handle(service), @@ -381,6 +432,7 @@ impl NodesManagerMessage { NodesManagerMessage::NetworkInit(req) => req.handle(service), NodesManagerMessage::AddConnectedNode(req) => req.handle(service), NodesManagerMessage::AddRepeatedNode(req) => req.handle(service), + NodesManagerMessage::ConnectedSelf(req) => req.handle(service), } } } @@ -444,14 +496,29 @@ impl AddConnectedNodeReq { self.session_id, *repeated_id ); + // It is a repeated_session, but not a repeated node. + if self.ty == SessionType::Client { + if let Some(dialing_addr) = service.dialing_node { + if self.ty == SessionType::Client { + if let Some(ref mut node_status) = + service.known_addrs.get_mut(&dialing_addr) + { + node_status.session_id = Some(*repeated_id); + node_status.score += SUCCESS_DIALING_SCORE; + } + } + service.repeated_session.insert(*repeated_id, dialing_addr); + } + } + if let Some(ref mut ctrl) = service.service_ctrl { let _ = ctrl.disconnect(self.session_id); } } else if service.peer_key == self.init_msg.peer_key { - // Connected self, remove this address from known_addrs list. + // Connected self, disconnected the session. // In P2P encrypted communication mode, the `connected self` will be detected by - // P2P framework, handling this situation by sending a `DelNodeReq` message to - // NodesManager. See the `handle` in `DelNodeReq` for more detail. + // P2P framework, handling this situation by sending a `ConnectedSelfReq` message to + // NodesManager. See the `handle` in `ConnectedSelfReq` for more detail. // This logic would be entry twice: // one as server, and the other one as client. if let Some(dialing_node) = service.dialing_node { @@ -459,7 +526,7 @@ impl AddConnectedNodeReq { "[NodeManager] Connected Self, Delete {:?} from know_addrs", dialing_node ); - service.known_addrs.remove(&dialing_node); + service.self_addr = Some(dialing_node); if let Some(ref mut ctrl) = service.service_ctrl { let _ = ctrl.disconnect(self.session_id); } @@ -468,7 +535,7 @@ impl AddConnectedNodeReq { // Found a successful connection after exchanging `init message`. // FIXME: If have reached to max_connects, disconnected this node. // Add connected address. - if let Some(session_info) = service.pending_connected_addrs.get(&self.session_id) { + if let Some(session_info) = service.pending_connected_addrs.remove(&self.session_id) { info!( "[NodeManager] Add session [{:?}], address: {:?} to Connected_addrs.", self.session_id, session_info.addr @@ -483,16 +550,15 @@ impl AddConnectedNodeReq { node_status.score += SUCCESS_DIALING_SCORE; } } - service .connected_addrs .insert(self.session_id, session_info.addr); - } - // Add connected peer keys - let _ = service - .connected_peer_keys - .insert(self.init_msg.peer_key, self.session_id); + // Add connected peer keys + let _ = service + .connected_peer_keys + .insert(self.init_msg.peer_key, self.session_id); + } info!( "[NodeManager] connected_addrs info: {:?}", @@ -557,6 +623,13 @@ impl AddNodeReq { } pub fn handle(self, service: &mut NodesManager) { + if service.known_addrs.len() > DEFAULT_MAX_KNOWN_ADDRS { + warn!( + "[NodeManager] Known address has reach Max: {:?}", + DEFAULT_MAX_KNOWN_ADDRS, + ); + return; + } // Add a new node, using a default node status. let default_node_status = NodeStatus::new(FULL_SCORE, None); service @@ -566,17 +639,19 @@ impl AddNodeReq { } } -pub struct DelNodeReq { +pub struct DialedErrorReq { addr: SocketAddr, } -impl DelNodeReq { +impl DialedErrorReq { pub fn new(addr: SocketAddr) -> Self { - DelNodeReq { addr } + DialedErrorReq { addr } } pub fn handle(self, service: &mut NodesManager) { - service.known_addrs.remove(&self.addr); + if let Some(ref mut node_status) = service.known_addrs.get_mut(&self.addr) { + node_status.score -= DIALED_ERROR_SCORE; + } // Catch a dial error, this dialing finished service.dialing_node = None; @@ -599,6 +674,12 @@ impl AddRepeatedNodeReq { self.addr, self.session_id ); + if let Some(ref mut node_status) = service.known_addrs.get_mut(&self.addr) { + node_status.session_id = Some(self.session_id); + node_status.score += SUCCESS_DIALING_SCORE; + } + service.repeated_session.insert(self.session_id, self.addr); + // This dialing is finished. service.dialing_node = None; } @@ -669,22 +750,11 @@ impl DelConnectedNodeReq { info!("[NodeManager] Disconnected session [{:?}]", self.session_id); if let Some(addr) = service.connected_addrs.remove(&self.session_id) { - // Set the node as disconnected in known_addrs - if let Some(ref mut node_status) = service.known_addrs.get_mut(&addr) { - if let Some(session_id) = node_status.session_id { - if session_id == self.session_id { - info!("Reset node status of address {:?} to None", addr); - node_status.session_id = None; - } else { - warn!( - "[NodeManager] Expected session id: {:?}, but found: {:?}", - self.session_id, session_id - ); - } - } else { - error!("[NodeManager] Can not get node status from known_addr, this should not happen!"); - } - } + self.reset_node_status(addr, service); + } + + if let Some(addr) = service.repeated_session.remove(&self.session_id) { + self.reset_node_status(addr, service); } // Remove connected peer keys @@ -716,6 +786,26 @@ impl DelConnectedNodeReq { } } } + + fn reset_node_status(&self, addr: SocketAddr, service: &mut NodesManager) { + // Set the node as disconnected in known_addrs + if let Some(ref mut node_status) = service.known_addrs.get_mut(&addr) { + if let Some(session_id) = node_status.session_id { + if session_id == self.session_id { + info!("Reset node status of address {:?} to None", addr); + node_status.score -= REFUSED_SCORE; + node_status.session_id = None; + } else { + warn!( + "[NodeManager] Expected session id: {:?}, but found: {:?}", + self.session_id, session_id + ); + } + } else { + error!("[NodeManager] Can not get node status from known_addr, this should not happen!"); + } + } + } } #[derive(Debug)] @@ -794,3 +884,18 @@ impl GetPeerCountReq { } } } + +pub struct ConnectedSelfReq { + addr: SocketAddr, +} + +impl ConnectedSelfReq { + pub fn new(addr: SocketAddr) -> Self { + ConnectedSelfReq { addr } + } + + pub fn handle(self, service: &mut NodesManager) { + service.self_addr = Some(self.addr); + service.dialing_node = None; + } +} diff --git a/cita-network/src/p2p_protocol/mod.rs b/cita-network/src/p2p_protocol/mod.rs index 9673471d1..097542924 100644 --- a/cita-network/src/p2p_protocol/mod.rs +++ b/cita-network/src/p2p_protocol/mod.rs @@ -16,7 +16,7 @@ // along with this program. If not, see . use crate::node_manager::{ - AddRepeatedNodeReq, DelConnectedNodeReq, DelNodeReq, NodesManagerClient, + AddRepeatedNodeReq, ConnectedSelfReq, DelConnectedNodeReq, DialedErrorReq, NodesManagerClient, PendingConnectedNodeReq, }; use logger::{info, warn}; @@ -59,12 +59,16 @@ impl ServiceHandle for SHandle { let req = AddRepeatedNodeReq::new(address, session_id); self.nodes_mgr_client.add_repeated_node(req); } + error::Error::ConnectSelf => { + info!("[P2pProtocol] Connected to self, address: {:?}.", address); + let req = ConnectedSelfReq::new(address); + self.nodes_mgr_client.connected_self(req); + } _ => { // FIXME: Using score for deleting a node from known nodes - let req = DelNodeReq::new(address); - self.nodes_mgr_client.del_node(req); - warn!("[P2pProtocol] Error in {:?} : {:?}, delete this address from nodes manager", - address, error); + let req = DialedErrorReq::new(address); + self.nodes_mgr_client.dialed_error(req); + warn!("[P2pProtocol] Dialed Error in {:?} : {:?}.", address, error); } } } From 3838dcbe291ef3e492cacc1fa1d6ca8c17e7bb63 Mon Sep 17 00:00:00 2001 From: Jason Date: Tue, 26 Mar 2019 17:50:02 +0800 Subject: [PATCH 22/96] support --stdout and --enable_version when create cita config --- .../config_tool/config_example/jsonrpc.toml | 1 + scripts/create_cita_config.py | 23 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/scripts/config_tool/config_example/jsonrpc.toml b/scripts/config_tool/config_example/jsonrpc.toml index 71ec9d17a..90e44f54d 100644 --- a/scripts/config_tool/config_example/jsonrpc.toml +++ b/scripts/config_tool/config_example/jsonrpc.toml @@ -1,4 +1,5 @@ backlog_capacity = 1000 +enable_version = false [profile_config] flag_prof_start = 0 diff --git a/scripts/create_cita_config.py b/scripts/create_cita_config.py index 18a24b5d1..d2e645432 100755 --- a/scripts/create_cita_config.py +++ b/scripts/create_cita_config.py @@ -191,6 +191,15 @@ def template_create_from_arguments(self, args, contracts_dir_src, with open(executor_config, 'wt') as stream: toml.dump(executor_data, stream) + if args.stdout: + forever_config = os.path.join(self.configs_dir, 'forever.toml') + with open(forever_config, 'rt') as stream: + forever_data = toml.load(stream) + for process_data in forever_data['process']: + process_data['args'].append('-s') + with open(forever_config, 'wt') as stream: + toml.dump(forever_data, stream) + jsonrpc_config = os.path.join(self.configs_dir, 'jsonrpc.toml') with open(jsonrpc_config, 'rt') as stream: jsonrpc_data = toml.load(stream) @@ -198,6 +207,8 @@ def template_create_from_arguments(self, args, contracts_dir_src, = str(args.jsonrpc_port) jsonrpc_data['ws_config']['listen_port'] \ = str(args.ws_port) + if args.enable_version: + jsonrpc_data['enable_version'] = True with open(jsonrpc_config, 'wt') as stream: toml.dump(jsonrpc_data, stream) @@ -467,6 +478,18 @@ def parse_arguments(): action='store_true', help='The data is encrypted and transmitted on the network') + # enable get version + pcreate.add_argument( + '--enable_version', + action='store_true', + help='Jsonrpc will return cita version') + + # switch to stdout + pcreate.add_argument( + '--stdout', + action='store_true', + help='Logs will output to stdout') + # # Subcommand: append # From 60fb81fe599176d7ef05b6f696742804e1253f40 Mon Sep 17 00:00:00 2001 From: Jason Date: Tue, 26 Mar 2019 20:31:13 +0800 Subject: [PATCH 23/96] change ./bin/cita to support stdout --- scripts/cita | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/cita b/scripts/cita index 88bc8079c..be5dd8016 100755 --- a/scripts/cita +++ b/scripts/cita @@ -162,11 +162,11 @@ do_start() { # Start cita-forever if [ -z ${debug} ]; then - cita-forever -c ${config} start > /dev/null 2>&1 + cita-forever -c ${config} start 2>&1 else RUST_LOG=cita_auth=${debug},cita_chain=${debug},cita_executor=${debug},cita_jsonrpc=${debug},cita_network=${debug},cita_bft=${debug},\ core_executor=${debug},engine=${debug},jsonrpc_types=${debug},libproto=${debug},proof=${debug},txpool=${debug},core=${debug} \ - cita-forever -c ${config} start > /dev/null 2>&1 + cita-forever -c ${config} start 2>&1 fi # Wait for the node to come up From 9a7e59a0917a01cc928f60e69732ce95a313159a Mon Sep 17 00:00:00 2001 From: Jason Date: Tue, 26 Mar 2019 20:45:48 +0800 Subject: [PATCH 24/96] Add getVersion test --- cita-jsonrpc/src/soliloquy.rs | 140 ++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) diff --git a/cita-jsonrpc/src/soliloquy.rs b/cita-jsonrpc/src/soliloquy.rs index eb61f8c71..ab21606b6 100644 --- a/cita-jsonrpc/src/soliloquy.rs +++ b/cita-jsonrpc/src/soliloquy.rs @@ -68,3 +68,143 @@ impl Soliloquy { response.into() } } + +#[cfg(test)] +pub mod tests { + use config::Config; + use jsonrpc_types::ErrorCode; + use libproto::Message; + use libproto::TryInto; + use soliloquy::Soliloquy; + + fn get_response(toml_str: String) -> libproto::response::Response { + let config = util::parse_config_from_buffer::(&toml_str) + .unwrap_or_else(|err| panic!("Error while parsing config: [{}]", err)); + + let mut request = libproto::request::Request::new(); + request.set_software_version(true); + let req_msg: Message = request.into(); + + let soliloquy = Soliloquy::new(config.clone()); + let mut res_msg: Message = soliloquy.handle(&req_msg.try_into().unwrap()); + res_msg.take_response().unwrap() + } + + #[test] + pub fn test_disable_get_version() { + let toml_str = r#" +backlog_capacity = 1000 + +[profile_config] +flag_prof_start = 0 +enable = false +flag_prof_duration = 0 + +[http_config] +allow_origin = "*" +timeout = 3 +enable = true +listen_port = "1337" +listen_ip = "0.0.0.0" + +[ws_config] +panic_on_internal = true +fragments_grow = true +panic_on_protocol = false +enable = true +in_buffer_capacity = 2048 +panic_on_queue = false +fragment_size = 65535 +panic_on_timeout = false +method_strict = false +thread_number = 2 +panic_on_capacity = false +masking_strict = false +key_strict = false +max_connections = 800 +listen_ip = "0.0.0.0" +listen_port = "4337" +queue_size = 200 +fragments_capacity = 100 +tcp_nodelay = false +shutdown_on_interrupt = true +out_buffer_grow = true +panic_on_io = false +panic_on_new_connection = false +out_buffer_capacity = 2048 +encrypt_server = false +in_buffer_grow = true +panic_on_shutdown = false +panic_on_encoding = false + +[new_tx_flow_config] +buffer_duration = 30000000 +count_per_batch = 30 + + "#; + + let response = get_response(toml_str.to_string()); + assert_eq!(response.code, ErrorCode::MethodNotFound.code()); + } + + #[test] + pub fn test_enable_get_version() { + let toml_str = r#" +backlog_capacity = 1000 +enable_version = true + +[profile_config] +flag_prof_start = 0 +enable = false +flag_prof_duration = 0 + +[http_config] +allow_origin = "*" +timeout = 3 +enable = true +listen_port = "1337" +listen_ip = "0.0.0.0" + +[ws_config] +panic_on_internal = true +fragments_grow = true +panic_on_protocol = false +enable = true +in_buffer_capacity = 2048 +panic_on_queue = false +fragment_size = 65535 +panic_on_timeout = false +method_strict = false +thread_number = 2 +panic_on_capacity = false +masking_strict = false +key_strict = false +max_connections = 800 +listen_ip = "0.0.0.0" +listen_port = "4337" +queue_size = 200 +fragments_capacity = 100 +tcp_nodelay = false +shutdown_on_interrupt = true +out_buffer_grow = true +panic_on_io = false +panic_on_new_connection = false +out_buffer_capacity = 2048 +encrypt_server = false +in_buffer_grow = true +panic_on_shutdown = false +panic_on_encoding = false + +[new_tx_flow_config] +buffer_duration = 30000000 +count_per_batch = 30 + + "#; + + let response = get_response(toml_str.to_string()); + assert_eq!( + response.get_software_version().contains("softwareVersion"), + true + ); + } +} From 4b962184d0a53ac49af64a03516c508af56af11a Mon Sep 17 00:00:00 2001 From: leeyr Date: Wed, 27 Mar 2019 17:52:48 +0800 Subject: [PATCH 25/96] modify change log for v0.22.0. [skip ci] --- CHANGELOG.md | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 78a3bfc05..72f5e7c44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ All notable changes to this project will be documented in this file. And this pr ## [Unreleased] +## [v0.22.0] - 2019-03-27 + ### Upgrade Note The v0.22.0 version of the node configurations is compatible with the v0.21 version. @@ -643,21 +645,22 @@ Release the first version of CITA. [set quota price]: https://docs.citahub.com/zh-CN/cita/system/price [sidechain exit mechanism]: https://docs.nervos.org/cita/#/crosschain/crosschain_contract_example -[Unreleased]: https://github.com/cryptape/cita/compare/v0.21.1...HEAD -[v0.21.1]: https://github.com/cryptape/cita/compare/v0.21...HEAD -[v0.21.0]: https://github.com/cryptape/cita/compare/v0.20.3...HEAD -[v0.20.3]: https://github.com/cryptape/cita/compare/v0.20.2...HEAD -[v0.20.2]: https://github.com/cryptape/cita/compare/v0.20.1...HEAD -[v0.20.1]: https://github.com/cryptape/cita/compare/v0.20...HEAD -[v0.20.0]: https://github.com/cryptape/cita/compare/v0.19.1...HEAD -[v0.19.1]: https://github.com/cryptape/cita/compare/v0.19...HEAD -[v0.19.0]: https://github.com/cryptape/cita/compare/v0.18...HEAD -[v0.18.0]: https://github.com/cryptape/cita/compare/v0.17...HEAD -[v0.17.0]: https://github.com/cryptape/cita/compare/v0.16...HEAD -[v0.16.0]: https://github.com/cryptape/cita/compare/v0.15...HEAD -[v0.15.0]: https://github.com/cryptape/cita/compare/v0.13...HEAD -[v0.13.0]: https://github.com/cryptape/cita/compare/v0.12...HEAD -[v0.12.0]: https://github.com/cryptape/cita/compare/v0.10...HEAD +[Unreleased]: https://github.com/cryptape/cita/compare/v0.22.0...HEAD +[v0.22.0]: https://github.com/cryptape/cita/compare/v0.21...v0.22.0 +[v0.21.1]: https://github.com/cryptape/cita/compare/v0.21...v0.21.1 +[v0.21.0]: https://github.com/cryptape/cita/compare/v0.20...v0.21.0 +[v0.20.3]: https://github.com/cryptape/cita/compare/v0.20.2...v0.20.3 +[v0.20.2]: https://github.com/cryptape/cita/compare/v0.20.1...v0.20.2 +[v0.20.1]: https://github.com/cryptape/cita/compare/v0.20...v0.20.1 +[v0.20.0]: https://github.com/cryptape/cita/compare/v0.19...v0.20 +[v0.19.1]: https://github.com/cryptape/cita/compare/v0.19...v0.19.1 +[v0.19.0]: https://github.com/cryptape/cita/compare/v0.18...v0.19 +[v0.18.0]: https://github.com/cryptape/cita/compare/v0.17...v0.18 +[v0.17.0]: https://github.com/cryptape/cita/compare/v0.16...v0.17 +[v0.16.0]: https://github.com/cryptape/cita/compare/v0.15...v0.16 +[v0.15.0]: https://github.com/cryptape/cita/compare/v0.13...v0.15 +[v0.13.0]: https://github.com/cryptape/cita/compare/v0.12...v0.13 +[v0.12.0]: https://github.com/cryptape/cita/compare/v0.10...v0.12 [v0.10.0]: https://github.com/cryptape/cita/releases/tag/v0.10 [@77liyan]: https://github.com/77liyan From 7406ef3a142c6796c33dc686bf503278ed5198fc Mon Sep 17 00:00:00 2001 From: kayryu Date: Fri, 29 Mar 2019 14:29:11 +0800 Subject: [PATCH 26/96] Add test for getVersion --- .../cita_jsonrpc_schema_mock.sh | 3 +- tests/interfaces/rpc/schemas/getVersion.json | 63 +++++++++++++++++++ tests/interfaces/rpc/tests/getVersion.json | 30 +++++++++ 3 files changed, 95 insertions(+), 1 deletion(-) create mode 100644 tests/interfaces/rpc/schemas/getVersion.json create mode 100644 tests/interfaces/rpc/tests/getVersion.json diff --git a/tests/integrate_test/cita_jsonrpc_schema_mock.sh b/tests/integrate_test/cita_jsonrpc_schema_mock.sh index 0ee2ad446..534bb0f3e 100755 --- a/tests/integrate_test/cita_jsonrpc_schema_mock.sh +++ b/tests/integrate_test/cita_jsonrpc_schema_mock.sh @@ -41,7 +41,8 @@ ${BINARY_DIR}/scripts/create_cita_config.py create --nodes "127.0.0.1:4000,127.0 --contract_arguments "SysConfig.economicalModel=${ECONOMICAL_MODEL}" \ --contract_arguments "SysConfig.chainId=123" \ --timestamp 1524000000 \ - --authorities ${AUTHORITIES} + --authorities ${AUTHORITIES} \ + --enable_version echo "DONE" ################################################################################ diff --git a/tests/interfaces/rpc/schemas/getVersion.json b/tests/interfaces/rpc/schemas/getVersion.json new file mode 100644 index 000000000..dca666845 --- /dev/null +++ b/tests/interfaces/rpc/schemas/getVersion.json @@ -0,0 +1,63 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "getVersion", + "description": "getVersion JSON-RPC method request and response schema.", + "request": { + "id": "#request", + "allOf": [ + { + "$ref": "jsonrpc-request.json" + }, + { + "$ref": "getVersion.json#/request/definitions/request-obj" + } + ], + "definitions": { + "request-obj": { + "id": "#request-obj", + "properties": { + "method": { + "type": "string", + "enum": [ + "getVersion" + ] + }, + "params": { + "oneOf": [ + { + "type": "array", + "maxItems": 0 + } + ] + } + } + } + } + }, + "response": { + "id": "#response", + "allOf": [ + { + "$ref": "jsonrpc-response.json" + }, + { + "$ref": "getVersion.json#/response/definitions/response-obj" + } + ], + "definitions": { + "response-obj": { + "properties": { + "result": { + "type": "object", + "properties": { + "softwareVersion": { + "type": "string", + "description": "The version of software" + } + } + } + } + } + } + } +} diff --git a/tests/interfaces/rpc/tests/getVersion.json b/tests/interfaces/rpc/tests/getVersion.json new file mode 100644 index 000000000..e1caf32ef --- /dev/null +++ b/tests/interfaces/rpc/tests/getVersion.json @@ -0,0 +1,30 @@ +{ + "title": "getVersion", + "schema": { + "$ref": "../schemas/getVersion.json" + }, + "tests": [ + { + "title": "getVersion success if enabled", + "request": { + "method": "getVersion", + "params": [] + }, + "expectedResponse": { + "result": { + "softwareVersion": "0.20" + } + }, + "asserts": [ + { + "description": "response should not null", + "program": ".receivedResponse.result != null" + }, + { + "description": "response softwareVersion should more than expected", + "program": ".receivedResponse.result.softwareVersion >= .expectedResponse.result.softwareVersion" + } + ] + } + ] +} From fdad1515fdd849a5f69e355ad7adc516fc14aeb3 Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Tue, 26 Mar 2019 14:24:32 +0800 Subject: [PATCH 27/96] :scroll: Add release guide doc. [skip ci] --- release_guide.md | 204 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 204 insertions(+) create mode 100644 release_guide.md diff --git a/release_guide.md b/release_guide.md new file mode 100644 index 000000000..1ba318c54 --- /dev/null +++ b/release_guide.md @@ -0,0 +1,204 @@ +# Release Guide + +TBD + +---------------------- + +# 发版指引 + +代码仓库拥有两个主要分支: + +* `develop`: nightly build. +* `master`: production release. + +基本的发版流程是当 `develop` 的代码可以作为一个版本发布时,所有代码的改动都需要合并回 `master` 分支,然后标记新的版本号。 +其中的一些细节将会在下面章节阐述。 + +具体流程遵循以下几个步骤: + +1. [准备分支](#准备分支) +2. [测试及更新日志](#测试及更新日志) +3. [合并分支](#合并分支) +4. [发布](#发布) +5. [其他](#其他) + +## 准备分支 + +### 版本的类型 + +使用语义化版本,遵循 [Semantic Versioning] + +摘录部分如下: + +> 版本格式:主版本号.次版本号.修订号,版本号递增规则如下: +> +> 1. 主版本号:当你做了不兼容的 API 修改, +> 2. 次版本号:当你做了向下兼容的功能性新增, +> 3. 修订号:当你做了向下兼容的问题修正。 +> 先行版本号及版本编译元数据可以加到“主版本号.次版本号.修订号”的后面,作为延伸。 + +### 创建发布分支 + +***新分支命名遵循 `release-*` 格式*** + +首先获取最新的代码,具体操作如下: + +``` +git fetch origin +``` + +其中 `origin` 代表 `CITA` 官方的代码仓库地址,可通过 `git remote -v` 查看。 + +流程分为版本发布(主版本号 x 及次版本号 y)以及修订补丁发布(修订号 z)。 + +#### 版本发布 + +从最新 `develop` 创建新的分支 `release-x.y.0`,具体操作如下: + +``` +git checkout origin/develop -b release-x.y.0 +``` + +#### 修订补丁发布 + +从需要修订版本的 `tag`(`vx.y.0`) 创建新的分支 `release-x.y.1`,具体操作如下: + +``` +git checkout tags/vx.y.0 -b release-x.y.1 +``` + +### 推送分支 + +把创建的发布分支 `release-x.y.z` 推送到官方仓库,具体操作如下: + +``` +git push origin release-x.y.z +``` + +### 设置分支保护 + +联系管理员对发布分支 `release-x.y.z` 设置分支保护。 + +## 测试及更新日志 + +广播内部邮件: + +* 告知测试团队对发布分支进行测试 +* 告知工具链团队对新版本就行适配 + +测试过程中出现的 Bug 修复合并入发布分支 `release-x.y.z`。 + +当测试通过时,修改更新日志,更新版本发布日期等信息。 + +## 合并分支 + +### 合并入 `master` 分支 + +通过 `pull request` 把发布分支 `release-x.y.z` 合并入 `master` 分支。 + +### 版本 tag + +***新版本 tag 命名遵循 `vx.y.z` 格式*** + +1. 更新 `master` 分支代码,具体操作如下: + +``` +git checkout origin/master && git pull +``` + +2. 创建 `tag`,具体操作如下: + +``` +git tag -a vx.y.z -m 'vx.y.z' +``` + +3. 推送 `tag` 到代码仓库,具体操作如下: + +``` +git push origin vx.y.z +``` + +### 合并入 `develop` 分支 + +***过渡分支命名为 `merge-master-to-develop`*** + +把 `master` 分支合并入 `develop` 分支,由于分支保护,创建一个中间分支 `merge-master-to-develop` 通过 `pull request` 合并。 + +1. 更新 `master` 分支代码,具体操作如下: + +``` +git checkout origin/master && git pull +``` + +2. 创建 `merge-master-to-develop`,具体操作如下: + +``` +git checkout -b merge-master-to-develop +``` + +3. 推送分支到代码仓库,具体操作如下: + +``` +git push origin merge-master-to-develop +``` + +4. 合并入 `develop` + +通过 `pull request` 把过渡分支 `merge-master-to-develop` 合并入 `develop` 分支。 + +## 发布 + +### 文件打包 + +***压缩包使用 .tar.gz 后缀*** + +新版本发布需要打包以下文件: + +* 源码 `cita_src.tar.gz` +* 三种不同算法的发布件: + - `cita_secp256k1_sha3.tar.gz` + - `cita_ed25519_blake2b.tar.gz` + - `cita_sm2_sm3.tar.gz` + +### 发版公告 + +1. 起草一份发版公告,简述新版本的内容及升级提示,包括中文和英语,最后附上更新日志。 +2. 把发布需要的文件上传。 +3. 发布新版本。 + +### 邮件广播 + +撰写新版本邮件并广播。 + +### CITAHub talk 发帖 + +在[信息版]发布新版本主题贴。 + +### CITAHub Docs 确认更新 + +确定 [CITAHub Docs] 更新到新版本。 + +### 清理分支 + +***如果设置了分支保护,联系管理员手动删除*** + +1. 清理发布分支,具体操作如下: + +``` +git push --delete origin release-x.y.z +``` + +2. 清理过渡分支,具体操作如下: + +``` +git push --delete origin merge-master-to-develop +``` + +## 其他 + +* 若发布之后,需要修改发版公告,交由发版人操作。 +* 发版之前确认新版本相关的文档已经更新到 [CITAHub Docs] + +[CITAhub Docs]: https://docs.citahub.com/zh-CN/welcome +[Semantic Versioning]: https://semver.org/ +[信息版]: https://talk.citahub.com/c/9-category From bc3fe1bad8b1fb741d0be3461512cd91cf908709 Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Fri, 29 Mar 2019 16:51:25 +0800 Subject: [PATCH 28/96] Set the default ntp service to false. --- scripts/config_tool/config_example/consensus.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/config_tool/config_example/consensus.toml b/scripts/config_tool/config_example/consensus.toml index bb2c54ffd..8554c639f 100644 --- a/scripts/config_tool/config_example/consensus.toml +++ b/scripts/config_tool/config_example/consensus.toml @@ -1,4 +1,4 @@ [ntp_config] -enabled = true +enabled = false threshold = 1000 address = "0.pool.ntp.org:123" From dc45dca5241498ecafc3c89330f077c2aaad2b56 Mon Sep 17 00:00:00 2001 From: clearloop Date: Mon, 1 Apr 2019 14:28:00 +0800 Subject: [PATCH 29/96] Installation && Exectution Optimization. (#334) * [Command]: Use cita command directly. * [Command]: Completing help info. * [Optimize]: Delete verbose lines in "cita script". --- .travis.yml | 30 +++--- env.sh | 92 ++++++++++-------- scripts/cita | 93 +++++++++++++------ scripts/cita_config.sh | 11 +++ scripts/daemon.sh | 51 ---------- scripts/env.sh | 57 ------------ scripts/release.sh | 13 ++- tests/integrate_test/cita_amend_test.sh | 6 +- tests/integrate_test/cita_basic.sh | 22 ++--- tests/integrate_test/cita_bft_resend.sh | 8 +- tests/integrate_test/cita_byzantinetest.sh | 4 +- tests/integrate_test/cita_charge_mode.sh | 6 +- tests/integrate_test/cita_crosschain.sh | 8 +- .../cita_jsonrpc_schema_mock.sh | 6 +- tests/integrate_test/cita_snapshot_test.sh | 14 +-- tests/integrate_test/cita_tls_basic.sh | 22 ++--- tests/integrate_test/robustness_test.py | 6 +- 17 files changed, 206 insertions(+), 243 deletions(-) create mode 100755 scripts/cita_config.sh delete mode 100755 scripts/daemon.sh delete mode 100755 scripts/env.sh diff --git a/.travis.yml b/.travis.yml index c4b3c74b1..d8a45ea37 100644 --- a/.travis.yml +++ b/.travis.yml @@ -54,11 +54,11 @@ jobs: install: - rm -rf /opt/cita-run/test-chain - cd $TRAVIS_BUILD_DIR/target/install - - ./env.sh ./scripts/create_cita_config.py create + - ./bin/cita create --nodes "127.0.0.1:4100" --super_admin "0x4b5ae4567ad5d9fb92bc9afd6a657e6fa13a2523" - - ./env.sh ./bin/cita setup test-chain/0 - - ./daemon.sh ./bin/cita start test-chain/0 + - ./bin/cita setup test-chain/0 + - ./bin/cita start test-chain/0 before_script: - cd $TRAVIS_BUILD_DIR/target/install/scripts/contracts/tests - travis_retry yarn install @@ -104,12 +104,12 @@ jobs: name: Unit Node install: - cd $TRAVIS_BUILD_DIR/target/install - - ./env.sh ./scripts/create_cita_config.py create + - ./bin/cita create --nodes "127.0.0.1:4000,127.0.0.1:4001,127.0.0.1:4002" --super_admin "0x4b5ae4567ad5d9fb92bc9afd6a657e6fa13a2523" - for i in {0..2} ; do - ./env.sh bin/cita setup test-chain/$i - && ./daemon.sh bin/cita start test-chain/$i ; + ./bin/cita setup test-chain/$i + && ./bin/cita start test-chain/$i ; done script: - npm run-script unit_node @@ -118,12 +118,12 @@ jobs: name: Integrate Quota install: - cd $TRAVIS_BUILD_DIR/target/install - - ./env.sh ./scripts/create_cita_config.py create + - ./bin/cita create --nodes "127.0.0.1:4100" --contract_arguments "SysConfig.checkQuota=true" --super_admin "0x4b5ae4567ad5d9fb92bc9afd6a657e6fa13a2523" - - ./env.sh ./bin/cita setup test-chain/0 - - ./daemon.sh ./bin/cita start test-chain/0 + - ./bin/cita setup test-chain/0 + - ./bin/cita start test-chain/0 script: - npm run-script integrate_quota @@ -131,12 +131,12 @@ jobs: name: Integrate Permission install: - cd $TRAVIS_BUILD_DIR/target/install - - ./env.sh ./scripts/create_cita_config.py create + - ./bin/cita create --nodes "127.0.0.1:4100" --contract_arguments "SysConfig.checkCallPermission=true" --super_admin "0x4b5ae4567ad5d9fb92bc9afd6a657e6fa13a2523" - - ./env.sh ./bin/cita setup test-chain/0 - - ./daemon.sh ./bin/cita start test-chain/0 + - ./bin/cita setup test-chain/0 + - ./bin/cita start test-chain/0 script: - npm run-script permission @@ -144,11 +144,11 @@ jobs: name: Integrate AutoExec install: - cd $TRAVIS_BUILD_DIR/target/install - - ./env.sh ./scripts/create_cita_config.py create + - ./bin/cita create --nodes "127.0.0.1:4100" --contract_arguments "SysConfig.autoExec=true" --super_admin "0x4b5ae4567ad5d9fb92bc9afd6a657e6fa13a2523" - - ./env.sh ./bin/cita setup test-chain/0 - - ./daemon.sh ./bin/cita start test-chain/0 + - ./bin/cita setup test-chain/0 + - ./bin/cita start test-chain/0 script: - npm run-script auto_exec diff --git a/env.sh b/env.sh index 1f4ef735d..83c79b791 100755 --- a/env.sh +++ b/env.sh @@ -1,63 +1,70 @@ #!/usr/bin/env bash -DOCKER_IMAGE="cita/cita-build:ubuntu-18.04-20190304" -if [[ `uname` == 'Darwin' ]] -then - cp /etc/localtime $PWD/localtime - LOCALTIME_PATH="$PWD/localtime" +SOURCE_DIR="$(cd $(dirname "$0") && pwd -P)" + +test -f "${SOURCE_DIR}/CODE_OF_CONDUCT.md" +if [ $? -eq 0 ]; then + CONTAINER_NAME="cita_build_container" + DOCKER_IMAGE="cita/cita-build:ubuntu-18.04-20190304" else - LOCALTIME_PATH="/etc/localtime" + CONTAINER_NAME="cita_run_container" + DOCKER_IMAGE="cita/cita-run:ubuntu-18.04-20181009" + SOURCE_DIR="$(dirname $SOURCE_DIR)" fi -docker_bin=$(which docker) -if [ -z "${docker_bin}" ]; then - echo "Command not found, install docker first." - exit 1 +if [ `uname` == 'Darwin' ]; then + cp /etc/localtime ${SOURCE_DIR}/localtime + SYSTEM_NET="bridge" + LOCALTIME_PATH="${SOURCE_DIR}/localtime" else - docker version > /dev/null 2>&1 - if [ $? -ne 0 ]; then - echo "Run docker version failed, Maybe docker service not running or current user not in docker user group." - exit 2 - fi + SYSTEM_NET="host" + LOCALTIME_PATH="/etc/localtime" fi -SOURCE_DIR=`pwd` -CONTAINER_NAME="cita_build${SOURCE_DIR//\//_}" -CARGO_HOME=/opt/.cargo WORKDIR=/opt/cita USER_ID=`id -u $USER` USER_NAME="user" -if [ "${USER_ID}" = "0" ]; then - USER_NAME="root" +[[ "${USER_ID}" = "0" ]] && USER_NAME="root" + +# Init contanier's cargo, for logs. +CARGO_HOME=/opt/.cargo +DOCKER_CARGO=${HOME}/.docker_cargo +mkdir -p ${DOCKER_CARGO}/git +mkdir -p ${DOCKER_CARGO}/registry + +timeout=3 +target=www.google.com +ret_code=`curl -I -s --connect-timeout $timeout $target -w %{http_code} | tail -n1` +if [ "x$ret_code" != "x200" ]; then + INIT_CMD="echo -e '[source.crates-io]\nregistry = \"https://github.com/rust-lang/crates.io-index\"\nreplace-with = \"ustc\"\n[source.ustc]\nregistry = \"https://mirrors.ustc.edu.cn/crates.io-index\"' | sudo tee /opt/.cargo/config;" fi +INIT_CMD="${INIT_CMD} while true; do sleep 100;done" -mkdir -p ${HOME}/.docker_cargo/git -mkdir -p ${HOME}/.docker_cargo/registry +# Port condition +EXPOSE="1337:1337" +if [ "$3" == "port" ]; then + EXPOSE=${@:4} + [[ "${EXPOSE}" = "" ]] && EXPOSE="1337:1337" + docker container stop $CONTAINER_NAME > /dev/null 2>&1 + echo -e "\033[0;32mExpose ports: ${@}\033[0m" +fi +# Run container docker ps | grep ${CONTAINER_NAME} > /dev/null 2>&1 if [ $? -ne 0 ]; then echo "Start docker container ${CONTAINER_NAME} ..." docker rm ${CONTAINER_NAME} > /dev/null 2>&1 - - # test network and set init cmd - timeout=3 - target=www.google.com - ret_code=`curl -I -s --connect-timeout $timeout $target -w %{http_code} | tail -n1` - if [ "x$ret_code" = "x200" ]; then - INIT_CMD="while true;do sleep 100;done" - else - INIT_CMD="echo -e '[source.crates-io]\nregistry = \"https://github.com/rust-lang/crates.io-index\"\nreplace-with = \"ustc\"\n[source.ustc]\nregistry = \"https://mirrors.ustc.edu.cn/crates.io-index\"' | sudo tee /opt/.cargo/config;while true;do sleep 100;done" - fi - docker run -d \ + --net=${SYSTEM_NET} \ --volume ${SOURCE_DIR}:${WORKDIR} \ - --volume ${HOME}/.docker_cargo/registry:${CARGO_HOME}/registry \ - --volume ${HOME}/.docker_cargo/git:${CARGO_HOME}/git \ + --volume ${DOCKER_CARGO}/git:${DOCKER_CARGO}/git \ + --volume ${DOCKER_CARGO}/registry:${DOCKER_CARGO}/registry \ --volume ${LOCALTIME_PATH}:/etc/localtime \ --env USER_ID=${USER_ID} \ --workdir ${WORKDIR} \ - --name ${CONTAINER_NAME} ${DOCKER_IMAGE} \ + --name ${CONTAINER_NAME} \ + -p $EXPOSE ${DOCKER_IMAGE} \ /bin/bash -c "${INIT_CMD}" # Wait entrypoint.sh to finish sleep 3 @@ -65,7 +72,18 @@ fi test -t 1 && USE_TTY="-t" -if [ $# -gt 0 ]; then +# Start nodes outside container directly +# Runing Commands through `cita` command: +# $0=`realpath`, $1="bin/cita", $2="bebop", +# $3="command/--daemon", $4="config/command" +# Most OS delete $0 default, some linux not. +[[ "$3" == "start" ]] && set "${@:1:2}" "--daemon" "${@:3}" + +# Condition `daemon` to run daemon. +if [ "$3" == "--daemon" ]; then + set "${@:1:2}" "${@:4}" + docker exec -d ${CONTAINER_NAME} /usr/bin/gosu ${USER_NAME} "$@" +elif [ $# -gt 0 ]; then docker exec -i ${USE_TTY} ${CONTAINER_NAME} /usr/bin/gosu ${USER_NAME} "$@" else docker exec -i ${USE_TTY} ${CONTAINER_NAME} \ diff --git a/scripts/cita b/scripts/cita index be5dd8016..a64c6df63 100755 --- a/scripts/cita +++ b/scripts/cita @@ -2,17 +2,34 @@ # -*- tab-width:4;indent-tabs-mode:nil -*- # ex: ts=4 sw=4 et +# Commands Paths +CITA_BIN="$(cd $(dirname "$0") && pwd -P)" +CITA_SCRIPTS="$(dirname $CITA_BIN)/scripts" + +if [ "$1" != "bebop" ]; then + stat $CITA_BIN/cita-env > /dev/null 2>&1 + if [ $? -eq 0 ]; then + $CITA_BIN/cita-env bin/cita bebop $@ + else + echo -e "\033[0;31mPlease run this command after build 🎨" + echo -e "\033[0;32mRun \`cita bebop\` to preview help! 🎸 \033[0m\n" + fi + exit 0 +fi + +# Delete the verbose parameters +set -- "${@:2}" + # Exit immediately if a command exits with a non-zero status set -e # Add cita scripts into system executable paths -export PATH=$PATH:$(cd $(dirname "$0")/../bin; pwd) - +export PATH=$CITA_BIN:$PATH SERVICES=( forever auth bft chain executor jsonrpc network ) SCRIPT=`basename $0` COMMAND=$1 NODE_NAME=$2 -NODE_PATH="$(pwd)/${NODE_NAME}" +NODE_PATH="$(dirname $CITA_BIN)/${NODE_NAME}" NODE_LOGS_DIR="${NODE_PATH}/logs" NODE_DATA_DIR="${NODE_PATH}/data" TNODE=`echo ${NODE_NAME} | sed 's/\//%2f/g'` @@ -32,73 +49,67 @@ usage() { cat < [options] where is one of the following: - { help | setup | start | stop | restart | ping - top | backup | clean | logs | logrotate } - + { help | create | port | setup | start | stop | restart + ping | top | backup | clean | logs | logrotate } Run \`$SCRIPT help\` for more detailed information. - EOF } +# INFORMATIONAL COMMANDS help() { cat < [options] This is the primary script for controlling the $SCRIPT node. - INFORMATIONAL COMMANDS help You are here. - + BUILDING COMMANDS + create + Creates blockchains according to the following config, + use "cita create -h" to get more information. + "cita-config" has the same function. + port + Sets docker port, for example: "cita port 1337:1337" SERVICE CONTROL COMMANDS setup Ensuring the required runtime environment for $SCRIPT node, like RabbitMQ service. You should run this command at the first time of running $SCRIPT node. - start Starts the $SCRIPT node in the background. If the node is already started, you will get the message "Node is already running!" If the node is not already running, no output will be given. - stop [debug] [mock] Stops the running $SCRIPT node. Prints "ok" when successful. When the node is already stopped or not responding, prints: "Node 'NODE_NAME' not responding to pings." - restart Stops and then starts the running $SCRIPT node. Prints "ok" when successful. When the node is already stopped or not responding, prints: "Node 'NODE_NAME' not responding to pings." - DIAGNOSTIC COMMANDS ping Checks that the $SCRIPT node is running. Prints "pong" when successful. When the node is stopped or not responding, prints: "Node 'NODE_NAME' not responding to pings." - top Prints services processes information similar to the information provided by the \`top\` command. - stat (deprecated, use 'top' instead) - logs Fetch the logs of the specified service. - SCRIPTING COMMANDS backup Backup the node's data and logs into backup directory, which actually copy that data and logs into backup directory. Prints the specified backup commands. When the node is running, prints: "Node is already running!" - clean Clean the node's data and logs, which actually move that data and logs into backup directory. Prints the specified backup commands. When the node is running, prints: "Node is already running!" - logrotate Archives the current node logs, starts fresh logs. Prints the archived logs path. @@ -106,6 +117,14 @@ EOF } + +# BUILDING COMMANDS +create() { + $CITA_SCRIPTS/create_cita_config.py $@ +} + + +# SERVICE CONTROL COMMANDS start_rabbitmq() { # Config and start RabbitMQ if [[ `uname` == 'Darwin' ]] @@ -176,6 +195,7 @@ core_executor=${debug},engine=${debug},jsonrpc_types=${debug},libproto=${debug}, sleep 1 do_ping if [ "${PING_STATUS}" == "pong" ]; then + echo "start...ok" exit 0 fi done @@ -195,9 +215,11 @@ do_stop() { exit 1 fi - echo "ok" + echo "stop...ok" } + +# DIAGNOSTIC COMMANDS PING_STATUS="" do_ping() { for service in forever; do @@ -233,6 +255,8 @@ do_status() { done } + +# SCRIPTING COMMANDS do_clean() { # Clean empty node always successfully if [[ ! -d ${NODE_DATA_DIR} || ! -d ${NODE_LOGS_DIR} ]]; then @@ -336,14 +360,26 @@ node_up_check() { fi } +# Commands not depend on $NODE_PATH +case "${COMMAND}" in + help) + help + exit 0 + ;; + + usage) + usage + exit 0 + ;; + + create) + create $@ + exit 0 + ;; -if [ "${COMMAND}" = "help" ]; then - help - exit 0 -elif [ "${COMMAND}" = "usage" ]; then - usage - exit 0 -elif [ $# -lt 2 ]; then +esac + +if [ $# -lt 2 ]; then usage exit 1 fi @@ -361,7 +397,6 @@ fi pushd . > /dev/null cd ${NODE_PATH} -# Check the ${COMMAND} for instructions case "${COMMAND}" in setup) do_setup @@ -437,6 +472,7 @@ case "${COMMAND}" in help) help ;; + *) usage ;; @@ -444,4 +480,3 @@ esac popd > /dev/null exit 0 - diff --git a/scripts/cita_config.sh b/scripts/cita_config.sh new file mode 100755 index 000000000..64e826011 --- /dev/null +++ b/scripts/cita_config.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +# Enviroments +CITA_BIN=$(realpath $(dirnamme $0)) +CITA_SCRIPTS=$(dirname $CITA_BIN)/scripts + +# Wrap the create script. +if [ -e $CITA_SCRIPTS/create_cita_config.py ]; then + $CITA_SCRIPTS/create_cita_config.py $@ +else + echo -e "\033[0;31mPlease run this command after build 🎨" diff --git a/scripts/daemon.sh b/scripts/daemon.sh deleted file mode 100755 index 9e1addf6d..000000000 --- a/scripts/daemon.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env bash - -DOCKER_IMAGE="cita/cita-run:ubuntu-18.04-20181009" - -if [[ `uname` == 'Darwin' ]] -then - cp /etc/localtime $PWD/localtime - LOCALTIME_PATH="$PWD/localtime" -else - LOCALTIME_PATH="/etc/localtime" -fi - -docker_bin=$(which docker) -if [ -z "${docker_bin}" ]; then - echo "Command not found, install docker first." - exit 1 -else - docker version > /dev/null 2>&1 - if [ $? -ne 0 ]; then - echo "Run docker version failed, Maybe docker service not running or current user not in docker user group." - exit 2 - fi -fi - -RELEASE_DIR=`pwd` -CONTAINER_NAME="cita_run${RELEASE_DIR//\//_}" -WORKDIR=/opt/cita-run -USER_ID=`id -u $USER` -USER_NAME="user" - -if [ "${USER_ID}" = "0" ]; then - USER_NAME="root" -fi - -docker ps | grep ${CONTAINER_NAME} > /dev/null 2>&1 -if [ $? -ne 0 ]; then - echo "Start docker container ${CONTAINER_NAME} ..." - docker rm ${CONTAINER_NAME} > /dev/null 2>&1 - docker run -d \ - --net=host \ - --volume ${RELEASE_DIR}:${WORKDIR} \ - --volume ${LOCALTIME_PATH}:/etc/localtime \ - --env USER_ID=${USER_ID} \ - --workdir ${WORKDIR} \ - --name ${CONTAINER_NAME} ${DOCKER_IMAGE} \ - /bin/bash -c "while true;do sleep 100;done" - # Wait entrypoint.sh to finish - sleep 3 -fi - -docker exec -d ${CONTAINER_NAME} /usr/bin/gosu ${USER_NAME} "$@" diff --git a/scripts/env.sh b/scripts/env.sh deleted file mode 100755 index a4c34ae1f..000000000 --- a/scripts/env.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/usr/bin/env bash - -DOCKER_IMAGE="cita/cita-run:ubuntu-18.04-20181009" -if [[ `uname` == 'Darwin' ]] -then - cp /etc/localtime $PWD/localtime - LOCALTIME_PATH="$PWD/localtime" -else - LOCALTIME_PATH="/etc/localtime" -fi - -docker_bin=$(which docker) -if [ -z "${docker_bin}" ]; then - echo "Command not found, install docker first." - exit 1 -else - docker version > /dev/null 2>&1 - if [ $? -ne 0 ]; then - echo "Run docker version failed, Maybe docker service not running or current user not in docker user group." - exit 2 - fi -fi - -RELEASE_DIR=`pwd` -CONTAINER_NAME="cita_run${RELEASE_DIR//\//_}" -WORKDIR=/opt/cita-run -USER_ID=`id -u $USER` -USER_NAME="user" - -if [ "${USER_ID}" = "0" ]; then - USER_NAME="root" -fi - -docker ps | grep ${CONTAINER_NAME} > /dev/null 2>&1 -if [ $? -ne 0 ]; then - echo "Start docker container ${CONTAINER_NAME} ..." - docker rm ${CONTAINER_NAME} > /dev/null 2>&1 - docker run -d \ - --net=host \ - --volume ${RELEASE_DIR}:${WORKDIR} \ - --volume ${LOCALTIME_PATH}:/etc/localtime \ - --env USER_ID=${USER_ID} \ - --workdir ${WORKDIR} \ - --name ${CONTAINER_NAME} ${DOCKER_IMAGE} \ - /bin/bash -c "while true;do sleep 100;done" - # Wait entrypoint.sh to finish - sleep 3 -fi - -test -t 1 && USE_TTY="-t" - -if [ $# -gt 0 ]; then - docker exec -i ${USE_TTY} ${CONTAINER_NAME} /usr/bin/gosu ${USER_NAME} "$@" -else - docker exec -i ${USE_TTY} ${CONTAINER_NAME} \ - /bin/bash -c "stty cols $(tput cols) rows $(tput lines) && /usr/bin/gosu ${USER_NAME} /bin/bash" -fi diff --git a/scripts/release.sh b/scripts/release.sh index bd6b53db4..a91f0b087 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -13,6 +13,7 @@ if [ $# -ne 1 ] ; then echo "usage: $0 debug|release" exit 1 fi + type=$1 # 0) setup @@ -41,7 +42,7 @@ done #strip target/install/bin/* # 2) cita -cp -rf scripts/cita target/install/bin/ +cp -rf scripts/cita target/install/bin/ # 3) contract cp -rf scripts/contracts target/install/scripts/ @@ -54,9 +55,15 @@ cp -f scripts/create_cita_config.py target/install/scripts/ cp -rf scripts/txtool target/install/scripts/ # 6) docker env -cp -f scripts/env.sh target/install/ -cp -f scripts/daemon.sh target/install/ +cp -f env.sh target/install/bin/cita-env +cp -f scripts/cita_config.sh target/install/bin/cita-config # 7) amend info of system contract cp -f scripts/amend_system_contracts.sh target/install/scripts/ cp -f scripts/amend_system_contracts.py target/install/scripts/ + +# 8) delete building container +docker container stop cita_build_container > /dev/null 2>&1 +docker container rm cita_build_container > /dev/null 2>&1 + +exit 0 diff --git a/tests/integrate_test/cita_amend_test.sh b/tests/integrate_test/cita_amend_test.sh index cb5dccf00..440fdf17c 100755 --- a/tests/integrate_test/cita_amend_test.sh +++ b/tests/integrate_test/cita_amend_test.sh @@ -35,8 +35,8 @@ echo "DONE" ################################################################################ echo "3) Run node-0" -${BINARY_DIR}/bin/cita setup ${CHAIN_NAME}/0 > /dev/null -${BINARY_DIR}/bin/cita start ${CHAIN_NAME}/0 trace +${BINARY_DIR}/bin/cita bebop setup ${CHAIN_NAME}/0 > /dev/null +${BINARY_DIR}/bin/cita bebop start ${CHAIN_NAME}/0 trace echo "DONE" sleep 10 @@ -129,7 +129,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"getCode","params":["0xffffffffff ################################################################################ echo "9) Clean Up ..." cd ${BINARY_DIR} -${BINARY_DIR}/bin/cita stop ${CHAIN_NAME}/0 +${BINARY_DIR}/bin/cita bebop stop ${CHAIN_NAME}/0 cleanup echo "DONE" diff --git a/tests/integrate_test/cita_basic.sh b/tests/integrate_test/cita_basic.sh index f80f785d3..f9dd6e7bd 100755 --- a/tests/integrate_test/cita_basic.sh +++ b/tests/integrate_test/cita_basic.sh @@ -32,10 +32,10 @@ echo "DONE" ################################################################################ echo -n "3) start nodes ... " for i in {0..3} ; do - bin/cita setup node/$i > /dev/null + bin/cita bebop setup node/$i > /dev/null done for i in {0..3} ; do - bin/cita start node/$i trace > /dev/null & + bin/cita bebop start node/$i trace > /dev/null & done echo "DONE" @@ -50,7 +50,7 @@ echo "${timeout}s DONE" ################################################################################ echo -n "5) stop node3, check height growth ... " -bin/cita stop node/3 > /dev/null +bin/cita bebop stop node/3 > /dev/null timeout=$(check_height_growth_normal 0 15) || (echo "FAILED" echo "error msg: ${timeout}" exit 1) @@ -58,7 +58,7 @@ echo "${timeout}s DONE" ################################################################################ echo -n "6) stop node2, check height stopped ... " -bin/cita stop node/2 > /dev/null +bin/cita bebop stop node/2 > /dev/null timeout=$(check_height_stopped 0 27) || (echo "FAILED" echo "error msg: ${timeout}" exit 1) @@ -66,7 +66,7 @@ echo "${timeout}s DONE" ################################################################################ echo -n "7) start node2, check height growth ... " -bin/cita start node/2 trace > /dev/null & +bin/cita bebop start node/2 trace > /dev/null & sleep 24 #wait for recovery from stop timeout=$(check_height_growth_normal 0 15) || (echo "FAILED" echo "error msg: ${timeout}" @@ -81,7 +81,7 @@ if [ $? -ne 0 ] ; then echo "failed to get_height: ${node0_height}" exit 1 fi -bin/cita start node/3 trace > /dev/null & +bin/cita bebop start node/3 trace > /dev/null & timeout=$(check_height_sync 3 0) || (echo "FAILED" echo "error msg: ${timeout}" exit 1) @@ -95,11 +95,11 @@ if [ $? -ne 0 ] ; then exit 1 fi for i in {0..3}; do - bin/cita stop node/$i > /dev/null + bin/cita bebop stop node/$i > /dev/null done # sleep 1 # TODO: change to this value will produce very different result for i in {0..3}; do - bin/cita start node/$i trace > /dev/null & + bin/cita bebop start node/$i trace > /dev/null & done timeout=$(check_height_growth_normal 0 300) || (echo "FAILED" @@ -116,9 +116,9 @@ echo "${timeout}s DONE" ################################################################################ echo -n "10) stop&clean node3, check height synch after restart ... " -bin/cita stop node/3 > /dev/null -bin/cita clean node/3 > /dev/null -bin/cita start node/3 trace > /dev/null & +bin/cita bebop stop node/3 > /dev/null +bin/cita bebop clean node/3 > /dev/null +bin/cita bebop start node/3 trace > /dev/null & timeout=$(check_height_sync 3 0) || (echo "FAILED" echo "error msg: ${timeout}" exit 1) diff --git a/tests/integrate_test/cita_bft_resend.sh b/tests/integrate_test/cita_bft_resend.sh index e515d34b5..544a533fc 100755 --- a/tests/integrate_test/cita_bft_resend.sh +++ b/tests/integrate_test/cita_bft_resend.sh @@ -38,10 +38,10 @@ echo "DONE" ################################################################################ echo "3) Start CITA components manually" -${BINARY_DIR}/bin/cita setup ${CHAIN_NAME}/0 -${BINARY_DIR}/bin/cita start ${CHAIN_NAME}/0 trace +${BINARY_DIR}/bin/cita bebop setup ${CHAIN_NAME}/0 +${BINARY_DIR}/bin/cita bebop start ${CHAIN_NAME}/0 trace sleep 3 -${BINARY_DIR}/bin/cita stop ${CHAIN_NAME}/0 +${BINARY_DIR}/bin/cita bebop stop ${CHAIN_NAME}/0 cd ${CHAIN_NAME}/0 ${BINARY_DIR}/bin/cita-auth -c auth.toml & auth_pid=$! @@ -68,7 +68,7 @@ echo "5) Restart CITA" kill ${auth_pid} ${bft_pid} ${jsonrpc_pid} ${network_pid} cd ${BINARY_DIR} -${BINARY_DIR}/bin/cita start ${CHAIN_NAME}/0 trace +${BINARY_DIR}/bin/cita bebop start ${CHAIN_NAME}/0 trace wait_timeout=30 timeout=`check_height_growth_normal 0 $wait_timeout` || (echo "FAILED" diff --git a/tests/integrate_test/cita_byzantinetest.sh b/tests/integrate_test/cita_byzantinetest.sh index 251bbb73d..bd87b8e52 100755 --- a/tests/integrate_test/cita_byzantinetest.sh +++ b/tests/integrate_test/cita_byzantinetest.sh @@ -39,10 +39,10 @@ echo "DONE" ################################################################################ echo -n "3) start nodes ... " for i in {0..3} ; do - bin/cita setup node/$i > /dev/null + bin/cita bebop setup node/$i > /dev/null done for i in {0..3} ; do - bin/cita start node/$i debug > /dev/null & + bin/cita bebop start node/$i debug > /dev/null & done echo "DONE" diff --git a/tests/integrate_test/cita_charge_mode.sh b/tests/integrate_test/cita_charge_mode.sh index 65b8c4b02..8e887a740 100755 --- a/tests/integrate_test/cita_charge_mode.sh +++ b/tests/integrate_test/cita_charge_mode.sh @@ -37,10 +37,10 @@ echo "DONE" ################################################################################ echo -n "3) start nodes ... " for i in {0..3} ; do - ./bin/cita setup node/$i > /dev/null + ./bin/cita bebop setup node/$i > /dev/null done for i in {0..3} ; do - ./bin/cita start node/$i trace > /dev/null & + ./bin/cita bebop start node/$i trace > /dev/null & done echo "DONE" @@ -120,7 +120,7 @@ echo "DONE" ################################################################################ echo -n "11) stop nodes ... " for i in {0..3} ; do - ./bin/cita stop node/$i > /dev/null + ./bin/cita bebop stop node/$i > /dev/null done echo "DONE" diff --git a/tests/integrate_test/cita_crosschain.sh b/tests/integrate_test/cita_crosschain.sh index a7116c256..5e303e569 100755 --- a/tests/integrate_test/cita_crosschain.sh +++ b/tests/integrate_test/cita_crosschain.sh @@ -112,11 +112,11 @@ function start_chain () { local size=$2 title "Start chain [${chain}] ..." for ((id=0;id<${size};id++)); do - bin/cita setup ${chain}chain/${id} && true + bin/cita bebop setup ${chain}chain/${id} && true done for ((id=0;id<${size};id++)); do - bin/cita stop ${chain}chain/${id}>/dev/null 2>&1 || true - bin/cita start ${chain}chain/${id} trace>/dev/null 2>&1 + bin/cita bebop stop ${chain}chain/${id}>/dev/null 2>&1 || true + bin/cita bebop start ${chain}chain/${id} trace>/dev/null 2>&1 done } @@ -125,7 +125,7 @@ function stop_chain () { local size=$2 title "Stop chain [${chain}] ..." for ((id=0;id<${size};id++)); do - bin/cita stop ${chain}chain/${id} + bin/cita bebop stop ${chain}chain/${id} done } diff --git a/tests/integrate_test/cita_jsonrpc_schema_mock.sh b/tests/integrate_test/cita_jsonrpc_schema_mock.sh index 534bb0f3e..b868cd38a 100755 --- a/tests/integrate_test/cita_jsonrpc_schema_mock.sh +++ b/tests/integrate_test/cita_jsonrpc_schema_mock.sh @@ -47,8 +47,8 @@ echo "DONE" ################################################################################ echo -n "3) just start mock-chain/0 ... " -${BINARY_DIR}/bin/cita setup mock-chain/0 > /dev/null -${BINARY_DIR}/bin/cita start mock-chain/0 trace +${BINARY_DIR}/bin/cita bebop setup mock-chain/0 > /dev/null +${BINARY_DIR}/bin/cita bebop start mock-chain/0 trace echo "DONE" ################################################################################ @@ -67,7 +67,7 @@ echo "DONE" ################################################################################ echo -n "6) stop mock-chain/0 ... " -${BINARY_DIR}/bin/cita stop mock-chain/0 +${BINARY_DIR}/bin/cita bebop stop mock-chain/0 echo "DONE" ################################################################################ diff --git a/tests/integrate_test/cita_snapshot_test.sh b/tests/integrate_test/cita_snapshot_test.sh index 4fd8170ee..dadf013cd 100755 --- a/tests/integrate_test/cita_snapshot_test.sh +++ b/tests/integrate_test/cita_snapshot_test.sh @@ -39,10 +39,10 @@ echo "DONE" ################################################################################ echo "3) Run node-0, node-1, node-2" for id in {0,1,2}; do - ${BINARY_DIR}/bin/cita setup ${CHAIN_NAME}/${id} > /dev/null + ${BINARY_DIR}/bin/cita bebop setup ${CHAIN_NAME}/${id} > /dev/null done for id in {0,1,2}; do - ${BINARY_DIR}/bin/cita start ${CHAIN_NAME}/${id} trace + ${BINARY_DIR}/bin/cita bebop start ${CHAIN_NAME}/${id} trace done echo "DONE" @@ -60,8 +60,8 @@ echo "${timeout}s DONE" ################################################################################ echo "5) Stop node-1 and node-2, so that node-0 cannot grow up via cita-consensus and cita-sync mechanisms" -${BINARY_DIR}/bin/cita stop ${CHAIN_NAME}/1 -${BINARY_DIR}/bin/cita stop ${CHAIN_NAME}/2 +${BINARY_DIR}/bin/cita bebop stop ${CHAIN_NAME}/1 +${BINARY_DIR}/bin/cita bebop stop ${CHAIN_NAME}/2 # Ensure that the current round of BFT has been finished. So that node-0 will # not continue growing up, which means its height stay the same. @@ -116,8 +116,8 @@ echo "DONE" ################################################################################ echo "8) Start node-1 and node-2 and check all grow up ..." -${BINARY_DIR}/bin/cita start ${CHAIN_NAME}/1 trace -${BINARY_DIR}/bin/cita start ${CHAIN_NAME}/2 trace +${BINARY_DIR}/bin/cita bebop start ${CHAIN_NAME}/1 trace +${BINARY_DIR}/bin/cita bebop start ${CHAIN_NAME}/2 trace wait_timeout=30 timeout=`check_height_growth_normal 1 $wait_timeout` || (echo "FAILED" @@ -131,7 +131,7 @@ echo "DONE" ################################################################################ echo "9) Clean Up ..." for id in {0,1,2}; do - ${BINARY_DIR}/bin/cita stop ${CHAIN_NAME}/${id} + ${BINARY_DIR}/bin/cita bebop stop ${CHAIN_NAME}/${id} done cleanup diff --git a/tests/integrate_test/cita_tls_basic.sh b/tests/integrate_test/cita_tls_basic.sh index a609286b0..b3ba7fb4f 100755 --- a/tests/integrate_test/cita_tls_basic.sh +++ b/tests/integrate_test/cita_tls_basic.sh @@ -33,10 +33,10 @@ echo "DONE" ################################################################################ echo -n "3) start nodes ... " for i in {0..3} ; do - bin/cita setup node/$i > /dev/null + bin/cita bebop setup node/$i > /dev/null done for i in {0..3} ; do - bin/cita start node/$i trace > /dev/null & + bin/cita bebop start node/$i trace > /dev/null & done echo "DONE" @@ -51,7 +51,7 @@ echo "${timeout}s DONE" ################################################################################ echo -n "5) stop node3, check height growth ... " -bin/cita stop node/3 > /dev/null +bin/cita bebop stop node/3 > /dev/null timeout=$(check_height_growth_normal 0 15) || (echo "FAILED" echo "error msg: ${timeout}" exit 1) @@ -59,7 +59,7 @@ echo "${timeout}s DONE" ################################################################################ echo -n "6) stop node2, check height stopped ... " -bin/cita stop node/2 > /dev/null +bin/cita bebop stop node/2 > /dev/null timeout=$(check_height_stopped 0 27) || (echo "FAILED" echo "error msg: ${timeout}" exit 1) @@ -67,7 +67,7 @@ echo "${timeout}s DONE" ################################################################################ echo -n "7) start node2, check height growth ... " -bin/cita start node/2 trace > /dev/null & +bin/cita bebop start node/2 trace > /dev/null & sleep 24 #wait for recovery from stop timeout=$(check_height_growth_normal 0 15) || (echo "FAILED" echo "error msg: ${timeout}" @@ -82,7 +82,7 @@ if [ $? -ne 0 ] ; then echo "failed to get_height: ${node0_height}" exit 1 fi -bin/cita start node/3 trace > /dev/null & +bin/cita bebop start node/3 trace > /dev/null & timeout=$(check_height_sync 3 0) || (echo "FAILED" echo "error msg: ${timeout}" exit 1) @@ -96,11 +96,11 @@ if [ $? -ne 0 ] ; then exit 1 fi for i in {0..3}; do - bin/cita stop node/$i > /dev/null + bin/cita bebop stop node/$i > /dev/null done # sleep 1 # TODO: change to this value will produce very different result for i in {0..3}; do - bin/cita start node/$i trace > /dev/null & + bin/cita bebop start node/$i trace > /dev/null & done timeout=$(check_height_growth_normal 0 300) || (echo "FAILED" @@ -117,9 +117,9 @@ echo "${timeout}s DONE" ################################################################################ echo -n "10) stop&clean node3, check height synch after restart ... " -bin/cita stop node/3 > /dev/null -bin/cita clean node/3 > /dev/null -bin/cita start node/3 trace > /dev/null & +bin/cita bebop stop node/3 > /dev/null +bin/cita bebop clean node/3 > /dev/null +bin/cita bebop start node/3 trace > /dev/null & timeout=$(check_height_sync 3 0) || (echo "FAILED" echo "error msg: ${timeout}" exit 1) diff --git a/tests/integrate_test/robustness_test.py b/tests/integrate_test/robustness_test.py index f76036652..fecf237f8 100755 --- a/tests/integrate_test/robustness_test.py +++ b/tests/integrate_test/robustness_test.py @@ -35,9 +35,9 @@ def start(node_number, log_level=""): log_level: str """ for i in range(node_number + 1): - p = run_subprocess(f'bin/cita setup node/{i}') + p = run_subprocess(f'bin/cita bebop setup node/{i}') p.wait() - run_subprocess(f'bin/cita start node/{i} {log_level}') + run_subprocess(f'bin/cita bebop start node/{i} {log_level}') def stop(node_number): @@ -45,7 +45,7 @@ def stop(node_number): node_number: int """ for i in range(node_number + 1): - p = run_subprocess(f'bin/cita stop node/{i}') + p = run_subprocess(f'bin/cita bebop stop node/{i}') p.wait() From c23de9911b47b31d2331e3cc8022378f36ff8ad4 Mon Sep 17 00:00:00 2001 From: ouwenkg <2630582710@qq.com> Date: Wed, 27 Mar 2019 13:55:58 +0800 Subject: [PATCH 30/96] add test submodule --- .gitmodules | 3 +++ tests/jsondata | 1 + 2 files changed, 4 insertions(+) create mode 160000 tests/jsondata diff --git a/.gitmodules b/.gitmodules index 62372f3cb..1b45d684d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -19,3 +19,6 @@ path = scripts/config_tool/genesis url = https://github.com/cryptape/genesis.git branch = v0.22.0 +[submodule "tests/jsondata"] + path = tests/jsondata + url = https://github.com/ethereum/tests.git diff --git a/tests/jsondata b/tests/jsondata new file mode 160000 index 000000000..ebb2dc8c6 --- /dev/null +++ b/tests/jsondata @@ -0,0 +1 @@ +Subproject commit ebb2dc8c6a4c5bebce6479cebc9a9c9f77200e92 From 9c05aa8396e6ecbc1a35f1049e3492d3a863b40c Mon Sep 17 00:00:00 2001 From: ouwenkg <2630582710@qq.com> Date: Wed, 27 Mar 2019 19:08:45 +0800 Subject: [PATCH 31/96] add vm test --- Cargo.lock | 53 +++++++- Cargo.toml | 1 + cita-executor/evm/src/fake_tests.rs | 7 +- cita-executor/evm/src/lib.rs | 2 +- tests/vm_test/Cargo.toml | 14 +++ tests/vm_test/src/helper.rs | 43 +++++++ tests/vm_test/src/json.rs | 187 ++++++++++++++++++++++++++++ tests/vm_test/src/main.rs | 102 +++++++++++++++ 8 files changed, 401 insertions(+), 8 deletions(-) create mode 100644 tests/vm_test/Cargo.toml create mode 100644 tests/vm_test/src/helper.rs create mode 100644 tests/vm_test/src/json.rs create mode 100644 tests/vm_test/src/main.rs diff --git a/Cargo.lock b/Cargo.lock index 0424b3c30..5e38df8fd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1300,7 +1300,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types-serialize 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types-serialize 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "fixed-hash 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1321,16 +1321,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "ethbloom 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types-serialize 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types-serialize 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "fixed-hash 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "uint 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "ethereum-types" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "ethbloom 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types-serialize 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "fixed-hash 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "uint 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "ethereum-types-serialize" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2876,6 +2889,11 @@ name = "rustc-hex" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "rustc-hex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "rustc-serialize" version = "0.3.24" @@ -3715,6 +3733,17 @@ dependencies = [ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "uint" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "unicase" version = "2.2.0" @@ -3851,6 +3880,19 @@ name = "version_check" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "vm_test" +version = "0.1.0" +dependencies = [ + "core-executor 0.1.0", + "ethereum-types 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "evm 0.1.0", + "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "void" version = "1.0.2" @@ -4101,7 +4143,8 @@ dependencies = [ "checksum ethbloom 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1a93a43ce2e9f09071449da36bfa7a1b20b950ee344b6904ff23de493b03b386" "checksum ethcore-bloom-journal 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)" = "" "checksum ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c48729b8aea8aedb12cf4cb2e5cef439fdfe2dda4a89e47eeebd15778ef53b6" -"checksum ethereum-types-serialize 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ac59a21a9ce98e188f3dace9eb67a6c4a3c67ec7fbc7218cb827852679dc002" +"checksum ethereum-types 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6e742184dc63a01c8ea0637369f8faa27c40f537949908a237f95c05e68d2c96" +"checksum ethereum-types-serialize 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1873d77b32bc1891a79dad925f2acbc318ee942b38b9110f9dbc5fbeffcea350" "checksum failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6dd377bcc1b1b7ce911967e3ec24fa19c3224394ec05b54aa7b083d498341ac7" "checksum failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "64c2d913fe8ed3b6c6518eedf4538255b989945c14c2a7d5cbff62a5e2120596" "checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" @@ -4266,6 +4309,7 @@ dependencies = [ "checksum rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)" = "f76d05d3993fd5f4af9434e8e436db163a12a9d40e1a58a726f27a01dfd12a2a" "checksum rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "bcfe5b13211b4d78e5c2cadfebd7769197d95c639c35a50057eb4c05de811395" "checksum rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0ceb8ce7a5e520de349e1fa172baeba4a9e8d5ef06c47471863530bc4972ee1e" +"checksum rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "403bb3a286107a04825a5f82e1270acc1e14028d3d554d7a1e08914549575ab8" "checksum rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)" = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda" "checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" "checksum ryu 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7153dd96dade874ab973e098cb62fcdbb89a03682e46b144fd09550998d4a4a7" @@ -4353,6 +4397,7 @@ dependencies = [ "checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169" "checksum ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd2be2d6639d0f8fe6cdda291ad456e23629558d466e2789d2c3e9892bda285d" "checksum uint 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "38051a96565903d81c9a9210ce11076b2218f3b352926baa1f5f6abbdfce8273" +"checksum uint 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "754ba11732b9161b94c41798e5197e5e75388d012f760c42adb5000353e98646" "checksum unicase 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9d3218ea14b4edcaccfa0df0a64a3792a2c32cc706f1b336e48867f9d3147f90" "checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" "checksum unicode-normalization 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6a0180bc61fc5a987082bfa111f4cc95c4caff7f9799f3e46df09163a937aa25" diff --git a/Cargo.toml b/Cargo.toml index 973f13036..7878f3409 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,6 +13,7 @@ members = ["cita-auth" ,"tests/consensus-mock" ,"tests/chain_performance_by_mq" ,"tests/box_executor" +,"tests/vm_test" ] [profile.bench] diff --git a/cita-executor/evm/src/fake_tests.rs b/cita-executor/evm/src/fake_tests.rs index 579804799..276fdca8c 100644 --- a/cita-executor/evm/src/fake_tests.rs +++ b/cita-executor/evm/src/fake_tests.rs @@ -58,7 +58,7 @@ pub struct FakeExt { pub blockhashes: HashMap, pub codes: HashMap>, pub logs: Vec, - pub _suicides: HashSet
, + pub suicides: HashSet
, pub info: EnvInfo, pub schedule: Schedule, pub balances: HashMap, @@ -106,7 +106,7 @@ impl Ext for FakeExt { } fn origin_balance(&self) -> error::Result { - unimplemented!() + Ok(U256::from(0)) } fn balance(&self, address: &Address) -> error::Result { @@ -178,7 +178,8 @@ impl Ext for FakeExt { } fn suicide(&mut self, _refund_address: &Address) -> error::Result<()> { - unimplemented!(); + self.suicides.insert(_refund_address.clone()); + Ok(()) } fn schedule(&self) -> &Schedule { diff --git a/cita-executor/evm/src/lib.rs b/cita-executor/evm/src/lib.rs index a11cb67d9..ed6e4fa48 100644 --- a/cita-executor/evm/src/lib.rs +++ b/cita-executor/evm/src/lib.rs @@ -17,7 +17,7 @@ //! Ethereum virtual machine. extern crate bit_set; -extern crate cita_types; +pub extern crate cita_types; extern crate common_types as types; extern crate db as cita_db; extern crate hashable; diff --git a/tests/vm_test/Cargo.toml b/tests/vm_test/Cargo.toml new file mode 100644 index 000000000..01764c246 --- /dev/null +++ b/tests/vm_test/Cargo.toml @@ -0,0 +1,14 @@ +[package] +name = "vm_test" +version = "0.1.0" +authors = ["Cryptape Technologies "] + +[dependencies] +ethereum-types = "0.4.0" +serde = "1.0" +serde_derive = "1.0" +serde_json = "1.0" +hex = "0.3" + +core-executor = { path="../../cita-executor/core"} +evm = { path="../../cita-executor/evm"} diff --git a/tests/vm_test/src/helper.rs b/tests/vm_test/src/helper.rs new file mode 100644 index 000000000..227f720a2 --- /dev/null +++ b/tests/vm_test/src/helper.rs @@ -0,0 +1,43 @@ +use evm::cita_types::{Address, H256, U256}; + +pub fn clean_0x(s: &str) -> &str { + if s.starts_with("0x") { + &s[2..] + } else { + s + } +} + +pub fn string_2_u256(value: String) -> U256 { + let v = Box::leak(value.into_boxed_str()); + let v = clean_0x(v); + U256::from(v) +} + +pub fn string_2_h256(value: String) -> H256 { + let v = Box::leak(value.into_boxed_str()); + let v = clean_0x(v); + if v.len() < 64 { + let mut s = String::from("0").repeat(64 - v.len()); + s.push_str(v); + let s: &'static str = Box::leak(s.into_boxed_str()); + return H256::from(s); + } + H256::from(v) +} + +pub fn string_2_bytes(value: String) -> Vec { + let v = Box::leak(value.into_boxed_str()); + let v = clean_0x(v); + hex::decode(v).unwrap() +} + +#[allow(dead_code)] +pub fn string_2_address(value: String) -> Address { + if value.is_empty() { + return Address::zero(); + } + let v = Box::leak(value.into_boxed_str()); + let v = clean_0x(v); + Address::from(v) +} diff --git a/tests/vm_test/src/json.rs b/tests/vm_test/src/json.rs new file mode 100644 index 000000000..7bf3a924e --- /dev/null +++ b/tests/vm_test/src/json.rs @@ -0,0 +1,187 @@ +extern crate evm; +extern crate serde_derive; + +use self::evm::cita_types::Address; +use self::serde_derive::Deserialize; +use std::collections::BTreeMap; +use std::io::Read; + +#[derive(Debug, PartialEq, Deserialize)] +pub struct Test(BTreeMap); + +impl IntoIterator for Test { + type Item = as IntoIterator>::Item; + type IntoIter = as IntoIterator>::IntoIter; + + fn into_iter(self) -> Self::IntoIter { + self.0.into_iter() + } +} + +impl Test { + pub fn load(reader: R) -> Result + where + R: Read, + { + serde_json::from_reader(reader) + } +} + +#[derive(Debug, PartialEq, Deserialize)] +pub struct Vm { + #[serde(rename = "callcreates")] + pub call_creates: Option>, + + #[serde(rename = "env")] + pub env: Env, + + #[serde(rename = "exec")] + pub exec: Exec, + + #[serde(rename = "gas")] + pub gas: Option, + + #[serde(rename = "logs")] + pub logs: Option, + + #[serde(rename = "out")] + pub out: Option, + + #[serde(rename = "post")] + pub post: Option, + + #[serde(rename = "pre")] + pub pre: Option, +} + +#[derive(Debug, PartialEq, Deserialize)] +pub struct Callcreates {} + +#[derive(Debug, PartialEq, Deserialize)] +pub struct Env { + #[serde(rename = "currentCoinbase")] + pub current_coinbase: Address, + + #[serde(rename = "currentDifficulty")] + pub current_difficulty: String, + + #[serde(rename = "currentGasLimit")] + pub current_gas_limit: String, + + #[serde(rename = "currentNumber")] + pub current_number: String, + + #[serde(rename = "currentTimestamp")] + pub current_timestamp: String, +} + +#[derive(Debug, PartialEq, Deserialize)] +pub struct Exec { + #[serde(rename = "address")] + pub address: Address, + + #[serde(rename = "caller")] + pub caller: Address, + + #[serde(rename = "code")] + pub code: String, + + #[serde(rename = "data")] + pub data: String, + + #[serde(rename = "gas")] + pub gas: String, + + #[serde(rename = "gasPrice")] + pub gas_price: String, + + #[serde(rename = "origin")] + pub origin: Address, + + #[serde(rename = "value")] + pub value: String, +} + +#[derive(Debug, PartialEq, Deserialize, Clone)] +pub struct Account { + pub balance: String, + pub code: String, + pub nonce: String, + pub storage: BTreeMap, +} + +#[derive(Debug, PartialEq, Deserialize, Clone)] +pub struct State(BTreeMap); + +impl IntoIterator for State { + type Item = as IntoIterator>::Item; + type IntoIter = as IntoIterator>::IntoIter; + + fn into_iter(self) -> Self::IntoIter { + self.0.into_iter() + } +} + +#[cfg(test)] +mod tests { + use super::*; + use std::fs; + + #[test] + fn test_json_tests_parse() { + let f = fs::File::open("../jsondata/VMTests/vmArithmeticTest/add0.json").unwrap(); + let t = Test::load(f).unwrap(); + assert!(t.0.contains_key("add0")); + let v = &t.0["add0"]; + + assert_eq!( + v.env.current_coinbase, + Address::from("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + ); + assert_eq!(v.env.current_difficulty, String::from("0x0100")); + assert_eq!(v.env.current_gas_limit, String::from("0x0f4240")); + assert_eq!(v.env.current_number, String::from("0x00")); + assert_eq!(v.env.current_timestamp, String::from("0x01")); + + assert_eq!( + v.exec.address, + Address::from("0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6") + ); + assert_eq!( + v.exec.caller, + Address::from("0xcd1722f2947def4cf144679da39c4c32bdc35681") + ); + assert_eq!(v.exec.data, String::from("0x")); + assert_eq!(v.exec.gas, String::from("0x0186a0")); + assert_eq!(v.exec.gas_price, String::from("0x5af3107a4000")); + assert_eq!( + v.exec.origin, + Address::from("0xcd1722f2947def4cf144679da39c4c32bdc35681") + ); + assert_eq!(v.exec.value, String::from("0x0de0b6b3a7640000")); + + assert_eq!(v.gas, Some(String::from("0x013874"))); + assert_eq!( + v.logs, + Some(String::from( + "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + )) + ); + assert_eq!(v.out, Some(String::from("0x"))); + + if let Some(data) = &v.post { + let post_account = + &data.0[&Address::from("0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6")]; + assert_eq!(post_account.balance, String::from("0x0de0b6b3a7640000")); + assert_eq!( + post_account.storage[&String::from("0x00")], + String::from("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe") + ) + } + + if let Some(data) = &v.pre { + let pre_account = &data.0[&Address::from("0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6")]; + assert_eq!(pre_account.balance, String::from("0x0de0b6b3a7640000")); + } + } +} diff --git a/tests/vm_test/src/main.rs b/tests/vm_test/src/main.rs new file mode 100644 index 000000000..5b571c78f --- /dev/null +++ b/tests/vm_test/src/main.rs @@ -0,0 +1,102 @@ +extern crate core_executor; +extern crate evm; + +mod helper; +mod json; + +use evm::action_params::{ActionParams, ActionValue}; +use evm::env_info::EnvInfo; +use evm::factory::{Factory, VMType}; +use evm::fake_tests::FakeExt; +use evm::return_data::GasLeft; +use evm::Ext; +use helper::{string_2_bytes, string_2_h256, string_2_u256}; +use std::fs; +use std::str; +use std::sync::Arc; + +fn test_json_file(p: &str) { + println!("{}", p); + let f = fs::File::open(p).unwrap(); + let tests = json::Test::load(f).unwrap(); + for (_name, vm) in tests.into_iter() { + // Step one: Init params, env_info + let mut params = ActionParams::default(); + params.address = vm.exec.address; + params.sender = vm.exec.caller; + params.code = Some(Arc::new(string_2_bytes(vm.exec.code))); + params.data = Some(string_2_bytes(vm.exec.data)); + params.gas = string_2_u256(vm.exec.gas); + params.gas_price = string_2_u256(vm.exec.gas_price); + params.origin = vm.exec.origin; + params.value = ActionValue::Apparent(string_2_u256(vm.exec.value)); + + let mut env_info = EnvInfo::default(); + env_info.difficulty = string_2_u256(vm.env.current_difficulty); + env_info.number = string_2_u256(vm.env.current_number).low_u64(); + env_info.timestamp = string_2_u256(vm.env.current_timestamp).low_u64(); + env_info.gas_limit = string_2_u256(vm.env.current_gas_limit); + env_info.author = vm.env.current_coinbase; + + // Step two: Vm exec process + let factory = Factory::new(VMType::Interpreter, 1024 * 32); + let mut evm = factory.create(params.gas); + let mut ext = FakeExt::new(); + ext.info = env_info; + + if let Some(pre) = vm.pre { + for (_address, account) in pre.into_iter() { + for (k, v) in account.storage { + ext.set_storage(string_2_h256(k), string_2_h256(v)) + .expect("Init pre state failed."); + } + } + } + + match evm.exec(¶ms, &mut ext) { + Ok(GasLeft::Known(gas_left)) => assert_eq!(gas_left, string_2_u256(vm.gas.unwrap())), + Ok(GasLeft::NeedsReturn { gas_left, data, .. }) => { + assert_eq!(gas_left, string_2_u256(vm.gas.unwrap())); + assert_eq!((*data).to_vec(), string_2_bytes(vm.out.unwrap())); + } + Err(_) => assert!(vm.gas.is_none() && vm.post.is_none() && vm.logs.is_none()), + } + + if let Some(post) = vm.post { + for (_address, account) in post.into_iter() { + for (k, v) in account.storage { + if let Ok(value) = ext.storage_at(&string_2_h256(k)) { + assert_eq!(value, string_2_h256(v)); + } + } + } + } + } +} + +fn test_json_path(p: &str) { + let info = fs::metadata(p).unwrap(); + if info.is_dir() { + for entry in fs::read_dir(p).unwrap() { + let entry = entry.unwrap(); + let p = entry.path(); + test_json_path(p.to_str().unwrap()); + } + } else { + test_json_file(p); + } +} + +fn main() { + test_json_path(r"./tests/jsondata/VMTests/vmArithmeticTest"); + test_json_path(r"./tests/jsondata/VMTests/vmBitwiseLogicOperation"); + test_json_path(r"./tests/jsondata/VMTests/vmBlockInfoTest"); + test_json_path(r"./tests/jsondata/VMTests/vmEnvironmentalInfo"); + test_json_path(r"./tests/jsondata/VMTests/vmIOandFlowOperations"); + test_json_path(r"./tests/jsondata/VMTests/vmLogTest"); + test_json_path(r"./tests/jsondata/VMTests/vmRandomTest"); + test_json_path(r"./tests/jsondata/VMTests/vmSha3Test"); + test_json_path(r"./tests/jsondata/VMTests/vmPushDupSwapTest"); + test_json_path(r"./tests/jsondata/VMTests/vmSystemOperations"); + test_json_path(r"./tests/jsondata/VMTests/vmTests"); +} From a5a1d41f1f6fc1fad90469748b662967593ec06f Mon Sep 17 00:00:00 2001 From: ouwenkg <2630582710@qq.com> Date: Mon, 1 Apr 2019 14:56:18 +0800 Subject: [PATCH 32/96] add vm test readme --- tests/vm_test/README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 tests/vm_test/README.md diff --git a/tests/vm_test/README.md b/tests/vm_test/README.md new file mode 100644 index 000000000..1a157058c --- /dev/null +++ b/tests/vm_test/README.md @@ -0,0 +1,12 @@ +# Vm Test + +Test the cita vm using [Tests](https://github.com/ethereum/tests/blob/develop/VMTests/) + + +## Usage + +```sh +$ cd cita + +$ RUST_BACKTRACE=1 cargo run --bin vm_test +``` From 5df437406fe4c885cbc3554004b254570b12b8c1 Mon Sep 17 00:00:00 2001 From: Boyu Yang Date: Tue, 2 Apr 2019 11:48:50 +0800 Subject: [PATCH 33/96] Since ustc crates source is not stable, we use the official source as default. --- env.sh | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/env.sh b/env.sh index 83c79b791..3d3636ff1 100755 --- a/env.sh +++ b/env.sh @@ -33,13 +33,7 @@ DOCKER_CARGO=${HOME}/.docker_cargo mkdir -p ${DOCKER_CARGO}/git mkdir -p ${DOCKER_CARGO}/registry -timeout=3 -target=www.google.com -ret_code=`curl -I -s --connect-timeout $timeout $target -w %{http_code} | tail -n1` -if [ "x$ret_code" != "x200" ]; then - INIT_CMD="echo -e '[source.crates-io]\nregistry = \"https://github.com/rust-lang/crates.io-index\"\nreplace-with = \"ustc\"\n[source.ustc]\nregistry = \"https://mirrors.ustc.edu.cn/crates.io-index\"' | sudo tee /opt/.cargo/config;" -fi -INIT_CMD="${INIT_CMD} while true; do sleep 100;done" +INIT_CMD="sleep infinity" # Port condition EXPOSE="1337:1337" From 1860429bea7bae984e541b627209236180e42826 Mon Sep 17 00:00:00 2001 From: Boyu Yang Date: Tue, 2 Apr 2019 20:08:04 +0800 Subject: [PATCH 34/96] Redirect the stdout and stderr for daemon processes in docker. Fix: `docker exec -it` will hang if there is any daemon process which hold the `stdout`. --- env.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/env.sh b/env.sh index 3d3636ff1..d11dfbbb4 100755 --- a/env.sh +++ b/env.sh @@ -76,7 +76,7 @@ test -t 1 && USE_TTY="-t" # Condition `daemon` to run daemon. if [ "$3" == "--daemon" ]; then set "${@:1:2}" "${@:4}" - docker exec -d ${CONTAINER_NAME} /usr/bin/gosu ${USER_NAME} "$@" + docker exec -d ${CONTAINER_NAME} /bin/bash -c "/usr/bin/gosu ${USER_NAME} $* >/dev/null 2>&1" elif [ $# -gt 0 ]; then docker exec -i ${USE_TTY} ${CONTAINER_NAME} /usr/bin/gosu ${USER_NAME} "$@" else From af4431cd6ebcebf927dcdb68154de510c0452da9 Mon Sep 17 00:00:00 2001 From: yubo Date: Wed, 3 Apr 2019 10:47:27 +0800 Subject: [PATCH 35/96] use new bft version --- cita-bft | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cita-bft b/cita-bft index cf04a185f..a131d2b7b 160000 --- a/cita-bft +++ b/cita-bft @@ -1 +1 @@ -Subproject commit cf04a185fe4928abb5e97ee5f0362fab00264e50 +Subproject commit a131d2b7b61788edbf825684c3faeb4be2289710 From 355d1f30270dbab8e4d6b612205c401fd7f79e29 Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Wed, 3 Apr 2019 14:00:10 +0800 Subject: [PATCH 36/96] Fix whitespace. --- CONTRIBUTING.md | 24 ++++++++++----------- PULL_REQUEST_TEMPLATE.md | 2 +- cita-executor/core/src/snapshot/README.md | 8 +++---- scripts/cita | 8 +++---- scripts/txtool/requirements_sudo.sh | 2 +- scripts/txtool/txtool/config/logging.yml | 2 +- scripts/txtool/txtool/solidity/ParaType.sol | 12 +++++------ scripts/txtool/txtool/solidity/test.sol | 4 ++-- tests/chain_performance_by_mq/README.md | 4 ++-- tests/integrate_test/cita_datasynctest.sh | 6 +++--- tests/integrate_test/test_fee_back.py | 8 +++---- tests/integrate_test/update_version.py | 8 +++---- 12 files changed, 44 insertions(+), 44 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7962b8b61..2cb52c62d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,7 +2,7 @@ First off, thanks for taking the time to contribute! -The following is a set of guidelines for contributing to CITA and its packages. These are mostly guidelines, not rules. Use your best judgement, and feel free to propose changes to this document in a pull request. +The following is a set of guidelines for contributing to CITA and its packages. These are mostly guidelines, not rules. Use your best judgement, and feel free to propose changes to this document in a pull request. ## Table of Contents @@ -91,7 +91,7 @@ Here we use [rustdoc](https://doc.rust-lang.org/book/first-edition/documentation Documents are essential parts to communicate with our users. We need to make our documents well-structured and readable. Everyone who contributes to the documents should have a **strong responsibility** for creating the great experience. -- Everyone who modifies the documents needs to visualize the documents before making a pull request, in case there are some mistakes. +- Everyone who modifies the documents needs to visualize the documents before making a pull request, in case there are some mistakes. - Separate Chinese and English characters by a blank space. [Chinese Version Only] - Normally we need to add a blank space before the first character of English words and after the last character of English words. @@ -99,32 +99,32 @@ Documents are essential parts to communicate with our users. We need to make our - If the character after the last character of English words is punctuation mark, then we don’t need to add a blank space. Example: - + - Bad Style: - + 我们采用 CITA 作为我们的blockchain基础设施服务。 - + - Good Style: - + 我们采用 CITA 作为我们的 blockchain 基础设施服务。 - Separate Chinese characters and numbers by a blank space. [Chinese Version Only] - Detailed rules are same as above. Example: - + - Bad Style: - + CITA 的速度超乎想象,比我用过的其他10几个区块链服务都要快。 - + - Good Style: CITA 的速度超乎想象,比我用过的其他 10 几个区块链服务都要快。 - + - Please do remember to indent the contents below any ordered list or unordered list. Example: - + ![Bad Style](https://ws4.sinaimg.cn/large/006tKfTcly1frtlvhnbfdj31kw0zkjvu.jpg) - + ![Good Style](https://ws3.sinaimg.cn/large/006tKfTcly1frtlwl2hq9j31kw0zktd5.jpg) diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md index 978d3d7e5..fa5395146 100644 --- a/PULL_REQUEST_TEMPLATE.md +++ b/PULL_REQUEST_TEMPLATE.md @@ -4,7 +4,7 @@ - Filling out the template is required. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion. - All new codes require tests to ensure against regressions. -### Templates +### Templates #### Description of the Change #### Alternate Design diff --git a/cita-executor/core/src/snapshot/README.md b/cita-executor/core/src/snapshot/README.md index 2a15be460..9dbf57b15 100644 --- a/cita-executor/core/src/snapshot/README.md +++ b/cita-executor/core/src/snapshot/README.md @@ -2,7 +2,7 @@ 快照含三部分: block chunks, state chunks, 及manifest. -每个chunk是snappy压缩后的hash. 压缩前的chunks大小为`CHUNK_SIZE`,目前默认4MB. +每个chunk是snappy压缩后的hash. 压缩前的chunks大小为`CHUNK_SIZE`,目前默认4MB. 这里的数据结构都需进行RLP编码。 @@ -30,14 +30,14 @@ hash: B_32, // chunk中的第一个区块hash [abridged_1: AB, receipts_1: RC], // 第一个block及receipts的RLP编码(区块连续) [abridged_2: AB, receipts_2: RC], // 第二个block及receipts的RLP编码 - [abridged_3: AB, receipts_3: RC], // ... + [abridged_3: AB, receipts_3: RC], // ... ... ] ``` # 状态chunks(State Chunks) -State chunks存储给定区块的状态. +State chunks存储给定区块的状态. 每个chunk由list集合构成,每个list含两项:地址的`sha3` hash,及相应的账户结构(ACC). @@ -53,4 +53,4 @@ State chunks存储给定区块的状态. storage: [[keyhash1: B_32, val1: B_32], [keyhash2: B_32, val2: B_32], ...] ] ``` -`storage` 为账户storage的RLP list, 每个元素含两项:`sha3(key)`, 及storage值. +`storage` 为账户storage的RLP list, 每个元素含两项:`sha3(key)`, 及storage值. diff --git a/scripts/cita b/scripts/cita index a64c6df63..470aa499c 100755 --- a/scripts/cita +++ b/scripts/cita @@ -66,8 +66,8 @@ This is the primary script for controlling the $SCRIPT node. You are here. BUILDING COMMANDS create - Creates blockchains according to the following config, - use "cita create -h" to get more information. + Creates blockchains according to the following config, + use "cita create -h" to get more information. "cita-config" has the same function. port Sets docker port, for example: "cita port 1337:1337" @@ -366,7 +366,7 @@ case "${COMMAND}" in help exit 0 ;; - + usage) usage exit 0 @@ -378,7 +378,7 @@ case "${COMMAND}" in ;; esac - + if [ $# -lt 2 ]; then usage exit 1 diff --git a/scripts/txtool/requirements_sudo.sh b/scripts/txtool/requirements_sudo.sh index f4104f2b3..288c8671d 100644 --- a/scripts/txtool/requirements_sudo.sh +++ b/scripts/txtool/requirements_sudo.sh @@ -1,2 +1,2 @@ -sudo apt-get install openssl +sudo apt-get install openssl sudo apt-get install libyaml-dev diff --git a/scripts/txtool/txtool/config/logging.yml b/scripts/txtool/txtool/config/logging.yml index 4349e8f07..b66a72a4a 100644 --- a/scripts/txtool/txtool/config/logging.yml +++ b/scripts/txtool/txtool/config/logging.yml @@ -5,7 +5,7 @@ formatters: handlers: console: class: logging.FileHandler - level: INFO + level: INFO formatter: simple filename: info.log console_debug: diff --git a/scripts/txtool/txtool/solidity/ParaType.sol b/scripts/txtool/txtool/solidity/ParaType.sol index 355c7afdd..9d17a2a3a 100644 --- a/scripts/txtool/txtool/solidity/ParaType.sol +++ b/scripts/txtool/txtool/solidity/ParaType.sol @@ -35,12 +35,12 @@ contract ParaType { event LogError(uint code, string message); event LogCreate(address contractAddr); - + function ParaType(){ _addr = msg.sender; LogCreate(this); } - + function setUint(uint u, uint8 u8, uint16 u16, uint32 u32, uint256 u256){ _u = u; _u8 = u8; @@ -71,19 +71,19 @@ contract ParaType { _b=b; LogError(0, 'setBool'); } - + function setNotConstant(){ _notConsB = _b; _constantStr = "NotConstant"; LogError(0, 'setNotConstant'); } - + function getNotConstant() returns (bool b,string constantStr){ _notConsB = false; _constantStr = "NotConstant function"; return (_notConsB,_constantStr); } - + function getConstant() constant returns (bool b,string constantStr){ return (_notConsB,_constantStr); } @@ -134,4 +134,4 @@ contract ParaType { function getEnum() constant returns(Order){ return(order); } -} \ No newline at end of file +} diff --git a/scripts/txtool/txtool/solidity/test.sol b/scripts/txtool/txtool/solidity/test.sol index 4d8652127..9b086c502 100644 --- a/scripts/txtool/txtool/solidity/test.sol +++ b/scripts/txtool/txtool/solidity/test.sol @@ -4,12 +4,12 @@ contract SimpleStorage { uint storedData; event Init(address, uint); event Set(address, uint); - + function SimpleStorage() { storedData = 100; Init(msg.sender, 100); } - + event Stored(uint); function set(uint x) { diff --git a/tests/chain_performance_by_mq/README.md b/tests/chain_performance_by_mq/README.md index 9164b8d40..ab2e529d9 100644 --- a/tests/chain_performance_by_mq/README.md +++ b/tests/chain_performance_by_mq/README.md @@ -21,9 +21,9 @@ solc Test.sol --bin-runtime --hashes ======= Test.sol:Test ======= -Binary: +Binary: 606060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680634f2be91f146044575b600080fd5b3415604e57600080fd5b60546056565b005b6001600054016000819055505600a165627a7a723058207085dc709915ad41cb41e400b83bd863a24143dfb48c10bc007a07b3a7c160cd0029 -Function signatures: +Function signatures: 4f2be91f: add() ``` diff --git a/tests/integrate_test/cita_datasynctest.sh b/tests/integrate_test/cita_datasynctest.sh index aaa60fd89..6383dbb7d 100755 --- a/tests/integrate_test/cita_datasynctest.sh +++ b/tests/integrate_test/cita_datasynctest.sh @@ -17,7 +17,7 @@ get_height(){ fi h=`${CUR_PATH}/blockNumber.sh 127.0.0.1 $((1337+${nodeid}))` h=$(echo $h | sed 's/\"//g') - echo $((h)) + echo $((h)) } COUNT=$1 @@ -48,7 +48,7 @@ done echo "###start node3" start_node3 -start=$(date +%s) +start=$(date +%s) num_3=$(get_height 3) @@ -63,4 +63,4 @@ time=$((end - start)) echo "Syn $COUNT block spent time:$time" -${CUR_PATH}/cita_stop.sh \ No newline at end of file +${CUR_PATH}/cita_stop.sh diff --git a/tests/integrate_test/test_fee_back.py b/tests/integrate_test/test_fee_back.py index a8944c5db..743b0ac41 100644 --- a/tests/integrate_test/test_fee_back.py +++ b/tests/integrate_test/test_fee_back.py @@ -17,11 +17,11 @@ def send_tx(privkey, code="", version=LATEST_VERSION): """ Send a transaction - python3 make_tx.py - --privkey "5f0258a4778057a8a7d97809bd209055b2fbafa654ce7d31ec7191066b9225e6" - --code "" + python3 make_tx.py + --privkey "5f0258a4778057a8a7d97809bd209055b2fbafa654ce7d31ec7191066b9225e6" + --code "" - python3 send_tx.py + python3 send_tx.py """ kwargs = { diff --git a/tests/integrate_test/update_version.py b/tests/integrate_test/update_version.py index 594b834a5..c69031a40 100644 --- a/tests/integrate_test/update_version.py +++ b/tests/integrate_test/update_version.py @@ -16,11 +16,11 @@ def send_tx(privkey, code="", version=LATEST_VERSION): """ Send a transaction - python3 make_tx.py - --privkey "5f0258a4778057a8a7d97809bd209055b2fbafa654ce7d31ec7191066b9225e6" - --code "" + python3 make_tx.py + --privkey "5f0258a4778057a8a7d97809bd209055b2fbafa654ce7d31ec7191066b9225e6" + --code "" - python3 send_tx.py + python3 send_tx.py """ version_manager = "ffffffffffffffffffffffffffffffffff020011" From f172c1d1bb5b95647a08053ef5b5e821a8fe7c03 Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Wed, 3 Apr 2019 18:24:01 +0800 Subject: [PATCH 37/96] :scroll: Add editorconfig file. [skip ci] --- .editorconfig | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..5d775e495 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,38 @@ +# EditorConfig is awesome: https://EditorConfig.org + +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true +# Set default charset +charset = utf-8 +indent_style = space +indent_size = 4 + +# Follow https://github.com/rust-dev-tools/fmt-rfcs/blob/master/guide/guide.md +[*.rs] +indent_style = space +indent_size = 4 +max_line_length = 100 + +# Matches multiple files with brace expansion notation +[*.{json,py,md,markdown}] +indent_style = space +indent_size = 4 + +[Makefile] +indent_style = tab +indent_size = 4 + +[*.yml] +indent_style = space +indent_size = 2 + +# Indentation override for all JS under scripts directory +[scripts/**.js] +indent_style = space +indent_size = 2 From 2c69c451116b6bd87cd6a4ec07b5f5aec2eee488 Mon Sep 17 00:00:00 2001 From: yubo Date: Thu, 4 Apr 2019 15:51:56 +0800 Subject: [PATCH 38/96] use new bft --- cita-bft | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cita-bft b/cita-bft index a131d2b7b..8ace80204 160000 --- a/cita-bft +++ b/cita-bft @@ -1 +1 @@ -Subproject commit a131d2b7b61788edbf825684c3faeb4be2289710 +Subproject commit 8ace8020470ae9c016275fb03445e31da83e6677 From e76f5c4ee3440ebbd247f998b245c2d039d9d45d Mon Sep 17 00:00:00 2001 From: leeyr Date: Mon, 1 Apr 2019 16:15:47 +0800 Subject: [PATCH 39/96] Add JSON-RPC method: peersInfo --- Cargo.lock | 64 ++++++++++++++++---------------- cita-chain/src/forward.rs | 7 ++-- cita-jsonrpc/src/helper.rs | 1 + cita-jsonrpc/src/main.rs | 1 + cita-network/Cargo.toml | 2 + cita-network/src/main.rs | 3 +- cita-network/src/mq_agent.rs | 1 + cita-network/src/network.rs | 55 ++++++++++++++++++++++++++- cita-network/src/node_manager.rs | 37 ++++++++++++++++++ 9 files changed, 135 insertions(+), 36 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5e38df8fd..736f11c23 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -125,7 +125,7 @@ dependencies = [ [[package]] name = "authority_manage" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -265,7 +265,7 @@ dependencies = [ [[package]] name = "blake2b" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "cc 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -514,7 +514,7 @@ dependencies = [ [[package]] name = "cita-crypto" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "cita-crypto-trait 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-ed25519 0.6.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -525,7 +525,7 @@ dependencies = [ [[package]] name = "cita-crypto-trait" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", ] @@ -533,7 +533,7 @@ dependencies = [ [[package]] name = "cita-directories" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "uuid 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -541,7 +541,7 @@ dependencies = [ [[package]] name = "cita-ed25519" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-crypto-trait 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -636,7 +636,7 @@ dependencies = [ [[package]] name = "cita-merklehash" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "hashable 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -657,12 +657,14 @@ dependencies = [ "dotenv 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", + "jsonrpc-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "libproto 0.6.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "logger 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "pubsub 0.6.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)", "tempfile 3.0.7 (registry+https://github.com/rust-lang/crates.io-index)", "tentacle 0.1.0 (git+https://github.com/nervosnetwork/p2p.git?rev=562adc40e374be4ae1776bb38b070688c24e37d3)", "tokio 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", @@ -693,7 +695,7 @@ dependencies = [ [[package]] name = "cita-secp256k1" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-crypto-trait 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -710,7 +712,7 @@ dependencies = [ [[package]] name = "cita-sm2" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "cita-crypto-trait 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -724,7 +726,7 @@ dependencies = [ [[package]] name = "cita-types" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "plain_hasher 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1111,7 +1113,7 @@ dependencies = [ [[package]] name = "db" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "elastic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1197,7 +1199,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "engine" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "cita-crypto 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1248,7 +1250,7 @@ dependencies = [ [[package]] name = "error" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" [[package]] name = "error-chain" @@ -1309,7 +1311,7 @@ dependencies = [ [[package]] name = "ethcore-bloom-journal" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "siphasher 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1545,7 +1547,7 @@ dependencies = [ [[package]] name = "hashable" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "blake2b 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1709,7 +1711,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "jsonrpc-proto" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1726,7 +1728,7 @@ dependencies = [ [[package]] name = "jsonrpc-types" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1740,7 +1742,7 @@ dependencies = [ [[package]] name = "jsonrpc-types-internals" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1822,7 +1824,7 @@ dependencies = [ [[package]] name = "libproto" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "cita-crypto 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-merklehash 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1965,7 +1967,7 @@ dependencies = [ [[package]] name = "logger" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-channel 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2315,7 +2317,7 @@ dependencies = [ [[package]] name = "panic_hook" version = "0.0.1" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "logger 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2454,7 +2456,7 @@ dependencies = [ [[package]] name = "proof" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-crypto 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2482,7 +2484,7 @@ dependencies = [ [[package]] name = "pubsub" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "dotenv 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "pubsub_kafka 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2493,7 +2495,7 @@ dependencies = [ [[package]] name = "pubsub_kafka" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2505,7 +2507,7 @@ dependencies = [ [[package]] name = "pubsub_rabbitmq" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "amqp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2514,7 +2516,7 @@ dependencies = [ [[package]] name = "pubsub_zeromq" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "logger 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2849,7 +2851,7 @@ dependencies = [ [[package]] name = "rlp" version = "0.2.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2861,7 +2863,7 @@ dependencies = [ [[package]] name = "rlp_derive" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", "syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3054,7 +3056,7 @@ dependencies = [ [[package]] name = "snappy" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "libc 0.2.46 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3696,7 +3698,7 @@ dependencies = [ [[package]] name = "tx_pool" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "cita-crypto 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -3838,7 +3840,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "util" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#be421a9c4a69456cf8b830c6ab63d63448163873" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" dependencies = [ "ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", diff --git a/cita-chain/src/forward.rs b/cita-chain/src/forward.rs index f1220b08f..4b9ca5660 100644 --- a/cita-chain/src/forward.rs +++ b/cita-chain/src/forward.rs @@ -352,9 +352,6 @@ impl Forward { error!("Get messages which should not handle by this function!"); } - Request::peercount(_) | Request::un_tx(_) | Request::software_version(_) => { - error!("Get messages which should sent to other micro services!"); - } Request::storage_key(skey) => { trace!("storage key info is {:?}", skey); self.ctx_pub @@ -362,6 +359,10 @@ impl Forward { .unwrap(); return; } + + _ => { + error!("Get messages which should sent to other micro services!"); + } }; let msg: Message = response.into(); self.ctx_pub diff --git a/cita-jsonrpc/src/helper.rs b/cita-jsonrpc/src/helper.rs index 916b0f652..ba7782ba7 100644 --- a/cita-jsonrpc/src/helper.rs +++ b/cita-jsonrpc/src/helper.rs @@ -39,6 +39,7 @@ pub type ReqSender = Mutex>; pub fn select_topic(method: &str) -> String { match method { "peerCount" => routing_key!(Jsonrpc >> RequestNet).into(), + "peersInfo" => routing_key!(Jsonrpc >> RequestPeersInfo).into(), "sendRawTransaction" | "sendTransaction" => routing_key!(Jsonrpc >> RequestNewTx).into(), "getVersion" => routing_key!(Jsonrpc >> RequestRpc).into(), _ => routing_key!(Jsonrpc >> Request).into(), diff --git a/cita-jsonrpc/src/main.rs b/cita-jsonrpc/src/main.rs index 432cfbdcb..a181697e6 100644 --- a/cita-jsonrpc/src/main.rs +++ b/cita-jsonrpc/src/main.rs @@ -38,6 +38,7 @@ //! | jsonrpc | Jsonrpc | Auth | RequestNewTxBatch | //! | jsonrpc | Jsonrpc | Chain | Request | //! | jsonrpc | Jsonrpc | Net | RequestNet | +//! | jsonrpc | jsonrpc | Net | RequestPeersInfo | //! //! ### Key behavior //! diff --git a/cita-network/Cargo.toml b/cita-network/Cargo.toml index 9f53683d2..4ff7fe5e7 100644 --- a/cita-network/Cargo.toml +++ b/cita-network/Cargo.toml @@ -15,7 +15,9 @@ util = { git = "https://github.com/cryptape/cita-common.git", branch = "develop" libproto = { git = "https://github.com/cryptape/cita-common.git", branch = "develop" } pubsub = { git = "https://github.com/cryptape/cita-common.git", branch = "develop" } logger = { git = "https://github.com/cryptape/cita-common.git", branch = "develop" } +jsonrpc-types = { git = "https://github.com/cryptape/cita-common.git", branch = "develop" } serde = "1.0.84" +serde_json = "1.0" serde_derive = "1.0.84" clap = "2.32" bytes = "0.4" diff --git a/cita-network/src/main.rs b/cita-network/src/main.rs index 8cf5aa2fa..ffdb128eb 100644 --- a/cita-network/src/main.rs +++ b/cita-network/src/main.rs @@ -31,7 +31,8 @@ //! | network_consensus | Consensus | RawBytes | //! | network | Chain | Status | //! | network | Chain | SyncResponse | -//! | network | Jonsonrpc | RequestNet | +//! | network | Jsonrpc | RequestNet | +//! | network | Jsonrpc | RequestPeersInfo | //! | network | Auth | GetBlockTxn | //! | network | Auth | BlockTxn | //! diff --git a/cita-network/src/mq_agent.rs b/cita-network/src/mq_agent.rs index c27a89251..40cbaa75f 100644 --- a/cita-network/src/mq_agent.rs +++ b/cita-network/src/mq_agent.rs @@ -69,6 +69,7 @@ impl MqAgent { Chain >> Status, Chain >> SyncResponse, Jsonrpc >> RequestNet, + Jsonrpc >> RequestPeersInfo, Snapshot >> SnapshotReq ]), ctx_sub_other_modules, diff --git a/cita-network/src/network.rs b/cita-network/src/network.rs index 9b2963eb4..7d58a7ae7 100644 --- a/cita-network/src/network.rs +++ b/cita-network/src/network.rs @@ -16,8 +16,12 @@ // along with this program. If not, see . use crate::mq_agent::{MqAgentClient, PubMessage}; -use crate::node_manager::{BroadcastReq, GetPeerCountReq, NodesManagerClient, SingleTxReq}; +use crate::node_manager::{ + BroadcastReq, GetPeerCountReq, GetPeersInfoReq, NodesManagerClient, SingleTxReq, +}; use crate::synchronizer::{SynchronizerClient, SynchronizerMessage}; +use jsonrpc_types::rpc_types::PeersInfo; +use jsonrpc_types::ErrorCode; use libproto::router::{MsgType, RoutingKey, SubModules}; use libproto::routing_key; use libproto::snapshot::{Cmd, Resp, SnapshotResp}; @@ -25,6 +29,7 @@ use libproto::{Message as ProtoMessage, OperateType, Response}; use libproto::{TryFrom, TryInto}; use logger::{error, info, trace, warn}; use pubsub::channel::{unbounded, Receiver, Sender}; +use serde_json; use std::sync::atomic::{AtomicBool, Ordering}; use std::sync::Arc; @@ -143,6 +148,9 @@ impl LocalMessage { routing_key!(Jsonrpc >> RequestNet) => { self.reply_rpc(&self.data, service); } + routing_key!(Jsonrpc >> RequestPeersInfo) => { + self.reply_peers_info(&self.data, service); + } routing_key!(Snapshot >> SnapshotReq) => { info!("[Network] Set disconnect and response"); self.snapshot_req(&self.data, service); @@ -185,6 +193,51 @@ impl LocalMessage { } } + fn reply_peers_info(&self, data: &[u8], service: &mut Network) { + let mut msg = ProtoMessage::try_from(data).unwrap(); + + let req_opt = msg.take_request(); + { + if let Some(mut req) = req_opt { + // Get peer count and send back to JsonRpc from MQ + if req.has_peers_info() { + let mut response = Response::new(); + response.set_request_id(req.take_request_id()); + + let (tx, rx) = unbounded(); + service + .nodes_mgr_client + .get_peers_info(GetPeersInfoReq::new(tx)); + + // Get peers from rx channel + // FIXME: This is a block receive, double check about this + let peers = rx.recv().unwrap(); + + let peers_info = PeersInfo { + amount: peers.len() as u32, + peers: Some(peers), + error_message: None, + }; + + if let Ok(json_peers_info) = serde_json::to_value(peers_info) { + response.set_peers_info(json_peers_info.to_string()); + } else { + response.set_code(ErrorCode::InternalError.code()); + response.set_error_msg(ErrorCode::InternalError.description()); + } + + let msg: ProtoMessage = response.into(); + service.mq_client.send_peer_count(PubMessage::new( + routing_key!(Net >> Response).into(), + msg.try_into().unwrap(), + )); + } + } else { + warn!("[Network] Receive unexpected get peers info data"); + } + } + } + fn snapshot_req(&self, data: &[u8], service: &mut Network) { let mut msg = ProtoMessage::try_from(data).unwrap(); let req = msg.take_snapshot_req().unwrap(); diff --git a/cita-network/src/node_manager.rs b/cita-network/src/node_manager.rs index 1176cd983..5b716a5fc 100644 --- a/cita-network/src/node_manager.rs +++ b/cita-network/src/node_manager.rs @@ -384,6 +384,10 @@ impl NodesManagerClient { self.send_req(NodesManagerMessage::GetPeerCount(req)); } + pub fn get_peers_info(&self, req: GetPeersInfoReq) { + self.send_req(NodesManagerMessage::GetPeersInfo(req)); + } + pub fn network_init(&self, req: NetworkInitReq) { self.send_req(NodesManagerMessage::NetworkInit(req)); } @@ -416,6 +420,7 @@ pub enum NodesManagerMessage { AddConnectedNode(AddConnectedNodeReq), AddRepeatedNode(AddRepeatedNodeReq), ConnectedSelf(ConnectedSelfReq), + GetPeersInfo(GetPeersInfoReq), } impl NodesManagerMessage { @@ -433,6 +438,7 @@ impl NodesManagerMessage { NodesManagerMessage::AddConnectedNode(req) => req.handle(service), NodesManagerMessage::AddRepeatedNode(req) => req.handle(service), NodesManagerMessage::ConnectedSelf(req) => req.handle(service), + NodesManagerMessage::GetPeersInfo(req) => req.handle(service), } } } @@ -885,6 +891,37 @@ impl GetPeerCountReq { } } +pub struct GetPeersInfoReq { + return_channel: Sender>, +} + +impl GetPeersInfoReq { + pub fn new(return_channel: Sender>) -> Self { + GetPeersInfoReq { return_channel } + } + + pub fn handle(self, service: &mut NodesManager) { + let mut peers = HashMap::default(); + + for (key, value) in service.connected_peer_keys.iter() { + if let Some(socket_addr) = service.connected_addrs.get(&value) { + peers.insert(key.clone(), socket_addr.ip().to_string()); + } else { + warn!( + "[NodeManager] Can not get socket address for session {} from connected_addr. It must be something wrong!", + value + ); + } + } + + debug!("[NodeManager] get peers info : {:?}", peers); + + if let Err(e) = self.return_channel.try_send(peers) { + warn!("[NodeManager] Send peers info failed : {:?}", e); + } + } +} + pub struct ConnectedSelfReq { addr: SocketAddr, } From ac6fc89f95c0ec26693a1b4a1bfa50f1601b50d1 Mon Sep 17 00:00:00 2001 From: leeyr Date: Thu, 4 Apr 2019 18:10:36 +0800 Subject: [PATCH 40/96] Add test case for peersInfo --- tests/interfaces/rpc/schemas/peersInfo.json | 78 +++++++++++++++++++++ tests/interfaces/rpc/tests/peersInfo.json | 32 +++++++++ 2 files changed, 110 insertions(+) create mode 100644 tests/interfaces/rpc/schemas/peersInfo.json create mode 100644 tests/interfaces/rpc/tests/peersInfo.json diff --git a/tests/interfaces/rpc/schemas/peersInfo.json b/tests/interfaces/rpc/schemas/peersInfo.json new file mode 100644 index 000000000..3ee810209 --- /dev/null +++ b/tests/interfaces/rpc/schemas/peersInfo.json @@ -0,0 +1,78 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "peersInfo", + "description": "peersInfo JSON-RPC method request and response schema.", + "request": { + "id": "#request", + "allOf": [ + { + "$ref": "jsonrpc-request.json" + }, + { + "$ref": "peersInfo.json#/request/definitions/request-obj" + } + ], + "definitions": { + "request-obj": { + "id": "#request-obj", + "properties": { + "method": { + "type": "string", + "enum": [ + "peersInfo" + ] + }, + "params": { + "oneOf": [ + { + "type": "array", + "maxItems": 0 + } + ] + } + } + } + } + }, + "response": { + "id": "#response", + "allOf": [ + { + "$ref": "jsonrpc-response.json" + }, + { + "$ref": "peersInfo.json#/response/definitions/response-obj" + } + ], + "definitions": { + "response-obj": { + "properties": { + "result": { + "type": "object", + "properties": { + "amount": { + "type": "integer", + "description": "The amount of peers connected in this node" + }, + "peers": { + "type": "object", + "description": "The peers info, including peer address and peer ip" + }, + "errorMessage": { + "oneOf": [ + { + "type": "string", + "description": "Error message for this call" + }, + { + "type": "null" + } + ] + } + } + } + } + } + } + } +} diff --git a/tests/interfaces/rpc/tests/peersInfo.json b/tests/interfaces/rpc/tests/peersInfo.json new file mode 100644 index 000000000..0d67a6b55 --- /dev/null +++ b/tests/interfaces/rpc/tests/peersInfo.json @@ -0,0 +1,32 @@ +{ + "title": "peersInfo", + "schema": { + "$ref": "../schemas/peersInfo.json" + }, + "tests": [ + { + "title": "peersInfo success if enabled", + "request": { + "method": "peersInfo", + "params": [] + }, + "expectedResponse": { + "result": { + "amount": 0, + "peers": { + "0xd843d5b89d0fce6b9543fec3092c4ff4c3dceb23":"127.0.0.1", + "0x9136a06f379a3c457df2a97e192633c8d89b28f6":"127.0.0.1", + "0x0455dbff153d0086fae0b66bb62a037d17fa62bd":"127.0.0.1" + }, + "errorMessage": null + } + }, + "asserts": [ + { + "description": "response should not null", + "program": ".receivedResponse.result != null" + } + ] + } + ] +} From 8eea0ba41c2e91e24cd0bc97f563d6e8f2f4f877 Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Thu, 4 Apr 2019 16:35:24 +0800 Subject: [PATCH 41/96] :scroll: Add rust style guide doc. [skip ci] --- style-guide/Rust.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 style-guide/Rust.md diff --git a/style-guide/Rust.md b/style-guide/Rust.md new file mode 100644 index 000000000..1980a34bc --- /dev/null +++ b/style-guide/Rust.md @@ -0,0 +1,15 @@ +# Rust Style Guide + +Use the community-consistent formatting, check [Rust-fmt-rfcs]. +Use [rustfmt] and [clippy] as the formatting tools and use the default settings. + +----------------- + +# Rust 风格指南 + +使用社区一致的格式,参考 [Rust-fmt-rfcs]。 +使用 [rustfmt] 及 [clippy] 作为格式化工具,并使用默认配置。 + +[Rust-fmt-rfcs]: https://github.com/rust-dev-tools/fmt-rfcs/tree/master/guide +[clippy]: https://github.com/rust-lang/rust-clippy +[rustfmt]: https://github.com/rust-lang/rustfmt From 9769d7a978753961c070c8e267f528434ae13d17 Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Thu, 4 Apr 2019 20:07:01 +0800 Subject: [PATCH 42/96] :scroll: Add shell style guide doc. [skip ci] --- style-guide/Shell.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 style-guide/Shell.md diff --git a/style-guide/Shell.md b/style-guide/Shell.md new file mode 100644 index 000000000..b6bb806fa --- /dev/null +++ b/style-guide/Shell.md @@ -0,0 +1,14 @@ +# Shell Style Guide + +Refer to the [Google-Shell-Style-Guide] and gradually develop a style guide for CITA. +Use [ShellCheck] as the formatting tools and use the default settings. + +------------------ + +# Shell 风格指南 + +参考 [Google-Shell-Style-Guide],之后逐步形成适应 `CITA` 的风格指南。 +使用 [ShellCheck] 作为格式化工具,并使用默认配置。 + +[Google-Shell-Style-Guide]: https://google.github.io/styleguide/shell.xml +[ShellCheck]: https://github.com/koalaman/shellcheck From 64555cc0553ec44c741e25ef22ddb7343c0ece50 Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Thu, 4 Apr 2019 20:15:17 +0800 Subject: [PATCH 43/96] :scroll: Add solidity style guide. [skip ci] --- style-guide/Solidity.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 style-guide/Solidity.md diff --git a/style-guide/Solidity.md b/style-guide/Solidity.md new file mode 100644 index 000000000..f88083a21 --- /dev/null +++ b/style-guide/Solidity.md @@ -0,0 +1,14 @@ +# Solidity Style Guide + +Use the community-consistent formatting, check [Solidity-Style-Guide]. +Use [Ethlint] as the formatting tool and use the default settings. + +---------------------- + +# Solidity 风格指南 + +使用社区一致的格式,参考 [Solidity-Style-Guide]。 +使用 [Ethlint] 作为格式化工具,并使用默认配置。 + +[Ethlint]: https://github.com/duaraghav8/Ethlint +[Solidity-Style-Guide]: https://solidity.readthedocs.io/en/latest/style-guide.html From 17e1b52e0cb0166007bd37d879bea0b8232a0aac Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Thu, 4 Apr 2019 20:35:33 +0800 Subject: [PATCH 44/96] :scroll: Add python style guide doc. [skip ci] --- style-guide/Python.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 style-guide/Python.md diff --git a/style-guide/Python.md b/style-guide/Python.md new file mode 100644 index 000000000..62f2bc9f9 --- /dev/null +++ b/style-guide/Python.md @@ -0,0 +1,14 @@ +# Python Style Guide + +Use the community-consistent formatting, check [PEP8]. +Use [Pylint] as the formatting tools and use the default settings. + +------------------- + +# Python 风格指南 + +使用社区一致的格式,参考 [PEP8]。 +使用 [Pylint] 作为格式化工具,并使用默认配置。 + +[PEP8]: https://www.python.org/dev/peps/pep-0008/ +[Pylint]: https://github.com/PyCQA/pylint From 09059869af95a49ffb66c14c2351ba7822f7b5fa Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Thu, 4 Apr 2019 20:45:53 +0800 Subject: [PATCH 45/96] :scroll: Add javascript style guide doc. [skip ci] --- style-guide/JavaScript.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 style-guide/JavaScript.md diff --git a/style-guide/JavaScript.md b/style-guide/JavaScript.md new file mode 100644 index 000000000..17af44521 --- /dev/null +++ b/style-guide/JavaScript.md @@ -0,0 +1,14 @@ +# JavaScript Style Guide + +Refer to the [Airbnb-JavaScript] and gradually develop a style guide for CITA. +Use [ESLint] as the formatting tools and use the `airbnb-base` extend. + +------------------- + +# JavaScript 风格指南 + +参考 [Airbnb-JavaScript],之后逐步形成适应 `CITA` 的风格指南。 +使用 [ESLint] 作为格式化工具,并使用 `airbnb-base` 扩展。 + +[Airbnb-JavaScript]: https://github.com/eslint/eslint +[ESLint]: https://github.com/eslint/eslint From 0f73a19a143e70378c79a40feb90e263ece303c5 Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Fri, 5 Apr 2019 22:47:46 +0800 Subject: [PATCH 46/96] Fix the restart command [skip travis]. --- env.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/env.sh b/env.sh index d11dfbbb4..18b07daee 100755 --- a/env.sh +++ b/env.sh @@ -71,7 +71,7 @@ test -t 1 && USE_TTY="-t" # $0=`realpath`, $1="bin/cita", $2="bebop", # $3="command/--daemon", $4="config/command" # Most OS delete $0 default, some linux not. -[[ "$3" == "start" ]] && set "${@:1:2}" "--daemon" "${@:3}" +[[ "$3" == "start" ]] || [[ "$3" == "restart" ]] && set "${@:1:2}" "--daemon" "${@:3}" # Condition `daemon` to run daemon. if [ "$3" == "--daemon" ]; then From ee5fa70abd8a10fc03c336424c06a9af0d929e90 Mon Sep 17 00:00:00 2001 From: ouwenkg <2630582710@qq.com> Date: Tue, 2 Apr 2019 16:10:01 +0800 Subject: [PATCH 47/96] add state test[skip travis] --- .gitmodules | 2 +- Cargo.lock | 160 +- Cargo.toml | 1 + cita-executor/core/src/lib.rs | 4 +- cita-executor/core/src/state/mod.rs | 1 - tests/jsondata | 2 +- tests/state_test/Cargo.toml | 21 + tests/state_test/README.md | 12 + tests/state_test/src/json.rs | 159 ++ tests/state_test/src/main.rs | 3570 +++++++++++++++++++++++++++ tests/test_helper/Cargo.toml | 14 + tests/test_helper/src/helper.rs | 71 + tests/test_helper/src/lib.rs | 3 + 13 files changed, 4007 insertions(+), 13 deletions(-) create mode 100644 tests/state_test/Cargo.toml create mode 100644 tests/state_test/README.md create mode 100644 tests/state_test/src/json.rs create mode 100644 tests/state_test/src/main.rs create mode 100644 tests/test_helper/Cargo.toml create mode 100644 tests/test_helper/src/helper.rs create mode 100644 tests/test_helper/src/lib.rs diff --git a/.gitmodules b/.gitmodules index 1b45d684d..4ce30b456 100644 --- a/.gitmodules +++ b/.gitmodules @@ -21,4 +21,4 @@ branch = v0.22.0 [submodule "tests/jsondata"] path = tests/jsondata - url = https://github.com/ethereum/tests.git + url = https://github.com/cryptape/cita-testdata.git diff --git a/Cargo.lock b/Cargo.lock index 736f11c23..3200280b7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -270,6 +270,15 @@ dependencies = [ "cc 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "block-buffer" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "block-buffer" version = "0.7.0" @@ -336,6 +345,11 @@ name = "build_const" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "byte-tools" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "byte-tools" version = "0.3.1" @@ -812,6 +826,11 @@ dependencies = [ "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "constant_time_eq" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "conv" version = "0.3.3" @@ -1048,6 +1067,15 @@ name = "crunchy" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "crypto-mac" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "crypto-mac" version = "0.7.0" @@ -1136,6 +1164,14 @@ dependencies = [ "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "digest" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "digest" version = "0.8.0" @@ -1168,7 +1204,7 @@ name = "dotenv" version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "regex 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1237,6 +1273,18 @@ dependencies = [ "termcolor 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "env_logger" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "humantime 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "termcolor 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "errno" version = "0.1.8" @@ -1369,16 +1417,16 @@ dependencies = [ [[package]] name = "failure" -version = "0.1.3" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "failure_derive" -version = "0.1.3" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1473,6 +1521,15 @@ name = "gcc" version = "0.3.55" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "generic-array" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "generic-array" version = "0.12.0" @@ -1568,6 +1625,16 @@ name = "hex" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "hmac" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "crypto-mac 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "hmac" version = "0.7.0" @@ -1577,6 +1644,16 @@ dependencies = [ "digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "hmac-drbg" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", + "hmac 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "http" version = "0.1.13" @@ -1841,6 +1918,19 @@ dependencies = [ "tls-api 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "libsecp256k1" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hmac-drbg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "sha2 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "libsm" version = "0.3.0" @@ -3001,6 +3091,18 @@ name = "sha1" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "sha2" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "block-buffer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "sha2" version = "0.8.0" @@ -3106,6 +3208,25 @@ name = "stable_deref_trait" version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "state_test" +version = "0.1.0" +dependencies = [ + "core-executor 0.1.0", + "env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "evm 0.1.0", + "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libproto 0.6.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", + "libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)", + "test_helper 0.1.0", + "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "static_merkle_tree" version = "0.1.1" @@ -3274,6 +3395,18 @@ dependencies = [ "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "test_helper" +version = "0.1.0" +dependencies = [ + "core-executor 0.1.0", + "ethereum-types 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "evm 0.1.0", + "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "textwrap" version = "0.10.0" @@ -3645,7 +3778,7 @@ dependencies = [ "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "data-encoding 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "data-encoding-macro 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3663,7 +3796,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "data-encoding 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4073,12 +4206,14 @@ dependencies = [ "checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12" "checksum blake2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "91721a6330935673395a0607df4d49a9cb90ae12d259f1b3e0a3f6e1d486872e" "checksum blake2b 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)" = "" +"checksum block-buffer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1339a1042f5d9f295737ad4d9a6ab6bf81c84a933dba110b9200cd6d1448b814" "checksum block-buffer 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49665c62e0e700857531fa5d3763e91b539ff1abeebd56808d378b495870d60d" "checksum block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1c924d49bd09e7c06003acda26cd9742e796e34282ec6c1189404dee0c1f4774" "checksum block-padding 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d75255892aeb580d3c566f213a2b6fdc1c66667839f45719ee1d30ebf2aea591" "checksum bloomchain 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "287682df405691af68c8d53f2e212a1beb4b18b94ede06587eda2965a4b9e708" "checksum bs58 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0de79cfb98e7aa9988188784d8664b4b5dad6eaaa0863b91d9a4ed871d4f7a42" "checksum build_const 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "39092a32794787acd8525ee150305ff051b0aa6cc2abaf193924f5ab05425f39" +"checksum byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "560c32574a12a89ecd91f5e742165893f86e3ab98d21f8ea548658eb9eef5f40" "checksum byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" "checksum byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0fc10e8cc6b2580fda3f36eb6dc5316657f812a3df879a44a66fc9f0fdbc4855" "checksum byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a019b10a2a7cdeb292db131fc8113e57ea2a908f6e7894b0c3c671893b65dbeb" @@ -4099,6 +4234,7 @@ dependencies = [ "checksum clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e" "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" "checksum cmake 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)" = "6ec65ee4f9c9d16f335091d23693457ed4928657ba4982289d7fafee03bc614a" +"checksum constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8ff012e225ce166d4422e0e78419d901719760f62ae2b7969ca6b564d1b54a9e" "checksum conv 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "78ff10625fd0ac447827aa30ea8b861fead473bb60aeb73af6c1c58caf0d1299" "checksum cpuprofiler 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "33f07976bb6821459632d7a18d97ccca005cb5c552f251f822c7c1781c1d7035" "checksum crc 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d663548de7f5cca343f1e0a48d14dcfb0e9eb4e079ec58883b7251539fa10aeb" @@ -4115,6 +4251,7 @@ dependencies = [ "checksum crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "677d453a17e8bd2b913fa38e8b9cf04bcdbb5be790aa294f2389661d72036015" "checksum crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f8306fcef4a7b563b76b7dd949ca48f52bc1141aa067d2ea09565f3e2652aa5c" "checksum crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a2f4a431c5c9f662e1200b7c7f02c34e91361150e382089a8f2dec3ba680cbda" +"checksum crypto-mac 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "779015233ac67d65098614aec748ac1c756ab6677fa2e14cf8b37c08dfed1198" "checksum crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" "checksum ctr 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "044f882973b245404e90c90e7e42e8ee8d7a64edfd7adf83d684fb97e8e2c1b6" "checksum curl-sys 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)" = "08459503c415173da1ce6b41036a37b8bfdd86af46d45abb9964d4c61fe670ef" @@ -4124,6 +4261,7 @@ dependencies = [ "checksum data-encoding-macro-internal 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "22b318a8d6d56c45df45c61fcc7d2dbf98ea014d4987e7c74ef1f86c9b87e503" "checksum db 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)" = "" "checksum dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850" +"checksum digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e5b29bf156f3f4b3c4f610a25ff69370616ae6e0657d416de22645483e72af0a" "checksum digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "05f47366984d3ad862010e22c7ce81a7dbcaebbdfb37241a620f8b6596ee135c" "checksum discovery 0.1.0 (git+https://github.com/nervosnetwork/p2p.git?rev=562adc40e374be4ae1776bb38b070688c24e37d3)" = "" "checksum dotenv 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c0d0a1279c96732bc6800ce6337b6a614697b0e74ae058dc03c62ebeb78b4d86" @@ -4135,6 +4273,7 @@ dependencies = [ "checksum enum_primitive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "be4551092f4d519593039259a9ed8daedf0da12e5109c5280338073eaeb81180" "checksum env_logger 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "15abd780e45b3ea4f76b4e9a26ff4843258dd8a3eed2775a0e7368c2e7936c2f" "checksum env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)" = "15b0a4d2e39f8420210be8b27eeda28029729e2fd4291019455016c348240c38" +"checksum env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b61fa891024a945da30a9581546e8cfaf5602c7b3f4c137a2805cf388f92075a" "checksum errno 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "1e2b2decb0484e15560df3210cf0d78654bb0864b2c138977c07e377a1bae0e2" "checksum error 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)" = "" "checksum error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9435d864e017c3c6afeac1654189b06cdb491cf2ff73dbf0d73b0f292f42ff8" @@ -4147,8 +4286,8 @@ dependencies = [ "checksum ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c48729b8aea8aedb12cf4cb2e5cef439fdfe2dda4a89e47eeebd15778ef53b6" "checksum ethereum-types 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6e742184dc63a01c8ea0637369f8faa27c40f537949908a237f95c05e68d2c96" "checksum ethereum-types-serialize 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1873d77b32bc1891a79dad925f2acbc318ee942b38b9110f9dbc5fbeffcea350" -"checksum failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6dd377bcc1b1b7ce911967e3ec24fa19c3224394ec05b54aa7b083d498341ac7" -"checksum failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "64c2d913fe8ed3b6c6518eedf4538255b989945c14c2a7d5cbff62a5e2120596" +"checksum failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2" +"checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1" "checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" "checksum fixed-hash 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0d5ec8112f00ea8a483e04748a85522184418fd1cf02890b626d8fc28683f7de" "checksum flatbuffers 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ea0c34f669be9911826facafe996adfda978aeee67285a13556869e2d8b8331f" @@ -4162,6 +4301,7 @@ dependencies = [ "checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4" "checksum gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)" = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2" "checksum generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3c0f28c2f5bfb5960175af447a2da7c18900693738343dc896ffbcabd9839592" +"checksum generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fceb69994e330afed50c93524be68c42fa898c2d9fd4ee8da03bd7363acd26f2" "checksum getopts 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "0a7292d30132fb5424b354f5dc02512a86e4c516fe544bb7a25e7f266951b797" "checksum git2 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)" = "591f8be1674b421644b6c030969520bc3fa12114d2eb467471982ed3e9584e71" "checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb" @@ -4170,7 +4310,9 @@ dependencies = [ "checksum hashable 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)" = "" "checksum heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461" "checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77" +"checksum hmac 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7a13f4163aa0c5ca1be584aace0e2212b2e41be5478218d4f657f5f778b2ae2a" "checksum hmac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f127a908633569f208325f86f71255d3363c79721d7f9fe31cd5569908819771" +"checksum hmac-drbg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4fe727d41d2eec0a6574d887914347e5ff96a3b87177817e2a9820c5c87fecc2" "checksum http 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "24f58e8c2d8e886055c3ead7b28793e1455270b5fb39650984c224bc538ba581" "checksum httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e8734b0cfd3bc3e101ec59100e101c2eecd19282202e87808b3037b442777a83" "checksum httpbis 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7689cfa896b2a71da4f16206af167542b75d242b6906313e53857972a92d5614" @@ -4196,6 +4338,7 @@ dependencies = [ "checksum libgit2-sys 0.7.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4916b5addc78ec36cc309acfcdf0b9f9d97ab7b84083118b248709c5b7029356" "checksum libloading 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9c3ad660d7cb8c5822cd83d10897b0f1f1526792737a179e73896152f85b88c2" "checksum libproto 0.6.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)" = "" +"checksum libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "688e8d65e495567c2c35ea0001b26b9debf0b4ea11f8cccc954233b75fc3428a" "checksum libsm 0.3.0 (git+https://github.com/cryptape/libsm?rev=ac323abd3512a9fdb8bfd6cd349a6fc46deb688f)" = "" "checksum libsodium-sys 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "01839d6a151535905648d69dbbbf9c3f8f104b7890469508d504f4cd48d64643" "checksum libssh2-sys 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "126a1f4078368b163bfdee65fbab072af08a1b374a5551b21e87ade27b1fbf9d" @@ -4327,6 +4470,7 @@ dependencies = [ "checksum serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)" = "43344e7ce05d0d8280c5940cabb4964bea626aa58b1ec0e8c73fa2a8512a38ce" "checksum serde_yaml 0.8.6 (registry+https://github.com/rust-lang/crates.io-index)" = "980f5cc4e92ba24ba471b6a7b3df17d5b7b2c16fb1900a1aa0a79062320b16c4" "checksum sha1 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d" +"checksum sha2 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7d963c78ce367df26d7ea8b8cc655c651b42e8a1e584e869c1e17dae3ccb116a" "checksum sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b4d8bfd0e469f417657573d8451fb33d16cfe0989359b93baf3a1ffc639543d" "checksum signal-hook 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f7ca1f1c0ed6c8beaab713ad902c041e4f09d06e1b4bb74c5fc553c078ed0110" "checksum siphasher 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "833011ca526bd88f16778d32c699d325a9ad302fa06381cd66f7be63351d3f6d" diff --git a/Cargo.toml b/Cargo.toml index 7878f3409..2d396e079 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,6 +14,7 @@ members = ["cita-auth" ,"tests/chain_performance_by_mq" ,"tests/box_executor" ,"tests/vm_test" +,"tests/state_test" ] [profile.bench] diff --git a/cita-executor/core/src/lib.rs b/cita-executor/core/src/lib.rs index d8eac6098..a6491abc1 100644 --- a/cita-executor/core/src/lib.rs +++ b/cita-executor/core/src/lib.rs @@ -28,7 +28,7 @@ extern crate rlp; #[macro_use] extern crate serde_derive; extern crate cita_merklehash; -extern crate db as cita_db; +pub extern crate db as cita_db; extern crate hashable; #[cfg_attr(test, macro_use)] extern crate serde_json; @@ -45,7 +45,7 @@ extern crate bit_set; extern crate cita_ed25519; extern crate cita_secp256k1; extern crate cita_types; -extern crate common_types as types; +pub extern crate common_types as types; extern crate crossbeam; extern crate crypto; extern crate evm; diff --git a/cita-executor/core/src/state/mod.rs b/cita-executor/core/src/state/mod.rs index 01c530ba6..635c21bd2 100644 --- a/cita-executor/core/src/state/mod.rs +++ b/cita-executor/core/src/state/mod.rs @@ -272,7 +272,6 @@ const SEC_TRIE_DB_UNWRAP_STR: &str = impl State { /// Creates new state with empty state root - #[cfg(test)] pub fn new(mut db: B, account_start_nonce: U256, factories: Factories) -> State { let mut root = H256::new(); { diff --git a/tests/jsondata b/tests/jsondata index ebb2dc8c6..2baee3c4b 160000 --- a/tests/jsondata +++ b/tests/jsondata @@ -1 +1 @@ -Subproject commit ebb2dc8c6a4c5bebce6479cebc9a9c9f77200e92 +Subproject commit 2baee3c4bd6b48bdd53377aa937b626908ed0dce diff --git a/tests/state_test/Cargo.toml b/tests/state_test/Cargo.toml new file mode 100644 index 000000000..7ff2c9674 --- /dev/null +++ b/tests/state_test/Cargo.toml @@ -0,0 +1,21 @@ +[package] +name = "state_test" +version = "0.1.0" +authors = ["Cryptape Technologies "] +edition = "2018" + +[dependencies] +ethereum-types = "0.4.0" +serde = "1.0" +serde_derive = "1.0" +serde_json = "1.0" +hex = "0.3" +libsecp256k1 = "0.2.2" +tiny-keccak = "1.4.2" +env_logger = "0.6.1" +log = "0.4.0" + +libproto = { git = "https://github.com/cryptape/cita-common.git", branch = "develop" } +core-executor = { path="../../cita-executor/core"} +evm = { path="../../cita-executor/evm"} +test_helper = { path="../test_helper"} diff --git a/tests/state_test/README.md b/tests/state_test/README.md new file mode 100644 index 000000000..81523b6f6 --- /dev/null +++ b/tests/state_test/README.md @@ -0,0 +1,12 @@ +# State Test + +Test the cita state using [Tests](https://github.com/cryptape/cita-testdata/tree/master/GeneralStateTests/) + + +## Usage + +```sh +$ cd cita + +$ RUST_LOG=error,state_test=trace RUST_BACKTRACE=1 cargo run --bin state_test +``` diff --git a/tests/state_test/src/json.rs b/tests/state_test/src/json.rs new file mode 100644 index 000000000..6657995f6 --- /dev/null +++ b/tests/state_test/src/json.rs @@ -0,0 +1,159 @@ +use evm::cita_types::Address; +use serde_derive::Deserialize; +use serde_json::Error; +use std::collections::BTreeMap; +use std::io::Read; + +#[derive(Debug, PartialEq, Deserialize)] +pub struct Env { + #[serde(rename = "currentCoinbase")] + pub current_coinbase: Address, + + #[serde(rename = "currentDifficulty")] + pub current_difficulty: String, + + #[serde(rename = "currentGasLimit")] + pub current_gas_limit: String, + + #[serde(rename = "currentNumber")] + pub current_number: String, + + #[serde(rename = "currentTimestamp")] + pub current_timestamp: String, + + #[serde(rename = "previousHash")] + pub previous_hash: String, +} + +#[derive(Debug, PartialEq, Deserialize)] +pub struct Transaction { + #[serde(rename = "data")] + pub data: Vec, + + #[serde(rename = "gasLimit")] + pub gas_limit: Vec, + + #[serde(rename = "gasPrice")] + pub gas_price: String, + + #[serde(rename = "nonce")] + pub nonce: String, + + #[serde(rename = "secretKey")] + pub secret_key: String, + + #[serde(rename = "to")] + pub to: String, + + #[serde(rename = "value")] + pub value: Vec, +} + +#[derive(Debug, PartialEq, Deserialize, Clone)] +pub struct Account { + pub balance: String, + pub code: String, + pub nonce: String, + pub storage: BTreeMap, +} + +#[derive(Debug, PartialEq, Deserialize, Clone)] +pub struct State(pub BTreeMap); + +impl IntoIterator for State { + type Item = as IntoIterator>::Item; + type IntoIter = as IntoIterator>::IntoIter; + + fn into_iter(self) -> Self::IntoIter { + self.0.into_iter() + } +} + +#[derive(Debug, PartialEq, Deserialize)] +pub struct PostData { + #[serde(rename = "hash")] + pub hash: String, + + #[serde(rename = "indexes")] + pub indexes: BTreeMap, + + #[serde(rename = "logs")] + pub logs: String, +} + +#[derive(Debug, PartialEq, Deserialize)] +pub struct Post { + #[serde(rename = "Byzantium")] + pub byzantium: Option>, + + #[serde(rename = "Constantinople")] + pub constantinople: Option>, + + #[serde(rename = "EIP150")] + pub eip150: Option>, + + #[serde(rename = "EIP158")] + pub eip158: Option>, + + #[serde(rename = "Frontier")] + pub frontier: Option>, + + #[serde(rename = "Homestead")] + pub homestead: Option>, +} + +#[derive(Debug, PartialEq, Deserialize)] +pub struct Vm { + #[serde(rename = "env")] + pub env: Env, + + #[serde(rename = "transaction")] + pub transaction: Transaction, + + #[serde(rename = "post")] + pub post: Option, + + #[serde(rename = "pre")] + pub pre: Option, +} + +#[derive(Debug, PartialEq, Deserialize)] +pub struct Test(BTreeMap); + +impl IntoIterator for Test { + type Item = as IntoIterator>::Item; + type IntoIter = as IntoIterator>::IntoIter; + + fn into_iter(self) -> Self::IntoIter { + self.0.into_iter() + } +} + +impl Test { + pub fn load(reader: R) -> Result + where + R: Read, + { + serde_json::from_reader(reader) + } +} + +#[cfg(test)] +mod tests { + use super::*; + use std::fs; + #[test] + fn test_json_tests_parse() { + let f = fs::File::open( + "../jsondata/GeneralStateTests/stArgsZeroOneBalance/addmodNonConst.json", + ) + .unwrap(); + let t = Test::load(f).unwrap(); + assert!(t.0.contains_key("addmodNonConst")); + let v = &t.0["addmodNonConst"]; + assert_eq!( + v.env.current_coinbase, + Address::from("0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba") + ); + } +} diff --git a/tests/state_test/src/main.rs b/tests/state_test/src/main.rs new file mode 100644 index 000000000..29c936a3c --- /dev/null +++ b/tests/state_test/src/main.rs @@ -0,0 +1,3570 @@ +#[macro_use] +extern crate log; +extern crate env_logger; +mod json; + +use core_executor::engines::NullEngine; +use core_executor::libexecutor::economical_model::EconomicalModel; +use core_executor::libexecutor::sys_config::BlockSysConfig; +use core_executor::state::ApplyResult; +use core_executor::types::transaction::Transaction; +use evm::cita_types::U256; +use evm::env_info::EnvInfo; +use libproto::blockchain::Transaction as ProtoTransaction; +use std::fs; +use test_helper::{get_temp_state, secret_2_address, string_2_bytes, string_2_h256, string_2_u256}; + +fn test_json_file(p: &str) { + let f = fs::File::open(p).unwrap(); + let tests = json::Test::load(f).unwrap(); + for (_name, test) in tests.into_iter() { + let data_post_byzantium = test.post.unwrap().byzantium; + if data_post_byzantium.is_none() { + continue; + } + + for (_i, postdata) in data_post_byzantium.unwrap().into_iter().enumerate() { + // Init state + let mut state = get_temp_state(); + for (address, account) in test.pre.clone().unwrap() { + let balance = string_2_u256(account.balance); + let code = string_2_bytes(account.code); + let nonce = string_2_u256(account.nonce); + if code.is_empty() { + state.new_contract(&address, balance, nonce); + } else { + state.new_contract(&address, balance, nonce); + let _ = state.init_code(&address, code); + } + + for (k, v) in account.storage { + let kk = string_2_h256(k); + let vv = string_2_h256(v); + let _ = state.set_storage(&address, kk, vv); + } + } + state.commit().unwrap(); + + // Set envionment + let mut env_info = EnvInfo::default(); + env_info.difficulty = string_2_u256(test.env.current_difficulty.clone()); + env_info.number = string_2_u256(test.env.current_number.clone()).low_u64(); + env_info.timestamp = string_2_u256(test.env.current_timestamp.clone()).low_u64(); + env_info.gas_limit = string_2_u256(test.env.current_gas_limit.clone()); + env_info.author = test.env.current_coinbase; + + let engine = NullEngine::cita(); + let mut config = BlockSysConfig::default(); + config.quota_price = string_2_u256(test.transaction.gas_price.clone()); + config.economical_model = EconomicalModel::Charge; + config.quota_price = U256::from(1); + + let idx_gas = &postdata.indexes[&String::from("gas")]; + let idx_value = &postdata.indexes[&String::from("value")]; + let idx_data = &postdata.indexes[&String::from("data")]; + let str_gas = test.transaction.gas_limit.clone()[*idx_gas].clone(); + let str_value = test.transaction.value.clone()[*idx_value].clone(); + let str_data = test.transaction.data.clone()[*idx_data].clone(); + + let mut proto_tx = ProtoTransaction::new(); + proto_tx.set_data(string_2_bytes(str_data)); + proto_tx.set_value(string_2_bytes(str_value)); + proto_tx.set_nonce(test.transaction.nonce.clone()); + proto_tx.set_quota(string_2_u256(str_gas).low_u64()); + if !test.transaction.to.is_empty() { + proto_tx.set_to(test.transaction.to.clone()); + } + + let tx = Transaction::create(&proto_tx).unwrap(); + let sender = secret_2_address(&test.transaction.secret_key); + let signed_transaction = tx.fake_sign(sender); + + // Execute transactions + let result: ApplyResult = + state.apply(&env_info, &engine, &signed_transaction, true, &config); + match result { + Ok(outcome) => { + debug!("lalalal receipt error: {:?}", outcome.receipt.error); + } + _ => panic!("apply_transaction: There must be something wrong!"), + } + + // check root hash + state.commit().unwrap(); + let root = state.root(); + debug!("state.root {}", root); + assert_eq!(*root, string_2_h256(postdata.hash)); + } + } +} + +fn test_json_path(p: &str) { + let info = fs::metadata(p).unwrap(); + if info.is_dir() { + for entry in fs::read_dir(p).unwrap() { + let entry = entry.unwrap(); + let p = entry.path(); + test_json_path(p.to_str().unwrap()); + } + } else { + test_json_file(p); + } +} + +fn skip_path(_reason: &str, _name: &str) {} + +fn skip_file(_name: &str) {} + +fn main() { + env_logger::init(); + + test_json_path(r"./tests/jsondata/GeneralStateTests/stRefundTest"); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stCodeCopyTest", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stMemExpandingEIP150Calls", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stRevertTest", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stMemoryStressTest", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stTransactionTest", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stReturnDataTest", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stCodeSizeLimit", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stHomesteadSpecific", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stEIP158Specific", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stCreateTest", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stSStoreTest", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stTransitionTest", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stZeroCallsTest", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stBadOpcode", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stLogTests", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stBugs", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stShift", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stWalletTest", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stRandom2", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stEWASMTests", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stStaticCall", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stAttackTest", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stStackTests", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stInitCodeTest", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stChangedEIP150", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stExample", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stSolidityTest", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stEIP150Specific", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stRecursiveCreate", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stRandom", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stMemoryTest", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stCreate2", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stSpecialTest", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stCallCodes", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest", + ); + skip_path( + "run tests integration", + r"./tests/jsondata/GeneralStateTests/stExtCodeHash", + ); + + test_json_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_TxToSuicide.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_singleSuicide.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_CallA.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_NoOOG_1.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_CallA_notEnoughGasInCall.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_TxToSuicideOOG.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund50_2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_getEtherBack.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_changeNonZeroStorage.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_OOG.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_CallToSuicideTwice.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_CallToSuicideStorage.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refundSuicide50procentCap.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund600.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund50percentCap.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_CallToSuicideNoStorage.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund50_1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_CallA_OOG.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_multimpleSuicide.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stCodeCopyTest/ExtCodeCopyTargetRangeLongerThanCodeTests.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCodeCopyTest/ExtCodeCopyTests.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stMemExpandingEIP150Calls/DelegateCallOnEIPWithMemExpandingCalls.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemExpandingEIP150Calls/CallGoesOOGOnSecondLevel2WithMemExpandingCalls.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemExpandingEIP150Calls/CreateAndGasInsideCreateWithMemExpandingCalls.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemExpandingEIP150Calls/CallAskMoreGasOnDepth2ThenTransactionHasWithMemExpandingCalls.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemExpandingEIP150Calls/CallGoesOOGOnSecondLevelWithMemExpandingCalls.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemExpandingEIP150Calls/CallAndCallcodeConsumeMoreGasThenTransactionHasWithMemExpandingCalls.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemExpandingEIP150Calls/NewGasPriceForCodesWithMemExpandingCalls.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemExpandingEIP150Calls/ExecuteCallThatAskMoreGasThenTransactionHasWithMemExpandingCalls.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGMBefore.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGMAfter.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_SuicideMiddle.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGMBefore.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGMBefore.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_SuicideMiddle.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_ABCB_RECURSIVE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_ABCB_RECURSIVE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_SuicideMiddle.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_ABCB_RECURSIVE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGMBefore.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_ABCB_RECURSIVE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGMBefore.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGMAfter.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGMAfter.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_ABCB_RECURSIVE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_SuicideMiddle.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_SuicideMiddle.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGMAfter.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_ABCB_RECURSIVE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_ABCB_RECURSIVE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecall_10_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_SuicideMiddle.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGMBefore.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGMAfter.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGMBefore.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGMAfter.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecall_10_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcode_01_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecall_10.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGMAfter.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcode_01_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_SuicideMiddle.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcode_01.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertPrefound.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertOpcodeInCreateReturns.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertOnEmptyStack.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertOpcode.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertOpcodeCreate.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertOpcodeMultipleSubCalls.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/LoopCallsThenRevert.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertPrefoundEmptyCall.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertPrefoundCall.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertPrecompiledTouch_storage.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertRemoteSubCallStorageOOG2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/TouchToEmptyAccountRevert.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertInStaticCall.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/LoopCallsDepthThenRevert2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertPrefoundEmptyCallOOG.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertPrefoundOOG.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertDepthCreateAddressCollision.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertPrecompiledTouch_nonce.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertOpcodeReturn.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/TouchToEmptyAccountRevert3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertPrefoundCallOOG.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/LoopCallsDepthThenRevert3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertOpcodeInInit.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertOpcodeCalls.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertPrecompiledTouch_noncestorage.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertSubCallStorageOOG2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/NashatyrevSuicideRevert.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stRevertTest/LoopDelegateCallsDepthThenRevert.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertInCallCode.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertInCreateInInit.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertOpcodeInCallsOnNonEmptyReturnData.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertDepthCreateOOG.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertDepth2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertPrefoundEmptyOOG.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertRemoteSubCallStorageOOG.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertOpcodeDirectCall.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/LoopCallsDepthThenRevert.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/TouchToEmptyAccountRevert2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertInDelegateCall.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertOpcodeWithBigOutputInInit.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertPrecompiledTouch.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stRevertTest/PythonRevertTestTue201814-1430.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertSubCallStorageOOG.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertPrefoundEmpty.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/callcodeNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/divNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/log1NonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/modNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/signextNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/sloadNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/andNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/sstoreNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/sdivNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/addNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/log0NonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/returnNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/extcodecopyNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/iszeroNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/sgtNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/log3NonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/jumpNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/log2NonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/mloadNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/smodNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/mulmodNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/mulNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/delegatecallNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/createNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/sha3NonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/suicideNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/extcodesizeNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/orNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/jumpiNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/ltNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/calldatacopyNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/expNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/notNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/gtNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/eqNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/calldataloadNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/byteNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/codecopyNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/mstoreNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/callNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/xorNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/sltNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/addmodNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/subNonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/mstore8NonConst.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/balanceNonConst.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/CALL_Bounds.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/CALLCODE_Bounds.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/DUP_Bounds.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/CALLCODE_Bounds4.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/MSTORE_Bounds2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/MSTORE_Bounds2a.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/MLOAD_Bounds3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/mload32bitBound2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/JUMP_Bounds2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/CALL_Bounds2a.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/mload32bitBound.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/DELEGATECALL_Bounds.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/mload32bitBound_Msize.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/DELEGATECALL_Bounds2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/JUMP_Bounds.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/CREATE_Bounds3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/MSTORE_Bounds.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/static_CALL_Bounds3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/FillStack.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/RETURN_Bounds.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/SSTORE_Bounds.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/static_CALL_Bounds2a.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/MLOAD_Bounds2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/CALL_Bounds2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/CREATE_Bounds.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/static_CALL_Bounds2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/CALLCODE_Bounds2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/CALL_Bounds3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/DELEGATECALL_Bounds3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/static_CALL_Bounds.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/MLOAD_Bounds.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/SLOAD_Bounds.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/JUMPI_Bounds.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/POP_Bounds.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/CALLCODE_Bounds3.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/mload32bitBound_return2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/mload32bitBound_return.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/CREATE_Bounds2.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/TransactionToAddressh160minusOne.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stTransactionTest/SuicidesStopAfterSuicide.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/InternalCallHittingGasLimitSuccess.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/TransactionDataCosts652.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/TransactionNonceCheck.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/CreateMessageReverted.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/Opcodes_TransactionInit.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/UserTransactionGasLimitIsTooLowWhenZeroCost.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/TransactionToItself.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/SuicidesAndInternlCallSuicidesSuccess.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stTransactionTest/InternalCallHittingGasLimit2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/StoreGasOnCreate.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stTransactionTest/InternlCallStoreClearsSucces.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/RefundOverflow.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/ContractStoreClearsOOG.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/EmptyTransaction.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/OverflowGasRequire2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/TransactionNonceCheck2.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stTransactionTest/CreateTransactionReverted.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/SuicidesAndInternlCallSuicidesBonusGasAtCallFailed.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/UserTransactionZeroCostWithData.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/StoreClearsAndInternlCallStoreClearsOOG.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stTransactionTest/TransactionSendingToZero.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/TransactionFromCoinbaseNotEnoughFounds.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/UserTransactionZeroCost.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stTransactionTest/InternalCallHittingGasLimit.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stTransactionTest/CreateTransactionSuccess.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/StoreClearsAndInternlCallStoreClearsSuccess.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stTransactionTest/InternlCallStoreClearsOOG.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/CreateMessageSuccess.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/SuicidesAndInternlCallSuicidesOOG.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/EmptyTransaction3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/HighGasLimit.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/SuicidesAndInternlCallSuicidesBonusGasAtCall.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/TransactionToItselfNotEnoughFounds.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stTransactionTest/ContractStoreClearsSuccess.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/SuicidesMixingCoinbase.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/EmptyTransaction2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/OverflowGasRequire.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stTransactionTest/TransactionSendingToEmpty.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/SuicidesAndSendMoneyToItselfEtherDestroyed.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/RefundOverflow2.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/call_outsize_then_create_successful_then_returndatasize.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/create_callprecompile_returndatasize.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_after_successful_delegatecall.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stReturnDataTest/subcallReturnMoreThenExpected.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/call_then_create_successful_then_returndatasize.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_initial_big_sum.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatasize_after_successful_delegatecall.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/call_ecrec_success_empty_then_returndatasize.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatasize_following_successful_create.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_initial_256.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatasize_after_oog_after_deeper.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_following_call.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_after_successful_staticcall.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stReturnDataTest/modexp_modsize0_returndatasize.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_following_failing_call.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/call_then_call_value_fail_then_returndatasize.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatasize_after_failing_staticcall.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_following_too_big_transfer.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_after_successful_callcode.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatasize_initial.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_overrun.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatasize_initial_zero_read.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_after_failing_staticcall.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_following_revert.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_after_failing_delegatecall.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_initial.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_afterFailing_create.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatasize_after_failing_callcode.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatasize_after_successful_staticcall.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_following_revert_in_create.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_after_failing_callcode.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_after_revert_in_staticcall.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatasize_after_failing_delegatecall.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_0_0_following_successful_create.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatasize_after_successful_callcode.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatasize_bug.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_following_create.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_following_successful_create.json"); + + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_1_0_155000.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_3_100_1000000.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_3_100_25000.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_37111_1000000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_39936_1_55201_22000.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_0_0_155000.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_0_0_155000.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_49_2401_2401_20500.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_3_5_100_35000.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_1_155000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_1_1_22000.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/identity_to_smaller.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_37111_22000.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_3_5_100_20500.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/sec80.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_9_37111_37111_155000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_1_1_35000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_0_20500.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_3_100_155000.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_1_1_1000000.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_0_0_35000.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_3_5_100_22000.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_49_2401_2401_35000.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_97_155000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_1_0_20500.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_9_37111_37111_1000000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_0_1_35000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_55190_55190_42965_20500.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_0_1_1000000.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_3_5_100_25000.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_3_100_35000.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_3_28948_11579_20500.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_39936_1_55201_20500.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_1_1_25000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_37111_25000.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_0_0_1000000.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_49_2401_2401_25000.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_0_0_1000000.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_3_5_100_155000.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_39936_1_55201_25000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_3_09984_39936_22000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_3_09984_39936_25000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_97_1000000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_0_1_25000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_0_1000000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_1_1000000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_9_37111_37111_20500.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_0_25000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_0_0_22000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_37111_155000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_0_22000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_1_0_22000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_0_1_20500.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_39936_1_55201_1000000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_0_155000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_39936_1_55201_155000.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_1_0_1000000.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_97_20500.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_3_09984_39936_155000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_9_37111_37111_35000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_1_0_25000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_37111_20500.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_1_1_20500.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_3_5_100_1000000.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_3_100_20500.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_0_0_25000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_55190_55190_42965_35000.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_0_1_155000.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_9_37111_37111_22000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_1_20500.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_37111_35000.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_3_100_22000.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_1_35000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_3_09984_39936_1000000.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_1_1_155000.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_97_25000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_49_2401_2401_1000000.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_49_2401_2401_22000.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_0_35000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_0_0_20500.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_0_1_22000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/identity_to_bigger.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_55190_55190_42965_22000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_97_22000.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_9_3711_37111_25000.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_55190_55190_42965_25000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_55190_55190_42965_155000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_39936_1_55201_35000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_97_35000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_49_2401_2401_155000.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_22411_22000.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_1_0_35000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_55190_55190_42965_1000000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_1_25000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_3_09984_39936_35000.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stCodeSizeLimit/codesizeOOGInvalidSize.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCodeSizeLimit/codesizeValid.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCodeSizeLimit/codesizeInit.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stHomesteadSpecific/contractCreationOOGdontLeaveEmptyContract.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stHomesteadSpecific/createContractViaTransactionCost53000.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stHomesteadSpecific/createContractViaContract.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stHomesteadSpecific/createContractViaContractOOGInitCode.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stHomesteadSpecific/contractCreationOOGdontLeaveEmptyContractViaTransaction.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP158Specific/CALL_ZeroVCallSuicide.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP158Specific/callToEmptyThenCallError.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP158Specific/EXP_Empty.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stEIP158Specific/EXTCODESIZE_toNonExistent.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP158Specific/CALL_OneVCallSuicide.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP158Specific/EXTCODESIZE_toEpmty.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP158Specific/vitalikTransactionTest.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_1-2_25000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_340282366920938463463374607431768211456_21000_80.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_6-9_19274124-124124_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_0-0_21000_80.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_9_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_0_21000_80.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_2_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1145-3932_2969-1336_25000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_5616_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_1-3_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_0-0_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_0_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_1_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_0_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_5617_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_0_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_340282366920938463463374607431768211456_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_2_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_0-0_25000_80.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_340282366920938463463374607431768211456_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_0-0_21000_64.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_1_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_340282366920938463463374607431768211456_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_2_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_9_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_0_28000_0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_0_21000_80.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_5616_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_1_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_1_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_1-3_25000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1-2_0-0_21000_192.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_9935_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_9_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1-2_0-0_25000_192.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_0_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_1_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_340282366920938463463374607431768211456_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1-2_0-0_25000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_340282366920938463463374607431768211456_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_0-0_25000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_0_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_5616_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1-3_0-0_21000_80.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_0_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_9935_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1145-3932_1145-4651_21000_192.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_5617_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_340282366920938463463374607431768211456_21000_80.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_0_28000_80.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_5617_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_5616_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_9_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_5616_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_0_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_2_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_1-2_21000_192.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_340282366920938463463374607431768211456_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_9935_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_0_21000_64.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1145-3932_2969-1336_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_0_21000_80.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_0_28000_80.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_0-0_25000_0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_0-0_25000_192.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_1_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_2_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_0-0_21000_0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_1-2_25000_192.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1-2_1-2_21000_192.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_340282366920938463463374607431768211456_28000_80.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_9935_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1-2_1-2_25000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_0_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_5617_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-3_1-2_25000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_1_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_0_21000_0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_9935_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_1_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_0_28000_64.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_5617_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_1_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_5616_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_5617_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_2_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_9935_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_5617_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_9_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_0_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_0_28000_64.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_0_28000_80.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_2_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_0_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_9935_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-3_1-2_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_0-0_21000_192.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_0_28000_64.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_1_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_6-9_19274124-124124_25000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_0_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_2_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1-2_1-2_25000_192.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1-3_0-0_25000_80.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_340282366920938463463374607431768211456_28000_80.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1-2_0-0_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_0_21000_64.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_340282366920938463463374607431768211456_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_9_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_5617_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_0_28000_40.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1-2_0-0_25000_64.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_1_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_0_21000_40.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_5616_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_2_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_0-0_25000_64.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_9935_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_2_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1-2_0-0_21000_64.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1-2_1-2_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_5616_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_1-2_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_9_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_0_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1145-3932_1145-4651_25000_192.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_0_21000_64.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_340282366920938463463374607431768211456_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_1_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_9_28000_96.json"); + + skip_file( + r"./tests/jsondata/GeneralStateTests/stCreateTest/TransactionCollisionToEmptyButNonce.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCreateTest/CreateOOGafterInitCodeReturndata.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CreateOOGafterInitCodeReturndataSize.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCreateTest/CreateOOGafterInitCodeReturndata3.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_EmptyContractWithStorageAndCallIt_0wei.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_EmptyContract.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_ContractSuicideDuringInit_WithValue.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_ContractRETURNBigOffset.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_EmptyContractWithStorageAndCallIt_1wei.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_ContractSuicideDuringInit_ThenStoreThenReturn.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_EContractCreateEContractInInit_Tr.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CreateCollisionToEmpty.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/TransactionCollisionToEmpty.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CreateOOGafterInitCodeRevert.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_EContractCreateNEContractInInitOOG_Tr.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCreateTest/TransactionCollisionToEmptyButCode.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_EmptyContractWithStorage.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CreateOOGafterInitCode.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_EContract_ThenCALLToNonExistentAcc.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCreateTest/CreateOOGafterInitCodeReturndata2.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_AcreateB_BSuicide_BStore.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_empty000CreateinInitCode_Transaction.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_EmptyContractAndCallIt_1wei.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_ContractSSTOREDuringInit.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_ContractSuicideDuringInit.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_EContractCreateNEContractInInit_Tr.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_ContractSuicideDuringInit_WithValueToItself.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_EmptyContractAndCallIt_0wei.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCreateTest/CreateOOGafterInitCodeRevert2.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_EmptyContractWithBalance.json", + ); + + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_XtoX.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_combinations_initial0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_Xto0toXto0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_0toXto0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_XtoYto0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_0toXto0toX.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_combinations_initial1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_0to0toX.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_Xto0to0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_0toXtoY.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_XtoXtoY.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_XtoXto0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_XtoXtoX.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_0toXtoX.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_combinations_initial2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_0toX.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_XtoYtoZ.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_0to0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_XtoYtoY.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_Xto0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/InitCollision.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_XtoY.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_Xto0toX.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stSStoreTest/SstoreCallToSelfSubRefundBelowZero.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/InitCollisionNonZeroNonce.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_XtoYtoX.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_Xto0toY.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_0to0to0.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stTransitionTest/createNameRegistratorPerTxsNotEnoughGasAfter.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stTransitionTest/createNameRegistratorPerTxsAt.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransitionTest/createNameRegistratorPerTxsAfter.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransitionTest/delegatecallAtTransition.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stTransitionTest/delegatecallBeforeTransition.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransitionTest/createNameRegistratorPerTxsNotEnoughGasAt.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransitionTest/createNameRegistratorPerTxsNotEnoughGasBefore.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stTransitionTest/delegatecallAfterTransition.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stTransitionTest/createNameRegistratorPerTxsBefore.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_CALL_ToEmpty.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_SUICIDE_ToNonZeroBalance.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_DELEGATECALL_ToEmpty.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_TransactionCALLwithData.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_SUICIDE.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_CALL_ToOneStorageKey.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_TransactionCALL.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_TransactionCALLwithData_ToOneStorageKey.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_DELEGATECALL_ToOneStorageKey.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_TransactionCALLwithData_ToEmpty.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_SUICIDE_ToEmpty.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_TransactionCALL_ToEmpty.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_CALLCODE_ToNonZeroBalance.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_DELEGATECALL_ToNonZeroBalance.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_SUICIDE_ToOneStorageKey.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_CALL_ToNonZeroBalance.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_TransactionCALLwithData_ToNonZeroBalance.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_CALL.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_TransactionCALL_ToOneStorageKey.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_CALLCODE_ToOneStorageKey.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_CALLCODE_ToEmpty.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_CALLCODE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_TransactionCALL_ToNonZeroBalance.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_DELEGATECALL.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stBadOpcode/badOpcodes.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log4_logMemsizeTooHigh.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log4_nonEmptyMem_logMemSize1_logMemStart31.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log4_PC.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log2_nonEmptyMem_logMemSize1_logMemStart31.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log4_logMemsizeZero.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log2_MaxTopic.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log1_logMemsizeTooHigh.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log1_logMemsizeZero.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log0_nonEmptyMem_logMemSize1_logMemStart31.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log3_emptyMem.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log3_logMemStartTooHigh.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log0_logMemsizeZero.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log4_logMemStartTooHigh.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log4_emptyMem.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log0_nonEmptyMem.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log3_logMemsizeZero.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log1_nonEmptyMem_logMemSize1_logMemStart31.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log0_nonEmptyMem_logMemSize1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log1_nonEmptyMem.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log3_Caller.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log2_logMemsizeTooHigh.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log3_logMemsizeTooHigh.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log0_emptyMem.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log1_MaxTopic.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log2_nonEmptyMem.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log2_logMemStartTooHigh.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log4_nonEmptyMem.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log2_Caller.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/logInOOG_Call.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log3_nonEmptyMem_logMemSize1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log2_emptyMem.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log0_logMemStartTooHigh.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log1_Caller.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log3_nonEmptyMem.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log1_logMemStartTooHigh.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log3_MaxTopic.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log0_logMemsizeTooHigh.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log2_logMemsizeZero.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log4_MaxTopic.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log4_Caller.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log4_nonEmptyMem_logMemSize1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log1_nonEmptyMem_logMemSize1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log2_nonEmptyMem_logMemSize1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log3_nonEmptyMem_logMemSize1_logMemStart31.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log3_PC.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log1_emptyMem.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_CALLCODE_ToNonNonZeroBalance.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_CALLCODE_ToOneStorageKey.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_DELEGATECALL.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_CALL_ToOneStorageKey.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_SUICIDE_ToEmpty.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_SUICIDE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_CALL.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_CALLCODE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_DELEGATECALL_ToOneStorageKey.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_DELEGATECALL_ToNonNonZeroBalance.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_TransactionCALL.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_TransactionCALL_ToOneStorageKey.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_CALL_ToNonNonZeroBalance.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_TransactionCALL_ToEmpty.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_CALL_ToEmpty.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_SUICIDE_ToOneStorageKey.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_DELEGATECALL_ToEmpty.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_TransactionCALLwithData_ToEmpty.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_CALLCODE_ToEmpty.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_TransactionCALL_ToNonNonZeroBalance.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_TransactionCALLwithData_ToOneStorageKey.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_TransactionCALLwithData_ToNonNonZeroBalance.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_SUICIDE_ToNonNonZeroBalance.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_TransactionCALLwithData.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcall_100.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecall_010_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcallcode_001_OOGMBefore.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecall_010_OOGMAfter.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecall_110_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecallcode_011_SuicideMiddle.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcallcode_101_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecall_010.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecall_110_OOGMBefore.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcode_11.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcall_100_OOGMBefore.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcall_100_SuicideMiddle.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecallcode_011_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcallcode_ABCB_RECURSIVE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcall_ABCB_RECURSIVE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecall_010_SuicideMiddle.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcallcode_001_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcode_11_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecall_ABCB_RECURSIVE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecall_010_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcallcode_001_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcallcode_101_OOGMBefore.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcallcode_ABCB_RECURSIVE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111_OOGMBefore.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecallcode_011_OOGMAfter.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcall_100_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcallcode_101_OOGMAfter.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecallcode_ABCB_RECURSIVE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecallcode_011.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecall_110_SuicideMiddle.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecallcode_011_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcode_11_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111_SuicideMiddle.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111_OOGMAfter.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecallcode_ABCB_RECURSIVE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecall_ABCB_RECURSIVE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecall_10_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcallcode_101_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcallcode_001_SuicideMiddle.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecall_010_OOGMBefore.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecall_110.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcallcode_001.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcallcode_001_OOGMAfter.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecallcode_011_OOGMBefore.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcall_100_OOGMAfter.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecall_10_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecall_110_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcode_01_SuicideEnd.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecall_10.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecall_110_OOGMAfter.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcallcode_101.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcall_100_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcode_01_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcallcode_101_SuicideMiddle.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111_OOGE.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcode_01.json", + ); + + skip_file(r"./tests/jsondata/GeneralStateTests/stBugs/staticcall_createfails.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stBugs/returndatacopyPythonBug_Tue_03_48_41-1432.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stBugs/randomStatetestDEFAULT-Tue_07_58_41-15153-575192.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stBugs/evmBytecode.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^256-1_256.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shl_-1_1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shl01.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^255-1_248.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shr01.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^255_255.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shl_2^255-1_1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^255_256.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^256-1_0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_0_256-1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shr_2^255_255.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shr_-1_0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shr_-1_255.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shl_-1_255.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^254_254.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shiftCombinations.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shl01-0101.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shr_2^255_257.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shl01-ff.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/.stub"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shr_2^255_1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shl10.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^256-1_255.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shr_-1_256.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shr_2^255_256.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar01.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shr10.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shl_-1_256.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^256-1_1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^255-1_254.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^255-1_255.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^255-1_256.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shl01-0100.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^255_257.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shr_-1_1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shl_-1_0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^255_1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar10.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shr11.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shl11.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar11.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar00.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletDefault.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletExecuteOverDailyLimitOnlyOneOwner.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/dayLimitConstructionPartial.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedRemoveOwner_ownerIsNotOwner.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/dayLimitSetDailyLimitNoData.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedConstructionNotEnoughGasPartial.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedChangeOwner.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedChangeOwner_fromNotOwner.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedRemoveOwner.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletAddOwnerRemovePendingTransaction.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedIsOwnerFalse.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/dayLimitConstruction.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedChangeRequirementTo1.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletExecuteUnderDailyLimit.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedAddOwner.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/dayLimitResetSpentToday.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletDefaultWithOutValue.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletExecuteOverDailyLimitOnlyOneOwnerNew.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedChangeRequirementTo2.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedRemoveOwnerByNonOwner.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletChangeOwnerRemovePendingTransaction.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedRemoveOwner_mySelf.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletKill.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletConstructionPartial.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedConstructionNotEnoughGas.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletExecuteOverDailyLimitMultiOwner.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedConstructionCorrect.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletChangeRequirementRemovePendingTransaction.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletConstruction.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/dayLimitConstructionOOG.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletKillNotByOwner.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedRevokeNothing.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/dayLimitSetDailyLimit.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedChangeOwnerNoArgument.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletConstructionOOG.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletConfirm.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletRemoveOwnerRemovePendingTransaction.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedIsOwnerTrue.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedAddOwnerAddMyself.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletKillToWallet.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedChangeRequirementTo0.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedChangeOwner_toIsOwner.json", + ); + + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest531.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest647.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest644.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest541.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest436.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest635.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest460.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest418.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest552.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest491.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest402.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest578.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest616.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest520.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest445.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest597.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest433.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest443.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest429.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest398.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest528.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest527.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest422.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest615.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest633.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest636.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest439.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest536.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest456.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest447.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest397.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest415.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest581.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest408.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest465.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest442.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest585.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest498.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest485.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest587.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest405.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest586.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest481.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest573.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest455.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest506.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest563.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest546.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest476.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest386.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest488.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest393.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest601.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest496.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest575.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest543.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest417.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest466.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest384.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest409.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest387.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest472.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest567.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest514.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest503.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest406.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest457.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest612.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest507.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest641.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest539.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest497.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest508.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest545.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest560.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest607.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest642.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest495.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest588.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest430.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest454.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest532.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest565.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest608.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest521.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest388.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest437.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest639.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest618.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest502.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest610.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest426.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest544.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest592.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest583.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest548.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest512.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest509.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest448.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest438.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest572.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest451.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest470.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest395.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest511.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest435.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest477.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest577.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest535.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest564.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest468.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest526.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest404.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest489.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest474.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest525.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest450.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest523.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest569.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest464.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest621.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest609.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest410.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest399.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest580.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest556.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest423.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest640.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest542.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest632.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest571.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest643.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest554.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest516.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest414.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest412.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest604.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest407.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest519.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest537.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest401.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest582.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest475.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest413.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest487.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest473.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest517.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest562.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest566.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/201503110226PYTHON_DUP6.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest440.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest626.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest524.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest482.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest630.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest628.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest596.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest480.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest458.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest462.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest550.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest510.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest600.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest411.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest428.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest534.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest385.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest605.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest389.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest513.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest558.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest574.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest625.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest416.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest469.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest584.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest449.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest555.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest425.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest471.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest646.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest396.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest421.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest579.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest599.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest444.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest467.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest500.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest452.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest538.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest424.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest478.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest638.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest483.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest547.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest499.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest645.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest627.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest559.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest602.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest518.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest493.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest603.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest637.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest484.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest611.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest624.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest576.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest589.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest461.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest420.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest629.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest446.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest553.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest419.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest494.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest533.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest504.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest505.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest501.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest620.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stEWASMTests/.gitkeep"); + + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_ZeroValue_CALL_OOGRevert.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecall_10_SuicideEnd2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGE_2.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log0_logMemStartTooHigh.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturn.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecoverS_prefixed0.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideEnd2.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem_logMemSize1.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideMiddle2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_makeMoney.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CREATE_EmptyContractWithStorageAndCallIt_0wei.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter_3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRipemd160_4.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_InternlCallStoreClearsOOG.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideMiddle2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallIdentity_5.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGE.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_1.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallToNameRegistrator0.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_ReturnTest2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallContractToCreateContractAndCallItOOG.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_3.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log1_MaxTopic.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideEnd2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem_logMemSize1_logMemStart31.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log0_emptyMem.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRecursiveBombLog.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecover0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMBefore2.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGE.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CheckOpcodes4.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_ABAcallsSuicide0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallToReturn1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallSha256_4_gas99.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_ABAcalls0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcode_checkPC.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideEnd2.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallIdentity_1_nonzeroValue.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callOutput3partial.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter_3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallContractToCreateContractWhichWouldCreateContractIfCalled.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcall_00_OOGE_2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CheckOpcodes5.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcall_ABCB_RECURSIVE.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcall_000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecoverCheckLengthWrongV.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcall_00.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallSha256_3_prefix0.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRecursiveBombPreCall2.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callCreate2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMBefore.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecover2.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecoverR_prefixed0.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRecursiveBomb1.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGE2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CheckOpcodes3.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert3.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter_2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callOutput2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call50000_sha256.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRipemd160_1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_RETURN_BoundsOOG.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_ABAcallsSuicide1.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcall_00_SuicideEnd.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call1024BalanceTooLow2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcall_000_SuicideMiddle.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CALL_OneVCallSuicide.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRecursiveBomb3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallAskMoreGasOnDepth2ThenTransactionHas.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMAfter2.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert2.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_call_value_inherit_from_call.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call1024PreCalls.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter_2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRecursiveBomb0.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callWithHighValueOOGinCall.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideMiddle2.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecover0_Gas2999.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideEnd2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRipemd160_3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_refund_CallA.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallIdentity_4_gas17.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callCreate3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_3.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRipemd160_3_postfixed0.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_contractCreationOOGdontLeaveEmptyContractViaTransaction.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGE_2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMBefore2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRecursiveBomb2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallIdentitiy_1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecall_10_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit_WithValue.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideMiddle.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecall_10.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRipemd160_5.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVE2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callOutput3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRecursiveBombLog2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callChangeRevert.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter_2.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_refund_CallToSuicideTwice.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcall_00_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallSha256_2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcode_01_SuicideEnd2.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log1_logMemStartTooHigh.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallIdentity_2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecover0_0input.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_InternalCallHittingGasLimit.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CheckCallCostOOG.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideMiddle.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call50000_rip160.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CREATE_EmptyContractAndCallIt_0wei.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideEnd2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call1024OOG.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMAfter.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMBefore.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE2.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callOutput3partialFail.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallIdentity_3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_ABAcalls1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecall_10_2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callOutput3Fail.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecover1.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVE2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_RevertDepth2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter_3.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRecursiveBombPreCall.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callOutput1.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callToDelCallOpCodeCheck.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMBefore.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcall_00_OOGE_1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGE_2.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_ZeroValue_SUICIDE_OOGRevert.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecover0_NoGas.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_ABAcalls3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGE2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CheckOpcodes2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRipemd160_2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_LoopCallsThenRevert.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callCreate.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecallcode_111_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMBefore2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_call_value_inherit.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_calldelcode_01_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallLoseGasOOG.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callWithHighValueAndGasOOG.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log_Caller.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callToStaticOpCodeCheck.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRipemd160_3_prefixed0.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcode_01_OOGE_2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_RevertOpcodeCalls.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcode_01_SuicideEnd.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMBefore.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallSha256_3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log1_logMemsizeZero.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGE.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallIdentity_4_gas18.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call50000_identity2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call50000_identity.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call10.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_ExecuteCallThatAskForeGasThenTrabsactionHas.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_ReturnTest.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_call_OOG_additionalGasCosts2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_call_OOG_additionalGasCosts1.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallSha256_5.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callToCallOpCodeCheck.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_contractCreationMakeCallThatAskMoreGasThenTransactionProvided.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CalltoReturn2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallContractToCreateContractOOGBonusGas.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecoverCheckLength.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcall_000_SuicideEnd.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecover80.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_refund_CallToSuicideNoStorage.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callWithHighValue.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CheckOpcodes.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Return50000_2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMBefore.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRecursiveBomb0_OOG_atMaxCallDepth.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallGoesOOGOnSecondLevel2.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecoverV_prefixed0.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallSha256_3_postfix0.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecover0_gas3000.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callWithHighValueAndOOGatTxLevel.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call1024PreCalls2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallAndCallcodeConsumeMoreGasThenTransactionHas.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMBefore2.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecoverH_prefixed0.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGE_2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_2.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_InternalCallHittingGasLimit2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_ABAcalls2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMBefore2.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call50000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcode_01_2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callBasic.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecover0_completeReturnValue.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call1024PreCalls3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallContractToCreateContractOOG.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRipemd160_4_gas719.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallGoesOOGOnSecondLevel.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callToCallCodeOpCodeCheck.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecover3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log1_emptyMem.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CALL_ZeroVCallSuicide.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call1MB1024Calldepth.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecall_10_SuicideEnd.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecover0_overlappingInputOutput.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_1102.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log0_logMemsizeTooHigh.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallSha256_4.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMBefore.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_RawCallGasAsk.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideMiddle.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log0_logMemsizeZero.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecall_10_OOGE_2.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log1_logMemsizeTooHigh.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call50000_ecrec.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGE.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMBefore.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallIdentity_4.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallSha256_1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_RETURN_Bounds.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_PostToReturn1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call1024BalanceTooLow.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallSha256_1_nonzeroValue.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_calldelcode_01.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideEnd2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMBefore2.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stAttackTest/ContractCreationSpam.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stAttackTest/CrashingTransaction.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stStackTests/shallowStack.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStackTests/stackOverflowM1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStackTests/stackOverflow.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStackTests/stackOverflowDUP.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStackTests/stackOverflowM1DUP.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStackTests/stackOverflowPUSH.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stStackTests/stackOverflowM1PUSH.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallRipemd160_2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecoverR_prefixed0.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecover3.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODERipemd160_0.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEIdentity_5.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEIdentity_4_gas17.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecover0_completeReturnValue.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverCheckLengthWrongV.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecover80.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODERipemd160_3_postfixed0.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEIdentity_2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecover0_gas3000.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/modexp_0_0_0_35000.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallIdentity_6_inputShorterThanOutput.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallRipemd160_1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecover0_overlappingInputOutput.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverH_prefixed0.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallIdentity_3.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEIdentity_4_gas18.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODERipemd160_2.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODESha256_3_prefix0.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallRipemd160_5.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODERipemd160_4.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEIdentitiy_1.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecover3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecover0_Gas2999.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODESha256_2.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecover0_NoGas.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODESha256_4_gas99.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecover0_gas3000.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverV_prefixed0.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallRipemd160_4_gas719.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODESha256_1_nonzeroValue.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecover1.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEIdentity_1_nonzeroValue.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallRipemd160_0.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODERipemd160_3.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallSha256_0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODESha256_5.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecoverS_prefixed0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODESha256_3_postfix0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecoverH_prefixed0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallIdentity_4.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODESha256_1.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverR_prefixed0.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverUnrecoverableKey.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecover0_0input.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODESha256_4.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallSha256_3_postfix0.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecover0_NoGas.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallSha256_2.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecover80.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecover0.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODERipemd160_4_gas719.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallIdentity_1_nonzeroValue.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/modexp_0_0_0_25000.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallSha256_4_gas99.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallSha256_1_nonzeroValue.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecover2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecoverV_prefixedf0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallIdentity_2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverInvalidSignature.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallIdentity_4_gas18.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODESha256_3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/modexpRandomInput.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecover0_completeReturnValue.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallIdentity_4_gas17.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecover0_Gas2999.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecover0_overlappingInputOutput.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODESha256_0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallRipemd160_4.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecover0.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEIdentity_3.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/modexp_0_0_0_20500.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecover1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecover2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallSha256_4.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallSha256_1.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODERipemd160_1.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallSha256_5.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallRipemd160_3_prefixed0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecoverV_prefixed0.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/modexp_0_0_0_22000.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallSha256_3.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverCheckLength.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecover0_0input.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallIdentitiy_1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallRipemd160_3_postfixed0.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverS_prefixed0.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODERipemd160_3_prefixed0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallIdentity_5.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODERipemd160_5.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallIdentitiy_0.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEIdentitiy_0.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallSha256_3_prefix0.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEIdentity_4.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallRipemd160_3.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stInitCodeTest/OutOfGasContractCreation.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stInitCodeTest/TransactionCreateStopInInitcode.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stInitCodeTest/ReturnTest.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stInitCodeTest/CallContractToCreateContractOOG.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stInitCodeTest/TransactionCreateSuicideInInitcode.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stInitCodeTest/CallRecursiveContract.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stInitCodeTest/CallContractToCreateContractNoCash.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stInitCodeTest/OutOfGasPrefundedContractCreation.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stInitCodeTest/TransactionCreateAutoSuicideContract.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stInitCodeTest/CallContractToCreateContractAndCallItOOG.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stInitCodeTest/CallContractToCreateContractWhichWouldCreateContractInInitCode.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stInitCodeTest/TransactionCreateRandomInitCode.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stInitCodeTest/ReturnTest2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stInitCodeTest/CallContractToCreateContractOOGBonusGas.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stInitCodeTest/NotEnoughCashContractCreation.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stInitCodeTest/CallTheContractToCreateEmptyContract.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stInitCodeTest/CallContractToCreateContractWhichWouldCreateContractIfCalled.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stInitCodeTest/StackUnderFlowContractCreation.json", + ); + + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9935_21000_128.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_two_point_match_5.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_two_point_fail_1.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_bad_length_191.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9935_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9935_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_5617_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_9935_28000_96.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1_21000_96.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_5616_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_perturb_g2_by_field_modulus.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9_28000_128.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/pointAddTrunc.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5617_21000_128.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1456_21000_80.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_two_point_match_4.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1_21000_128.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_28000_80.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1456_21000_128.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_2_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9_21000_96.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_28000_80.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_2_28000_128.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_three_point_fail_1.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_21000_96.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9935_21000_128.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_1_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_28000_80.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_9_21000_96.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_two_point_match_3.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_one_point_fail.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_empty_data.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_9_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_perturb_g2_by_field_modulus_again.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_three_point_match_1.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_5617_28000_128.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5617_28000_96.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_9935_21000_96.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9935_28000_128.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/pointMulAdd.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_2_28000_96.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_5617_21000_128.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_perturb_g2_by_one.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/pairingTest.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_5617_21000_128.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5616_21000_96.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1456_28000_128.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_5616_28000_128.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_28000_96.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_1_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_5616_28000_96.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_21000_96.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_5616_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_9935_28000_128.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5617_28000_128.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9935_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_21000_80.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_9_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_616_28000_96.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_2_21000_128.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_21000_128.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_bad_length_193.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_21000_80.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9_28000_96.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9_21000_128.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1456_28000_80.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1_28000_96.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_perturb_zeropoint_by_field_modulus.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_2_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_perturb_g2_by_curve_order.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_5617_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_5617_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_9_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_5617_28000_96.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_28000_128.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_5616_21000_128.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_2_21000_96.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1456_28000_96.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_2_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_5616_28000_128.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5617_21000_96.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_1_28000_128.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1_28000_128.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_21000_96.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9935_21000_96.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9_21000_96.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_21000_80.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1456_21000_96.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_one_point_with_g2_zero.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_28000_80.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_empty_data_insufficient_gas.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/pointMulAdd2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_2_28000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_5617_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_perturb_zeropoint_by_one.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_28000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_1_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_perturb_zeropoint_by_curve_order.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_two_point_match_1.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_two_point_match_2.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_2_28000_128.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_21000_96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_one_point_insufficient_gas.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_5616_21000_96.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_one_point_with_g1_zero.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_one_point_not_in_subgroup.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_21000_128.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_one_point_with_g2_zero_and_g1_invalid.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5616_28000_128.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_two_point_oog.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_21000_64.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_21000_80.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_21000_64.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_28000_64.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/pointAdd.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9935_28000_96.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_2_28000_96.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_two_point_fail_2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_28000_64.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5616_28000_96.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_9935_21000_128.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5616_21000_128.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_two_points_with_one_g2_zero.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawDelegateCallGasMemoryAsk.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallCodeGasMemoryAsk.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallGasValueTransferMemory.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawDelegateCallGasMemory.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawBalanceGas.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawDelegateCallGas.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallGasAsk.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawDelegateCallGasAsk.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCreateFailGasValueTransfer.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallCodeGasValueTransferMemory.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawExtCodeCopyMemoryGas.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallMemoryGas.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallCodeGasValueTransferAsk.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCreateGasMemory.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawExtCodeSizeGas.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallCodeGas.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallCodeGasValueTransferMemoryAsk.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCreateFailGasValueTransfer2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCreateGasValueTransfer.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallGasValueTransfer.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallCodeGasAsk.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallMemoryGasAsk.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallGasValueTransferMemoryAsk.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallGas.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallGasValueTransferAsk.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallCodeGasValueTransfer.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawExtCodeCopyGas.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCreateGasValueTransferMemory.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallCodeGasMemory.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCreateGas.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcallcode_101_OOGMAfter_2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcodecallcode_111_OOGMAfter_2.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcall_00_OOGE_valueTransfer.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcallcallcode_001_OOGMAfter_2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcallcodecallcode_011_OOGMAfter_2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcallcode_101_OOGMAfter_3.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcallcallcode_001_OOGMAfter_3.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcall_00_OOGE_1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcodecall_110_OOGMAfter_2.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stChangedEIP150/createInitFail_OOGduringInit.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/Callcode1024BalanceTooLow.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcodecallcode_111_OOGMAfter_3.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcall_100_OOGMAfter_3.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/contractCreationMakeCallThatAskMoreGasThenTransactionProvided.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/Call1024PreCalls.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/Call1024BalanceTooLow.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcall_100_OOGMAfter_1.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcallcode_101_OOGMAfter_1.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcallcallcode_001_OOGMAfter_1.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcallcodecallcode_011_OOGMAfter_1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcodecallcode_111_OOGMAfter.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcodecallcode_111_OOGMAfter_1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcodecall_110_OOGMAfter_1.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcallcodecall_010_OOGMAfter_3.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcall_00_OOGE_2.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcall_100_OOGMAfter_2.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcallcodecall_010_OOGMAfter_2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcodecall_110_OOGMAfter_3.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcallcodecall_010_OOGMAfter_1.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcallcall_000_OOGMAfter.json", + ); + + skip_file(r"./tests/jsondata/GeneralStateTests/stExample/add11.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/TestCryptographicFunctions.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stSolidityTest/CallLowLevelCreatesSolidity.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/ContractInheritance.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/CreateContractFromMethod.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/RecursiveCreateContractsCreate4Contracts.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/RecursiveCreateContracts.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/CallInfiniteLoop.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/TestKeywords.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/TestContractSuicide.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/TestOverflow.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/AmbiguousMethod.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/TestStoreGasPrices.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/TestContractInteraction.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stSolidityTest/TestStructuresAndVariabless.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stSolidityTest/TestBlockAndTransactionProperties.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/CallRecursiveMethods.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150Specific/CallAndCallcodeConsumeMoreGasThenTransactionHas.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stEIP150Specific/CallGoesOOGOnSecondLevel2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150Specific/CallAskMoreGasOnDepth2ThenTransactionHas.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150Specific/DelegateCallOnEIP.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150Specific/NewGasPriceForCodes.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150Specific/Transaction64Rule_d64p1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150Specific/CallGoesOOGOnSecondLevel.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stEIP150Specific/SuicideToExistingContract.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150Specific/Transaction64Rule_d64m1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150Specific/CreateAndGasInsideCreate.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150Specific/ExecuteCallThatAskForeGasThenTrabsactionHas.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stEIP150Specific/SuicideToNotExistingContract.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150Specific/Transaction64Rule_d64e0.json"); + + skip_file( + r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Call50000_rip160.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Call50000_identity.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Callcode50000.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Call50000_identity2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Call50000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Create1000.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/QuadraticComplexitySolidity_CallDataCopy.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Return50000.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Create1000Byzantium.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Call50000bytesContract50_2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Call50000_ecrec.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Call1MB1024Calldepth.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Return50000_2.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Call50000_sha256.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Call50000bytesContract50_3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Call50000bytesContract50_1.json"); + + skip_file( + r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CreateHashCollision.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToNameRegistratorAddressTooBigLeft.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/createWithInvalidOpcode.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/callcodeToNameRegistratorAddresTooBigRight.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/suicideCoinbase.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/createNameRegistratorValueTooHigh.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/ABAcallsSuicide0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/suicideCallerAddresTooBigLeft.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallRecursiveBomb3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/callcodeTo0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/return0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToNameRegistratorNotMuchMemory0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/return1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallRecursiveBomb0.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/doubleSelfdestructTest2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToNameRegistratorOutOfGas.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/suicideAddress.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CalltoReturn2.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/currentAccountBalance.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallRecursiveBomb2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/testRandomTest.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/doubleSelfdestructTest.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/callValue.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallRecursiveBomb0_OOG_atMaxCallDepth.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallRecursiveBombLog2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToNameRegistratorMemOOGAndInsufficientBalance.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/ABAcalls3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToReturn1ForDynamicJump0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/ABAcalls2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/PostToReturn1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/extcodecopy.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/createNameRegistrator.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToNameRegistratorTooMuchMemory1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/createNameRegistratorOOG_MemExpansionOOV.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/return2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToNameRegistratorTooMuchMemory2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/Call10.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToNameRegistratorAddressTooBigRight.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/ABAcalls1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/ABAcallsSuicide1.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToNameRegistrator0.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/createNameRegistratorOutOfMemoryBonds0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/callcodeToNameRegistrator0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/suicideCallerAddresTooBigRight.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToNameRegistratorNotMuchMemory1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToNameRegistratorZeorSizeMemExpansion.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/TestNameRegistrator.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/callcodeToNameRegistratorAddresTooBigLeft.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/createNameRegistratorOutOfMemoryBonds1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/callcodeToReturn1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/ABAcalls0.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/balanceInputAddressTooBig.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallRecursiveBomb1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/createNameRegistratorZeroMemExpansion.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/createNameRegistratorZeroMem.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToNameRegistratorTooMuchMemory0.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/suicideSendEtherPostDeath.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/callerAccountBalance.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/suicideNotExistingAccount.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/createNameRegistratorZeroMem2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/suicideCaller.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallRecursiveBombLog.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/suicideSendEtherToMe.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToReturn1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/callcodeToNameRegistratorZeroMemExpanion.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToReturn1ForDynamicJump1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/suicideOrigin.json"); + + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_CALLCODE_OOGRevert.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_DELEGATECALL_OOGRevert.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_CALLCODE_ToNonZeroBalance_OOGRevert.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_CALL_ToOneStorageKey_OOGRevert.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_TransactionCALLwithData_ToEmpty_OOGRevert.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_SUICIDE_OOGRevert.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_SUICIDE_ToNonZeroBalance_OOGRevert.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_TransactionCALLwithData_ToNonZeroBalance_OOGRevert.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_TransactionCALL_ToEmpty_OOGRevert.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_CALL_OOGRevert.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_CALLCODE_ToOneStorageKey_OOGRevert.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_SUICIDE_ToEmpty_OOGRevert.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_DELEGATECALL_ToOneStorageKey_OOGRevert.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_CALL_ToNonZeroBalance_OOGRevert.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_DELEGATECALL_ToEmpty_OOGRevert.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_DELEGATECALL_ToNonZeroBalance_OOGRevert.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_CALLCODE_ToEmpty_OOGRevert.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_TransactionCALLwithData_ToOneStorageKey_OOGRevert.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_CALL_ToEmpty_OOGRevert.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_TransactionCALL_OOGRevert.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_TransactionCALL_ToNonZeroBalance_OOGRevert.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_TransactionCALLwithData_OOGRevert.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_TransactionCALL_ToOneStorageKey_OOGRevert.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_SUICIDE_ToOneStorageKey_OOGRevert.json"); + + skip_file( + r"./tests/jsondata/GeneralStateTests/stRecursiveCreate/recursiveCreateReturnValue.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stRecursiveCreate/recursiveCreate.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest321.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest354.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest296.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest54.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest353.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest59.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest263.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest318.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest153.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest171.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest161.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest338.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest294.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest204.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest16.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest367.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest211.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest214.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest287.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest97.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest372.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest281.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest179.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest216.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest306.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest95.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest89.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest276.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest320.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest341.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest104.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest180.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest357.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest26.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest311.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest157.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest158.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest288.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest174.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest135.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest222.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest323.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest225.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest164.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest286.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest90.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest347.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest117.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest149.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest74.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest19.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest361.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest125.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest248.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest308.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest178.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest48.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest197.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest366.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest105.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest292.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest362.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest309.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest92.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest163.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest119.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest196.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest332.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest349.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest84.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest72.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest251.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest198.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest101.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest236.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest51.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest274.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest58.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest346.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest49.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest124.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest36.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest23.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest189.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest310.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest24.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest73.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest359.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest33.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest202.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest369.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest27.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest268.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest96.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest63.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest103.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest60.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest298.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest370.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest371.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest299.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest133.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest264.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest116.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest360.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest122.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest339.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest334.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest42.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest208.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest9.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest139.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest156.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest151.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest368.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest147.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest201.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest112.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest333.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest195.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest348.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest78.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest131.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest242.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest82.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest45.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest364.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest282.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest108.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest138.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest28.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest18.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest67.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest188.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest221.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest75.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest6.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest230.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest260.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest31.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest126.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest278.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest172.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest301.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest111.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest217.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest80.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest192.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest121.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest254.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest64.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest118.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest154.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest177.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest266.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest220.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest303.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest83.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest316.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest50.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest187.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest342.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest249.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest345.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest232.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest250.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest313.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest383.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest246.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest261.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest4.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest381.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest47.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest275.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest129.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest363.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest259.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest155.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest336.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest257.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest351.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest85.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest176.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest53.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest205.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest14.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest302.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest382.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest183.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest358.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest271.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest378.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest329.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest343.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest98.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest227.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest300.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest190.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest209.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest146.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest145.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest25.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest115.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest81.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest17.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest210.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest173.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest88.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest379.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest307.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest175.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest69.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest376.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest291.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest215.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest194.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest243.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest228.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest326.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest322.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest159.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest22.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest29.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest233.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest184.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest312.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest143.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest206.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest270.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest106.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest325.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest283.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest285.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest290.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest150.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest279.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest120.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest20.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest212.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest293.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest237.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest13.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest191.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest39.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest226.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest10.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest167.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest247.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest238.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest273.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest148.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest43.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest110.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest356.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest365.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest280.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest244.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest245.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest32.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest340.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest352.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest114.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest295.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest335.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest200.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest380.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest41.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest102.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest355.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest185.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest219.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest100.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest350.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest130.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest62.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest37.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest87.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest169.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest30.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest7.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest252.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest55.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest267.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest5.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest315.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest207.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest304.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest166.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest269.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest107.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest144.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest305.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest52.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest137.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest134.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest66.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest142.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest231.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest265.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest57.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest327.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest162.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest337.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest297.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest12.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest11.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest77.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest199.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest15.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/delegatecallSenderCheck.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callcodeOutput3Fail.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callOutput3Fail.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callcodeWithHighValueAndGasOOG.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/delegatecallInInitcodeToExistingContract.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/delegatecodeDynamicCode2SelfCall.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callcodeOutput3partial.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callcodeOutput2.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callcodeOutput1.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callWithHighValueAndGasOOG.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/delegatecallInInitcodeToEmptyContract.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/Call1024OOG.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/CallLoseGasOOG.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/Delegatecall1024.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/delegatecallValueCheck.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callOutput1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/delegatecallOOGinCall.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/delegatecodeDynamicCode.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callcodeOutput3.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callOutput3partial.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/CallcodeLoseGasOOG.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/Call1024PreCalls.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/Call1024BalanceTooLow.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/delegatecallAndOOGatTxLevel.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/delegatecallEmptycontract.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/Delegatecall1024OOG.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callOutput3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/delegatecallInInitcodeToExistingContractOOG.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/deleagateCallAfterValueTransfer.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/delegatecallBasic.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callOutput3partialFail.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/CallRecursiveBombPreCall.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callcodeOutput3partialFail.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callOutput2.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb+31.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/log4_dejavu.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb-1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb+32.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb_singleByte+1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb_singleByte-32.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb_singleByte-1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mload_dejavu.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb_singleByte+32.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/stackLimitPush31_1023.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/callDataCopyOffset.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb+1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb-33.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb_singleByte+33.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb_singleByte+31.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb_singleByte+32.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/stackLimitGas_1023.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/log3_dejavu.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb_singleByte-33.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb+33.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/stackLimitPush32_1024.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/log1_dejavu.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb+1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/log2_dejavu.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb-32.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb-33.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mstroe8_dejavu.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb+32.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/calldatacopy_dejavu.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/codeCopyOffset.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/calldatacopy_dejavu2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb+33.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb_singleByte-31.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/stackLimitGas_1025.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb_singleByte.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/codecopy_dejavu.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mload8bitBound.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/codecopy_dejavu2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb_singleByte-32.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb_singleByte-1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb_singleByte.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/stackLimitGas_1024.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb-32.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb-31.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/stackLimitPush31_1024.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb_singleByte-31.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem0b_singleByte.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem33b_singleByte.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/stackLimitPush32_1025.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/sha3_dejavu.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/memReturn.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb_singleByte+1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32b_singleByte.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem31b_singleByte.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/stackLimitPush32_1023.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/extcodecopy_dejavu.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb-1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb_singleByte+31.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb_singleByte+33.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb-31.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mstore_dejavu.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/stackLimitPush31_1025.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb+31.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mload16bitBound.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb_singleByte-33.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/create2callPrecompiles.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/create2collisionSelfdestructed2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/call_outsize_then_create2_successful_then_returndatasize.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/call_then_create2_successful_then_returndatasize.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/Create2OOGafterInitCodeRevert2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/CREATE2_ContractSuicideDuringInit_ThenStoreThenReturn.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/create2collisionSelfdestructed.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/CreateMessageReverted.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/RevertOpcodeCreate.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/create2InitCodes.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCreate2/Create2OOGafterInitCodeReturndata2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/RevertInCreateInInitCreate2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/create2collisionCode.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/CREATE2_Bounds3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/CREATE2_Bounds.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCreate2/Create2OOGafterInitCodeReturndata.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCreate2/RevertOpcodeInCreateReturnsCreate2.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/returndatasize_following_successful_create.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/Create2OnDepth1024.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/create2collisionBalance.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/CREATE2_Suicide.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/Create2OnDepth1023.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCreate2/RevertDepthCreateAddressCollision.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/Create2OOGafterInitCode.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCreate2/Create2OOGafterInitCodeReturndata3.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/Create2OOGafterInitCodeRevert.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/create2checkFieldsInInitcode.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/Create2Recursive.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/RevertDepthCreate2OOG.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/create2SmartInitCode.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/CreateMessageRevertedOOGInInit.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/create2collisionNonce.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCreate2/returndatacopy_afterFailing_create.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/create2collisionCode2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/create2collisionStorage.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCreate2/Create2OOGafterInitCodeReturndataSize.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCreate2/create2collisionSelfdestructedOOG.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/returndatacopy_following_revert_in_create.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/returndatacopy_0_0_following_successful_create.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/create2noCash.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/CREATE2_Bounds2.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCreate2/create2collisionSelfdestructedRevert.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/returndatacopy_following_create.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/returndatacopy_following_successful_create.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/JUMPDEST_AttackwithJump.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/failed_tx_xcf416c53.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/deploymentError.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/tx_e1c174e2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/sha3_deja.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/txCost-sec73.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/gasPrice0.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/OverflowGasMakeMoney.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/StackDepthLimitSEC.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/JUMPDEST_Attack.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/makeMoney.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/push32withoutByte.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/block504980.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/FailedCreateRevertsDeletion.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcall_100.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecall_010_SuicideEnd.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcallcode_001_OOGMBefore.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcall_00_OOGE_valueTransfer.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecall_010_OOGMAfter.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcall_00.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecallcode_111.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecall_110_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcall_ABCB_RECURSIVE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodeDynamicCode.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecallcode_011_SuicideMiddle.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodeEmptycontract.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcode_checkPC.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcallcode_101_SuicideEnd.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/call_OOG_additionalGasCosts2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecall_010.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcall_000_SuicideMiddle.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcall_000.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecall_110_OOGMBefore.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcode_11.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcall_00_OOGE.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcall_100_OOGMBefore.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcall_100_SuicideMiddle.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecallcode_011_SuicideEnd.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcall_000_OOGE.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcallcode_ABCB_RECURSIVE.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcall_ABCB_RECURSIVE.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecall_010_SuicideMiddle.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodeInInitcodeToExisContractWithVTransferNEMoney.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcallcode_001_OOGE.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcode_11_SuicideEnd.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecall_ABCB_RECURSIVE.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecall_010_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodeDynamicCode2SelfCall.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcall_000_SuicideEnd.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcallcode_001_SuicideEnd.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodeInInitcodeToEmptyContract.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcallcode_101_OOGMBefore.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcallcode_ABCB_RECURSIVE.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecallcode_111_OOGMBefore.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecallcode_011_OOGMAfter.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcall_100_SuicideEnd.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcallcode_101_OOGMAfter.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecallcode_ABCB_RECURSIVE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecallcode_111_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcall_00_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecallcode_011.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecall_110_SuicideMiddle.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecallcode_011_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcode_11_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecallcode_111_SuicideMiddle.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecallcode_111_OOGMAfter.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecallcode_ABCB_RECURSIVE.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecall_ABCB_RECURSIVE.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecall_10_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcallcode_101_OOGE.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcallcode_001_SuicideMiddle.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecall_010_OOGMBefore.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecall_110.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcallcode_001.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcallcode_001_OOGMAfter.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecallcode_011_OOGMBefore.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodeInInitcodeToExistingContract.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcall_000_OOGMBefore.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcall_100_OOGMAfter.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecall_10_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/call_OOG_additionalGasCosts1.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecall_110_SuicideEnd.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcode_01_SuicideEnd.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecall_10.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecall_110_OOGMAfter.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcallcode_101.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcall_100_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcode_01_OOGE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcallcode_101_SuicideMiddle.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecallcode_111_OOGE.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcall_000_OOGMAfter.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodeInInitcodeToExistingContractWithValueTransfer.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcode_01.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createNameRegistratorPerTxs.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/Callcode1024OOG.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createNameRegistratorPreStore1NotEnoughGas.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createInitFailStackSizeLargerThan1024.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callcodeOutput3Fail.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callOutput3Fail.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callcodeWithHighValueAndGasOOG.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callcodeOutput3partial.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callcodeOutput2.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createInitOOGforCREATE.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callWithHighValueAndOOGatTxLevel.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callcodeOutput1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callWithHighValueAndGasOOG.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createJS_ExampleContract.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/Call1024OOG.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createInitFailBadJumpDestination.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createInitFailUndefinedInstruction.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/CallLoseGasOOG.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createInitFail_OOGduringInit.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callOutput1.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/Callcode1024BalanceTooLow.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callcodeOutput3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createNameRegistratorPerTxsNotEnoughGas.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callOutput3partial.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callWithHighValue.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/CallcodeLoseGasOOG.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/Call1024PreCalls.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/Call1024BalanceTooLow.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callWithHighValueOOGinCall.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callcodeWithHighValue.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callOutput3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createInitFailStackUnderflow.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createJS_NoCollision.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createFailBalanceTooLow.json", + ); + skip_file( + r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callOutput3partialFail.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/CallRecursiveBombPreCall.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callcodeOutput3partialFail.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callOutput2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createNameRegistratorendowmentTooHigh.json"); + + skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashDeletedAccount2.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashCreatedAndDeletedAccountRecheckInOuterCall.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashSubcallSuicide.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashDeletedAccount.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashPrecompiles.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashAccountWithoutCode.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashCreatedAndDeletedAccountCall.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashCALL.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashSelf.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashDynamicArgument.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashInInitCode.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/codeCopyZero.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashNonExistingAccount.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashDeletedAccount3.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeCopyBounds.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashNewAccount.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashChangedAccount.json"); + skip_file( + r"./tests/jsondata/GeneralStateTests/stExtCodeHash/dynamicAccountOverwriteEmpty.json", + ); + skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashCALLCODE.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashSTATICCALL.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashCreatedAndDeletedAccountStaticCall.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashSubcallOOG.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashMaxCodeSize.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashSelfInInit.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashCreatedAndDeletedAccount.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashDELEGATECALL.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashDeletedAccount4.json"); + skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashDeletedAccount1.json"); +} diff --git a/tests/test_helper/Cargo.toml b/tests/test_helper/Cargo.toml new file mode 100644 index 000000000..54e3f499e --- /dev/null +++ b/tests/test_helper/Cargo.toml @@ -0,0 +1,14 @@ +[package] +name = "test_helper" +version = "0.1.0" +authors = ["Cryptape Technologies "] +edition = "2018" + +[dependencies] +ethereum-types = "0.4.0" +tiny-keccak = "1.4.2" +hex = "0.3" +libsecp256k1 = "0.2.2" + +core-executor = { path="../../cita-executor/core"} +evm = { path="../../cita-executor/evm"} diff --git a/tests/test_helper/src/helper.rs b/tests/test_helper/src/helper.rs new file mode 100644 index 000000000..74e6570cd --- /dev/null +++ b/tests/test_helper/src/helper.rs @@ -0,0 +1,71 @@ +use core_executor::cita_db::{journaldb, kvdb, KeyValueDB}; +use core_executor::db; +use core_executor::state::State; +use core_executor::state_db::StateDB; +use ethereum_types::Public; +use evm::cita_types::{Address, H256, U256}; +use std::sync::Arc; + +pub fn clean_0x(s: &str) -> &str { + if s.starts_with("0x") { + &s[2..] + } else { + s + } +} + +pub fn string_2_u256(value: String) -> U256 { + let v = Box::leak(value.into_boxed_str()); + let v = clean_0x(v); + U256::from(v) +} + +pub fn string_2_h256(value: String) -> H256 { + let v = Box::leak(value.into_boxed_str()); + let v = clean_0x(v); + if v.len() < 64 { + let mut s = String::from("0").repeat(64 - v.len()); + s.push_str(v); + let s: &'static str = Box::leak(s.into_boxed_str()); + return H256::from(s); + } + H256::from(v) +} + +pub fn string_2_bytes(value: String) -> Vec { + let v = Box::leak(value.into_boxed_str()); + let v = clean_0x(v); + hex::decode(v).unwrap() +} + +pub fn public_2_address(public: &Public) -> Address { + let hash = tiny_keccak::keccak256(&public.0); + let mut result = Address::default(); + result.copy_from_slice(&hash[12..]); + result +} + +pub fn secret_2_address(secret: &str) -> Address { + let a = hex::decode(clean_0x(secret)).unwrap(); + let secret_key = secp256k1::SecretKey::parse_slice(a.as_slice()).unwrap(); + let public_key = secp256k1::PublicKey::from_secret_key(&secret_key); + let serialized = public_key.serialize(); + let mut public = Public::default(); + public.copy_from_slice(&serialized[1..65]); + public_2_address(&public) +} + +pub fn get_temp_state() -> State { + let state_db = get_temp_state_db(); + State::new(state_db, 0.into(), Default::default()) +} + +pub fn new_db() -> Arc { + Arc::new(kvdb::in_memory(8)) +} + +pub fn get_temp_state_db() -> StateDB { + let db = new_db(); + let journal_db = journaldb::new(db, journaldb::Algorithm::Archive, db::COL_STATE); + StateDB::new(journal_db, 5 * 1024 * 1024) +} diff --git a/tests/test_helper/src/lib.rs b/tests/test_helper/src/lib.rs new file mode 100644 index 000000000..5d03cb04c --- /dev/null +++ b/tests/test_helper/src/lib.rs @@ -0,0 +1,3 @@ +mod helper; + +pub use helper::{get_temp_state, secret_2_address, string_2_bytes, string_2_h256, string_2_u256}; From e7d6304edb58cb8def885dba2612efa71d29ca5c Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Tue, 9 Apr 2019 18:28:45 +0800 Subject: [PATCH 48/96] Remove skip file. --- tests/state_test/src/main.rs | 3254 ---------------------------------- 1 file changed, 3254 deletions(-) diff --git a/tests/state_test/src/main.rs b/tests/state_test/src/main.rs index 29c936a3c..f5b03d245 100644 --- a/tests/state_test/src/main.rs +++ b/tests/state_test/src/main.rs @@ -113,8 +113,6 @@ fn test_json_path(p: &str) { fn skip_path(_reason: &str, _name: &str) {} -fn skip_file(_name: &str) {} - fn main() { env_logger::init(); @@ -315,3256 +313,4 @@ fn main() { "run tests integration", r"./tests/jsondata/GeneralStateTests/stExtCodeHash", ); - - test_json_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_TxToSuicide.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_singleSuicide.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_CallA.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_NoOOG_1.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_CallA_notEnoughGasInCall.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_TxToSuicideOOG.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund50_2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_getEtherBack.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_changeNonZeroStorage.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_OOG.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_CallToSuicideTwice.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_CallToSuicideStorage.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refundSuicide50procentCap.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund600.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund50percentCap.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_CallToSuicideNoStorage.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund50_1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_CallA_OOG.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRefundTest/refund_multimpleSuicide.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stCodeCopyTest/ExtCodeCopyTargetRangeLongerThanCodeTests.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCodeCopyTest/ExtCodeCopyTests.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stMemExpandingEIP150Calls/DelegateCallOnEIPWithMemExpandingCalls.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemExpandingEIP150Calls/CallGoesOOGOnSecondLevel2WithMemExpandingCalls.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemExpandingEIP150Calls/CreateAndGasInsideCreateWithMemExpandingCalls.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemExpandingEIP150Calls/CallAskMoreGasOnDepth2ThenTransactionHasWithMemExpandingCalls.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemExpandingEIP150Calls/CallGoesOOGOnSecondLevelWithMemExpandingCalls.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemExpandingEIP150Calls/CallAndCallcodeConsumeMoreGasThenTransactionHasWithMemExpandingCalls.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemExpandingEIP150Calls/NewGasPriceForCodesWithMemExpandingCalls.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemExpandingEIP150Calls/ExecuteCallThatAskMoreGasThenTransactionHasWithMemExpandingCalls.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGMBefore.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGMAfter.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_SuicideMiddle.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGMBefore.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGMBefore.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_SuicideMiddle.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_ABCB_RECURSIVE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_ABCB_RECURSIVE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_SuicideMiddle.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_ABCB_RECURSIVE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGMBefore.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_ABCB_RECURSIVE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGMBefore.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGMAfter.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGMAfter.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_ABCB_RECURSIVE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_SuicideMiddle.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_SuicideMiddle.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGMAfter.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_ABCB_RECURSIVE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_ABCB_RECURSIVE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecall_10_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_SuicideMiddle.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGMBefore.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGMAfter.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGMBefore.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGMAfter.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecall_10_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcode_01_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecall_10.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGMAfter.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcode_01_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_SuicideMiddle.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead/callcallcode_01.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertPrefound.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertOpcodeInCreateReturns.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertOnEmptyStack.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertOpcode.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertOpcodeCreate.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertOpcodeMultipleSubCalls.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/LoopCallsThenRevert.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertPrefoundEmptyCall.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertPrefoundCall.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertPrecompiledTouch_storage.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertRemoteSubCallStorageOOG2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/TouchToEmptyAccountRevert.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertInStaticCall.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/LoopCallsDepthThenRevert2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertPrefoundEmptyCallOOG.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertPrefoundOOG.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertDepthCreateAddressCollision.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertPrecompiledTouch_nonce.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertOpcodeReturn.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/TouchToEmptyAccountRevert3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertPrefoundCallOOG.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/LoopCallsDepthThenRevert3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertOpcodeInInit.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertOpcodeCalls.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertPrecompiledTouch_noncestorage.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertSubCallStorageOOG2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/NashatyrevSuicideRevert.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stRevertTest/LoopDelegateCallsDepthThenRevert.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertInCallCode.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertInCreateInInit.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertOpcodeInCallsOnNonEmptyReturnData.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertDepthCreateOOG.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertDepth2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertPrefoundEmptyOOG.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertRemoteSubCallStorageOOG.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertOpcodeDirectCall.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/LoopCallsDepthThenRevert.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/TouchToEmptyAccountRevert2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertInDelegateCall.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertOpcodeWithBigOutputInInit.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertPrecompiledTouch.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stRevertTest/PythonRevertTestTue201814-1430.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertSubCallStorageOOG.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRevertTest/RevertPrefoundEmpty.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/callcodeNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/divNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/log1NonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/modNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/signextNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/sloadNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/andNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/sstoreNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/sdivNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/addNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/log0NonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/returnNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/extcodecopyNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/iszeroNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/sgtNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/log3NonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/jumpNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/log2NonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/mloadNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/smodNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/mulmodNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/mulNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/delegatecallNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/createNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/sha3NonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/suicideNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/extcodesizeNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/orNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/jumpiNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/ltNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/calldatacopyNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/expNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/notNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/gtNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/eqNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/calldataloadNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/byteNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/codecopyNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/mstoreNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/callNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/xorNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/sltNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/addmodNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/subNonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/mstore8NonConst.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance/balanceNonConst.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/CALL_Bounds.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/CALLCODE_Bounds.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/DUP_Bounds.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/CALLCODE_Bounds4.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/MSTORE_Bounds2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/MSTORE_Bounds2a.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/MLOAD_Bounds3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/mload32bitBound2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/JUMP_Bounds2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/CALL_Bounds2a.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/mload32bitBound.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/DELEGATECALL_Bounds.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/mload32bitBound_Msize.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/DELEGATECALL_Bounds2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/JUMP_Bounds.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/CREATE_Bounds3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/MSTORE_Bounds.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/static_CALL_Bounds3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/FillStack.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/RETURN_Bounds.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/SSTORE_Bounds.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/static_CALL_Bounds2a.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/MLOAD_Bounds2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/CALL_Bounds2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/CREATE_Bounds.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/static_CALL_Bounds2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/CALLCODE_Bounds2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/CALL_Bounds3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/DELEGATECALL_Bounds3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/static_CALL_Bounds.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/MLOAD_Bounds.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/SLOAD_Bounds.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/JUMPI_Bounds.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/POP_Bounds.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/CALLCODE_Bounds3.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/mload32bitBound_return2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/mload32bitBound_return.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryStressTest/CREATE_Bounds2.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/TransactionToAddressh160minusOne.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stTransactionTest/SuicidesStopAfterSuicide.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/InternalCallHittingGasLimitSuccess.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/TransactionDataCosts652.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/TransactionNonceCheck.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/CreateMessageReverted.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/Opcodes_TransactionInit.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/UserTransactionGasLimitIsTooLowWhenZeroCost.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/TransactionToItself.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/SuicidesAndInternlCallSuicidesSuccess.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stTransactionTest/InternalCallHittingGasLimit2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/StoreGasOnCreate.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stTransactionTest/InternlCallStoreClearsSucces.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/RefundOverflow.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/ContractStoreClearsOOG.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/EmptyTransaction.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/OverflowGasRequire2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/TransactionNonceCheck2.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stTransactionTest/CreateTransactionReverted.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/SuicidesAndInternlCallSuicidesBonusGasAtCallFailed.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/UserTransactionZeroCostWithData.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/StoreClearsAndInternlCallStoreClearsOOG.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stTransactionTest/TransactionSendingToZero.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/TransactionFromCoinbaseNotEnoughFounds.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/UserTransactionZeroCost.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stTransactionTest/InternalCallHittingGasLimit.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stTransactionTest/CreateTransactionSuccess.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/StoreClearsAndInternlCallStoreClearsSuccess.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stTransactionTest/InternlCallStoreClearsOOG.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/CreateMessageSuccess.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/SuicidesAndInternlCallSuicidesOOG.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/EmptyTransaction3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/HighGasLimit.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/SuicidesAndInternlCallSuicidesBonusGasAtCall.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/TransactionToItselfNotEnoughFounds.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stTransactionTest/ContractStoreClearsSuccess.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/SuicidesMixingCoinbase.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/EmptyTransaction2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/OverflowGasRequire.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stTransactionTest/TransactionSendingToEmpty.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/SuicidesAndSendMoneyToItselfEtherDestroyed.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransactionTest/RefundOverflow2.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/call_outsize_then_create_successful_then_returndatasize.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/create_callprecompile_returndatasize.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_after_successful_delegatecall.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stReturnDataTest/subcallReturnMoreThenExpected.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/call_then_create_successful_then_returndatasize.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_initial_big_sum.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatasize_after_successful_delegatecall.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/call_ecrec_success_empty_then_returndatasize.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatasize_following_successful_create.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_initial_256.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatasize_after_oog_after_deeper.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_following_call.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_after_successful_staticcall.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stReturnDataTest/modexp_modsize0_returndatasize.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_following_failing_call.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/call_then_call_value_fail_then_returndatasize.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatasize_after_failing_staticcall.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_following_too_big_transfer.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_after_successful_callcode.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatasize_initial.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_overrun.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatasize_initial_zero_read.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_after_failing_staticcall.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_following_revert.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_after_failing_delegatecall.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_initial.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_afterFailing_create.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatasize_after_failing_callcode.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatasize_after_successful_staticcall.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_following_revert_in_create.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_after_failing_callcode.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_after_revert_in_staticcall.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatasize_after_failing_delegatecall.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_0_0_following_successful_create.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatasize_after_successful_callcode.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatasize_bug.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_following_create.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stReturnDataTest/returndatacopy_following_successful_create.json"); - - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_1_0_155000.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_3_100_1000000.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_3_100_25000.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_37111_1000000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_39936_1_55201_22000.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_0_0_155000.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_0_0_155000.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_49_2401_2401_20500.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_3_5_100_35000.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_1_155000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_1_1_22000.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/identity_to_smaller.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_37111_22000.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_3_5_100_20500.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/sec80.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_9_37111_37111_155000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_1_1_35000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_0_20500.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_3_100_155000.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_1_1_1000000.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_0_0_35000.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_3_5_100_22000.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_49_2401_2401_35000.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_97_155000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_1_0_20500.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_9_37111_37111_1000000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_0_1_35000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_55190_55190_42965_20500.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_0_1_1000000.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_3_5_100_25000.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_3_100_35000.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_3_28948_11579_20500.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_39936_1_55201_20500.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_1_1_25000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_37111_25000.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_0_0_1000000.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_49_2401_2401_25000.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_0_0_1000000.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_3_5_100_155000.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_39936_1_55201_25000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_3_09984_39936_22000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_3_09984_39936_25000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_97_1000000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_0_1_25000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_0_1000000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_1_1000000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_9_37111_37111_20500.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_0_25000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_0_0_22000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_37111_155000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_0_22000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_1_0_22000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_0_1_20500.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_39936_1_55201_1000000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_0_155000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_39936_1_55201_155000.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_1_0_1000000.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_97_20500.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_3_09984_39936_155000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_9_37111_37111_35000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_1_0_25000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_37111_20500.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_1_1_20500.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_3_5_100_1000000.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_3_100_20500.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_0_0_25000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_55190_55190_42965_35000.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_0_1_155000.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_9_37111_37111_22000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_1_20500.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_37111_35000.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_3_100_22000.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_1_35000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_3_09984_39936_1000000.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_1_1_155000.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_97_25000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_49_2401_2401_1000000.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_49_2401_2401_22000.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_0_35000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_0_0_20500.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_1_0_1_22000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/identity_to_bigger.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_55190_55190_42965_22000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_97_22000.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_9_3711_37111_25000.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_55190_55190_42965_25000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_55190_55190_42965_155000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_39936_1_55201_35000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_97_35000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_49_2401_2401_155000.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_22411_22000.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_0_1_0_35000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_55190_55190_42965_1000000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_37120_37111_1_25000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts/modexp_3_09984_39936_35000.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stCodeSizeLimit/codesizeOOGInvalidSize.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCodeSizeLimit/codesizeValid.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCodeSizeLimit/codesizeInit.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stHomesteadSpecific/contractCreationOOGdontLeaveEmptyContract.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stHomesteadSpecific/createContractViaTransactionCost53000.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stHomesteadSpecific/createContractViaContract.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stHomesteadSpecific/createContractViaContractOOGInitCode.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stHomesteadSpecific/contractCreationOOGdontLeaveEmptyContractViaTransaction.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP158Specific/CALL_ZeroVCallSuicide.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP158Specific/callToEmptyThenCallError.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP158Specific/EXP_Empty.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stEIP158Specific/EXTCODESIZE_toNonExistent.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP158Specific/CALL_OneVCallSuicide.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP158Specific/EXTCODESIZE_toEpmty.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP158Specific/vitalikTransactionTest.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_1-2_25000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_340282366920938463463374607431768211456_21000_80.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_6-9_19274124-124124_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_0-0_21000_80.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_9_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_0_21000_80.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_2_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1145-3932_2969-1336_25000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_5616_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_1-3_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_0-0_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_0_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_1_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_0_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_5617_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_0_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_340282366920938463463374607431768211456_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_2_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_0-0_25000_80.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_340282366920938463463374607431768211456_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_0-0_21000_64.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_1_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_340282366920938463463374607431768211456_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_2_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_9_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_0_28000_0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_0_21000_80.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_5616_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_1_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_1_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_1-3_25000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1-2_0-0_21000_192.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_9935_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_9_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1-2_0-0_25000_192.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_0_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_1_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_340282366920938463463374607431768211456_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1-2_0-0_25000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_340282366920938463463374607431768211456_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_0-0_25000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_0_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_5616_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1-3_0-0_21000_80.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_0_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_9935_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1145-3932_1145-4651_21000_192.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_5617_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_340282366920938463463374607431768211456_21000_80.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_0_28000_80.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_5617_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_5616_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_9_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_5616_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_0_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_2_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_1-2_21000_192.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_340282366920938463463374607431768211456_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_9935_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_0_21000_64.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1145-3932_2969-1336_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_0_21000_80.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_0_28000_80.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_0-0_25000_0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_0-0_25000_192.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_1_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_2_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_0-0_21000_0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_1-2_25000_192.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1-2_1-2_21000_192.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_340282366920938463463374607431768211456_28000_80.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_9935_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1-2_1-2_25000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_0_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_5617_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-3_1-2_25000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_1_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_0_21000_0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_9935_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_1_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_0_28000_64.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_5617_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_1_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_5616_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_5617_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_2_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_9935_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_5617_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_9_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_0_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_0_28000_64.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_0_28000_80.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_2_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_0_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_9935_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-3_1-2_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_0-0_21000_192.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_0_28000_64.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_1_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_6-9_19274124-124124_25000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_0_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_2_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1-2_1-2_25000_192.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1-3_0-0_25000_80.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_340282366920938463463374607431768211456_28000_80.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1-2_0-0_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_0_21000_64.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_340282366920938463463374607431768211456_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_9_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_5617_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_0_28000_40.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1-2_0-0_25000_64.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_1_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_0_21000_40.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_5616_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_2_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_0-0_25000_64.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_9935_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_2_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1-2_0-0_21000_64.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1-2_1-2_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_5616_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_0-0_1-2_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-3_9_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_0_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecadd_1145-3932_1145-4651_25000_192.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_0_21000_64.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_340282366920938463463374607431768211456_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_1-2_1_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2/ecmul_0-0_9_28000_96.json"); - - skip_file( - r"./tests/jsondata/GeneralStateTests/stCreateTest/TransactionCollisionToEmptyButNonce.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCreateTest/CreateOOGafterInitCodeReturndata.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CreateOOGafterInitCodeReturndataSize.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCreateTest/CreateOOGafterInitCodeReturndata3.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_EmptyContractWithStorageAndCallIt_0wei.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_EmptyContract.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_ContractSuicideDuringInit_WithValue.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_ContractRETURNBigOffset.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_EmptyContractWithStorageAndCallIt_1wei.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_ContractSuicideDuringInit_ThenStoreThenReturn.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_EContractCreateEContractInInit_Tr.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CreateCollisionToEmpty.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/TransactionCollisionToEmpty.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CreateOOGafterInitCodeRevert.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_EContractCreateNEContractInInitOOG_Tr.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCreateTest/TransactionCollisionToEmptyButCode.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_EmptyContractWithStorage.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CreateOOGafterInitCode.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_EContract_ThenCALLToNonExistentAcc.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCreateTest/CreateOOGafterInitCodeReturndata2.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_AcreateB_BSuicide_BStore.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_empty000CreateinInitCode_Transaction.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_EmptyContractAndCallIt_1wei.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_ContractSSTOREDuringInit.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_ContractSuicideDuringInit.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_EContractCreateNEContractInInit_Tr.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_ContractSuicideDuringInit_WithValueToItself.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_EmptyContractAndCallIt_0wei.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCreateTest/CreateOOGafterInitCodeRevert2.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCreateTest/CREATE_EmptyContractWithBalance.json", - ); - - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_XtoX.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_combinations_initial0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_Xto0toXto0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_0toXto0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_XtoYto0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_0toXto0toX.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_combinations_initial1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_0to0toX.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_Xto0to0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_0toXtoY.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_XtoXtoY.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_XtoXto0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_XtoXtoX.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_0toXtoX.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_changeFromExternalCallInInitCode.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_combinations_initial2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_0toX.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_XtoYtoZ.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_0to0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_XtoYtoY.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_Xto0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/InitCollision.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_XtoY.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_Xto0toX.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stSStoreTest/SstoreCallToSelfSubRefundBelowZero.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/InitCollisionNonZeroNonce.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_XtoYtoX.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_Xto0toY.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSStoreTest/sstore_0to0to0.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stTransitionTest/createNameRegistratorPerTxsNotEnoughGasAfter.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stTransitionTest/createNameRegistratorPerTxsAt.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransitionTest/createNameRegistratorPerTxsAfter.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransitionTest/delegatecallAtTransition.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stTransitionTest/delegatecallBeforeTransition.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransitionTest/createNameRegistratorPerTxsNotEnoughGasAt.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransitionTest/createNameRegistratorPerTxsNotEnoughGasBefore.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stTransitionTest/delegatecallAfterTransition.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stTransitionTest/createNameRegistratorPerTxsBefore.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_CALL_ToEmpty.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_SUICIDE_ToNonZeroBalance.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_DELEGATECALL_ToEmpty.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_TransactionCALLwithData.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_SUICIDE.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_CALL_ToOneStorageKey.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_TransactionCALL.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_TransactionCALLwithData_ToOneStorageKey.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_DELEGATECALL_ToOneStorageKey.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_TransactionCALLwithData_ToEmpty.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_SUICIDE_ToEmpty.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_TransactionCALL_ToEmpty.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_CALLCODE_ToNonZeroBalance.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_DELEGATECALL_ToNonZeroBalance.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_SUICIDE_ToOneStorageKey.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_CALL_ToNonZeroBalance.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_TransactionCALLwithData_ToNonZeroBalance.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_CALL.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_TransactionCALL_ToOneStorageKey.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_CALLCODE_ToOneStorageKey.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_CALLCODE_ToEmpty.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_CALLCODE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_TransactionCALL_ToNonZeroBalance.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsTest/ZeroValue_DELEGATECALL.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stBadOpcode/badOpcodes.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log4_logMemsizeTooHigh.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log4_nonEmptyMem_logMemSize1_logMemStart31.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log4_PC.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log2_nonEmptyMem_logMemSize1_logMemStart31.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log4_logMemsizeZero.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log2_MaxTopic.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log1_logMemsizeTooHigh.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log1_logMemsizeZero.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log0_nonEmptyMem_logMemSize1_logMemStart31.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log3_emptyMem.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log3_logMemStartTooHigh.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log0_logMemsizeZero.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log4_logMemStartTooHigh.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log4_emptyMem.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log0_nonEmptyMem.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log3_logMemsizeZero.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log1_nonEmptyMem_logMemSize1_logMemStart31.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log0_nonEmptyMem_logMemSize1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log1_nonEmptyMem.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log3_Caller.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log2_logMemsizeTooHigh.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log3_logMemsizeTooHigh.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log0_emptyMem.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log1_MaxTopic.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log2_nonEmptyMem.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log2_logMemStartTooHigh.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log4_nonEmptyMem.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log2_Caller.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/logInOOG_Call.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log3_nonEmptyMem_logMemSize1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log2_emptyMem.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log0_logMemStartTooHigh.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log1_Caller.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log3_nonEmptyMem.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log1_logMemStartTooHigh.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log3_MaxTopic.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log0_logMemsizeTooHigh.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log2_logMemsizeZero.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log4_MaxTopic.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log4_Caller.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log4_nonEmptyMem_logMemSize1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log1_nonEmptyMem_logMemSize1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log2_nonEmptyMem_logMemSize1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log3_nonEmptyMem_logMemSize1_logMemStart31.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log3_PC.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stLogTests/log1_emptyMem.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_CALLCODE_ToNonNonZeroBalance.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_CALLCODE_ToOneStorageKey.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_DELEGATECALL.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_CALL_ToOneStorageKey.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_SUICIDE_ToEmpty.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_SUICIDE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_CALL.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_CALLCODE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_DELEGATECALL_ToOneStorageKey.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_DELEGATECALL_ToNonNonZeroBalance.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_TransactionCALL.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_TransactionCALL_ToOneStorageKey.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_CALL_ToNonNonZeroBalance.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_TransactionCALL_ToEmpty.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_CALL_ToEmpty.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_SUICIDE_ToOneStorageKey.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_DELEGATECALL_ToEmpty.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_TransactionCALLwithData_ToEmpty.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_CALLCODE_ToEmpty.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_TransactionCALL_ToNonNonZeroBalance.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_TransactionCALLwithData_ToOneStorageKey.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_TransactionCALLwithData_ToNonNonZeroBalance.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_SUICIDE_ToNonNonZeroBalance.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest/NonZeroValue_TransactionCALLwithData.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcall_100.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecall_010_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcallcode_001_OOGMBefore.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecall_010_OOGMAfter.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecall_110_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecallcode_011_SuicideMiddle.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcallcode_101_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecall_010.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecall_110_OOGMBefore.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcode_11.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcall_100_OOGMBefore.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcall_100_SuicideMiddle.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecallcode_011_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcallcode_ABCB_RECURSIVE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcall_ABCB_RECURSIVE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecall_010_SuicideMiddle.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcallcode_001_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcode_11_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecall_ABCB_RECURSIVE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecall_010_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcallcode_001_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcallcode_101_OOGMBefore.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcallcode_ABCB_RECURSIVE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111_OOGMBefore.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecallcode_011_OOGMAfter.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcall_100_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcallcode_101_OOGMAfter.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecallcode_ABCB_RECURSIVE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecallcode_011.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecall_110_SuicideMiddle.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecallcode_011_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcode_11_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111_SuicideMiddle.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111_OOGMAfter.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecallcode_ABCB_RECURSIVE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecall_ABCB_RECURSIVE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecall_10_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcallcode_101_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcallcode_001_SuicideMiddle.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecall_010_OOGMBefore.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecall_110.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcallcode_001.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcallcode_001_OOGMAfter.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcodecallcode_011_OOGMBefore.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcall_100_OOGMAfter.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecall_10_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecall_110_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcode_01_SuicideEnd.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecall_10.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecall_110_OOGMAfter.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcallcode_101.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcall_100_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcode_01_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcallcode_101_SuicideMiddle.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcodecallcodecallcode_111_OOGE.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead/callcallcode_01.json", - ); - - skip_file(r"./tests/jsondata/GeneralStateTests/stBugs/staticcall_createfails.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stBugs/returndatacopyPythonBug_Tue_03_48_41-1432.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stBugs/randomStatetestDEFAULT-Tue_07_58_41-15153-575192.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stBugs/evmBytecode.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^256-1_256.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shl_-1_1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shl01.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^255-1_248.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shr01.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^255_255.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shl_2^255-1_1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^255_256.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^256-1_0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_0_256-1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shr_2^255_255.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shr_-1_0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shr_-1_255.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shl_-1_255.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^254_254.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shiftCombinations.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shl01-0101.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shr_2^255_257.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shl01-ff.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/.stub"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shr_2^255_1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shl10.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^256-1_255.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shr_-1_256.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shr_2^255_256.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar01.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shr10.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shl_-1_256.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^256-1_1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^255-1_254.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^255-1_255.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^255-1_256.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shl01-0100.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^255_257.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shr_-1_1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shl_-1_0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar_2^255_1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar10.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shr11.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/shl11.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar11.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stShift/sar00.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletDefault.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletExecuteOverDailyLimitOnlyOneOwner.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/dayLimitConstructionPartial.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedRemoveOwner_ownerIsNotOwner.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/dayLimitSetDailyLimitNoData.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedConstructionNotEnoughGasPartial.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedChangeOwner.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedChangeOwner_fromNotOwner.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedRemoveOwner.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletAddOwnerRemovePendingTransaction.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedIsOwnerFalse.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/dayLimitConstruction.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedChangeRequirementTo1.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletExecuteUnderDailyLimit.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedAddOwner.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/dayLimitResetSpentToday.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletDefaultWithOutValue.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletExecuteOverDailyLimitOnlyOneOwnerNew.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedChangeRequirementTo2.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedRemoveOwnerByNonOwner.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletChangeOwnerRemovePendingTransaction.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedRemoveOwner_mySelf.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletKill.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletConstructionPartial.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedConstructionNotEnoughGas.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletExecuteOverDailyLimitMultiOwner.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedConstructionCorrect.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletChangeRequirementRemovePendingTransaction.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletConstruction.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/dayLimitConstructionOOG.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletKillNotByOwner.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedRevokeNothing.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/dayLimitSetDailyLimit.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedChangeOwnerNoArgument.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletConstructionOOG.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletConfirm.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletRemoveOwnerRemovePendingTransaction.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedIsOwnerTrue.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedAddOwnerAddMyself.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stWalletTest/walletKillToWallet.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedChangeRequirementTo0.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stWalletTest/multiOwnedChangeOwner_toIsOwner.json", - ); - - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest531.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest647.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest644.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest541.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest436.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest635.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest460.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest418.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest552.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest491.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest402.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest578.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest616.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest520.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest445.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest597.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest433.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest443.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest429.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest398.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest528.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest527.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest422.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest615.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest633.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest636.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest439.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest536.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest456.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest447.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest397.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest415.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest581.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest408.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest465.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest442.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest585.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest498.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest485.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest587.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest405.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest586.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest481.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest573.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest455.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest506.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest563.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest546.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest476.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest386.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest488.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest393.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest601.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest496.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest575.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest543.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest417.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest466.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest384.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest409.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest387.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest472.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest567.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest514.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest503.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest406.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest457.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest612.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest507.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest641.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest539.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest497.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest508.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest545.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest560.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest607.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest642.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest495.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest588.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest430.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest454.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest532.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest565.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest608.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest521.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest388.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest437.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest639.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest618.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest502.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest610.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest426.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest544.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest592.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest583.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest548.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest512.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest509.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest448.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest438.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest572.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest451.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest470.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest395.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest511.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest435.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest477.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest577.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest535.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest564.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest468.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest526.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest404.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest489.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest474.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest525.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest450.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest523.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest569.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest464.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest621.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest609.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest410.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest399.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest580.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest556.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest423.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest640.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest542.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest632.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest571.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest643.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest554.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest516.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest414.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest412.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest604.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest407.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest519.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest537.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest401.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest582.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest475.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest413.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest487.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest473.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest517.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest562.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest566.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/201503110226PYTHON_DUP6.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest440.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest626.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest524.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest482.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest630.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest628.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest596.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest480.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest458.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest462.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest550.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest510.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest600.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest411.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest428.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest534.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest385.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest605.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest389.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest513.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest558.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest574.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest625.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest416.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest469.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest584.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest449.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest555.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest425.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest471.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest646.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest396.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest421.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest579.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest599.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest444.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest467.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest500.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest452.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest538.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest424.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest478.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest638.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest483.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest547.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest499.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest645.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest627.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest559.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest602.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest518.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest493.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest603.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest637.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest484.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest611.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest624.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest576.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest589.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest461.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest420.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest629.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest446.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest553.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest419.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest494.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest533.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest504.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest505.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest501.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom2/randomStatetest620.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stEWASMTests/.gitkeep"); - - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_ZeroValue_CALL_OOGRevert.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecall_10_SuicideEnd2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGE_2.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log0_logMemStartTooHigh.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturn.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecoverS_prefixed0.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideEnd2.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem_logMemSize1.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideMiddle2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_makeMoney.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CREATE_EmptyContractWithStorageAndCallIt_0wei.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter_3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRipemd160_4.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_InternlCallStoreClearsOOG.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideMiddle2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallIdentity_5.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGE.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_1.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallToNameRegistrator0.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_ReturnTest2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallContractToCreateContractAndCallItOOG.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_3.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log1_MaxTopic.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideEnd2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem_logMemSize1_logMemStart31.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log0_emptyMem.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRecursiveBombLog.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecover0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMBefore2.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGE.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CheckOpcodes4.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_ABAcallsSuicide0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallToReturn1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallSha256_4_gas99.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_ABAcalls0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcode_checkPC.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideEnd2.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallIdentity_1_nonzeroValue.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callOutput3partial.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter_3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallContractToCreateContractWhichWouldCreateContractIfCalled.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcall_00_OOGE_2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CheckOpcodes5.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcall_ABCB_RECURSIVE.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcall_000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecoverCheckLengthWrongV.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcall_00.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallSha256_3_prefix0.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRecursiveBombPreCall2.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callCreate2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMBefore.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecover2.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecoverR_prefixed0.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRecursiveBomb1.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGE2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CheckOpcodes3.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert3.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter_2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callOutput2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call50000_sha256.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRipemd160_1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_RETURN_BoundsOOG.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_ABAcallsSuicide1.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcall_00_SuicideEnd.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call1024BalanceTooLow2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcall_000_SuicideMiddle.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CALL_OneVCallSuicide.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRecursiveBomb3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallAskMoreGasOnDepth2ThenTransactionHas.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMAfter2.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert2.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_call_value_inherit_from_call.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call1024PreCalls.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter_2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRecursiveBomb0.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callWithHighValueOOGinCall.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideMiddle2.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecover0_Gas2999.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideEnd2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRipemd160_3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_refund_CallA.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallIdentity_4_gas17.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callCreate3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_3.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRipemd160_3_postfixed0.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_contractCreationOOGdontLeaveEmptyContractViaTransaction.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGE_2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMBefore2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRecursiveBomb2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallIdentitiy_1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecall_10_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit_WithValue.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideMiddle.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecall_10.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRipemd160_5.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVE2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callOutput3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRecursiveBombLog2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callChangeRevert.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter_2.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_refund_CallToSuicideTwice.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcall_00_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallSha256_2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcode_01_SuicideEnd2.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log1_logMemStartTooHigh.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallIdentity_2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecover0_0input.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_InternalCallHittingGasLimit.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CheckCallCostOOG.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideMiddle.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call50000_rip160.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CREATE_EmptyContractAndCallIt_0wei.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideEnd2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call1024OOG.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMAfter.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMBefore.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE2.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callOutput3partialFail.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallIdentity_3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_ABAcalls1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecall_10_2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callOutput3Fail.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecover1.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVE2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_RevertDepth2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter_3.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRecursiveBombPreCall.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callOutput1.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callToDelCallOpCodeCheck.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMBefore.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcall_00_OOGE_1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGE_2.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_ZeroValue_SUICIDE_OOGRevert.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecover0_NoGas.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_ABAcalls3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGE2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CheckOpcodes2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRipemd160_2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_LoopCallsThenRevert.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callCreate.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecallcode_111_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMBefore2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_call_value_inherit.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_calldelcode_01_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallLoseGasOOG.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callWithHighValueAndGasOOG.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log_Caller.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callToStaticOpCodeCheck.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRipemd160_3_prefixed0.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcode_01_OOGE_2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_RevertOpcodeCalls.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcode_01_SuicideEnd.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMBefore.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallSha256_3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log1_logMemsizeZero.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGE.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallIdentity_4_gas18.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call50000_identity2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call50000_identity.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call10.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_ExecuteCallThatAskForeGasThenTrabsactionHas.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_ReturnTest.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_call_OOG_additionalGasCosts2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_call_OOG_additionalGasCosts1.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallSha256_5.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callToCallOpCodeCheck.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_contractCreationMakeCallThatAskMoreGasThenTransactionProvided.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CalltoReturn2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallContractToCreateContractOOGBonusGas.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecoverCheckLength.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcall_000_SuicideEnd.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecover80.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_refund_CallToSuicideNoStorage.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callWithHighValue.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CheckOpcodes.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Return50000_2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMBefore.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRecursiveBomb0_OOG_atMaxCallDepth.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallGoesOOGOnSecondLevel2.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecoverV_prefixed0.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallSha256_3_postfix0.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecover0_gas3000.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callWithHighValueAndOOGatTxLevel.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call1024PreCalls2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallAndCallcodeConsumeMoreGasThenTransactionHas.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMBefore2.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecoverH_prefixed0.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGE_2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_2.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_InternalCallHittingGasLimit2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_ABAcalls2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMBefore2.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call50000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcode_01_2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callBasic.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecover0_completeReturnValue.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call1024PreCalls3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallContractToCreateContractOOG.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallRipemd160_4_gas719.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallGoesOOGOnSecondLevel.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callToCallCodeOpCodeCheck.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecover3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log1_emptyMem.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CALL_ZeroVCallSuicide.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call1MB1024Calldepth.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecall_10_SuicideEnd.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallEcrecover0_overlappingInputOutput.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_1102.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log0_logMemsizeTooHigh.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallSha256_4.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMBefore.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_RawCallGasAsk.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideMiddle.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log0_logMemsizeZero.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecall_10_OOGE_2.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log1_logMemsizeTooHigh.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call50000_ecrec.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGE.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMBefore.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallIdentity_4.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallSha256_1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_RETURN_Bounds.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_PostToReturn1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_Call1024BalanceTooLow.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stStaticCall/static_CallSha256_1_nonzeroValue.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_calldelcode_01.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideEnd2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMBefore2.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stAttackTest/ContractCreationSpam.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stAttackTest/CrashingTransaction.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stStackTests/shallowStack.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStackTests/stackOverflowM1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStackTests/stackOverflow.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStackTests/stackOverflowDUP.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStackTests/stackOverflowM1DUP.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStackTests/stackOverflowPUSH.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stStackTests/stackOverflowM1PUSH.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallRipemd160_2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecoverR_prefixed0.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecover3.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODERipemd160_0.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEIdentity_5.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEIdentity_4_gas17.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecover0_completeReturnValue.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverCheckLengthWrongV.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecover80.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODERipemd160_3_postfixed0.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEIdentity_2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecover0_gas3000.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/modexp_0_0_0_35000.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallIdentity_6_inputShorterThanOutput.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallRipemd160_1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecover0_overlappingInputOutput.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverH_prefixed0.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallIdentity_3.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEIdentity_4_gas18.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODERipemd160_2.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODESha256_3_prefix0.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallRipemd160_5.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODERipemd160_4.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEIdentitiy_1.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecover3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecover0_Gas2999.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODESha256_2.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecover0_NoGas.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODESha256_4_gas99.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecover0_gas3000.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverV_prefixed0.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallRipemd160_4_gas719.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODESha256_1_nonzeroValue.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecover1.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEIdentity_1_nonzeroValue.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallRipemd160_0.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODERipemd160_3.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallSha256_0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODESha256_5.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecoverS_prefixed0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODESha256_3_postfix0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecoverH_prefixed0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallIdentity_4.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODESha256_1.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverR_prefixed0.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverUnrecoverableKey.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecover0_0input.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODESha256_4.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallSha256_3_postfix0.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecover0_NoGas.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallSha256_2.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecover80.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecover0.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODERipemd160_4_gas719.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallIdentity_1_nonzeroValue.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/modexp_0_0_0_25000.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallSha256_4_gas99.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallSha256_1_nonzeroValue.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecover2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecoverV_prefixedf0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallIdentity_2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverInvalidSignature.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallIdentity_4_gas18.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODESha256_3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/modexpRandomInput.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecover0_completeReturnValue.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallIdentity_4_gas17.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecover0_Gas2999.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecover0_overlappingInputOutput.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODESha256_0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallRipemd160_4.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecover0.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEIdentity_3.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/modexp_0_0_0_20500.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecover1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecover2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallSha256_4.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallSha256_1.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODERipemd160_1.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallSha256_5.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallRipemd160_3_prefixed0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEEcrecoverV_prefixed0.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/modexp_0_0_0_22000.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallSha256_3.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverCheckLength.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecover0_0input.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallIdentitiy_1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallRipemd160_3_postfixed0.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallEcrecoverS_prefixed0.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODERipemd160_3_prefixed0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallIdentity_5.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODERipemd160_5.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallIdentitiy_0.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEIdentitiy_0.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallSha256_3_prefix0.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CALLCODEIdentity_4.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2/CallRipemd160_3.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stInitCodeTest/OutOfGasContractCreation.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stInitCodeTest/TransactionCreateStopInInitcode.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stInitCodeTest/ReturnTest.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stInitCodeTest/CallContractToCreateContractOOG.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stInitCodeTest/TransactionCreateSuicideInInitcode.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stInitCodeTest/CallRecursiveContract.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stInitCodeTest/CallContractToCreateContractNoCash.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stInitCodeTest/OutOfGasPrefundedContractCreation.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stInitCodeTest/TransactionCreateAutoSuicideContract.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stInitCodeTest/CallContractToCreateContractAndCallItOOG.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stInitCodeTest/CallContractToCreateContractWhichWouldCreateContractInInitCode.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stInitCodeTest/TransactionCreateRandomInitCode.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stInitCodeTest/ReturnTest2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stInitCodeTest/CallContractToCreateContractOOGBonusGas.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stInitCodeTest/NotEnoughCashContractCreation.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stInitCodeTest/CallTheContractToCreateEmptyContract.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stInitCodeTest/CallContractToCreateContractWhichWouldCreateContractIfCalled.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stInitCodeTest/StackUnderFlowContractCreation.json", - ); - - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9935_21000_128.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_two_point_match_5.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_two_point_fail_1.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_bad_length_191.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9935_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9935_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_5617_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_9935_28000_96.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1_21000_96.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_5616_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_perturb_g2_by_field_modulus.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9_28000_128.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/pointAddTrunc.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5617_21000_128.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1456_21000_80.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_two_point_match_4.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1_21000_128.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_28000_80.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1456_21000_128.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_2_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9_21000_96.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_28000_80.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_2_28000_128.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_three_point_fail_1.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_21000_96.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9935_21000_128.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_1_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_28000_80.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_9_21000_96.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_two_point_match_3.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_one_point_fail.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_empty_data.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_9_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_perturb_g2_by_field_modulus_again.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_three_point_match_1.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_5617_28000_128.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5617_28000_96.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_9935_21000_96.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9935_28000_128.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/pointMulAdd.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_2_28000_96.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_5617_21000_128.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_perturb_g2_by_one.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/pairingTest.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_5617_21000_128.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5616_21000_96.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1456_28000_128.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_5616_28000_128.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_28000_96.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_1_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_5616_28000_96.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_21000_96.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_5616_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_9935_28000_128.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5617_28000_128.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9935_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_21000_80.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_9_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_616_28000_96.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_2_21000_128.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_21000_128.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_bad_length_193.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_21000_80.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9_28000_96.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9_21000_128.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1456_28000_80.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1_28000_96.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_perturb_zeropoint_by_field_modulus.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_2_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_perturb_g2_by_curve_order.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_5617_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_5617_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_9_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_5617_28000_96.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_28000_128.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_5616_21000_128.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_2_21000_96.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1456_28000_96.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_2_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_5616_28000_128.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5617_21000_96.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_1_28000_128.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1_28000_128.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_21000_96.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9935_21000_96.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9_21000_96.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_21000_80.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1456_21000_96.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_one_point_with_g2_zero.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_28000_80.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_empty_data_insufficient_gas.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/pointMulAdd2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_2_28000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_5617_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_perturb_zeropoint_by_one.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_28000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_1_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_perturb_zeropoint_by_curve_order.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_two_point_match_1.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_two_point_match_2.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_2_28000_128.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_21000_96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_one_point_insufficient_gas.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_5616_21000_96.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_one_point_with_g1_zero.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_one_point_not_in_subgroup.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_21000_128.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_one_point_with_g2_zero_and_g1_invalid.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5616_28000_128.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_two_point_oog.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_21000_64.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_21000_80.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_21000_64.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_28000_64.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/pointAdd.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9935_28000_96.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_2_28000_96.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_two_point_fail_2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_28000_64.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5616_28000_96.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_1-2_9935_21000_128.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5616_21000_128.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroKnowledge/ecpairing_two_points_with_one_g2_zero.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawDelegateCallGasMemoryAsk.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallCodeGasMemoryAsk.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallGasValueTransferMemory.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawDelegateCallGasMemory.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawBalanceGas.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawDelegateCallGas.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallGasAsk.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawDelegateCallGasAsk.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCreateFailGasValueTransfer.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallCodeGasValueTransferMemory.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawExtCodeCopyMemoryGas.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallMemoryGas.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallCodeGasValueTransferAsk.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCreateGasMemory.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawExtCodeSizeGas.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallCodeGas.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallCodeGasValueTransferMemoryAsk.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCreateFailGasValueTransfer2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCreateGasValueTransfer.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallGasValueTransfer.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallCodeGasAsk.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallMemoryGasAsk.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallGasValueTransferMemoryAsk.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallGas.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallGasValueTransferAsk.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallCodeGasValueTransfer.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawExtCodeCopyGas.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCreateGasValueTransferMemory.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCallCodeGasMemory.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices/RawCreateGas.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcallcode_101_OOGMAfter_2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcodecallcode_111_OOGMAfter_2.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcall_00_OOGE_valueTransfer.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcallcallcode_001_OOGMAfter_2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcallcodecallcode_011_OOGMAfter_2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcallcode_101_OOGMAfter_3.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcallcallcode_001_OOGMAfter_3.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcall_00_OOGE_1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcodecall_110_OOGMAfter_2.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stChangedEIP150/createInitFail_OOGduringInit.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/Callcode1024BalanceTooLow.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcodecallcode_111_OOGMAfter_3.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcall_100_OOGMAfter_3.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/contractCreationMakeCallThatAskMoreGasThenTransactionProvided.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/Call1024PreCalls.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/Call1024BalanceTooLow.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcall_100_OOGMAfter_1.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcallcode_101_OOGMAfter_1.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcallcallcode_001_OOGMAfter_1.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcallcodecallcode_011_OOGMAfter_1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcodecallcode_111_OOGMAfter.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcodecallcode_111_OOGMAfter_1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcodecall_110_OOGMAfter_1.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcallcodecall_010_OOGMAfter_3.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcall_00_OOGE_2.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcall_100_OOGMAfter_2.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcallcodecall_010_OOGMAfter_2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcodecallcodecall_110_OOGMAfter_3.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcallcodecall_010_OOGMAfter_1.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stChangedEIP150/callcallcall_000_OOGMAfter.json", - ); - - skip_file(r"./tests/jsondata/GeneralStateTests/stExample/add11.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/TestCryptographicFunctions.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stSolidityTest/CallLowLevelCreatesSolidity.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/ContractInheritance.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/CreateContractFromMethod.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/RecursiveCreateContractsCreate4Contracts.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/RecursiveCreateContracts.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/CallInfiniteLoop.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/TestKeywords.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/TestContractSuicide.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/TestOverflow.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/AmbiguousMethod.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/TestStoreGasPrices.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/TestContractInteraction.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stSolidityTest/TestStructuresAndVariabless.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stSolidityTest/TestBlockAndTransactionProperties.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stSolidityTest/CallRecursiveMethods.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150Specific/CallAndCallcodeConsumeMoreGasThenTransactionHas.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stEIP150Specific/CallGoesOOGOnSecondLevel2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150Specific/CallAskMoreGasOnDepth2ThenTransactionHas.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150Specific/DelegateCallOnEIP.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150Specific/NewGasPriceForCodes.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150Specific/Transaction64Rule_d64p1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150Specific/CallGoesOOGOnSecondLevel.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stEIP150Specific/SuicideToExistingContract.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150Specific/Transaction64Rule_d64m1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150Specific/CreateAndGasInsideCreate.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150Specific/ExecuteCallThatAskForeGasThenTrabsactionHas.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stEIP150Specific/SuicideToNotExistingContract.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stEIP150Specific/Transaction64Rule_d64e0.json"); - - skip_file( - r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Call50000_rip160.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Call50000_identity.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Callcode50000.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Call50000_identity2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Call50000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Create1000.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/QuadraticComplexitySolidity_CallDataCopy.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Return50000.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Create1000Byzantium.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Call50000bytesContract50_2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Call50000_ecrec.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Call1MB1024Calldepth.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Return50000_2.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Call50000_sha256.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Call50000bytesContract50_3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest/Call50000bytesContract50_1.json"); - - skip_file( - r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CreateHashCollision.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToNameRegistratorAddressTooBigLeft.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/createWithInvalidOpcode.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/callcodeToNameRegistratorAddresTooBigRight.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/suicideCoinbase.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/createNameRegistratorValueTooHigh.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/ABAcallsSuicide0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/suicideCallerAddresTooBigLeft.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallRecursiveBomb3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/callcodeTo0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/return0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToNameRegistratorNotMuchMemory0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/return1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallRecursiveBomb0.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/doubleSelfdestructTest2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToNameRegistratorOutOfGas.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/suicideAddress.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CalltoReturn2.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/currentAccountBalance.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallRecursiveBomb2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/testRandomTest.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/doubleSelfdestructTest.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/callValue.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallRecursiveBomb0_OOG_atMaxCallDepth.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallRecursiveBombLog2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToNameRegistratorMemOOGAndInsufficientBalance.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/ABAcalls3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToReturn1ForDynamicJump0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/ABAcalls2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/PostToReturn1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/extcodecopy.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/createNameRegistrator.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToNameRegistratorTooMuchMemory1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/createNameRegistratorOOG_MemExpansionOOV.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/return2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToNameRegistratorTooMuchMemory2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/Call10.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToNameRegistratorAddressTooBigRight.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/ABAcalls1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/ABAcallsSuicide1.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToNameRegistrator0.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/createNameRegistratorOutOfMemoryBonds0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/callcodeToNameRegistrator0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/suicideCallerAddresTooBigRight.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToNameRegistratorNotMuchMemory1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToNameRegistratorZeorSizeMemExpansion.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/TestNameRegistrator.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/callcodeToNameRegistratorAddresTooBigLeft.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/createNameRegistratorOutOfMemoryBonds1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/callcodeToReturn1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/ABAcalls0.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/balanceInputAddressTooBig.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallRecursiveBomb1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/createNameRegistratorZeroMemExpansion.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/createNameRegistratorZeroMem.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToNameRegistratorTooMuchMemory0.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/suicideSendEtherPostDeath.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/callerAccountBalance.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/suicideNotExistingAccount.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/createNameRegistratorZeroMem2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/suicideCaller.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallRecursiveBombLog.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/suicideSendEtherToMe.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToReturn1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/callcodeToNameRegistratorZeroMemExpanion.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/CallToReturn1ForDynamicJump1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest/suicideOrigin.json"); - - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_CALLCODE_OOGRevert.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_DELEGATECALL_OOGRevert.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_CALLCODE_ToNonZeroBalance_OOGRevert.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_CALL_ToOneStorageKey_OOGRevert.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_TransactionCALLwithData_ToEmpty_OOGRevert.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_SUICIDE_OOGRevert.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_SUICIDE_ToNonZeroBalance_OOGRevert.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_TransactionCALLwithData_ToNonZeroBalance_OOGRevert.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_TransactionCALL_ToEmpty_OOGRevert.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_CALL_OOGRevert.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_CALLCODE_ToOneStorageKey_OOGRevert.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_SUICIDE_ToEmpty_OOGRevert.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_DELEGATECALL_ToOneStorageKey_OOGRevert.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_CALL_ToNonZeroBalance_OOGRevert.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_DELEGATECALL_ToEmpty_OOGRevert.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_DELEGATECALL_ToNonZeroBalance_OOGRevert.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_CALLCODE_ToEmpty_OOGRevert.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_TransactionCALLwithData_ToOneStorageKey_OOGRevert.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_CALL_ToEmpty_OOGRevert.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_TransactionCALL_OOGRevert.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_TransactionCALL_ToNonZeroBalance_OOGRevert.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_TransactionCALLwithData_OOGRevert.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_TransactionCALL_ToOneStorageKey_OOGRevert.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert/ZeroValue_SUICIDE_ToOneStorageKey_OOGRevert.json"); - - skip_file( - r"./tests/jsondata/GeneralStateTests/stRecursiveCreate/recursiveCreateReturnValue.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stRecursiveCreate/recursiveCreate.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest321.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest354.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest296.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest54.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest353.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest59.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest263.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest318.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest153.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest171.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest161.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest338.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest294.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest204.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest16.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest367.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest211.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest214.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest287.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest97.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest372.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest281.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest179.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest216.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest306.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest95.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest89.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest276.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest320.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest341.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest104.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest180.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest357.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest26.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest311.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest157.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest158.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest288.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest174.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest135.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest222.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest323.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest225.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest164.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest286.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest90.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest347.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest117.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest149.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest74.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest19.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest361.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest125.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest248.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest308.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest178.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest48.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest197.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest366.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest105.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest292.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest362.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest309.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest92.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest163.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest119.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest196.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest332.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest349.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest84.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest72.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest251.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest198.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest101.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest236.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest51.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest274.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest58.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest346.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest49.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest124.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest36.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest23.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest189.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest310.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest24.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest73.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest359.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest33.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest202.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest369.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest27.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest268.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest96.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest63.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest103.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest60.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest298.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest370.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest371.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest299.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest133.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest264.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest116.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest360.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest122.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest339.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest334.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest42.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest208.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest9.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest139.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest156.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest151.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest368.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest147.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest201.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest112.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest333.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest195.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest348.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest78.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest131.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest242.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest82.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest45.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest364.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest282.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest108.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest138.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest28.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest18.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest67.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest188.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest221.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest75.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest6.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest230.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest260.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest31.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest126.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest278.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest172.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest301.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest111.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest217.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest80.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest192.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest121.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest254.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest64.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest118.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest154.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest177.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest266.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest220.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest303.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest83.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest316.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest50.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest187.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest342.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest249.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest345.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest232.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest250.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest313.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest383.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest246.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest261.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest4.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest381.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest47.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest275.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest129.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest363.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest259.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest155.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest336.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest257.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest351.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest85.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest176.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest53.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest205.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest14.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest302.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest382.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest183.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest358.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest271.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest378.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest329.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest343.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest98.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest227.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest300.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest190.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest209.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest146.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest145.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest25.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest115.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest81.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest17.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest210.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest173.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest88.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest379.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest307.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest175.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest69.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest376.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest291.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest215.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest194.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest243.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest228.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest326.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest322.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest159.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest22.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest29.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest233.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest184.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest312.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest143.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest206.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest270.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest106.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest325.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest283.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest285.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest290.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest150.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest279.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest120.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest20.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest212.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest293.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest237.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest13.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest191.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest39.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest226.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest10.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest167.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest247.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest238.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest273.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest148.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest43.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest110.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest356.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest365.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest280.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest244.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest245.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest32.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest340.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest352.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest114.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest295.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest335.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest200.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest380.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest41.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest102.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest355.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest185.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest219.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest100.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest350.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest130.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest62.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest37.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest87.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest169.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest30.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest7.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest252.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest55.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest267.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest5.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest315.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest207.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest304.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest166.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest269.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest107.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest144.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest305.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest52.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest137.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest134.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest66.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest142.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest231.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest265.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest57.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest327.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest162.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest337.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest297.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest12.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest11.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest77.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest199.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stRandom/randomStatetest15.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/delegatecallSenderCheck.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callcodeOutput3Fail.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callOutput3Fail.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callcodeWithHighValueAndGasOOG.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/delegatecallInInitcodeToExistingContract.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/delegatecodeDynamicCode2SelfCall.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callcodeOutput3partial.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callcodeOutput2.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callcodeOutput1.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callWithHighValueAndGasOOG.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/delegatecallInInitcodeToEmptyContract.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/Call1024OOG.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/CallLoseGasOOG.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/Delegatecall1024.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/delegatecallValueCheck.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callOutput1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/delegatecallOOGinCall.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/delegatecodeDynamicCode.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callcodeOutput3.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callOutput3partial.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/CallcodeLoseGasOOG.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/Call1024PreCalls.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/Call1024BalanceTooLow.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/delegatecallAndOOGatTxLevel.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/delegatecallEmptycontract.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/Delegatecall1024OOG.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callOutput3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/delegatecallInInitcodeToExistingContractOOG.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/deleagateCallAfterValueTransfer.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/delegatecallBasic.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callOutput3partialFail.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/CallRecursiveBombPreCall.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callcodeOutput3partialFail.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead/callOutput2.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb+31.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/log4_dejavu.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb-1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb+32.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb_singleByte+1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb_singleByte-32.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb_singleByte-1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mload_dejavu.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb_singleByte+32.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/stackLimitPush31_1023.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/callDataCopyOffset.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb+1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb-33.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb_singleByte+33.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb_singleByte+31.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb_singleByte+32.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/stackLimitGas_1023.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/log3_dejavu.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb_singleByte-33.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb+33.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/stackLimitPush32_1024.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/log1_dejavu.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb+1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/log2_dejavu.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb-32.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb-33.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mstroe8_dejavu.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb+32.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/calldatacopy_dejavu.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/codeCopyOffset.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/calldatacopy_dejavu2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb+33.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb_singleByte-31.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/stackLimitGas_1025.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb_singleByte.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/codecopy_dejavu.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mload8bitBound.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/codecopy_dejavu2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb_singleByte-32.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb_singleByte-1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb_singleByte.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/stackLimitGas_1024.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb-32.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb-31.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/stackLimitPush31_1024.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb_singleByte-31.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem0b_singleByte.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem33b_singleByte.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/stackLimitPush32_1025.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/sha3_dejavu.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/memReturn.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb_singleByte+1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32b_singleByte.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem31b_singleByte.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/stackLimitPush32_1023.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/extcodecopy_dejavu.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb-1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb_singleByte+31.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem32kb_singleByte+33.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb-31.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mstore_dejavu.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/stackLimitPush31_1025.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb+31.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mload16bitBound.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stMemoryTest/mem64kb_singleByte-33.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/create2callPrecompiles.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/create2collisionSelfdestructed2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/call_outsize_then_create2_successful_then_returndatasize.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/call_then_create2_successful_then_returndatasize.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/Create2OOGafterInitCodeRevert2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/CREATE2_ContractSuicideDuringInit_ThenStoreThenReturn.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/create2collisionSelfdestructed.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/CreateMessageReverted.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/RevertOpcodeCreate.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/create2InitCodes.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCreate2/Create2OOGafterInitCodeReturndata2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/RevertInCreateInInitCreate2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/create2collisionCode.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/CREATE2_Bounds3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/CREATE2_Bounds.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCreate2/Create2OOGafterInitCodeReturndata.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCreate2/RevertOpcodeInCreateReturnsCreate2.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/returndatasize_following_successful_create.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/Create2OnDepth1024.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/create2collisionBalance.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/CREATE2_Suicide.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/Create2OnDepth1023.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCreate2/RevertDepthCreateAddressCollision.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/Create2OOGafterInitCode.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCreate2/Create2OOGafterInitCodeReturndata3.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/Create2OOGafterInitCodeRevert.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/create2checkFieldsInInitcode.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/Create2Recursive.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/RevertDepthCreate2OOG.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/create2SmartInitCode.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/CreateMessageRevertedOOGInInit.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/create2collisionNonce.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCreate2/returndatacopy_afterFailing_create.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/create2collisionCode2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/create2collisionStorage.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCreate2/Create2OOGafterInitCodeReturndataSize.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCreate2/create2collisionSelfdestructedOOG.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/returndatacopy_following_revert_in_create.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/returndatacopy_0_0_following_successful_create.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/create2noCash.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/CREATE2_Bounds2.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCreate2/create2collisionSelfdestructedRevert.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/returndatacopy_following_create.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCreate2/returndatacopy_following_successful_create.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/JUMPDEST_AttackwithJump.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/failed_tx_xcf416c53.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/deploymentError.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/tx_e1c174e2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/sha3_deja.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/txCost-sec73.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/gasPrice0.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/OverflowGasMakeMoney.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/StackDepthLimitSEC.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/JUMPDEST_Attack.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/makeMoney.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/push32withoutByte.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/block504980.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stSpecialTest/FailedCreateRevertsDeletion.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcall_100.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecall_010_SuicideEnd.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcallcode_001_OOGMBefore.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcall_00_OOGE_valueTransfer.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecall_010_OOGMAfter.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcall_00.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecallcode_111.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecall_110_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcall_ABCB_RECURSIVE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodeDynamicCode.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecallcode_011_SuicideMiddle.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodeEmptycontract.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcode_checkPC.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcallcode_101_SuicideEnd.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/call_OOG_additionalGasCosts2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecall_010.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcall_000_SuicideMiddle.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcall_000.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecall_110_OOGMBefore.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcode_11.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcall_00_OOGE.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcall_100_OOGMBefore.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcall_100_SuicideMiddle.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecallcode_011_SuicideEnd.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcall_000_OOGE.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcallcode_ABCB_RECURSIVE.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcall_ABCB_RECURSIVE.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecall_010_SuicideMiddle.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodeInInitcodeToExisContractWithVTransferNEMoney.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcallcode_001_OOGE.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcode_11_SuicideEnd.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecall_ABCB_RECURSIVE.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecall_010_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodeDynamicCode2SelfCall.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcall_000_SuicideEnd.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcallcode_001_SuicideEnd.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodeInInitcodeToEmptyContract.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcallcode_101_OOGMBefore.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcallcode_ABCB_RECURSIVE.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecallcode_111_OOGMBefore.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecallcode_011_OOGMAfter.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcall_100_SuicideEnd.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcallcode_101_OOGMAfter.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecallcode_ABCB_RECURSIVE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecallcode_111_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcall_00_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecallcode_011.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecall_110_SuicideMiddle.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecallcode_011_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcode_11_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecallcode_111_SuicideMiddle.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecallcode_111_OOGMAfter.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecallcode_ABCB_RECURSIVE.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecall_ABCB_RECURSIVE.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecall_10_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcallcode_101_OOGE.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcallcode_001_SuicideMiddle.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecall_010_OOGMBefore.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecall_110.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcallcode_001.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcallcode_001_OOGMAfter.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcodecallcode_011_OOGMBefore.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodeInInitcodeToExistingContract.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcall_000_OOGMBefore.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcall_100_OOGMAfter.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecall_10_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/call_OOG_additionalGasCosts1.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecall_110_SuicideEnd.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcode_01_SuicideEnd.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecall_10.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecall_110_OOGMAfter.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcallcode_101.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcall_100_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcode_01_OOGE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcallcode_101_SuicideMiddle.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodecallcodecallcode_111_OOGE.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcall_000_OOGMAfter.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcodeInInitcodeToExistingContractWithValueTransfer.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCodes/callcallcode_01.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createNameRegistratorPerTxs.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/Callcode1024OOG.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createNameRegistratorPreStore1NotEnoughGas.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createInitFailStackSizeLargerThan1024.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callcodeOutput3Fail.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callOutput3Fail.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callcodeWithHighValueAndGasOOG.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callcodeOutput3partial.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callcodeOutput2.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createInitOOGforCREATE.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callWithHighValueAndOOGatTxLevel.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callcodeOutput1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callWithHighValueAndGasOOG.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createJS_ExampleContract.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/Call1024OOG.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createInitFailBadJumpDestination.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createInitFailUndefinedInstruction.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/CallLoseGasOOG.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createInitFail_OOGduringInit.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callOutput1.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/Callcode1024BalanceTooLow.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callcodeOutput3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createNameRegistratorPerTxsNotEnoughGas.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callOutput3partial.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callWithHighValue.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/CallcodeLoseGasOOG.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/Call1024PreCalls.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/Call1024BalanceTooLow.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callWithHighValueOOGinCall.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callcodeWithHighValue.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callOutput3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createInitFailStackUnderflow.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createJS_NoCollision.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createFailBalanceTooLow.json", - ); - skip_file( - r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callOutput3partialFail.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/CallRecursiveBombPreCall.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callcodeOutput3partialFail.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/callOutput2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest/createNameRegistratorendowmentTooHigh.json"); - - skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashDeletedAccount2.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashCreatedAndDeletedAccountRecheckInOuterCall.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashSubcallSuicide.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashDeletedAccount.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashPrecompiles.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashAccountWithoutCode.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashCreatedAndDeletedAccountCall.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashCALL.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashSelf.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashDynamicArgument.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashInInitCode.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/codeCopyZero.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashNonExistingAccount.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashDeletedAccount3.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeCopyBounds.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashNewAccount.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashChangedAccount.json"); - skip_file( - r"./tests/jsondata/GeneralStateTests/stExtCodeHash/dynamicAccountOverwriteEmpty.json", - ); - skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashCALLCODE.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashSTATICCALL.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashCreatedAndDeletedAccountStaticCall.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashSubcallOOG.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashMaxCodeSize.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashSelfInInit.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashCreatedAndDeletedAccount.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashDELEGATECALL.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashDeletedAccount4.json"); - skip_file(r"./tests/jsondata/GeneralStateTests/stExtCodeHash/extCodeHashDeletedAccount1.json"); } From 2f5b418318bc87d84caee22075b8a8e5dfd3fbb4 Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Tue, 9 Apr 2019 18:30:03 +0800 Subject: [PATCH 49/96] Rename skip_path to skip_json_path. [skip travis] --- tests/state_test/src/main.rs | 100 +++++++++++++++++------------------ 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/tests/state_test/src/main.rs b/tests/state_test/src/main.rs index f5b03d245..84b6cdc98 100644 --- a/tests/state_test/src/main.rs +++ b/tests/state_test/src/main.rs @@ -111,205 +111,205 @@ fn test_json_path(p: &str) { } } -fn skip_path(_reason: &str, _name: &str) {} +fn skip_json_path(_reason: &str, _name: &str) {} fn main() { env_logger::init(); test_json_path(r"./tests/jsondata/GeneralStateTests/stRefundTest"); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stCodeCopyTest", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stMemExpandingEIP150Calls", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stRevertTest", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stMemoryStressTest", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stTransactionTest", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stReturnDataTest", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stCodeSizeLimit", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stHomesteadSpecific", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stEIP158Specific", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stCreateTest", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stSStoreTest", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stTransitionTest", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stZeroCallsTest", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stBadOpcode", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stLogTests", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stBugs", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stShift", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stWalletTest", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stRandom2", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stEWASMTests", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stStaticCall", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stAttackTest", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stStackTests", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stInitCodeTest", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stZeroKnowledge", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stChangedEIP150", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stExample", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stSolidityTest", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stEIP150Specific", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stRecursiveCreate", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stRandom", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stMemoryTest", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stCreate2", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stSpecialTest", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stCallCodes", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest", ); - skip_path( + skip_json_path( "run tests integration", r"./tests/jsondata/GeneralStateTests/stExtCodeHash", ); From 38a3ee78749b53dd772e835f9d7e0db274de7ffc Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Tue, 9 Apr 2019 18:34:43 +0800 Subject: [PATCH 50/96] Replace the *. [skip travis] --- tests/state_test/src/json.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/state_test/src/json.rs b/tests/state_test/src/json.rs index 6657995f6..08cdfd8dc 100644 --- a/tests/state_test/src/json.rs +++ b/tests/state_test/src/json.rs @@ -140,7 +140,7 @@ impl Test { #[cfg(test)] mod tests { - use super::*; + use super::{Address, Test}; use std::fs; #[test] fn test_json_tests_parse() { From 1e4845ddf168352c09e12c1fd38a0945463a894c Mon Sep 17 00:00:00 2001 From: clearloop Date: Tue, 9 Apr 2019 19:54:43 +0800 Subject: [PATCH 51/96] Patch to absolute paths' in starting scripts. --- env.sh | 6 +++++- scripts/cita | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/env.sh b/env.sh index 18b07daee..a03b7aac5 100755 --- a/env.sh +++ b/env.sh @@ -1,6 +1,10 @@ #!/usr/bin/env bash -SOURCE_DIR="$(cd $(dirname "$0") && pwd -P)" +if [ `uname` == 'Darwin' ]; then + SOURCE_DIR="$(dirname $(realpath $0))" +else + SOURCE_DIR="$(dirname $(readlink -f $0))" +fi test -f "${SOURCE_DIR}/CODE_OF_CONDUCT.md" if [ $? -eq 0 ]; then diff --git a/scripts/cita b/scripts/cita index 470aa499c..802587e82 100755 --- a/scripts/cita +++ b/scripts/cita @@ -3,7 +3,11 @@ # ex: ts=4 sw=4 et # Commands Paths -CITA_BIN="$(cd $(dirname "$0") && pwd -P)" +if [ `uname` == 'Darwin' ]; then + CITA_BIN="$(dirname $(realpath $0))" +else + CITA_BIN="$(dirname $(readlink -f $0))" +fi CITA_SCRIPTS="$(dirname $CITA_BIN)/scripts" if [ "$1" != "bebop" ]; then From 2de5ac76069d957b29d9a5b1252a6f9b82e5f5ae Mon Sep 17 00:00:00 2001 From: ouwenkg <2630582710@qq.com> Date: Tue, 9 Apr 2019 20:42:43 +0800 Subject: [PATCH 52/96] update readme and use test_helper --- Cargo.lock | 2 +- tests/vm_test/Cargo.toml | 3 ++- tests/vm_test/README.md | 2 +- tests/vm_test/src/helper.rs | 43 ------------------------------------- tests/vm_test/src/json.rs | 9 +++----- tests/vm_test/src/main.rs | 6 +----- 6 files changed, 8 insertions(+), 57 deletions(-) delete mode 100644 tests/vm_test/src/helper.rs diff --git a/Cargo.lock b/Cargo.lock index 3200280b7..469315ce8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4019,13 +4019,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" name = "vm_test" version = "0.1.0" dependencies = [ - "core-executor 0.1.0", "ethereum-types 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "evm 0.1.0", "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)", + "test_helper 0.1.0", ] [[package]] diff --git a/tests/vm_test/Cargo.toml b/tests/vm_test/Cargo.toml index 01764c246..5ac5d84e7 100644 --- a/tests/vm_test/Cargo.toml +++ b/tests/vm_test/Cargo.toml @@ -2,6 +2,7 @@ name = "vm_test" version = "0.1.0" authors = ["Cryptape Technologies "] +edition = "2018" [dependencies] ethereum-types = "0.4.0" @@ -10,5 +11,5 @@ serde_derive = "1.0" serde_json = "1.0" hex = "0.3" -core-executor = { path="../../cita-executor/core"} evm = { path="../../cita-executor/evm"} +test_helper = { path="../test_helper"} diff --git a/tests/vm_test/README.md b/tests/vm_test/README.md index 1a157058c..310be93e9 100644 --- a/tests/vm_test/README.md +++ b/tests/vm_test/README.md @@ -1,6 +1,6 @@ # Vm Test -Test the cita vm using [Tests](https://github.com/ethereum/tests/blob/develop/VMTests/) +Test the cita vm using [Tests](https://github.com/cryptape/cita-testdata/tree/master/VMTests/) ## Usage diff --git a/tests/vm_test/src/helper.rs b/tests/vm_test/src/helper.rs deleted file mode 100644 index 227f720a2..000000000 --- a/tests/vm_test/src/helper.rs +++ /dev/null @@ -1,43 +0,0 @@ -use evm::cita_types::{Address, H256, U256}; - -pub fn clean_0x(s: &str) -> &str { - if s.starts_with("0x") { - &s[2..] - } else { - s - } -} - -pub fn string_2_u256(value: String) -> U256 { - let v = Box::leak(value.into_boxed_str()); - let v = clean_0x(v); - U256::from(v) -} - -pub fn string_2_h256(value: String) -> H256 { - let v = Box::leak(value.into_boxed_str()); - let v = clean_0x(v); - if v.len() < 64 { - let mut s = String::from("0").repeat(64 - v.len()); - s.push_str(v); - let s: &'static str = Box::leak(s.into_boxed_str()); - return H256::from(s); - } - H256::from(v) -} - -pub fn string_2_bytes(value: String) -> Vec { - let v = Box::leak(value.into_boxed_str()); - let v = clean_0x(v); - hex::decode(v).unwrap() -} - -#[allow(dead_code)] -pub fn string_2_address(value: String) -> Address { - if value.is_empty() { - return Address::zero(); - } - let v = Box::leak(value.into_boxed_str()); - let v = clean_0x(v); - Address::from(v) -} diff --git a/tests/vm_test/src/json.rs b/tests/vm_test/src/json.rs index 7bf3a924e..93903193f 100644 --- a/tests/vm_test/src/json.rs +++ b/tests/vm_test/src/json.rs @@ -1,8 +1,5 @@ -extern crate evm; -extern crate serde_derive; - -use self::evm::cita_types::Address; -use self::serde_derive::Deserialize; +use evm::cita_types::Address; +use serde_derive::Deserialize; use std::collections::BTreeMap; use std::io::Read; @@ -124,7 +121,7 @@ impl IntoIterator for State { #[cfg(test)] mod tests { - use super::*; + use super::{Address, Test}; use std::fs; #[test] diff --git a/tests/vm_test/src/main.rs b/tests/vm_test/src/main.rs index 5b571c78f..c68cf9857 100644 --- a/tests/vm_test/src/main.rs +++ b/tests/vm_test/src/main.rs @@ -1,7 +1,3 @@ -extern crate core_executor; -extern crate evm; - -mod helper; mod json; use evm::action_params::{ActionParams, ActionValue}; @@ -10,10 +6,10 @@ use evm::factory::{Factory, VMType}; use evm::fake_tests::FakeExt; use evm::return_data::GasLeft; use evm::Ext; -use helper::{string_2_bytes, string_2_h256, string_2_u256}; use std::fs; use std::str; use std::sync::Arc; +use test_helper::{string_2_bytes, string_2_h256, string_2_u256}; fn test_json_file(p: &str) { println!("{}", p); From 8d5edaaa753a17d109a3ac20af551782855f6b82 Mon Sep 17 00:00:00 2001 From: leeyr Date: Wed, 10 Apr 2019 10:07:25 +0800 Subject: [PATCH 53/96] update changelog for v0.22.0 [skip ci]. --- CHANGELOG.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 72f5e7c44..cf930ce1c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ All notable changes to this project will be documented in this file. And this pr ## [Unreleased] -## [v0.22.0] - 2019-03-27 +## [v0.22.0] - 2019-03-29 ### Upgrade Note @@ -53,6 +53,10 @@ But in v0.22.0, the item `[[peers]]` means `known nodes` in the network, you can - [Fix] Executor crashes when receives staled BlockWithProof. [@WPF] [@keroro520] +### Auth + +- [Fix] Auth crashes when it is not ready. [@Yaorong] + ### Network - [Feature] The network service is refactored by using the p2p protocol. [@Yaorong] From 13eb14b24c9509b407813860d8c81a83b256bf1c Mon Sep 17 00:00:00 2001 From: ouwenkg <2630582710@qq.com> Date: Wed, 10 Apr 2019 11:09:32 +0800 Subject: [PATCH 54/96] refactor state and vm test[skip travis] --- Cargo.lock | 26 -- Cargo.toml | 3 +- tests/{state_test => json_test}/Cargo.toml | 1 - tests/json_test/README.md | 21 ++ .../{test_helper => json_test}/src/helper.rs | 0 tests/json_test/src/json/mod.rs | 2 + .../json.rs => json_test/src/json/state.rs} | 0 .../src/json.rs => json_test/src/json/vm.rs} | 0 tests/json_test/src/lib.rs | 7 + tests/json_test/src/state_test.rs | 321 ++++++++++++++++++ .../src/main.rs => json_test/src/vm_test.rs} | 41 +-- tests/state_test/README.md | 12 - tests/state_test/src/main.rs | 316 ----------------- tests/test_helper/Cargo.toml | 14 - tests/test_helper/src/lib.rs | 3 - tests/vm_test/Cargo.toml | 15 - tests/vm_test/README.md | 12 - 17 files changed, 374 insertions(+), 420 deletions(-) rename tests/{state_test => json_test}/Cargo.toml (92%) create mode 100644 tests/json_test/README.md rename tests/{test_helper => json_test}/src/helper.rs (100%) create mode 100644 tests/json_test/src/json/mod.rs rename tests/{state_test/src/json.rs => json_test/src/json/state.rs} (100%) rename tests/{vm_test/src/json.rs => json_test/src/json/vm.rs} (100%) create mode 100644 tests/json_test/src/lib.rs create mode 100644 tests/json_test/src/state_test.rs rename tests/{vm_test/src/main.rs => json_test/src/vm_test.rs} (74%) delete mode 100644 tests/state_test/README.md delete mode 100644 tests/state_test/src/main.rs delete mode 100644 tests/test_helper/Cargo.toml delete mode 100644 tests/test_helper/src/lib.rs delete mode 100644 tests/vm_test/Cargo.toml delete mode 100644 tests/vm_test/README.md diff --git a/Cargo.lock b/Cargo.lock index 469315ce8..1ba3158a6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3223,7 +3223,6 @@ dependencies = [ "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)", - "test_helper 0.1.0", "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3395,18 +3394,6 @@ dependencies = [ "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "test_helper" -version = "0.1.0" -dependencies = [ - "core-executor 0.1.0", - "ethereum-types 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "evm 0.1.0", - "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "textwrap" version = "0.10.0" @@ -4015,19 +4002,6 @@ name = "version_check" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -[[package]] -name = "vm_test" -version = "0.1.0" -dependencies = [ - "ethereum-types 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "evm 0.1.0", - "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)", - "test_helper 0.1.0", -] - [[package]] name = "void" version = "1.0.2" diff --git a/Cargo.toml b/Cargo.toml index 2d396e079..4357df88a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,8 +13,7 @@ members = ["cita-auth" ,"tests/consensus-mock" ,"tests/chain_performance_by_mq" ,"tests/box_executor" -,"tests/vm_test" -,"tests/state_test" +,"tests/json_test" ] [profile.bench] diff --git a/tests/state_test/Cargo.toml b/tests/json_test/Cargo.toml similarity index 92% rename from tests/state_test/Cargo.toml rename to tests/json_test/Cargo.toml index 7ff2c9674..e054426a6 100644 --- a/tests/state_test/Cargo.toml +++ b/tests/json_test/Cargo.toml @@ -18,4 +18,3 @@ log = "0.4.0" libproto = { git = "https://github.com/cryptape/cita-common.git", branch = "develop" } core-executor = { path="../../cita-executor/core"} evm = { path="../../cita-executor/evm"} -test_helper = { path="../test_helper"} diff --git a/tests/json_test/README.md b/tests/json_test/README.md new file mode 100644 index 000000000..102827b85 --- /dev/null +++ b/tests/json_test/README.md @@ -0,0 +1,21 @@ +# Json Test + +Test CITA using [Tests](https://github.com/cryptape/cita-testdata/) + +## Usage + +### State Tests + +```sh +$ cd cita + +$ cargo test state_test::tests::test_json_state +``` + +### VM Tests + +```sh +$ cd cita + +$ cargo test vm_test::tests::test_json_vm +``` diff --git a/tests/test_helper/src/helper.rs b/tests/json_test/src/helper.rs similarity index 100% rename from tests/test_helper/src/helper.rs rename to tests/json_test/src/helper.rs diff --git a/tests/json_test/src/json/mod.rs b/tests/json_test/src/json/mod.rs new file mode 100644 index 000000000..21d36cfed --- /dev/null +++ b/tests/json_test/src/json/mod.rs @@ -0,0 +1,2 @@ +pub mod state; +pub mod vm; diff --git a/tests/state_test/src/json.rs b/tests/json_test/src/json/state.rs similarity index 100% rename from tests/state_test/src/json.rs rename to tests/json_test/src/json/state.rs diff --git a/tests/vm_test/src/json.rs b/tests/json_test/src/json/vm.rs similarity index 100% rename from tests/vm_test/src/json.rs rename to tests/json_test/src/json/vm.rs diff --git a/tests/json_test/src/lib.rs b/tests/json_test/src/lib.rs new file mode 100644 index 000000000..80471a472 --- /dev/null +++ b/tests/json_test/src/lib.rs @@ -0,0 +1,7 @@ +#[macro_use] +extern crate log; + +pub mod helper; +pub mod json; +pub mod state_test; +pub mod vm_test; diff --git a/tests/json_test/src/state_test.rs b/tests/json_test/src/state_test.rs new file mode 100644 index 000000000..b3c3e8ae9 --- /dev/null +++ b/tests/json_test/src/state_test.rs @@ -0,0 +1,321 @@ +use crate::helper::{ + get_temp_state, secret_2_address, string_2_bytes, string_2_h256, string_2_u256, +}; +use crate::json::state::Test; +use core_executor::engines::NullEngine; +use core_executor::libexecutor::economical_model::EconomicalModel; +use core_executor::libexecutor::sys_config::BlockSysConfig; +use core_executor::state::ApplyResult; +use core_executor::types::transaction::Transaction; +use evm::cita_types::U256; +use evm::env_info::EnvInfo; +use libproto::blockchain::Transaction as ProtoTransaction; +use std::fs; + +pub fn test_json_file(p: &str) { + let f = fs::File::open(p).unwrap(); + let tests = Test::load(f).unwrap(); + for (_name, test) in tests.into_iter() { + let data_post_byzantium = test.post.unwrap().byzantium; + if data_post_byzantium.is_none() { + continue; + } + + for (_i, postdata) in data_post_byzantium.unwrap().into_iter().enumerate() { + // Init state + let mut state = get_temp_state(); + for (address, account) in test.pre.clone().unwrap() { + let balance = string_2_u256(account.balance); + let code = string_2_bytes(account.code); + let nonce = string_2_u256(account.nonce); + if code.is_empty() { + state.new_contract(&address, balance, nonce); + } else { + state.new_contract(&address, balance, nonce); + let _ = state.init_code(&address, code); + } + + for (k, v) in account.storage { + let kk = string_2_h256(k); + let vv = string_2_h256(v); + let _ = state.set_storage(&address, kk, vv); + } + } + state.commit().unwrap(); + + // Set envionment + let mut env_info = EnvInfo::default(); + env_info.difficulty = string_2_u256(test.env.current_difficulty.clone()); + env_info.number = string_2_u256(test.env.current_number.clone()).low_u64(); + env_info.timestamp = string_2_u256(test.env.current_timestamp.clone()).low_u64(); + env_info.gas_limit = string_2_u256(test.env.current_gas_limit.clone()); + env_info.author = test.env.current_coinbase; + + let engine = NullEngine::cita(); + let mut config = BlockSysConfig::default(); + config.quota_price = string_2_u256(test.transaction.gas_price.clone()); + config.economical_model = EconomicalModel::Charge; + config.quota_price = U256::from(1); + + let idx_gas = &postdata.indexes[&String::from("gas")]; + let idx_value = &postdata.indexes[&String::from("value")]; + let idx_data = &postdata.indexes[&String::from("data")]; + let str_gas = test.transaction.gas_limit.clone()[*idx_gas].clone(); + let str_value = test.transaction.value.clone()[*idx_value].clone(); + let str_data = test.transaction.data.clone()[*idx_data].clone(); + + let mut proto_tx = ProtoTransaction::new(); + proto_tx.set_data(string_2_bytes(str_data)); + proto_tx.set_value(string_2_bytes(str_value)); + proto_tx.set_nonce(test.transaction.nonce.clone()); + proto_tx.set_quota(string_2_u256(str_gas).low_u64()); + if !test.transaction.to.is_empty() { + proto_tx.set_to(test.transaction.to.clone()); + } + + let tx = Transaction::create(&proto_tx).unwrap(); + let sender = secret_2_address(&test.transaction.secret_key); + let signed_transaction = tx.fake_sign(sender); + + // Execute transactions + let result: ApplyResult = + state.apply(&env_info, &engine, &signed_transaction, true, &config); + match result { + Ok(outcome) => { + debug!("lalalal receipt error: {:?}", outcome.receipt.error); + } + _ => panic!("apply_transaction: There must be something wrong!"), + } + + // check root hash + state.commit().unwrap(); + let root = state.root(); + debug!("state.root {}", root); + assert_eq!(*root, string_2_h256(postdata.hash)); + } + } +} + +pub fn test_json_path(p: &str) { + let info = fs::metadata(p).unwrap(); + if info.is_dir() { + for entry in fs::read_dir(p).unwrap() { + let entry = entry.unwrap(); + let p = entry.path(); + test_json_path(p.to_str().unwrap()); + } + } else { + test_json_file(p); + } +} + +pub fn skip_json_path(_reason: &str, _name: &str) {} + +#[cfg(test)] +mod tests { + use super::skip_json_path; + + #[test] + fn test_json_state() { + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stRefundTest", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stCodeCopyTest", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stMemExpandingEIP150Calls", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stRevertTest", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stArgsZeroOneBalance", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stMemoryStressTest", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stTransactionTest", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stReturnDataTest", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stPreCompiledContracts", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stCodeSizeLimit", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stHomesteadSpecific", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stEIP158Specific", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stZeroKnowledge2", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stCreateTest", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stSStoreTest", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stTransitionTest", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stZeroCallsTest", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stBadOpcode", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stLogTests", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stNonZeroCallsTest", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stCallDelegateCodesHomestead", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stBugs", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stShift", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stWalletTest", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stRandom2", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stEWASMTests", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stStaticCall", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stAttackTest", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stStackTests", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stPreCompiledContracts2", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stInitCodeTest", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stZeroKnowledge", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stEIP150singleCodeGasPrices", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stChangedEIP150", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stExample", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stSolidityTest", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stEIP150Specific", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stQuadraticComplexityTest", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stSystemOperationsTest", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stZeroCallsRevert", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stRecursiveCreate", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stRandom", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stDelegatecallTestHomestead", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stMemoryTest", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stCreate2", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stSpecialTest", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stCallCodes", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stCallCreateCallCodeTest", + ); + skip_json_path( + "run tests integration", + r"../jsondata/GeneralStateTests/stExtCodeHash", + ); + } +} diff --git a/tests/vm_test/src/main.rs b/tests/json_test/src/vm_test.rs similarity index 74% rename from tests/vm_test/src/main.rs rename to tests/json_test/src/vm_test.rs index c68cf9857..206a287b5 100644 --- a/tests/vm_test/src/main.rs +++ b/tests/json_test/src/vm_test.rs @@ -1,5 +1,5 @@ -mod json; - +use crate::helper::{string_2_bytes, string_2_h256, string_2_u256}; +use crate::json::vm::Test; use evm::action_params::{ActionParams, ActionValue}; use evm::env_info::EnvInfo; use evm::factory::{Factory, VMType}; @@ -9,12 +9,10 @@ use evm::Ext; use std::fs; use std::str; use std::sync::Arc; -use test_helper::{string_2_bytes, string_2_h256, string_2_u256}; -fn test_json_file(p: &str) { - println!("{}", p); +pub fn test_json_file(p: &str) { let f = fs::File::open(p).unwrap(); - let tests = json::Test::load(f).unwrap(); + let tests = Test::load(f).unwrap(); for (_name, vm) in tests.into_iter() { // Step one: Init params, env_info let mut params = ActionParams::default(); @@ -70,7 +68,7 @@ fn test_json_file(p: &str) { } } -fn test_json_path(p: &str) { +pub fn test_json_path(p: &str) { let info = fs::metadata(p).unwrap(); if info.is_dir() { for entry in fs::read_dir(p).unwrap() { @@ -83,16 +81,21 @@ fn test_json_path(p: &str) { } } -fn main() { - test_json_path(r"./tests/jsondata/VMTests/vmArithmeticTest"); - test_json_path(r"./tests/jsondata/VMTests/vmBitwiseLogicOperation"); - test_json_path(r"./tests/jsondata/VMTests/vmBlockInfoTest"); - test_json_path(r"./tests/jsondata/VMTests/vmEnvironmentalInfo"); - test_json_path(r"./tests/jsondata/VMTests/vmIOandFlowOperations"); - test_json_path(r"./tests/jsondata/VMTests/vmLogTest"); - test_json_path(r"./tests/jsondata/VMTests/vmRandomTest"); - test_json_path(r"./tests/jsondata/VMTests/vmSha3Test"); - test_json_path(r"./tests/jsondata/VMTests/vmPushDupSwapTest"); - test_json_path(r"./tests/jsondata/VMTests/vmSystemOperations"); - test_json_path(r"./tests/jsondata/VMTests/vmTests"); +#[cfg(test)] +mod tests { + use super::test_json_path; + #[test] + fn test_json_vm() { + test_json_path(r"../jsondata/VMTests/vmArithmeticTest"); + test_json_path(r"../jsondata/VMTests/vmBitwiseLogicOperation"); + test_json_path(r"../jsondata/VMTests/vmBlockInfoTest"); + test_json_path(r"../jsondata/VMTests/vmEnvironmentalInfo"); + test_json_path(r"../jsondata/VMTests/vmIOandFlowOperations"); + test_json_path(r"../jsondata/VMTests/vmLogTest"); + test_json_path(r"../jsondata/VMTests/vmRandomTest"); + test_json_path(r"../jsondata/VMTests/vmSha3Test"); + test_json_path(r"../jsondata/VMTests/vmPushDupSwapTest"); + test_json_path(r"../jsondata/VMTests/vmSystemOperations"); + test_json_path(r"../jsondata/VMTests/vmTests"); + } } diff --git a/tests/state_test/README.md b/tests/state_test/README.md deleted file mode 100644 index 81523b6f6..000000000 --- a/tests/state_test/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# State Test - -Test the cita state using [Tests](https://github.com/cryptape/cita-testdata/tree/master/GeneralStateTests/) - - -## Usage - -```sh -$ cd cita - -$ RUST_LOG=error,state_test=trace RUST_BACKTRACE=1 cargo run --bin state_test -``` diff --git a/tests/state_test/src/main.rs b/tests/state_test/src/main.rs deleted file mode 100644 index 84b6cdc98..000000000 --- a/tests/state_test/src/main.rs +++ /dev/null @@ -1,316 +0,0 @@ -#[macro_use] -extern crate log; -extern crate env_logger; -mod json; - -use core_executor::engines::NullEngine; -use core_executor::libexecutor::economical_model::EconomicalModel; -use core_executor::libexecutor::sys_config::BlockSysConfig; -use core_executor::state::ApplyResult; -use core_executor::types::transaction::Transaction; -use evm::cita_types::U256; -use evm::env_info::EnvInfo; -use libproto::blockchain::Transaction as ProtoTransaction; -use std::fs; -use test_helper::{get_temp_state, secret_2_address, string_2_bytes, string_2_h256, string_2_u256}; - -fn test_json_file(p: &str) { - let f = fs::File::open(p).unwrap(); - let tests = json::Test::load(f).unwrap(); - for (_name, test) in tests.into_iter() { - let data_post_byzantium = test.post.unwrap().byzantium; - if data_post_byzantium.is_none() { - continue; - } - - for (_i, postdata) in data_post_byzantium.unwrap().into_iter().enumerate() { - // Init state - let mut state = get_temp_state(); - for (address, account) in test.pre.clone().unwrap() { - let balance = string_2_u256(account.balance); - let code = string_2_bytes(account.code); - let nonce = string_2_u256(account.nonce); - if code.is_empty() { - state.new_contract(&address, balance, nonce); - } else { - state.new_contract(&address, balance, nonce); - let _ = state.init_code(&address, code); - } - - for (k, v) in account.storage { - let kk = string_2_h256(k); - let vv = string_2_h256(v); - let _ = state.set_storage(&address, kk, vv); - } - } - state.commit().unwrap(); - - // Set envionment - let mut env_info = EnvInfo::default(); - env_info.difficulty = string_2_u256(test.env.current_difficulty.clone()); - env_info.number = string_2_u256(test.env.current_number.clone()).low_u64(); - env_info.timestamp = string_2_u256(test.env.current_timestamp.clone()).low_u64(); - env_info.gas_limit = string_2_u256(test.env.current_gas_limit.clone()); - env_info.author = test.env.current_coinbase; - - let engine = NullEngine::cita(); - let mut config = BlockSysConfig::default(); - config.quota_price = string_2_u256(test.transaction.gas_price.clone()); - config.economical_model = EconomicalModel::Charge; - config.quota_price = U256::from(1); - - let idx_gas = &postdata.indexes[&String::from("gas")]; - let idx_value = &postdata.indexes[&String::from("value")]; - let idx_data = &postdata.indexes[&String::from("data")]; - let str_gas = test.transaction.gas_limit.clone()[*idx_gas].clone(); - let str_value = test.transaction.value.clone()[*idx_value].clone(); - let str_data = test.transaction.data.clone()[*idx_data].clone(); - - let mut proto_tx = ProtoTransaction::new(); - proto_tx.set_data(string_2_bytes(str_data)); - proto_tx.set_value(string_2_bytes(str_value)); - proto_tx.set_nonce(test.transaction.nonce.clone()); - proto_tx.set_quota(string_2_u256(str_gas).low_u64()); - if !test.transaction.to.is_empty() { - proto_tx.set_to(test.transaction.to.clone()); - } - - let tx = Transaction::create(&proto_tx).unwrap(); - let sender = secret_2_address(&test.transaction.secret_key); - let signed_transaction = tx.fake_sign(sender); - - // Execute transactions - let result: ApplyResult = - state.apply(&env_info, &engine, &signed_transaction, true, &config); - match result { - Ok(outcome) => { - debug!("lalalal receipt error: {:?}", outcome.receipt.error); - } - _ => panic!("apply_transaction: There must be something wrong!"), - } - - // check root hash - state.commit().unwrap(); - let root = state.root(); - debug!("state.root {}", root); - assert_eq!(*root, string_2_h256(postdata.hash)); - } - } -} - -fn test_json_path(p: &str) { - let info = fs::metadata(p).unwrap(); - if info.is_dir() { - for entry in fs::read_dir(p).unwrap() { - let entry = entry.unwrap(); - let p = entry.path(); - test_json_path(p.to_str().unwrap()); - } - } else { - test_json_file(p); - } -} - -fn skip_json_path(_reason: &str, _name: &str) {} - -fn main() { - env_logger::init(); - - test_json_path(r"./tests/jsondata/GeneralStateTests/stRefundTest"); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stCodeCopyTest", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stMemExpandingEIP150Calls", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stRevertTest", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stArgsZeroOneBalance", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stMemoryStressTest", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stTransactionTest", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stReturnDataTest", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stCodeSizeLimit", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stHomesteadSpecific", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stEIP158Specific", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge2", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stCreateTest", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stSStoreTest", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stTransitionTest", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stZeroCallsTest", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stBadOpcode", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stLogTests", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stNonZeroCallsTest", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stCallDelegateCodesHomestead", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stBugs", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stShift", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stWalletTest", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stRandom2", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stEWASMTests", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stStaticCall", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stAttackTest", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stStackTests", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stPreCompiledContracts2", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stInitCodeTest", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stZeroKnowledge", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stEIP150singleCodeGasPrices", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stChangedEIP150", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stExample", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stSolidityTest", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stEIP150Specific", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stQuadraticComplexityTest", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stSystemOperationsTest", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stZeroCallsRevert", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stRecursiveCreate", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stRandom", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stDelegatecallTestHomestead", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stMemoryTest", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stCreate2", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stSpecialTest", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stCallCodes", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stCallCreateCallCodeTest", - ); - skip_json_path( - "run tests integration", - r"./tests/jsondata/GeneralStateTests/stExtCodeHash", - ); -} diff --git a/tests/test_helper/Cargo.toml b/tests/test_helper/Cargo.toml deleted file mode 100644 index 54e3f499e..000000000 --- a/tests/test_helper/Cargo.toml +++ /dev/null @@ -1,14 +0,0 @@ -[package] -name = "test_helper" -version = "0.1.0" -authors = ["Cryptape Technologies "] -edition = "2018" - -[dependencies] -ethereum-types = "0.4.0" -tiny-keccak = "1.4.2" -hex = "0.3" -libsecp256k1 = "0.2.2" - -core-executor = { path="../../cita-executor/core"} -evm = { path="../../cita-executor/evm"} diff --git a/tests/test_helper/src/lib.rs b/tests/test_helper/src/lib.rs deleted file mode 100644 index 5d03cb04c..000000000 --- a/tests/test_helper/src/lib.rs +++ /dev/null @@ -1,3 +0,0 @@ -mod helper; - -pub use helper::{get_temp_state, secret_2_address, string_2_bytes, string_2_h256, string_2_u256}; diff --git a/tests/vm_test/Cargo.toml b/tests/vm_test/Cargo.toml deleted file mode 100644 index 5ac5d84e7..000000000 --- a/tests/vm_test/Cargo.toml +++ /dev/null @@ -1,15 +0,0 @@ -[package] -name = "vm_test" -version = "0.1.0" -authors = ["Cryptape Technologies "] -edition = "2018" - -[dependencies] -ethereum-types = "0.4.0" -serde = "1.0" -serde_derive = "1.0" -serde_json = "1.0" -hex = "0.3" - -evm = { path="../../cita-executor/evm"} -test_helper = { path="../test_helper"} diff --git a/tests/vm_test/README.md b/tests/vm_test/README.md deleted file mode 100644 index 310be93e9..000000000 --- a/tests/vm_test/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# Vm Test - -Test the cita vm using [Tests](https://github.com/cryptape/cita-testdata/tree/master/VMTests/) - - -## Usage - -```sh -$ cd cita - -$ RUST_BACKTRACE=1 cargo run --bin vm_test -``` From 8ccb79ef9bb5073a7eb04d373f3a6de386c77207 Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Wed, 10 Apr 2019 12:18:18 +0800 Subject: [PATCH 55/96] More template types of issue. [skip ci] --- .../ISSUE_TEMPLATE/bug_report.md | 6 +++++- .github/ISSUE_TEMPLATE/general_question.md | 13 +++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) rename ISSUE_TEMPLATE.md => .github/ISSUE_TEMPLATE/bug_report.md (88%) create mode 100644 .github/ISSUE_TEMPLATE/general_question.md diff --git a/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE/bug_report.md similarity index 88% rename from ISSUE_TEMPLATE.md rename to .github/ISSUE_TEMPLATE/bug_report.md index 2036368b4..3dbaf152f 100644 --- a/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,4 +1,8 @@ -# Issue Template + --- +name: "Bug Report" +labels: bug +assignee: kaikai1024 + --- ## Description diff --git a/.github/ISSUE_TEMPLATE/general_question.md b/.github/ISSUE_TEMPLATE/general_question.md new file mode 100644 index 000000000..7f2b790de --- /dev/null +++ b/.github/ISSUE_TEMPLATE/general_question.md @@ -0,0 +1,13 @@ + --- +name: "General Question" +about: Any question that isn't answered in docs or forum +assignee: kaikai1024 + --- + +## Description + +[Description of the issue] + +## Additional Information + +[Any other information which would be helpful to reproduce the issue]. From f100dc34cb16bdeb0b7e8c90178f3c9dca7532be Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Wed, 10 Apr 2019 14:44:09 +0800 Subject: [PATCH 56/96] More template types of pull request. [skip ci] --- .../PULL_REQUEST_TEMPLATE/not_about_codes.md | 10 ++++++++++ .../pull_request_template.md | 17 +++++++++-------- 2 files changed, 19 insertions(+), 8 deletions(-) create mode 100644 .github/PULL_REQUEST_TEMPLATE/not_about_codes.md rename PULL_REQUEST_TEMPLATE.md => .github/PULL_REQUEST_TEMPLATE/pull_request_template.md (60%) diff --git a/.github/PULL_REQUEST_TEMPLATE/not_about_codes.md b/.github/PULL_REQUEST_TEMPLATE/not_about_codes.md new file mode 100644 index 000000000..96aebda03 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/not_about_codes.md @@ -0,0 +1,10 @@ +# Pull Request Template + +## Requirements + +- Filling out the template is required. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion. + +## Templates + +### Description of the Change +### Applicable Issues diff --git a/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md similarity index 60% rename from PULL_REQUEST_TEMPLATE.md rename to .github/PULL_REQUEST_TEMPLATE/pull_request_template.md index fa5395146..50c0f7e03 100644 --- a/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md @@ -1,14 +1,15 @@ # Pull Request Template -### Requirements +## Requirements + - Filling out the template is required. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion. - All new codes require tests to ensure against regressions. -### Templates +## Templates -#### Description of the Change -#### Alternate Design -#### Benefits -#### Possible Drawbacks -#### Verification Process -#### Applicable Issues +### Description of the Change +### Alternate Design +### Benefits +### Possible Drawbacks +### Verification Process +### Applicable Issues From f8a799c759f89746e4f664954bc077e9df46fc52 Mon Sep 17 00:00:00 2001 From: ouwenkg <2630582710@qq.com> Date: Wed, 10 Apr 2019 20:37:28 +0800 Subject: [PATCH 57/96] change byzantium to homestead[skip travis] --- tests/json_test/src/state_test.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/json_test/src/state_test.rs b/tests/json_test/src/state_test.rs index b3c3e8ae9..3edf9ab08 100644 --- a/tests/json_test/src/state_test.rs +++ b/tests/json_test/src/state_test.rs @@ -16,12 +16,12 @@ pub fn test_json_file(p: &str) { let f = fs::File::open(p).unwrap(); let tests = Test::load(f).unwrap(); for (_name, test) in tests.into_iter() { - let data_post_byzantium = test.post.unwrap().byzantium; - if data_post_byzantium.is_none() { + let data_post_homestead = test.post.unwrap().homestead; + if data_post_homestead.is_none() { continue; } - for (_i, postdata) in data_post_byzantium.unwrap().into_iter().enumerate() { + for (_i, postdata) in data_post_homestead.unwrap().into_iter().enumerate() { // Init state let mut state = get_temp_state(); for (address, account) in test.pre.clone().unwrap() { From 043a88dcb85ea4063052144f590d834b5dc03cd8 Mon Sep 17 00:00:00 2001 From: kaikai Date: Thu, 11 Apr 2019 09:56:21 +0800 Subject: [PATCH 58/96] :scroll: Update issue templates [skip ci] --- .github/ISSUE_TEMPLATE/bug_report.md | 11 ++++++---- .../{general_question.md => custom.md} | 11 ++++++---- .github/ISSUE_TEMPLATE/feature_request.md | 20 +++++++++++++++++++ 3 files changed, 34 insertions(+), 8 deletions(-) rename .github/ISSUE_TEMPLATE/{general_question.md => custom.md} (73%) create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 3dbaf152f..6035b5ca6 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,8 +1,11 @@ - --- -name: "Bug Report" +--- +name: Bug report +about: Create a report to help us improve +title: '' labels: bug -assignee: kaikai1024 - --- +assignees: kaikai1024 + +--- ## Description diff --git a/.github/ISSUE_TEMPLATE/general_question.md b/.github/ISSUE_TEMPLATE/custom.md similarity index 73% rename from .github/ISSUE_TEMPLATE/general_question.md rename to .github/ISSUE_TEMPLATE/custom.md index 7f2b790de..67141b24b 100644 --- a/.github/ISSUE_TEMPLATE/general_question.md +++ b/.github/ISSUE_TEMPLATE/custom.md @@ -1,8 +1,11 @@ - --- -name: "General Question" +--- +name: Custom issue template about: Any question that isn't answered in docs or forum -assignee: kaikai1024 - --- +title: '' +labels: '' +assignees: '' + +--- ## Description diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 000000000..bbcbbe7d6 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. From 443672a629537b726552b1759efba12048ff7898 Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Thu, 11 Apr 2019 12:18:09 +0800 Subject: [PATCH 59/96] :scroll: Set the default template and rename another. [skip ci] --- .github/PULL_REQUEST_TEMPLATE/{not_about_codes.md => simple.md} | 0 .github/{PULL_REQUEST_TEMPLATE => }/pull_request_template.md | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename .github/PULL_REQUEST_TEMPLATE/{not_about_codes.md => simple.md} (100%) rename .github/{PULL_REQUEST_TEMPLATE => }/pull_request_template.md (100%) diff --git a/.github/PULL_REQUEST_TEMPLATE/not_about_codes.md b/.github/PULL_REQUEST_TEMPLATE/simple.md similarity index 100% rename from .github/PULL_REQUEST_TEMPLATE/not_about_codes.md rename to .github/PULL_REQUEST_TEMPLATE/simple.md diff --git a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md b/.github/pull_request_template.md similarity index 100% rename from .github/PULL_REQUEST_TEMPLATE/pull_request_template.md rename to .github/pull_request_template.md From ce05f3c10f39af8d56f8b9ba8d234c8a37689059 Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Thu, 11 Apr 2019 13:50:28 +0800 Subject: [PATCH 60/96] :fire: Remove the useless Jenkinsfile. [skip ci] --- Jenkinsfile | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index d68c8a089..000000000 --- a/Jenkinsfile +++ /dev/null @@ -1,15 +0,0 @@ -pipeline { - agent any - stages { - stage('func test') { - steps { - sh 'scripts/ci.sh' - } - } - } - post { - always { - archive 'target/install/*,target/*.log' - } - } -} From 0bde758b15436757372f7aae8a38cbde2ea229aa Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Thu, 11 Apr 2019 13:52:00 +0800 Subject: [PATCH 61/96] Move the contributing and conduct to the github folder. [skip ci] --- CODE_OF_CONDUCT.md => .github/CODE_OF_CONDUCT.md | 0 CONTRIBUTING.md => .github/CONTRIBUTING.md | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename CODE_OF_CONDUCT.md => .github/CODE_OF_CONDUCT.md (100%) rename CONTRIBUTING.md => .github/CONTRIBUTING.md (100%) diff --git a/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md similarity index 100% rename from CODE_OF_CONDUCT.md rename to .github/CODE_OF_CONDUCT.md diff --git a/CONTRIBUTING.md b/.github/CONTRIBUTING.md similarity index 100% rename from CONTRIBUTING.md rename to .github/CONTRIBUTING.md From ed154828f0b7012562a0dd02ab9e433702f7ad28 Mon Sep 17 00:00:00 2001 From: leeyr Date: Wed, 10 Apr 2019 20:30:26 +0800 Subject: [PATCH 62/96] bugfix: network high cpu usage. [skip travis] --- cita-network/src/p2p_protocol/transfer.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/cita-network/src/p2p_protocol/transfer.rs b/cita-network/src/p2p_protocol/transfer.rs index bbe3742a9..483244233 100644 --- a/cita-network/src/p2p_protocol/transfer.rs +++ b/cita-network/src/p2p_protocol/transfer.rs @@ -30,6 +30,11 @@ use tokio::codec::length_delimited::LengthDelimitedCodec; pub const TRANSFER_PROTOCOL_ID: ProtocolId = 1; +// Quota (1 byte) = 200, +// Max 20 block in one transfer. +// 512M can support BQL set to 2 ** 32 - 1 +pub const MAX_FRAME_LENGTH: usize = 512 * 1024 * 1204; + pub struct TransferProtocolMeta { id: ProtocolId, network_client: NetworkClient, @@ -64,7 +69,9 @@ impl ProtocolMeta for TransferProtocolMeta { } fn codec(&self) -> LengthDelimitedCodec { - LengthDelimitedCodec::new() + let mut codec = LengthDelimitedCodec::new(); + codec.set_max_frame_length(MAX_FRAME_LENGTH); + codec } fn service_handle(&self) -> Option> { From 12da03adb93c9066b439f59b7bd75578ba9a7435 Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Thu, 11 Apr 2019 22:43:54 +0800 Subject: [PATCH 63/96] :bug: Fix env.sh does not start build container. --- env.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/env.sh b/env.sh index a03b7aac5..4e0c62e77 100755 --- a/env.sh +++ b/env.sh @@ -6,7 +6,7 @@ else SOURCE_DIR="$(dirname $(readlink -f $0))" fi -test -f "${SOURCE_DIR}/CODE_OF_CONDUCT.md" +test -f "${SOURCE_DIR}/Cargo.toml" if [ $? -eq 0 ]; then CONTAINER_NAME="cita_build_container" DOCKER_IMAGE="cita/cita-build:ubuntu-18.04-20190304" From d4d12185a088136bfbcd7a84b5764fa0b4146b28 Mon Sep 17 00:00:00 2001 From: clearloop Date: Fri, 12 Apr 2019 01:48:54 +0800 Subject: [PATCH 64/96] Fix config tools' typo. --- scripts/cita_config.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/cita_config.sh b/scripts/cita_config.sh index 64e826011..4a5d130c5 100755 --- a/scripts/cita_config.sh +++ b/scripts/cita_config.sh @@ -9,3 +9,4 @@ if [ -e $CITA_SCRIPTS/create_cita_config.py ]; then $CITA_SCRIPTS/create_cita_config.py $@ else echo -e "\033[0;31mPlease run this command after build 🎨" +fi From 02dc441f10e49b5bcbc7607e227887b0de561468 Mon Sep 17 00:00:00 2001 From: clearloop Date: Fri, 12 Apr 2019 11:28:02 +0800 Subject: [PATCH 65/96] Fixed docker volume's typo. --- env.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/env.sh b/env.sh index 4e0c62e77..a3cd0f9e8 100755 --- a/env.sh +++ b/env.sh @@ -56,8 +56,8 @@ if [ $? -ne 0 ]; then docker run -d \ --net=${SYSTEM_NET} \ --volume ${SOURCE_DIR}:${WORKDIR} \ - --volume ${DOCKER_CARGO}/git:${DOCKER_CARGO}/git \ - --volume ${DOCKER_CARGO}/registry:${DOCKER_CARGO}/registry \ + --volume ${DOCKER_CARGO}/git:${CARGO_HOME}/git \ + --volume ${DOCKER_CARGO}/registry:${CARGO_HOME}/registry \ --volume ${LOCALTIME_PATH}:/etc/localtime \ --env USER_ID=${USER_ID} \ --workdir ${WORKDIR} \ From 68d42d2e47a3b7b5ef5d1bbef6a6b8057602ed3b Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Fri, 12 Apr 2019 14:24:06 +0800 Subject: [PATCH 66/96] :scroll: Fix the contributing path. [skip ci] --- README-CN.md | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README-CN.md b/README-CN.md index 869b362d2..84b08977d 100644 --- a/README-CN.md +++ b/README-CN.md @@ -72,7 +72,7 @@ CITA 支持 JSON-RPC 和 WebSocket (experimental) API/v1。 ## 社区贡献 -CITA 目前仍在紧张的开发中,欢迎大家为 CITA 贡献自己的一份力量。更详细的信息可以参考[贡献指南](CONTRIBUTING.md)。 +CITA 目前仍在紧张的开发中,欢迎大家为 CITA 贡献自己的一份力量。更详细的信息可以参考[贡献指南](.github/CONTRIBUTING.md)。 ## 关注我们 diff --git a/README.md b/README.md index c6788afe0..55a87023d 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ For CITA API/v1, You can use any HTTP client, or following SDKs: CITA is still in active development. Building a blockchain platform is a huge task, we need your help. Any contribution is welcome. -Please check [CONTRIBUTING.md](CONTRIBUTING.md) for more details. +Please check [CONTRIBUTING](.github/CONTRIBUTING.md) for more details. ## Follow us From a23b68b2756845c5fa7c769f1d995dbff7a5a379 Mon Sep 17 00:00:00 2001 From: ouwenkg <2630582710@qq.com> Date: Fri, 12 Apr 2019 20:28:28 +0800 Subject: [PATCH 67/96] run state test[skip travis] --- tests/json_test/Cargo.toml | 9 ++ tests/json_test/README.md | 2 +- tests/json_test/src/state_test.rs | 221 ++++++++---------------------- tests/jsondata | 2 +- 4 files changed, 67 insertions(+), 167 deletions(-) diff --git a/tests/json_test/Cargo.toml b/tests/json_test/Cargo.toml index e054426a6..41a4e879f 100644 --- a/tests/json_test/Cargo.toml +++ b/tests/json_test/Cargo.toml @@ -18,3 +18,12 @@ log = "0.4.0" libproto = { git = "https://github.com/cryptape/cita-common.git", branch = "develop" } core-executor = { path="../../cita-executor/core"} evm = { path="../../cita-executor/evm"} + +[features] +default = ["secp256k1", "sha3hash"] +secp256k1 = [] +ed25519 = [] +sm2 = [] +sha3hash = [] +blake2bhash = [] +sm3hash = [] diff --git a/tests/json_test/README.md b/tests/json_test/README.md index 102827b85..c7bc30a71 100644 --- a/tests/json_test/README.md +++ b/tests/json_test/README.md @@ -9,7 +9,7 @@ Test CITA using [Tests](https://github.com/cryptape/cita-testdata/) ```sh $ cd cita -$ cargo test state_test::tests::test_json_state +$ cargo test --features sha3hash state_test::tests::test_json_state ``` ### VM Tests diff --git a/tests/json_test/src/state_test.rs b/tests/json_test/src/state_test.rs index 3edf9ab08..b5d1ea685 100644 --- a/tests/json_test/src/state_test.rs +++ b/tests/json_test/src/state_test.rs @@ -113,209 +113,100 @@ pub fn skip_json_path(_reason: &str, _name: &str) {} #[cfg(test)] mod tests { - use super::skip_json_path; + #[cfg(feature = "sha3hash")] #[test] fn test_json_state() { + use super::{skip_json_path, test_json_path}; skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stRefundTest", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stCodeCopyTest", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stMemExpandingEIP150Calls", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stRevertTest", - ); - skip_json_path( - "run tests integration", + "version above homestead", r"../jsondata/GeneralStateTests/stArgsZeroOneBalance", ); skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stMemoryStressTest", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stTransactionTest", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stReturnDataTest", - ); - skip_json_path( - "run tests integration", + "version above homestead", r"../jsondata/GeneralStateTests/stPreCompiledContracts", ); skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stCodeSizeLimit", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stHomesteadSpecific", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stEIP158Specific", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stZeroKnowledge2", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stCreateTest", - ); - skip_json_path( - "run tests integration", + "version above homestead", r"../jsondata/GeneralStateTests/stSStoreTest", ); skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stTransitionTest", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stZeroCallsTest", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stBadOpcode", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stLogTests", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stNonZeroCallsTest", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stCallDelegateCodesHomestead", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stBugs", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stShift", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stWalletTest", + "version above homestead", + r"../jsondata/GeneralStateTests/stZeroKnowledge2", ); skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stRandom2", + "version above homestead", + r"../jsondata/GeneralStateTests/stEIP158Specific", ); skip_json_path( - "run tests integration", + "version above homestead", r"../jsondata/GeneralStateTests/stEWASMTests", ); skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stStaticCall", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stAttackTest", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stStackTests", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stPreCompiledContracts2", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stInitCodeTest", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stZeroKnowledge", - ); - skip_json_path( - "run tests integration", + "version above homestead", r"../jsondata/GeneralStateTests/stEIP150singleCodeGasPrices", ); skip_json_path( - "run tests integration", + "version above homestead", r"../jsondata/GeneralStateTests/stChangedEIP150", ); skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stExample", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stSolidityTest", + "version above homestead", + r"../jsondata/GeneralStateTests/stStaticCall", ); skip_json_path( - "run tests integration", + "version above homestead", r"../jsondata/GeneralStateTests/stEIP150Specific", ); skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stQuadraticComplexityTest", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stSystemOperationsTest", - ); - skip_json_path( - "run tests integration", + "version above homestead", r"../jsondata/GeneralStateTests/stZeroCallsRevert", ); skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stRecursiveCreate", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stRandom", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stDelegatecallTestHomestead", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stMemoryTest", - ); - skip_json_path( - "run tests integration", + "version above homestead", r"../jsondata/GeneralStateTests/stCreate2", ); skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stSpecialTest", - ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stCallCodes", - ); - skip_json_path( - "run tests integration", + "version above homestead", r"../jsondata/GeneralStateTests/stCallCreateCallCodeTest", ); - skip_json_path( - "run tests integration", - r"../jsondata/GeneralStateTests/stExtCodeHash", - ); + skip_json_path("something panic", r"../jsondata/GeneralStateTests/stRandom"); + + test_json_path(r"../jsondata/GeneralStateTests/stSystemOperationsTest"); + test_json_path(r"../jsondata/GeneralStateTests/stRecursiveCreate"); + test_json_path(r"../jsondata/GeneralStateTests/stLogTests"); + test_json_path(r"../jsondata/GeneralStateTests/stCodeCopyTest"); + test_json_path(r"../jsondata/GeneralStateTests/stExtCodeHash"); + test_json_path(r"../jsondata/GeneralStateTests/stCallCodes"); + test_json_path(r"../jsondata/GeneralStateTests/stCreateTest"); + test_json_path(r"../jsondata/GeneralStateTests/stZeroKnowledge"); + test_json_path(r"../jsondata/GeneralStateTests/stRandom2"); + test_json_path(r"../jsondata/GeneralStateTests/stTransitionTest"); + test_json_path(r"../jsondata/GeneralStateTests/stZeroCallsTest"); + test_json_path(r"../jsondata/GeneralStateTests/stBugs"); + test_json_path(r"../jsondata/GeneralStateTests/stBadOpcode"); + test_json_path(r"../jsondata/GeneralStateTests/stWalletTest"); + test_json_path(r"../jsondata/GeneralStateTests/stNonZeroCallsTest"); + test_json_path(r"../jsondata/GeneralStateTests/stCallDelegateCodesHomestead"); + test_json_path(r"../jsondata/GeneralStateTests/stAttackTest"); + test_json_path(r"../jsondata/GeneralStateTests/stStackTests"); + test_json_path(r"../jsondata/GeneralStateTests/stExample"); + test_json_path(r"../jsondata/GeneralStateTests/stSolidityTest"); + test_json_path(r"../jsondata/GeneralStateTests/stQuadraticComplexityTest"); + test_json_path(r"../jsondata/GeneralStateTests/stPreCompiledContracts2"); + test_json_path(r"../jsondata/GeneralStateTests/stInitCodeTest"); + test_json_path(r"../jsondata/GeneralStateTests/stDelegatecallTestHomestead"); + test_json_path(r"../jsondata/GeneralStateTests/stMemoryTest"); + test_json_path(r"../jsondata/GeneralStateTests/stSpecialTest"); + test_json_path(r"../jsondata/GeneralStateTests/stShift"); + test_json_path(r"../jsondata/GeneralStateTests/stHomesteadSpecific"); + test_json_path(r"../jsondata/GeneralStateTests/stCodeSizeLimit"); + test_json_path(r"../jsondata/GeneralStateTests/stReturnDataTest"); + test_json_path(r"../jsondata/GeneralStateTests/stTransactionTest"); + test_json_path(r"../jsondata/GeneralStateTests/stRevertTest"); + test_json_path(r"../jsondata/GeneralStateTests/stMemoryStressTest"); + test_json_path(r"../jsondata/GeneralStateTests/stCallDelegateCodesCallCodeHomestead"); + test_json_path(r"../jsondata/GeneralStateTests/stMemExpandingEIP150Calls"); + test_json_path(r"../jsondata/GeneralStateTests/stRefundTest"); } } diff --git a/tests/jsondata b/tests/jsondata index 2baee3c4b..2435c97f3 160000 --- a/tests/jsondata +++ b/tests/jsondata @@ -1 +1 @@ -Subproject commit 2baee3c4bd6b48bdd53377aa937b626908ed0dce +Subproject commit 2435c97f3b8296394534832026fcc502128fba87 From 051431dff9da14d5851c2f0ea5e29ea9569c66cc Mon Sep 17 00:00:00 2001 From: ouwenkg <2630582710@qq.com> Date: Tue, 16 Apr 2019 10:41:35 +0800 Subject: [PATCH 68/96] update panic test[skip travis] --- tests/json_test/src/state_test.rs | 5 ++++- tests/jsondata | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/tests/json_test/src/state_test.rs b/tests/json_test/src/state_test.rs index b5d1ea685..2977c4747 100644 --- a/tests/json_test/src/state_test.rs +++ b/tests/json_test/src/state_test.rs @@ -11,6 +11,7 @@ use evm::cita_types::U256; use evm::env_info::EnvInfo; use libproto::blockchain::Transaction as ProtoTransaction; use std::fs; +use std::sync::Arc; pub fn test_json_file(p: &str) { let f = fs::File::open(p).unwrap(); @@ -50,6 +51,8 @@ pub fn test_json_file(p: &str) { env_info.timestamp = string_2_u256(test.env.current_timestamp.clone()).low_u64(); env_info.gas_limit = string_2_u256(test.env.current_gas_limit.clone()); env_info.author = test.env.current_coinbase; + let previous_hash = string_2_h256(test.env.previous_hash.clone()); + Arc::make_mut(&mut env_info.last_hashes).push(previous_hash); let engine = NullEngine::cita(); let mut config = BlockSysConfig::default(); @@ -170,8 +173,8 @@ mod tests { "version above homestead", r"../jsondata/GeneralStateTests/stCallCreateCallCodeTest", ); - skip_json_path("something panic", r"../jsondata/GeneralStateTests/stRandom"); + test_json_path(r"../jsondata/GeneralStateTests/stRandom"); test_json_path(r"../jsondata/GeneralStateTests/stSystemOperationsTest"); test_json_path(r"../jsondata/GeneralStateTests/stRecursiveCreate"); test_json_path(r"../jsondata/GeneralStateTests/stLogTests"); diff --git a/tests/jsondata b/tests/jsondata index 2435c97f3..6d0f876a1 160000 --- a/tests/jsondata +++ b/tests/jsondata @@ -1 +1 @@ -Subproject commit 2435c97f3b8296394534832026fcc502128fba87 +Subproject commit 6d0f876a107ba4f50cbde1f22c903710b6f1f819 From 6109ed3ef149cf2b3990caa49cb543c8f50db5dc Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Tue, 16 Apr 2019 15:44:34 +0800 Subject: [PATCH 69/96] Update docker compose config file. [skip ci] --- tests/integrate_test/docker-compose.yaml | 36 ++++++++++++------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/tests/integrate_test/docker-compose.yaml b/tests/integrate_test/docker-compose.yaml index 4661f4ece..6280635f1 100644 --- a/tests/integrate_test/docker-compose.yaml +++ b/tests/integrate_test/docker-compose.yaml @@ -3,7 +3,7 @@ version: '2' services: config: container_name: config - image: cita/cita-run:ubuntu-18.04-20180813 + image: cita/cita-run:ubuntu-18.04-20181009 hostname: config environment: - USER_ID @@ -16,7 +16,7 @@ services: command: | bash -c ' cd cita_secp256k1_sha3; - ./scripts/create_cita_config.py create --super_admin "0x4b5ae4567ad5d9fb92bc9afd6a657e6fa13a2523" --nodes "node0:4000,node1:4000,node2:4000,node3:4000"; + bin/cita bebop create --super_admin "0x4b5ae4567ad5d9fb92bc9afd6a657e6fa13a2523" --nodes "node0:4000,node1:4000,node2:4000,node3:4000"; cp -r --parents ./test-chain/0 ../cita_secp256k1_sha3_node0/; cp -r --parents ./test-chain/1 ../cita_secp256k1_sha3_node1/; cp -r --parents ./test-chain/2 ../cita_secp256k1_sha3_node2/; @@ -26,7 +26,7 @@ services: container_name: node0 depends_on: - config - image: cita/cita-run:ubuntu-18.04-20180813 + image: cita/cita-run:ubuntu-18.04-20181009 hostname: node0 environment: - USER_ID @@ -41,15 +41,15 @@ services: command: | bash -c ' while [[ ! -d /opt/cita-run/test-chain ]]; do sleep 1; done; - bin/cita setup test-chain/0; - bin/cita start test-chain/0; - bin/cita logs test-chain/0 chain;' + bin/cita bebop setup test-chain/0; + bin/cita bebop start test-chain/0; + bin/cita bebop logs test-chain/0 chain;' node1: container_name: node1 depends_on: - config - image: cita/cita-run:ubuntu-18.04-20180813 + image: cita/cita-run:ubuntu-18.04-20181009 hostname: node1 environment: - USER_ID @@ -64,15 +64,15 @@ services: command: | bash -c ' while [[ ! -d /opt/cita-run/test-chain ]]; do sleep 1; done; - bin/cita setup test-chain/1; - bin/cita start test-chain/1; - bin/cita logs test-chain/1 chain;' + bin/cita bebop setup test-chain/1; + bin/cita bebop start test-chain/1; + bin/cita bebop logs test-chain/1 chain;' node2: container_name: node2 depends_on: - config - image: cita/cita-run:ubuntu-18.04-20180813 + image: cita/cita-run:ubuntu-18.04-20181009 hostname: node2 environment: - USER_ID @@ -87,15 +87,15 @@ services: command: | bash -c ' while [[ ! -d /opt/cita-run/test-chain ]]; do sleep 1; done; - bin/cita setup test-chain/2; - bin/cita start test-chain/2; - bin/cita logs test-chain/2 chain;' + bin/cita bebop setup test-chain/2; + bin/cita bebop start test-chain/2; + bin/cita bebop logs test-chain/2 chain;' node3: container_name: node3 depends_on: - config - image: cita/cita-run:ubuntu-18.04-20180813 + image: cita/cita-run:ubuntu-18.04-20181009 hostname: node3 environment: - USER_ID @@ -110,9 +110,9 @@ services: command: | bash -c ' while [[ ! -d /opt/cita-run/test-chain ]]; do sleep 1; done; - bin/cita setup test-chain/3; - bin/cita start test-chain/3; - bin/cita logs test-chain/3 chain;' + bin/cita bebop setup test-chain/3; + bin/cita bebop start test-chain/3; + bin/cita bebop logs test-chain/3 chain;' networks: main: From ff8907d838cfcdfe162a88c480d20c5a54c0263f Mon Sep 17 00:00:00 2001 From: yubo Date: Thu, 11 Apr 2019 17:57:17 +0800 Subject: [PATCH 70/96] use new p2p api fix for other change add some error handling --- Cargo.lock | 95 +++++----- cita-network/Cargo.toml | 4 +- cita-network/src/main.rs | 17 +- cita-network/src/network.rs | 4 +- cita-network/src/node_manager.rs | 22 ++- cita-network/src/p2p_protocol/mod.rs | 65 +++++-- .../src/p2p_protocol/node_discovery.rs | 175 +++--------------- cita-network/src/p2p_protocol/transfer.rs | 107 ++++------- cita-network/src/synchronizer.rs | 3 +- 9 files changed, 184 insertions(+), 308 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1ba3158a6..7bf7bb923 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -204,16 +204,6 @@ dependencies = [ "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "bincode" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "bindgen" version = "0.37.4" @@ -667,7 +657,6 @@ dependencies = [ "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)", - "discovery 0.1.0 (git+https://github.com/nervosnetwork/p2p.git?rev=562adc40e374be4ae1776bb38b070688c24e37d3)", "dotenv 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", @@ -680,7 +669,8 @@ dependencies = [ "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)", "tempfile 3.0.7 (registry+https://github.com/rust-lang/crates.io-index)", - "tentacle 0.1.0 (git+https://github.com/nervosnetwork/p2p.git?rev=562adc40e374be4ae1776bb38b070688c24e37d3)", + "tentacle 0.2.0-alpha.3 (git+https://github.com/nervosnetwork/p2p.git)", + "tentacle-discovery 0.2.0 (git+https://github.com/nervosnetwork/p2p.git)", "tokio 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.6.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", ] @@ -1180,25 +1170,6 @@ dependencies = [ "generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "discovery" -version = "0.1.0" -source = "git+https://github.com/nervosnetwork/p2p.git?rev=562adc40e374be4ae1776bb38b070688c24e37d3#562adc40e374be4ae1776bb38b070688c24e37d3" -dependencies = [ - "bincode 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", - "tentacle 0.1.0 (git+https://github.com/nervosnetwork/p2p.git?rev=562adc40e374be4ae1776bb38b070688c24e37d3)", - "tokio 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", - "trust-dns 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "dotenv" version = "0.13.0" @@ -1459,6 +1430,14 @@ dependencies = [ "smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "flatbuffers-verifier" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "flatbuffers 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "flate2" version = "1.0.4" @@ -2415,7 +2394,7 @@ dependencies = [ [[package]] name = "parity-multiaddr" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3339,30 +3318,52 @@ dependencies = [ [[package]] name = "tentacle" -version = "0.1.0" -source = "git+https://github.com/nervosnetwork/p2p.git?rev=562adc40e374be4ae1776bb38b070688c24e37d3#562adc40e374be4ae1776bb38b070688c24e37d3" +version = "0.2.0-alpha.3" +source = "git+https://github.com/nervosnetwork/p2p.git#8e2120d70fbb3184e97578137002d564f14aa110" dependencies = [ "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", "flatbuffers 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "flatbuffers-verifier 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-multiaddr 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tentacle-secio 0.1.0 (git+https://github.com/nervosnetwork/p2p.git?rev=562adc40e374be4ae1776bb38b070688c24e37d3)", + "parity-multiaddr 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tentacle-secio 0.1.1 (git+https://github.com/nervosnetwork/p2p.git)", "tokio 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-threadpool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-yamux 0.1.4 (git+https://github.com/nervosnetwork/p2p.git?rev=562adc40e374be4ae1776bb38b070688c24e37d3)", + "tokio-yamux 0.1.5 (git+https://github.com/nervosnetwork/p2p.git)", +] + +[[package]] +name = "tentacle-discovery" +version = "0.2.0" +source = "git+https://github.com/nervosnetwork/p2p.git#8e2120d70fbb3184e97578137002d564f14aa110" +dependencies = [ + "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", + "flatbuffers 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "flatbuffers-verifier 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", + "tentacle 0.2.0-alpha.3 (git+https://github.com/nervosnetwork/p2p.git)", + "tokio 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", + "trust-dns 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tentacle-secio" -version = "0.1.0" -source = "git+https://github.com/nervosnetwork/p2p.git?rev=562adc40e374be4ae1776bb38b070688c24e37d3#562adc40e374be4ae1776bb38b070688c24e37d3" +version = "0.1.1" +source = "git+https://github.com/nervosnetwork/p2p.git#8e2120d70fbb3184e97578137002d564f14aa110" dependencies = [ "aes-ctr 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "bs58 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", "ctr 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "flatbuffers 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "flatbuffers-verifier 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "hmac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3723,8 +3724,8 @@ dependencies = [ [[package]] name = "tokio-yamux" -version = "0.1.4" -source = "git+https://github.com/nervosnetwork/p2p.git?rev=562adc40e374be4ae1776bb38b070688c24e37d3#562adc40e374be4ae1776bb38b070688c24e37d3" +version = "0.1.5" +source = "git+https://github.com/nervosnetwork/p2p.git#8e2120d70fbb3184e97578137002d564f14aa110" dependencies = [ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4173,7 +4174,6 @@ dependencies = [ "checksum base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643" "checksum bellman 0.0.4 (git+https://github.com/cryptape/bellman.git?branch=0.0.4_modified)" = "" "checksum bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e103c8b299b28a9c6990458b7013dc4a8356a9b854c51b9883241f5866fac36e" -"checksum bincode 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3efe0b4c8eaeed8600549c29f538a6a11bf422858d0ed435b1d70ec4ab101190" "checksum bindgen 0.37.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1b25ab82877ea8fe6ce1ce1f8ac54361f0218bad900af9eb11803994bf67c221" "checksum bit-set 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9bf6104718e80d7b26a68fdbacff3481cfc05df670821affc7e9cbc1884400c" "checksum bit-vec 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "02b4ff8b16e6076c3e14220b39fbc1fabb6737522281a388998046859400895f" @@ -4237,7 +4237,6 @@ dependencies = [ "checksum dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850" "checksum digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e5b29bf156f3f4b3c4f610a25ff69370616ae6e0657d416de22645483e72af0a" "checksum digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "05f47366984d3ad862010e22c7ce81a7dbcaebbdfb37241a620f8b6596ee135c" -"checksum discovery 0.1.0 (git+https://github.com/nervosnetwork/p2p.git?rev=562adc40e374be4ae1776bb38b070688c24e37d3)" = "" "checksum dotenv 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c0d0a1279c96732bc6800ce6337b6a614697b0e74ae058dc03c62ebeb78b4d86" "checksum dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6d301140eb411af13d3115f9a562c85cc6b541ade9dfa314132244aaee7489dd" "checksum either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3be565ca5c557d7f59e7cfcf1844f9e3033650c929c6566f511e8005f205c1d0" @@ -4265,6 +4264,7 @@ dependencies = [ "checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" "checksum fixed-hash 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0d5ec8112f00ea8a483e04748a85522184418fd1cf02890b626d8fc28683f7de" "checksum flatbuffers 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ea0c34f669be9911826facafe996adfda978aeee67285a13556869e2d8b8331f" +"checksum flatbuffers-verifier 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "228f0226833a59e66d5ba28d15fca4efce5d598314d56179b22b3d89fbb6bf10" "checksum flate2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3b0c7353385f92079524de3b7116cf99d73947c08a7472774e9b3b04bff3b901" "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" "checksum fs2 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" @@ -4366,7 +4366,7 @@ dependencies = [ "checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" "checksum pairing 0.11.0 (git+https://github.com/cryptape/pairing.git?branch=0.11-release)" = "" "checksum panic_hook 0.0.1 (git+https://github.com/cryptape/cita-common.git?branch=develop)" = "" -"checksum parity-multiaddr 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "61ae6944d4435d41f4d0f12108c5cbb9207cbb14bc8f2b4984c6e930dc9c8e41" +"checksum parity-multiaddr 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "143cb29a33d708ccc4b00686c93acee8c76d8e188b0156a5214fcec63b59a6fc" "checksum parity-multihash 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3e8eab0287ccde7821e337a124dc5a4f1d6e4c25d10cc91e3f9361615dd95076" "checksum parity-rocksdb 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cd55d2d6d6000ec99f021cf52c9acc7d2a402e14f95ced4c5de230696fabe00b" "checksum parity-rocksdb-sys 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0e59eda423021494a6cf1be74f6989add403f53157409993f794e17b123cab51" @@ -4470,8 +4470,9 @@ dependencies = [ "checksum tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8" "checksum tempfile 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "11ce2fe9db64b842314052e2421ac61a73ce41b898dc8e3750398b219c5fc1e0" "checksum tempfile 3.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "b86c784c88d98c801132806dadd3819ed29d8600836c4088e855cdf3e178ed8a" -"checksum tentacle 0.1.0 (git+https://github.com/nervosnetwork/p2p.git?rev=562adc40e374be4ae1776bb38b070688c24e37d3)" = "" -"checksum tentacle-secio 0.1.0 (git+https://github.com/nervosnetwork/p2p.git?rev=562adc40e374be4ae1776bb38b070688c24e37d3)" = "" +"checksum tentacle 0.2.0-alpha.3 (git+https://github.com/nervosnetwork/p2p.git)" = "" +"checksum tentacle-discovery 0.2.0 (git+https://github.com/nervosnetwork/p2p.git)" = "" +"checksum tentacle-secio 0.1.1 (git+https://github.com/nervosnetwork/p2p.git)" = "" "checksum termcolor 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4096add70612622289f2fdcdbd5086dc81c1e2675e6ae58d6c4f62a16c6d7f2f" "checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096" "checksum textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "307686869c93e71f94da64286f9a9524c0f308a9e1c87a583de8e9c9039ad3f6" @@ -4503,7 +4504,7 @@ dependencies = [ "checksum tokio-udp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "da941144b816d0dcda4db3a1ba87596e4df5e860a72b70783fe435891f80601c" "checksum tokio-uds 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "65ae5d255ce739e8537221ed2942e0445f4b3b813daebac1c0050ddaaa3587f9" "checksum tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "037ffc3ba0e12a0ab4aca92e5234e0dedeb48fddf6ccd260f1f150a36a9f2445" -"checksum tokio-yamux 0.1.4 (git+https://github.com/nervosnetwork/p2p.git?rev=562adc40e374be4ae1776bb38b070688c24e37d3)" = "" +"checksum tokio-yamux 0.1.5 (git+https://github.com/nervosnetwork/p2p.git)" = "" "checksum toml 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "736b60249cb25337bc196faa43ee12c705e426f3d55c214d73a4e7be06f92cb4" "checksum toml 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "4a2ecc31b0351ea18b3fe11274b8db6e4d82bce861bbb22e6dbed40417902c65" "checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" diff --git a/cita-network/Cargo.toml b/cita-network/Cargo.toml index 4ff7fe5e7..d77fd323c 100644 --- a/cita-network/Cargo.toml +++ b/cita-network/Cargo.toml @@ -6,8 +6,8 @@ edition = "2018" [dependencies] fnv = "1.0.6" -discovery = { git = "https://github.com/nervosnetwork/p2p.git", rev = "562adc40e374be4ae1776bb38b070688c24e37d3" } -tentacle = { git = "https://github.com/nervosnetwork/p2p.git", rev = "562adc40e374be4ae1776bb38b070688c24e37d3" } +tentacle-discovery = { git = "https://github.com/nervosnetwork/p2p.git", branch = "master" } +tentacle = { git = "https://github.com/nervosnetwork/p2p.git", branch = "master" } tokio = "0.1.14" futures = "0.1.25" cita-types = { git = "https://github.com/cryptape/cita-common.git", branch = "develop" } diff --git a/cita-network/src/main.rs b/cita-network/src/main.rs index ffdb128eb..0f60bda04 100644 --- a/cita-network/src/main.rs +++ b/cita-network/src/main.rs @@ -92,9 +92,7 @@ use crate::mq_agent::MqAgent; use crate::network::Network; use crate::node_manager::{NodesManager, DEFAULT_PORT}; use crate::p2p_protocol::{ - node_discovery::DiscoveryProtocolMeta, node_discovery::NodesAddressManager, - node_discovery::DISCOVERY_PROTOCOL_ID, transfer::TransferProtocolMeta, - transfer::TRANSFER_PROTOCOL_ID, SHandle, + node_discovery::create_discovery_meta, transfer::create_transfer_meta, SHandle, }; use crate::synchronizer::Synchronizer; use clap::App; @@ -149,16 +147,9 @@ fn main() { mq_agent.set_nodes_mgr_client(nodes_mgr.client()); mq_agent.set_network_client(network_mgr.client()); - // Init p2p protocols - let discovery_meta = DiscoveryProtocolMeta::new( - DISCOVERY_PROTOCOL_ID, - NodesAddressManager::new(nodes_mgr.client()), - ); - let transfer_meta = TransferProtocolMeta::new( - TRANSFER_PROTOCOL_ID, - network_mgr.client(), - nodes_mgr.client(), - ); + let discovery_meta = create_discovery_meta(nodes_mgr.client()); + + let transfer_meta = create_transfer_meta(network_mgr.client(), nodes_mgr.client()); let mut service_cfg = ServiceBuilder::default() .insert_protocol(discovery_meta) diff --git a/cita-network/src/network.rs b/cita-network/src/network.rs index 7d58a7ae7..be08c076b 100644 --- a/cita-network/src/network.rs +++ b/cita-network/src/network.rs @@ -354,8 +354,8 @@ pub fn send_message(nodes_mgr_client: &NodesManagerClient, key: String, msg: Pro nodes_mgr_client.broadcast(BroadcastReq::new(key, msg)); } OperateType::Single => { - let dst = msg.get_origin(); - nodes_mgr_client.send_message(SingleTxReq::new(dst as usize, key, msg)); + let dst = msg.get_origin() as usize; + nodes_mgr_client.send_message(SingleTxReq::new(dst.into(), key, msg)); } OperateType::Subtract => { // FIXME: Support subtract broadcast if necessary, just use broadcast instead. diff --git a/cita-network/src/node_manager.rs b/cita-network/src/node_manager.rs index 5b716a5fc..8ebb4e40e 100644 --- a/cita-network/src/node_manager.rs +++ b/cita-network/src/node_manager.rs @@ -34,7 +34,9 @@ use std::{ time::{Duration, Instant}, }; use tentacle::{ - multiaddr::ToMultiaddr, service::ServiceControl, yamux::session::SessionType, SessionId, + multiaddr::ToMultiaddr, + service::{DialProtocol, ServiceControl, SessionType, TargetSession}, + SessionId, }; pub const DEFAULT_MAX_CONNECTS: usize = 666; @@ -213,7 +215,7 @@ impl NodesManager { if let Some(ref mut ctrl) = self.service_ctrl { self.dialing_node = Some(*key); info!("Trying to dial: {:?}", self.dialing_node); - match ctrl.dial((*key).to_multiaddr().unwrap()) { + match ctrl.dial((*key).to_multiaddr().unwrap(), DialProtocol::All) { Ok(_) => { // Need DIALING_SCORE for every dial. value.score -= DIALING_SCORE; @@ -503,9 +505,9 @@ impl AddConnectedNodeReq { ); // It is a repeated_session, but not a repeated node. - if self.ty == SessionType::Client { + if self.ty == SessionType::Outbound { if let Some(dialing_addr) = service.dialing_node { - if self.ty == SessionType::Client { + if self.ty == SessionType::Outbound { if let Some(ref mut node_status) = service.known_addrs.get_mut(&dialing_addr) { @@ -548,7 +550,7 @@ impl AddConnectedNodeReq { ); // If it is an active connection, need to set this node in known_addrs has been connected. - if self.ty == SessionType::Client { + if self.ty == SessionType::Outbound { if let Some(ref mut node_status) = service.known_addrs.get_mut(&session_info.addr) { @@ -579,7 +581,7 @@ impl AddConnectedNodeReq { } // End of dealing node for this round. - if self.ty == SessionType::Client { + if self.ty == SessionType::Outbound { service.dialing_node = None; } } @@ -610,7 +612,7 @@ impl NetworkInitReq { if let Some(ref mut ctrl) = service.service_ctrl { // FIXME: handle the error! - let ret = ctrl.send_message(self.session_id, TRANSFER_PROTOCOL_ID, buf); + let ret = ctrl.send_message_to(self.session_id, TRANSFER_PROTOCOL_ID, buf); info!( "[NodeManager] Send network init message!, id: {:?}, peer_addr: {:?}, ret: {:?}", self.session_id, peer_key, ret, @@ -777,7 +779,7 @@ impl DelConnectedNodeReq { // Remove pending connected if let Some(session_info) = service.pending_connected_addrs.remove(&self.session_id) { - if session_info.ty == SessionType::Client { + if session_info.ty == SessionType::Outbound { // Dial a node, but the session was closed by server, means this dial may refused. if let Some(ref mut node_status) = service.known_addrs.get_mut(&session_info.addr) { node_status.score -= REFUSED_SCORE; @@ -836,7 +838,7 @@ impl BroadcastReq { let mut buf = Vec::with_capacity(CITA_FRAME_HEADER_LEN + self.key.len() + msg_bytes.len()); pubsub_message_to_network_message(&mut buf, Some((self.key, msg_bytes))); if let Some(ref mut ctrl) = service.service_ctrl { - let _ = ctrl.filter_broadcast(None, TRANSFER_PROTOCOL_ID, buf); + let _ = ctrl.filter_broadcast(TargetSession::All, TRANSFER_PROTOCOL_ID, buf); } } } @@ -865,7 +867,7 @@ impl SingleTxReq { pubsub_message_to_network_message(&mut buf, Some((self.key, msg_bytes))); if let Some(ref mut ctrl) = service.service_ctrl { // FIXME: handle the error! - let _ = ctrl.send_message(self.dst, TRANSFER_PROTOCOL_ID, buf); + let _ = ctrl.send_message_to(self.dst, TRANSFER_PROTOCOL_ID, buf); } } } diff --git a/cita-network/src/p2p_protocol/mod.rs b/cita-network/src/p2p_protocol/mod.rs index 097542924..9ed47efbd 100644 --- a/cita-network/src/p2p_protocol/mod.rs +++ b/cita-network/src/p2p_protocol/mod.rs @@ -100,28 +100,65 @@ impl ServiceHandle for SHandle { proto_name, session_context, ); } + + ServiceError::SessionTimeout { session_context } => { + warn!( + "[P2pProtocol] SessionTimeout Sessionid {:?} ", + session_context.id + ); + let req = DelConnectedNodeReq::new(session_context.id); + self.nodes_mgr_client.del_connected_node(req); + } + + ServiceError::MuxerError { + session_context, + error, + } => { + warn!( + "[P2pProtocol] ServiceError::MuxerError Sessionid {:?}--{:?}", + session_context.id, error + ); + } + + ServiceError::ProtocolHandleError { error, proto_id } => { + warn!( + "[P2pProtocol] ServiceError::ProtocolHandleError proto_id {:?}--{:?}", + proto_id, error + ); + } } } fn handle_event(&mut self, _env: &mut ServiceContext, event: ServiceEvent) { match event { - ServiceEvent::SessionOpen { - id, - address, - ty, - public_key, - } => { - let address = multiaddr_to_socketaddr(&address).unwrap(); - info!("[P2pProtocol] Service open on : {:?}, session id: {:?}, ty: {:?}, public_key: {:?}", - address, id, ty, public_key); - - let req = PendingConnectedNodeReq::new(id, address, ty); - self.nodes_mgr_client.pending_connected_node(req); + ServiceEvent::SessionOpen { session_context } => { + if let Some(sock_addr) = multiaddr_to_socketaddr(&session_context.address) { + info!("[P2pProtocol] Service open on : {:?}, session id: {:?}, ty: {:?}, public_key: {:?}", + sock_addr, session_context.id, session_context.ty, session_context.remote_pubkey); + let req = PendingConnectedNodeReq::new( + session_context.id, + sock_addr, + session_context.ty, + ); + self.nodes_mgr_client.pending_connected_node(req); + } else { + info!( + "[P2pProtocol] Service open multiaddr {:?} transform failed", + session_context.address + ); + } } - ServiceEvent::SessionClose { id } => { - let req = DelConnectedNodeReq::new(id); + ServiceEvent::SessionClose { session_context } => { + let req = DelConnectedNodeReq::new(session_context.id); self.nodes_mgr_client.del_connected_node(req); } + ServiceEvent::ListenClose { address } => { + panic!("ListenClose, address {:?}", address); + } + + ServiceEvent::ListenStarted { address } => { + info!("ListenStarted, address {:?}", address); + } } } } diff --git a/cita-network/src/p2p_protocol/node_discovery.rs b/cita-network/src/p2p_protocol/node_discovery.rs index 6fbfa50b6..1e77d98b6 100644 --- a/cita-network/src/p2p_protocol/node_discovery.rs +++ b/cita-network/src/p2p_protocol/node_discovery.rs @@ -16,25 +16,21 @@ // along with this program. If not, see . use crate::node_manager::{AddNodeReq, GetRandomNodesReq, NodesManagerClient}; -use discovery::{AddressManager, Direction, Discovery, DiscoveryHandle, Misbehavior, Substream}; -use fnv::FnvHashMap; -use futures::{ - prelude::*, - sync::mpsc::{channel, Sender}, -}; -use logger::{debug, info, warn}; +use logger::{info, warn}; use pubsub::channel::unbounded; use tentacle::{ - context::{ServiceContext, SessionContext}, + builder::MetaBuilder, multiaddr::{Multiaddr, ToMultiaddr}, - traits::{ProtocolMeta, ServiceProtocol}, + service::{ProtocolHandle, ProtocolMeta}, utils::multiaddr_to_socketaddr, - yamux::session::SessionType, ProtocolId, SessionId, }; -use tokio::codec::length_delimited::LengthDelimitedCodec; +use tentacle_discovery::{ + AddressManager, Discovery, DiscoveryProtocol, MisbehaveResult, Misbehavior, +}; -pub const DISCOVERY_PROTOCOL_ID: ProtocolId = 0; +pub const DISCOVERY_PROTOCOL_ID: ProtocolId = ProtocolId::new(0); +pub const DISCOVERY_TIMEOUT_SECS: u64 = 150; #[derive(Clone, Debug)] pub struct NodesAddressManager { @@ -48,7 +44,7 @@ impl NodesAddressManager { } impl AddressManager for NodesAddressManager { - fn add_new(&mut self, addr: Multiaddr) { + fn add_new_addr(&mut self, _session_id: SessionId, addr: Multiaddr) { let address = multiaddr_to_socketaddr(&addr).unwrap(); let req = AddNodeReq::new(address); self.nodes_mgr_client.add_node(req); @@ -56,9 +52,15 @@ impl AddressManager for NodesAddressManager { info!("[NodeDiscovery] Add node {:?} to manager", address); } - fn misbehave(&mut self, _addr: Multiaddr, _ty: Misbehavior) -> i32 { + fn add_new_addrs(&mut self, session_id: SessionId, addrs: Vec) { + for addr in addrs.into_iter() { + self.add_new_addr(session_id, addr) + } + } + + fn misbehave(&mut self, _session_id: SessionId, _kind: Misbehavior) -> MisbehaveResult { warn!("[NodeDiscovery] Has not handled misbehave in this version!"); - 0 + MisbehaveResult::Disconnect } fn get_random(&mut self, n: usize) -> Vec { @@ -80,137 +82,14 @@ impl AddressManager for NodesAddressManager { } } -pub struct DiscoveryProtocol { - id: usize, - discovery: Option>, - discovery_handle: DiscoveryHandle, - discovery_senders: FnvHashMap>>, -} - -impl ServiceProtocol for DiscoveryProtocol { - fn init(&mut self, control: &mut ServiceContext) { - info!("[NodeDiscovery] Protocol [discovery({})]: init", self.id); - - let discovery_task = self - .discovery - .take() - .map(|discovery| { - debug!("[NodeDiscovery] Start discovery future_task"); - discovery - .for_each(|()| { - debug!("[NodeDiscovery] Discovery.for_each()"); - Ok(()) - }) - .map_err(|err| { - warn!("[NodeDiscovery] Discovery stream error: {:?}", err); - }) - .then(|_| { - warn!("[NodeDiscovery] End of discovery"); - Ok(()) - }) - }) - .unwrap(); - control.future_task(discovery_task); - } - - fn connected(&mut self, control: &mut ServiceContext, session: &SessionContext, _: &str) { - info!( - "[NodeDiscovery] Protocol [discovery] open session [{}], address: [{}], type: [{:?}]", - session.id, session.address, session.ty - ); - - info!("[NodeDiscovery] Listen list: {:?}", control.listens()); - let direction = if session.ty == SessionType::Server { - Direction::Inbound - } else { - Direction::Outbound - }; - - let (sender, receiver) = channel(8); - self.discovery_senders.insert(session.id, sender); - - let substream = Substream::new( - &session.address, - direction, - self.id, - session.id, - receiver, - control.control().clone(), - control.listens(), - ); - - match self.discovery_handle.substream_sender.try_send(substream) { - Ok(_) => { - debug!("[NodeDiscovery] Send substream success"); - } - Err(err) => { - warn!("[NodeDiscovery] Send substream failed: {:?}", err); - } - } - } - - fn disconnected(&mut self, _control: &mut ServiceContext, session: &SessionContext) { - self.discovery_senders.remove(&session.id); - info!( - "[NodeDiscovery] Protocol [discovery] close on session [{}]", - session.id - ); - } - - fn received(&mut self, _control: &mut ServiceContext, session: &SessionContext, data: Vec) { - if let Some(ref mut sender) = self.discovery_senders.get_mut(&session.id) { - if let Err(err) = sender.try_send(data) { - if err.is_full() { - warn!("[NodeDiscovery] Channel is full"); - } else if err.is_disconnected() { - warn!("[NodeDiscovery] Channel is disconnected"); - } else { - warn!("[NodeDiscovery] Other channel error {:?}", err); - } - } - } - } -} - -pub struct DiscoveryProtocolMeta { - pub id: ProtocolId, - pub addr_mgr: NodesAddressManager, -} - -impl DiscoveryProtocolMeta { - pub fn new(id: ProtocolId, addr_mgr: NodesAddressManager) -> Self { - DiscoveryProtocolMeta { id, addr_mgr } - } -} - -impl ProtocolMeta for DiscoveryProtocolMeta { - fn id(&self) -> ProtocolId { - self.id - } - - fn name(&self) -> String { - "/cita/discovery".to_owned() - } - - fn support_versions(&self) -> Vec { - vec!["0.0.1".to_owned()] - } - - fn codec(&self) -> LengthDelimitedCodec { - LengthDelimitedCodec::new() - } - - fn service_handle(&self) -> Option> { - let discovery = Discovery::new(self.addr_mgr.clone()); - let discovery_handle = discovery.handle(); - - let handle = Box::new(DiscoveryProtocol { - id: self.id, - discovery: Some(discovery), - discovery_handle, - discovery_senders: FnvHashMap::default(), - }); - - Some(handle) - } +pub fn create_discovery_meta(nodes_mgr_client: NodesManagerClient) -> ProtocolMeta { + let addr_mgr = NodesAddressManager::new(nodes_mgr_client); + let timeout = ::std::time::Duration::new(DISCOVERY_TIMEOUT_SECS, 0); + MetaBuilder::default() + .id(DISCOVERY_PROTOCOL_ID) + .service_handle(move || { + let discovery = Discovery::new(addr_mgr.clone(), Some(timeout)); + ProtocolHandle::Callback(Box::new(DiscoveryProtocol::new(discovery))) + }) + .build() } diff --git a/cita-network/src/p2p_protocol/transfer.rs b/cita-network/src/p2p_protocol/transfer.rs index 483244233..4efe81317 100644 --- a/cita-network/src/p2p_protocol/transfer.rs +++ b/cita-network/src/p2p_protocol/transfer.rs @@ -22,68 +22,19 @@ use bytes::BytesMut; use libproto::{Message as ProtoMessage, TryFrom, TryInto}; use logger::{info, warn}; use tentacle::{ - context::{ServiceContext, SessionContext}, - traits::{ProtocolMeta, ServiceProtocol}, + builder::MetaBuilder, + context::{ProtocolContext, ProtocolContextMutRef}, + service::{ProtocolHandle, ProtocolMeta}, + traits::ServiceProtocol, ProtocolId, SessionId, }; use tokio::codec::length_delimited::LengthDelimitedCodec; -pub const TRANSFER_PROTOCOL_ID: ProtocolId = 1; - // Quota (1 byte) = 200, // Max 20 block in one transfer. // 512M can support BQL set to 2 ** 32 - 1 pub const MAX_FRAME_LENGTH: usize = 512 * 1024 * 1204; - -pub struct TransferProtocolMeta { - id: ProtocolId, - network_client: NetworkClient, - nodes_mgr_client: NodesManagerClient, -} - -impl TransferProtocolMeta { - pub fn new( - id: ProtocolId, - network_client: NetworkClient, - nodes_mgr_client: NodesManagerClient, - ) -> Self { - TransferProtocolMeta { - id, - network_client, - nodes_mgr_client, - } - } -} - -impl ProtocolMeta for TransferProtocolMeta { - fn id(&self) -> ProtocolId { - self.id - } - - fn name(&self) -> String { - "/cita/transfer".to_owned() - } - - fn support_versions(&self) -> Vec { - vec!["0.0.1".to_owned()] - } - - fn codec(&self) -> LengthDelimitedCodec { - let mut codec = LengthDelimitedCodec::new(); - codec.set_max_frame_length(MAX_FRAME_LENGTH); - codec - } - - fn service_handle(&self) -> Option> { - let handle = Box::new(TransferProtocol { - proto_id: self.id, - connected_session_ids: Vec::default(), - network_client: self.network_client.clone(), - nodes_mgr_client: self.nodes_mgr_client.clone(), - }); - Some(handle) - } -} +pub const TRANSFER_PROTOCOL_ID: ProtocolId = ProtocolId::new(1); struct TransferProtocol { proto_id: ProtocolId, @@ -93,21 +44,16 @@ struct TransferProtocol { } impl ServiceProtocol for TransferProtocol { - fn init(&mut self, _control: &mut ServiceContext) {} - - fn connected( - &mut self, - _control: &mut ServiceContext, - session: &SessionContext, - version: &str, - ) { + fn init(&mut self, _control: &mut ProtocolContext) {} + + fn connected(&mut self, control: ProtocolContextMutRef, version: &str) { info!( "[Transfer] Connected proto id [{}] open on session [{}], address: [{}], type: [{:?}], version: {}", - self.proto_id, session.id, session.address, session.ty, version + self.proto_id, control.session.id, control.session.address, control.session.ty, version ); - self.connected_session_ids.push(session.id); + self.connected_session_ids.push(control.session.id); - let req = NetworkInitReq::new(session.id); + let req = NetworkInitReq::new(control.session.id); self.nodes_mgr_client.network_init(req); info!( @@ -116,34 +62,34 @@ impl ServiceProtocol for TransferProtocol { ); } - fn disconnected(&mut self, _control: &mut ServiceContext, session: &SessionContext) { + fn disconnected(&mut self, control: ProtocolContextMutRef) { let new_list = self .connected_session_ids .iter() - .filter(|&id| id != &session.id) + .filter(|&id| id != &control.session.id) .cloned() .collect(); self.connected_session_ids = new_list; info!( "[Transfer] Disconnected proto id [{}] close on session [{}]", - self.proto_id, session.id + self.proto_id, control.session.id ); } - fn received(&mut self, _env: &mut ServiceContext, session: &SessionContext, data: Vec) { + fn received(&mut self, env: ProtocolContextMutRef, data: bytes::Bytes) { let mut data = BytesMut::from(data); if let Some((key, message)) = network_message_to_pubsub_message(&mut data) { if key.eq(&"network.init".to_string()) { let msg = InitMsg::from(message); - let req = AddConnectedNodeReq::new(session.id, session.ty, msg); + let req = AddConnectedNodeReq::new(env.session.id, env.session.ty, msg); self.nodes_mgr_client.add_connected_node(req); return; } let mut msg = ProtoMessage::try_from(&message).unwrap(); - msg.set_origin(session.id as u32); + msg.set_origin(env.session.id.value() as u32); self.network_client .handle_remote_message(RemoteMessage::new(key, msg.try_into().unwrap())); } else { @@ -151,3 +97,22 @@ impl ServiceProtocol for TransferProtocol { } } } + +pub fn create_transfer_meta( + network_client: NetworkClient, + nodes_mgr_client: NodesManagerClient, +) -> ProtocolMeta { + MetaBuilder::default() + .id(TRANSFER_PROTOCOL_ID) + .codec(|| Box::new(LengthDelimitedCodec::new())) + .service_handle(move || { + let handle = Box::new(TransferProtocol { + proto_id: TRANSFER_PROTOCOL_ID, + connected_session_ids: Vec::default(), + network_client: network_client.clone(), + nodes_mgr_client: nodes_mgr_client.clone(), + }); + ProtocolHandle::Callback(handle) + }) + .build() +} diff --git a/cita-network/src/synchronizer.rs b/cita-network/src/synchronizer.rs index 727d62736..00f8321a0 100644 --- a/cita-network/src/synchronizer.rs +++ b/cita-network/src/synchronizer.rs @@ -29,6 +29,7 @@ use std::collections::{BTreeMap, HashSet, VecDeque}; use std::convert::Into; use std::time::{Duration, Instant}; use std::u8; +use tentacle::SessionId; const SYNC_STEP: u64 = 20; const SYNC_TIME_OUT: u64 = 9; @@ -331,7 +332,7 @@ impl Synchronizer { let msg = Message::init(OperateType::Single, origin, sync_req.into()); self.nodes_mgr_client.send_message(SingleTxReq::new( - origin as usize, + SessionId::from(origin as usize), routing_key!(Synchronizer >> SyncRequest).into(), msg, )); From e0eb330b99f5e633ea23e927f73f9f7773beeb56 Mon Sep 17 00:00:00 2001 From: yubo Date: Tue, 16 Apr 2019 18:36:32 +0800 Subject: [PATCH 71/96] add max frame limit --- cita-network/src/p2p_protocol/transfer.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cita-network/src/p2p_protocol/transfer.rs b/cita-network/src/p2p_protocol/transfer.rs index 4efe81317..a202879c8 100644 --- a/cita-network/src/p2p_protocol/transfer.rs +++ b/cita-network/src/p2p_protocol/transfer.rs @@ -104,7 +104,11 @@ pub fn create_transfer_meta( ) -> ProtocolMeta { MetaBuilder::default() .id(TRANSFER_PROTOCOL_ID) - .codec(|| Box::new(LengthDelimitedCodec::new())) + .codec(|| { + let mut lcodec = LengthDelimitedCodec::new(); + lcodec.set_max_frame_length(MAX_FRAME_LENGTH); + Box::new(lcodec) + }) .service_handle(move || { let handle = Box::new(TransferProtocol { proto_id: TRANSFER_PROTOCOL_ID, From 57087efa923777b50498141fd0305852a5a87d8f Mon Sep 17 00:00:00 2001 From: clearloop Date: Wed, 17 Apr 2019 03:07:34 +0800 Subject: [PATCH 72/96] Shellcheck env.sh --- env.sh | 106 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 52 insertions(+), 54 deletions(-) diff --git a/env.sh b/env.sh index a3cd0f9e8..10cb784b6 100755 --- a/env.sh +++ b/env.sh @@ -1,87 +1,85 @@ -#!/usr/bin/env bash +#!/bin/bash +# +# Environments' scripts. -if [ `uname` == 'Darwin' ]; then - SOURCE_DIR="$(dirname $(realpath $0))" +# OS +if [[ $(uname) == 'Darwin' ]]; then + SYSTEM_NET="bridge" + SOURCE_DIR="$(dirname "$(realpath "$0")")" else - SOURCE_DIR="$(dirname $(readlink -f $0))" + SYSTEM_NET="host" + SOURCE_DIR="$(dirname "$(readlink -f "$0")")" fi -test -f "${SOURCE_DIR}/Cargo.toml" -if [ $? -eq 0 ]; then +# Source Directory +test -f "$SOURCE_DIR"/Cargo.toml +ret="$?" +if [[ "$ret" -eq 0 ]]; then CONTAINER_NAME="cita_build_container" DOCKER_IMAGE="cita/cita-build:ubuntu-18.04-20190304" else CONTAINER_NAME="cita_run_container" DOCKER_IMAGE="cita/cita-run:ubuntu-18.04-20181009" - SOURCE_DIR="$(dirname $SOURCE_DIR)" + SOURCE_DIR="$(dirname "$SOURCE_DIR")" fi -if [ `uname` == 'Darwin' ]; then - cp /etc/localtime ${SOURCE_DIR}/localtime - SYSTEM_NET="bridge" - LOCALTIME_PATH="${SOURCE_DIR}/localtime" -else - SYSTEM_NET="host" - LOCALTIME_PATH="/etc/localtime" +# Patch from crates.io. +CARGO_HOME=/opt/.cargo +DOCKER_CARGO="$HOME"/.docker_cargo +mkdir -p "$DOCKER_CARGO"/git +mkdir -p "$DOCKER_CARGO"/registry + +# Docker Port +EXPOSE="1337:1337" +if [[ "$3" == "port" ]]; then + EXPOSE="${*:4}" + [[ "$EXPOSE" = "" ]] && EXPOSE="1337:1337" + docker container stop $CONTAINER_NAME > /dev/null 2>&1 + echo -e "\033[0;32mExpose ports: ${*}\033[0m" fi +# Docker Arguments WORKDIR=/opt/cita -USER_ID=`id -u $USER` +USER_ID="$(id -u "$USER")" USER_NAME="user" -[[ "${USER_ID}" = "0" ]] && USER_NAME="root" - -# Init contanier's cargo, for logs. -CARGO_HOME=/opt/.cargo -DOCKER_CARGO=${HOME}/.docker_cargo -mkdir -p ${DOCKER_CARGO}/git -mkdir -p ${DOCKER_CARGO}/registry +cp /etc/localtime "$SOURCE_DIR"/localtime +LOCALTIME_PATH="$SOURCE_DIR"/localtime +[[ "$USER_ID" = "0" ]] && USER_NAME="root" INIT_CMD="sleep infinity" -# Port condition -EXPOSE="1337:1337" -if [ "$3" == "port" ]; then - EXPOSE=${@:4} - [[ "${EXPOSE}" = "" ]] && EXPOSE="1337:1337" - docker container stop $CONTAINER_NAME > /dev/null 2>&1 - echo -e "\033[0;32mExpose ports: ${@}\033[0m" -fi - -# Run container -docker ps | grep ${CONTAINER_NAME} > /dev/null 2>&1 -if [ $? -ne 0 ]; then - echo "Start docker container ${CONTAINER_NAME} ..." - docker rm ${CONTAINER_NAME} > /dev/null 2>&1 +# Run Docker +docker ps | grep "${CONTAINER_NAME}" > /dev/null 2>&1 +ret="$?" +if [[ "$ret" -ne 0 ]]; then + echo "Start docker container $CONTAINER_NAME ..." + docker rm "$CONTAINER_NAME" > /dev/null 2>&1 docker run -d \ - --net=${SYSTEM_NET} \ - --volume ${SOURCE_DIR}:${WORKDIR} \ - --volume ${DOCKER_CARGO}/git:${CARGO_HOME}/git \ - --volume ${DOCKER_CARGO}/registry:${CARGO_HOME}/registry \ - --volume ${LOCALTIME_PATH}:/etc/localtime \ - --env USER_ID=${USER_ID} \ - --workdir ${WORKDIR} \ - --name ${CONTAINER_NAME} \ - -p $EXPOSE ${DOCKER_IMAGE} \ - /bin/bash -c "${INIT_CMD}" + --net="$SYSTEM_NET" \ + --volume "$SOURCE_DIR":"$WORKDIR" \ + --volume "$DOCKER_CARGO"/git:"$CARGO_HOME"/git \ + --volume "$DOCKER_CARGO"/registry:"$CARGO_HOME"/registry \ + --volume "$LOCALTIME_PATH":/etc/localtime \ + --env USER_ID="$USER_ID" \ + --workdir "$WORKDIR" \ + --name "$CONTAINER_NAME" \ + -p $EXPOSE "$DOCKER_IMAGE" \ + /bin/bash -c "$INIT_CMD" # Wait entrypoint.sh to finish sleep 3 fi -test -t 1 && USE_TTY="-t" - -# Start nodes outside container directly -# Runing Commands through `cita` command: +# Run commands through docker container # $0=`realpath`, $1="bin/cita", $2="bebop", # $3="command/--daemon", $4="config/command" -# Most OS delete $0 default, some linux not. +test -t 1 && USE_TTY="-t" [[ "$3" == "start" ]] || [[ "$3" == "restart" ]] && set "${@:1:2}" "--daemon" "${@:3}" -# Condition `daemon` to run daemon. -if [ "$3" == "--daemon" ]; then +if [[ "$3" == "--daemon" ]]; then set "${@:1:2}" "${@:4}" docker exec -d ${CONTAINER_NAME} /bin/bash -c "/usr/bin/gosu ${USER_NAME} $* >/dev/null 2>&1" -elif [ $# -gt 0 ]; then +elif [[ $# -gt 0 ]]; then docker exec -i ${USE_TTY} ${CONTAINER_NAME} /usr/bin/gosu ${USER_NAME} "$@" else docker exec -i ${USE_TTY} ${CONTAINER_NAME} \ From 830e8548110a16af9082f06499825772874d7162 Mon Sep 17 00:00:00 2001 From: clearloop Date: Wed, 17 Apr 2019 04:55:31 +0800 Subject: [PATCH 73/96] [skip travis] Update quotes. --- env.sh | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/env.sh b/env.sh index 10cb784b6..58419b3aa 100755 --- a/env.sh +++ b/env.sh @@ -5,10 +5,10 @@ # OS if [[ $(uname) == 'Darwin' ]]; then SYSTEM_NET="bridge" - SOURCE_DIR="$(dirname "$(realpath "$0")")" + SOURCE_DIR=$(dirname "$(realpath "$0")") else SYSTEM_NET="host" - SOURCE_DIR="$(dirname "$(readlink -f "$0")")" + SOURCE_DIR=$(dirname "$(readlink -f "$0")") fi # Source Directory @@ -20,7 +20,7 @@ if [[ "$ret" -eq 0 ]]; then else CONTAINER_NAME="cita_run_container" DOCKER_IMAGE="cita/cita-run:ubuntu-18.04-20181009" - SOURCE_DIR="$(dirname "$SOURCE_DIR")" + SOURCE_DIR=$(dirname "$SOURCE_DIR") fi # Patch from crates.io. @@ -45,26 +45,26 @@ USER_NAME="user" cp /etc/localtime "$SOURCE_DIR"/localtime LOCALTIME_PATH="$SOURCE_DIR"/localtime -[[ "$USER_ID" = "0" ]] && USER_NAME="root" +[[ ${USER_ID} = "0" ]] && USER_NAME="root" INIT_CMD="sleep infinity" # Run Docker -docker ps | grep "${CONTAINER_NAME}" > /dev/null 2>&1 +docker ps | grep ${CONTAINER_NAME} > /dev/null 2>&1 ret="$?" if [[ "$ret" -ne 0 ]]; then echo "Start docker container $CONTAINER_NAME ..." - docker rm "$CONTAINER_NAME" > /dev/null 2>&1 + docker rm ${CONTAINER_NAME} > /dev/null 2>&1 docker run -d \ - --net="$SYSTEM_NET" \ + --net=${SYSTEM_NET} \ --volume "$SOURCE_DIR":"$WORKDIR" \ --volume "$DOCKER_CARGO"/git:"$CARGO_HOME"/git \ --volume "$DOCKER_CARGO"/registry:"$CARGO_HOME"/registry \ --volume "$LOCALTIME_PATH":/etc/localtime \ --env USER_ID="$USER_ID" \ - --workdir "$WORKDIR" \ - --name "$CONTAINER_NAME" \ - -p $EXPOSE "$DOCKER_IMAGE" \ + --workdir ${WORKDIR} \ + --name ${CONTAINER_NAME} \ + -p ${EXPOSE} ${DOCKER_IMAGE} \ /bin/bash -c "$INIT_CMD" # Wait entrypoint.sh to finish sleep 3 @@ -78,7 +78,7 @@ test -t 1 && USE_TTY="-t" if [[ "$3" == "--daemon" ]]; then set "${@:1:2}" "${@:4}" - docker exec -d ${CONTAINER_NAME} /bin/bash -c "/usr/bin/gosu ${USER_NAME} $* >/dev/null 2>&1" + docker exec -d ${CONTAINER_NAME} /bin/bash -c /usr/bin/gosu ${USER_NAME} "$@" >/dev/null 2>&1 elif [[ $# -gt 0 ]]; then docker exec -i ${USE_TTY} ${CONTAINER_NAME} /usr/bin/gosu ${USER_NAME} "$@" else From 7aa5ac6e42e57d362529acb9f4b74bd2ec3ef56c Mon Sep 17 00:00:00 2001 From: yubo Date: Wed, 17 Apr 2019 14:01:14 +0800 Subject: [PATCH 74/96] fix review question --- cita-network/Cargo.toml | 4 ++-- cita-network/src/p2p_protocol/mod.rs | 4 ++-- cita-network/src/p2p_protocol/transfer.rs | 8 +++++++- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/cita-network/Cargo.toml b/cita-network/Cargo.toml index d77fd323c..3810c55f9 100644 --- a/cita-network/Cargo.toml +++ b/cita-network/Cargo.toml @@ -6,8 +6,8 @@ edition = "2018" [dependencies] fnv = "1.0.6" -tentacle-discovery = { git = "https://github.com/nervosnetwork/p2p.git", branch = "master" } -tentacle = { git = "https://github.com/nervosnetwork/p2p.git", branch = "master" } +tentacle-discovery = "0.2.0" +tentacle = "0.2.0-alpha.4" tokio = "0.1.14" futures = "0.1.25" cita-types = { git = "https://github.com/cryptape/cita-common.git", branch = "develop" } diff --git a/cita-network/src/p2p_protocol/mod.rs b/cita-network/src/p2p_protocol/mod.rs index 9ed47efbd..8d121fdd3 100644 --- a/cita-network/src/p2p_protocol/mod.rs +++ b/cita-network/src/p2p_protocol/mod.rs @@ -74,7 +74,7 @@ impl ServiceHandle for SHandle { } ServiceError::ListenError { address, error } => { let address = multiaddr_to_socketaddr(&address).unwrap(); - warn!( + panic!( "[P2pProtocol] Listen error on {:?}, error info: {:?}", address, error ); @@ -153,7 +153,7 @@ impl ServiceHandle for SHandle { self.nodes_mgr_client.del_connected_node(req); } ServiceEvent::ListenClose { address } => { - panic!("ListenClose, address {:?}", address); + warn!("ListenClose, address {:?}", address); } ServiceEvent::ListenStarted { address } => { diff --git a/cita-network/src/p2p_protocol/transfer.rs b/cita-network/src/p2p_protocol/transfer.rs index 4efe81317..209f1621b 100644 --- a/cita-network/src/p2p_protocol/transfer.rs +++ b/cita-network/src/p2p_protocol/transfer.rs @@ -104,7 +104,11 @@ pub fn create_transfer_meta( ) -> ProtocolMeta { MetaBuilder::default() .id(TRANSFER_PROTOCOL_ID) - .codec(|| Box::new(LengthDelimitedCodec::new())) + .codec(|| { + let mut lcodec = LengthDelimitedCodec::new(); + lcodec.set_max_frame_length(MAX_FRAME_LENGTH); + Box::new(lcodec) + }) .service_handle(move || { let handle = Box::new(TransferProtocol { proto_id: TRANSFER_PROTOCOL_ID, @@ -114,5 +118,7 @@ pub fn create_transfer_meta( }); ProtocolHandle::Callback(handle) }) + .name(|_| "/cita/transfer".to_owned()) + .support_versions(vec!["0.0.1".to_owned()]) .build() } From c6f84cb9048cfee0a095edfd1ff53150b2127605 Mon Sep 17 00:00:00 2001 From: clearloop Date: Wed, 17 Apr 2019 14:15:40 +0800 Subject: [PATCH 75/96] recover $* in docker commands, re-adjusted all quotes in env.sh [skip travis] --- env.sh | 95 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 47 insertions(+), 48 deletions(-) diff --git a/env.sh b/env.sh index 58419b3aa..85615f60a 100755 --- a/env.sh +++ b/env.sh @@ -3,69 +3,65 @@ # Environments' scripts. # OS -if [[ $(uname) == 'Darwin' ]]; then - SYSTEM_NET="bridge" - SOURCE_DIR=$(dirname "$(realpath "$0")") +if [[ "$(uname)" == 'Darwin' ]]; then + readonly SYSTEM_NET='bridge' + SOURCE_DIR="$(dirname "$(realpath "$0")")" else - SYSTEM_NET="host" - SOURCE_DIR=$(dirname "$(readlink -f "$0")") + readonly SYSTEM_NET="host" + SOURCE_DIR="$(dirname "$(readlink -f "$0")")" fi # Source Directory -test -f "$SOURCE_DIR"/Cargo.toml -ret="$?" -if [[ "$ret" -eq 0 ]]; then - CONTAINER_NAME="cita_build_container" - DOCKER_IMAGE="cita/cita-build:ubuntu-18.04-20190304" +if test -f "${SOURCE_DIR}/Cargo.toml"; then + readonly CONTAINER_NAME='cita_build_container' + readonly DOCKER_IMAGE='cita/cita-build:ubuntu-18.04-20190304' else - CONTAINER_NAME="cita_run_container" - DOCKER_IMAGE="cita/cita-run:ubuntu-18.04-20181009" - SOURCE_DIR=$(dirname "$SOURCE_DIR") + readonly CONTAINER_NAME='cita_run_container' + readonly DOCKER_IMAGE='cita/cita-run:ubuntu-18.04-20181009' + readonly SOURCE_DIR="$(dirname "$SOURCE_DIR")" fi # Patch from crates.io. -CARGO_HOME=/opt/.cargo -DOCKER_CARGO="$HOME"/.docker_cargo -mkdir -p "$DOCKER_CARGO"/git -mkdir -p "$DOCKER_CARGO"/registry +readonly CARGO_HOME='/opt/.cargo' +readonly DOCKER_CARGO="${HOME}/.docker_cargo" +mkdir -p "${DOCKER_CARGO}/git" +mkdir -p "${DOCKER_CARGO}/registry" # Docker Port -EXPOSE="1337:1337" +EXPOSE='1337:1337' if [[ "$3" == "port" ]]; then - EXPOSE="${*:4}" - [[ "$EXPOSE" = "" ]] && EXPOSE="1337:1337" - docker container stop $CONTAINER_NAME > /dev/null 2>&1 - echo -e "\033[0;32mExpose ports: ${*}\033[0m" + EXPOSE=( "${@:4}" ) + [[ "${EXPOSE[*]}" == "" ]] && EXPOSE=('1337:1337') + docker container stop "${CONTAINER_NAME}" > /dev/null 2>&1 + echo -e "\033[0;32mExpose ports: ${EXPOSE[*]} \033[0m" fi # Docker Arguments -WORKDIR=/opt/cita USER_ID="$(id -u "$USER")" -USER_NAME="user" +readonly WORKDIR='/opt/cita' +readonly USER_NAME='user' -cp /etc/localtime "$SOURCE_DIR"/localtime -LOCALTIME_PATH="$SOURCE_DIR"/localtime -[[ ${USER_ID} = "0" ]] && USER_NAME="root" +cp '/etc/localtime' "${SOURCE_DIR}/localtime" +readonly LOCALTIME_PATH="${SOURCE_DIR}/localtime" +[[ "${USER_ID}" = '0' ]] && USER_NAME='root' -INIT_CMD="sleep infinity" +readonly INIT_CMD='sleep infinity' # Run Docker -docker ps | grep ${CONTAINER_NAME} > /dev/null 2>&1 -ret="$?" -if [[ "$ret" -ne 0 ]]; then - echo "Start docker container $CONTAINER_NAME ..." - docker rm ${CONTAINER_NAME} > /dev/null 2>&1 +if ! docker ps | grep "${CONTAINER_NAME}" > '/dev/null' 2>&1; then + echo "Start docker container ${CONTAINER_NAME} ..." + docker rm "${CONTAINER_NAME}" > '/dev/null' 2>&1 docker run -d \ - --net=${SYSTEM_NET} \ - --volume "$SOURCE_DIR":"$WORKDIR" \ - --volume "$DOCKER_CARGO"/git:"$CARGO_HOME"/git \ - --volume "$DOCKER_CARGO"/registry:"$CARGO_HOME"/registry \ - --volume "$LOCALTIME_PATH":/etc/localtime \ - --env USER_ID="$USER_ID" \ - --workdir ${WORKDIR} \ - --name ${CONTAINER_NAME} \ - -p ${EXPOSE} ${DOCKER_IMAGE} \ - /bin/bash -c "$INIT_CMD" + --net="${SYSTEM_NET}" \ + --volume "${SOURCE_DIR}:${WORKDIR}" \ + --volume "${DOCKER_CARGO}/git:${CARGO_HOME}/git" \ + --volume "${DOCKER_CARGO}/registry:${CARGO_HOME}/registry" \ + --volume "${LOCALTIME_PATH}:/etc/localtime" \ + --env "USER_ID=${USER_ID}" \ + --workdir "${WORKDIR}" \ + --name "${CONTAINER_NAME}" \ + -p "${EXPOSE[@]}" "${DOCKER_IMAGE}" \ + /bin/bash -c "${INIT_CMD}" # Wait entrypoint.sh to finish sleep 3 fi @@ -73,14 +69,17 @@ fi # Run commands through docker container # $0=`realpath`, $1="bin/cita", $2="bebop", # $3="command/--daemon", $4="config/command" -test -t 1 && USE_TTY="-t" -[[ "$3" == "start" ]] || [[ "$3" == "restart" ]] && set "${@:1:2}" "--daemon" "${@:3}" +test -t 1 && USE_TTY='-t' +[[ "$3" == 'start' ]] || [[ "$3" == 'restart' ]] && set "${@:1:2}" '--daemon' "${@:3}" -if [[ "$3" == "--daemon" ]]; then +if [[ "$3" == '--daemon' ]]; then set "${@:1:2}" "${@:4}" - docker exec -d ${CONTAINER_NAME} /bin/bash -c /usr/bin/gosu ${USER_NAME} "$@" >/dev/null 2>&1 + # ATTENTION: + # (docker commands) (parameters) /bin/bash -c (full-string docker arguments || sepreate them on by one) + # `bin/bash -c` is local commands. + docker exec -d "${CONTAINER_NAME}" /bin/bash -c "/usr/bin/gosu ${USER_NAME} ${*} >/dev/null 2>&1" elif [[ $# -gt 0 ]]; then - docker exec -i ${USE_TTY} ${CONTAINER_NAME} /usr/bin/gosu ${USER_NAME} "$@" + docker exec -i "${USE_TTY}" "${CONTAINER_NAME}" /bin/bash -c "/usr/bin/gosu ${USER_NAME} ${*}" else docker exec -i ${USE_TTY} ${CONTAINER_NAME} \ /bin/bash -c "stty cols $(tput cols) rows $(tput lines) && /usr/bin/gosu ${USER_NAME} /bin/bash" From c884da138577364fc79a4fce6cf49bea78ae9d7c Mon Sep 17 00:00:00 2001 From: yubo Date: Wed, 17 Apr 2019 14:36:17 +0800 Subject: [PATCH 76/96] fix cargo.lock remove panic modify version string --- Cargo.lock | 28 +++++++++---------- cita-network/src/p2p_protocol/mod.rs | 2 +- .../src/p2p_protocol/node_discovery.rs | 2 ++ cita-network/src/p2p_protocol/transfer.rs | 2 +- 4 files changed, 18 insertions(+), 16 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7bf7bb923..8351b04df 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -669,8 +669,8 @@ dependencies = [ "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)", "tempfile 3.0.7 (registry+https://github.com/rust-lang/crates.io-index)", - "tentacle 0.2.0-alpha.3 (git+https://github.com/nervosnetwork/p2p.git)", - "tentacle-discovery 0.2.0 (git+https://github.com/nervosnetwork/p2p.git)", + "tentacle 0.2.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)", + "tentacle-discovery 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.6.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", ] @@ -3318,8 +3318,8 @@ dependencies = [ [[package]] name = "tentacle" -version = "0.2.0-alpha.3" -source = "git+https://github.com/nervosnetwork/p2p.git#8e2120d70fbb3184e97578137002d564f14aa110" +version = "0.2.0-alpha.4" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", "flatbuffers 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3327,16 +3327,16 @@ dependencies = [ "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "parity-multiaddr 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tentacle-secio 0.1.1 (git+https://github.com/nervosnetwork/p2p.git)", + "tentacle-secio 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "tokio 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-threadpool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-yamux 0.1.5 (git+https://github.com/nervosnetwork/p2p.git)", + "tokio-yamux 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tentacle-discovery" version = "0.2.0" -source = "git+https://github.com/nervosnetwork/p2p.git#8e2120d70fbb3184e97578137002d564f14aa110" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3348,7 +3348,7 @@ dependencies = [ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", - "tentacle 0.2.0-alpha.3 (git+https://github.com/nervosnetwork/p2p.git)", + "tentacle 0.2.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)", "tokio 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "trust-dns 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3356,7 +3356,7 @@ dependencies = [ [[package]] name = "tentacle-secio" version = "0.1.1" -source = "git+https://github.com/nervosnetwork/p2p.git#8e2120d70fbb3184e97578137002d564f14aa110" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "aes-ctr 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "bs58 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3725,7 +3725,7 @@ dependencies = [ [[package]] name = "tokio-yamux" version = "0.1.5" -source = "git+https://github.com/nervosnetwork/p2p.git#8e2120d70fbb3184e97578137002d564f14aa110" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4470,9 +4470,9 @@ dependencies = [ "checksum tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8" "checksum tempfile 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "11ce2fe9db64b842314052e2421ac61a73ce41b898dc8e3750398b219c5fc1e0" "checksum tempfile 3.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "b86c784c88d98c801132806dadd3819ed29d8600836c4088e855cdf3e178ed8a" -"checksum tentacle 0.2.0-alpha.3 (git+https://github.com/nervosnetwork/p2p.git)" = "" -"checksum tentacle-discovery 0.2.0 (git+https://github.com/nervosnetwork/p2p.git)" = "" -"checksum tentacle-secio 0.1.1 (git+https://github.com/nervosnetwork/p2p.git)" = "" +"checksum tentacle 0.2.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)" = "832ff188e39ac2534c8dd0dab05b87017137671eb8e8de6082a3c2e52629ba25" +"checksum tentacle-discovery 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "39a377a602798077a0b1414490fea3df8239625782d9b8bffcaeb94ca2b0d59e" +"checksum tentacle-secio 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5f13591b37fad9bfdc167a646eb7cdd97faac3d606bac3be04107d9f2a816fcc" "checksum termcolor 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4096add70612622289f2fdcdbd5086dc81c1e2675e6ae58d6c4f62a16c6d7f2f" "checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096" "checksum textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "307686869c93e71f94da64286f9a9524c0f308a9e1c87a583de8e9c9039ad3f6" @@ -4504,7 +4504,7 @@ dependencies = [ "checksum tokio-udp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "da941144b816d0dcda4db3a1ba87596e4df5e860a72b70783fe435891f80601c" "checksum tokio-uds 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "65ae5d255ce739e8537221ed2942e0445f4b3b813daebac1c0050ddaaa3587f9" "checksum tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "037ffc3ba0e12a0ab4aca92e5234e0dedeb48fddf6ccd260f1f150a36a9f2445" -"checksum tokio-yamux 0.1.5 (git+https://github.com/nervosnetwork/p2p.git)" = "" +"checksum tokio-yamux 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "50e8f25455f7b9e9202b5cf713170bd94e01886d44905dce2db8060e738c44e1" "checksum toml 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "736b60249cb25337bc196faa43ee12c705e426f3d55c214d73a4e7be06f92cb4" "checksum toml 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "4a2ecc31b0351ea18b3fe11274b8db6e4d82bce861bbb22e6dbed40417902c65" "checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" diff --git a/cita-network/src/p2p_protocol/mod.rs b/cita-network/src/p2p_protocol/mod.rs index 8d121fdd3..d87b20adf 100644 --- a/cita-network/src/p2p_protocol/mod.rs +++ b/cita-network/src/p2p_protocol/mod.rs @@ -74,7 +74,7 @@ impl ServiceHandle for SHandle { } ServiceError::ListenError { address, error } => { let address = multiaddr_to_socketaddr(&address).unwrap(); - panic!( + warn!( "[P2pProtocol] Listen error on {:?}, error info: {:?}", address, error ); diff --git a/cita-network/src/p2p_protocol/node_discovery.rs b/cita-network/src/p2p_protocol/node_discovery.rs index 1e77d98b6..2bb7a2f17 100644 --- a/cita-network/src/p2p_protocol/node_discovery.rs +++ b/cita-network/src/p2p_protocol/node_discovery.rs @@ -91,5 +91,7 @@ pub fn create_discovery_meta(nodes_mgr_client: NodesManagerClient) -> ProtocolMe let discovery = Discovery::new(addr_mgr.clone(), Some(timeout)); ProtocolHandle::Callback(Box::new(DiscoveryProtocol::new(discovery))) }) + .name(|_| "/cita/discovery".to_owned()) + .support_versions(vec!["0.0.2".to_owned()]) .build() } diff --git a/cita-network/src/p2p_protocol/transfer.rs b/cita-network/src/p2p_protocol/transfer.rs index 209f1621b..33116bb74 100644 --- a/cita-network/src/p2p_protocol/transfer.rs +++ b/cita-network/src/p2p_protocol/transfer.rs @@ -119,6 +119,6 @@ pub fn create_transfer_meta( ProtocolHandle::Callback(handle) }) .name(|_| "/cita/transfer".to_owned()) - .support_versions(vec!["0.0.1".to_owned()]) + .support_versions(vec!["0.0.2".to_owned()]) .build() } From 50e4d1148219ec4f6bfd6483008cf64a9f15e823 Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Wed, 17 Apr 2019 20:16:15 +0800 Subject: [PATCH 77/96] Add all contributors. [skip ci] --- .all-contributorsrc | 439 ++++++++++++++++++++++++++++++++++++++++++++ README-CN.md | 14 ++ README.md | 14 ++ 3 files changed, 467 insertions(+) create mode 100644 .all-contributorsrc diff --git a/.all-contributorsrc b/.all-contributorsrc new file mode 100644 index 000000000..03e009799 --- /dev/null +++ b/.all-contributorsrc @@ -0,0 +1,439 @@ +{ + "projectName": "cita", + "projectOwner": "cryptape", + "repoType": "github", + "repoHost": "https://github.com", + "files": [ + "README.md", + "README-CN.md" + ], + "imageSize": 100, + "commit": true, + "commitConvention": "none", + "contributors": [ + { + "login": "kaikai1024", + "name": "kaikai", + "avatar_url": "https://avatars0.githubusercontent.com/u/8768261?v=4", + "profile": "https://github.com/kaikai1024", + "contributions": [ + "code" + ] + }, + { + "login": "u2", + "name": "zhangyaning", + "avatar_url": "https://avatars0.githubusercontent.com/u/161756?v=4", + "profile": "https://twitter.com/zhangyaning1985", + "contributions": [ + "code" + ] + }, + { + "login": "yangby-cryptape", + "name": "Boyu Yang", + "avatar_url": "https://avatars1.githubusercontent.com/u/30993023?v=4", + "profile": "https://yangby-cryptape.github.io/", + "contributions": [ + "code" + ] + }, + { + "login": "rink1969", + "name": "zhiwei", + "avatar_url": "https://avatars1.githubusercontent.com/u/1633038?v=4", + "profile": "https://github.com/rink1969", + "contributions": [ + "code" + ] + }, + { + "login": "driftluo", + "name": "漂流", + "avatar_url": "https://avatars3.githubusercontent.com/u/19374080?v=4", + "profile": "https://www.driftluo.com", + "contributions": [ + "code" + ] + }, + { + "login": "ouwenkg", + "name": "AsceticBear", + "avatar_url": "https://avatars0.githubusercontent.com/u/11801722?v=4", + "profile": "https://ouwenkg.github.io/", + "contributions": [ + "code" + ] + }, + { + "login": "jerry-yu", + "name": "yubo", + "avatar_url": "https://avatars2.githubusercontent.com/u/2151472?v=4", + "profile": "https://github.com/jerry-yu", + "contributions": [ + "code" + ] + }, + { + "login": "zhouyun-zoe", + "name": "zhouyun-zoe", + "avatar_url": "https://avatars0.githubusercontent.com/u/36949326?v=4", + "profile": "https://github.com/zhouyun-zoe", + "contributions": [ + "doc" + ] + }, + { + "login": "volzkzg", + "name": "Bicheng Gao", + "avatar_url": "https://avatars2.githubusercontent.com/u/2860864?v=4", + "profile": "https://github.com/volzkzg", + "contributions": [ + "code" + ] + }, + { + "login": "EighteenZi", + "name": "lhf", + "avatar_url": "https://avatars3.githubusercontent.com/u/31607114?v=4", + "profile": "https://github.com/EighteenZi", + "contributions": [ + "code" + ] + }, + { + "login": "TheWaWaR", + "name": "LinFeng Qian", + "avatar_url": "https://avatars0.githubusercontent.com/u/1160419?v=4", + "profile": "http://ahorn.me", + "contributions": [ + "code" + ] + }, + { + "login": "keroro520", + "name": "keroro", + "avatar_url": "https://avatars3.githubusercontent.com/u/1870648?v=4", + "profile": "https://github.com/keroro520", + "contributions": [ + "code" + ] + }, + { + "login": "leeyr338", + "name": "Yaorong", + "avatar_url": "https://avatars3.githubusercontent.com/u/38514341?v=4", + "profile": "https://github.com/leeyr338", + "contributions": [ + "code" + ] + }, + { + "login": "suyanlong", + "name": "suyanlong", + "avatar_url": "https://avatars2.githubusercontent.com/u/16421423?v=4", + "profile": "https://github.com/suyanlong", + "contributions": [ + "code" + ] + }, + { + "login": "Keith-CY", + "name": "Chen Yu", + "avatar_url": "https://avatars1.githubusercontent.com/u/7271329?v=4", + "profile": "https://github.com/Keith-CY", + "contributions": [ + "code" + ] + }, + { + "login": "zhangsoledad", + "name": "zhangsoledad", + "avatar_url": "https://avatars2.githubusercontent.com/u/3198439?v=4", + "profile": "https://zhangsoledad.github.io/salon", + "contributions": [ + "code" + ] + }, + { + "login": "hezhengjun", + "name": "hezhengjun", + "avatar_url": "https://avatars0.githubusercontent.com/u/30688033?v=4", + "profile": "https://github.com/hezhengjun", + "contributions": [ + "code" + ] + }, + { + "login": "zeroqn", + "name": "zeroqn", + "avatar_url": "https://avatars0.githubusercontent.com/u/23418132?v=4", + "profile": "https://github.com/zeroqn", + "contributions": [ + "code" + ] + }, + { + "login": "urugang", + "name": "urugang", + "avatar_url": "https://avatars1.githubusercontent.com/u/11461821?v=4", + "profile": "https://github.com/urugang", + "contributions": [ + "code" + ] + }, + { + "login": "jjyr", + "name": "Jiang Jinyang", + "avatar_url": "https://avatars0.githubusercontent.com/u/1695400?v=4", + "profile": "https://justjjy.com", + "contributions": [ + "code" + ] + }, + { + "login": "janx", + "name": "Jan Xie", + "avatar_url": "https://avatars0.githubusercontent.com/u/5958?v=4", + "profile": "https://twitter.com/janhxie", + "contributions": [ + "code" + ] + }, + { + "login": "jerry-sl", + "name": "Sun Lei", + "avatar_url": "https://avatars0.githubusercontent.com/u/5476062?v=4", + "profile": "https://github.com/jerry-sl", + "contributions": [ + "code" + ] + }, + { + "login": "chuchenxihyl", + "name": "hyl", + "avatar_url": "https://avatars1.githubusercontent.com/u/23721562?v=4", + "profile": "https://github.com/chuchenxihyl", + "contributions": [ + "code" + ] + }, + { + "login": "poshboytl", + "name": "Terry Tai", + "avatar_url": "https://avatars3.githubusercontent.com/u/5960?v=4", + "profile": "http://terrytai.me", + "contributions": [ + "code" + ] + }, + { + "login": "kilb", + "name": "Ke Wang", + "avatar_url": "https://avatars0.githubusercontent.com/u/9641495?v=4", + "profile": "https://bll.io", + "contributions": [ + "code" + ] + }, + { + "login": "mohanson", + "name": "Mohanson", + "avatar_url": "https://avatars3.githubusercontent.com/u/12387889?v=4", + "profile": "http://accu.cc", + "contributions": [ + "code" + ] + }, + { + "login": "luqz", + "name": "quanzhan lu", + "avatar_url": "https://avatars3.githubusercontent.com/u/17267434?v=4", + "profile": "https://www.jianshu.com/u/3457636b07c5", + "contributions": [ + "code" + ] + }, + { + "login": "duanyytop", + "name": "duanyytop", + "avatar_url": "https://avatars1.githubusercontent.com/u/5823268?v=4", + "profile": "https://github.com/duanyytop", + "contributions": [ + "code" + ] + }, + { + "login": "clearloop", + "name": "clearloop", + "avatar_url": "https://avatars0.githubusercontent.com/u/26088946?v=4", + "profile": "https://github.com/clearloop", + "contributions": [ + "code" + ] + }, + { + "login": "hot3246624", + "name": "nokodemion", + "avatar_url": "https://avatars3.githubusercontent.com/u/9135770?v=4", + "profile": "https://github.com/hot3246624", + "contributions": [ + "code" + ] + }, + { + "login": "rainchen", + "name": "Rain Chen", + "avatar_url": "https://avatars0.githubusercontent.com/u/71397?v=4", + "profile": "http://rainchen.com", + "contributions": [ + "code" + ] + }, + { + "login": "daogangtang", + "name": "Daogang Tang", + "avatar_url": "https://avatars2.githubusercontent.com/u/629594?v=4", + "profile": "https://github.com/daogangtang", + "contributions": [ + "code" + ] + }, + { + "login": "jiangxianliang007", + "name": "xianliang jiang", + "avatar_url": "https://avatars1.githubusercontent.com/u/24754263?v=4", + "profile": "https://github.com/jiangxianliang007", + "contributions": [ + "code" + ] + }, + { + "login": "vinberm", + "name": "Nov", + "avatar_url": "https://avatars0.githubusercontent.com/u/17666225?v=4", + "profile": "https://github.com/vinberm", + "contributions": [ + "code" + ] + }, + { + "login": "rairyx", + "name": "Rai Yang", + "avatar_url": "https://avatars2.githubusercontent.com/u/5009854?v=4", + "profile": "https://github.com/rairyx", + "contributions": [ + "code" + ] + }, + { + "login": "huwenchao", + "name": "Wenchao Hu", + "avatar_url": "https://avatars0.githubusercontent.com/u/1630721?v=4", + "profile": "http://www.huwenchao.com/", + "contributions": [ + "code" + ] + }, + { + "login": "Kayryu", + "name": "kaiyu", + "avatar_url": "https://avatars1.githubusercontent.com/u/35792093?v=4", + "profile": "https://github.com/Kayryu", + "contributions": [ + "code" + ] + }, + { + "login": "ashchan", + "name": "James Chen", + "avatar_url": "https://avatars2.githubusercontent.com/u/1391?v=4", + "profile": "https://ashchan.com", + "contributions": [ + "code" + ] + }, + { + "login": "rev-chaos", + "name": "rev-chaos", + "avatar_url": "https://avatars1.githubusercontent.com/u/32355308?v=4", + "profile": "https://github.com/rev-chaos", + "contributions": [ + "code" + ] + }, + { + "login": "KaoImin", + "name": "Eason Gao", + "avatar_url": "https://avatars1.githubusercontent.com/u/24822778?v=4", + "profile": "https://github.com/KaoImin", + "contributions": [ + "code" + ] + }, + { + "login": "qinix", + "name": "Eric Zhang", + "avatar_url": "https://avatars1.githubusercontent.com/u/1946663?v=4", + "profile": "http://qinix.com", + "contributions": [ + "code" + ] + }, + { + "login": "jasl", + "name": "Jun Jiang", + "avatar_url": "https://avatars2.githubusercontent.com/u/1024162?v=4", + "profile": "https://github.com/jasl", + "contributions": [ + "code" + ] + }, + { + "login": "PRIEWIENV", + "name": "PRIEWIENV", + "avatar_url": "https://avatars1.githubusercontent.com/u/9765170?v=4", + "profile": "https://blog.priewienv.me", + "contributions": [ + "code" + ] + }, + { + "login": "gitter-badger", + "name": "The Gitter Badger", + "avatar_url": "https://avatars2.githubusercontent.com/u/8518239?v=4", + "profile": "https://gitter.im", + "contributions": [ + "code" + ] + }, + { + "login": "classicalliu", + "name": "CL", + "avatar_url": "https://avatars3.githubusercontent.com/u/13375784?v=4", + "profile": "https://github.com/classicalliu", + "contributions": [ + "code" + ] + }, + { + "login": "programmer-liu", + "name": "programmer-liu", + "avatar_url": "https://avatars2.githubusercontent.com/u/25048144?v=4", + "profile": "https://github.com/programmer-liu", + "contributions": [ + "code" + ] + }, + { + "login": "yejiayu", + "name": "Jiayu Ye", + "avatar_url": "https://avatars3.githubusercontent.com/u/10446547?v=4", + "profile": "https://github.com/yejiayu", + "contributions": [ + "code" + ] + } + ], + "contributorsPerLine": 7 +} diff --git a/README-CN.md b/README-CN.md index 84b08977d..eb28db894 100644 --- a/README-CN.md +++ b/README-CN.md @@ -2,6 +2,8 @@ [![Circle CI Status](https://circleci.com/gh/cryptape/cita.svg?branch=develop)](https://circleci.com/gh/cryptape/cita) +[![All Contributors](https://img.shields.io/badge/all_contributors-47-orange.svg?style=flat-square)](#contributors) + [English](./README.md) | 简体中文 ## CITA 是什么? @@ -93,3 +95,15 @@ GPLv3 license ## 联系我们 邮箱: + +## Contributors + +Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + +
kaikai
kaikai

💻
zhangyaning
zhangyaning

💻
Boyu Yang
Boyu Yang

💻
zhiwei
zhiwei

💻
漂流
漂流

💻
AsceticBear
AsceticBear

💻
yubo
yubo

💻
zhouyun-zoe
zhouyun-zoe

📖
Bicheng Gao
Bicheng Gao

💻
lhf
lhf

💻
LinFeng Qian
LinFeng Qian

💻
keroro
keroro

💻
Yaorong
Yaorong

💻
suyanlong
suyanlong

💻
Chen Yu
Chen Yu

💻
zhangsoledad
zhangsoledad

💻
hezhengjun
hezhengjun

💻
zeroqn
zeroqn

💻
urugang
urugang

💻
Jiang Jinyang
Jiang Jinyang

💻
Jan Xie
Jan Xie

💻
Sun Lei
Sun Lei

💻
hyl
hyl

💻
Terry Tai
Terry Tai

💻
Ke Wang
Ke Wang

💻
Mohanson
Mohanson

💻
quanzhan lu
quanzhan lu

💻
duanyytop
duanyytop

💻
clearloop
clearloop

💻
nokodemion
nokodemion

💻
Rain Chen
Rain Chen

💻
Daogang Tang
Daogang Tang

💻
xianliang jiang
xianliang jiang

💻
Nov
Nov

💻
Rai Yang
Rai Yang

💻
Wenchao Hu
Wenchao Hu

💻
kaiyu
kaiyu

💻
James Chen
James Chen

💻
rev-chaos
rev-chaos

💻
Eason Gao
Eason Gao

💻
Eric Zhang
Eric Zhang

💻
Jun Jiang
Jun Jiang

💻
PRIEWIENV
PRIEWIENV

💻
The Gitter Badger
The Gitter Badger

💻
CL
CL

💻
programmer-liu
programmer-liu

💻
Jiayu Ye
Jiayu Ye

💻
+ + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! diff --git a/README.md b/README.md index 55a87023d..06d71bca3 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ [![Circle CI Status](https://circleci.com/gh/cryptape/cita.svg?branch=develop)](https://circleci.com/gh/cryptape/cita) +[![All Contributors](https://img.shields.io/badge/all_contributors-47-orange.svg?style=flat-square)](#contributors) + English | [简体中文](./README-CN.md) ## What is CITA @@ -75,3 +77,15 @@ CITA is created by Cryptape team with :heart:. ## Contact us Email: + +## Contributors + +Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + +
kaikai
kaikai

💻
zhangyaning
zhangyaning

💻
Boyu Yang
Boyu Yang

💻
zhiwei
zhiwei

💻
漂流
漂流

💻
AsceticBear
AsceticBear

💻
yubo
yubo

💻
zhouyun-zoe
zhouyun-zoe

📖
Bicheng Gao
Bicheng Gao

💻
lhf
lhf

💻
LinFeng Qian
LinFeng Qian

💻
keroro
keroro

💻
Yaorong
Yaorong

💻
suyanlong
suyanlong

💻
Chen Yu
Chen Yu

💻
zhangsoledad
zhangsoledad

💻
hezhengjun
hezhengjun

💻
zeroqn
zeroqn

💻
urugang
urugang

💻
Jiang Jinyang
Jiang Jinyang

💻
Jan Xie
Jan Xie

💻
Sun Lei
Sun Lei

💻
hyl
hyl

💻
Terry Tai
Terry Tai

💻
Ke Wang
Ke Wang

💻
Mohanson
Mohanson

💻
quanzhan lu
quanzhan lu

💻
duanyytop
duanyytop

💻
clearloop
clearloop

💻
nokodemion
nokodemion

💻
Rain Chen
Rain Chen

💻
Daogang Tang
Daogang Tang

💻
xianliang jiang
xianliang jiang

💻
Nov
Nov

💻
Rai Yang
Rai Yang

💻
Wenchao Hu
Wenchao Hu

💻
kaiyu
kaiyu

💻
James Chen
James Chen

💻
rev-chaos
rev-chaos

💻
Eason Gao
Eason Gao

💻
Eric Zhang
Eric Zhang

💻
Jun Jiang
Jun Jiang

💻
PRIEWIENV
PRIEWIENV

💻
The Gitter Badger
The Gitter Badger

💻
CL
CL

💻
programmer-liu
programmer-liu

💻
Jiayu Ye
Jiayu Ye

💻
+ + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! From 32760c679020b7c88fc4c124c993a742d9dc8e1e Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Wed, 17 Apr 2019 14:45:19 +0800 Subject: [PATCH 78/96] Change the log level of contract solc. --- .../core/src/contracts/solc/emergency_brake.rs | 2 +- .../core/src/contracts/solc/node_manager.rs | 2 +- .../src/contracts/solc/permission_management.rs | 4 ++-- .../core/src/contracts/solc/price_manager.rs | 2 +- .../core/src/contracts/solc/quota_manager.rs | 10 +++++----- .../core/src/contracts/solc/sys_config.rs | 14 +++++++------- .../core/src/contracts/solc/user_management.rs | 4 ++-- .../core/src/contracts/solc/version_management.rs | 2 +- 8 files changed, 20 insertions(+), 20 deletions(-) diff --git a/cita-executor/core/src/contracts/solc/emergency_brake.rs b/cita-executor/core/src/contracts/solc/emergency_brake.rs index ae6ab89ed..87a523364 100644 --- a/cita-executor/core/src/contracts/solc/emergency_brake.rs +++ b/cita-executor/core/src/contracts/solc/emergency_brake.rs @@ -55,7 +55,7 @@ impl<'a> EmergencyBrake<'a> { } pub fn default_state() -> bool { - error!("Use default emergency break state."); + info!("Use default emergency break state."); false } } diff --git a/cita-executor/core/src/contracts/solc/node_manager.rs b/cita-executor/core/src/contracts/solc/node_manager.rs index 0367cdfa8..8e2644125 100644 --- a/cita-executor/core/src/contracts/solc/node_manager.rs +++ b/cita-executor/core/src/contracts/solc/node_manager.rs @@ -107,7 +107,7 @@ impl<'a> NodeManager<'a> { } pub fn default_shuffled_stake_nodes() -> Vec
{ - error!("Use default shuffled stake nodes."); + info!("Use default shuffled stake nodes."); Vec::new() } diff --git a/cita-executor/core/src/contracts/solc/permission_management.rs b/cita-executor/core/src/contracts/solc/permission_management.rs index 350112627..6b6e2f980 100644 --- a/cita-executor/core/src/contracts/solc/permission_management.rs +++ b/cita-executor/core/src/contracts/solc/permission_management.rs @@ -112,7 +112,7 @@ impl<'a> PermissionManagement<'a> { } pub fn default_all_accounts() -> Vec
{ - error!("Use default all accounts."); + info!("Use default all accounts."); Vec::new() } @@ -147,7 +147,7 @@ impl<'a> PermissionManagement<'a> { } pub fn default_permissions() -> Vec
{ - error!("Use default permissions."); + info!("Use default permissions."); Vec::new() } diff --git a/cita-executor/core/src/contracts/solc/price_manager.rs b/cita-executor/core/src/contracts/solc/price_manager.rs index 29b6de39f..56b42aaf4 100644 --- a/cita-executor/core/src/contracts/solc/price_manager.rs +++ b/cita-executor/core/src/contracts/solc/price_manager.rs @@ -55,7 +55,7 @@ impl<'a> PriceManagement<'a> { } pub fn default_quota_price() -> U256 { - error!("Use default quota price"); + info!("Use default quota price"); U256::from(1) } } diff --git a/cita-executor/core/src/contracts/solc/quota_manager.rs b/cita-executor/core/src/contracts/solc/quota_manager.rs index 21f7644ca..57df815d6 100644 --- a/cita-executor/core/src/contracts/solc/quota_manager.rs +++ b/cita-executor/core/src/contracts/solc/quota_manager.rs @@ -121,7 +121,7 @@ impl<'a> QuotaManager<'a> { } pub fn default_quota() -> Vec { - error!("Use default quota."); + info!("Use default quota."); Vec::new() } @@ -139,7 +139,7 @@ impl<'a> QuotaManager<'a> { } pub fn default_users() -> Vec
{ - error!("Use default users."); + info!("Use default users."); Vec::new() } @@ -152,7 +152,7 @@ impl<'a> QuotaManager<'a> { } pub fn default_block_quota_limit() -> u64 { - error!("Use default block quota limit."); + info!("Use default block quota limit."); BQL_VALUE } @@ -170,7 +170,7 @@ impl<'a> QuotaManager<'a> { } pub fn default_account_quota_limit() -> u64 { - error!("Use default account quota limit."); + info!("Use default account quota limit."); AQL_VALUE } @@ -188,7 +188,7 @@ impl<'a> QuotaManager<'a> { } pub fn default_auto_exec_quota_limit() -> u64 { - error!("Use default auto exec quota limit."); + info!("Use default auto exec quota limit."); AUTO_EXEC_QL_VALUE } } diff --git a/cita-executor/core/src/contracts/solc/sys_config.rs b/cita-executor/core/src/contracts/solc/sys_config.rs index 980874326..b50c85829 100644 --- a/cita-executor/core/src/contracts/solc/sys_config.rs +++ b/cita-executor/core/src/contracts/solc/sys_config.rs @@ -103,7 +103,7 @@ impl<'a> SysConfig<'a> { } pub fn default_delay_block_number() -> u64 { - error!("Use default delay block number."); + info!("Use default delay block number."); 1 } @@ -119,7 +119,7 @@ impl<'a> SysConfig<'a> { } pub fn default_call_permission_check() -> bool { - error!("Use default permission check."); + info!("Use default permission check."); false } @@ -134,7 +134,7 @@ impl<'a> SysConfig<'a> { } pub fn default_send_tx_permission_check() -> bool { - error!("Use default send tx permission check."); + info!("Use default send tx permission check."); false } @@ -149,7 +149,7 @@ impl<'a> SysConfig<'a> { } pub fn default_create_contract_permission_check() -> bool { - error!("Use default create contract permission check."); + info!("Use default create contract permission check."); false } @@ -161,7 +161,7 @@ impl<'a> SysConfig<'a> { } pub fn default_quota_check() -> bool { - error!("Use default quota check."); + info!("Use default quota check."); false } @@ -177,7 +177,7 @@ impl<'a> SysConfig<'a> { } pub fn default_fee_back_platform_check() -> bool { - warn!("Use default fee back platform check."); + info!("Use default fee back platform check."); false } @@ -190,7 +190,7 @@ impl<'a> SysConfig<'a> { } pub fn default_chain_owner() -> Address { - warn!("Use default chain owner."); + info!("Use default chain owner."); Address::from([0u8; 20]) } diff --git a/cita-executor/core/src/contracts/solc/user_management.rs b/cita-executor/core/src/contracts/solc/user_management.rs index c75d922af..8f2ae3977 100644 --- a/cita-executor/core/src/contracts/solc/user_management.rs +++ b/cita-executor/core/src/contracts/solc/user_management.rs @@ -76,7 +76,7 @@ impl<'a> UserManagement<'a> { } pub fn default_all_groups() -> Vec
{ - error!("Use default all groups."); + info!("Use default all groups."); Vec::new() } @@ -89,7 +89,7 @@ impl<'a> UserManagement<'a> { } pub fn default_accounts() -> Vec
{ - error!("Use default accounts."); + info!("Use default accounts."); Vec::new() } } diff --git a/cita-executor/core/src/contracts/solc/version_management.rs b/cita-executor/core/src/contracts/solc/version_management.rs index 90972e1ea..965d06672 100644 --- a/cita-executor/core/src/contracts/solc/version_management.rs +++ b/cita-executor/core/src/contracts/solc/version_management.rs @@ -62,7 +62,7 @@ impl<'a> VersionManager<'a> { } pub fn default_version() -> u32 { - error!("Use default version."); + info!("Use default version."); 0 } } From 391ae3be7c3752979f4778ae1bb30adde8c33b78 Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Wed, 17 Apr 2019 17:35:00 +0800 Subject: [PATCH 79/96] Add unit test of contract solc. --- .../core/src/contracts/solc/emergency_brake.rs | 15 +++++++++++++++ .../core/src/contracts/solc/price_manager.rs | 16 ++++++++++++++++ .../src/contracts/solc/version_management.rs | 15 +++++++++++++++ 3 files changed, 46 insertions(+) diff --git a/cita-executor/core/src/contracts/solc/emergency_brake.rs b/cita-executor/core/src/contracts/solc/emergency_brake.rs index 87a523364..32ff319eb 100644 --- a/cita-executor/core/src/contracts/solc/emergency_brake.rs +++ b/cita-executor/core/src/contracts/solc/emergency_brake.rs @@ -59,3 +59,18 @@ impl<'a> EmergencyBrake<'a> { false } } + +#[cfg(test)] +mod tests { + use super::EmergencyBrake; + use tests::helpers::init_executor; + use types::ids::BlockId; + + #[test] + fn test_state() { + let executor = init_executor(vec![]); + let emergency_brake = EmergencyBrake::new(&executor); + let state = emergency_brake.state(BlockId::Pending).unwrap(); + assert_eq!(state, false); + } +} diff --git a/cita-executor/core/src/contracts/solc/price_manager.rs b/cita-executor/core/src/contracts/solc/price_manager.rs index 56b42aaf4..fca0b9eb8 100644 --- a/cita-executor/core/src/contracts/solc/price_manager.rs +++ b/cita-executor/core/src/contracts/solc/price_manager.rs @@ -59,3 +59,19 @@ impl<'a> PriceManagement<'a> { U256::from(1) } } + +#[cfg(test)] +mod tests { + use super::PriceManagement; + use cita_types::U256; + use tests::helpers::init_executor; + use types::ids::BlockId; + + #[test] + fn test_state() { + let executor = init_executor(vec![]); + let price_management = PriceManagement::new(&executor); + let price = price_management.quota_price(BlockId::Pending).unwrap(); + assert_eq!(price, U256::from(100_0000)); + } +} diff --git a/cita-executor/core/src/contracts/solc/version_management.rs b/cita-executor/core/src/contracts/solc/version_management.rs index 965d06672..3c644294c 100644 --- a/cita-executor/core/src/contracts/solc/version_management.rs +++ b/cita-executor/core/src/contracts/solc/version_management.rs @@ -66,3 +66,18 @@ impl<'a> VersionManager<'a> { 0 } } + +#[cfg(test)] +mod tests { + use super::VersionManager; + use tests::helpers::init_executor; + use types::ids::BlockId; + + #[test] + fn test_state() { + let executor = init_executor(vec![]); + let version_management = VersionManager::new(&executor); + let version = version_management.get_version(BlockId::Pending).unwrap(); + assert_eq!(version, 1); + } +} From 93c78cce53824c02a091775fb1f88a24dd329e8c Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Wed, 17 Apr 2019 18:07:17 +0800 Subject: [PATCH 80/96] :fire: Remove useless comments. [skip travis] --- cita-chain/core/src/snapshot/mod.rs | 81 ---------------------- cita-chain/core/src/snapshot/service.rs | 40 +---------- cita-executor/core/src/builtin.rs | 11 --- cita-executor/core/src/executive.rs | 15 ---- cita-executor/core/src/snapshot/mod.rs | 25 ------- cita-executor/core/src/snapshot/service.rs | 16 ----- cita-executor/core/src/state/mod.rs | 10 --- 7 files changed, 1 insertion(+), 197 deletions(-) diff --git a/cita-chain/core/src/snapshot/mod.rs b/cita-chain/core/src/snapshot/mod.rs index 15328f72b..085789879 100644 --- a/cita-chain/core/src/snapshot/mod.rs +++ b/cita-chain/core/src/snapshot/mod.rs @@ -286,11 +286,6 @@ impl<'a> BlockChunker<'a> { } let mut s = RlpStream::new(); - /*let block = self.chain - .block_by_hash(self.current_hash) - .ok_or(Error::BlockNotFound(self.current_hash))?; - block.rlp_append(&mut s); - let block_rlp = s.out();*/ let header = self .chain .block_header_by_hash(self.current_hash) @@ -646,28 +641,6 @@ impl BlockRebuilder { log_blooms } - /// This function returns modified transaction addresses. - /*fn prepare_transaction_addresses_update( - &self, - block: &Block, - info: &BlockInfo, - ) -> HashMap { - let transaction_hashes = block.body().transaction_hashes(); - transaction_hashes - .into_iter() - .enumerate() - .map(|(i, tx_hash)| { - ( - tx_hash, - TransactionAddress { - block_hash: info.hash, - index: i, - }, - ) - }) - .collect() - }*/ - fn prepare_update(&self, batch: &mut DBTransaction, update: ExtrasUpdate, is_best: bool) { { let mut write_receipts = self.chain.block_receipts.write(); @@ -683,18 +656,6 @@ impl BlockRebuilder { let mut write_blocks_blooms = self.chain.blocks_blooms.write(); // update best block // update all existing blooms groups - /*for (key, value) in update.blocks_blooms { - match write_blocks_blooms.entry(key) { - hash_map::Entry::Occupied(mut entry) => { - entry.get_mut().accrue_bloom_group(&value); - batch.write(COL_EXTRA, entry.key(), entry.get()); - }, - hash_map::Entry::Vacant(entry) => { - batch.write(COL_EXTRA, entry.key(), &value); - entry.insert(value); - }, - } - }*/ batch.extend_with_cache( COL_EXTRA, &mut *write_blocks_blooms, @@ -708,21 +669,10 @@ impl BlockRebuilder { { if is_best { batch.write(COL_EXTRA, &CurrentHash, &update.info.hash); - //batch.write(COL_EXTRA, &CurrentProof, &update.info.hash); batch.write(COL_EXTRA, &CurrentHeight, &update.info.number); } let mut write_hashes = self.chain.block_hashes.write(); - //let mut write_txs = self.chain.transaction_addresses.write(); - //let mut write_hashes = HashMap::new(); - //let mut write_txs = HashMap::new(); - - /*batch.extend_with_cache( - COL_EXTRA, - &mut *write_hashes, - update.block_hashes, - CacheUpdatePolicy::Overwrite, - );*/ batch.write_with_cache( COL_EXTRA, &mut *write_hashes, @@ -730,12 +680,6 @@ impl BlockRebuilder { update.info.number as BlockNumber, CacheUpdatePolicy::Overwrite, ); - /*batch.extend_with_cache( - COL_EXTRA, - &mut *write_txs, - update.transactions_addresses, - CacheUpdatePolicy::Overwrite, - );*/ } } @@ -743,23 +687,6 @@ impl BlockRebuilder { fn finalize(&self) -> Result<(), ::error::Error> { let mut batch = self.db.transaction(); - /*for (first_num, first_hash) in self.disconnected.drain(..) { - let parent_num = first_num - 1; - // check if the parent is even in the chain. - // since we don't restore every single block in the chain, - // the first block of the first chunks has nothing to connect to. - if let Some(parent_hash) = self.chain.block_hash(parent_num) { - // if so, add the child to it. - self.chain.add_child(&mut batch, parent_hash, first_hash); - } - }*/ - - /*let genesis_hash = self.chain.genesis_hash(); - self.chain.insert_epoch_transition(&mut batch, 0, ::engines::EpochTransition { - block_number: 0, - block_hash: genesis_hash, - proof: vec![], - });*/ let genesis_block = self .chain .block_by_height(0) @@ -767,14 +694,6 @@ impl BlockRebuilder { batch.write(COL_HEADERS, &0, &genesis_block.header.clone()); batch.write(COL_BODIES, &0, &genesis_block.body.clone()); - /*let mut write_bodies: HashMap = HashMap::new(); - batch.write_with_cache( - COL_BODIES, - &mut write_bodies, - 0 as BlockNumber, - genesis_block.body.clone(), - CacheUpdatePolicy::Overwrite, - );*/ batch.write(COL_EXTRA, &CurrentProof, &self.cur_proof); self.db.write_buffered(batch); diff --git a/cita-chain/core/src/snapshot/service.rs b/cita-chain/core/src/snapshot/service.rs index 6793d5c37..6cf52d0c3 100644 --- a/cita-chain/core/src/snapshot/service.rs +++ b/cita-chain/core/src/snapshot/service.rs @@ -24,7 +24,6 @@ use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering}; use std::sync::Arc; use std::usize::MAX; -//use super::{SnapshotService}; use super::io::{LooseReader, LooseWriter, SnapshotReader, SnapshotWriter}; use super::{BlockRebuilder, ManifestData, RestorationStatus}; @@ -41,12 +40,6 @@ use libchain::chain::{get_chain, get_chain_body_height, Chain}; use filters::PollManager; -/// Number of blocks in an ethash snapshot. -// make dependent on difficulty incrment divisor? -//const SNAPSHOT_BLOCKS: u64 = 5000; -/// Maximum number of blocks allowed in an ethash snapshot. -//const MAX_SNAPSHOT_BLOCKS: u64 = 30000; - /// External database restoration handler pub trait DatabaseRestore: Send + Sync { /// Restart with a new backend. Takes ownership of passed database and moves it to a new location. @@ -61,7 +54,6 @@ impl DatabaseRestore for Chain { self.db.restore(new_db)?; // replace chain - //*chain = Arc::new(BlockChain::new(self.config.blockchain.clone(), &[], db.clone())); let header = get_chain(&*self.db.clone()).expect("Get chain failed"); let current_height = header.number(); @@ -119,18 +111,15 @@ struct Restoration { block_chunks_left: HashSet, secondary: Box, writer: Option, - //guard: Guard, db: Arc, } struct RestorationParams<'a> { - manifest: ManifestData, // manifest to base restoration on. - //pruning: Algorithm, // pruning algorithm for the database. + manifest: ManifestData, // manifest to base restoration on. db_path: PathBuf, // database path db_config: &'a DatabaseConfig, // configuration for the database. writer: Option, // writer for recovered snapshot.. chain: Arc, - //guard: Guard, // guard for the restoration directory. } impl Restoration { @@ -157,7 +146,6 @@ impl Restoration { block_chunks_left: block_chunks, secondary: Box::new(block_rebuilder), writer: params.writer, - //guard: params.guard, db: raw_db, }) } @@ -193,7 +181,6 @@ impl Restoration { writer.finish(self.manifest)?; } - //self.guard.disarm(); Ok(()) } @@ -237,7 +224,6 @@ impl Service { restoration: Mutex::new(None), snapshot_root: params.snapshot_root, db_config: params.db_config, - //pruning: params.pruning, status: Mutex::new(RestorationStatus::Inactive), reader: RwLock::new(None), block_chunks: AtomicUsize::new(0), @@ -331,7 +317,6 @@ impl Service { } let _p = &self.progress; - //info!("Snapshot: {} accounts {} bytes", p.accounts(), p.size()); } /// Initialize the restoration synchronously. @@ -369,7 +354,6 @@ impl Service { db_path: self.restoration_db(), db_config: &self.db_config, writer, - //guard: Guard::new(rest_dir), }; let block_chunks = params.manifest.block_hashes.len(); @@ -480,10 +464,6 @@ impl Service { } impl SnapshotService for Service { - //fn manifest(&self) -> Option { - //self.reader.read().as_ref().map(|r| r.manifest().clone()) - //} - fn chunk(&self, hash: H256) -> Option { self.reader.read().as_ref().and_then(|r| r.chunk(hash).ok()) } @@ -496,40 +476,22 @@ impl SnapshotService for Service { } = *cur_status { *block_chunks_done = self.block_chunks.load(Ordering::SeqCst) as u32; - //*block_chunks_done = self.block_chunks.load(Ordering::SeqCst) as u32; } *cur_status } - /* - fn begin_restore(&self, manifest: ManifestData) { - if let Err(e) = self.io_channel.lock().send(ClientIoMessage::BeginRestoration(manifest)) { - trace!("Error sending snapshot service message: {:?}", e); - } - } - */ fn abort_restore(&self) { self.restoring_snapshot.store(false, Ordering::SeqCst); *self.restoration.lock() = None; *self.status.lock() = RestorationStatus::Inactive; } - /* - fn restore_state_chunk(&self, hash: H256, chunk: Bytes) { - if let Err(e) = self.io_channel.lock().send(ClientIoMessage::FeedStateChunk(hash, chunk)) { - trace!("Error sending snapshot service message: {:?}", e); - } - } - */ } /// The interface for a snapshot network service. /// This handles: /// - restoration of snapshots to temporary databases. /// - responding to queries for snapshot manifests and chunks pub trait SnapshotService: Sync + Send { - /// Query the most recent manifest data. - //fn manifest(&self) -> Option<&ManifestData>; - /// Get raw chunk for a given hash. fn chunk(&self, hash: H256) -> Option; diff --git a/cita-executor/core/src/builtin.rs b/cita-executor/core/src/builtin.rs index 8704c16a3..22c74cf5a 100644 --- a/cita-executor/core/src/builtin.rs +++ b/cita-executor/core/src/builtin.rs @@ -315,13 +315,6 @@ mod tests { #[test] fn ecrecover() { use self::rustc_serialize::hex::FromHex; - /*let k = KeyPair::from_secret(b"test".crypt_hash()).unwrap(); - let a: Address = From::from(k.public().crypt_hash()); - println!("Address: {}", a); - let m = b"hello world".crypt_hash(); - println!("Message: {}", m); - let s = k.sign(&m).unwrap(); - println!("Signed: {}", s);*/ let f = ethereum_builtin("ecrecover"); @@ -410,10 +403,6 @@ mod tests { ); // TODO: Should this (corrupted version of the above) fail rather than returning some address? - /* let i_bad = FromHex::from_hex("48173285a8d7341e5e972fc677286384f802f8ef42a5ec5f03bbfa254cb01fad000000000000000000000000000000000000000000000000000000000000001b650acf9d3f5f0a2c799776a1254355d5f4061762a237396a99a0e0e3fc2bcd6729514a0dacb2e623ac4abd157cb18163ff942280db4d5caad66ddf941ba12e03").unwrap(); - let mut o = [255u8; 32]; - f.execute(&i_bad[..], &mut BytesRef::Fixed(&mut o[..])); - assert_eq!(&o[..], &(FromHex::from_hex("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff").unwrap())[..]);*/ } #[test] diff --git a/cita-executor/core/src/executive.rs b/cita-executor/core/src/executive.rs index 47247999e..2497f3e0e 100644 --- a/cita-executor/core/src/executive.rs +++ b/cita-executor/core/src/executive.rs @@ -337,16 +337,6 @@ impl<'a, B: 'a + StateBackend> Executive<'a, B> { } } - /*trace!("quota should be checked: {}", options.check_quota); - if options.check_quota { - check_quota( - self.info.gas_used, - self.info.gas_limit, - self.info.account_gas_limit, - t, - )?; - }*/ - if t.action == Action::AbiStore && !self.transact_set_abi(&t.data) { return Err(ExecutionError::TransactionMalformed( "Account doesn't exist".to_owned(), @@ -999,8 +989,6 @@ impl<'a, B: 'a + StateBackend> Executive<'a, B> { let mut unconfirmed_substate = Substate::new(); // create contract and transfer value to it if necessary - /*let schedule = self.engine.schedule(self.info); - let nonce_offset = if schedule.no_empty {1} else {0}.into();*/ let nonce_offset = U256::from(0); let prev_bal = self.state.balance(¶ms.address)?; // TODO Keep it for compatibility. Remove it later. @@ -1065,9 +1053,6 @@ impl<'a, B: 'a + StateBackend> Executive<'a, B> { chain_owner: Address, fee_back_platform: bool, ) -> ExecutionResult { - /* - let schedule = self.engine.schedule(self.info); - */ let schedule = Schedule::new_v1(); // refunds from SSTORE nonzero -> zero let sstore_refunds = U256::from(schedule.sstore_refund_gas) * substate.sstore_clears_count; diff --git a/cita-executor/core/src/snapshot/mod.rs b/cita-executor/core/src/snapshot/mod.rs index cabab4a7c..980433798 100644 --- a/cita-executor/core/src/snapshot/mod.rs +++ b/cita-executor/core/src/snapshot/mod.rs @@ -610,12 +610,6 @@ impl StateRebuilder { /// journal entry. /// Once all chunks have been fed, there should be nothing missing. pub fn finalize(mut self, era: u64, id: H256) -> Result, ::error::Error> { - /*let missing = self.missing_code.values().cloned().collect::>(); - if !missing.is_empty() { return Err(Error::MissingCode(missing).into()) } - - let missing = self.missing_abi.values().cloned().collect::>(); - if !missing.is_empty() { return Err(Error::MissingAbi(missing).into()) }*/ - let mut batch = self.db.backing().transaction(); self.db.journal_under(&mut batch, era, &id)?; self.db.backing().write_buffered(batch); @@ -848,25 +842,6 @@ impl BlockRebuilder { /// Glue together any disconnected chunks and check that the chain is complete. fn finalize(&self) -> Result<(), ::error::Error> { let mut batch = self.db.transaction(); - - /*for (first_num, first_hash) in self.disconnected.drain(..) { - let parent_num = first_num - 1; - - // check if the parent is even in the chain. - // since we don't restore every single block in the chain, - // the first block of the first chunks has nothing to connect to. - if let Some(parent_hash) = self.chain.block_hash(parent_num) { - // if so, add the child to it. - self.chain.add_child(&mut batch, parent_hash, first_hash); - } - }*/ - - /*let genesis_hash = self.chain.genesis_hash(); - self.chain.insert_epoch_transition(&mut batch, 0, ::engines::EpochTransition { - block_number: 0, - block_hash: genesis_hash, - proof: vec![], - });*/ let genesis_header = self .executor .block_header_by_height(0) diff --git a/cita-executor/core/src/snapshot/service.rs b/cita-executor/core/src/snapshot/service.rs index 986cb0ca9..43ab2291a 100644 --- a/cita-executor/core/src/snapshot/service.rs +++ b/cita-executor/core/src/snapshot/service.rs @@ -470,27 +470,11 @@ impl SnapshotService for Service { *cur_status } - /* - fn begin_restore(&self, manifest: ManifestData) { - if let Err(e) = self.io_channel.lock().send(ClientIoMessage::BeginRestoration(manifest)) { - trace!("Error sending snapshot service message: {:?}", e); - } - } - */ - fn abort_restore(&self) { self.restoring_snapshot.store(false, Ordering::SeqCst); *self.restoration.lock() = None; *self.status.lock() = RestorationStatus::Inactive; } - - /* - fn restore_state_chunk(&self, hash: H256, chunk: Bytes) { - if let Err(e) = self.io_channel.lock().send(ClientIoMessage::FeedStateChunk(hash, chunk)) { - trace!("Error sending snapshot service message: {:?}", e); - } - } - */ } /// The interface for a snapshot network service. /// This handles: diff --git a/cita-executor/core/src/state/mod.rs b/cita-executor/core/src/state/mod.rs index 635c21bd2..85c1b5316 100644 --- a/cita-executor/core/src/state/mod.rs +++ b/cita-executor/core/src/state/mod.rs @@ -1216,16 +1216,6 @@ mod tests { #[test] #[ignore] fn should_apply_create_transaction() { - /* - pragma solidity ^0.4.8; - contract AbiTest { - uint balance; - function AbiTest() {} - function setValue(uint value) { - balance = value; - } - } - */ logger::silent(); // 1) tx = (to, data(code), nonce, valid_until_block) From caf419a79bbb467ce65ddd361db98feefbd4099b Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Thu, 18 Apr 2019 11:03:11 +0800 Subject: [PATCH 81/96] Update cita-common: clippy crates. [skip travis] --- Cargo.lock | 62 +++++++++++++++++++++++++++--------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8351b04df..eb2a93f01 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -125,7 +125,7 @@ dependencies = [ [[package]] name = "authority_manage" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -255,7 +255,7 @@ dependencies = [ [[package]] name = "blake2b" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "cc 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -518,7 +518,7 @@ dependencies = [ [[package]] name = "cita-crypto" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "cita-crypto-trait 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-ed25519 0.6.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -529,7 +529,7 @@ dependencies = [ [[package]] name = "cita-crypto-trait" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", ] @@ -537,7 +537,7 @@ dependencies = [ [[package]] name = "cita-directories" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "uuid 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -545,7 +545,7 @@ dependencies = [ [[package]] name = "cita-ed25519" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-crypto-trait 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -640,7 +640,7 @@ dependencies = [ [[package]] name = "cita-merklehash" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "hashable 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -699,7 +699,7 @@ dependencies = [ [[package]] name = "cita-secp256k1" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-crypto-trait 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -716,7 +716,7 @@ dependencies = [ [[package]] name = "cita-sm2" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "cita-crypto-trait 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -730,7 +730,7 @@ dependencies = [ [[package]] name = "cita-types" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "plain_hasher 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1131,7 +1131,7 @@ dependencies = [ [[package]] name = "db" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "elastic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1206,7 +1206,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "engine" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "cita-crypto 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1269,7 +1269,7 @@ dependencies = [ [[package]] name = "error" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" [[package]] name = "error-chain" @@ -1330,7 +1330,7 @@ dependencies = [ [[package]] name = "ethcore-bloom-journal" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "siphasher 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1583,7 +1583,7 @@ dependencies = [ [[package]] name = "hashable" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "blake2b 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1767,7 +1767,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "jsonrpc-proto" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1784,7 +1784,7 @@ dependencies = [ [[package]] name = "jsonrpc-types" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1798,7 +1798,7 @@ dependencies = [ [[package]] name = "jsonrpc-types-internals" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1880,7 +1880,7 @@ dependencies = [ [[package]] name = "libproto" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "cita-crypto 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-merklehash 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2036,7 +2036,7 @@ dependencies = [ [[package]] name = "logger" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-channel 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2386,7 +2386,7 @@ dependencies = [ [[package]] name = "panic_hook" version = "0.0.1" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "logger 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2525,7 +2525,7 @@ dependencies = [ [[package]] name = "proof" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-crypto 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2553,7 +2553,7 @@ dependencies = [ [[package]] name = "pubsub" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "dotenv 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "pubsub_kafka 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2564,7 +2564,7 @@ dependencies = [ [[package]] name = "pubsub_kafka" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2576,7 +2576,7 @@ dependencies = [ [[package]] name = "pubsub_rabbitmq" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "amqp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2585,7 +2585,7 @@ dependencies = [ [[package]] name = "pubsub_zeromq" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "logger 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2920,7 +2920,7 @@ dependencies = [ [[package]] name = "rlp" version = "0.2.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2932,7 +2932,7 @@ dependencies = [ [[package]] name = "rlp_derive" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", "syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3137,7 +3137,7 @@ dependencies = [ [[package]] name = "snappy" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "libc 0.2.46 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3819,7 +3819,7 @@ dependencies = [ [[package]] name = "tx_pool" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "cita-crypto 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -3961,7 +3961,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "util" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#ae5b7c96d79c5e0423504b95f8af72cfcea43dd8" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" dependencies = [ "ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", From 88a70330634326cf195189dceb5f92182b5e1570 Mon Sep 17 00:00:00 2001 From: leeyr Date: Mon, 15 Apr 2019 17:00:21 +0800 Subject: [PATCH 82/96] Add cita discovery test Add discovery test to ci Add discovery test util Add T001, T002 [skip travis] Add T003, T004 [skip travis] Add T005, T006, T010, T011, T012, T013, T014, T015, T016. [skip travis] Add T021, T022, T023. [skip travis] Add T024, and disable T023, T024. [skip travis] --- .circleci/config.yml | 14 + tests/integrate_test/cita_discovery.sh | 403 +++++++++++++++++++++++++ tests/integrate_test/util.sh | 65 ++++ 3 files changed, 482 insertions(+) create mode 100755 tests/integrate_test/cita_discovery.sh diff --git a/.circleci/config.yml b/.circleci/config.yml index d33998bdc..bb5d7ad84 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -261,6 +261,16 @@ jobs: name: Test Executor Process Invalid Proof command: ./tests/integrate_test/cita_bft_resend.sh + "Discovery Test for network": + <<: *job-default + steps: + - restore_cache: *restore-source-codes-cache + - restore_cache: *restore-release-cache + - run: *after-restore-release-cache + - run: + name: Discovery test for network + command: ./tests/integrate_test/cita_discovery.sh + "Byzantine Test in Quota Mode": <<: *job-default steps: @@ -366,6 +376,9 @@ workflows: - "Integrate Test Part-2": requires: - "Release" + - "Discovery Test for network": + requires: + - "Release" - "Byzantine Test in Quota Mode": requires: - "Release" @@ -393,6 +406,7 @@ workflows: requires: - "Integrate Test Part-1" - "Integrate Test Part-2" + - "Discovery Test for network" - "Byzantine Test in Quota Mode" - "Byzantine Test in Charge Mode" - "Crosschain Test" diff --git a/tests/integrate_test/cita_discovery.sh b/tests/integrate_test/cita_discovery.sh new file mode 100755 index 000000000..a75f6642a --- /dev/null +++ b/tests/integrate_test/cita_discovery.sh @@ -0,0 +1,403 @@ +#!/bin/bash + +get_source_dir() { + if [[ $(uname) == 'Darwin' ]] ; then + source_dir=$(realpath "$(dirname "$0")"/../..) + else + source_dir=$(readlink -f "$(dirname "$0")"/../..) + fi + echo "${source_dir}" +} + +# clean up only when it successes +clean_host() { + sed '/node0/d' /etc/hosts | sudo tee -a /tmp/hosts > /dev/null + sudo cp /tmp/hosts /etc/hosts + sudo rm /tmp/hosts +} + +set_hosts() { + # set node0 to /etc/hosts for domain name test + echo "127.0.0.1 node0" | sudo tee -a /etc/hosts > /dev/null +} + +generate_config() { + ./scripts/create_cita_config.py create \ + --chain_name "node" \ + --super_admin "0x4b5ae4567ad5d9fb92bc9afd6a657e6fa13a2523" \ + --nodes "127.0.0.1:4000,127.0.0.1:4001,127.0.0.1:4002,127.0.0.1:4003" \ + > /dev/null 2>&1 + + for i in {1..4} ; do + ./scripts/create_cita_config.py append \ + --chain_name "node" \ + --node "127.0.0.1:$((4003 + i))" \ + > /dev/null 2>&1 + done + + # node[0..3] keep only 3 peers + for i in {0..3} ; do + sed '19, $d' -i node/$i/network.toml + done + + # node[4..7] keep only 1 peers + for i in {4..7} ; do + sed '9, $d' -i node/$i/network.toml + done +} + +pre_start_nodes() { + # setup for all nodes + for i in {0..7} ; do + bin/cita bebop setup node/$i > /dev/null + done + + # start node[0..3] + for i in {0..3} ; do + bin/cita bebop start node/$i > /dev/null + done +} + +# T001/T011: discovery node entry +test_node_entry() { + echo -n "T0$1$2 discovery node entry ... " + + # start node4 + bin/cita bebop start node/4 > /dev/null + + # check every node's peer count reach to 4 + for i in {0..4} ; do + timeout=$(check_peer_count $i 4 60)||(echo "FAILED" + echo "error msg: ${timeout}" + exit 1) + done + + #stop node4 + bin/cita bebop stop node/4 > /dev/null + + echo "${timeout}s passed" +} + +# T002/T012: discovery node exit +test_node_exit() { + echo -n "T0$1$2 discovery node exit ... " + + # stop node3 + bin/cita bebop stop node/3 > /dev/null + + # check every node's peer count is 2 + for i in {0..2} ; do + timeout=$(check_peer_count $i 2 60)||(echo "FAILED" + echo "error msg: ${timeout}" + exit 1) + done + bin/cita bebop start node/3 > /dev/null + echo "${timeout}s passed" + +} + +# T003/T013: discovery node parallel entry +test_parallel_entry() { + echo -n "T0$1$2 discovery nodes for parallel entry ... " + + # start node[4..7] + for i in {4..7} ; do + bin/cita bebop start node/$i > /dev/null + done + + # check every node's peer count reach to 7 + for i in {0..7} ; do + timeout=$(check_peer_count $i 7 120)||(echo "FAILED" + echo "error msg: ${timeout}" + exit 1) + done + + echo "${timeout}s passed" +} + +# T004/T014: discovery node parallel exit +test_parallel_exit() { + echo -n "T0$1$2 discovery nodes for parallel exit ... " + + # start node[4..7] + for i in {4..7} ; do + bin/cita bebop stop node/$i > /dev/null + done + + # check every node's peer count is 3 + for i in {0..3} ; do + timeout=$(check_peer_count $i 3 60)||(echo "FAILED" + echo "error msg: ${timeout}" + exit 1) + done + echo "${timeout}s passed" +} + +# T005/T015: discovery node parallel entry and exit +test_parallel_entry_exit() { + echo -n "T0$1$2 discovery nodes for parallel entry and exit ... " + + # start node[4..7] and stop node[1..3] + bin/cita bebop start node/4 > /dev/null + for i in {1..3} ; do + bin/cita bebop stop node/$i > /dev/null + bin/cita bebop start node/$((i + 4)) > /dev/null + done + + # stop node[4..7] and start node[1..3] + bin/cita bebop stop node/4 > /dev/null + for i in {1..3} ; do + bin/cita bebop start node/$i > /dev/null + bin/cita bebop stop node/$((i + 4)) > /dev/null + done + + # check every node's peer count is 3 + for i in {0..3} ; do + timeout=$(check_peer_count $i 3 90)||(echo "FAILED" + echo "error msg: ${timeout}" + exit 1) + done + echo "${timeout}s passed" +} + +# T006/T016: discovery node entry before known node start +test_entry_before_known_node_start() { + echo -n "T0$1$2 discovery node for entry before known node start ... " + + # node0 is the only known node for node4, stop it first. + bin/cita bebop stop node/0 > /dev/null + bin/cita bebop start node/4 > /dev/null + + # known nodes start after 10 seconds of node4 startup + sleep 10 + + # start the known node + bin/cita bebop start node/0 > /dev/null + + # check every node's peer count is 4 + for i in {0..4} ; do + # needs more time to for checking, because node0 may not have enough score in node4 + timeout=$(check_peer_count $i 4 180)||(echo "FAILED" + echo "error msg: ${timeout}" + exit 1) + done + bin/cita bebop stop node/4 > /dev/null + echo "${timeout}s passed" +} + +# T021: discovery node entry and then known node restart +test_entry_and_known_node_restart() { + echo -n "T021 discovery node entry and then known node restart ... " + + # node0 is the only known node for node4 + bin/cita bebop start node/4 > /dev/null + + # check every node0 peer count is 4 + timeout=$(check_peer_count 0 4 90)||(echo "FAILED" + echo "error msg: ${timeout}" + exit 1) + # stop all connected nodes in node4 + for i in {0..3} ; do + bin/cita bebop stop node/$i > /dev/null + done + timeout=$(check_peer_count 4 0 90)||(echo "FAILED" + echo "error msg: ${timeout}" + exit 1) + # start all nodes + for i in {0..3} ; do + bin/cita bebop start node/$i > /dev/null + done + + # check every node's peer count is 4 + for i in {0..4} ; do + # needs more time to for checking, because node0 may not have enough score in node4 + timeout=$(check_peer_count $i 4 180)||(echo "FAILED" + echo "error msg: ${timeout}" + exit 1) + done + bin/cita bebop stop node/4 > /dev/null + echo "${timeout}s passed" +} + +# T022: discovery node with error address +test_repeated_address() { + echo -n "T022 discovery node with repeated address ... " + + # Disguise node4 as node3 + cp node/4/address node/4/address.tmp + cp node/4/privkey node/4/privkey.tmp + + cp node/3/address node/4/address + cp node/3/privkey node/4/privkey + + # node0 is the only known node for node4 + bin/cita bebop start node/4 > /dev/null + + # node[0..3]'s peer count is 3 + for i in {0..3} ; do + timeout=$(check_peer_count $i 3 90)||(echo "FAILED" + echo "error msg: ${timeout}" + exit 1) + done + + # node4's peer count is 0 + timeout=$(check_peer_count 4 0 90)||(echo "FAILED" + echo "error msg: ${timeout}" + exit 1) + bin/cita bebop stop node/4 > /dev/null + + # recover the address + mv node/4/address.tmp node/4/address + mv node/4/privkey.tmp node/4/privkey + + echo "${timeout}s passed" +} + +# T023: discovery node with max connected limit as client +test_max_connected_limit_as_client() { + echo -n "T023 discovery node with max connected limit as client ... " + + # stop all nodes + for i in {0..3} ; do + bin/cita bebop stop node/$i > /dev/null + + # set max_connects = 3 + sed '1 a\max_connects = 3' -i node/$i/network.toml > /dev/null + done + + # start all nodes + for i in {0..3} ; do + bin/cita bebop start node/$i > /dev/null + done + + # start node4 + bin/cita bebop start node/4 > /dev/null + + # node[0..3]'s peer count is 3 + for i in {0..3} ; do + + # it is necessary to wait for a few seconds for each check + sleep 3 + timeout=$(check_peer_count $i 3 90)||(echo "FAILED" + echo "error msg: ${timeout}" + exit 1) + done + + # node4's peer count is 0 + timeout=$(check_peer_count 4 0 90)||(echo "FAILED" + echo "error msg: ${timeout}" + exit 1) + + bin/cita bebop stop node/4 > /dev/null + + # recover the config + for i in {0..3} ; do + sed '2d' -i node/$i/network.toml > /dev/null + done + + echo "${timeout}s passed" +} + +# T024: discovery node with max connected limit as server +test_max_connected_limit_as_server() { + echo -n "T024 discovery node with max connected limit as server ... " + + # stop all nodes + for i in {0..3} ; do + bin/cita bebop stop node/$i > /dev/null + + # set max_connects = 2 + sed '1 a\max_connects = 2' -i node/$i/network.toml > /dev/null + done + + # start all nodes + for i in {0..3} ; do + bin/cita bebop start node/$i > /dev/null + done + + # node[0..3]'s peer count is 2 + for i in {0..3} ; do + + # it is necessary to wait for a few seconds for each check + sleep 3 + timeout=$(check_peer_count $i 2 90)||(echo "FAILED" + echo "error msg: ${timeout}" + exit 1) + done + + # recover the config + for i in {0..3} ; do + sed '2d' -i node/$i/network.toml > /dev/null + done + + echo "${timeout}s passed" +} + +main() { + set -e + + # FIXME: util needs this two global var, refine later + SOURCE_DIR=$(get_source_dir) + BINARY_DIR=${SOURCE_DIR}/target/install + + echo -n "0) prepare ... " + # shellcheck source=/dev/null + . "${SOURCE_DIR}/tests/integrate_test/util.sh" + cd "${BINARY_DIR}" + set_hosts + echo "DONE" + + echo -n "1) cleanup ... " + cleanup + echo "DONE" + + echo -n "2) generate config ... " + generate_config + echo "DONE" + + echo -n "3) pre start nodes[0..3] ... " + pre_start_nodes + echo "DONE" + + # Pre-check peer count, it is OK to check node0 only + echo -n "4) pre-check peer count ... " + timeout=$(check_peer_count 0 3 60)||(echo "FAILED" + echo "error msg: ${timeout}" + exit 1) + echo "${timeout}s DONE" + + test_suites=("ip" "domain_name") + index=0 + + for test_suit in "${test_suites[@]}" ; do + if [ "$test_suit" == "domain_name" ] ; then + # change node[4..7]'s peers to domain name + for i in {4..7} ; do + sed 's/127.0.0.1/node0/g' -i node/$i/network.toml + done + fi + + test_node_entry ${index} 1 + test_node_exit ${index} 2 + test_parallel_entry ${index} 3 + + # this case should just after test_parallel_entry + test_parallel_exit ${index} 4 + test_parallel_entry_exit ${index} 5 + test_entry_before_known_node_start ${index} 6 + + index=$((index+1)) + done + + test_entry_and_known_node_restart + test_repeated_address +# test_max_connected_limit_as_client +# test_max_connected_limit_as_server + + echo -n "5) cleanup ... " + clean_host + cleanup + echo "DONE" +} + +main "$@" diff --git a/tests/integrate_test/util.sh b/tests/integrate_test/util.sh index 412d5334c..665f7420d 100644 --- a/tests/integrate_test/util.sh +++ b/tests/integrate_test/util.sh @@ -53,6 +53,35 @@ get_height(){ return 1 } +get_peer_count(){ + if [ $# -ne 1 ] ; then + echo "usage: $0 node_id" + return 1 + fi + id=$1 + timeout=60 # 60 seconds + start=$(date +%s) + + while [ 1 ] ; do + peer_count=$(${SOURCE_DIR}/tests/integrate_test/peerCount.sh 127.0.0.1 $((1337+${id}))) + if [ $? -eq 0 ] ; then + # Remove quotes + peer_count_str=`echo ${peer_count} | sed 's/\"//g'` + + echo ${peer_count_str} + return 0 + fi + + now=$(date +%s) + if [ $((now-start-timeout)) -gt 0 ] ; then + echo "timeout: ${timeout}" + return 1 + fi + sleep 1 + done + return 1 +} + # output information about time used if exit 0 check_height_growth () { if [ $# -ne 2 ] ; then @@ -88,6 +117,42 @@ check_height_growth () { return 1 } +# output information about time used if exit 0 +check_peer_count () { + if [ $# -ne 3 ] ; then + echo "usage: $0 node_id expected_count timeout" + return 1 + fi + id=$1 + expected_count=$2 + timeout=$3 # seconds + + if [[ $? -ne 0 ]]; then + echo "failed to get_height(old): ${old}" + return 1 + fi + start=$(date +%s) + while [ 1 ] ; do + peer_count=$(get_peer_count ${id}) + if [[ $? -ne 0 ]] ; then + echo "failed to get_peer_count! node id: ${id} expected count: ${expected_count}" + return 1 + fi + + now=$(date +%s) + if [ $((peer_count)) -eq $((expected_count)) ]; then + echo "$((now-start))" + return 0 + fi + if [ $((now-start)) -gt ${timeout} ] ; then + echo "time used: $((now-start)) get peer count: ${peer_count} expected count: ${expected_count}" + return 1 + fi + sleep 1 + done + return 1 +} + check_height_growth_normal () { if [ $# -ne 2 ] ; then echo "usage: $0 id timeout" From 2975650a99ae87f11398b69ae7a361d91fbe3e8c Mon Sep 17 00:00:00 2001 From: leeyr Date: Fri, 19 Apr 2019 14:23:55 +0800 Subject: [PATCH 83/96] Fix: refuse connect when reach max connections. [skip travis] --- cita-network/src/node_manager.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/cita-network/src/node_manager.rs b/cita-network/src/node_manager.rs index 8ebb4e40e..1b914397d 100644 --- a/cita-network/src/node_manager.rs +++ b/cita-network/src/node_manager.rs @@ -734,6 +734,18 @@ impl PendingConnectedNodeReq { } pub fn handle(self, service: &mut NodesManager) { + if service.connected_addrs.len() >= service.max_connects { + // Has reach to max connects, refuse this connection + info!( + "[NodeManager] Has reach to max connections [{:?}], refuse Session [{:?}], address: {:?}", + service.max_connects, self.session_id, self.addr + ); + if let Some(ref mut ctrl) = service.service_ctrl { + let _ = ctrl.disconnect(self.session_id); + } + return; + } + info!( "[NodeManager] Session [{:?}], address: {:?} pending to add to Connected_addrs.", self.session_id, self.addr From 9a07fb1685a6cb0bf890c287e182f28ffbe21c46 Mon Sep 17 00:00:00 2001 From: leeyr Date: Fri, 19 Apr 2019 15:46:00 +0800 Subject: [PATCH 84/96] Add testcase for this issue. [skip travis] --- cita-network/src/node_manager.rs | 4 +-- tests/integrate_test/cita_discovery.sh | 19 ++++++++++---- tests/integrate_test/util.sh | 36 ++++++++++++++++++++++++++ 3 files changed, 52 insertions(+), 7 deletions(-) diff --git a/cita-network/src/node_manager.rs b/cita-network/src/node_manager.rs index 1b914397d..1871a5d12 100644 --- a/cita-network/src/node_manager.rs +++ b/cita-network/src/node_manager.rs @@ -735,9 +735,9 @@ impl PendingConnectedNodeReq { pub fn handle(self, service: &mut NodesManager) { if service.connected_addrs.len() >= service.max_connects { - // Has reach to max connects, refuse this connection + // Has reached to max connects, refuse this connection info!( - "[NodeManager] Has reach to max connections [{:?}], refuse Session [{:?}], address: {:?}", + "[NodeManager] Has reached to max connects [{:?}], refuse Session [{:?}], address: {:?}", service.max_connects, self.session_id, self.addr ); if let Some(ref mut ctrl) = service.service_ctrl { diff --git a/tests/integrate_test/cita_discovery.sh b/tests/integrate_test/cita_discovery.sh index a75f6642a..6ce4a4cda 100755 --- a/tests/integrate_test/cita_discovery.sh +++ b/tests/integrate_test/cita_discovery.sh @@ -107,7 +107,8 @@ test_parallel_entry() { # check every node's peer count reach to 7 for i in {0..7} ; do - timeout=$(check_peer_count $i 7 120)||(echo "FAILED" + # needs more time for 8 nodes discovery each other. + timeout=$(check_peer_count $i 7 180)||(echo "FAILED" echo "error msg: ${timeout}" exit 1) done @@ -270,6 +271,13 @@ test_max_connected_limit_as_client() { bin/cita bebop start node/$i > /dev/null done + # make sure that node[0..3] has been connected each other + for i in {0..3} ; do + timeout=$(check_peer_count $i 3 90)||(echo "FAILED" + echo "error msg: ${timeout}" + exit 1) + done + # start node4 bin/cita bebop start node/4 > /dev/null @@ -315,12 +323,13 @@ test_max_connected_limit_as_server() { bin/cita bebop start node/$i > /dev/null done - # node[0..3]'s peer count is 2 + # node[0..3]'s peer count cannot grater than 2, + # but some nodes may less than 2. for i in {0..3} ; do # it is necessary to wait for a few seconds for each check sleep 3 - timeout=$(check_peer_count $i 2 90)||(echo "FAILED" + timeout=$(check_peer_count_max $i 2 90)||(echo "FAILED" echo "error msg: ${timeout}" exit 1) done @@ -391,8 +400,8 @@ main() { test_entry_and_known_node_restart test_repeated_address -# test_max_connected_limit_as_client -# test_max_connected_limit_as_server + test_max_connected_limit_as_client + test_max_connected_limit_as_server echo -n "5) cleanup ... " clean_host diff --git a/tests/integrate_test/util.sh b/tests/integrate_test/util.sh index 665f7420d..644206568 100644 --- a/tests/integrate_test/util.sh +++ b/tests/integrate_test/util.sh @@ -153,6 +153,42 @@ check_peer_count () { return 1 } +# output information about time used if exit 0 +check_peer_count_max () { + if [ $# -ne 3 ] ; then + echo "usage: $0 node_id expected_count timeout" + return 1 + fi + id=$1 + max_count=$2 + timeout=$3 # seconds + + if [[ $? -ne 0 ]]; then + echo "failed to get_height(old): ${old}" + return 1 + fi + start=$(date +%s) + while [ 1 ] ; do + peer_count=$(get_peer_count ${id}) + if [[ $? -ne 0 ]] ; then + echo "failed to get_peer_count! node id: ${id} expected count: ${expected_count}" + return 1 + fi + + now=$(date +%s) + if [ $((peer_count)) -le $((max_count)) ]; then + echo "$((now-start))" + return 0 + fi + if [ $((now-start)) -gt ${timeout} ] ; then + echo "time used: $((now-start)) get peer count: ${peer_count} expected count: ${expected_count}" + return 1 + fi + sleep 1 + done + return 1 +} + check_height_growth_normal () { if [ $# -ne 2 ] ; then echo "usage: $0 id timeout" From 07aaadf5a39f9aa57581c7f7bccb049d434cca19 Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Fri, 19 Apr 2019 16:48:50 +0800 Subject: [PATCH 85/96] Fix append of bin/cita. [skip travis] --- scripts/cita | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/scripts/cita b/scripts/cita index 802587e82..7755c1d97 100755 --- a/scripts/cita +++ b/scripts/cita @@ -53,8 +53,8 @@ usage() { cat < [options] where is one of the following: - { help | create | port | setup | start | stop | restart - ping | top | backup | clean | logs | logrotate } + { help | create | append | port | setup | start | stop + restart ping | top | backup | clean | logs | logrotate } Run \`$SCRIPT help\` for more detailed information. EOF } @@ -73,6 +73,10 @@ This is the primary script for controlling the $SCRIPT node. Creates blockchains according to the following config, use "cita create -h" to get more information. "cita-config" has the same function. + append + Append a node into an existed chain, + use "cita append -h" to get more information. + "cita-config" has the same function. port Sets docker port, for example: "cita port 1337:1337" SERVICE CONTROL COMMANDS @@ -127,6 +131,9 @@ create() { $CITA_SCRIPTS/create_cita_config.py $@ } +append() { + $CITA_SCRIPTS/create_cita_config.py $@ +} # SERVICE CONTROL COMMANDS start_rabbitmq() { @@ -381,6 +388,11 @@ case "${COMMAND}" in exit 0 ;; + append) + append $@ + exit 0 + ;; + esac if [ $# -lt 2 ]; then From f88fcc44584c3e410eef482c0e65adf769061652 Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Sat, 13 Apr 2019 15:43:33 +0800 Subject: [PATCH 86/96] Update Rust toolchain to `1.34.0`. --- .circleci/config.yml | 2 +- .travis.yml | 2 +- Cargo.lock | 62 +++++++++---------- cita-auth/src/block_txn.rs | 4 +- cita-auth/src/dispatcher.rs | 6 +- cita-chain/core/src/libchain/chain.rs | 2 +- cita-chain/core/src/snapshot/service.rs | 2 +- cita-chain/src/forward.rs | 2 +- cita-chain/types/src/block.rs | 7 ++- cita-chain/types/src/receipt.rs | 2 +- .../core/src/contracts/tools/decode.rs | 12 ++-- cita-executor/core/src/libexecutor/command.rs | 2 +- .../core/src/libexecutor/lru_cache.rs | 7 ++- cita-executor/core/src/pod_account.rs | 10 +-- cita-executor/core/src/snapshot/service.rs | 2 +- cita-executor/core/src/state/account.rs | 11 ++-- cita-executor/core/src/state/mod.rs | 2 +- cita-executor/core/src/state_db.rs | 2 +- env.sh | 11 ++-- 19 files changed, 76 insertions(+), 74 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index bb5d7ad84..f41ab001e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -107,7 +107,7 @@ alias: - &job-default docker: - - image: cita/cita-build:ubuntu-18.04-20190304 + - image: cita/cita-build:ubuntu-18.04-20190413 working_directory: ~/cita-build resource_class: xlarge diff --git a/.travis.yml b/.travis.yml index d8a45ea37..c804ade99 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,7 +14,7 @@ stages: - Release - IntegrateTest before_install: - - docker pull cita/cita-build:ubuntu-18.04-20190304 + - docker pull cita/cita-build:ubuntu-18.04-20190413 jobs: include: diff --git a/Cargo.lock b/Cargo.lock index eb2a93f01..32617c9fd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -125,7 +125,7 @@ dependencies = [ [[package]] name = "authority_manage" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -255,7 +255,7 @@ dependencies = [ [[package]] name = "blake2b" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "cc 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -518,7 +518,7 @@ dependencies = [ [[package]] name = "cita-crypto" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "cita-crypto-trait 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-ed25519 0.6.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -529,7 +529,7 @@ dependencies = [ [[package]] name = "cita-crypto-trait" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", ] @@ -537,7 +537,7 @@ dependencies = [ [[package]] name = "cita-directories" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "uuid 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -545,7 +545,7 @@ dependencies = [ [[package]] name = "cita-ed25519" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-crypto-trait 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -640,7 +640,7 @@ dependencies = [ [[package]] name = "cita-merklehash" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "hashable 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -699,7 +699,7 @@ dependencies = [ [[package]] name = "cita-secp256k1" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-crypto-trait 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -716,7 +716,7 @@ dependencies = [ [[package]] name = "cita-sm2" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "cita-crypto-trait 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -730,7 +730,7 @@ dependencies = [ [[package]] name = "cita-types" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "ethereum-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "plain_hasher 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1131,7 +1131,7 @@ dependencies = [ [[package]] name = "db" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "elastic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1206,7 +1206,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "engine" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "cita-crypto 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1269,7 +1269,7 @@ dependencies = [ [[package]] name = "error" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" [[package]] name = "error-chain" @@ -1330,7 +1330,7 @@ dependencies = [ [[package]] name = "ethcore-bloom-journal" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "siphasher 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1583,7 +1583,7 @@ dependencies = [ [[package]] name = "hashable" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "blake2b 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1767,7 +1767,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "jsonrpc-proto" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1784,7 +1784,7 @@ dependencies = [ [[package]] name = "jsonrpc-types" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -1798,7 +1798,7 @@ dependencies = [ [[package]] name = "jsonrpc-types-internals" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1880,7 +1880,7 @@ dependencies = [ [[package]] name = "libproto" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "cita-crypto 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-merklehash 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2036,7 +2036,7 @@ dependencies = [ [[package]] name = "logger" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-channel 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2386,7 +2386,7 @@ dependencies = [ [[package]] name = "panic_hook" version = "0.0.1" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "logger 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2525,7 +2525,7 @@ dependencies = [ [[package]] name = "proof" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-crypto 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2553,7 +2553,7 @@ dependencies = [ [[package]] name = "pubsub" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "dotenv 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "pubsub_kafka 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2564,7 +2564,7 @@ dependencies = [ [[package]] name = "pubsub_kafka" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2576,7 +2576,7 @@ dependencies = [ [[package]] name = "pubsub_rabbitmq" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "amqp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2585,7 +2585,7 @@ dependencies = [ [[package]] name = "pubsub_zeromq" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "logger 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2920,7 +2920,7 @@ dependencies = [ [[package]] name = "rlp" version = "0.2.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -2932,7 +2932,7 @@ dependencies = [ [[package]] name = "rlp_derive" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", "syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3137,7 +3137,7 @@ dependencies = [ [[package]] name = "snappy" version = "0.1.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "libc 0.2.46 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3819,7 +3819,7 @@ dependencies = [ [[package]] name = "tx_pool" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "cita-crypto 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", @@ -3961,7 +3961,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "util" version = "0.6.0" -source = "git+https://github.com/cryptape/cita-common.git?branch=develop#cde49e70ca5c0ee6090c09edc607039a05779f86" +source = "git+https://github.com/cryptape/cita-common.git?branch=develop#3ec4e19ca77563c261ba36bc179cac484901bea0" dependencies = [ "ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "cita-types 0.1.0 (git+https://github.com/cryptape/cita-common.git?branch=develop)", diff --git a/cita-auth/src/block_txn.rs b/cita-auth/src/block_txn.rs index 7665509e4..7ed6c85e4 100644 --- a/cita-auth/src/block_txn.rs +++ b/cita-auth/src/block_txn.rs @@ -132,11 +132,11 @@ impl BlockTxnMessage { }) .collect(); - if results.iter().any(|result| result.is_none()) { + if results.iter().any(Option::is_none) { return Err(Error::BadTxSignature); }; - Ok(results.into_iter().map(|x| x.unwrap()).collect()) + Ok(results.into_iter().map(Option::unwrap).collect()) } } diff --git a/cita-auth/src/dispatcher.rs b/cita-auth/src/dispatcher.rs index 96374f023..fcbc2acf6 100644 --- a/cita-auth/src/dispatcher.rs +++ b/cita-auth/src/dispatcher.rs @@ -153,11 +153,7 @@ impl Dispatcher { pub fn get_txs(&self, ids: &[H256]) -> Vec { let pool = self.txs_pool.borrow(); - ids.iter() - .map(|id| pool.get(id).cloned()) - .filter(|tx| tx.is_some()) - .map(|tx| tx.unwrap()) - .collect() + ids.iter().filter_map(|id| pool.get(id).cloned()).collect() } pub fn check_missing(&self, ids: Vec) -> Vec { diff --git a/cita-chain/core/src/libchain/chain.rs b/cita-chain/core/src/libchain/chain.rs index 46ce19a65..e023f0687 100644 --- a/cita-chain/core/src/libchain/chain.rs +++ b/cita-chain/core/src/libchain/chain.rs @@ -1124,7 +1124,7 @@ impl Chain { receipts.len(), hashes.len() ); - assert!(false); + unreachable!(); } log_index = receipts .iter() diff --git a/cita-chain/core/src/snapshot/service.rs b/cita-chain/core/src/snapshot/service.rs index 6cf52d0c3..e422238b0 100644 --- a/cita-chain/core/src/snapshot/service.rs +++ b/cita-chain/core/src/snapshot/service.rs @@ -378,7 +378,7 @@ impl Service { let recover = rest.as_ref().map_or(false, |rest| rest.writer.is_some()); // destroy the restoration before replacing databases and snapshot. - rest.take().map(|r| r.finalize()).unwrap_or(Ok(()))?; + rest.take().map(Restoration::finalize).unwrap_or(Ok(()))?; self.replace_client_db()?; diff --git a/cita-chain/src/forward.rs b/cita-chain/src/forward.rs index 4b9ca5660..945eefb9b 100644 --- a/cita-chain/src/forward.rs +++ b/cita-chain/src/forward.rs @@ -238,7 +238,7 @@ impl Forward { }) { let filter: Filter = rpc_filter.into(); let logs = self.chain.get_logs(&filter); - let rpc_logs: Vec = logs.into_iter().map(|x| x.into()).collect(); + let rpc_logs: Vec = logs.into_iter().map(Into::into).collect(); response.set_logs(serde_json::to_string(&rpc_logs).unwrap()); }; } diff --git a/cita-chain/types/src/block.rs b/cita-chain/types/src/block.rs index 4bd7fd084..7a32a955b 100644 --- a/cita-chain/types/src/block.rs +++ b/cita-chain/types/src/block.rs @@ -193,8 +193,11 @@ impl BlockBody { pub fn protobuf(&self) -> ProtoBlockBody { let mut body = ProtoBlockBody::new(); - let txs: Vec = - self.transactions.iter().map(|t| t.protobuf()).collect(); + let txs: Vec = self + .transactions + .iter() + .map(SignedTransaction::protobuf) + .collect(); body.set_transactions(txs.into()); body } diff --git a/cita-chain/types/src/receipt.rs b/cita-chain/types/src/receipt.rs index 99d74bc2b..cfbd7a152 100644 --- a/cita-chain/types/src/receipt.rs +++ b/cita-chain/types/src/receipt.rs @@ -377,7 +377,7 @@ impl Into for LocalizedReceipt { logs: self.logs.into_iter().map(Into::into).collect(), state_root: self.state_root.map(Into::into), logs_bloom: self.log_bloom, - error_message: self.error.map(|error| error.description()), + error_message: self.error.map(ReceiptError::description), } } } diff --git a/cita-executor/core/src/contracts/tools/decode.rs b/cita-executor/core/src/contracts/tools/decode.rs index c3c41aadd..c45fed7e3 100644 --- a/cita-executor/core/src/contracts/tools/decode.rs +++ b/cita-executor/core/src/contracts/tools/decode.rs @@ -17,7 +17,7 @@ use cita_types::{Address, H256, U256}; use contracts::solc::permission_management::Resource; -use ethabi::{decode, ParamType}; +use ethabi::{decode, ParamType, Token}; /// Parse solidity return data `address[]` to rust `Vec
` pub fn to_address_vec(output: &[u8]) -> Option> { @@ -27,7 +27,7 @@ pub fn to_address_vec(output: &[u8]) -> Option> { decode(&[ParamType::Array(Box::new(ParamType::Address))], output) .ok() .and_then(|decoded| decoded.first().cloned()) - .and_then(|decoded| decoded.to_array()) + .and_then(Token::to_array) .and_then(|addrs| { let mut v = Vec::new(); for x in addrs { @@ -50,7 +50,7 @@ pub fn to_u256_vec(output: &[u8]) -> Option> { decode(&[ParamType::Array(Box::new(ParamType::Uint(256)))], output) .ok() .and_then(|decoded| decoded.first().cloned()) - .and_then(|decoded| decoded.to_array()) + .and_then(Token::to_array) .and_then(|uints| { let mut v = Vec::new(); for x in uints { @@ -68,12 +68,12 @@ pub fn to_u256_vec(output: &[u8]) -> Option> { /// Parse solidity return data `uint256[]` to rust `Vec` pub fn to_u64_vec(output: &[u8]) -> Option> { - to_u256_vec(output).map(|x| x.iter().map(|i| i.low_u64()).collect()) + to_u256_vec(output).map(|x| x.iter().map(U256::low_u64).collect()) } /// Parse solidity return data `uint256[]` to rust `Vec` pub fn to_u32_vec(output: &[u8]) -> Option> { - to_u256_vec(output).map(|x| x.iter().map(|i| i.low_u32()).collect()) + to_u256_vec(output).map(|x| x.iter().map(U256::low_u32).collect()) } /// Parse solidity return data `uint256` to rust `U256` @@ -81,7 +81,7 @@ pub fn to_u256(output: &[u8]) -> Option { decode(&[ParamType::Uint(256)], output) .ok() .and_then(|decoded| decoded.first().cloned()) - .and_then(|decoded| decoded.to_uint()) + .and_then(Token::to_uint) .map(H256::from) .map(U256::from) } diff --git a/cita-executor/core/src/libexecutor/command.rs b/cita-executor/core/src/libexecutor/command.rs index 8118b1264..3d35e13c0 100644 --- a/cita-executor/core/src/libexecutor/command.rs +++ b/cita-executor/core/src/libexecutor/command.rs @@ -378,7 +378,7 @@ impl Commander for Executor { .shuffled_stake_nodes(block_id) .map(|validators| { metadata.validators = - validators.into_iter().map(|x| x.into()).collect::>() + validators.into_iter().map(Into::into).collect::>() }) .ok_or_else(|| "Query validators failed".to_owned())?; sys_config diff --git a/cita-executor/core/src/libexecutor/lru_cache.rs b/cita-executor/core/src/libexecutor/lru_cache.rs index 17a94755e..29250f6f4 100644 --- a/cita-executor/core/src/libexecutor/lru_cache.rs +++ b/cita-executor/core/src/libexecutor/lru_cache.rs @@ -15,6 +15,7 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . +use std::borrow::ToOwned; use std::collections::{btree_map::Keys, btree_map::Values, BTreeMap, HashSet}; /// This structure is used to perform lru based on block height @@ -73,13 +74,13 @@ where *values = values .iter() .filter(|ref value| !value_list.contains(&value)) - .map(|value| value.to_owned()) + .map(ToOwned::to_owned) .collect::>(); }); if self .cache_by_key .get(key) - .map(|x| x.is_empty()) + .map(Vec::is_empty) .unwrap_or(false) { self.cache_by_key.remove(key); @@ -101,7 +102,7 @@ where Some(ref key) if key == &k => true, None | Some(_) => false, }) - .map(|value| value.to_owned()) + .map(ToOwned::to_owned) .collect(); v.iter().for_each(|value| { diff --git a/cita-executor/core/src/pod_account.rs b/cita-executor/core/src/pod_account.rs index b2fa6e660..f91e4a557 100644 --- a/cita-executor/core/src/pod_account.rs +++ b/cita-executor/core/src/pod_account.rs @@ -106,12 +106,14 @@ impl fmt::Display for PodAccount { "(bal={}; nonce={}; code={} bytes, #{}; abi={} bytes, #{}; storage={} items)", self.balance, self.nonce, - self.code.as_ref().map_or(0, |c| c.len()), + self.code.as_ref().map_or(0, Vec::len), self.code .as_ref() - .map_or_else(H256::new, |c| c.crypt_hash()), - self.abi.as_ref().map_or(0, |c| c.len()), - self.abi.as_ref().map_or_else(H256::new, |c| c.crypt_hash()), + .map_or_else(H256::new, Hashable::crypt_hash), + self.abi.as_ref().map_or(0, Vec::len), + self.abi + .as_ref() + .map_or_else(H256::new, Hashable::crypt_hash), self.storage.len(), ) } diff --git a/cita-executor/core/src/snapshot/service.rs b/cita-executor/core/src/snapshot/service.rs index 43ab2291a..c1925ea89 100644 --- a/cita-executor/core/src/snapshot/service.rs +++ b/cita-executor/core/src/snapshot/service.rs @@ -363,7 +363,7 @@ impl Service { trace!("finalizing restoration"); // destroy the restoration before replacing databases and snapshot. - rest.take().map(|r| r.finalize()).unwrap_or(Ok(()))?; + rest.take().map(Restoration::finalize).unwrap_or(Ok(()))?; *self.status.lock() = RestorationStatus::Inactive; Ok(()) diff --git a/cita-executor/core/src/state/account.rs b/cita-executor/core/src/state/account.rs index 9823d4fbf..d2a6fc7b3 100644 --- a/cita-executor/core/src/state/account.rs +++ b/cita-executor/core/src/state/account.rs @@ -28,6 +28,7 @@ use pod_account::*; use rlp::*; use std::cell::{Cell, RefCell}; use std::collections::HashMap; +use std::convert::Into; use std::fmt; use std::sync::Arc; use types::basic_account::BasicAccount; @@ -132,9 +133,9 @@ impl Account { storage_root: HASH_NULL_RLP, storage_cache: Self::empty_storage_cache(), storage_changes: pod.storage.into_iter().collect(), - code_hash: pod.code.as_ref().map_or(HASH_EMPTY, |c| c.crypt_hash()), + code_hash: pod.code.as_ref().map_or(HASH_EMPTY, Hashable::crypt_hash), code_filth: Filth::Dirty, - code_size: Some(pod.code.as_ref().map_or(0, |c| c.len())), + code_size: Some(pod.code.as_ref().map_or(0, Vec::len)), code_cache: Arc::new(pod.code.map_or_else( || { warn!("POD account with unknown code is being created! Assuming no code."); @@ -142,9 +143,9 @@ impl Account { }, |c| c, )), - abi_hash: pod.abi.as_ref().map_or(HASH_EMPTY, |c| c.crypt_hash()), + abi_hash: pod.abi.as_ref().map_or(HASH_EMPTY, Hashable::crypt_hash), abi_filth: Filth::Dirty, - abi_size: Some(pod.abi.as_ref().map_or(0, |c| c.len())), + abi_size: Some(pod.abi.as_ref().map_or(0, Vec::len)), abi_cache: Arc::new(pod.abi.map_or_else( || { warn!("POD account with unknown ABI is being created! Assuming no abi."); @@ -271,7 +272,7 @@ impl Account { /// Verify value proof of the trie's storage at `key`. pub fn verify_value_proof(&self, key: &H256, proof: &[Bytes]) -> Option { trie::triedb::verify_value_proof(key, self.storage_root, proof, ::rlp::decode) - .map(|v: U256| v.into()) + .map(&Into::into as &Fn(U256) -> H256) } /// Get cached storage value if any. Returns `None` if the diff --git a/cita-executor/core/src/state/mod.rs b/cita-executor/core/src/state/mod.rs index 85c1b5316..76df4eecd 100644 --- a/cita-executor/core/src/state/mod.rs +++ b/cita-executor/core/src/state/mod.rs @@ -103,7 +103,7 @@ impl AccountEntry { } fn exists_and_is_null(&self) -> bool { - self.account.as_ref().map_or(false, |a| a.is_null()) + self.account.as_ref().map_or(false, Account::is_null) } /// Clone dirty data into new `AccountEntry`. This includes diff --git a/cita-executor/core/src/state_db.rs b/cita-executor/core/src/state_db.rs index 783a8871b..0f272ac7a 100644 --- a/cita-executor/core/src/state_db.rs +++ b/cita-executor/core/src/state_db.rs @@ -324,7 +324,7 @@ impl Backend for StateDB { cache .accounts .get_mut(addr) - .and_then(|a| a.as_ref().map(|a| a.clone_basic())) + .and_then(|a| a.as_ref().map(Account::clone_basic)) } fn get_cached(&self, a: &Address, f: F) -> Option diff --git a/env.sh b/env.sh index 85615f60a..21906444c 100755 --- a/env.sh +++ b/env.sh @@ -11,13 +11,12 @@ else SOURCE_DIR="$(dirname "$(readlink -f "$0")")" fi -# Source Directory if test -f "${SOURCE_DIR}/Cargo.toml"; then readonly CONTAINER_NAME='cita_build_container' - readonly DOCKER_IMAGE='cita/cita-build:ubuntu-18.04-20190304' + readonly DOCKER_IMAGE='cita/cita-build:ubuntu-18.04-20190413' else readonly CONTAINER_NAME='cita_run_container' - readonly DOCKER_IMAGE='cita/cita-run:ubuntu-18.04-20181009' + readonly DOCKER_IMAGE='cita/cita-run:ubuntu-18.04-20190419' readonly SOURCE_DIR="$(dirname "$SOURCE_DIR")" fi @@ -77,10 +76,10 @@ if [[ "$3" == '--daemon' ]]; then # ATTENTION: # (docker commands) (parameters) /bin/bash -c (full-string docker arguments || sepreate them on by one) # `bin/bash -c` is local commands. - docker exec -d "${CONTAINER_NAME}" /bin/bash -c "/usr/bin/gosu ${USER_NAME} ${*} >/dev/null 2>&1" + docker exec -d "${CONTAINER_NAME}" /bin/bash -c "/usr/sbin/gosu ${USER_NAME} ${*} >/dev/null 2>&1" elif [[ $# -gt 0 ]]; then - docker exec -i "${USE_TTY}" "${CONTAINER_NAME}" /bin/bash -c "/usr/bin/gosu ${USER_NAME} ${*}" + docker exec -i "${USE_TTY}" "${CONTAINER_NAME}" /bin/bash -c "/usr/sbin/gosu ${USER_NAME} ${*}" else docker exec -i ${USE_TTY} ${CONTAINER_NAME} \ - /bin/bash -c "stty cols $(tput cols) rows $(tput lines) && /usr/bin/gosu ${USER_NAME} /bin/bash" + /bin/bash -c "stty cols $(tput cols) rows $(tput lines) && /usr/sbin/gosu ${USER_NAME} /bin/bash" fi From 0dcf2cebcdc9c22592462a50982b76eb76e89a76 Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Thu, 11 Apr 2019 21:20:34 +0800 Subject: [PATCH 87/96] :scroll: Update changelog. [skip ci] --- CHANGELOG.md | 150 +++++++++++++++++++++++++++++++++++---------------- 1 file changed, 105 insertions(+), 45 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cf930ce1c..30551176d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,59 @@ All notable changes to this project will be documented in this file. And this pr ## [Unreleased] +### Framework + +- [Optimization] Update default rust toolchain to `v1.34.0`. [@yangby-cryptape] [@kaikai1024] +- [Optimization] Update cita-sdk-js version. [@kaikai1024] +- [Fix] Reorganize toml path. [@ouwenkg] +- [Feature] Log output mode can be configured as stdout or file. [@Kayryu] + +### Executor + +- [Optimization] Integrate vm-test. [@ouwenkg] +- [Optimization] Add unit test of calling contract. [@kaikai1024] + +### Auth + +- [Fix] Auth crashes when it is not ready. [@leeyr338] + +### Network + +- [Fix] High CPU usage. [@leeyr338] +- [Fix] Refuse connect when reach max connections. [@leeyr338] +- [Optimization] Add discovery test of network. [@leeyr338] +- [Optimization] Use new version `p2p` to fix network run crash. [@jerry-yu] + +### Consensus + +- [Optimization] Set the default ntp service to false. [@kaikai1024] +- [Fix] Not generate block. [@jerry-yu] + +### RPC + +- [Feature] Add `getVersion` interface. [@luqz] +- [Feature] Add `peersInfo` interface. [@leeyr338] + +### Scripts + +- [Optimization] Installation && Exectution Optimization: new usage of cita script. [@clearloop] +- [Fix] Redirect the stdout and stderr for daemon processes in docker. [@yangby-cryptape] +- [Optimization] Patch to absolute paths' in starting scripts. [@clearloop] +- [Optimization] Format the `env.sh` using `ShellCheck`. [@clearloop] + +### Doc + +- [Doc] Add style guide of codes. [@kaikai1024] +- [Doc] Add all contributors. [@kaikai1024] +- [Doc] Add more template types of issue and pull request. [@kaikai1024] +- [Doc] Add editorconfig file. [@kaikai1024] +- [Doc] Add release guide doc. [@kaikai1024] +- [Doc] Fix 404 error of `CITAHub` Docs. [@zhouyun-zoe] [@Keith-CY] +- [Doc] Add roadmap and fix contributing docs of `CITAHub`. [@zhouyun-zoe] +- [Doc] Update the description of BlockTag. [@xiangmeiLu] +- [Doc] Fix protocol upgrade doc. [@QingYanL] +- [Doc] Set default website with zh-CN language. [@wuyuyue] + ## [v0.22.0] - 2019-03-29 ### Upgrade Note @@ -46,20 +99,20 @@ But in v0.22.0, the item `[[peers]]` means `known nodes` in the network, you can ### Framework -- [Optimization] Replace std channel with crossbeam channel. [@kaikai] [@Yaorong] +- [Optimization] Replace std channel with crossbeam channel. [@kaikai1024] [@leeyr338] - [Optimization] Reconfigure the parameters of rocksdb, and this can greatly reduce the `.sst` files in the database. [@jerry-yu] ### Executor -- [Fix] Executor crashes when receives staled BlockWithProof. [@WPF] [@keroro520] +- [Fix] Executor crashes when receives staled BlockWithProof. [@ouwenkg] [@keroro520] ### Auth -- [Fix] Auth crashes when it is not ready. [@Yaorong] +- [Fix] Auth crashes when it is not ready. [@leeyr338] ### Network -- [Feature] The network service is refactored by using the p2p protocol. [@Yaorong] +- [Feature] The network service is refactored by using the p2p protocol. [@leeyr338] ### Consensus @@ -67,13 +120,13 @@ But in v0.22.0, the item `[[peers]]` means `known nodes` in the network, you can ### RPC -- [Optimization] Update test token info. [@kaikai] -- [Feature] Add `from` to `body` of `getBlockByNumber` and `getBlockByHash`. [@CL] -- [Fix] Fix the missing CORS header. [@yangby] +- [Optimization] Update test token info. [@kaikai1024] +- [Feature] Add `from` to `body` of `getBlockByNumber` and `getBlockByHash`. [@classicalliu] +- [Fix] Fix the missing CORS header. [@yangby-cryptape] ### Scripts -- [Optimization] Format Python codes. [@WPF] +- [Optimization] Format Python codes. [@ouwenkg] ### Doc @@ -146,34 +199,34 @@ After completing the above modifications, following [Upgrade Instructions]. ### CITA-Framework -- [Optimization] Upgrade default rust toolchain to stable. [@yangby] -- [Optimization] Remove useless dependencies. [@yangby] -- [Optimization] Compact block Relay. [@u2] [@yangby] +- [Optimization] Upgrade default rust toolchain to stable. [@yangby-cryptape] +- [Optimization] Remove useless dependencies. [@yangby-cryptape] +- [Optimization] Compact block Relay. [@u2] [@yangby-cryptape] ### Executor -- [Feature] Automatic execution. [@kaikai] -- [Optimization] Enable changing size of global cache in StateDB. [@lhf] -- [Refactor] Decouple executor and postman [@keroro520] [@WPF] +- [Feature] Automatic execution. [@kaikai1024] +- [Optimization] Enable changing size of global cache in StateDB. [@EighteenZi] +- [Refactor] Decouple executor and postman [@keroro520] [@ouwenkg] - [Configuration] Deprecate `--genesis` command option, instead place into `executor.toml`. [@keroro520] -- [Configuration] Add argument about timestamp uint in `executor.toml` to compatibility with Ethereum.[@zhiwei] -- [Optimization] Change state db type to ensure safe reference. [@WPF] -- [Optimization] Remove unused code in state db. [@WPF] -- [Optimization] Add more tests in executor and postman. [@WPF] +- [Configuration] Add argument about timestamp uint in `executor.toml` to compatibility with Ethereum.[@rink1969] +- [Optimization] Change state db type to ensure safe reference. [@ouwenkg] +- [Optimization] Remove unused code in state db. [@ouwenkg] +- [Optimization] Add more tests in executor and postman. [@ouwenkg] - [Optimization] Add block priority in postman. [@keroro520] -- [Refactor] Decouple global sysconfig from transactionOptions. [@kaikai] +- [Refactor] Decouple global sysconfig from transactionOptions. [@kaikai1024] - [Optimization] Deprecate some dangerous clone usage in block and state. [@keroro520] -- [Optimization] Remove cached latest hashes. [@zhiwei] -- [Fix] Fix problem in zk privacy. [@zhiwei] +- [Optimization] Remove cached latest hashes. [@rink1969] +- [Fix] Fix problem in zk privacy. [@rink1969] - [Fix] Fix defects in snapshot. [@keroro520] ### Chain -- [Optimization] Rename crypto enum. [@zhiwei] +- [Optimization] Rename crypto enum. [@rink1969] ### Auth -- [Optimization] Introduce quick check for history heights. [@zhiwei] +- [Optimization] Introduce quick check for history heights. [@rink1969] ### Network @@ -187,45 +240,45 @@ After completing the above modifications, following [Upgrade Instructions]. ### RPC -- [Fix] The 'chainIdV1' in the response of getMetaData is hex string, so it should have 0x-prefix. [@yangby] +- [Fix] The 'chainIdV1' in the response of getMetaData is hex string, so it should have 0x-prefix. [@yangby-cryptape] - [Optimization] Split libproto operations from Jsonrpc. [@zeroqn] - [Feature] Add `from` field in `Gettransaction` rpc interface. [@zeroqn] - [Optimization] Upgrade hyper version and split `Service` and `Server`. [@zeroqn] -- [Fix] Fix `getFilterChanges` interface, the hash array returned in the case of a block filter starts from the next block. [@WPF] +- [Fix] Fix `getFilterChanges` interface, the hash array returned in the case of a block filter starts from the next block. [@ouwenkg] ### System Contract -- [Feature] Change default quotaPrice to 1000000. [@WPF] -- [Optimization] Take interfaces and test contracts out as a dependent submodule. [@kaikai] +- [Feature] Change default quotaPrice to 1000000. [@ouwenkg] +- [Optimization] Take interfaces and test contracts out as a dependent submodule. [@kaikai1024] ### Scripts -- [Feature] Store their own address for each node. [@yangby] -- [Configuration] Rename checkPermission to checkCallPermission. [@kaikai] -- [Feature] Check the maximum number of consensus nodes. [@zhiwei] +- [Feature] Store their own address for each node. [@yangby-cryptape] +- [Configuration] Rename checkPermission to checkCallPermission. [@kaikai1024] +- [Feature] Check the maximum number of consensus nodes. [@rink1969] - [Configuration] Optimize usage of backup and clean command. [@keroro520] -- [Optimization] Add exit info about creating genesis. [@kaikai] -- [Feature] Support start 4 nodes in docker compose. [@zhiwei] +- [Optimization] Add exit info about creating genesis. [@kaikai1024] +- [Feature] Support start 4 nodes in docker compose. [@rink1969] ### Test - [Optimization] Split large ci jobs. [@u2] -- [Optimization] Add test about amend operation. [@zhiwei] -- [Optimization] Add test to ensure genesis compatibility. [@kaikai] +- [Optimization] Add test about amend operation. [@rink1969] +- [Optimization] Add test to ensure genesis compatibility. [@kaikai1024] - [Optimization] Add test about snapshot. [@keroro520] ### Doc -- [Doc] Complete the doc of system contract interface. [@kaikai] -- [Doc] Update crypto type and timestamp configuration in executor.toml. [@zhiwei] +- [Doc] Complete the doc of system contract interface. [@kaikai1024] +- [Doc] Update crypto type and timestamp configuration in executor.toml. [@rink1969] - [Doc] More detail statements about cita-bft consensus. [@KaoImin] - [Doc] Update sdk info in readme. [@zhouyun-zoe] -- [Doc] Add node command description. [@WPF] +- [Doc] Add node command description. [@ouwenkg] - [Doc] Build a new [documentation website]. [@zhouyun-zoe] ### Tool -- [Optimization] Split util module into standalone crates. [@yangby] +- [Optimization] Split util module into standalone crates. [@yangby-cryptape] - [Refactor] Combing the snapshot logic and rewrite snapshot_tools. [@keroro520] ## [v0.19.1] - 2019-01-31 @@ -668,18 +721,25 @@ Release the first version of CITA. [v0.10.0]: https://github.com/cryptape/cita/releases/tag/v0.10 [@77liyan]: https://github.com/77liyan -[@CL]: https://github.com/classicalliu +[@EighteenZi]: https://github.com/EighteenZi [@KaoImin]: https://github.com/KaoImin -[@WPF]: https://github.com/ouwenkg -[@Yaorong]: https://github.com/leeyr338 +[@Kayryu]: https://github.com/Kayryu +[@Keith-CY]: https://github.com/Keith-CY +[@QingYanL]: https://github.com/QingYanL +[@classicalliu]: https://github.com/classicalliu +[@clearloop]: https://github.com/clearloop [@driftluo]: https://github.com/driftluo [@jerry-yu]: https://github.com/jerry-yu -[@kaikai]: https://github.com/kaikai1024 +[@kaikai1024]: https://github.com/kaikai1024 [@keroro520]: https://github.com/keroro520 -[@lhf]: https://github.com/EighteenZi +[@leeyr338]: https://github.com/leeyr338 +[@luqz]: https://github.com/luqz +[@ouwenkg]: https://github.com/ouwenkg +[@rink1969]: https://github.com/rink1969 [@u2]: https://github.com/u2 [@wangfh666]: https://github.com/wangfh666 -[@yangby]: https://github.com/yangby-cryptape +[@wuyuyue]: https://github.com/wuyuyue +[@xiangmeiLu]: https://github.com/xiangmeiLu +[@yangby-cryptape]: https://github.com/yangby-cryptape [@zeroqn]: https://github.com/zeroqn -[@zhiwei]: https://github.com/rink1969 [@zhouyun-zoe]: https://github.com/zhouyun-zoe From 07cb6ae94c237c8b13df121f7fdede6386159b84 Mon Sep 17 00:00:00 2001 From: kaikai1024 Date: Mon, 22 Apr 2019 10:40:15 +0800 Subject: [PATCH 88/96] Fix root can not use docker. --- env.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/env.sh b/env.sh index 21906444c..e57d7e985 100755 --- a/env.sh +++ b/env.sh @@ -38,7 +38,7 @@ fi # Docker Arguments USER_ID="$(id -u "$USER")" readonly WORKDIR='/opt/cita' -readonly USER_NAME='user' +USER_NAME='user' cp '/etc/localtime' "${SOURCE_DIR}/localtime" readonly LOCALTIME_PATH="${SOURCE_DIR}/localtime" From 1b62c534f926e90670dc2613d1b250ece2e6cfd9 Mon Sep 17 00:00:00 2001 From: leeyr Date: Mon, 22 Apr 2019 11:05:43 +0800 Subject: [PATCH 89/96] Fix: more time for checking in T006/T016. [skip travis] --- tests/integrate_test/cita_discovery.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integrate_test/cita_discovery.sh b/tests/integrate_test/cita_discovery.sh index 6ce4a4cda..128de9807 100755 --- a/tests/integrate_test/cita_discovery.sh +++ b/tests/integrate_test/cita_discovery.sh @@ -178,7 +178,7 @@ test_entry_before_known_node_start() { # check every node's peer count is 4 for i in {0..4} ; do # needs more time to for checking, because node0 may not have enough score in node4 - timeout=$(check_peer_count $i 4 180)||(echo "FAILED" + timeout=$(check_peer_count $i 4 240)||(echo "FAILED" echo "error msg: ${timeout}" exit 1) done From f7db21aa047450e22e6b55f04260828217443b42 Mon Sep 17 00:00:00 2001 From: leeyr Date: Tue, 23 Apr 2019 14:33:38 +0800 Subject: [PATCH 90/96] Fix: getLogs break down the chain when toBlock very large. [skip travis] --- cita-chain/core/src/libchain/chain.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/cita-chain/core/src/libchain/chain.rs b/cita-chain/core/src/libchain/chain.rs index e023f0687..fc921dade 100644 --- a/cita-chain/core/src/libchain/chain.rs +++ b/cita-chain/core/src/libchain/chain.rs @@ -1187,8 +1187,15 @@ impl Chain { from_block: BlockId, to_block: BlockId, ) -> Option> { - match (self.block_number(from_block), self.block_number(to_block)) { - (Some(from), Some(to)) => Some(self.blocks_with_bloom(bloom, from, to)), + match ( + self.block_number(from_block), + self.block_number(to_block), + self.block_number(BlockId::Pending), + ) { + (Some(from), Some(to), Some(pending)) => { + let end = if to > pending { pending } else { to }; + Some(self.blocks_with_bloom(bloom, from, end)) + } _ => None, } } From effd0f456966cb0ce4f88cbecb89991dbfb9e977 Mon Sep 17 00:00:00 2001 From: ouwenkg <2630582710@qq.com> Date: Tue, 23 Apr 2019 15:04:15 +0800 Subject: [PATCH 91/96] fix panic in snapshot path[skip travis] --- tools/snapshot_tool/src/main.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tools/snapshot_tool/src/main.rs b/tools/snapshot_tool/src/main.rs index efd65a69c..ae1401da6 100644 --- a/tools/snapshot_tool/src/main.rs +++ b/tools/snapshot_tool/src/main.rs @@ -58,9 +58,7 @@ fn main() { .get_matches(); let command = matches.value_of("cmd").expect("provide specific command"); let command = cast_command(command); - let file = matches - .value_of("file") - .expect("provice specific snapshot-file path"); + let file = matches.value_of("file").unwrap_or("snapshot"); let file = file.to_owned(); let start_height = matches.value_of("start_height").unwrap_or("0"); let start_height = cast_height(start_height); From 939745fac753eca809ecc14b7b12a153819d626f Mon Sep 17 00:00:00 2001 From: zhouyun-zoe Date: Tue, 23 Apr 2019 16:50:25 +0800 Subject: [PATCH 92/96] update-cita-slogan[skip ci] --- README-CN.md | 8 ++++---- README.md | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README-CN.md b/README-CN.md index eb28db894..33c251ee7 100644 --- a/README-CN.md +++ b/README-CN.md @@ -8,20 +8,20 @@ ## CITA 是什么? -CITA( Cryptape Inter-enterprise Trust Automation )是一个面向企业级应用的支持智能合约的区块链框架, +CITA( Cryptape Inter-enterprise Trust Automation )是一个面向企业级应用的支持智能合约的高性能区块链内核, 旨在为企业级区块链应用提供一个稳固、高效、灵活、可适应未来的运行平台。CITA 将区块链节点的必要功能解耦为六个微服务:RPC,Auth,Consensus,Chain,Executor,Network。各组件之间通过消息总线交换信息相互协作。通过配置和定制相应的服务,CITA 能够满足企业级用户的全部需要。 - **水平扩展性** 在 CITA 的微服务架构中,“节点”是一个逻辑概念,有可能是一台服务器(一台服务器上面运行一组微服务), 也有可能是一组服务器组成的集群,同时 CITA 还支持部署在云服务器上,充分利用了各种服务器硬件来提升处理能力。 - 节点与节点之间通过P2P通信,节点内部各模块通过消息总线通信,这一点与 Fabric 仅仅在共识模块运用消息总线通信完全不同。 + 节点与节点之间通过 P2P 通信,节点内部各模块通过消息总线通信。 ![](https://github.com/cryptape/citahub-docs/blob/master/docs/assets/cita-assets/architecture.jpg?raw=true) - **组件可插拔** - 松耦合的微服务架构,便于各组件将来平滑迁移至更好的算法(比如新的共识算法)或者更好的技术方案(比如新的DB或者新的隐私方案); + 松耦合的微服务架构,便于各组件将来平滑迁移至更好的算法(比如新的共识算法)或者更好的技术方案(比如新的 DB 或者新的隐私方案); 也有利于针对一些具体的业务场景,定制一些特定的功能。 - **高性能** @@ -34,7 +34,7 @@ CITA( Cryptape Inter-enterprise Trust Automation )是一个面向企业级 - **稳定可靠** CITA 提供快照工具来对区块链的数据进行备份,可在较短时间内恢复链数据。 - 同时,Rust 借鉴了编程语言领域最新的研究成果,针对 C++中最头疼的内存问题(内存泄漏,野指针)进行编译器静态检查。 + 同时,Rust 借鉴了编程语言领域最新的研究成果,针对 C++ 中最头疼的内存问题(内存泄漏,野指针)进行编译器静态检查。 只要代码编译通过,就可以保证没有以上问题,大大提高了应用运行阶段的可靠性。 - **兼容性** diff --git a/README.md b/README.md index 06d71bca3..cdd03cc46 100644 --- a/README.md +++ b/README.md @@ -8,9 +8,9 @@ English | [简体中文](./README-CN.md) ## What is CITA -CITA is a fast and scalable blockchain for enterprises. CITA supports both native contract and EVM contract, by which enterprise users can build their own blockchain applications. CITA has a unique architecture which enables enterprise users to release all their computing resources. +CITA is a fast and scalable blockchain kernel for enterprises. CITA supports both native contract and EVM contract, by which enterprise users can build their own blockchain applications. CITA has a unique architecture which enables enterprise users to release all their computing resources. -- **Horizontal scalability**: With the microservice architecture, a logical node can be easily scaled to a cluster of servers. Node administrators can increase system capacity simply by adding more PC servers on high load. The administrator can even use dedicated servers to provide services for hot-spot accounts. Outside one node's boundary, nodes communicate with each other using P2P network; inside each node, microservices communicate with each other by messaging queue (Note this is completely different from Fabric which uses a messaging queue only as consensus process). +- **Horizontal scalability**: With the microservice architecture, a logical node can be easily scaled to a cluster of servers. Node administrators can increase system capacity simply by adding more PC servers on high load. The administrator can even use dedicated servers to provide services for hot-spot accounts. Outside one node's boundary, nodes communicate with each other using P2P network; inside each node, microservices communicate with each other by messaging queue. ![](https://github.com/cryptape/citahub-docs/blob/master/docs/assets/cita-assets/architecture.jpg?raw=true) From c1ceaccc6b32432224accd48d3e543d33b601759 Mon Sep 17 00:00:00 2001 From: ouwenkg <2630582710@qq.com> Date: Tue, 23 Apr 2019 15:42:29 +0800 Subject: [PATCH 93/96] eliminate warnings[skip travis] --- scripts/config_tool/create_genesis.py | 6 +++--- scripts/config_tool/create_init_data.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/config_tool/create_genesis.py b/scripts/config_tool/create_genesis.py index 0ad10e86b..56ce266fb 100755 --- a/scripts/config_tool/create_genesis.py +++ b/scripts/config_tool/create_genesis.py @@ -120,7 +120,7 @@ def __init__(self, contracts_dir, contracts_docs_dir, init_data_file, def load_contracts_list(self, contracts_list_file): """From file to load the list of contracts.""" with open(contracts_list_file, 'r') as stream: - contracts_list = yaml.load(stream) + contracts_list = yaml.safe_load(stream) contracts_list['NormalContracts'] = dictlist_to_ordereddict( contracts_list['NormalContracts']) contracts_list['PermissionContracts']['basic'] \ @@ -134,7 +134,7 @@ def load_contracts_list(self, contracts_list_file): def load_contracts_args(self, init_data_file): """From file to load arguments for contracts.""" with open(init_data_file, 'r') as stream: - data = yaml.load(stream) + data = yaml.safe_load(stream) contracts_args = dictlist_to_ordereddict(data['Contracts']) for name, arguments in contracts_args.items(): contracts_args[name] = dictlist_to_ordereddict(arguments) @@ -305,7 +305,7 @@ def core(contracts_dir, contracts_docs_dir, init_data_file, output, timestamp, prevhash, ) with open(init_data_file, 'r') as stream: - data = yaml.load(stream) + data = yaml.safe_load(stream) address = data['Contracts'][2]['NodeManager'][0]['nodes'] super_admin = data['Contracts'][6]['Admin'][0]['admin'] address.append(super_admin) diff --git a/scripts/config_tool/create_init_data.py b/scripts/config_tool/create_init_data.py index 2d35eafed..f92c768cc 100755 --- a/scripts/config_tool/create_init_data.py +++ b/scripts/config_tool/create_init_data.py @@ -98,7 +98,7 @@ def __init__(self, contracts_cfgs): @classmethod def load_from_string(cls, cfg): - data = yaml.load(cfg) + data = yaml.safe_load(cfg) contracts_cfgs = dictlist_to_ordereddict(data['Contracts']) for name, arguments in contracts_cfgs.items(): contracts_cfgs[name] = dictlist_to_ordereddict(arguments) From 65e535fbb8a9dc0109662f8568aa1788221bc147 Mon Sep 17 00:00:00 2001 From: leeyr Date: Tue, 23 Apr 2019 20:20:21 +0800 Subject: [PATCH 94/96] Fix: logrotate output log as a relative path. [skip travis] --- scripts/cita | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/cita b/scripts/cita index 7755c1d97..fa42f2c9a 100755 --- a/scripts/cita +++ b/scripts/cita @@ -337,7 +337,7 @@ do_logrotate() { sleep 2 for logfile in ${NODE_LOGS_DIR}/cita-*.log; do if [[ ${logs} != *"${logfile}"* ]]; then - echo "${logfile}" + echo "./${NODE_NAME}/logs/${logfile##*/}" fi done } From a94439689a261d2e4a4c56061d6c758093e0c8ab Mon Sep 17 00:00:00 2001 From: leeyr Date: Wed, 24 Apr 2019 19:43:23 +0800 Subject: [PATCH 95/96] Fix: generate privkey file when use authorities option. [skip travis] --- scripts/create_cita_config.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/create_cita_config.py b/scripts/create_cita_config.py index d2e645432..e328c1e8e 100755 --- a/scripts/create_cita_config.py +++ b/scripts/create_cita_config.py @@ -343,11 +343,11 @@ def append_node(self, node): stream.write('DATA_PATH=./data\n') privkey = node.get('privkey') - if privkey: - privkey_config = os.path.join(node_dir, 'privkey') - with open(privkey_config, 'wt') as stream: + privkey_config = os.path.join(node_dir, 'privkey') + with open(privkey_config, 'wt') as stream: + if privkey: stream.write(privkey) - stream.write('\n') + stream.write('\n') address = node.get('address') if address: From e22a068f125931e233ba045bd0a57dba8d8d54ab Mon Sep 17 00:00:00 2001 From: Eason Gao Date: Fri, 26 Apr 2019 17:41:00 +0800 Subject: [PATCH 96/96] Update CHANGLOG of `v0.23.0`. [skip ci] --- CHANGELOG.md | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 30551176d..d4d6ad6fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,30 @@ All notable changes to this project will be documented in this file. And this pr ## [Unreleased] +## [v0.23.0] - 2019-04-26 + +### Upgrade Note + +In `v0.23.0`, CITA upgraded the P2P discovery protocol, which leads to Incompatibility with `v0.22.0`. So the nodes with CITA `v0.23.0` and the nodes with CITA `v0.22.0` cannot discover each other in the network. Therefore, when upgrading, all nodes in the network need to be upgraded to `v0.23.0` at the same time. + +Following [Upgrade Instructions](https://docs.citahub.com/en-US/cita/protocol-upgrade/overview) to upgrade the nodes. + +### New Feature Description + +The `v0.23.0` version added two RPC interfaces: + +* [Get software version]: + +```shell +curl -X POST --data '{"jsonrpc":"2.0","method":"getVersion","params":[],"id":83}' +``` + +* [Get peer information]: + +```shell +curl -X POST --data '{"jsonrpc":"2.0","method":"peersInfo","params":[],"id":83}' +``` + ### Framework - [Optimization] Update default rust toolchain to `v1.34.0`. [@yangby-cryptape] [@kaikai1024] @@ -29,18 +53,22 @@ All notable changes to this project will be documented in this file. And this pr ### Consensus -- [Optimization] Set the default ntp service to false. [@kaikai1024] +- [Optimization] Set the default NTP service to false. [@kaikai1024] - [Fix] Not generate block. [@jerry-yu] ### RPC - [Feature] Add `getVersion` interface. [@luqz] - [Feature] Add `peersInfo` interface. [@leeyr338] +- [Fix] Get logs break down the chain when `toBlock` very large. [@leeyr338] ### Scripts - [Optimization] Installation && Exectution Optimization: new usage of cita script. [@clearloop] - [Fix] Redirect the stdout and stderr for daemon processes in docker. [@yangby-cryptape] +- [Fix] Eliminate warnings when create nodes in docker. [@ouwenkg] +- [Fix] Generate privkey file when use authorities option. [@leeyr338] +- [Optimization] Log rotate output log as a relative path. [@leeyr338] - [Optimization] Patch to absolute paths' in starting scripts. [@clearloop] - [Optimization] Format the `env.sh` using `ShellCheck`. [@clearloop] @@ -53,6 +81,7 @@ All notable changes to this project will be documented in this file. And this pr - [Doc] Add release guide doc. [@kaikai1024] - [Doc] Fix 404 error of `CITAHub` Docs. [@zhouyun-zoe] [@Keith-CY] - [Doc] Add roadmap and fix contributing docs of `CITAHub`. [@zhouyun-zoe] +- [Doc] Change CITA slogan into blockchain kernel. [@zhouyun-zoe] - [Doc] Update the description of BlockTag. [@xiangmeiLu] - [Doc] Fix protocol upgrade doc. [@QingYanL] - [Doc] Set default website with zh-CN language. [@wuyuyue] @@ -687,6 +716,8 @@ Release the first version of CITA. [CITA docker images]: https://hub.docker.com/r/cita/ [Emergency braking system contract]: https://docs.citahub.com/zh-CN/cita/system/emergency-brake [Executor service]: https://github.com/cryptape/cita/tree/develop/cita-executor +[Get peer information]: https://docs.citahub.com/zh-CN/next/cita/rpc-guide/rpc#peersinfo +[Get software version]: https://docs.citahub.com/zh-CN/next/cita/rpc-guide/rpc#getversion [GetMetaData]: https://docs.citahub.com/zh-CN/cita/rpc-guide/rpc#getmetadata [Protocol Upgrade From V0 to V1]: https://docs.citahub.com/zh-CN/cita/protocol-upgrade/v1 [Semantic Versioning]: https://semver.org/spec/v2.0.0.html @@ -702,7 +733,8 @@ Release the first version of CITA. [set quota price]: https://docs.citahub.com/zh-CN/cita/system/price [sidechain exit mechanism]: https://docs.nervos.org/cita/#/crosschain/crosschain_contract_example -[Unreleased]: https://github.com/cryptape/cita/compare/v0.22.0...HEAD +[Unreleased]: https://github.com/cryptape/cita/compare/v0.23.0...HEAD +[v0.23.0]: https://github.com/cryptape/cita/compare/v0.22...v0.23.0 [v0.22.0]: https://github.com/cryptape/cita/compare/v0.21...v0.22.0 [v0.21.1]: https://github.com/cryptape/cita/compare/v0.21...v0.21.1 [v0.21.0]: https://github.com/cryptape/cita/compare/v0.20...v0.21.0