* Update example-offchain-worker to include missing implementation for TestAuthId
i tried to incorporate the off-chain worker callback demo as a custom pallet of my own Substrate-based blockchain implementation that's provided at the following links
* https://www.parity.io/blog/substrate-off-chain-workers-secure-and-efficient-computing-intensive-tasks/
* https://gnunicorn.github.io/substrate-offchain-cb/
but when i build the code with `cargo build --release`, it gave me an error:
```
error[E0277]: the trait bound `AuthorityId: AppCrypto<MultiSigner, MultiSignature>` is not satisfied
--> /Users/me/my_repo/node/runtime/src/lib.rs:1172:5
|
1172 | type AuthorityId = AuthorityId;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AppCrypto<MultiSigner, MultiSignature>` is not implemented for `AuthorityId`
|
note: required by a bound in `offchaincb::Config::AuthorityId`
--> /Users/me/my_repo/node/pallets/offchaincb/src/lib.rs:169:21
|
169 | type AuthorityId: AppCrypto<Self::Public, Self::Signature>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `offchaincb::Config::AuthorityId`
```
where in my custom pallet i have:
pallets/offchaincb/src/lib.rs
```
...
use offchaincb::{
crypto::{
TestAuthId,
},
};
...
parameter_types! {
pub const GracePeriod: BlockNumber = 1 * MINUTES;
pub const UnsignedInterval: BlockNumber = 1 * MINUTES;
pub const UnsignedPriority: BlockNumber = 1 * MINUTES;
}
impl offchaincb::Config for Runtime {
type AuthorityId = TestAuthId;
type Call = Call;
type Currency = Balances;
type Event = Event;
type GracePeriod = GracePeriod;
type UnsignedInterval = UnsignedInterval;
type UnsignedPriority = UnsignedPriority;
}
...
```
then i found another different off-chain workers Substrate Recipe demo from Jimmy Chu https://github.com/jimmychu0807/recipes/blob/master/pallets/ocw-demo/src/lib.rs#L73 which had an extra implementation for TestAuthId here https://github.com/jimmychu0807/recipes/blob/master/pallets/ocw-demo/src/lib.rs#L73, and when i added that it overcame the error.
so i think this change should be included in the Substrate repository
* Fix indentation
* Fix formatting
* Swap order
* pallet-multisig: Improve opaque call handling
Before the opaque call was just a type redefinition of `Vec<u8>`. With metadata v14 that was
breaking external tools, as they stopped looking at the type name. To improve the situation the
`WrapperKeepOpaque` type is introduced that communicates to the outside the correct type info.
* Cleanup
* Fix benchmarks
* FMT
* pvf host: store only compiled artifacts on disk
* Correctly handle failed artifacts
* Serialize result of PVF preparation uniquely
* Set the artifact state depending on the result
* Return the result of PVF preparation directly
* Move PrepareError to the error module
* Update doc comments
* Update misleading comment
* Cleanup docs
* Conclude a test job with an error
Co-authored-by: Sergei Shulepov <sergei@parity.io>
* Introduce new Runtime API endpoint
`persisted_validation_data_with_code_hash` that will be used
by the candidate validation subsystem in order to decrease amount
of runtime API requests.
* Node-side part of new runtime API request
* Define code hash getter via macro
* Rename new endpoint to `assumed_validation_data`
* Docs for runtime API impl of new endpoint
* AssumedValidationData specialized request function
* fmt
* export xcm_pallet config
Signed-off-by: Cheng JIANG <alex_cj96@foxmail.com>
* run format
Signed-off-by: Cheng JIANG <alex_cj96@foxmail.com>
* fix typo
Signed-off-by: Cheng JIANG <alex_cj96@foxmail.com>
* add generic parameter to support different runtimes
* Revert "add generic parameter to support different runtimes"
This reverts commit 4405ea9fab24307318ffc20a833010fe864b3be3.
* Update `tracing`-related dependencies
* Enable `parking_lot` feature in `tracing-subscriber`
* Add an asynchronous stderr logger
* Make clippy happy
* Add an integration test for the logger
* Refactor `test_logger_filters`'s subprocess machinery into a separate function
* Use a child process instead of hooking into stderr for the test
* Add a doc comment for `MakeStderrWriter`
* Move the initialization into the `MakeStderrWriter`'s constructor
* Add an extra test case to trigger the logger's emergency flush mechanism
* Use the buffer's mutex for asynchronous flushes
* Remove vestigial `nix` dependency from one of the previous commits
It is possible that `Instant::now()` is returning an earlier clock time when being called a second
time. To guard against this, we should use `saturating_duration_since`.