1. Feb 28, 2024
  2. Feb 27, 2024
    • Petr Mensik's avatar
      Add Polkadotters bootnoders per IBP application (#3423) · 0cc9b900
      Petr Mensik authored
      Hey everyone,
      
      this PR will replace existing Polkadotters bootnodes for Polkadot,
      Kusama and Westend and add Paseo bootnode to the relay chain suite. At
      the same time, it will add new bootnodes for all the system parachains,
      including People on Westend. This PR is a part of our membership in the
      IBP, meaning that all the bootnodes are hosted on our hardware housed in
      the data center in Christchurch, New Zealand.
      All the bootnodes were tested with an empty chain spec file with the
      following command yielding 1 peer.
      
      The test commands used are as follows:
      ```
      ./polkadot --base-path /tmp/node --reserved-only --chain paseo --reserved-nodes "/dns/paseo.bootnodes.polkadotters.com/tcp/30540/wss/p2p/12D3KooWPbbFy4TefEGTRF5eTYhq8LEzc4VAHdNUVCbY4nAnhqPP"
      ./polkadot --base-path /tmp/node --reserved-only --chain westend --reserved-nodes "/dns/westend.bootnodes.polkadotters.com/tcp/30310/wss/p2p/12D3KooWHPHb64jXMtSRJDrYFATWeLnvChL8NtWVttY67DCH1eC5"
      ./polkadot --base-path /tmp/node --reserved-only --chain kusama --reserved-nodes "/dns/kusama.bootnodes.polkadotters.com/tcp/30313/wss/p2p/12D3KooWHB5rTeNkQdXNJ9ynvGz8Lpnmsctt7Tvp7mrYv6bcwbPG"
      ./polkadot --base-path /tmp/node --no-hardware-benchmarks --reserved-only --chain polkadot --reserved-nodes "/dns/polkadot.bootnodes.polkadotters.com/tcp/30316/wss/p2p/12D3KooWPAVUgBaBk6n8SztLrMk8ESByncbAfRKUdxY1nygb9zG3"
      ./polkadot-parachain --base-path /tmp/node --reserved-only --chain asset-hub-kusama --reserved-nodes "/dns/asset-hub-kusama.bootnodes.polkadotters.com/tcp/30513/wss/p2p/12D3KooWDpk7wVH7RgjErEvbvAZ2kY5VeaAwRJP5ojmn1e8b8UbU"
      ./polkadot-parachain --base-path /tmp/node --reserved-only --chain asset-hub-polkadot --reserved-nodes "/dns/asset-hub-polkadot.bootnodes.polkadotters.com/tcp/30510/wss/p2p/12D3KooWKbfY9a9oywxMJKiALmt7yhrdQkjXMtvxhhDDN23vG93R"
      ./polkadot-parachain --base-path /tmp/node --reserved-only --chain asset-hub-westend --reserved-nodes "/dns/asset-hub-westend.bootnodes.polkadotters.com/tcp/30516/wss/p2p/12D3KooWNFYysCqmojxqjjaTfD2VkWBNngfyUKWjcR4WFixfHNTk"
      ./polkadot-parachain --base-path /tmp/node --reserved-only --chain bridge-hub-kusama --reserved-nodes "/dns/bridge-hub-kusama.bootnodes.polkadotters.com/tcp/30522/wss/p2p/12D3KooWH3pucezRRS5esoYyzZsUkKWcPSByQxEvmM819QL1HPLV"
      ./polkadot-parachain --base-path /tmp/node --reserved-only --chain bridge-hub-kusama --reserved-nodes "/dns/bridge-hub-kusama.bootnodes.polkadotters.com/tcp/30522/wss/p2p/12D3KooWH3pucezRRS5esoYyzZsUkKWcPSByQxEvmM819QL1HPLV"
      ./polkadot-parachain --base-path /tmp/node --reserved-only --chain bridge-hub-westend --reserved-nodes "/dns/bridge-hub-westend.bootnodes.polkadotters.com/tcp/30525/wss/p2p/12D3KooWPkwgJofp4GeeRwNgXqkp2aFwdLkCWv3qodpBJLwK43Jj"
      ./polkadot-parachain --base-path /tmp/node --reserved-only --chain collectives-polkadot --reserved-nodes "/dns/collectives-polkadot.bootnodes.polkadotters.com/tcp/30528/wss/p2p/12D3KooWNohUjvJtGKUa8Vhy8C1ZBB5N8JATB6e7rdLVCioeb3ff"
      ./polkadot-parachain --base-path /tmp/node --reserved-only --chain collectives-westend --reserved-nodes "/dns/collectives-westend.bootnodes.polkadotters.com/tcp/30531/wss/p2p/12D3KooWAFkXNSBfyPduZVgfS7pj5NuVpbU8Ee5gHeF8wvos7Yqn"
      ./polkadot-parachain --base-path /tmp/node --reserved-only --chain people-westend --reserved-nodes "/dns/identity-westend.bootnodes.polkadotters.com/tcp/30534/wss/p2p/12D3KooWKr9San6KTM7REJ95cBaDoiciGcWnW8TTftEJgxGF5Ehb"
      ```
      
      Best regards,
      
      Petr, Polkadotters
      0cc9b900
    • Kian Paimani's avatar
      Add documentation around FRAME Origin (#3362) · 29369a4e
      Kian Paimani authored
      Does the following: 
      
      - Add a reference doc page named `frame_runtime_types`, which explains
      what types like `RuntimeOrigin`, `RuntimeCall` etc are.
      - On top of it, it adds a reference doc page called `frame_origin` which
      explains a few important patterns that we use around origins
      - And finally brushes up `#[frame::origin]` docs. 
      - Updates the theme, sidebar and favicon to look like: 
      
      <img width="1728" alt="Screenshot 2024-02-20 at 12 16 00"
      src="https://github.com/paritytech/polkadot-sdk/assets/5588131/6d60a16b-2081-411b-8869-43b91920cca9">
      
      
      All of this was inspired by
      https://substrate.stackexchange.com/questions/10992/how-do-you-find-the-public-key-for-the-medium-spender-track-origin/10993
      
      closes https://github.com/paritytech/polkadot-sdk-docs/issues/45
      closes https://github.com/paritytech/polkadot-sdk-docs/issues/43
      contributes / overlaps with
      https://github.com/paritytech/polkadot-sdk/pull/2638 cc @liamaharon
      deprecation companion:
      https://github.com/substrate-developer-hub/substrate-docs/pull/2131
      pba-content companion:
      https://github.com/Polkadot-Blockchain-Academy/pba-content/pull/977
      
      
      
      ---------
      
      Co-authored-by: default avatarRadha <[email protected]>
      Co-authored-by: default avatarSebastian Kunert <[email protected]>
      Co-authored-by: default avatarGonçalo Pestana <[email protected]>
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      29369a4e
    • Serban Iorga's avatar
    • Clara van Staden's avatar
      Snowbridge benchmark tests fix (#3424) · 94c54d50
      Clara van Staden authored
      When running `cargo test -p bridge-hub-rococo-runtime --features
      runtime-benchmarks`, two of the Snowbridge benchmark tests fails. The
      reason is that when the runtime-benchmarks feature is enabled, the
      `NoopMessageProcessor` message processor is used. The Snowbridge tests
      rely on the outbound messages to be processed using the message queue,
      so that we can check the expected nonce and block digest logs.
      
      This PR changes the conditional compilation to only use
      `NoopMessageProcessor` when compiling the executable to run benchmarks
      against, not when running tests.
      
      ---------
      
      Co-authored-by: claravanstaden <Cats 4 life!>
      94c54d50
    • Javier Viola's avatar
      fix(zombienet): increase timeout in download artifacts (#3376) · f5de090a
      Javier Viola authored
      Fix timeouts downloading the artifacts (e.g
      https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/5246040
      
      )
      Thx!
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      f5de090a
  3. Feb 26, 2024
  4. Feb 24, 2024
    • tmpolaczyk's avatar
      Use generic hash for runtime wasm in resolve_state_version_from_wasm (#3447) · de6d0259
      tmpolaczyk authored
      
      
      Changes the runtime hash algorithm used in
      `resolve_state_version_from_wasm` from `DefaultHasher` to a
      caller-provided one (usually `HashingFor<Block>`), to match the one used
      elsewhere.
      
      This fixes an issue where the runtime wasm is compiled 3 times when
      starting the `tanssi-node` with `--dev`. With this fix, the runtime wasm
      is only compiled 2 times. The other redundant compilation is caused by
      the `GenesisConfigBuilderRuntimeCaller` struct, which ignores the
      runtime cache.
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      de6d0259
  5. Feb 23, 2024
  6. Feb 22, 2024
  7. Feb 21, 2024
    • Matteo Muraca's avatar
      cd91c6b7
    • tmpolaczyk's avatar
      ProposerFactory impl Clone (#3389) · 318fed32
      tmpolaczyk authored
      In Tanssi, we need a way to stop the collator code and then start it
      again. This is to support rotating the same collator between different
      runtimes. Currently, this works very well, except for the proposer
      metrics, because they only get registered the first time they are
      started. Afterwards, we see this warning log:
      
      > Failed to register proposer prometheus metrics: Duplicate metrics
      collector registration attempted
      
      
      ~~So this PR adds a method to set metrics, to allow us to register
      metrics manually before creating the `ProposerFactory`, and then clone
      the same metrics every time we need to start the collator.~~ Implemented
      Clone instead
      318fed32
    • Alexandru Vasile's avatar
      rpc-v2/tx: Remove the broadcast event from `transaction_submitAndWatch` (#3321) · 1b624c50
      Alexandru Vasile authored
      This PR backports the changes from the rpc-v2 spec:
      https://github.com/paritytech/json-rpc-interface-spec/pull/134
      
      
      
      The `Broadcasted` event has been removed:
      - it is hard to enforce a `Dropped { broadcasted: bool }` event in cases
      of a load-balancer being placed in front of an RPC server
      - when the server exists, it is impossible to guarantee this field if
      the server did not previously send a `Broadcasted` event
      - the number of peers reported by this event does not guarantee that
      peers are unique
      - the same peer can disconnect and reconnect, increasing this metric
      number
      - the number of peers that receive this transaction offers no guarantee
      about the transaction being included in the chain at a later time
      
      
      cc @paritytech/subxt-team
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <[email protected]>
      Co-authored-by: default avatarJames Wilson <[email protected]>
      1b624c50
    • Dastan's avatar
      benchmarking-cli: add --list-pallets and --all options (#3395) · 165d075a
      Dastan authored
      
      
      closes #2844 
      
      - adds `list-pallets` option which prints all unique available pallets
      for benchmarking
      ```bash
      ./target/release/node benchmark pallet --list=pallets
      ```
      - adds `all` option which runs benchmarks for all available pallets and
      extrinsics (equivalent to `--pallet * --extrinsic *`)
      ```bash
      ./target/release/node benchmark pallet --all
      ```
      
      - use the `list=pallets` syntax in `run_all_benchmarks.sh` script
      
      cc ggwpez
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      165d075a
    • Clara van Staden's avatar
      Snowbridge - Test pallet order (#3381) · 5a06771e
      Clara van Staden authored
      - Adds a test to check the correct digest for Snowbridge outbound
      messages. For the correct digest to be in the block, the the
      MessageQueue pallet should be configured after the EthereumOutbound
      queue pallet. The added test fails if the EthereumOutbound is configured
      after the MessageQueue pallet.
      - Adds a helper method `run_to_block_with_finalize` to simulate the
      block finalizing. The existing `run_to_block` method does not finalize
      and so it cannot successfully test this condition.
      
      Closes: https://github.com/paritytech/polkadot-sdk/issues/3208
      
      ---------
      
      Co-authored-by: claravanstaden <Cats 4 life!>
      5a06771e