Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
parity
Mirrored projects
polkadot
Commits
bf12c659
Unverified
Commit
bf12c659
authored
Sep 01, 2018
by
Gav Wood
Committed by
GitHub
Sep 01, 2018
Browse files
Merge pull request #2 from paritytech/a-wasm-authoring
Authoring with WASM runtime
parents
bb5919da
36b831a1
Changes
11
Hide whitespace changes
Inline
Side-by-side
api/Cargo.toml
View file @
bf12c659
...
...
@@ -5,6 +5,7 @@ authors = ["Parity Technologies <admin@parity.io>"]
[dependencies]
error-chain
=
"0.12"
log
=
"0.3"
polkadot-executor
=
{
path
=
"../executor"
}
polkadot-runtime
=
{
path
=
"../runtime"
}
polkadot-primitives
=
{
path
=
"../primitives"
}
...
...
@@ -16,7 +17,6 @@ substrate-client = { git = "https://github.com/paritytech/substrate" }
substrate-primitives
=
{
git
=
"https://github.com/paritytech/substrate"
}
substrate-executor
=
{
git
=
"https://github.com/paritytech/substrate"
}
substrate-state-machine
=
{
git
=
"https://github.com/paritytech/substrate"
}
log
=
"0.3"
[dev-dependencies]
substrate-keyring
=
{
git
=
"https://github.com/paritytech/substrate"
}
api/src/full.rs
View file @
bf12c659
...
...
@@ -18,47 +18,67 @@
use
client
::
backend
::
LocalBackend
;
use
client
::
block_builder
::
BlockBuilder
as
ClientBlockBuilder
;
use
client
::{
Client
,
LocalCallExecutor
};
use
client
::{
self
,
Client
,
LocalCallExecutor
,
CallExecutor
};
use
codec
::{
Encode
,
Decode
};
use
polkadot_executor
::
Executor
as
LocalDispatch
;
use
substrate_executor
::
NativeExecutor
;
use
state_machine
;
use
state_machine
::
ExecutionManager
;
use
runtime
::
Address
;
use
runtime_primitives
::
traits
::
AuxLookup
;
use
primitives
::{
AccountId
,
Block
,
Header
,
BlockId
,
Hash
,
Index
,
InherentData
,
SessionKey
,
Timestamp
,
UncheckedExtrinsic
,
};
use
primitives
::
parachain
::{
DutyRoster
,
Id
as
ParaId
};
use
substrate_primitives
::{
KeccakHasher
,
RlpCodec
};
use
{
BlockBuilder
,
PolkadotApi
,
LocalPolkadotApi
,
ErrorKind
,
Error
,
Result
};
// set up the necessary scaffolding to execute a set of calls to the runtime.
// this creates a new block on top of the given ID and initialises it.
macro_rules!
with_runtime
{
(
$client
:
ident
,
$at
:
expr
,
$exec
:
expr
)
=>
{{
let
parent
=
$at
;
let
header
=
Header
{
parent_hash
:
$client
.block_hash_from_id
(
&
parent
)
?
.ok_or_else
(||
ErrorKind
::
UnknownBlock
(
format!
(
"{:?}"
,
parent
)))
?
,
number
:
$client
.block_number_from_id
(
&
parent
)
?
use
{
BlockBuilder
,
PolkadotApi
,
LocalPolkadotApi
,
Error
,
ErrorKind
,
Result
};
fn
call
<
B
,
R
>
(
client
:
&
Client
<
B
,
LocalCallExecutor
<
B
,
NativeExecutor
<
LocalDispatch
>>
,
Block
>
,
at
:
&
BlockId
,
function
:
&
'static
str
,
input
:
&
[
u8
])
->
Result
<
R
>
where
R
:
Decode
,
B
:
LocalBackend
<
Block
,
KeccakHasher
,
RlpCodec
>
,
{
let
parent
=
at
;
let
header
=
Header
{
parent_hash
:
client
.block_hash_from_id
(
&
parent
)
?
.ok_or_else
(||
ErrorKind
::
UnknownBlock
(
format!
(
"{:?}"
,
parent
)))
?
,
number
:
client
.block_number_from_id
(
&
parent
)
?
.ok_or_else
(||
ErrorKind
::
UnknownBlock
(
format!
(
"{:?}"
,
parent
)))
?
+
1
,
state_root
:
Default
::
default
(),
extrinsics_root
:
Default
::
default
(),
digest
:
Default
::
default
(),
};
$client
.state_at
(
&
parent
)
.map_err
(
Error
::
from
)
.and_then
(|
state
|
{
let
mut
changes
=
Default
::
default
();
let
mut
ext
=
state_machine
::
Ext
::
new
(
&
mut
changes
,
&
state
);
::
substrate_executor
::
with_native_environment
(
&
mut
ext
,
||
{
::
runtime
::
Executive
::
initialise_block
(
&
header
);
(
$exec
)()
})
.map_err
(
Into
::
into
)
})
}}
state_root
:
Default
::
default
(),
extrinsics_root
:
Default
::
default
(),
digest
:
Default
::
default
(),
};
client
.state_at
(
&
parent
)
.map_err
(
Error
::
from
)
.and_then
(|
state
|
{
let
mut
overlay
=
Default
::
default
();
let
execution_manager
=
||
ExecutionManager
::
Both
(|
wasm_result
,
native_result
|
{
warn!
(
"Consensus error between wasm and native runtime execution at block {:?}"
,
at
);
warn!
(
" Function {:?}"
,
function
);
warn!
(
" Native result {:?}"
,
native_result
);
warn!
(
" Wasm result {:?}"
,
wasm_result
);
wasm_result
});
client
.executor
()
.call_at_state
(
&
state
,
&
mut
overlay
,
"initialise_block"
,
&
header
.encode
(),
execution_manager
()
)
?
;
let
(
r
,
_
)
=
client
.executor
()
.call_at_state
(
&
state
,
&
mut
overlay
,
function
,
input
,
execution_manager
()
)
?
;
Ok
(
R
::
decode
(
&
mut
&
r
[
..
])
.ok_or_else
(||
client
::
error
::
Error
::
from
(
client
::
error
::
ErrorKind
::
CallResultDecode
(
function
)))
?
)
})
}
impl
<
B
:
LocalBackend
<
Block
,
KeccakHasher
,
RlpCodec
>>
BlockBuilder
for
ClientBlockBuilder
<
B
,
LocalCallExecutor
<
B
,
NativeExecutor
<
LocalDispatch
>>
,
Block
,
KeccakHasher
,
RlpCodec
>
{
...
...
@@ -76,79 +96,63 @@ impl<B: LocalBackend<Block, KeccakHasher, RlpCodec>> PolkadotApi for Client<B, L
type
BlockBuilder
=
ClientBlockBuilder
<
B
,
LocalCallExecutor
<
B
,
NativeExecutor
<
LocalDispatch
>>
,
Block
,
KeccakHasher
,
RlpCodec
>
;
fn
session_keys
(
&
self
,
at
:
&
BlockId
)
->
Result
<
Vec
<
SessionKey
>>
{
with_runtime!
(
self
,
at
,
::
runtime
::
Consensus
::
authorities
)
Ok
(
self
.
authorities
_at
(
at
)
?
)
}
fn
validators
(
&
self
,
at
:
&
BlockId
)
->
Result
<
Vec
<
AccountId
>>
{
with_runtime!
(
self
,
at
,
::
runtime
::
Session
::
validators
)
call
(
self
,
at
,
"
validators
"
,
&
[]
)
}
fn
random_seed
(
&
self
,
at
:
&
BlockId
)
->
Result
<
Hash
>
{
with_runtime!
(
self
,
at
,
::
runtime
::
System
::
random_seed
)
call
(
self
,
at
,
"
random_seed
"
,
&
[]
)
}
fn
duty_roster
(
&
self
,
at
:
&
BlockId
)
->
Result
<
DutyRoster
>
{
with_runtime!
(
self
,
at
,
::
runtime
::
Parachains
::
calculate_
duty_roster
)
call
(
self
,
at
,
"
duty_roster
"
,
&
[]
)
}
fn
timestamp
(
&
self
,
at
:
&
BlockId
)
->
Result
<
Timestamp
>
{
with_runtime!
(
self
,
at
,
::
runtime
::
Timestamp
::
get
)
call
(
self
,
at
,
"timestamp"
,
&
[]
)
}
fn
evaluate_block
(
&
self
,
at
:
&
BlockId
,
block
:
Block
)
->
Result
<
bool
>
{
use
substrate_executor
::
error
::
ErrorKind
as
ExecErrorKind
;
use
codec
::
Encode
;
use
state_machine
::
ExecutionManager
;
use
client
::
CallExecutor
;
let
parent
=
at
;
let
res
=
self
.state_at
(
&
parent
)
.map_err
(
Error
::
from
)
.and_then
(|
state
|
{
let
mut
overlay
=
Default
::
default
();
let
execution_manager
=
||
ExecutionManager
::
Both
(|
wasm_result
,
native_result
|
{
warn!
(
"Consensus error between wasm and native runtime execution at block {:?}"
,
at
);
warn!
(
" While executing block {:?}"
,
(
block
.header.number
,
block
.header
.hash
()));
warn!
(
" Native result {:?}"
,
native_result
);
warn!
(
" Wasm result {:?}"
,
wasm_result
);
wasm_result
});
let
(
r
,
_
)
=
self
.executor
()
.call_at_state
(
&
state
,
&
mut
overlay
,
"execute_block"
,
&
block
.encode
(),
execution_manager
()
)
?
;
Ok
(
r
)
});
let
encoded
=
block
.encode
();
let
res
:
Result
<
()
>
=
call
(
self
,
at
,
"execute_block"
,
&
encoded
);
match
res
{
Ok
(
_
)
=>
Ok
(
true
),
Err
(
err
)
=>
match
err
.kind
()
{
&
ErrorKind
::
Execut
or
(
ExecErrorKind
::
Runtime
)
=>
Ok
(
false
),
&
ErrorKind
::
Execut
ion
(
_
)
=>
Ok
(
false
),
_
=>
Err
(
err
)
}
}
}
fn
index
(
&
self
,
at
:
&
BlockId
,
account
:
AccountId
)
->
Result
<
Index
>
{
with_runtime!
(
self
,
at
,
||
::
runtime
::
System
::
account_nonce
(
account
))
account
.using_encoded
(|
encoded
|
{
call
(
self
,
at
,
"account_nonce"
,
encoded
)
})
}
fn
lookup
(
&
self
,
at
:
&
BlockId
,
address
:
Address
)
->
Result
<
Option
<
AccountId
>>
{
with_runtime!
(
self
,
at
,
||
<
::
runtime
::
Balances
as
AuxLookup
>
::
lookup
(
address
)
.ok
())
address
.using_encoded
(|
encoded
|
{
call
(
self
,
at
,
"lookup_address"
,
encoded
)
})
}
fn
active_parachains
(
&
self
,
at
:
&
BlockId
)
->
Result
<
Vec
<
ParaId
>>
{
with_runtime!
(
self
,
at
,
::
runtime
::
Parachains
::
active_parachains
)
call
(
self
,
at
,
"
active_parachains
"
,
&
[]
)
}
fn
parachain_code
(
&
self
,
at
:
&
BlockId
,
parachain
:
ParaId
)
->
Result
<
Option
<
Vec
<
u8
>>>
{
with_runtime!
(
self
,
at
,
||
::
runtime
::
Parachains
::
parachain_code
(
parachain
))
parachain
.using_encoded
(|
encoded
|
{
call
(
self
,
at
,
"parachain_code"
,
encoded
)
})
}
fn
parachain_head
(
&
self
,
at
:
&
BlockId
,
parachain
:
ParaId
)
->
Result
<
Option
<
Vec
<
u8
>>>
{
with_runtime!
(
self
,
at
,
||
::
runtime
::
Parachains
::
parachain_head
(
parachain
))
parachain
.using_encoded
(|
encoded
|
{
call
(
self
,
at
,
"parachain_head"
,
encoded
)
})
}
fn
build_block
(
&
self
,
at
:
&
BlockId
,
inherent_data
:
InherentData
)
->
Result
<
Self
::
BlockBuilder
>
{
...
...
@@ -161,17 +165,9 @@ impl<B: LocalBackend<Block, KeccakHasher, RlpCodec>> PolkadotApi for Client<B, L
}
fn
inherent_extrinsics
(
&
self
,
at
:
&
BlockId
,
inherent_data
:
InherentData
)
->
Result
<
Vec
<
UncheckedExtrinsic
>>
{
use
codec
::{
Encode
,
Decode
};
let
runtime_version
=
self
.runtime_version_at
(
at
)
?
;
with_runtime!
(
self
,
at
,
||
{
let
extrinsics
=
::
runtime
::
inherent_extrinsics
(
inherent_data
,
runtime_version
.spec_version
);
extrinsics
.into_iter
()
.map
(|
x
|
x
.encode
())
// get encoded representation
.map
(|
x
|
Decode
::
decode
(
&
mut
&
x
[
..
]))
// get byte-vec equivalent to extrinsic
.map
(|
x
|
x
.expect
(
"UncheckedExtrinsic has encoded representation equivalent to Vec<u8>; qed"
))
.collect
()
(
inherent_data
,
runtime_version
.spec_version
)
.using_encoded
(|
encoded
|
{
call
(
self
,
at
,
"inherent_extrinsics"
,
encoded
)
})
}
}
...
...
api/src/lib.rs
View file @
bf12c659
...
...
@@ -60,6 +60,11 @@ error_chain! {
description
(
"Unknown block"
)
display
(
"Unknown block {}"
,
b
)
}
/// Execution error.
Execution
(
e
:
String
)
{
description
(
"Execution error"
)
display
(
"Execution error: {}"
,
e
)
}
/// Some other error.
// TODO: allow to be specified as associated type of PolkadotApi
Other
(
e
:
Box
<
::
std
::
error
::
Error
+
Send
>
)
{
...
...
@@ -67,16 +72,14 @@ error_chain! {
display
(
"Other error: {}"
,
e
.description
())
}
}
links
{
Executor
(
substrate_executor
::
error
::
Error
,
substrate_executor
::
error
::
ErrorKind
);
}
}
impl
From
<
client
::
error
::
Error
>
for
Error
{
fn
from
(
e
:
client
::
error
::
Error
)
->
Error
{
match
e
{
client
::
error
::
Error
(
client
::
error
::
ErrorKind
::
UnknownBlock
(
b
),
_
)
=>
Error
::
from_kind
(
ErrorKind
::
UnknownBlock
(
b
)),
client
::
error
::
Error
(
client
::
error
::
ErrorKind
::
Execution
(
e
),
_
)
=>
Error
::
from_kind
(
ErrorKind
::
Execution
(
format!
(
"{}"
,
e
))),
other
=>
Error
::
from_kind
(
ErrorKind
::
Other
(
Box
::
new
(
other
)
as
Box
<
_
>
)),
}
}
...
...
demo/runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.compact.wasm
0 → 100644
View file @
bf12c659
File added
demo/runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.wasm
0 → 100755
View file @
bf12c659
File added
polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.compact.wasm
0 → 100644
View file @
bf12c659
File added
polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.wasm
0 → 100755
View file @
bf12c659
File added
runtime/src/lib.rs
View file @
bf12c659
...
...
@@ -275,7 +275,15 @@ pub mod api {
finalise_block
=>
|()|
super
::
Executive
::
finalise_block
(),
inherent_extrinsics
=>
|(
inherent
,
spec_version
)|
super
::
inherent_extrinsics
(
inherent
,
spec_version
),
validator_count
=>
|()|
super
::
Session
::
validator_count
(),
validators
=>
|()|
super
::
Session
::
validators
()
validators
=>
|()|
super
::
Session
::
validators
(),
duty_roster
=>
|()|
super
::
Parachains
::
calculate_duty_roster
(),
active_parachains
=>
|()|
super
::
Parachains
::
active_parachains
(),
parachain_head
=>
|
id
|
super
::
Parachains
::
parachain_head
(
&
id
),
parachain_code
=>
|
id
|
super
::
Parachains
::
parachain_code
(
&
id
),
timestamp
=>
|()|
super
::
Timestamp
::
get
(),
random_seed
=>
|()|
super
::
System
::
random_seed
(),
account_nonce
=>
|
account
|
super
::
System
::
account_nonce
(
&
account
),
lookup_address
=>
|
address
|
super
::
Balances
::
lookup_address
(
address
)
);
}
...
...
runtime/wasm/Cargo.lock
View file @
bf12c659
...
...
@@ -87,13 +87,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "ed25519"
version = "0.1.0"
source = "git+https://github.com/paritytech/substrate
?branch=polkadot#f074c15cae617ed1734efda5308e4753d79d9006
"
source = "git+https://github.com/paritytech/substrate
#e6bf0c7d2b23b57f2821b31a1951903b68b64d27
"
dependencies = [
"base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
"ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
"substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
"untrusted 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
...
...
@@ -108,7 +108,7 @@ dependencies = [
[[package]]
name = "environmental"
version = "0.1.0"
source = "git+https://github.com/paritytech/substrate
?branch=polkadot#f074c15cae617ed1734efda5308e4753d79d9006
"
source = "git+https://github.com/paritytech/substrate
#e6bf0c7d2b23b57f2821b31a1951903b68b64d27
"
[[package]]
name = "ethbloom"
...
...
@@ -391,11 +391,11 @@ version = "0.1.0"
dependencies = [
"serde 1.0.75 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.75 (registry+https://github.com/rust-lang/crates.io-index)",
"substrate-codec 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-codec-derive 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-primitives 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-std 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-codec 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-codec-derive 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-std 0.1.0 (git+https://github.com/paritytech/substrate)",
]
[[package]]
...
...
@@ -405,23 +405,23 @@ dependencies = [
"integer-sqrt 0.1.0 (git+https://github.com/paritytech/integer-sqrt-rs.git)",
"polkadot-primitives 0.1.0",
"safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"substrate-codec 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-codec-derive 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-balances 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-consensus 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-council 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-democracy 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-executive 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-io 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-primitives 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-session 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-staking 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-std 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-support 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-system 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-timestamp 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-version 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-codec 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-codec-derive 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-balances 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-consensus 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-council 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-democracy 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-executive 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-io 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-session 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-staking 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-std 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-support 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-system 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-timestamp 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-version 0.1.0 (git+https://github.com/paritytech/substrate)",
]
[[package]]
...
...
@@ -448,16 +448,16 @@ dependencies = [
[[package]]
name = "pwasm-alloc"
version = "0.1.0"
source = "git+https://github.com/paritytech/substrate
?branch=polkadot#f074c15cae617ed1734efda5308e4753d79d9006
"
source = "git+https://github.com/paritytech/substrate
#e6bf0c7d2b23b57f2821b31a1951903b68b64d27
"
dependencies = [
"pwasm-libc 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"pwasm-libc 0.1.0 (git+https://github.com/paritytech/substrate)",
"rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "pwasm-libc"
version = "0.1.0"
source = "git+https://github.com/paritytech/substrate
?branch=polkadot#f074c15cae617ed1734efda5308e4753d79d9006
"
source = "git+https://github.com/paritytech/substrate
#e6bf0c7d2b23b57f2821b31a1951903b68b64d27
"
[[package]]
name = "quote"
...
...
@@ -622,7 +622,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "substrate-codec"
version = "0.1.0"
source = "git+https://github.com/paritytech/substrate
?branch=polkadot#f074c15cae617ed1734efda5308e4753d79d9006
"
source = "git+https://github.com/paritytech/substrate
#e6bf0c7d2b23b57f2821b31a1951903b68b64d27
"
dependencies = [
"arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
]
...
...
@@ -630,7 +630,7 @@ dependencies = [
[[package]]
name = "substrate-codec-derive"
version = "0.1.0"
source = "git+https://github.com/paritytech/substrate
?branch=polkadot#f074c15cae617ed1734efda5308e4753d79d9006
"
source = "git+https://github.com/paritytech/substrate
#e6bf0c7d2b23b57f2821b31a1951903b68b64d27
"
dependencies = [
"proc-macro2 0.4.15 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
...
...
@@ -640,9 +640,9 @@ dependencies = [
[[package]]
name = "substrate-keyring"
version = "0.1.0"
source = "git+https://github.com/paritytech/substrate
?branch=polkadot#f074c15cae617ed1734efda5308e4753d79d9006
"
source = "git+https://github.com/paritytech/substrate
#e6bf0c7d2b23b57f2821b31a1951903b68b64d27
"
dependencies = [
"ed25519 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"ed25519 0.1.0 (git+https://github.com/paritytech/substrate)",
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
...
...
@@ -650,7 +650,7 @@ dependencies = [
[[package]]
name = "substrate-primitives"
version = "0.1.0"
source = "git+https://github.com/paritytech/substrate
?branch=polkadot#f074c15cae617ed1734efda5308e4753d79d9006
"
source = "git+https://github.com/paritytech/substrate
#e6bf0c7d2b23b57f2821b31a1951903b68b64d27
"
dependencies = [
"blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
...
...
@@ -664,9 +664,9 @@ dependencies = [
"rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.75 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.75 (registry+https://github.com/rust-lang/crates.io-index)",
"substrate-codec 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-codec-derive 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-std 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-codec 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-codec-derive 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-std 0.1.0 (git+https://github.com/paritytech/substrate)",
"tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
"twox-hash 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
"uint 0.4.1 (git+https://github.com/paritytech/parity-common)",
...
...
@@ -676,276 +676,272 @@ dependencies = [
[[package]]
name = "substrate-runtime-balances"
version = "0.1.0"
source = "git+https://github.com/paritytech/substrate
?branch=polkadot#f074c15cae617ed1734efda5308e4753d79d9006
"
source = "git+https://github.com/paritytech/substrate
#e6bf0c7d2b23b57f2821b31a1951903b68b64d27
"
dependencies = [
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
"safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.75 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.75 (registry+https://github.com/rust-lang/crates.io-index)",
"substrate-codec 0.1.0 (git+https://github.com/paritytech/substrate?branch=polkadot)",
"substrate-codec-derive 0.1.0 (git+https://github.com/paritytech/substrate?branch=polkadot)",
"substrate-keyring 0.1.0 (git+https://github.com/paritytech/substrate?branch=polkadot)",
"substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate?branch=polkadot)",
"substrate-runtime-consensus 0.1.0 (git+https://github.com/paritytech/substrate?branch=polkadot)",
"substrate-runtime-io 0.1.0 (git+https://github.com/paritytech/substrate?branch=polkadot)",
"substrate-runtime-primitives 0.1.0 (git+https://github.com/paritytech/substrate?branch=polkadot)",
"substrate-runtime-sandbox 0.1.0 (git+https://github.com/paritytech/substrate?branch=polkadot)",
"substrate-runtime-session 0.1.0 (git+https://github.com/paritytech/substrate?branch=polkadot)",
"substrate-runtime-std 0.1.0 (git+https://github.com/paritytech/substrate?branch=polkadot)",
"substrate-runtime-support 0.1.0 (git+https://github.com/paritytech/substrate?branch=polkadot)",
"substrate-runtime-system 0.1.0 (git+https://github.com/paritytech/substrate?branch=polkadot)",
"substrate-runtime-timestamp 0.1.0 (git+https://github.com/paritytech/substrate?branch=polkadot)",
"substrate-codec 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-codec-derive 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-keyring 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-io 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-std 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-support 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-system 0.1.0 (git+https://github.com/paritytech/substrate)",
]
[[package]]
name = "substrate-runtime-consensus"
version = "0.1.0"
source = "git+https://github.com/paritytech/substrate
?branch=polkadot#f074c15cae617ed1734efda5308e4753d79d9006
"
source = "git+https://github.com/paritytech/substrate
#e6bf0c7d2b23b57f2821b31a1951903b68b64d27
"
dependencies = [
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.75 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.75 (registry+https://github.com/rust-lang/crates.io-index)",
"substrate-codec 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-io 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-primitives 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-std 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-support 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-system 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-codec 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-io 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-std 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-support 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-system 0.1.0 (git+https://github.com/paritytech/substrate)",
]
[[package]]
name = "substrate-runtime-council"
version = "0.1.0"
source = "git+https://github.com/paritytech/substrate
?branch=polkadot#f074c15cae617ed1734efda5308e4753d79d9006
"
source = "git+https://github.com/paritytech/substrate
#e6bf0c7d2b23b57f2821b31a1951903b68b64d27
"
dependencies = [
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
"integer-sqrt 0.1.0 (git+https://github.com/paritytech/integer-sqrt-rs.git)",
"safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.75 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.75 (registry+https://github.com/rust-lang/crates.io-index)",
"substrate-codec 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-keyring 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-balances 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-consensus 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-democracy 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-io 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-primitives 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-std 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-support 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-system 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-codec 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-keyring 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-balances 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-consensus 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-democracy 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-io 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-std 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-support 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-system 0.1.0 (git+https://github.com/paritytech/substrate)",
]
[[package]]
name = "substrate-runtime-democracy"
version = "0.1.0"
source = "git+https://github.com/paritytech/substrate
?branch=polkadot#f074c15cae617ed1734efda5308e4753d79d9006
"
source = "git+https://github.com/paritytech/substrate
#e6bf0c7d2b23b57f2821b31a1951903b68b64d27
"
dependencies = [
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
"safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.75 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.75 (registry+https://github.com/rust-lang/crates.io-index)",
"substrate-codec 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-codec-derive 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-balances 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-consensus 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-io 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-primitives 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-std 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-support 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-system 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-codec 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-codec-derive 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-balances 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-consensus 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-io 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-std 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-support 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-system 0.1.0 (git+https://github.com/paritytech/substrate)",
]
[[package]]
name = "substrate-runtime-executive"
version = "0.1.0"
source = "git+https://github.com/paritytech/substrate
?branch=polkadot#f074c15cae617ed1734efda5308e4753d79d9006
"
source = "git+https://github.com/paritytech/substrate
#e6bf0c7d2b23b57f2821b31a1951903b68b64d27
"
dependencies = [
"hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.75 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.75 (registry+https://github.com/rust-lang/crates.io-index)",
"substrate-codec 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-codec-derive 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-io 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-primitives 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-std 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-support 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-system 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-codec 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-codec-derive 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-io 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-std 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-support 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-system 0.1.0 (git+https://github.com/paritytech/substrate)",
]
[[package]]
name = "substrate-runtime-io"
version = "0.1.0"
source = "git+https://github.com/paritytech/substrate
?branch=polkadot#f074c15cae617ed1734efda5308e4753d79d9006
"
source = "git+https://github.com/paritytech/substrate
#e6bf0c7d2b23b57f2821b31a1951903b68b64d27
"
dependencies = [
"ed25519 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"environmental 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"ed25519 0.1.0 (git+https://github.com/paritytech/substrate)",
"environmental 0.1.0 (git+https://github.com/paritytech/substrate)",
"rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
"substrate-codec 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-runtime-std 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-state-machine 0.1.0 (git+https://github.com/paritytech/substrate
?branch=polkadot
)",
"substrate-codec 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-primitives 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-runtime-std 0.1.0 (git+https://github.com/paritytech/substrate)",
"substrate-state-machine 0.1.0 (git+https://github.com/paritytech/substrate)",
"triehash 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "substrate-runtime-primitives"
version = "0.1.0"
source = "git+https://github.com/paritytech/substrate
?branch=polkadot#f074c15cae617ed1734efda5308e4753d79d9006
"