* use new pallet name based genesis config names
* use custom substrate and update polkadot
* add initial asset-tx-payment pallet
* update cargo.toml
* add (failing) tests
* dispatch Calls instead of using Pallet functions
* fix fee-refund split
* add test for transaction payment with tip
* update cargo.lock
* update cargo.lock
* remove mint workaround and use Mutable trait
* extract fee charging logic into OnChargeAssetTransaction trait
* use asset-tx-payment in statemint runtime
* make extrinsics public
* make extrinsics public
* use ChargeAssetIdOf type alias
* update deps
* move back to AssetIdOf
* remove extra rpc_http_threads
* use different substrate branch
* Update pallets/asset-tx-payment/src/payment.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* Update pallets/asset-tx-payment/src/payment.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* remove overrides
* override substrate deps (again)
* increment spec_version and transaction_version (because we change transaction signing)
* remove direct dependency on pallet-balances from asset-tx-payment
* remove Assets pallet visibility workaround
* add docs and comments
* remove unused imports
* more docs
* add more debug asserts to document assumptions
* add test for tx payment from account with only assets
* add test for missing asset case
* extend test to cover non-sufficient assets
* add a test for Pays::No (refunded transaction)
* add type alias comments
* add more doc comments
* add asset-tx-payment to statemine and westmint
* improve formatting
* update license headers
* add default implementation of HandleCredit for ()
* update doc comments and format imports
* adjust Cargo.toml
* update cargo.lock
* cargo fmt
* cargo fmt
* cargo fmt
* cargo +nightly fmt
* add type alias for OnChargeTransaction
* cargo +nightly fmt
* convert ChargeAssetTxPayment from tuple struct to regular struct
* add more comments
* formatting
* adjust imports and comment
* cargo +nightly fmt
* reformat comment
* use ChargeTransactionPayment's own get_priority + update Substrate
* update Substrate and Polkadot
* cargo fmt
* cargo fmt
* add OperationalFeeMultiplier to asset tx payment tests
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* add doc links
* charge a minimum converted asset fee of 1 if the input fee is greater zero
* cargo +nightly fmt
* bump spec and transaction version
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Use DecodeLimit for decoding XCM messages
* Use decode_all_with_depth_limit in appropriate places
* Use decode_all while decoding byte vector
* cargo fmt
* Adds support for checking the timestamp inherent while validating a block
This adds support for checking the timestamp inherent while validating a
block. This will use the relay chain slot number * relay chain slot
duration to calculate a timestamp. This timestamp is used to check the
timestamp in the timestamp inherent.
* Update polkadot-parachains/rococo-runtime/src/lib.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
* Update polkadot-parachains/statemine-runtime/src/lib.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
* Update primitives/timestamp/src/lib.rs
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
* Fix warnings
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
This is basically a hack that prevents the inclusion of `:code` in the
storage proof. A proper fix requires some changes to the trie crate to
not include nodes that aren't read.
* Introduce `CollectCollationInfo` runtime api
Instead of using well known keys to communicate information about a
collation between the runtime and the collator, we now use a runtime api
for this.
* Fixes bug
* Apply suggestions from code review
Co-authored-by: Sergei Shulepov <sergei@parity.io>
* Doc update
Co-authored-by: Sergei Shulepov <sergei@parity.io>
* Update polkadot
* Migrate all uses of MQC heads to merkle proofs
* Mass rename `relay_parent_storage_root`
* Restore parachain-system tests
* Update polkadot and libp2p swarm for testing
* Collapse match into an if let
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Start with something
* Update Substrate & Polkadot
* Start to make it compile
* Make it compile
* Begin with something
* Yep
* I'm a hacker
* Bring back the builder
* Make it work in some way
* Compile
* Parachains use their own "slot"
* Adds cumulus-pallet-aura
* Wrap AuRa import queue to disable equivocation checking by default
* Pass slot duration
* Check the seal when validating a block
* Adds missing file
* Try to make the seal working
* Fix it
* Some fixes
* Bring in the latest features to cleanup the code
* Update and make it compile
* Improve the import
* Start fixing
* More work
* Fix fix fix
* Make everything compile
* Small cleanups
* Rename and more docs
* Docs
* Fixes fixes fixes
* Update rococo-parachains/src/chain_spec.rs
* Update client/consensus/aura/src/lib.rs
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
* Update client/consensus/aura/src/lib.rs
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
* Update primitives/parachain-inherent/Cargo.toml
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
* Update primitives/parachain-inherent/Cargo.toml
* Update primitives/parachain-inherent/Cargo.toml
* Update primitives/parachain-inherent/Cargo.toml
Co-authored-by: Sergei Shulepov <sergei@parity.io>
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
* Upgrade parachain info pallet to FRAMEv2
* Upgrade parachain system pallet to FRAMEv2
* Use Pallet<T> instead of Module<T>
* Upgrade XCMP queue pallet to FRAMEv2
* Correctly specify the metadata for events in xcmp-queue pallet
* Apply suggestions from code review
* Update pallets/parachain-system/src/tests.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>