Tagged transaction queue integration (#893)

* Make the graph generic.

* Adapting pool API for the graph.

* Merge pool & graph.

* Restructure.

* Fix test of transaction pool.

* Get rid of node/transaction-pool.

* Compilation fixes.

* Test7

* Fix compilation of tests.

* Revert runtime changes.

* Add validate_transaction to test-runtime.

* Fix RPC tests.

* Add clearing of the old transactions.

* Trigger pool events.

* Use new queue API.

* Fix wasm build, re-export Hasher.

* No warning if validate transaction fails.

* Get rid of Into<u64> and use As
This commit is contained in:
Tomasz Drwięga
2018-10-12 13:09:35 +02:00
committed by Gav Wood
parent 2404d3c89f
commit 671b0e0007
48 changed files with 1234 additions and 1524 deletions
+14 -11
View File
@@ -14,20 +14,23 @@
// You should have received a copy of the GNU General Public License
// along with Substrate. If not, see <http://www.gnu.org/licenses/>.
//! External Error trait for extrinsic pool.
//! Transaction pool error.
use client;
use txpool;
/// Extrinsic pool error.
pub trait IntoPoolError: ::std::error::Error + Send + Sized {
/// Try to extract original `txpool::Error`
///
/// This implementation is optional and used only to
/// provide more descriptive error messages for end users
/// of RPC API.
fn into_pool_error(self) -> Result<txpool::Error, Self> { Err(self) }
error_chain! {
links {
Client(client::error::Error, client::error::ErrorKind) #[doc = "Client error"];
Pool(txpool::error::Error, txpool::error::ErrorKind) #[doc = "Pool error"];
}
}
impl IntoPoolError for txpool::Error {
fn into_pool_error(self) -> Result<txpool::Error, Self> { Ok(self) }
impl txpool::IntoPoolError for Error {
fn into_pool_error(self) -> ::std::result::Result<txpool::error::Error, Self> {
match self {
Error(ErrorKind::Pool(e), c) => Ok(txpool::error::Error(e, c)),
e => Err(e),
}
}
}