interBTC A trust-minimized bridge from Bitcoin to Polkadot.

Overview

interBTC

interBTC

A trust-minimized bridge from Bitcoin to Polkadot.
Explore the specification »

Report Bug · Request Feature

This repository is hosted on GitHub: https://github.com/interlay/interbtc with a mirror on GitLab and radicle.

Table of Contents

About the Project

The interBTC runtime allows the creation of interBTC, a fungible token that represents Bitcoin in the Polkadot ecosystem. Each interBTC is backed by Bitcoin 1:1 and allows redeeming of the equivalent amount of Bitcoins by relying on a collateralized third-party.

The project uses the concept of Cryptocurrency-backed Assets to lock Bitcoin on the Bitcoin blockchain and issue BTC-backed tokens on the BTC Parachain. The implementation is based on the interBTC specification.

Built with

The interBTC project is built with:

Development Progress

The Substrate runtime makes use of various custom pallets that are found in the crates folder.

  • annuity: Block rewards for stake-to-vote and vaults.
  • bitcoin: Library for Bitcoin type, parsing and verification functions.
  • btc-relay: Stateful SPV client for Bitcoin. Stores Bitcoin main chain, tracks forks, verifies Merkle proofs and validates specific transaction formats.
  • currency Handles currencies used as backing collateral (e.g. DOT/KSM) and issued tokens (e.g. interBTC).
  • democracy: Optimistic governance fork of pallet-democracy.
  • escrow: Rust implementation of Curve's Voting Escrow contract.
  • fee: Participant reward calculation and distribution.
  • issue: Handles issuing of interBTC for BTC on Bitcoin.
  • nomination: Interface for vault nomination.
  • oracle: Trusted providers use this to set exchange rates and Bitcoin fee estimates.
  • redeem: Handles redeeming of interBTC for BTC on Bitcoin.
  • refund: Handles refunds for when a vault receives more BTC than it can cover.
  • relay: Handles block submission and theft reporting.
  • replace: Handles replacing vaults.
  • reward: Scalable reward distribution.
  • security: Handles status and error changes.
  • staking: Core logic for vault nomination and slashing.
  • supply: Token minting and inflation.
  • vault-registry: Handles registration, collateral and liquidation of vaults.

Getting started

Prerequisites

curl https://sh.rustup.rs -sSf | sh

Please also install the following dependencies:

  • cmake
  • clang (>=10.0.0)
  • clang-dev
  • libc6-dev
  • libssl-dev

Installation

Building requires a specific rust toolchain and nightly compiler version. The requirements are specified in the ./rust-toolchain.toml override file.

Running rustup show from the root directory of this repo should be enough to set up the toolchain and you can inspect the output to verify that it matches the version specified in the override file.

To build, run:

cargo build

For more detailed development instructions see here.

Testing

cargo test

To run with coverage, using cargo-cov:

cargo install cargo-cov

# clean up previous coverage result
cargo cov clean

# test the code
cargo cov test

# open the coverage report
cargo cov report --open

Running - Standalone

To run a local development node, use the dev chain spec.

cargo run --release --bin interbtc-standalone -- --dev

Clear the database using the purge-chain command.

cargo run --release --bin interbtc-standalone -- purge-chain --dev

Additional CLI usage options are available and may be shown by running cargo run --bin interbtc-standalone -- --help.

Running - Parachain

To run a local development node, use the dev chain spec.

cargo run --release --bin interbtc-parachain -- --dev

To connect with a local relay-chain follow these instructions.

Test Coverage

Test coverage reports available under docs/testcoverage.html

Substrate Chain Configuration

The Substrate runtime configuration is in the parachain folder.

Javascript / Typescript

When interacting via polkadot{.js} you will need to use our custom types. Please also checkout interbtc-js for a more complete (strongly-typed) library.

Contributing

If you would like to contribute, please file an issue on GitHub or reach out to us.

We are hiring!

License

(C) Copyright 2021 Interlay Ltd

interBTC is currently licensed under the terms of the Apache License (Version 2.0). See LICENSE

Contact

Website: Interlay.io

Twitter: @interlayHQ

Email: [email protected]

Acknowledgements

This project is supported by a Web3 Foundation grant.

We would also like to thank the following teams for their continuous support:

Comments
  • Vault Theft Recovery

    Vault Theft Recovery

    Is your feature request related to a problem? Please describe.

    Operational errors or implementation bugs may cause Vaults to mistakenly spend or double-spend Bitcoin, causing them to be liquidated for theft. The interbtc protocol does not allow operators to prevent liquidation, even if they are willing to send the Bitcoin back to a registered Vault address.

    Describe the solution you'd like

    • Extend the current VaultStatus enum to:
    enum VaultStatus {
      Active(bool),
      Liquidated,
      CommittedTheft,
      PendingLiquidation(amount, recovery_deadline_block), // <--- new field
    }
    
    • Add a storage value, TheftRecoveryPeriod, denoting a number of parachain blocks. This is the grace period during which a Vault may report a confirmed Bitcoin transaction that restores stolen funds.
    • Add an extrinsic: recover_theft(vault_id, merkle_proof, raw_tx, active_status). See description below.
    • Add an extrinsic: pending_liquidation_elapsed(vault_id). See description below.

    A valid report_vault_theft(...) extrinsic changes a Vault’s status from Active(...) to PendingLiquidation(amount, TheftRecoveryPeriod::get()). The Vault’s collateral is frozen rather than being transferred to the Liquidation Vault, reusing the approach in the slash_for_to_be_redeemed() method.

    Subsequent thefts from the same reported VaultId increase the amount stored in the PendingLiquidation status, without extending the recovery deadline. When the recovery period elapses, the vault’s status is set to CommittedTheft.

    Triggering of the PendingLiquidation deadline can be performed either by off-chain workers, or by storing an on-chain heap data structure which stores VaultIds and is sorted in ascending order by the recovery_deadline_block. This is done by sending a pending_liquidation_elapsed(vault_id) extrinsic.

    A valid recover_theft(vault_id, merkle_proof, raw_tx, active_status) extrinsic decreases the amount stored in the PendingLiquidation status, and if this amount reaches zero, the Vault's status becomes Active(active_status).

    Current valid VaultStatus state transition:

    Active(_) ---report_vault_theft---> CommittedTheft
    

    Summarizing the above, the proposed extension to the CommittedTheft state transition:

    Active(_) ---report_vault_theft(amount)---> PendingLiquidation(amount, TheftRecoveryPeriod::get())
    PendingLiquidation(_,_) ---pending_liquidation_elapsed---> CommittedTheft
    PendingLiquidation(amount, deadline) ---report_vault_theft(stolen_amount)---> PendingLiquidation(amount + stolen_amount, deadline)
    PendingLiquidation(amount,_) ---recover_theft(recovered_amount)---> PendingLiquidation(amount - recovered_amount, deadline), if recovered_amount < amount
    PendingLiquidation(amount, _) ---recover_theft(recovered_amount, active_status)---> Active(active_status), if recovered_amount >= amount
    

    Additional context Historic theft reports are stored on-chain, so recovered Active Vaults are not in danger of being liquidated again for the same Bitcoin transaction.

    This feature can be exploited to allow a Vault operator to back more wrapped tokens than the physical Bitcoin it holds. The operator only needs to ensure that they cycle the physical Bitcoin through all the VaultIds they registered, every TheftRecoveryPeriod blocks. This can be mitigated by slashing a small amount of collateral when the Vault becomes active again - however this means that Vault Liquidation Recovery would slash the vault if they already spent the Bitcoin after becoming undercollateralized.

    opened by daniel-savu 9
  • Vault Liquidation Recovery

    Vault Liquidation Recovery

    Prerequisite: https://github.com/interlay/interbtc/issues/636

    Background

    Vaults can be liquidated either by becoming undercollateralized or by being reported for Bitcoin theft. More specifically, liquidation occurs per VaultId, which is a tuple of (AccountId, CollateralCurrency, WrappedCurrency). The VaultId tuple is an identity in and of itself, which enables Vault operators to reuse the same AccountId to back wrapped Bitcoin with multiple collateral currencies. It provides an isolation of risk and responsibilities per each VaultId identity. Thus, liquidation of an operator for one collateral currency does not bear any consequences on the other collateral currencies the operator is using, because they are separate VaultIds. Once liquidated, there is no way for an operator to reinstate a VaultId; its assets are seized and its status is permanently set to Liquidated or CommittedTheft respectively.

    Is your feature request related to a problem? Please describe.

    A complication arises when operators reuse the same AccountId to register VaultIds for multiple collateral currencies, which is indeed what the official Vault client does. If one of the registered VaultIds gets liquidated but the operator wishes to keep using the collateral type that was liquidated, they need to create a new AccountId. The new AccountId allows for registering a new VaultId with the same currency pair as the liquidated one (wrapped_currency, collateral_currency), to enable the operator to maintain exposure to the same basket of collateral assets as before the liquidation.

    Due to how the Vault client is implemented, using an additional AccountId creates two operational burdens:

    1. Requires operators to secure a new pair of private keys (Substrate and Bitcoin).
    2. Requires a separate Vault binary to be run.

    Describe the solution you'd like

    If the Vault's status is Liquidated or CommittedTheft but there are no more pending requests of any kind in the system (issue, redeem, replace, refund), meaning all of them have either been executed or cancelled, the VaultId can no longer be interacted with and is effectively "sandboxed" by the protocol. Due to this, a recover_vault_id(vault_id, active_status) extrinsic can be added to check the conditions above and then set the Vault status to Active(active_status).

    In case the Vault was liquidated for undercollateralization and already spent its Bitcoin, theft reports can be recovered from using the Vault Theft Recovery feature.

    Describe alternatives you've considered

    Instead of ensuring there are no more pending requests associated with the VaultId, the recover_vault_id(...) extrinsic could check that the to_be_issued, issued, to_be_redeemed fields in the Vault struct are all zero. However, this introduces a dependency on the internal representation of Vault state, which may change in the future. Relying on finalized requests encapsulates this internal representation. Correctness is still preserved by the proposed solution, because the fields mentioned above can only be changed by new and pending requests.

    opened by daniel-savu 5
  • Error calling some RPC methods

    Error calling some RPC methods

    Description

    RPC methods that use vault_id fail on call:

    image

    ℹ️ When connecting to the API they are marked as undecorated, so perhaps they are not finished/designed for external use?


    Steps to recreate

    1. Call an RPC call that targets a specific VaultId e.g. vaultRegistry.getCollateralizationFromVault()

    ⚠️ Call fails with following error:

    -32602: Invalid params: unknown variant `token`, expected `Token`.
    

    This affects all the RPC calls here that take vault_id type parameters image

    opened by timbotro 4
  • [BREAKING] refactor!: do not require griefing collateral argument

    [BREAKING] refactor!: do not require griefing collateral argument

    Signed-off-by: Gregory Hill [email protected]

    This PR removes the griefing collateral parameters from request_issue and request_replace since we anyway override the value and it is complicated to determine ahead-of-time.

    opened by gregdhill 4
  • unable to build latest release (m1 and intel Mac)

    unable to build latest release (m1 and intel Mac)

    Describe the bug

    I cannot get cargo build to work. I've tried on two different architectures

    To Reproduce

    git clone [email protected]:interlay/interbtc.git
    git checkout tags/1.7.2
    
    ./script/init.sh
    cargo build # this fails, see output below
    

    I think I was able to isolate the package, so the following is the output for

    cargo check -p interlay-runtime-parachain
    
    m1 Mac

    rustup show

    active toolchain
    ----------------
    
    nightly-2022-02-08-aarch64-apple-darwin (overridden by '/Users/ricky/src/github.com/interlay/interbtc/rust-toolchain.toml')
    rustc 1.60.0-nightly (734368a20 2022-02-07)
    
    ->% cargo check -p interlay-runtime-parachain
       Compiling interlay-runtime-parachain v1.2.0 (/Users/ricky/src/github.com/interlay/interbtc/parachain/runtime/interlay)
        Checking pallet-collator-selection v3.0.0 (https://github.com/paritytech/cumulus?branch=polkadot-v0.9.16#86f76c56)
        Checking polkadot-node-network-protocol v0.9.16 (https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d)
        Checking refund v1.2.0 (/Users/ricky/src/github.com/interlay/interbtc/crates/refund)
        Checking nomination v0.5.0 (/Users/ricky/src/github.com/interlay/interbtc/crates/nomination)
        Checking redeem v1.2.0 (/Users/ricky/src/github.com/interlay/interbtc/crates/redeem)
        Checking sc-cli v0.10.0-dev (https://github.com/paritytech/substrate?branch=polkadot-v0.9.16#4aeb95f7)
        Checking issue v1.2.0 (/Users/ricky/src/github.com/interlay/interbtc/crates/issue)
        Checking replace v1.2.0 (/Users/ricky/src/github.com/interlay/interbtc/crates/replace)
        Checking polkadot-overseer-gen v0.9.16 (https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d)
        Checking polkadot-node-subsystem-types v0.9.16 (https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d)
        Checking polkadot-node-metrics v0.9.16 (https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d)
        Checking relay v1.2.0 (/Users/ricky/src/github.com/interlay/interbtc/crates/relay)
        Checking polkadot-overseer v0.9.16 (https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d)
        Checking cumulus-relay-chain-interface v0.1.0 (https://github.com/paritytech/cumulus?branch=polkadot-v0.9.16#86f76c56)
        Checking cumulus-primitives-parachain-inherent v0.1.0 (https://github.com/paritytech/cumulus?branch=polkadot-v0.9.16#86f76c56)
        Checking cumulus-pallet-parachain-system v0.1.0 (https://github.com/paritytech/cumulus?branch=polkadot-v0.9.16#86f76c56)
    error: failed to run custom build command for `interlay-runtime-parachain v1.2.0 (/Users/ricky/src/github.com/interlay/interbtc/parachain/runtime/interlay)`
    
    Caused by:
      process didn't exit successfully: `/Users/ricky/src/github.com/interlay/interbtc/target/debug/build/interlay-runtime-parachain-7ef0e4838b0989e1/build-script-build` (exit status: 1)
      --- stdout
      Information that should be included in a bug report.
      Executing build command: "/Users/ricky/.rustup/toolchains/nightly-2022-02-08-aarch64-apple-darwin/bin/cargo" "rustc" "--target=wasm32-unknown-unknown" "--manifest-path=/Users/ricky/src/github.com/interlay/interbtc/target/debug/wbuild/interlay-runtime-parachain/Cargo.toml" "--color=always" "--release"
      Using rustc version: rustc 1.60.0-nightly (734368a20 2022-02-07)
    
    
      --- stderr
         Compiling secp256k1-sys v0.4.0 (https://github.com/rust-bitcoin/rust-secp256k1?rev=8e61874#8e61874d)
         Compiling sp-runtime v4.1.0-dev (https://github.com/paritytech/substrate?branch=polkadot-v0.9.16#4aeb95f7)
      The following warnings were emitted during compilation:
    
      warning: In file included from depend/secp256k1/src/secp256k1.c:10:
      warning: In file included from depend/secp256k1/src/assumptions.h:12:
      warning: In file included from depend/secp256k1/src/util.h:16:
      warning: wasm-sysroot/stdio.h:4:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
      warning: extern const unsigned char WASM32_INT_SIZE = sizeof(int);
      warning:                            ^
      warning: wasm-sysroot/stdio.h:5:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
      warning: extern const unsigned char WASM32_INT_ALIGN = alignof(int);
      warning:                            ^
      warning: wasm-sysroot/stdio.h:7:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
      warning: extern const unsigned char WASM32_UNSIGNED_INT_SIZE = sizeof(unsigned int);
      warning:                            ^
      warning: wasm-sysroot/stdio.h:8:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
      warning: extern const unsigned char WASM32_UNSIGNED_INT_ALIGN = alignof(unsigned int);
      warning:                            ^
      warning: wasm-sysroot/stdio.h:10:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
      warning: extern const unsigned char WASM32_SIZE_T_SIZE = sizeof(size_t);
      warning:                            ^
      warning: wasm-sysroot/stdio.h:11:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
      warning: extern const unsigned char WASM32_SIZE_T_ALIGN = alignof(size_t);
      warning:                            ^
      warning: wasm-sysroot/stdio.h:13:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
      warning: extern const unsigned char WASM32_UNSIGNED_CHAR_SIZE = sizeof(unsigned char);
      warning:                            ^
      warning: wasm-sysroot/stdio.h:14:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
      warning: extern const unsigned char WASM32_UNSIGNED_CHAR_ALIGN = alignof(unsigned char);
      warning:                            ^
      warning: wasm-sysroot/stdio.h:16:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
      warning: extern const unsigned char WASM32_PTR_SIZE = sizeof(void*);
      warning:                            ^
      warning: wasm-sysroot/stdio.h:17:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
      warning: error: unable to create target: 'No available targets are compatible with triple "wasm32-unknown-unknown"'
      warning: extern const unsigned char WASM32_PTR_ALIGN = alignof(void*);
      warning:                            ^
      warning: 1 error generated.
      warning: In file included from depend/secp256k1/src/secp256k1.c:13:
      warning: depend/secp256k1/src/field_impl.h:266:13: warning: unused function 'rustsecp256k1_v0_4_0_fe_inv_all_var' [-Wunused-function]
      warning: static void rustsecp256k1_v0_4_0_fe_inv_all_var(rustsecp256k1_v0_4_0_fe *r, const rustsecp256k1_v0_4_0_fe *a, size_t len) {
      warning:             ^
      warning: In file included from depend/secp256k1/src/secp256k1.c:15:
      warning: depend/secp256k1/src/group_impl.h:191:13: warning: unused function 'rustsecp256k1_v0_4_0_ge_set_infinity' [-Wunused-function]
      warning: static void rustsecp256k1_v0_4_0_ge_set_infinity(rustsecp256k1_v0_4_0_ge *r) {
      warning:             ^
      warning: depend/secp256k1/src/group_impl.h:658:12: warning: unused function 'rustsecp256k1_v0_4_0_gej_has_quad_y_var' [-Wunused-function]
      warning: static int rustsecp256k1_v0_4_0_gej_has_quad_y_var(const rustsecp256k1_v0_4_0_gej *a) {
      warning:            ^
      warning: In file included from depend/secp256k1/src/secp256k1.c:16:
      warning: In file included from depend/secp256k1/src/ecmult_impl.h:16:
      warning: In file included from depend/secp256k1/src/ecmult.h:13:
      warning: depend/secp256k1/src/scratch.h:24:38: warning: unused function 'rustsecp256k1_v0_4_0_scratch_create' [-Wunused-function]
      warning: static rustsecp256k1_v0_4_0_scratch* rustsecp256k1_v0_4_0_scratch_create(const rustsecp256k1_v0_4_0_callback* error_callback, size_t max_size);
      warning:                                      ^
      warning: depend/secp256k1/src/scratch.h:26:13: warning: unused function 'rustsecp256k1_v0_4_0_scratch_destroy' [-Wunused-function]
      warning: static void rustsecp256k1_v0_4_0_scratch_destroy(const rustsecp256k1_v0_4_0_callback* error_callback, rustsecp256k1_v0_4_0_scratch* scratch);
      warning:             ^
      warning: In file included from depend/secp256k1/src/secp256k1.c:16:
      warning: depend/secp256k1/src/ecmult_impl.h:1035:12: warning: unused function 'rustsecp256k1_v0_4_0_ecmult_multi_var' [-Wunused-function]
      warning: static int rustsecp256k1_v0_4_0_ecmult_multi_var(const rustsecp256k1_v0_4_0_callback* error_callback, const rustsecp256k1_v0_4_0_ecmult_context *ctx, rustsecp256k1_v0_4_0_scratch *scratch, rustsecp256k1_v0_4_0_gej *r, const rustsecp256k1_v0_4_0_scalar *inp_g_sc, rustsecp256k1_v0_4_0_ecmult_multi_callback cb, void *cbdata, size_t n) {
      warning:            ^
      warning: depend/secp256k1/src/ecmult_impl.h:621:12: warning: unused function 'rustsecp256k1_v0_4_0_ecmult_strauss_batch_single' [-Wunused-function]
      warning: static int rustsecp256k1_v0_4_0_ecmult_strauss_batch_single(const rustsecp256k1_v0_4_0_callback* error_callback, const rustsecp256k1_v0_4_0_ecmult_context *actx, rustsecp256k1_v0_4_0_scratch *scratch, rustsecp256k1_v0_4_0_gej *r, const rustsecp256k1_v0_4_0_scalar *inp_g_sc, rustsecp256k1_v0_4_0_ecmult_multi_callback cb, void *cbdata, size_t n) {
      warning:            ^
      warning: depend/secp256k1/src/ecmult_impl.h:863:15: warning: unused function 'rustsecp256k1_v0_4_0_pippenger_scratch_size' [-Wunused-function]
      warning: static size_t rustsecp256k1_v0_4_0_pippenger_scratch_size(size_t n_points, int bucket_window) {
      warning:               ^
      warning: depend/secp256k1/src/ecmult_impl.h:944:12: warning: unused function 'rustsecp256k1_v0_4_0_ecmult_pippenger_batch_single' [-Wunused-function]
      warning: static int rustsecp256k1_v0_4_0_ecmult_pippenger_batch_single(const rustsecp256k1_v0_4_0_callback* error_callback, const rustsecp256k1_v0_4_0_ecmult_context *actx, rustsecp256k1_v0_4_0_scratch *scratch, rustsecp256k1_v0_4_0_gej *r, const rustsecp256k1_v0_4_0_scalar *inp_g_sc, rustsecp256k1_v0_4_0_ecmult_multi_callback cb, void *cbdata, size_t n) {
      warning:            ^
      warning: error: unable to create target: 'No available targets are compatible with triple "wasm32-unknown-unknown"'
      warning: 19 warnings and 1 error generated.
    
      error: failed to run custom build command for `secp256k1-sys v0.4.0 (https://github.com/rust-bitcoin/rust-secp256k1?rev=8e61874#8e61874d)`
    
      Caused by:
        process didn't exit successfully: `/Users/ricky/src/github.com/interlay/interbtc/target/debug/wbuild/interlay-runtime-parachain/target/release/build/secp256k1-sys-43e947a380630527/build-script-build` (exit status: 1)
        --- stdout
        TARGET = Some("wasm32-unknown-unknown")
        OPT_LEVEL = Some("3")
        HOST = Some("aarch64-apple-darwin")
        CC_wasm32-unknown-unknown = None
        CC_wasm32_unknown_unknown = None
        TARGET_CC = None
        CC = None
        CFLAGS_wasm32-unknown-unknown = None
        CFLAGS_wasm32_unknown_unknown = None
        TARGET_CFLAGS = None
        CFLAGS = None
        CRATE_CC_NO_DEFAULTS = None
        DEBUG = Some("false")
        CC_wasm32-unknown-unknown = None
        CC_wasm32_unknown_unknown = None
        TARGET_CC = None
        CC = None
        CFLAGS_wasm32-unknown-unknown = None
        CFLAGS_wasm32_unknown_unknown = None
        TARGET_CFLAGS = None
        CFLAGS = None
        CRATE_CC_NO_DEFAULTS = None
        running: "clang" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=wasm32-unknown-unknown" "-I" "depend/secp256k1/" "-I" "depend/secp256k1/include" "-I" "depend/secp256k1/src" "-I" "wasm-sysroot" "-Wall" "-Wextra" "-DSECP256K1_BUILD=1" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-DECMULT_GEN_PREC_BITS=4" "-DUSE_NUM_NONE=1" "-DUSE_FIELD_INV_BUILTIN=1" "-DUSE_SCALAR_INV_BUILTIN=1" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-o" "/Users/ricky/src/github.com/interlay/interbtc/target/debug/wbuild/interlay-runtime-parachain/target/wasm32-unknown-unknown/release/build/secp256k1-sys-3f5230ae6475bb4d/out/depend/secp256k1/contrib/lax_der_parsing.o" "-c" "depend/secp256k1/contrib/lax_der_parsing.c"
        running: "clang" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=wasm32-unknown-unknown" "-I" "depend/secp256k1/" "-I" "depend/secp256k1/include" "-I" "depend/secp256k1/src" "-I" "wasm-sysroot" "-Wall" "-Wextra" "-DSECP256K1_BUILD=1" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-DECMULT_GEN_PREC_BITS=4" "-DUSE_NUM_NONE=1" "-DUSE_FIELD_INV_BUILTIN=1" "-DUSE_SCALAR_INV_BUILTIN=1" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-o" "/Users/ricky/src/github.com/interlay/interbtc/target/debug/wbuild/interlay-runtime-parachain/target/wasm32-unknown-unknown/release/build/secp256k1-sys-3f5230ae6475bb4d/out/depend/secp256k1/src/secp256k1.o" "-c" "depend/secp256k1/src/secp256k1.c"
        cargo:warning=In file included from depend/secp256k1/src/secp256k1.c:10:
        cargo:warning=In file included from depend/secp256k1/src/assumptions.h:12:
        cargo:warning=In file included from depend/secp256k1/src/util.h:16:
        cargo:warning=wasm-sysroot/stdio.h:4:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
        cargo:warning=extern const unsigned char WASM32_INT_SIZE = sizeof(int);
        cargo:warning=                           ^
        cargo:warning=wasm-sysroot/stdio.h:5:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
        cargo:warning=extern const unsigned char WASM32_INT_ALIGN = alignof(int);
        cargo:warning=                           ^
        cargo:warning=wasm-sysroot/stdio.h:7:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
        cargo:warning=extern const unsigned char WASM32_UNSIGNED_INT_SIZE = sizeof(unsigned int);
        cargo:warning=                           ^
        cargo:warning=wasm-sysroot/stdio.h:8:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
        cargo:warning=extern const unsigned char WASM32_UNSIGNED_INT_ALIGN = alignof(unsigned int);
        cargo:warning=                           ^
        cargo:warning=wasm-sysroot/stdio.h:10:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
        cargo:warning=extern const unsigned char WASM32_SIZE_T_SIZE = sizeof(size_t);
        cargo:warning=                           ^
        cargo:warning=wasm-sysroot/stdio.h:11:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
        cargo:warning=extern const unsigned char WASM32_SIZE_T_ALIGN = alignof(size_t);
        cargo:warning=                           ^
        cargo:warning=wasm-sysroot/stdio.h:13:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
        cargo:warning=extern const unsigned char WASM32_UNSIGNED_CHAR_SIZE = sizeof(unsigned char);
        cargo:warning=                           ^
        cargo:warning=wasm-sysroot/stdio.h:14:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
        cargo:warning=extern const unsigned char WASM32_UNSIGNED_CHAR_ALIGN = alignof(unsigned char);
        cargo:warning=                           ^
        cargo:warning=wasm-sysroot/stdio.h:16:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
        cargo:warning=extern const unsigned char WASM32_PTR_SIZE = sizeof(void*);
        cargo:warning=                           ^
        cargo:warning=wasm-sysroot/stdio.h:17:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
        cargo:warning=error: unable to create target: 'No available targets are compatible with triple "wasm32-unknown-unknown"'
        cargo:warning=extern const unsigned char WASM32_PTR_ALIGN = alignof(void*);
        cargo:warning=                           ^
        cargo:warning=1 error generated.
        exit status: 1
        cargo:warning=In file included from depend/secp256k1/src/secp256k1.c:13:
        cargo:warning=depend/secp256k1/src/field_impl.h:266:13: warning: unused function 'rustsecp256k1_v0_4_0_fe_inv_all_var' [-Wunused-function]
        cargo:warning=static void rustsecp256k1_v0_4_0_fe_inv_all_var(rustsecp256k1_v0_4_0_fe *r, const rustsecp256k1_v0_4_0_fe *a, size_t len) {
        cargo:warning=            ^
        cargo:warning=In file included from depend/secp256k1/src/secp256k1.c:15:
        cargo:warning=depend/secp256k1/src/group_impl.h:191:13: warning: unused function 'rustsecp256k1_v0_4_0_ge_set_infinity' [-Wunused-function]
        cargo:warning=static void rustsecp256k1_v0_4_0_ge_set_infinity(rustsecp256k1_v0_4_0_ge *r) {
        cargo:warning=            ^
        cargo:warning=depend/secp256k1/src/group_impl.h:658:12: warning: unused function 'rustsecp256k1_v0_4_0_gej_has_quad_y_var' [-Wunused-function]
        cargo:warning=static int rustsecp256k1_v0_4_0_gej_has_quad_y_var(const rustsecp256k1_v0_4_0_gej *a) {
        cargo:warning=           ^
        cargo:warning=In file included from depend/secp256k1/src/secp256k1.c:16:
        cargo:warning=In file included from depend/secp256k1/src/ecmult_impl.h:16:
        cargo:warning=In file included from depend/secp256k1/src/ecmult.h:13:
        cargo:warning=depend/secp256k1/src/scratch.h:24:38: warning: unused function 'rustsecp256k1_v0_4_0_scratch_create' [-Wunused-function]
        cargo:warning=static rustsecp256k1_v0_4_0_scratch* rustsecp256k1_v0_4_0_scratch_create(const rustsecp256k1_v0_4_0_callback* error_callback, size_t max_size);
        cargo:warning=                                     ^
        cargo:warning=depend/secp256k1/src/scratch.h:26:13: warning: unused function 'rustsecp256k1_v0_4_0_scratch_destroy' [-Wunused-function]
        cargo:warning=static void rustsecp256k1_v0_4_0_scratch_destroy(const rustsecp256k1_v0_4_0_callback* error_callback, rustsecp256k1_v0_4_0_scratch* scratch);
        cargo:warning=            ^
        cargo:warning=In file included from depend/secp256k1/src/secp256k1.c:16:
        cargo:warning=depend/secp256k1/src/ecmult_impl.h:1035:12: warning: unused function 'rustsecp256k1_v0_4_0_ecmult_multi_var' [-Wunused-function]
        cargo:warning=static int rustsecp256k1_v0_4_0_ecmult_multi_var(const rustsecp256k1_v0_4_0_callback* error_callback, const rustsecp256k1_v0_4_0_ecmult_context *ctx, rustsecp256k1_v0_4_0_scratch *scratch, rustsecp256k1_v0_4_0_gej *r, const rustsecp256k1_v0_4_0_scalar *inp_g_sc, rustsecp256k1_v0_4_0_ecmult_multi_callback cb, void *cbdata, size_t n) {
        cargo:warning=           ^
        cargo:warning=depend/secp256k1/src/ecmult_impl.h:621:12: warning: unused function 'rustsecp256k1_v0_4_0_ecmult_strauss_batch_single' [-Wunused-function]
        cargo:warning=static int rustsecp256k1_v0_4_0_ecmult_strauss_batch_single(const rustsecp256k1_v0_4_0_callback* error_callback, const rustsecp256k1_v0_4_0_ecmult_context *actx, rustsecp256k1_v0_4_0_scratch *scratch, rustsecp256k1_v0_4_0_gej *r, const rustsecp256k1_v0_4_0_scalar *inp_g_sc, rustsecp256k1_v0_4_0_ecmult_multi_callback cb, void *cbdata, size_t n) {
        cargo:warning=           ^
        cargo:warning=depend/secp256k1/src/ecmult_impl.h:863:15: warning: unused function 'rustsecp256k1_v0_4_0_pippenger_scratch_size' [-Wunused-function]
        cargo:warning=static size_t rustsecp256k1_v0_4_0_pippenger_scratch_size(size_t n_points, int bucket_window) {
        cargo:warning=              ^
        cargo:warning=depend/secp256k1/src/ecmult_impl.h:944:12: warning: unused function 'rustsecp256k1_v0_4_0_ecmult_pippenger_batch_single' [-Wunused-function]
        cargo:warning=static int rustsecp256k1_v0_4_0_ecmult_pippenger_batch_single(const rustsecp256k1_v0_4_0_callback* error_callback, const rustsecp256k1_v0_4_0_ecmult_context *actx, rustsecp256k1_v0_4_0_scratch *scratch, rustsecp256k1_v0_4_0_gej *r, const rustsecp256k1_v0_4_0_scalar *inp_g_sc, rustsecp256k1_v0_4_0_ecmult_multi_callback cb, void *cbdata, size_t n) {
        cargo:warning=           ^
        cargo:warning=error: unable to create target: 'No available targets are compatible with triple "wasm32-unknown-unknown"'
        cargo:warning=19 warnings and 1 error generated.
        exit status: 1
    
        --- stderr
    
    
        error occurred: Command "clang" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=wasm32-unknown-unknown" "-I" "depend/secp256k1/" "-I" "depend/secp256k1/include" "-I" "depend/secp256k1/src" "-I" "wasm-sysroot" "-Wall" "-Wextra" "-DSECP256K1_BUILD=1" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-DECMULT_GEN_PREC_BITS=4" "-DUSE_NUM_NONE=1" "-DUSE_FIELD_INV_BUILTIN=1" "-DUSE_SCALAR_INV_BUILTIN=1" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-o" "/Users/ricky/src/github.com/interlay/interbtc/target/debug/wbuild/interlay-runtime-parachain/target/wasm32-unknown-unknown/release/build/secp256k1-sys-3f5230ae6475bb4d/out/depend/secp256k1/contrib/lax_der_parsing.o" "-c" "depend/secp256k1/contrib/lax_der_parsing.c" with args "clang" did not execute successfully (status code exit status: 1).
    
    
      warning: build failed, waiting for other jobs to finish...
      error: build failed
    
    ricky[01:27:42][94%] in [~/src/github.com/interlay/interbtc/parachain/runtime/interlay][master]
    ->% cargo check -p interlay-runtime-parachain
       Compiling interlay-runtime-parachain v1.2.0 (/Users/ricky/src/github.com/interlay/interbtc/parachain/runtime/interlay)
    error: failed to run custom build command for `interlay-runtime-parachain v1.2.0 (/Users/ricky/src/github.com/interlay/interbtc/parachain/runtime/interlay)`
    
    Caused by:
      process didn't exit successfully: `/Users/ricky/src/github.com/interlay/interbtc/target/debug/build/interlay-runtime-parachain-7ef0e4838b0989e1/build-script-build` (exit status: 1)
      --- stdout
      Information that should be included in a bug report.
      Executing build command: "/Users/ricky/.rustup/toolchains/nightly-2022-02-08-aarch64-apple-darwin/bin/cargo" "rustc" "--target=wasm32-unknown-unknown" "--manifest-path=/Users/ricky/src/github.com/interlay/interbtc/target/debug/wbuild/interlay-runtime-parachain/Cargo.toml" "--color=always" "--release"
      Using rustc version: rustc 1.60.0-nightly (734368a20 2022-02-07)
    
    
      --- stderr
         Compiling secp256k1-sys v0.4.0 (https://github.com/rust-bitcoin/rust-secp256k1?rev=8e61874#8e61874d)
         Compiling frame-support v4.0.0-dev (https://github.com/paritytech/substrate?branch=polkadot-v0.9.16#4aeb95f7)
         Compiling sp-api v4.0.0-dev (https://github.com/paritytech/substrate?branch=polkadot-v0.9.16#4aeb95f7)
      The following warnings were emitted during compilation:
    
      warning: error: unable to create target: 'No available targets are compatible with triple "wasm32-unknown-unknown"'
      warning: In file included from depend/secp256k1/src/secp256k1.c:10:
      warning: In file included from depend/secp256k1/src/assumptions.h:12:
      warning: In file included from depend/secp256k1/src/util.h:16:
      warning: wasm-sysroot/stdio.h:4:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
      warning: extern const unsigned char WASM32_INT_SIZE = sizeof(int);
      warning:                            ^
      warning: wasm-sysroot/stdio.h:5:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
      warning: extern const unsigned char WASM32_INT_ALIGN = alignof(int);
      warning:                            ^
      warning: wasm-sysroot/stdio.h:7:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
      warning: 1 error generated.
      warning: extern const unsigned char WASM32_UNSIGNED_INT_SIZE = sizeof(unsigned int);
      warning:                            ^
      warning: wasm-sysroot/stdio.h:8:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
      warning: extern const unsigned char WASM32_UNSIGNED_INT_ALIGN = alignof(unsigned int);
      warning:                            ^
      warning: wasm-sysroot/stdio.h:10:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
      warning: extern const unsigned char WASM32_SIZE_T_SIZE = sizeof(size_t);
      warning:                            ^
      warning: wasm-sysroot/stdio.h:11:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
      warning: extern const unsigned char WASM32_SIZE_T_ALIGN = alignof(size_t);
      warning:                            ^
      warning: wasm-sysroot/stdio.h:13:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
      warning: extern const unsigned char WASM32_UNSIGNED_CHAR_SIZE = sizeof(unsigned char);
      warning:                            ^
      warning: wasm-sysroot/stdio.h:14:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
      warning: extern const unsigned char WASM32_UNSIGNED_CHAR_ALIGN = alignof(unsigned char);
      warning:                            ^
      warning: wasm-sysroot/stdio.h:16:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
      warning: extern const unsigned char WASM32_PTR_SIZE = sizeof(void*);
      warning:                            ^
      warning: wasm-sysroot/stdio.h:17:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
      warning: extern const unsigned char WASM32_PTR_ALIGN = alignof(void*);
      warning:                            ^
      warning: In file included from depend/secp256k1/src/secp256k1.c:13:
      warning: depend/secp256k1/src/field_impl.h:266:13: warning: unused function 'rustsecp256k1_v0_4_0_fe_inv_all_var' [-Wunused-function]
      warning: static void rustsecp256k1_v0_4_0_fe_inv_all_var(rustsecp256k1_v0_4_0_fe *r, const rustsecp256k1_v0_4_0_fe *a, size_t len) {
      warning:             ^
      warning: In file included from depend/secp256k1/src/secp256k1.c:15:
      warning: depend/secp256k1/src/group_impl.h:191:13: warning: unused function 'rustsecp256k1_v0_4_0_ge_set_infinity' [-Wunused-function]
      warning: static void rustsecp256k1_v0_4_0_ge_set_infinity(rustsecp256k1_v0_4_0_ge *r) {
      warning:             ^
      warning: depend/secp256k1/src/group_impl.h:658:12: warning: unused function 'rustsecp256k1_v0_4_0_gej_has_quad_y_var' [-Wunused-function]
      warning: static int rustsecp256k1_v0_4_0_gej_has_quad_y_var(const rustsecp256k1_v0_4_0_gej *a) {
      warning:            ^
      warning: In file included from depend/secp256k1/src/secp256k1.c:16:
      warning: In file included from depend/secp256k1/src/ecmult_impl.h:16:
      warning: In file included from depend/secp256k1/src/ecmult.h:13:
      warning: depend/secp256k1/src/scratch.h:24:38: warning: unused function 'rustsecp256k1_v0_4_0_scratch_create' [-Wunused-function]
      warning: static rustsecp256k1_v0_4_0_scratch* rustsecp256k1_v0_4_0_scratch_create(const rustsecp256k1_v0_4_0_callback* error_callback, size_t max_size);
      warning:                                      ^
      warning: depend/secp256k1/src/scratch.h:26:13: warning: unused function 'rustsecp256k1_v0_4_0_scratch_destroy' [-Wunused-function]
      warning: static void rustsecp256k1_v0_4_0_scratch_destroy(const rustsecp256k1_v0_4_0_callback* error_callback, rustsecp256k1_v0_4_0_scratch* scratch);
      warning:             ^
      warning: In file included from depend/secp256k1/src/secp256k1.c:16:
      warning: depend/secp256k1/src/ecmult_impl.h:1035:12: warning: unused function 'rustsecp256k1_v0_4_0_ecmult_multi_var' [-Wunused-function]
      warning: static int rustsecp256k1_v0_4_0_ecmult_multi_var(const rustsecp256k1_v0_4_0_callback* error_callback, const rustsecp256k1_v0_4_0_ecmult_context *ctx, rustsecp256k1_v0_4_0_scratch *scratch, rustsecp256k1_v0_4_0_gej *r, const rustsecp256k1_v0_4_0_scalar *inp_g_sc, rustsecp256k1_v0_4_0_ecmult_multi_callback cb, void *cbdata, size_t n) {
      warning:            ^
      warning: depend/secp256k1/src/ecmult_impl.h:621:12: warning: unused function 'rustsecp256k1_v0_4_0_ecmult_strauss_batch_single' [-Wunused-function]
      warning: static int rustsecp256k1_v0_4_0_ecmult_strauss_batch_single(const rustsecp256k1_v0_4_0_callback* error_callback, const rustsecp256k1_v0_4_0_ecmult_context *actx, rustsecp256k1_v0_4_0_scratch *scratch, rustsecp256k1_v0_4_0_gej *r, const rustsecp256k1_v0_4_0_scalar *inp_g_sc, rustsecp256k1_v0_4_0_ecmult_multi_callback cb, void *cbdata, size_t n) {
      warning:            ^
      warning: depend/secp256k1/src/ecmult_impl.h:863:15: warning: unused function 'rustsecp256k1_v0_4_0_pippenger_scratch_size' [-Wunused-function]
      warning: static size_t rustsecp256k1_v0_4_0_pippenger_scratch_size(size_t n_points, int bucket_window) {
      warning:               ^
      warning: depend/secp256k1/src/ecmult_impl.h:944:12: warning: unused function 'rustsecp256k1_v0_4_0_ecmult_pippenger_batch_single' [-Wunused-function]
      warning: static int rustsecp256k1_v0_4_0_ecmult_pippenger_batch_single(const rustsecp256k1_v0_4_0_callback* error_callback, const rustsecp256k1_v0_4_0_ecmult_context *actx, rustsecp256k1_v0_4_0_scratch *scratch, rustsecp256k1_v0_4_0_gej *r, const rustsecp256k1_v0_4_0_scalar *inp_g_sc, rustsecp256k1_v0_4_0_ecmult_multi_callback cb, void *cbdata, size_t n) {
      warning:            ^
      warning: error: unable to create target: 'No available targets are compatible with triple "wasm32-unknown-unknown"'
      warning: 19 warnings and 1 error generated.
    
      error: failed to run custom build command for `secp256k1-sys v0.4.0 (https://github.com/rust-bitcoin/rust-secp256k1?rev=8e61874#8e61874d)`
    
      Caused by:
        process didn't exit successfully: `/Users/ricky/src/github.com/interlay/interbtc/target/debug/wbuild/interlay-runtime-parachain/target/release/build/secp256k1-sys-43e947a380630527/build-script-build` (exit status: 1)
        --- stdout
        TARGET = Some("wasm32-unknown-unknown")
        OPT_LEVEL = Some("3")
        HOST = Some("aarch64-apple-darwin")
        CC_wasm32-unknown-unknown = None
        CC_wasm32_unknown_unknown = None
        TARGET_CC = None
        CC = None
        CFLAGS_wasm32-unknown-unknown = None
        CFLAGS_wasm32_unknown_unknown = None
        TARGET_CFLAGS = None
        CFLAGS = None
        CRATE_CC_NO_DEFAULTS = None
        DEBUG = Some("false")
        CC_wasm32-unknown-unknown = None
        CC_wasm32_unknown_unknown = None
        TARGET_CC = None
        CC = None
        CFLAGS_wasm32-unknown-unknown = None
        CFLAGS_wasm32_unknown_unknown = None
        TARGET_CFLAGS = None
        CFLAGS = None
        CRATE_CC_NO_DEFAULTS = None
        running: "clang" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=wasm32-unknown-unknown" "-I" "depend/secp256k1/" "-I" "depend/secp256k1/include" "-I" "depend/secp256k1/src" "-I" "wasm-sysroot" "-Wall" "-Wextra" "-DSECP256K1_BUILD=1" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-DECMULT_GEN_PREC_BITS=4" "-DUSE_NUM_NONE=1" "-DUSE_FIELD_INV_BUILTIN=1" "-DUSE_SCALAR_INV_BUILTIN=1" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-o" "/Users/ricky/src/github.com/interlay/interbtc/target/debug/wbuild/interlay-runtime-parachain/target/wasm32-unknown-unknown/release/build/secp256k1-sys-3f5230ae6475bb4d/out/depend/secp256k1/src/secp256k1.o" "-c" "depend/secp256k1/src/secp256k1.c"
        running: "clang" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=wasm32-unknown-unknown" "-I" "depend/secp256k1/" "-I" "depend/secp256k1/include" "-I" "depend/secp256k1/src" "-I" "wasm-sysroot" "-Wall" "-Wextra" "-DSECP256K1_BUILD=1" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-DECMULT_GEN_PREC_BITS=4" "-DUSE_NUM_NONE=1" "-DUSE_FIELD_INV_BUILTIN=1" "-DUSE_SCALAR_INV_BUILTIN=1" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-o" "/Users/ricky/src/github.com/interlay/interbtc/target/debug/wbuild/interlay-runtime-parachain/target/wasm32-unknown-unknown/release/build/secp256k1-sys-3f5230ae6475bb4d/out/depend/secp256k1/contrib/lax_der_parsing.o" "-c" "depend/secp256k1/contrib/lax_der_parsing.c"
        cargo:warning=error: unable to create target: 'No available targets are compatible with triple "wasm32-unknown-unknown"'
        cargo:warning=In file included from depend/secp256k1/src/secp256k1.c:10:
        cargo:warning=In file included from depend/secp256k1/src/assumptions.h:12:
        cargo:warning=In file included from depend/secp256k1/src/util.h:16:
        cargo:warning=wasm-sysroot/stdio.h:4:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
        cargo:warning=extern const unsigned char WASM32_INT_SIZE = sizeof(int);
        cargo:warning=                           ^
        cargo:warning=wasm-sysroot/stdio.h:5:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
        cargo:warning=extern const unsigned char WASM32_INT_ALIGN = alignof(int);
        cargo:warning=                           ^
        cargo:warning=wasm-sysroot/stdio.h:7:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
        cargo:warning=1 error generated.
        cargo:warning=extern const unsigned char WASM32_UNSIGNED_INT_SIZE = sizeof(unsigned int);
        cargo:warning=                           ^
        cargo:warning=wasm-sysroot/stdio.h:8:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
        cargo:warning=extern const unsigned char WASM32_UNSIGNED_INT_ALIGN = alignof(unsigned int);
        cargo:warning=                           ^
        cargo:warning=wasm-sysroot/stdio.h:10:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
        cargo:warning=extern const unsigned char WASM32_SIZE_T_SIZE = sizeof(size_t);
        cargo:warning=                           ^
        cargo:warning=wasm-sysroot/stdio.h:11:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
        cargo:warning=extern const unsigned char WASM32_SIZE_T_ALIGN = alignof(size_t);
        cargo:warning=                           ^
        cargo:warning=wasm-sysroot/stdio.h:13:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
        cargo:warning=extern const unsigned char WASM32_UNSIGNED_CHAR_SIZE = sizeof(unsigned char);
        cargo:warning=                           ^
        cargo:warning=wasm-sysroot/stdio.h:14:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
        cargo:warning=extern const unsigned char WASM32_UNSIGNED_CHAR_ALIGN = alignof(unsigned char);
        cargo:warning=                           ^
        cargo:warning=wasm-sysroot/stdio.h:16:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
        cargo:warning=extern const unsigned char WASM32_PTR_SIZE = sizeof(void*);
        cargo:warning=                           ^
        cargo:warning=wasm-sysroot/stdio.h:17:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
        cargo:warning=extern const unsigned char WASM32_PTR_ALIGN = alignof(void*);
        cargo:warning=                           ^
        exit status: 1
        cargo:warning=In file included from depend/secp256k1/src/secp256k1.c:13:
        cargo:warning=depend/secp256k1/src/field_impl.h:266:13: warning: unused function 'rustsecp256k1_v0_4_0_fe_inv_all_var' [-Wunused-function]
        cargo:warning=static void rustsecp256k1_v0_4_0_fe_inv_all_var(rustsecp256k1_v0_4_0_fe *r, const rustsecp256k1_v0_4_0_fe *a, size_t len) {
        cargo:warning=            ^
        cargo:warning=In file included from depend/secp256k1/src/secp256k1.c:15:
        cargo:warning=depend/secp256k1/src/group_impl.h:191:13: warning: unused function 'rustsecp256k1_v0_4_0_ge_set_infinity' [-Wunused-function]
        cargo:warning=static void rustsecp256k1_v0_4_0_ge_set_infinity(rustsecp256k1_v0_4_0_ge *r) {
        cargo:warning=            ^
        cargo:warning=depend/secp256k1/src/group_impl.h:658:12: warning: unused function 'rustsecp256k1_v0_4_0_gej_has_quad_y_var' [-Wunused-function]
        cargo:warning=static int rustsecp256k1_v0_4_0_gej_has_quad_y_var(const rustsecp256k1_v0_4_0_gej *a) {
        cargo:warning=           ^
        cargo:warning=In file included from depend/secp256k1/src/secp256k1.c:16:
        cargo:warning=In file included from depend/secp256k1/src/ecmult_impl.h:16:
        cargo:warning=In file included from depend/secp256k1/src/ecmult.h:13:
        cargo:warning=depend/secp256k1/src/scratch.h:24:38: warning: unused function 'rustsecp256k1_v0_4_0_scratch_create' [-Wunused-function]
        cargo:warning=static rustsecp256k1_v0_4_0_scratch* rustsecp256k1_v0_4_0_scratch_create(const rustsecp256k1_v0_4_0_callback* error_callback, size_t max_size);
        cargo:warning=                                     ^
        cargo:warning=depend/secp256k1/src/scratch.h:26:13: warning: unused function 'rustsecp256k1_v0_4_0_scratch_destroy' [-Wunused-function]
        cargo:warning=static void rustsecp256k1_v0_4_0_scratch_destroy(const rustsecp256k1_v0_4_0_callback* error_callback, rustsecp256k1_v0_4_0_scratch* scratch);
        cargo:warning=            ^
        cargo:warning=In file included from depend/secp256k1/src/secp256k1.c:16:
        cargo:warning=depend/secp256k1/src/ecmult_impl.h:1035:12: warning: unused function 'rustsecp256k1_v0_4_0_ecmult_multi_var' [-Wunused-function]
        cargo:warning=static int rustsecp256k1_v0_4_0_ecmult_multi_var(const rustsecp256k1_v0_4_0_callback* error_callback, const rustsecp256k1_v0_4_0_ecmult_context *ctx, rustsecp256k1_v0_4_0_scratch *scratch, rustsecp256k1_v0_4_0_gej *r, const rustsecp256k1_v0_4_0_scalar *inp_g_sc, rustsecp256k1_v0_4_0_ecmult_multi_callback cb, void *cbdata, size_t n) {
        cargo:warning=           ^
        cargo:warning=depend/secp256k1/src/ecmult_impl.h:621:12: warning: unused function 'rustsecp256k1_v0_4_0_ecmult_strauss_batch_single' [-Wunused-function]
        cargo:warning=static int rustsecp256k1_v0_4_0_ecmult_strauss_batch_single(const rustsecp256k1_v0_4_0_callback* error_callback, const rustsecp256k1_v0_4_0_ecmult_context *actx, rustsecp256k1_v0_4_0_scratch *scratch, rustsecp256k1_v0_4_0_gej *r, const rustsecp256k1_v0_4_0_scalar *inp_g_sc, rustsecp256k1_v0_4_0_ecmult_multi_callback cb, void *cbdata, size_t n) {
        cargo:warning=           ^
        cargo:warning=depend/secp256k1/src/ecmult_impl.h:863:15: warning: unused function 'rustsecp256k1_v0_4_0_pippenger_scratch_size' [-Wunused-function]
        cargo:warning=static size_t rustsecp256k1_v0_4_0_pippenger_scratch_size(size_t n_points, int bucket_window) {
        cargo:warning=              ^
        cargo:warning=depend/secp256k1/src/ecmult_impl.h:944:12: warning: unused function 'rustsecp256k1_v0_4_0_ecmult_pippenger_batch_single' [-Wunused-function]
        cargo:warning=static int rustsecp256k1_v0_4_0_ecmult_pippenger_batch_single(const rustsecp256k1_v0_4_0_callback* error_callback, const rustsecp256k1_v0_4_0_ecmult_context *actx, rustsecp256k1_v0_4_0_scratch *scratch, rustsecp256k1_v0_4_0_gej *r, const rustsecp256k1_v0_4_0_scalar *inp_g_sc, rustsecp256k1_v0_4_0_ecmult_multi_callback cb, void *cbdata, size_t n) {
        cargo:warning=           ^
        cargo:warning=error: unable to create target: 'No available targets are compatible with triple "wasm32-unknown-unknown"'
        cargo:warning=19 warnings and 1 error generated.
        exit status: 1
    
        --- stderr
    
    
        error occurred: Command "clang" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=wasm32-unknown-unknown" "-I" "depend/secp256k1/" "-I" "depend/secp256k1/include" "-I" "depend/secp256k1/src" "-I" "wasm-sysroot" "-Wall" "-Wextra" "-DSECP256K1_BUILD=1" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-DECMULT_GEN_PREC_BITS=4" "-DUSE_NUM_NONE=1" "-DUSE_FIELD_INV_BUILTIN=1" "-DUSE_SCALAR_INV_BUILTIN=1" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-o" "/Users/ricky/src/github.com/interlay/interbtc/target/debug/wbuild/interlay-runtime-parachain/target/wasm32-unknown-unknown/release/build/secp256k1-sys-3f5230ae6475bb4d/out/depend/secp256k1/contrib/lax_der_parsing.o" "-c" "depend/secp256k1/contrib/lax_der_parsing.c" with args "clang" did not execute successfully (status code exit status: 1).
    
    
      warning: build failed, waiting for other jobs to finish...
      error: build failed
    
    intel Mac

    rustup show

    active toolchain
    ----------------
    
    nightly-2022-02-08-x86_64-apple-darwin (overridden by '/Users/ricky/src/github.com/interlay/interbtc/rust-toolchain.toml')
    rustc 1.60.0-nightly (734368a20 2022-02-07)
    
    ->% cargo check -p interlay-runtime-parachain
    Checking arrayvec v0.7.2
    Compiling serde_json v1.0.78
    Checking gimli v0.26.1
    Compiling num-bigint v0.2.6
    Compiling num-rational v0.2.4
    Compiling indexmap v1.8.0
    Checking libc v0.2.117
    Checking object v0.27.1
    Checking bitvec v0.20.4
    Compiling interlay-runtime-parachain v1.2.0 (/Users/ricky/src/github.com/interlay/interbtc/parachain/runtime/interlay)
    Checking getrandom v0.2.4
    Checking num_cpus v1.13.1
    Checking parking_lot_core v0.8.5
    Checking getrandom v0.1.16
    Checking time v0.1.44
    Checking signal-hook-registry v1.4.0
    Checking socket2 v0.4.4
    Checking polling v2.2.0
    Checking mio v0.7.14
    Checking zstd-sys v1.6.2+zstd.1.5.1
    Checking hostname v0.3.1
    Checking flate2 v1.0.22
    Checking if-addrs v0.6.7
    Checking net2 v0.2.37
    Checking iovec v0.1.4
    Checking security-framework-sys v2.6.0
    Checking core-foundation v0.9.2
    Checking atty v0.2.14
    Checking lz4-sys v1.9.2
    Checking librocksdb-sys v6.20.3
    Checking memmap2 v0.5.2
    Checking fs-swap v0.2.6
    Checking memmap2 v0.2.3
    Checking fs2 v0.4.3
    Checking dirs-sys v0.3.6
    Checking tempfile v3.3.0
    Checking fdlimit v0.2.1
    Checking rpassword v5.0.1
    Checking futures-executor v0.3.19
    Checking threadpool v1.8.1
    Checking rand_core v0.6.3
    Checking ahash v0.7.6
    Checking rand_core v0.5.1
    Checking parking_lot v0.11.2
    Checking signal-hook v0.3.13
    Checking zstd-safe v4.1.3+zstd.1.5.1
    Checking chrono v0.4.19
    Checking resolv-conf v0.7.0
    Checking async-io v1.6.0
    Checking bytes v0.4.12
    Checking clap v2.34.0
    Checking lz4 v1.23.2
    Checking mio v0.6.23
    Checking rocksdb v0.17.0
    Checking directories v4.0.1
    Checking tokio v1.16.1
    Checking security-framework v2.6.0
    Checking thrift v0.15.0
    Checking futures v0.3.19
    Checking rand_chacha v0.3.1
    Checking snow v0.8.0
    Checking sp-serializer v4.0.0-dev (https://github.com/paritytech/substrate?branch=polkadot-v0.9.16#4aeb95f7)
    Checking rand_pcg v0.2.1
    Checking rand_chacha v0.2.2
    Checking curve25519-dalek v3.2.0
    Checking merlin v2.0.1
    Checking curve25519-dalek v2.1.3
    Checking hashbrown v0.11.2
    Checking hashbrown v0.12.0
    Checking prometheus v0.13.0
    Checking zstd v0.9.2+zstd.1.5.1
    Checking async-global-executor v2.0.2
    Checking async-process v1.3.0
    Checking if-watch v0.2.2
    Checking mio-extras v2.0.6
    Checking tracing-subscriber v0.2.25
    Checking multistream-select v0.10.4
    Checking rw-stream-sink v0.2.1
    Checking wasm-timer v0.2.5
    Checking jsonrpc-core v18.0.0
    Checking exit-future v0.2.0
    Checking metered-channel v0.9.16 (https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d)
    Checking rand v0.8.4
    Checking rand v0.7.3
    Checking rustls-native-certs v0.5.0
    Checking parity-scale-codec v2.3.1
    Checking addr2line v0.17.0
    Checking async-std v1.10.0
    Checking sp-maybe-compressed-blob v4.1.0-dev (https://github.com/paritytech/substrate?branch=polkadot-v0.9.16#4aeb95f7)
    Checking lru v0.6.6
    Checking lru v0.7.2
    Checking x25519-dalek v1.1.1
    Checking sc-utils v4.0.0-dev (https://github.com/paritytech/substrate?branch=polkadot-v0.9.16#4aeb95f7)
    Checking trie-db v0.23.1
    Checking structopt v0.3.26
    Checking backtrace v0.3.64
    Checking wasmi v0.9.1
    error: failed to run custom build command for `interlay-runtime-parachain v1.2.0 (/Users/ricky/src/github.com/interlay/interbtc/parachain/runtime/interlay)`
    
    Caused by:
    process didn't exit successfully: `/Users/ricky/src/github.com/interlay/interbtc/target/debug/build/interlay-runtime-parachain-b02fba5cdef123ee/build-script-build` (exit status: 1)
    --- stdout
    Information that should be included in a bug report.
    Executing build command: "/Users/ricky/.rustup/toolchains/nightly-2022-02-08-x86_64-apple-darwin/bin/cargo" "rustc" "--target=wasm32-unknown-unknown" "--manifest-path=/Users/ricky/src/github.com/interlay/interbtc/target/debug/wbuild/interlay-runtime-parachain/Cargo.toml" "--color=always" "--release"
    Using rustc version: rustc 1.60.0-nightly (734368a20 2022-02-07)
    
    
    --- stderr
    Compiling secp256k1-sys v0.4.0 (https://github.com/rust-bitcoin/rust-secp256k1?rev=8e61874#8e61874d)
    Compiling camino v1.0.7
    Compiling semver v1.0.4
    The following warnings were emitted during compilation:
    
    warning: error: unable to create target: 'No available targets are compatible with triple "wasm32-unknown-unknown"'
    warning: 1 error generated.
    warning: In file included from depend/secp256k1/src/secp256k1.c:10:
    warning: In file included from depend/secp256k1/src/assumptions.h:12:
    warning: In file included from depend/secp256k1/src/util.h:16:
    warning: wasm-sysroot/stdio.h:4:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
    warning: extern const unsigned char WASM32_INT_SIZE = sizeof(int);
    warning:                            ^
    warning: wasm-sysroot/stdio.h:5:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
    warning: extern const unsigned char WASM32_INT_ALIGN = alignof(int);
    warning:                            ^
    warning: wasm-sysroot/stdio.h:7:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
    warning: extern const unsigned char WASM32_UNSIGNED_INT_SIZE = sizeof(unsigned int);
    warning:                            ^
    warning: wasm-sysroot/stdio.h:8:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
    warning: extern const unsigned char WASM32_UNSIGNED_INT_ALIGN = alignof(unsigned int);
    warning:                            ^
    warning: wasm-sysroot/stdio.h:10:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
    warning: extern const unsigned char WASM32_SIZE_T_SIZE = sizeof(size_t);
    warning:                            ^
    warning: wasm-sysroot/stdio.h:11:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
    warning: extern const unsigned char WASM32_SIZE_T_ALIGN = alignof(size_t);
    warning:                            ^
    warning: wasm-sysroot/stdio.h:13:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
    warning: extern const unsigned char WASM32_UNSIGNED_CHAR_SIZE = sizeof(unsigned char);
    warning:                            ^
    warning: wasm-sysroot/stdio.h:14:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
    warning: extern const unsigned char WASM32_UNSIGNED_CHAR_ALIGN = alignof(unsigned char);
    warning:                            ^
    warning: wasm-sysroot/stdio.h:16:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
    warning: extern const unsigned char WASM32_PTR_SIZE = sizeof(void*);
    warning:                            ^
    warning: wasm-sysroot/stdio.h:17:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
    warning: extern const unsigned char WASM32_PTR_ALIGN = alignof(void*);
    warning:                            ^
    warning: In file included from depend/secp256k1/src/secp256k1.c:13:
    warning: depend/secp256k1/src/field_impl.h:266:13: warning: unused function 'rustsecp256k1_v0_4_0_fe_inv_all_var' [-Wunused-function]
    warning: static void rustsecp256k1_v0_4_0_fe_inv_all_var(rustsecp256k1_v0_4_0_fe *r, const rustsecp256k1_v0_4_0_fe *a, size_t len) {
    warning:             ^
    warning: In file included from depend/secp256k1/src/secp256k1.c:15:
    warning: depend/secp256k1/src/group_impl.h:191:13: warning: unused function 'rustsecp256k1_v0_4_0_ge_set_infinity' [-Wunused-function]
    warning: static void rustsecp256k1_v0_4_0_ge_set_infinity(rustsecp256k1_v0_4_0_ge *r) {
    warning:             ^
    warning: depend/secp256k1/src/group_impl.h:658:12: warning: unused function 'rustsecp256k1_v0_4_0_gej_has_quad_y_var' [-Wunused-function]
    warning: static int rustsecp256k1_v0_4_0_gej_has_quad_y_var(const rustsecp256k1_v0_4_0_gej *a) {
    warning:            ^
    warning: In file included from depend/secp256k1/src/secp256k1.c:16:
    warning: In file included from depend/secp256k1/src/ecmult_impl.h:16:
    warning: In file included from depend/secp256k1/src/ecmult.h:13:
    warning: depend/secp256k1/src/scratch.h:24:38: warning: unused function 'rustsecp256k1_v0_4_0_scratch_create' [-Wunused-function]
    warning: static rustsecp256k1_v0_4_0_scratch* rustsecp256k1_v0_4_0_scratch_create(const rustsecp256k1_v0_4_0_callback* error_callback, size_t max_size);
    warning:                                      ^
    warning: depend/secp256k1/src/scratch.h:26:13: warning: unused function 'rustsecp256k1_v0_4_0_scratch_destroy' [-Wunused-function]
    warning: static void rustsecp256k1_v0_4_0_scratch_destroy(const rustsecp256k1_v0_4_0_callback* error_callback, rustsecp256k1_v0_4_0_scratch* scratch);
    warning:             ^
    warning: In file included from depend/secp256k1/src/secp256k1.c:16:
    warning: depend/secp256k1/src/ecmult_impl.h:1035:12: warning: unused function 'rustsecp256k1_v0_4_0_ecmult_multi_var' [-Wunused-function]
    warning: static int rustsecp256k1_v0_4_0_ecmult_multi_var(const rustsecp256k1_v0_4_0_callback* error_callback, const rustsecp256k1_v0_4_0_ecmult_context *ctx, rustsecp256k1_v0_4_0_scratch *scratch, rustsecp256k1_v0_4_0_gej *r, const rustsecp256k1_v0_4_0_scalar *inp_g_sc, rustsecp256k1_v0_4_0_ecmult_multi_callback cb, void *cbdata, size_t n) {
    warning:            ^
    warning: depend/secp256k1/src/ecmult_impl.h:621:12: warning: unused function 'rustsecp256k1_v0_4_0_ecmult_strauss_batch_single' [-Wunused-function]
    warning: static int rustsecp256k1_v0_4_0_ecmult_strauss_batch_single(const rustsecp256k1_v0_4_0_callback* error_callback, const rustsecp256k1_v0_4_0_ecmult_context *actx, rustsecp256k1_v0_4_0_scratch *scratch, rustsecp256k1_v0_4_0_gej *r, const rustsecp256k1_v0_4_0_scalar *inp_g_sc, rustsecp256k1_v0_4_0_ecmult_multi_callback cb, void *cbdata, size_t n) {
    warning:            ^
    warning: depend/secp256k1/src/ecmult_impl.h:863:15: warning: unused function 'rustsecp256k1_v0_4_0_pippenger_scratch_size' [-Wunused-function]
    warning: static size_t rustsecp256k1_v0_4_0_pippenger_scratch_size(size_t n_points, int bucket_window) {
    warning:               ^
    warning: depend/secp256k1/src/ecmult_impl.h:944:12: warning: unused function 'rustsecp256k1_v0_4_0_ecmult_pippenger_batch_single' [-Wunused-function]
    warning: static int rustsecp256k1_v0_4_0_ecmult_pippenger_batch_single(const rustsecp256k1_v0_4_0_callback* error_callback, const rustsecp256k1_v0_4_0_ecmult_context *actx, rustsecp256k1_v0_4_0_scratch *scratch, rustsecp256k1_v0_4_0_gej *r, const rustsecp256k1_v0_4_0_scalar *inp_g_sc, rustsecp256k1_v0_4_0_ecmult_multi_callback cb, void *cbdata, size_t n) {
    warning:            ^
    warning: error: unable to create target: 'No available targets are compatible with triple "wasm32-unknown-unknown"'
    warning: 19 warnings and 1 error generated.
    
    error: failed to run custom build command for `secp256k1-sys v0.4.0 (https://github.com/rust-bitcoin/rust-secp256k1?rev=8e61874#8e61874d)`
    
    Caused by:
    process didn't exit successfully: `/Users/ricky/src/github.com/interlay/interbtc/target/debug/wbuild/interlay-runtime-parachain/target/release/build/secp256k1-sys-f8c14f22d8d8bc02/build-script-build` (exit status: 1)
    --- stdout
    TARGET = Some("wasm32-unknown-unknown")
    OPT_LEVEL = Some("3")
    HOST = Some("x86_64-apple-darwin")
    CC_wasm32-unknown-unknown = None
    CC_wasm32_unknown_unknown = None
    TARGET_CC = None
    CC = None
    CFLAGS_wasm32-unknown-unknown = None
    CFLAGS_wasm32_unknown_unknown = None
    TARGET_CFLAGS = None
    CFLAGS = None
    CRATE_CC_NO_DEFAULTS = None
    DEBUG = Some("false")
    CC_wasm32-unknown-unknown = None
    CC_wasm32_unknown_unknown = None
    TARGET_CC = None
    CC = None
    CFLAGS_wasm32-unknown-unknown = None
    CFLAGS_wasm32_unknown_unknown = None
    TARGET_CFLAGS = None
    CFLAGS = None
    CRATE_CC_NO_DEFAULTS = None
    running: "clang" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=wasm32-unknown-unknown" "-I" "depend/secp256k1/" "-I" "depend/secp256k1/include" "-I" "depend/secp256k1/src" "-I" "wasm-sysroot" "-Wall" "-Wextra" "-DSECP256K1_BUILD=1" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-DECMULT_GEN_PREC_BITS=4" "-DUSE_NUM_NONE=1" "-DUSE_FIELD_INV_BUILTIN=1" "-DUSE_SCALAR_INV_BUILTIN=1" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-o" "/Users/ricky/src/github.com/interlay/interbtc/target/debug/wbuild/interlay-runtime-parachain/target/wasm32-unknown-unknown/release/build/secp256k1-sys-b5ab6a393d49d7df/out/depend/secp256k1/contrib/lax_der_parsing.o" "-c" "depend/secp256k1/contrib/lax_der_parsing.c"
    cargo:warning=error: unable to create target: 'No available targets are compatible with triple "wasm32-unknown-unknown"'
    cargo:warning=1 error generated.
    exit status: 1
    running: "clang" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=wasm32-unknown-unknown" "-I" "depend/secp256k1/" "-I" "depend/secp256k1/include" "-I" "depend/secp256k1/src" "-I" "wasm-sysroot" "-Wall" "-Wextra" "-DSECP256K1_BUILD=1" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-DECMULT_GEN_PREC_BITS=4" "-DUSE_NUM_NONE=1" "-DUSE_FIELD_INV_BUILTIN=1" "-DUSE_SCALAR_INV_BUILTIN=1" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-o" "/Users/ricky/src/github.com/interlay/interbtc/target/debug/wbuild/interlay-runtime-parachain/target/wasm32-unknown-unknown/release/build/secp256k1-sys-b5ab6a393d49d7df/out/depend/secp256k1/src/secp256k1.o" "-c" "depend/secp256k1/src/secp256k1.c"
    cargo:warning=In file included from depend/secp256k1/src/secp256k1.c:10:
    cargo:warning=In file included from depend/secp256k1/src/assumptions.h:12:
    cargo:warning=In file included from depend/secp256k1/src/util.h:16:
    cargo:warning=wasm-sysroot/stdio.h:4:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
    cargo:warning=extern const unsigned char WASM32_INT_SIZE = sizeof(int);
    cargo:warning=                           ^
    cargo:warning=wasm-sysroot/stdio.h:5:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
    cargo:warning=extern const unsigned char WASM32_INT_ALIGN = alignof(int);
    cargo:warning=                           ^
    cargo:warning=wasm-sysroot/stdio.h:7:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
    cargo:warning=extern const unsigned char WASM32_UNSIGNED_INT_SIZE = sizeof(unsigned int);
    cargo:warning=                           ^
    cargo:warning=wasm-sysroot/stdio.h:8:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
    cargo:warning=extern const unsigned char WASM32_UNSIGNED_INT_ALIGN = alignof(unsigned int);
    cargo:warning=                           ^
    cargo:warning=wasm-sysroot/stdio.h:10:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
    cargo:warning=extern const unsigned char WASM32_SIZE_T_SIZE = sizeof(size_t);
    cargo:warning=                           ^
    cargo:warning=wasm-sysroot/stdio.h:11:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
    cargo:warning=extern const unsigned char WASM32_SIZE_T_ALIGN = alignof(size_t);
    cargo:warning=                           ^
    cargo:warning=wasm-sysroot/stdio.h:13:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
    cargo:warning=extern const unsigned char WASM32_UNSIGNED_CHAR_SIZE = sizeof(unsigned char);
    cargo:warning=                           ^
    cargo:warning=wasm-sysroot/stdio.h:14:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
    cargo:warning=extern const unsigned char WASM32_UNSIGNED_CHAR_ALIGN = alignof(unsigned char);
    cargo:warning=                           ^
    cargo:warning=wasm-sysroot/stdio.h:16:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
    cargo:warning=extern const unsigned char WASM32_PTR_SIZE = sizeof(void*);
    cargo:warning=                           ^
    cargo:warning=wasm-sysroot/stdio.h:17:28: warning: 'extern' variable has an initializer [-Wextern-initializer]
    cargo:warning=extern const unsigned char WASM32_PTR_ALIGN = alignof(void*);
    cargo:warning=                           ^
    cargo:warning=In file included from depend/secp256k1/src/secp256k1.c:13:
    cargo:warning=depend/secp256k1/src/field_impl.h:266:13: warning: unused function 'rustsecp256k1_v0_4_0_fe_inv_all_var' [-Wunused-function]
    cargo:warning=static void rustsecp256k1_v0_4_0_fe_inv_all_var(rustsecp256k1_v0_4_0_fe *r, const rustsecp256k1_v0_4_0_fe *a, size_t len) {
    cargo:warning=            ^
    cargo:warning=In file included from depend/secp256k1/src/secp256k1.c:15:
    cargo:warning=depend/secp256k1/src/group_impl.h:191:13: warning: unused function 'rustsecp256k1_v0_4_0_ge_set_infinity' [-Wunused-function]
    cargo:warning=static void rustsecp256k1_v0_4_0_ge_set_infinity(rustsecp256k1_v0_4_0_ge *r) {
    cargo:warning=            ^
    cargo:warning=depend/secp256k1/src/group_impl.h:658:12: warning: unused function 'rustsecp256k1_v0_4_0_gej_has_quad_y_var' [-Wunused-function]
    cargo:warning=static int rustsecp256k1_v0_4_0_gej_has_quad_y_var(const rustsecp256k1_v0_4_0_gej *a) {
    cargo:warning=           ^
    cargo:warning=In file included from depend/secp256k1/src/secp256k1.c:16:
    cargo:warning=In file included from depend/secp256k1/src/ecmult_impl.h:16:
    cargo:warning=In file included from depend/secp256k1/src/ecmult.h:13:
    cargo:warning=depend/secp256k1/src/scratch.h:24:38: warning: unused function 'rustsecp256k1_v0_4_0_scratch_create' [-Wunused-function]
    cargo:warning=static rustsecp256k1_v0_4_0_scratch* rustsecp256k1_v0_4_0_scratch_create(const rustsecp256k1_v0_4_0_callback* error_callback, size_t max_size);
    cargo:warning=                                     ^
    cargo:warning=depend/secp256k1/src/scratch.h:26:13: warning: unused function 'rustsecp256k1_v0_4_0_scratch_destroy' [-Wunused-function]
    cargo:warning=static void rustsecp256k1_v0_4_0_scratch_destroy(const rustsecp256k1_v0_4_0_callback* error_callback, rustsecp256k1_v0_4_0_scratch* scratch);
    cargo:warning=            ^
    cargo:warning=In file included from depend/secp256k1/src/secp256k1.c:16:
    cargo:warning=depend/secp256k1/src/ecmult_impl.h:1035:12: warning: unused function 'rustsecp256k1_v0_4_0_ecmult_multi_var' [-Wunused-function]
    cargo:warning=static int rustsecp256k1_v0_4_0_ecmult_multi_var(const rustsecp256k1_v0_4_0_callback* error_callback, const rustsecp256k1_v0_4_0_ecmult_context *ctx, rustsecp256k1_v0_4_0_scratch *scratch, rustsecp256k1_v0_4_0_gej *r, const rustsecp256k1_v0_4_0_scalar *inp_g_sc, rustsecp256k1_v0_4_0_ecmult_multi_callback cb, void *cbdata, size_t n) {
    cargo:warning=           ^
    cargo:warning=depend/secp256k1/src/ecmult_impl.h:621:12: warning: unused function 'rustsecp256k1_v0_4_0_ecmult_strauss_batch_single' [-Wunused-function]
    cargo:warning=static int rustsecp256k1_v0_4_0_ecmult_strauss_batch_single(const rustsecp256k1_v0_4_0_callback* error_callback, const rustsecp256k1_v0_4_0_ecmult_context *actx, rustsecp256k1_v0_4_0_scratch *scratch, rustsecp256k1_v0_4_0_gej *r, const rustsecp256k1_v0_4_0_scalar *inp_g_sc, rustsecp256k1_v0_4_0_ecmult_multi_callback cb, void *cbdata, size_t n) {
    cargo:warning=           ^
    cargo:warning=depend/secp256k1/src/ecmult_impl.h:863:15: warning: unused function 'rustsecp256k1_v0_4_0_pippenger_scratch_size' [-Wunused-function]
    cargo:warning=static size_t rustsecp256k1_v0_4_0_pippenger_scratch_size(size_t n_points, int bucket_window) {
    cargo:warning=              ^
    cargo:warning=depend/secp256k1/src/ecmult_impl.h:944:12: warning: unused function 'rustsecp256k1_v0_4_0_ecmult_pippenger_batch_single' [-Wunused-function]
    cargo:warning=static int rustsecp256k1_v0_4_0_ecmult_pippenger_batch_single(const rustsecp256k1_v0_4_0_callback* error_callback, const rustsecp256k1_v0_4_0_ecmult_context *actx, rustsecp256k1_v0_4_0_scratch *scratch, rustsecp256k1_v0_4_0_gej *r, const rustsecp256k1_v0_4_0_scalar *inp_g_sc, rustsecp256k1_v0_4_0_ecmult_multi_callback cb, void *cbdata, size_t n) {
    cargo:warning=           ^
    cargo:warning=error: unable to create target: 'No available targets are compatible with triple "wasm32-unknown-unknown"'
    cargo:warning=19 warnings and 1 error generated.
    exit status: 1
    
    --- stderr
    
    
    error occurred: Command "clang" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=wasm32-unknown-unknown" "-I" "depend/secp256k1/" "-I" "depend/secp256k1/include" "-I" "depend/secp256k1/src" "-I" "wasm-sysroot" "-Wall" "-Wextra" "-DSECP256K1_BUILD=1" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-DECMULT_GEN_PREC_BITS=4" "-DUSE_NUM_NONE=1" "-DUSE_FIELD_INV_BUILTIN=1" "-DUSE_SCALAR_INV_BUILTIN=1" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-o" "/Users/ricky/src/github.com/interlay/interbtc/target/debug/wbuild/interlay-runtime-parachain/target/wasm32-unknown-unknown/release/build/secp256k1-sys-b5ab6a393d49d7df/out/depend/secp256k1/contrib/lax_der_parsing.o" "-c" "depend/secp256k1/contrib/lax_der_parsing.c" with args "clang" did not execute successfully (status code exit status: 1).
    
    
    warning: build failed, waiting for other jobs to finish...
    error: build failed
    warning: build failed, waiting for other jobs to finish...
    error: build failed
    

    Expected behavior

    check or build to pass

    Version / Commit (e.g. 1.0.0):

    1.7.2

    Additional context Add any other context about the problem here.

    opened by r-medina 4
  • Oracle offline detection with multi collateral

    Oracle offline detection with multi collateral

    Context Before multicollateral, we had a simple oracle off-line detection system. If the oracle was inactive for too long, then we would stop incrementing active_block_count. Each bitcoin block header stored the active_block_count when it got relayed. An issue/redeem/replace is only cancellable when active_block_count increased by a certain number.

    Problem Now that we have multi collateral, we need to account for the possibility that one currency does not get updated, and thus the exchange rate becomes invalid for that specific currency. Operations with other currencies should be able to continue to function.

    Solutions

    • Make oracles submit all currencies simultaneously. That way, either all currencies will be outdated, or none will be. Most of the logic can remain unchanged. The problem would be adding or removing currencies - different oracle providers will have to change the calls they are making simultaneously.
    • We can halt for all currencies if one of them is outdated.
    • We can maintain a active_block_count per currency. This requires additional iteration in System, to increment the value each block for all currencies. Note that we iterate over the currencies in the oracle anyway, so the big O complexity does not change. The client cancellation logic gets slightly complicated, but this should be manageable. We currently store active_block_count in bitcoin block headers, so this struct would grow some, but we might be able to store just the normal parachain height - I think we only use it to require a certain number of parachain confirmations before we accept bitcoin blocks.

    I think I'm leaning to the last solution. The main downside is that it is the most complex solution, and thus has highest risk of bugs. But I feel it's the most correct solution.

    opened by sander2 4
  • Total collateralization calculation with multi-collateral

    Total collateralization calculation with multi-collateral

    We have an RPC that returns the total system collateralization. The function is not called by the parachain itself. We need to decide how we want to calculate the collateralization.

    • Calculate the total across all currencies. However, since each currency potentially has different secure thresholds, the value is meaningless.
    • Calculate the total across all currencies, but scale by secure threshold. E.g.(to_btc(total_DOT) / secure_threshold(total_DOT) +to_btc(total_KSM) / secure_threshold(total_KSM)) / total_INTERBTC. This gives a meaningful value - a value > 1.0 is good. But for users it might be confusing, since they expect overcollateralization. Maybe for users a collateral utilization percentage would be easier to understand, i.e. a value of 0 - 100%, where 100% means we are at the capacity limit
    • Instead of a single value, return a Vec<(CurrencyId, UnsignedFixedPoint)> and let the UI figure out how to display and aggregate it.

    I think I'm leaning towards the last solution for greatest flexibility.

    opened by sander2 4
  • feat!: multi collateral support

    feat!: multi collateral support

    Breaking changes

    • The vaults storage map now stores Option<Vault>, because Vault no longer implements default
    • secure_collateral_threshold, premium_redeem_threshold, liquidation_collateral_threshold and minimum_collateral_vault are now maps, mapping CurrencyId to the values.
    • The VaultRegistry::register_vault dispatchable function now takes an additional currency_id argument.
    • The Redeem::liquidation_redeem dispatchable function now takes an addition currency_id argument
    • The get_total_collateralization is for now not implemented - see #221
    • wrapped_to_collateral and collateral_to_wrapped rpc functions now take an additional currency_id argument
    • added InvalidCurrency and ThresholdNotSet errors in vault-registry. Also NotImplemented, but this is only a temporary error - it will be removed once we decide on how to implement get_total_collateralization
    opened by sander2 4
  • [BREAKING] refactor!: remove refund

    [BREAKING] refactor!: remove refund

    Signed-off-by: Gregory Hill [email protected]

    Apart from the obvious reduction in complexity the primary motivation of this change is to remove the last part of code which (incorrectly) extracts the BtcAddress from a TransactionInput. This protocol was not incentivized and since the removal of theft reporting Vaults can anyway return excess BTC out-of-bounds.

    Additionally, when too much BTC is sent, if the Vault can't cannot issue the full amount, we instead calculate the maximum total issue amount for that Vault's collateral and use up to that.

    Breaking Changes

    • Removed Refund pallet with associated extrinsics, storage and events
    • Changed IssueRequestStatus::Completed(Option<H256>) to IssueRequestStatus::Completed
    needs-democracy 
    opened by gregdhill 3
  • [BREAKING] refactor!: remove theft reporting

    [BREAKING] refactor!: remove theft reporting

    Signed-off-by: Gregory Hill [email protected]

    Inline with the next steps in this post-mortem we will be removing theft reporting to significantly reduce the liquidation risk to Vaults in the system.

    Breaking Changes

    • Removed Relay pallet and RPC
    • Block submission extrinsics moved to BTCRelay
    opened by gregdhill 3
  • feat(democracy): fast-track referendum

    feat(democracy): fast-track referendum

    • Adds fast_track_referendum extrinsic, callable by the technical committee
    • Adds FastTrackReferendum event
    • Although renaming the fast_track extrinsic to fast_track_proposal makes sense given the addition, it's not changed to preserve backwards-compatibility
    opened by daniel-savu 3
  • chore(deps): bump docker/build-push-action from 2 to 3

    chore(deps): bump docker/build-push-action from 2 to 3

    Bumps docker/build-push-action from 2 to 3.

    Release notes

    Sourced from docker/build-push-action's releases.

    v3.0.0

    • Node 16 as default runtime by @​crazy-max (#564)
      • This requires a minimum Actions Runner version of v2.285.0, which is by default available in GHES 3.4 or later.
    • Standalone mode support by @​crazy-max (#601 #609)
    • chore: update dev dependencies and workflow by @​crazy-max (#571)
    • Bump @​actions/exec from 1.1.0 to 1.1.1 (#573)
    • Bump @​actions/github from 5.0.0 to 5.0.1 (#582)
    • Bump minimist from 1.2.5 to 1.2.6 (#584)
    • Bump semver from 7.3.5 to 7.3.7 (#595)
    • Bump csv-parse from 4.16.3 to 5.0.4 (#533)

    Full Changelog: https://github.com/docker/build-push-action/compare/v2.10.0...v3.0.0

    v2.10.0

    • Add imageid output and use metadata to set digest output (#569)
    • Add build-contexts input (#563)
    • Enhance outputs display (#559)

    v2.9.0

    • add-hosts input (#553 #555)
    • Fix git context subdir example and improve README (#552)
    • Add e2e tests for ACR (#548)
    • Add description on github-token option to README (#544)
    • Bump node-fetch from 2.6.1 to 2.6.7 (#549)

    v2.8.0

    • Allow specifying subdirectory with default git context (#531)
    • Add cgroup-parent, shm-size, ulimit inputs (#501)
    • Don't set outputs if empty or nil (#470)
    • docs: example to sanitize tags with metadata-action (#476)
    • docs: wrong syntax to sanitize repo slug (#475)
    • docs: test before pushing your image (#455)
    • readme: remove v1 section (#500)
    • ci: virtual env file system info (#510)
    • dev: update workflow (#499)
    • Bump @​actions/core from 1.5.0 to 1.6.0 (#160)
    • Bump ansi-regex from 5.0.0 to 5.0.1 (#469)
    • Bump tmpl from 1.0.4 to 1.0.5 (#465)
    • Bump csv-parse from 4.16.0 to 4.16.3 (#451 #459)

    v2.7.0

    • Add metadata output (#412)
    • Bump @​actions/core from 1.4.0 to 1.5.0 (#439)
    • Add note to sanitize tags (#426)
    • Cache backend API docs (#406)
    • Git context now supports subdir (#407)
    • Bump codecov/codecov-action from 1 to 2 (#415)

    v2.6.1

    • Small typo and ensure trimmed output (#400)

    ... (truncated)

    Commits
    • c56af95 Merge pull request #704 from crazy-max/setOutput
    • 75aaa63 Remove workaround for setOutput
    • f97d6e2 Merge pull request #700 from crazy-max/update-docs
    • 47c00d7 ci: secret job to check for invalid secrets
    • 871b930 docs: update links and layout
    • 105bf59 docs: copy between registries with buildx
    • 48888e0 Merge pull request #699 from crazy-max/docs-outputs
    • 6b820ad docs: note about multiple outputs
    • e1a1035 Merge pull request #665 from baibaratsky/patch-1
    • 0f5a7d4 docs: named contexts
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • chore(deps): bump docker/metadata-action from 3 to 4

    chore(deps): bump docker/metadata-action from 3 to 4

    Bumps docker/metadata-action from 3 to 4.

    Release notes

    Sourced from docker/metadata-action's releases.

    v4.0.0

    • Node 16 as default runtime by @​crazy-max (#176)
      • This requires a minimum Actions Runner version of v2.285.0, which is by default available in GHES 3.4 or later.
    • Do not sanitize before pattern matching by @​crazy-max (#201)
      • Breaking change with type=match pattern matching

    Full Changelog: https://github.com/docker/metadata-action/compare/v3.8.0...v4.0.0

    v3.8.0

    Full Changelog: https://github.com/docker/metadata-action/compare/v3.7.0...v3.8.0

    v3.7.0

    • Handle comments for multi-line inputs (#172)
    • Missing json output in action.yml (#167)
    • Update dev dependencies and workflow (#175)
    • Bump minimist from 1.2.5 to 1.2.6 (#182)
    • Bump moment from 2.29.1 to 2.29.2 (#180)
    • Bump @​actions/github from 5.0.0 to 5.0.1 (#179)
    • Bump node-fetch from 2.6.1 to 2.6.7 (#173)

    v3.6.2

    • Handle raw statement for pre-release (#155 #156)

    v3.6.1

    • Preserve quotes inside unquoted field (#153)

    v3.6.0

    • base_ref global expression (#142)
    • Trim tags and flavor inputs (#143)
    • Bump @​actions/core from 1.5.0 to 1.6.0 (#135)
    • Bump ansi-regex from 5.0.0 to 5.0.1 (#134)
    • Bump tmpl from 1.0.4 to 1.0.5 (#132)
    • Bump csv-parse from 4.16.0 to 4.16.3 (#131)

    v3.5.0

    • Add global expression date (#121)
    • Bump @​actions/core from 1.4.0 to 1.5.0 (#122)

    v3.4.1

    • Only return edge if branch matches (#115)

    v3.4.0

    • PEP 440 support (#108)

    ... (truncated)

    Upgrade guide

    Sourced from docker/metadata-action's upgrade guide.

    Upgrade notes

    v2 to v3

    • Repository has been moved to docker org. Replace crazy-max/ghaction-docker-meta@v2 with docker/metadata-action@v4
    • The default bake target has been changed: ghaction-docker-meta > docker-metadata-action

    v1 to v2

    inputs

    New Unchanged Removed
    tags images tag-sha
    flavor sep-tags tag-edge
    labels sep-labels tag-edge-branch
    tag-semver
    tag-match
    tag-match-group
    tag-latest
    tag-schedule
    tag-custom
    tag-custom-only
    label-custom

    tag-sha

    tags: |
      type=sha
    

    tag-edge / tag-edge-branch

    tags: |
      # default branch
    </tr></table> 
    

    ... (truncated)

    Commits
    • 5739616 Merge pull request #237 from docker/dependabot/npm_and_yarn/csv-parse-5.3.1
    • 473bdc5 update generated content
    • ebedea2 Bump csv-parse from 5.3.0 to 5.3.1
    • d00b20e Merge pull request #239 from crazy-max/github-sha
    • a99e71c revert changes to set associated head sha on pull request event
    • 12cce9e Merge pull request #236 from crazy-max/setOutput
    • f17e188 Remove workaround for setOutput
    • 210d783 Merge pull request #235 from crazy-max/update-docs
    • 5f26473 docs: update links and layout
    • 49e79e3 docs: priority attribute
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • chore(deps): bump chevdor/srtool-actions from 0.2.0 to 0.6.0

    chore(deps): bump chevdor/srtool-actions from 0.2.0 to 0.6.0

    Bumps chevdor/srtool-actions from 0.2.0 to 0.6.0.

    Release notes

    Sourced from chevdor/srtool-actions's releases.

    v0.6.0

    Remove set-output

    v0.5.0

    Add parachain overrides

    v0.4.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/chevdor/srtool-actions/compare/v0.3.0...v0.4.0

    v0.3.0

    Build Polkadot Repo Build Polkadot Repo Build Polkadot Repo

    This version switch the default image to paritytech/srtool and github in general.

    changes

    • 410d684 | ci: Build test projects on version tags
    • 2702608 | Release 0.3 (#7), switch to the parity image
    • 5c2f1ad | ci: fetch the latest version from github
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • chore(deps): bump docker/login-action from 1 to 2

    chore(deps): bump docker/login-action from 1 to 2

    Bumps docker/login-action from 1 to 2.

    Release notes

    Sourced from docker/login-action's releases.

    v2.0.0

    • Node 16 as default runtime by @​crazy-max (#161)
      • This requires a minimum Actions Runner version of v2.285.0, which is by default available in GHES 3.4 or later.
    • chore: update dev dependencies and workflow by @​crazy-max (#170)
    • Bump @​actions/exec from 1.1.0 to 1.1.1 (#167)
    • Bump @​actions/io from 1.1.1 to 1.1.2 (#168)
    • Bump minimist from 1.2.5 to 1.2.6 (#176)
    • Bump https-proxy-agent from 5.0.0 to 5.0.1 (#182)

    Full Changelog: https://github.com/docker/login-action/compare/v1.14.1...v2.0.0

    v1.14.1

    • Revert to Node 12 as default runtime to fix issue for GHE users (#160)

    v1.14.0

    • Update to node 16 (#158)
    • Bump @​aws-sdk/client-ecr from 3.45.0 to 3.53.0 (#157)
    • Bump @​aws-sdk/client-ecr-public from 3.45.0 to 3.53.0 (#156)

    v1.13.0

    • Handle proxy settings for aws-sdk (#152)
    • Workload identity based authentication docs for GCR and GAR (#112)
    • Test login against ACR (#49)
    • Bump @​aws-sdk/client-ecr from 3.44.0 to 3.45.0 (#132)
    • Bump @​aws-sdk/client-ecr-public from 3.43.0 to 3.45.0 (#131)

    v1.12.0

    • ECR: only set credentials if username and password are specified (#128)
    • Refactor to use aws-sdk v3 (#128)

    v1.11.0

    • ECR: switch implementation to use the AWS SDK (#126)
    • ecr input to specify whether the given registry is ECR (#123)
    • Test against Windows runner (#126)
    • Update instructions for Google registry (#127)
    • Update dev workflow (#111)
    • Small changes for GHCR doc (#86)
    • Update dev dependencies (#85)
    • Bump ansi-regex from 5.0.0 to 5.0.1 (#101)
    • Bump tmpl from 1.0.4 to 1.0.5 (#100)
    • Bump @​actions/core from 1.4.0 to 1.6.0 (#94 #103)
    • Bump codecov/codecov-action from 1 to 2 (#88)
    • Bump hosted-git-info from 2.8.8 to 2.8.9 (#83)
    • Bump node-notifier from 8.0.0 to 8.0.2 (#82)
    • Bump ws from 7.3.1 to 7.5.0 (#81)
    • Bump lodash from 4.17.20 to 4.17.21 (#80)
    • Bump y18n from 4.0.0 to 4.0.3 (#79)

    v1.10.0

    • GitHub Packages Docker Registry deprecated (#78)

    ... (truncated)

    Commits
    • f4ef78c Merge pull request #299 from docker/dependabot/npm_and_yarn/aws-sdk/client-ec...
    • 9ad4ce3 Update generated content
    • 884eadd Bump @​aws-sdk/client-ecr-public from 3.53.0 to 3.186.0
    • a266232 Merge pull request #298 from docker/dependabot/npm_and_yarn/aws-sdk/client-ec...
    • f97efcf Update generated content
    • 5ae789b Bump @​aws-sdk/client-ecr from 3.53.0 to 3.186.0
    • 71c23b5 Merge pull request #292 from docker/dependabot/npm_and_yarn/actions/core-1.10.0
    • 6401d70 Update generated content
    • 67e8909 Bump @​actions/core from 1.9.1 to 1.10.0
    • 21f251a Merge pull request #275 from crazy-max/redact-aws-creds
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • chore(deps): bump docker/setup-qemu-action from 1 to 2

    chore(deps): bump docker/setup-qemu-action from 1 to 2

    Bumps docker/setup-qemu-action from 1 to 2.

    Release notes

    Sourced from docker/setup-qemu-action's releases.

    v2.0.0

    • Node 16 as default runtime by @​crazy-max (#48)
      • This requires a minimum Actions Runner version of v2.285.0, which is by default available in GHES 3.4 or later.
    • chore: update dev dependencies and workflow by @​crazy-max (#43 #47)
    • Bump @​actions/core from 1.3.0 to 1.6.0 (#37 #39 #41)
    • Bump @​actions/exec from 1.0.4 to 1.1.1 (#38 #46)

    Full Changelog: https://github.com/docker/setup-qemu-action/compare/v1.2.0...v2.0.0

    v1.2.0

    • Display image information (#36)
    • Bump @​actions/core from 1.2.7 to 1.3.0 (#35)

    v1.1.0

    • Remove os limitation (#30)
    • Bump @​actions/core from 1.2.6 to 1.2.7 (#29)

    v1.0.2

    • Enhance workflow (#26)
    • Container based developer flow (#19 #20)

    v1.0.1

    • Fix CVE-2020-15228
    Commits
    • e81a89b Merge pull request #63 from crazy-max/setOutput
    • 2d3efc7 Remove workaround for setOutput
    • bfc44ea Merge pull request #62 from crazy-max/context
    • 25725d8 Use context for inputs
    • 8c1e35a Merge pull request #61 from crazy-max/exec-output
    • f3c51a3 update README
    • c47ad32 Use built-in getExecOutput
    • aa08745 Merge pull request #59 from docker/dependabot/npm_and_yarn/actions/core-1.10.0
    • 9443994 Update generated content
    • 81a47e1 Bump @​actions/core from 1.9.1 to 1.10.0
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • feat: add farming pallet to distribute LP rewards

    feat: add farming pallet to distribute LP rewards

    Signed-off-by: Gregory Hill [email protected]

    Basic "farming" pallet to distribute rewards to LPs who stake their LP tokens in it. The root origin can create reward schedules which payout per block (or period) to different staking pools - possible due to changes introduced here. It may be possible to fold this in with the annuity pallet but for simplicity I have left that for a future refactoring.

    opened by gregdhill 0
Releases(1.20.1)
  • 1.20.1(Jan 3, 2023)

    Highlights

    • Fixes the statement channel to make USDT transfers workable in both direction (currently Interlay to Statemint is not working)
    • Tables proposals to referenda always on Monday morning at 9:00 UTC to get around the block time variance issue and make referenda execution predictable
    • Tables two proposals to referenda to account for the fact that treasury and regular proposals are happening in parallel

    interBTC 1.20.1 (2022-12-19)

    This release contains the changes from 1.21.0 to 1.20.1.

    Global Priority

    • ⚪ LOW: This is a low priority release and you may upgrade at your convenience.

    Breaking CLI changes

    Changes

    • Chore: backport xcm and tabling #815
    • feat: table two proposals on monday #805
    • fix: set minimum xcm fee for statemine/t transfers #807
    • chore: include code substitution in kintsugi chainspec #793
    • fix: add migration for kintsugi slot duration #792

    Chore

    • bump spec version to 1.20.1
    • include code substitution in kintsugi chainspec
    • run collator-selection initialize hook on subsequent block
    • remove code substitution

    Fix

    • add migration for kintsugi slot duration

    Refactor

    • always use 12000 for slot duration
    • don't depend on pallet-aura for collator-selection hook
    • move slot duration fix to collator-selection hook

    Test

    • kintsugi slot duration migration works

    Dependency changes

    https://github.com/paritytech//substrate/compare/7a4e5163091384c4c10b6d76f5cb80dac0834f38...7a4e5163091384c4c10b6d76f5cb80dac0834f38 /compare/... https://github.com/paritytech//cumulus/compare/fb8c5a3d0800ebdebe14bd0e708d2a348f976d9e...fb8c5a3d0800ebdebe14bd0e708d2a348f976d9e

    Runtimes

    Interlay

    🏋️ Runtime Size:		1124945 bytes
    🔥 Core Version:		{'specName': 'interlay-parachain', 'implName': 'interlay-parachain', 'authoringVersion': 1, 'specVersion': 1020001, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0x22b97323b9e853da', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1]], 'transactionVersion': 2}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x0cd11d7419960698186dda0434dd8d304f20cae4274e758c261a1f541bb08a8c
    🗳️ authorizeUpgrade hash:	0x4c29d7a8bd4b6003cbeb07fe0374d092c677e907bd061d4bb4be5008e4395cfe
    #️⃣ Blake2-256 hash:		0x088e1aa92de63dbea80a08e7c040e4729d8521dca3ba8147830d1b14daa38f41
    📦 IPFS:			QmeHKXQuyzsSNGKyR3GzbCzCsyRqbfNMYpUX6M5m9zW87Q
    

    Kintsugi

    🏋️ Runtime Size:		1127207 bytes
    🔥 Core Version:		{'specName': 'kintsugi-parachain', 'implName': 'kintsugi-parachain', 'authoringVersion': 1, 'specVersion': 1020001, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1], ['0x22b97323b9e853da', 1]], 'transactionVersion': 3}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x3a15952b057dd968ea32d8d2d67a41ddac632eb41d0596fa479c91e95131ad63
    🗳️ authorizeUpgrade hash:	0x288dd17d0379d34c9200ef14bf872bba13da5bc9f6fcdc813c39b714ec5ce68b
    #️⃣ Blake2-256 hash:		0x4279ef5ce386b05fe55a2de496561d7f189cd7de0f8451054cdafbca3bf80c52
    📦 IPFS:			QmYUZAe4T7TwxowjuJtLX6unQLoPYswmAoJ4YEV7G7RQuS
    

    Testnet-Kintsugi

    🏋️ Runtime Size:		1188499 bytes
    🔥 Core Version:		{'specName': 'testnet-kintsugi', 'implName': 'testnet-kintsugi', 'authoringVersion': 1, 'specVersion': 1020001, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1], ['0x22b97323b9e853da', 1]], 'transactionVersion': 1}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xb8f2034a29b74ec3908a2c484a79d3a65884da72a7113aa563e7b131bee08ef3
    🗳️ authorizeUpgrade hash:	0x1e14c5a818c31845d2e03b58110af12637fe317c0f6dd48c4b8378c4ae9800f9
    #️⃣ Blake2-256 hash:		0x1817339ff98f6ab4221df2994e45bacb2314bd2788fd77d781c885461d193e51
    📦 IPFS:			QmTvzvvrSDza2LDuXx9iRk8M1BviUjqwr6BB6BvccQTRey
    

    Testnet-Interlay

    🏋️ Runtime Size:		1190273 bytes
    🔥 Core Version:		{'specName': 'testnet-interlay', 'implName': 'testnet-interlay', 'authoringVersion': 1, 'specVersion': 1020001, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1], ['0x22b97323b9e853da', 1]], 'transactionVersion': 1}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x2fc8312ed301f693cf33b0c53382c1da5f791703bec048f91ac7bb751a13cb4a
    🗳️ authorizeUpgrade hash:	0x067f4ce8c4d8e868db799a9812b5ec9bf69df7abe79512001415dd700dc8347b
    #️⃣ Blake2-256 hash:		0x8dbe1f898ab5cc25f159440a7c6fdf49c423959e065dbdae538da756f486d556
    📦 IPFS:			QmcbxgcvH9epopnqzB36B9oEbnHwJ9uBJQYXK3AwU2yKcr
    
    Source code(tar.gz)
    Source code(zip)
    testnet_interlay_runtime_parachain.compact.compressed.wasm(1.13 MB)
    kintsugi_runtime_parachain.compact.compressed.wasm(1.07 MB)
    testnet_kintsugi_runtime_parachain.compact.compressed.wasm(1.13 MB)
    interbtc-parachain(194.84 MB)
    interlay_runtime_parachain.compact.compressed.wasm(1.07 MB)
  • 1.21.0(Dec 16, 2022)

    interBTC 1.21.0 (2022-12-16)

    This release contains the changes from 1.20.0-hotfix+sub to 1.21.0.

    Global Priority

    • 🔴 HIGH: This is a high priority release and you must upgrade as soon as possible.
    • 🔵 MEDIUM: This is medium priority release and you should upgrade not later than [INSERT DATE]
    • ⚪ LOW: This is a low priority release and you may upgrade at your convenience.

    Breaking CLI changes

    Changes

    • chore: use zenlink fork with vec import #811
    • test: TotalUserVaultCollateral check in migration #810
    • chore: use active toolchain in ci tests #809
    • fix: always update total backing collateral in withdraw_collateral #808
    • feat: table two proposals on monday #805
    • fix: set minimum xcm fee for statemine/t transfers #807
    • Zenlink integration (testnet-kintsugi) #713
    • Implement vault capacity model #790
    • fix(loans): accrue interest before changing reserve balances #806
    • feat(loans): use Amount instead of FixedU128 #801
    • fix(loans): Set min and max exchange rates on runtime upgrade #799
    • fix: get try-runtime to work again #800
    • feat: add automatic tags for issue requests #796
    • [BREAKING] Refactor: remove vault collateral interface #781

    Chore

    • use zenlink fork with vec import
    • use active toolchain in ci tests
    • make proposal launch offset configurable in runtime
    • cargo fmt
    • add additional migration integrity checks
    • add capacity migration to kintsugi runtime
    • remove unused pool-manager test
    • add missing type on loans mock
    • fix and remove superfluous reward tests
    • remove performed migrations

    Feat

    • table 2 proposals at a time
    • table proposals on monday
    • integrate zenlink into testnet-kintsugi runtime
    • vault rewards rpc should compute using all pools
    • vault capacity migration
    • implement capacity model
    • add automatic tags for issue requests

    Fix

    • always update total backing collateral in withdraw_collateral
    • set minimum xcm fee for statemine/t transfers
    • launch proposals at 9 am
    • set commission in randomized tests
    • skip duplicate arg group name in standalone node
    • submit exchange rate in vault_registry benchmarks
    • get capacity model to work
    • get try-runtime to work again

    Refactor

    • remove BasicVaultRegistry and fixup more integration tests
    • deprecate vault collateral extrinsics in favor of nomination

    Test

    • TotalUserVaultCollateral check in migration
    • add integration testing utils for capacity model
    • update tests for vault collateral change

    Dependency changes

    https://github.com/paritytech/substrate/compare/7a4e5163091384c4c10b6d76f5cb80dac0834f38...7a4e5163091384c4c10b6d76f5cb80dac0834f38 https://github.com/paritytech/polkadot/compare/...32dd0c9cfcd1a1bda821747f6ab334f0e3577558 https://github.com/paritytech/cumulus/compare/fb8c5a3d0800ebdebe14bd0e708d2a348f976d9e...fb8c5a3d0800ebdebe14bd0e708d2a348f976d9e

    Runtimes

    Interlay

    🏋️ Runtime Size:		1129777 bytes
    🔥 Core Version:		{'specName': 'interlay-parachain', 'implName': 'interlay-parachain', 'authoringVersion': 1, 'specVersion': 1020000, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0x22b97323b9e853da', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1]], 'transactionVersion': 2}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xe93b0a6345f270ae3ce9708a6edf92ff89deb68c516fc1c863caa0108355a4ba
    🗳️ authorizeUpgrade hash:	0xb94b4920a685e4c31b4386b2978ee0e40b0b6fada2fde20b1febeadb1ca0f5c6
    #️⃣ Blake2-256 hash:		0xcd344ad1a36036501ac15ef059c0b5feaef826b95a5210f5cb44a76852dc38ac
    📦 IPFS:			QmXHkD6VFtAx49kQCafshcKjyWKPf4hn7gjQCuz1zjhE1J
    

    Kintsugi

    🏋️ Runtime Size:		1129006 bytes
    🔥 Core Version:		{'specName': 'kintsugi-parachain', 'implName': 'kintsugi-parachain', 'authoringVersion': 1, 'specVersion': 1021000, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1], ['0x22b97323b9e853da', 1]], 'transactionVersion': 3}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xba67472da1c376e640f85260cecbf36604a1d8cebd6135febb3057292ac3a245
    🗳️ authorizeUpgrade hash:	0xe8c544203ff95b55bb9d3e38bd4ad4d832599112029872d4c84f8bd76841ba5b
    #️⃣ Blake2-256 hash:		0xcab855f36ec38db0f4ec401d64e7c017203bd24c286d8fc26bd4b69ac8adae27
    📦 IPFS:			Qmb5DtVLYYs8SLb1VSgeKrwBggwke5tjW3tBPnKSbosX8y
    

    Testnet-Kintsugi

    🏋️ Runtime Size:		1342830 bytes
    🔥 Core Version:		{'specName': 'testnet-kintsugi', 'implName': 'testnet-kintsugi', 'authoringVersion': 1, 'specVersion': 1021000, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1], ['0x22b97323b9e853da', 1], ['0x60aed43cb52456f1', 1], ['0x5179b539a332ab9a', 1]], 'transactionVersion': 1}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x49af2571acf0fdfc96069ab628686b12366f551a1e098b9581d5e590f38492e9
    🗳️ authorizeUpgrade hash:	0x244937ead009ab26fc5a4a5e68ddbcdf9441a01a7adbcd7eacf7bec17000a325
    #️⃣ Blake2-256 hash:		0x73e75afc6ef1924a793c69a67aeece3e24a581858d5852ada19650ecec24367e
    📦 IPFS:			QmQF8nn7QAAVjaem4bTyypC27gH82GuPEDUmsMu1A8Bbg6
    

    Testnet-Interlay

    🏋️ Runtime Size:		1203794 bytes
    🔥 Core Version:		{'specName': 'testnet-interlay', 'implName': 'testnet-interlay', 'authoringVersion': 1, 'specVersion': 1020000, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1], ['0x22b97323b9e853da', 1]], 'transactionVersion': 1}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x3cb77097b044f62b3bb4f3c3016f0f93696f4aa7c85548b23ee8571f264a7c92
    🗳️ authorizeUpgrade hash:	0xdfa90de95e9d0b6722ee82ecadad505d7ea823d27b393a3253d8e2999eb9ed67
    #️⃣ Blake2-256 hash:		0xe7d42dd87958a7afc40fb44c6094009a9b3ee77de9700cb95197036ae0a38f62
    📦 IPFS:			QmVXjDC1fWy9prKPN9tE3NvURhx6gShMyMB1HfGVsjY8g8
    
    Source code(tar.gz)
    Source code(zip)
    interlay_runtime_parachain.compact.compressed.wasm(1.07 MB)
    testnet_kintsugi_runtime_parachain.compact.compressed.wasm(1.28 MB)
    kintsugi_runtime_parachain.compact.compressed.wasm(1.07 MB)
    testnet_interlay_runtime_parachain.compact.compressed.wasm(1.14 MB)
    interbtc-parachain(197.65 MB)
  • 1.20.0-hotfix+sub(Dec 2, 2022)

    interBTC 1.20.0-hotfix+sub (2022-12-02)

    This release contains the changes from 1.20.0-hotfix to 1.20.0-hotfix+sub.

    Global Priority

    • 🔴 HIGH: This is a high priority release and you must upgrade as soon as possible.

    Changes

    • chore: include code substitution in kintsugi chainspec #793

    Chore

    • include code substitution in kintsugi chainspec

    Dependency changes

    https://github.com/paritytech/substrate/compare/7a4e5163091384c4c10b6d76f5cb80dac0834f38...7a4e5163091384c4c10b6d76f5cb80dac0834f38 /compare/... https://github.com/paritytech/cumulus/compare/fb8c5a3d0800ebdebe14bd0e708d2a348f976d9e...fb8c5a3d0800ebdebe14bd0e708d2a348f976d9e

    Runtimes

    Interlay

    🏋️ Runtime Size:		1121591 bytes
    🔥 Core Version:		{'specName': 'interlay-parachain', 'implName': 'interlay-parachain', 'authoringVersion': 1, 'specVersion': 1020000, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0x22b97323b9e853da', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1]], 'transactionVersion': 2}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xf37715a1a16756b37bf91f9f062bae6730f0e2f008a6a00676b5cdeab9aae5b4
    🗳️ authorizeUpgrade hash:	0x28576e95c368efcbde0be5a3c4e1b20ba6866946138e9133d93b303b6d43926b
    #️⃣ Blake2-256 hash:		0x2656db33da18ae631ddad3f3ef9c42bf59cb71db00c66b6b3ac4e3ab2bca5453
    📦 IPFS:			QmVcQ7xbwSd6TBi4QgiN1eG4voSPCXhyAY7xA8GV19xfJp
    

    Kintsugi

    🏋️ Runtime Size:		1121792 bytes
    🔥 Core Version:		{'specName': 'kintsugi-parachain', 'implName': 'kintsugi-parachain', 'authoringVersion': 1, 'specVersion': 1020000, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1], ['0x22b97323b9e853da', 1]], 'transactionVersion': 3}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x25607dba4744a70df25cf9f73c6f275e30db9177ba510d727c8b5a593f16e81e
    🗳️ authorizeUpgrade hash:	0x476a44bc92901df98e3bf8b433dc2bcf420c3fef5f18db0b3d65244a86a518fa
    #️⃣ Blake2-256 hash:		0x09003cdce4ca5c3b044f4e26148ef994dc05b486bcdef087ae45d34fe251a287
    📦 IPFS:			QmTtuvYMAwusbdMT6Agapvu6S3bUR628BfjRqnp2YMNNAr
    

    Testnet-Kintsugi

    🏋️ Runtime Size:		1186591 bytes
    🔥 Core Version:		{'specName': 'testnet-kintsugi', 'implName': 'testnet-kintsugi', 'authoringVersion': 1, 'specVersion': 1020000, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1], ['0x22b97323b9e853da', 1]], 'transactionVersion': 1}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x45584be59fad4c6ea2bc1950340cc699c936f3e33f66964946f836f3508536b2
    🗳️ authorizeUpgrade hash:	0x6d0ccd2625d972651b0232309793d7c5503730fea4dd76f5fdd5f402719d1b84
    #️⃣ Blake2-256 hash:		0x9f8c2afecd792612b306b1ceddf36ec62a24bd15efdf9136a1c7ee3dfef96373
    📦 IPFS:			QmVshzuAGkTAWfUabmkn7MXLVtegwW1yDHj79zQ2r1XNDX
    

    Testnet-Interlay

    🏋️ Runtime Size:		1186682 bytes
    🔥 Core Version:		{'specName': 'testnet-interlay', 'implName': 'testnet-interlay', 'authoringVersion': 1, 'specVersion': 1020000, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1], ['0x22b97323b9e853da', 1]], 'transactionVersion': 1}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xd4b22921114892de10bd8eb4bf6543e0d1ca1741eafc6bd40d5ce8a8a2461bde
    🗳️ authorizeUpgrade hash:	0x99e10cad04eaa6238fe38ccc75a851b60aba72ee0f9df21e6ad8d490f86f22d5
    #️⃣ Blake2-256 hash:		0x008d3531557537537db3cd3bc8db2323932fd8029016d2c0189ff5b073e561b1
    📦 IPFS:			QmUTk45HFSVfpAx5JML8Y2t7neGUFGoKuC3DCawFxRRHhn
    
    Source code(tar.gz)
    Source code(zip)
    interbtc-parachain(197.03 MB)
    kintsugi_runtime_parachain.compact.compressed.wasm(1.06 MB)
    testnet_kintsugi_runtime_parachain.compact.compressed.wasm(1.13 MB)
    testnet_interlay_runtime_parachain.compact.compressed.wasm(1.13 MB)
    interlay_runtime_parachain.compact.compressed.wasm(1.06 MB)
  • 1.20.0-hotfix(Dec 2, 2022)

    interBTC 1.20.0-hotfix (2022-11-25)

    This release contains the changes from 1.20.0 to 1.20.0-hotfix.

    Global Priority

    • ⚪ LOW: This is a low priority release and you may upgrade at your convenience.

    Breaking CLI changes

    Changes

    • fix: add migration for kintsugi slot duration #792

    Runtimes

    Interlay

    🏋️ Runtime Size:		1122924 bytes
    🔥 Core Version:		{'specName': 'interlay-parachain', 'implName': 'interlay-parachain', 'authoringVersion': 1, 'specVersion': 1020000, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0x22b97323b9e853da', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1]], 'transactionVersion': 2}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xb3a20cc99ed3402d4b993aa10f7a1949ae3bf957ab97a472c5235063f6850e9c
    🗳️ authorizeUpgrade hash:	0xb7a97921b3f1016efd601eefc6a3a4bc3a3ec3d27fd8f19108926fbdc84b9dfb
    #️⃣ Blake2-256 hash:		0x0a651e839787e29da40b1c177e2169e18e6295f9b117e9e12391785556ff735d
    📦 IPFS:			QmSdqWGyp1o7ZYVHX1bRAEwRB3ZX3gY1D8gFAguUcpzQTD
    

    Kintsugi

    🏋️ Runtime Size:		1122782 bytes
    🔥 Core Version:		{'specName': 'kintsugi-parachain', 'implName': 'kintsugi-parachain', 'authoringVersion': 1, 'specVersion': 1020000, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1], ['0x22b97323b9e853da', 1]], 'transactionVersion': 3}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x03dd922ec3c38c3f03cfc2b7a76f959ed05e8de035f39504f5b6bd7581b31db0
    🗳️ authorizeUpgrade hash:	0xc663ca520d70b1bb4c33f7d36af144681952f319259381a08f3a0b6059658284
    #️⃣ Blake2-256 hash:		0xaea2be02e2d56b6910f263e47bfa43ac0655ba96574b74d53949d82ab9421840
    📦 IPFS:			QmTSjgfpVwXnFNaEwxqrPWUs3XVoGgHhdsxGBNZXSmNSLM
    

    Testnet-Kintsugi

    🏋️ Runtime Size:		1185168 bytes
    🔥 Core Version:		{'specName': 'testnet-kintsugi', 'implName': 'testnet-kintsugi', 'authoringVersion': 1, 'specVersion': 1020000, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1], ['0x22b97323b9e853da', 1]], 'transactionVersion': 1}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x0417b3f0a71b1d7b9eac05a2d09d960815a87b6f0fa82eac4fae748ad216d222
    🗳️ authorizeUpgrade hash:	0x097322c66575a14e7983eb0f0495a0f4f6d927392b2efa084367b0d221f279cc
    #️⃣ Blake2-256 hash:		0xf3a2abf104e4b01640cfbf522f0b616ce8f3c671c86809471eef349a3c1978a1
    📦 IPFS:			QmfZAGQ8ooBWacNmUDydDeSCFnqoMf9E2wM9M1ypJkGLxx
    

    Testnet-Interlay

    🏋️ Runtime Size:		1185810 bytes
    🔥 Core Version:		{'specName': 'testnet-interlay', 'implName': 'testnet-interlay', 'authoringVersion': 1, 'specVersion': 1020000, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1], ['0x22b97323b9e853da', 1]], 'transactionVersion': 1}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x02e036456b395065076b559d3581c389af4d89c1bd3ea092e92e06740ca86dbc
    🗳️ authorizeUpgrade hash:	0x93f30b87e3f429e67b15597f52201420f382f0c1fd3f8b854f407b1d2fc29670
    #️⃣ Blake2-256 hash:		0x523be01c4fbd50585da73f418158405e3de66bfaf1fe9c153ab20117fd3b8170
    📦 IPFS:			QmRcj2NkNkLQgoprYwYCoy1gR6uFiCy9yP8M4asxe7F3rs
    
    Source code(tar.gz)
    Source code(zip)
    interbtc-parachain(194.89 MB)
    interlay_runtime_parachain.compact.compressed.wasm(1.06 MB)
    kintsugi_runtime_parachain.compact.compressed.wasm(1.06 MB)
    testnet_kintsugi_runtime_parachain.compact.compressed.wasm(1.13 MB)
    testnet_interlay_runtime_parachain.compact.compressed.wasm(1.13 MB)
  • 1.20.0(Nov 30, 2022)

    interBTC 1.20.0 (2022-11-25)

    This release contains the changes from 1.19.1 to 1.20.0.

    Global Priority

    • ⚪ LOW: This is a low priority release and you may upgrade at your convenience.

    Changes

    • fix: testnet-kintsugi build #789
    • fix(loans): oracle integration #785
    • chore: bump spec_version to 1.20.0 #787
    • fix: disable timestamp hook in testnet s.t. instant seal works #786
    • refactor: harmonize reward and staking apis #779
    • feat: add hook for aggregate change #778
    • Collateral Toggle #754
    • Feat: nomination commission #760
    • fix: use aura timestamp hook #777
    • chore: update max block weight comment #774
    • chore: move bitcoin data to tld #773
    • refactor: remove module prefix from rpc pallets #771
    • chore: upgrade to polkadot-v0.9.31 #768
    • feat(loans): rpc api #762
    • chore: add protobuf-compiler to docs build #766
    • chore: remove pallet prefix from loans / traits and enable std in run… #764
    • chore: upgrade to polkadot-v0.9.30 #763
    • Lending protocol #737
    • feat(loans): pTokens currency and oracle integration #3
    • chore: remove unused storage versions, set issue default to v4 #734
    • chore: remove unused vault migrations and update interlay version #733
    • chore: remove executed kintsugi collator-selection migration #732
    • Lockable, transferrable pTokens #2
    • Lending Protocol #1

    Chore

    • bump spec_version to 1.20.0
    • update max block weight comment
    • move bitcoin data to tld
    • change ordering of multisig tests
    • set max proof size
    • run all migrations for call changes
    • cleanup dependencies, sp-core no-std
    • cargo fmt
    • change cumulus imports, update clap v4, scheduler migration
    • update dependencies to polkadot-v0.9.31
    • add protobuf-compiler to docs build
    • remove pallet prefix from loans / traits and enable std in runtimes
    • rename outer enums in tests
    • rename outer event in mocks
    • install protobuf-compiler in actions
    • cargo fmt
    • update scale-info and parity-scale-codec
    • rename outer enums, update service
    • update dependencies to polkadot-v0.9.30
    • remove executed kintsugi collator-selection migration
    • remove unused storage versions, set issue default to v4
    • remove unused vault migrations and update interlay version
    • fix toml files
    • bump toolchain to match lending pallet

    Feat

    • add hook for aggregate change
    • implement nomination commission
    • use latest orml

    Fix

    • testnet-kintsugi build
    • disable timestamp hook in testnet s.t. instant seal works
    • use aura timestamp hook
    • withdraw from reward pool when changing vault collateral
    • democracy enact_proposal shouldn't use max weight
    • loans rpc imports

    Refactor

    • harmonize reward and staking apis
    • remove module prefix from rpc pallets
    • use same MaximumSchedulerWeight as on polkadot / kusama

    Test

    • additional nomination reward tests

    Dependency changes

    https://github.com/paritytech//substrate/compare/cc370aa61e15c18d23a2f686b812fd576a630afe...7a4e5163091384c4c10b6d76f5cb80dac0834f38 /compare/94078b44fb6c9767bf60ffcaaa3be40681be5a76... https://github.com/paritytech//cumulus/compare/2fa95572487cfcf8dbe6941bf93545c39d47f784...fb8c5a3d0800ebdebe14bd0e708d2a348f976d9e

    Runtimes

    Interlay

    🏋️ Runtime Size:		1122924 bytes
    🔥 Core Version:		{'specName': 'interlay-parachain', 'implName': 'interlay-parachain', 'authoringVersion': 1, 'specVersion': 1020000, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0x22b97323b9e853da', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1]], 'transactionVersion': 2}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xb3a20cc99ed3402d4b993aa10f7a1949ae3bf957ab97a472c5235063f6850e9c
    🗳️ authorizeUpgrade hash:	0xb7a97921b3f1016efd601eefc6a3a4bc3a3ec3d27fd8f19108926fbdc84b9dfb
    #️⃣ Blake2-256 hash:		0x0a651e839787e29da40b1c177e2169e18e6295f9b117e9e12391785556ff735d
    📦 IPFS:			QmSdqWGyp1o7ZYVHX1bRAEwRB3ZX3gY1D8gFAguUcpzQTD
    

    Kintsugi

    🏋️ Runtime Size:		1122782 bytes
    🔥 Core Version:		{'specName': 'kintsugi-parachain', 'implName': 'kintsugi-parachain', 'authoringVersion': 1, 'specVersion': 1020000, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1], ['0x22b97323b9e853da', 1]], 'transactionVersion': 3}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x03dd922ec3c38c3f03cfc2b7a76f959ed05e8de035f39504f5b6bd7581b31db0
    🗳️ authorizeUpgrade hash:	0xc663ca520d70b1bb4c33f7d36af144681952f319259381a08f3a0b6059658284
    #️⃣ Blake2-256 hash:		0xaea2be02e2d56b6910f263e47bfa43ac0655ba96574b74d53949d82ab9421840
    📦 IPFS:			QmTSjgfpVwXnFNaEwxqrPWUs3XVoGgHhdsxGBNZXSmNSLM
    

    Testnet-Kintsugi

    🏋️ Runtime Size:		1185168 bytes
    🔥 Core Version:		{'specName': 'testnet-kintsugi', 'implName': 'testnet-kintsugi', 'authoringVersion': 1, 'specVersion': 1020000, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1], ['0x22b97323b9e853da', 1]], 'transactionVersion': 1}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x0417b3f0a71b1d7b9eac05a2d09d960815a87b6f0fa82eac4fae748ad216d222
    🗳️ authorizeUpgrade hash:	0x097322c66575a14e7983eb0f0495a0f4f6d927392b2efa084367b0d221f279cc
    #️⃣ Blake2-256 hash:		0xf3a2abf104e4b01640cfbf522f0b616ce8f3c671c86809471eef349a3c1978a1
    📦 IPFS:			QmfZAGQ8ooBWacNmUDydDeSCFnqoMf9E2wM9M1ypJkGLxx
    

    Testnet-Interlay

    🏋️ Runtime Size:		1185810 bytes
    🔥 Core Version:		{'specName': 'testnet-interlay', 'implName': 'testnet-interlay', 'authoringVersion': 1, 'specVersion': 1020000, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1], ['0x22b97323b9e853da', 1]], 'transactionVersion': 1}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x02e036456b395065076b559d3581c389af4d89c1bd3ea092e92e06740ca86dbc
    🗳️ authorizeUpgrade hash:	0x93f30b87e3f429e67b15597f52201420f382f0c1fd3f8b854f407b1d2fc29670
    #️⃣ Blake2-256 hash:		0x523be01c4fbd50585da73f418158405e3de66bfaf1fe9c153ab20117fd3b8170
    📦 IPFS:			QmRcj2NkNkLQgoprYwYCoy1gR6uFiCy9yP8M4asxe7F3rs
    
    Source code(tar.gz)
    Source code(zip)
    testnet_interlay_runtime_parachain.compact.compressed.wasm(1.13 MB)
    testnet_kintsugi_runtime_parachain.compact.compressed.wasm(1.13 MB)
    kintsugi_runtime_parachain.compact.compressed.wasm(1.07 MB)
    interbtc-parachain(194.87 MB)
    interlay_runtime_parachain.compact.compressed.wasm(1.07 MB)
  • 1.19.1(Oct 18, 2022)

    interBTC 1.19.1 (2022-10-18)

    This release contains the changes from 1.19.0 to 1.19.1.

    Global Priority

    • ⚪ LOW: This is a low priority release and you may upgrade at your convenience.

    Breaking CLI changes

    Changes

    • fix: update new nomination default weights #735
    • feat: configurable nomination limit #728
    • Theo/polkadot v0.9.29 #726
    • chore: reduce democracy periods on kintsugi & testnet #730
    • Chore: update bootnodes #731
    • feat: try-runtime support #723

    Chore

    • switch back the upstream xcm-simulator
    • reduce democracy periods on kintsugi & testnet
    • fmt
    • update to polkadot 0.9.29 Includes refactor to opaque weights (weights v1.5)

    Chore

    • update bootnodes

    Feat

    • configurable nomination limit
    • try-runtime support

    Fix

    • update new nomination default weights
    • switch back from xcm-simulator to xcm-emulator

    Test

    • undo unnecessary change in tests

    Wip

    • attempt to cargo update
    • update to polkadot 0.29
    • update to polkadot 0.29: rpc failing compilation

    Dependency changes

    https://github.com/paritytech//substrate/compare/e8a7d161f39db70cb27fdad6c6e215cf493ebc3b...cc370aa61e15c18d23a2f686b812fd576a630afe https://github.com/paritytech//polkadot/compare/d8785970175dce344f2a6ad1cd88297529a6dd59...94078b44fb6c9767bf60ffcaaa3be40681be5a76 https://github.com/paritytech//cumulus/compare/e43b8b878a6fd0ca8b5e88d19822c4d777d3c677...2fa95572487cfcf8dbe6941bf93545c39d47f784

    Runtimes

    Interlay

    🏋️ Runtime Size:		1112685 bytes
    🔥 Core Version:		{'specName': 'interlay-parachain', 'implName': 'interlay-parachain', 'authoringVersion': 1, 'specVersion': 1019000, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1]], 'transactionVersion': 2}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x0728b4498ca8522735f017d736f811454403a6816c014cace012798530971a6f
    🗳️ authorizeUpgrade hash:	0x9ed42a35c7600ca19f302d60e66ea532e8ee8c59ced2532325303e335c591546
    #️⃣ Blake2-256 hash:		0x4e50261b4754f0aadec739d646977a316106483ce595af18ed21e29715edee18
    📦 IPFS:			QmX2M91jkxZMSmAbP98JpxagGguer36KZnJpiBsV5cJN6t
    

    Kintsugi

    🏋️ Runtime Size:		1117695 bytes
    🔥 Core Version:		{'specName': 'kintsugi-parachain', 'implName': 'kintsugi-parachain', 'authoringVersion': 1, 'specVersion': 1019000, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1]], 'transactionVersion': 3}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x8ba77f672577c1ea5336c9dd844f4177f0c7200f814b44f0170a30b0a235f109
    🗳️ authorizeUpgrade hash:	0xe9c47dd73ce9f0891171a9366276400bb94f7c04b27cf738855968f00e417d9a
    #️⃣ Blake2-256 hash:		0x8eebf3dcec2e57db79f3351e1336bd1b6fcfb8f548794cfe3445b8d2ab4a9f1d
    📦 IPFS:			QmaxYa9sBiuv32Fka6zwNvdZnqH7xMHw3r7DaB1xtke5XU
    

    Testnet-Kintsugi

    🏋️ Runtime Size:		1120486 bytes
    🔥 Core Version:		{'specName': 'testnet-kintsugi', 'implName': 'testnet-kintsugi', 'authoringVersion': 1, 'specVersion': 1019000, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1]], 'transactionVersion': 1}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x603b6a72b9f122c5a9fac83472783f41475b29fd1397c5a2fe0645898cafbb95
    🗳️ authorizeUpgrade hash:	0xc06199bb3635b3e1991b0e6dec7ad5be357bb48df206ce4216b634aa2cb479eb
    #️⃣ Blake2-256 hash:		0x3260efbc66e44ec6ea7ea5e2fcfe783b410d34036ca6feb59010511398613114
    📦 IPFS:			QmTFDfx5jFkYVSADvx8WEvcpg35tv6ao6HvpMoCDazfTW7
    

    Testnet-Interlay

    🏋️ Runtime Size:		1120187 bytes
    🔥 Core Version:		{'specName': 'testnet-interlay', 'implName': 'testnet-interlay', 'authoringVersion': 1, 'specVersion': 1019000, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1]], 'transactionVersion': 1}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x9aede0ff038121c22b6f6fef5bf1ca8dbd21a101faa75218dcbdf2733efbd6a8
    🗳️ authorizeUpgrade hash:	0x56d454551ea0f9a5f45a0d6985d038c69d16e6ac5af328bd4bf6b9f830ef4da9
    #️⃣ Blake2-256 hash:		0x37b5dae56a3b5c2641e238d61163e087a4dc275eff24d7a630eca0579f807ecd
    📦 IPFS:			Qmd6Bxv1GinaHUfHngapjc7qEdQEUVt2cLTCrBwaXC1B4e
    
    Source code(tar.gz)
    Source code(zip)
    interlay_runtime_parachain.compact.compressed.wasm(1.06 MB)
    kintsugi_runtime_parachain.compact.compressed.wasm(1.06 MB)
    interbtc-parachain(184.31 MB)
    testnet_interlay_runtime_parachain.compact.compressed.wasm(1.06 MB)
    testnet_kintsugi_runtime_parachain.compact.compressed.wasm(1.06 MB)
  • 1.19.0(Oct 11, 2022)

    interBTC 1.19.0 (2022-10-06)

    This release contains the changes from 1.18.0 to 1.19.0.

    Global Priority

    • ⚪ LOW: This is a low priority release and you may upgrade at your convenience.

    Changes

    • chore: bump spec versions to 1.19.0 #725
    • test: reward tests from specific state #722
    • fix: stricter collateral checks in vault registration #719
    • feat: include clients-info crate on mainnet runtimes #720
    • [BREAKING] refactor!: remove refund #696
    • feat: add migration to set the parameters for collator-selection #709
    • feat: allow requester to call cancel_issue #699
    • feat: allow issue execution after expiry #601
    • fix: spend origin should allow max for root #715
    • [Breaking] feat: self-redeem #702
    • [BREAKING] chore: upgrade to polkadot-v0.9.26 #708
    • feat: kick collators without sufficient escrow balance #707
    • feat: set release of arbitrary clients #706
    • chore(deps): bump lz4-sys from 1.9.3 to 1.9.4 #711
    • chore: remove kintsugi aura migration #703
    • chore: document sovereign account calculation #704
    • feat: fork collator-selection and use escrow for bonding #688
    • chore: harmonize chain specs with live networks #700
    • doc: simplified model for the staking module #690
    • chore: harmonize testnet accounts #701
    • [BREAKING] chore!: use ArithmeticError in other pallets #694
    • fix: exclude toBeRedeemed tokens from generating rewards #655
    • feat: Escrow RPCs #689
    • Chore: update rust toolchain to nightly-2022-06-20 #685
    • chore: use nightly-2022-06-20 #691
    • chore: allow rococo-local-[paraId] and rococo-local-interlay-[paraId] #687

    Chore

    • bump spec versions to 1.19.0
    • add pre_upgrade and post_upgrade hooks for issue v4
    • set CandidacyBond to 1000 vKINT
    • upgrade to polkadot-v0.9.26
    • remove kintsugi aura migration
    • split docs on parachain and sibling sovereign accounts
    • document sovereign account calculation
    • self-redeem benchmark
    • lower interlay issue period to one day
    • integrate collator-selection fork
    • harmonize chain specs with live networks
    • harmonize testnet accounts
    • use ArithmeticError in other pallets
    • minor cleanups
    • add rococo-local-interlay-3000 chain
    • update rust toolchain to nightly-2022-06-20

    Doc

    • simplified model for the staking module
    • update destination

    Feat

    • include clients-info crate on mainnet runtimes
    • allow requester to call cancel_issue
    • allow issue execution after expiry
    • add migration to set the parameters for collator-selection
    • set release of arbitrary clients
    • kick collators without sufficient escrow balance
    • self-redeem
    • use escrow for collator-selection bonding
    • fork collator-selection
    • add RPC extensions to the escrow pallet to allow access to balances and locked stakes

    Fix

    • stricter collateral checks in vault registration
    • don't allow cancellation of cancelled issued
    • spend origin should allow max for root
    • update broken links and update description
    • remove total-locked RPC
    • exclude toBeRedeemed tokens from generating rewards

    Refactor

    • only set actual surplus with max issuable change, test overpayment and underpayment
    • run issue migration for v0 and use non-default values in test
    • rename variables, check more conditions in cancel issue test
    • always check if vault is liquidated in cancel_issue
    • remove refund
    • set SpendOrigin to root
    • account for rounding in tests from FixedPoint changes
    • simplify new kicking mechanism logic
    • rename services pallet to clients_info
    • move client release logic into separate pallet
    • simplify client release migration

    Test

    • reward tests from specific state
    • kick mechanism below total balance

    Dependency changes

    https://github.com/paritytech/substrate/compare/814752f60ab8cce7e2ece3ce0c1b10799b4eab28...e8a7d161f39db70cb27fdad6c6e215cf493ebc3b https://github.com/paritytech/polkadot/compare/22836e55d41eef24ed5917fd654ee82a683a7cfe...d8785970175dce344f2a6ad1cd88297529a6dd59 https://github.com/paritytech/cumulus/compare/95ca5a085727c1494ddeeae4a2b2e69c4ee1933b...e43b8b878a6fd0ca8b5e88d19822c4d777d3c677

    Runtimes

    Interlay

    🏋️ Runtime Size:		1098809 bytes
    🔥 Core Version:		{'specName': 'interlay-parachain', 'implName': 'interlay-parachain', 'authoringVersion': 1, 'specVersion': 1019000, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1]], 'transactionVersion': 2}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x4de9a18f6b75108a9676bbde50e06319537564c35509150f8ad9faaecb0cf810
    🗳️ authorizeUpgrade hash:	0x31addcc971728d4a851c8ec6af217d6daaca26f4ffe8601c180ac5a27b9593e3
    #️⃣ Blake2-256 hash:		0x987e17412de3a277bc2cd8528995c7a2122fda52ed245b1f7983e4da0efd918d
    📦 IPFS:			QmcSHzTESoCdNKS8t6FrVjqwaSWR96sfymmrwHWpSEG85d
    

    Kintsugi

    🏋️ Runtime Size:		1095461 bytes
    🔥 Core Version:		{'specName': 'kintsugi-parachain', 'implName': 'kintsugi-parachain', 'authoringVersion': 1, 'specVersion': 1019000, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1]], 'transactionVersion': 3}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xb6e5086b71a45516010dba52ba738bd73b02bf6c709fe8bbe7fa0adc6515efdd
    🗳️ authorizeUpgrade hash:	0xd8289aa1081ac8309bd1f12452278a423446d6b3f6ad6047d79fabc94da70c65
    #️⃣ Blake2-256 hash:		0x944539229c53e21398a38cfcf6e2e812180c45644342ab0894a8d496ecc427f4
    📦 IPFS:			QmVqZKTNpapdrD8h6Z3GB6PVLR4KY4Tp2H7yU4vvNDmKQK
    

    Testnet-Kintsugi

    🏋️ Runtime Size:		1103355 bytes
    🔥 Core Version:		{'specName': 'testnet-kintsugi', 'implName': 'testnet-kintsugi', 'authoringVersion': 1, 'specVersion': 1019000, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1]], 'transactionVersion': 1}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x61b75fe4581b492ed7872bebfb0672ed251934764b2720537be75da9f12deca7
    🗳️ authorizeUpgrade hash:	0x38bebd707fb44796371fae10441638896e661e122d1cceff9e8cd631d7d416ea
    #️⃣ Blake2-256 hash:		0x57593ee9c47035dfb0f6d9ec69fd2fee543239dec9b79ac94017c7584b1c8f13
    📦 IPFS:			QmQyP2CPKWHj3DsCwWFYbWqWYzoo9tcvUxVAhphGuQqKm7
    

    Testnet-Interlay

    🏋️ Runtime Size:		1103572 bytes
    🔥 Core Version:		{'specName': 'testnet-interlay', 'implName': 'testnet-interlay', 'authoringVersion': 1, 'specVersion': 1019000, 'implVersion': 1, 'apis': [['0xdf6acb689907609b', 4], ['0x37e397fc7c91f5e4', 1], ['0x40fe3ad401f8959a', 6], ['0xd2bc9897eed08f15', 3], ['0xf78b278be53f454c', 2], ['0xab3c0572291feb8b', 1], ['0xdd718d5cc53262d4', 1], ['0xea93e3f16f3d6962', 2], ['0xbc9d89904f5b923f', 1], ['0x37c8bb1350a9a2a8', 1], ['0xc6b106fa1a388380', 1], ['0x6ef953004ba30e59', 1], ['0x16da96d36c6d5bb7', 1], ['0xcbfba9ca38dbdb1a', 1], ['0xc1e19f5c3385297a', 1], ['0xcaf39b979a6880bd', 1], ['0x69e2e1aa421f4fb0', 1], ['0x2be5cb02b0a56e73', 1]], 'transactionVersion': 1}
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xbbfc798e8cc587c195a3ece75fe7459a2a8e910900b6bd63a50ea75df202b75e
    🗳️ authorizeUpgrade hash:	0x59a030aecc1c9a0567b61dca97a93de9bfb4938ededb9b16cf814eea2cc40102
    #️⃣ Blake2-256 hash:		0x03df96b26347cffc2f6c5ddf891f7c7050931b769cf92d70527a9a238510ce97
    📦 IPFS:			QmQBVh14LKvqTK22qGqeqZjse6GBAFXzZAGwsS6LpvaYEn
    
    Source code(tar.gz)
    Source code(zip)
    kintsugi_runtime_parachain.compact.compressed.wasm(1.04 MB)
    interbtc-parachain(192.01 MB)
    testnet_kintsugi_runtime_parachain.compact.compressed.wasm(1.05 MB)
    interlay_runtime_parachain.compact.compressed.wasm(1.04 MB)
    testnet_interlay_runtime_parachain.compact.compressed.wasm(1.05 MB)
  • 1.18.0(Jul 28, 2022)

    interBTC 1.18.0 (2022-07-28)

    This release contains the changes from 1.17.0 to 1.18.0.

    Global Priority

    • ⚪ LOW: This is a low priority release and you may upgrade at your convenience.

    Changes

    • chore: revert spec_version for 1.18.0 #686
    • Revert "chore: upgrade to nightly-2022-06-20" #684
    • chore: set SpendPeriod to 1h and set spec_version for 1.18.1 #683
    • fix: enums exposed over RPC should use camelCase #620
    • chore: set spec_version for 1.18.0 #682
    • refactor!: testnet ss58s should be same as the primary runtimes #643
    • chore: rename staging chain specs #681
    • chore: upgrade to nightly-2022-06-20 #651
    • chore!: remove wallet from vault struct #680
    • fix: avoid overwriting changes in liquidate() #678
    • Remove theft reporting #677

    Chore

    • revert spec_version for 1.18.0
    • set SpendPeriod to 1h and set spec_version for 1.18.1
    • set spec_version for 1.18.0
    • upgrade to nightly-2022-06-20
    • rename staging chain specs
    • remove wallet from vault struct

    Fix

    • enums exposed over RPC should use camelCase
    • remove register_address from benchmarks
    • include vaultstatus migration
    • avoid overwriting changes in liquidate()

    Refactor

    • testnet ss58s should be same as the primary runtimes
    • cleanup liquidation with theft

    Dependency changes

    https://github.com/paritytech/substrate/compare/814752f60ab8cce7e2ece3ce0c1b10799b4eab28...814752f60ab8cce7e2ece3ce0c1b10799b4eab28 https://github.com/paritytech//polkadot/compare/22836e55d41eef24ed5917fd654ee82a683a7cfe...22836e55d41eef24ed5917fd654ee82a683a7cfe https://github.com/paritytech//cumulus/compare/95ca5a085727c1494ddeeae4a2b2e69c4ee1933b...95ca5a085727c1494ddeeae4a2b2e69c4ee1933b

    Runtimes

    Interlay

    🏋️ Runtime Size:		1052019 bytes
    🔥 Core Version:		interlay-parachain-1018000 (interlay-parachain-1.tx2.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xc1b5b4dcca55559acf84d771788159987e6ab6ce1e5fe54b1d6e40082a094bab
    🗳️ authorizeUpgrade hash:	0x9d56274e1794a5916d1ad3deeee0e7042acc3bfe99105f6460f7473dc745cec3
    #️⃣ Blake2-256 hash:		0x21b9b670f731dfe508cdfb3a888aa8c6aca60ea2bb802da570a37a121f4b4f26
    📦 IPFS:			QmZa2ib2inhN9neznePdzPF2BpEzJi1nG9wRcmm4ByTP1F
    

    Kintsugi

    🏋️ Runtime Size:		1047322 bytes
    🔥 Core Version:		kintsugi-parachain-1018000 (kintsugi-parachain-1.tx3.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xb2bb95ed3ae66ee57666148dd86b184f31664e4e2546ff218931912f6ce5276b
    🗳️ authorizeUpgrade hash:	0x02cc565fd32d40a0cb060fda4361afb2a3b07d7673b9ea132992ba39658276eb
    #️⃣ Blake2-256 hash:		0x2f406bf8641d032355223faccd5776080732302e333eac368fa797515706b93e
    📦 IPFS:			QmfFtBGG3crQppL2gatimKUWC4dPv7C86YFxjBunjuKT39
    

    Testnet-Kintsugi

    🏋️ Runtime Size:		1052031 bytes
    🔥 Core Version:		testnet-kintsugi-1018000 (testnet-kintsugi-1.tx1.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xb0a37b6fa7d23603619f8d8a4618dac9a97d2d784dfe61b31290eaa9122135b8
    🗳️ authorizeUpgrade hash:	0x36d4f7986c7305cb5cca79165c04222b07f6cce73b345e61e0ec317d224a58f2
    #️⃣ Blake2-256 hash:		0xd597310b76ae5f1e7672aed3d9287882f3c94c9a6dfb65ebc0b28bfa36b9553e
    📦 IPFS:			QmemQ8BeEcPX4CWbwA8skT1xKN8rzb59fGJYKZRbsRssV5
    

    Testnet-Interlay

    🏋️ Runtime Size:		1052101 bytes
    🔥 Core Version:		testnet-interlay-1018000 (testnet-interlay-1.tx1.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x6c21fac37784844caaa19edaa6d48c000546000793ecd7cbec14b190ce0f2cb5
    🗳️ authorizeUpgrade hash:	0xce764b42d802d7f4abf094ebdafb0d82f2dbd82dfb7b7b3b85f3f9b5c9954386
    #️⃣ Blake2-256 hash:		0xffd86c259438af8ca57b8b754ad8ac573ebac70997015723968b2432d8297d2a
    📦 IPFS:			QmdmiGSHPmgQB5nCR95crYDAjFjv8JM7sMyU4MUfpNDmVU
    
    Source code(tar.gz)
    Source code(zip)
    interbtc-parachain(177.40 MB)
    testnet_interlay_runtime_parachain.compact.compressed.wasm(1.00 MB)
    testnet_kintsugi_runtime_parachain.compact.compressed.wasm(1.00 MB)
    kintsugi_runtime_parachain.compact.compressed.wasm(1022.77 KB)
    interlay_runtime_parachain.compact.compressed.wasm(1.00 MB)
  • 1.17.0(Jul 25, 2022)

    interBTC 1.17.0 (2022-07-25)

    This release contains the changes from 1.16.0 to 1.17.0.

    Global Priority

    • ⚪ LOW: This is a low priority release and you may upgrade at your convenience.

    Changes

    • feat(vault): client release version #668
    • chore: set parachain runtime spec_version to 1017000 #676
    • feat: add fast_track_default to schedule with default VotingPeriod #674
    • fix!: add coingecko id to asset metadata #671
    • feat(vault): liquidation recovery #647
    • Theo/pervault collateral thresholds #654
    • feat!: added event for when the oracle aggregate gets updated #665
    • fix: ensure that report double payment transactions are unique #659
    • feat(democracy): fast-track referendum #653

    Feat

    • add fast_track_default to schedule with default VotingPeriod
    • vault release migration
    • added event for when the oracle aggregate gets updated

    Fix

    • add coingecko id to asset metadata
    • ensure that report double payment transactions are unique

    Refactor

    • simplify usage of optional vault PendingRelease

    Dependency changes

    https://github.com/paritytech/substrate/compare/814752f60ab8cce7e2ece3ce0c1b10799b4eab28...814752f60ab8cce7e2ece3ce0c1b10799b4eab28 https://github.com/paritytech//polkadot/compare/22836e55d41eef24ed5917fd654ee82a683a7cfe...22836e55d41eef24ed5917fd654ee82a683a7cfe https://github.com/paritytech//cumulus/compare/95ca5a085727c1494ddeeae4a2b2e69c4ee1933b...95ca5a085727c1494ddeeae4a2b2e69c4ee1933b

    Runtimes

    Interlay

    🏋️ Runtime Size:		1069435 bytes
    🔥 Core Version:		interlay-parachain-1017000 (interlay-parachain-1.tx2.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x0a1af76e1110f7f50f8198e549df4bde5d7149d3904a8a00060db67bdbc2e86b
    🗳️ authorizeUpgrade hash:	0x3a9c676aee1eb32e407e528b8af05dccd43ff9b1700006e9db219ebe9d10fc15
    #️⃣ Blake2-256 hash:		0x5699a58a3ec58014bedcfa0ab2f40ab76501b860156ef4c2ea73bb4467c9b196
    📦 IPFS:			QmesztkCJkHxAbvYsf7sLcpdVYxjSjrUxtszYPasqLfAUG
    

    Kintsugi

    🏋️ Runtime Size:		1068316 bytes
    🔥 Core Version:		kintsugi-parachain-1017000 (kintsugi-parachain-1.tx3.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x2e252b3936f62fa6bdb11cf47860fbd0d8d22b1fc535e75d3b2fa0cd1efec626
    🗳️ authorizeUpgrade hash:	0x38ebae2cd626855e6297ec54c4ebf49065c7f8be793e5da152dedacd258de9db
    #️⃣ Blake2-256 hash:		0xc7e0eac2252953f7f060d1cdda9d4ca97d97a940051e03ed5f04e838011b02fd
    📦 IPFS:			QmUupUWLPcQXHLNYtEoyrwnbiizadKA3PLuF4RE3CRM5an
    

    Testnet-Kintsugi

    🏋️ Runtime Size:		1083595 bytes
    🔥 Core Version:		testnet-parachain-1017000 (testnet-parachain-1.tx1.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xf259c8c454172e8c0447ee75fb52c1f436bc7c37b2e5ce508e7ebf31021d3d88
    🗳️ authorizeUpgrade hash:	0xe1e3b0afb4bc99566116a26588c6eb6dc8d8117a7c4ad146af413ab6c5fb641b
    #️⃣ Blake2-256 hash:		0xb0b3d12ca0db930ba0fc2e171f2a5b5282d58d38f787946a5a6403f586330cd5
    📦 IPFS:			QmW5mhGUqXBqwNMYeq9JWnt8GWpQFHcZy59QqWXTYc2FDD
    

    Testnet-Interlay

    🏋️ Runtime Size:		1083143 bytes
    🔥 Core Version:		testnet-interlay-1017000 (testnet-interlay-1.tx1.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xd0ddb7d9f1c044ad7d2915c94180e0b6f3983595e0a8f72a5bfba5b240f54ec9
    🗳️ authorizeUpgrade hash:	0xeb5aaccc1b289de5a699ccba8a7d8213e6d084b9a4363f3384c29acf40143d04
    #️⃣ Blake2-256 hash:		0xcdbbb6717aadb6b8c46c128bce1f167dc878655b972d3f992739f691c22102dc
    📦 IPFS:			QmZmzXy8eNQxDT625jggeqztoJYNecaRKPX9HTbwJmahbH
    
    Source code(tar.gz)
    Source code(zip)
    interlay_runtime_parachain.compact.compressed.wasm(1.01 MB)
    interbtc-parachain(177.97 MB)
    testnet_kintsugi_runtime_parachain.compact.compressed.wasm(1.03 MB)
    kintsugi_runtime_parachain.compact.compressed.wasm(1.01 MB)
    testnet_interlay_runtime_parachain.compact.compressed.wasm(1.03 MB)
  • 1.16.0(Jun 23, 2022)

    interBTC 1.16.0 (2022-06-23)

    This release contains the changes from 1.15.0 to 1.16.0.

    Global Priority

    • ⚪ LOW: This is a low priority release and you may upgrade at your convenience.

    Changes

    • feat!: migrate kintsugi to session + collator_selection #595
    • test: hrmp setup cost #652

    Chore

    • bump kintsugi spec_version to 19

    Feat

    • migrate kintsugi to session + collator_selection

    Refactor

    • handle aura migration errors and log
    • simplify aura migration based on feedback

    Test

    • test hrmp setup cost

    Dependency changes

    https://github.com/paritytech/substrate/compare/257cdb558c0decbd1da756b43288d06d02ff77c7...814752f60ab8cce7e2ece3ce0c1b10799b4eab28 https://github.com/paritytech//polkadot/compare/22836e55d41eef24ed5917fd654ee82a683a7cfe...22836e55d41eef24ed5917fd654ee82a683a7cfe https://github.com/paritytech//cumulus/compare/1d3a0d77b94046cf584dbf712d54fe6e9787d61c...95ca5a085727c1494ddeeae4a2b2e69c4ee1933b

    Runtimes

    Interlay

    🏋️ Runtime Size:		1056443 bytes
    🔥 Core Version:		interlay-parachain-4 (interlay-parachain-1.tx2.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x230e9c8a75e9971f58232dd013812dbcc3ced79f14782035c758e7d607f3e8d6
    🗳️ authorizeUpgrade hash:	0xff07586d802ba8a8d49d58f0e0a4a360894ecf1848fcc2b84f9977a3fc439528
    #️⃣ Blake2-256 hash:		0xf41b8271f15888daa77a21b8be5899a81fb0695b1c35eb8eda539d0b566d8bc3
    📦 IPFS:			QmVtTBUgeReBrUwv3XRnVdgHNLeCt2p29rd3mu1eoeREZp
    

    Kintsugi

    🏋️ Runtime Size:		1056212 bytes
    🔥 Core Version:		kintsugi-parachain-19 (kintsugi-parachain-1.tx3.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xf02cca3ebee00fad4e2342c52902fdbbdb1ccf9a1cbc60418c9fb101f84cbb8d
    🗳️ authorizeUpgrade hash:	0xb713cf431a5830f380528b4fe95780788f5db49363377b122103b86d6f2b5e89
    #️⃣ Blake2-256 hash:		0x4966d1f3e270a7d5f684e012151a185a714ce2be5d130c1100f9b5008db9d810
    📦 IPFS:			QmSt6MTrM3EBLNaakcRYaSvX9faUakximDtN1J5VBhWuRD
    

    Testnet-Kintsugi

    🏋️ Runtime Size:		1067668 bytes
    🔥 Core Version:		testnet-parachain-9 (testnet-parachain-1.tx1.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xbbb0b9a2699ec0640be9992819f087cbe93ec8c2b559fc3311eb8e82564a5d1c
    🗳️ authorizeUpgrade hash:	0x58588e88dbe92ac4b04cde36ea888648bb49543986792343794193e7660cf554
    #️⃣ Blake2-256 hash:		0x3e6076c66f0038a7f51f60db8eb700e4325d4ada97c5158552a80e8f3f0552e8
    📦 IPFS:			QmcyyW9Zi4MRPgMs5YEfYAAKSC9Zf7Ck64iQaKqonZ6pt9
    

    Testnet-Interlay

    🏋️ Runtime Size:		1067032 bytes
    🔥 Core Version:		testnet-interlay-9 (testnet-interlay-1.tx1.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x2fe077eb5cc1269cb07a8c4e1a021f18c887369ec221087dbd3a1a6794d2deec
    🗳️ authorizeUpgrade hash:	0x9d446193266b4e09e77361d6f40ab8262edab690745c1fcb16a18de1feb28e60
    #️⃣ Blake2-256 hash:		0x943b7d7e793e7c73ef9c94d4244470adb88fad8b4c1ebcfc7f6a3ce65a6cd81f
    📦 IPFS:			Qmdvd2H4Vb3WbxpYhpvUGqipao5i3pn1iSwTU6CjmMVRYL
    
    Source code(tar.gz)
    Source code(zip)
    interbtc-parachain(177.56 MB)
    kintsugi_runtime_parachain.compact.compressed.wasm(1.00 MB)
    interlay_runtime_parachain.compact.compressed.wasm(1.00 MB)
    testnet_interlay_runtime_parachain.compact.compressed.wasm(1.01 MB)
    testnet_kintsugi_runtime_parachain.compact.compressed.wasm(1.01 MB)
  • 1.15.0(Jun 20, 2022)

    interBTC 1.15.0 (2022-06-20)

    This release contains the changes from 1.14.2 to 1.15.0.

    Global Priority

    • ⚪ LOW: This is a low priority release and you may upgrade at your convenience.

    Changes

    • chore: bump spec versions for 1.15.0 #649
    • Test/fix: polkadot xcm #644
    • chore: upgrade to polkadot-v0.9.24 #646
    • fix: iterate over all reward currencies in slash_stake #648

    Chore

    • bump spec versions for 1.15.0
    • update xcm test weights for v0.9.24
    • upgrade to polkadot-v0.9.24

    Fix

    • support non-canonicalized xcm locations
    • iterate over all reward currencies in slash_stake

    Refactor

    • ParachainMinFee should always return None

    Test

    • interlay xcm tests

    Dependency changes

    https://github.com/paritytech/substrate/compare/563f4820d8f36d256ada7ea3fef46b2e94c4cd5a...257cdb558c0decbd1da756b43288d06d02ff77c7 https://github.com/paritytech//polkadot/compare/568169b41aea59a54ab8cfa23c31e84a26708280...22836e55d41eef24ed5917fd654ee82a683a7cfe https://github.com/paritytech//cumulus/compare/4bbedb30b1478494b410477498bd0a2221177a11...1d3a0d77b94046cf584dbf712d54fe6e9787d61c

    Runtimes

    Interlay

    🏋️ Runtime Size:		1056314 bytes
    🔥 Core Version:		interlay-parachain-4 (interlay-parachain-1.tx2.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xffc55da63d22ee6b11a43d4d64f880cf4ccc61f1ec26886c17eb99f6d131056a
    🗳️ authorizeUpgrade hash:	0xb62233d87b7fd3703355b2f266fb02a7cfc76ac66c20ecf7c27f15e021d12f3a
    #️⃣ Blake2-256 hash:		0xe04265ad7dafe6278ccc040ef62ae1d7e0497b044e695af2a039edc56f2a426c
    📦 IPFS:			QmY7myoqtD3tZc9nhMFQYd9wXSng6TRwC9BKrg2oT67ppk
    

    Kintsugi

    🏋️ Runtime Size:		1029336 bytes
    🔥 Core Version:		kintsugi-parachain-18 (kintsugi-parachain-1.tx3.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x0dcaa81bb62db650dc284cdbadb1601bc96ffc45c5fdc3c24ff1a2ed10a3b956
    🗳️ authorizeUpgrade hash:	0x2effef1ea59fabbe6a9ba9974cd4ce8e7bd86ac6401a8031ff5efd6b118d5be4
    #️⃣ Blake2-256 hash:		0xb5d189748ec34be47f888b9a95d95410098bc802c875b77de3fb034476a55ad7
    📦 IPFS:			QmNaXCg9oYsKjwtnYrsC3PK32BRLRYFXcg977DgiJ83KSs
    

    Testnet-Kintsugi

    🏋️ Runtime Size:		1067359 bytes
    🔥 Core Version:		testnet-parachain-9 (testnet-parachain-1.tx1.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xe64422199ba83b4ad56aef29499c55a37825e4089aedf64a7f7fc20e159e216f
    🗳️ authorizeUpgrade hash:	0x83439f0abcd970b802eb90bbc2ffb01b51ea691c89cc939236afad9b552e224a
    #️⃣ Blake2-256 hash:		0x25dcb0eacf814614fc81a6b86151f20f1c9113b33a6f3659bcb4178937dcdadd
    📦 IPFS:			QmNyZQmo2kTQXnut8at8fsEY5sraMZVHgKPC86kbbYX4EX
    

    Testnet-Interlay

    🏋️ Runtime Size:		1067511 bytes
    🔥 Core Version:		testnet-interlay-9 (testnet-interlay-1.tx1.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x6a0737242c2d2be66e57bf60820824a730cfbb921e0867513688da3b2ac441be
    🗳️ authorizeUpgrade hash:	0x928b6dee668fb488c76beba7bcdeb3919e248d66f7b7d81bb6c41c15054ff83e
    #️⃣ Blake2-256 hash:		0xba77e53f4de9cefbec380e5c859f020a7a86cbb63c13bb09d631f08d54025e73
    📦 IPFS:			QmUQYEkjYsdjhnXMSTf5jaNp6jeFUs9hNri9EXqufpByXb
    
    Source code(tar.gz)
    Source code(zip)
    interlay_runtime_parachain.compact.compressed.wasm(1.00 MB)
    interbtc-parachain(177.36 MB)
    testnet_kintsugi_runtime_parachain.compact.compressed.wasm(1.01 MB)
    kintsugi_runtime_parachain.compact.compressed.wasm(1005.21 KB)
    testnet_interlay_runtime_parachain.compact.compressed.wasm(1.01 MB)
  • 1.14.2(Jun 14, 2022)

    interBTC 1.14.2 (2022-06-14)

    This release contains the changes from 1.14.1 to 1.14.2.

    Global Priority

    • ⚪ LOW: This is a low priority release and you may upgrade at your convenience.

    Changes

    • fix: release pipeline for testnet #642
    • Feat: interlay testnet from chain spec #641
    • feat: cancel_replace can be called by anyone #640
    • Chore: use tini for pid 1 in docker #638
    • Chore: remove gitlab-ci #639
    • feat: introduce reward_per_wrapped to cap annuity rewards based on th… #622
    • fix: add dummy BtcAddress to benchmarks, enable xcm dep on standalone #635
    • feat(fee): storage setter extrinsics #627
    • refactor: add lib target to parachain crate, return rpc_handlers from… #631

    Chore

    • remove gitlab-ci
    • use tini for pid 1 in docker

    Feat

    • interlay testnet chainspecs
    • cancel_replace can be called by anyone
    • Add validation to fee pallet setters
    • introduce reward_per_wrapped to cap annuity rewards based on the total wrapped issuance

    Fix

    • release pipeline for testnet
    • add dummy BtcAddress to benchmarks, enable xcm dep on standalone

    Refactor

    • renamed testnet -> testnet-kintsugi
    • annuity tests shouldn't use magic constants
    • align runtime-benchmarks with substrate
    • add BtcPublicKey::dummy() for runtime-benchmarks
    • add BtcAddress::dummy() for runtime-benchmarks
    • add lib target to parachain crate, return rpc_handlers from start_instant

    Test

    • integration of TotalWrapped via rewards_per_wrapped

    Dependency changes

    https://github.com/paritytech/substrate/compare/563f4820d8f36d256ada7ea3fef46b2e94c4cd5a...563f4820d8f36d256ada7ea3fef46b2e94c4cd5a https://github.com/paritytech/polkadot/compare/568169b41aea59a54ab8cfa23c31e84a26708280...568169b41aea59a54ab8cfa23c31e84a26708280 https://github.com/paritytech/cumulus/compare/4bbedb30b1478494b410477498bd0a2221177a11...4bbedb30b1478494b410477498bd0a2221177a11

    Runtimes

    Interlay

    🏋️ Runtime Size:		1050569 bytes
    🔥 Core Version:		interlay-parachain-3 (interlay-parachain-1.tx2.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xc9eacc57dcb82b78a51e5c0cdab1dd9bd031fc7950d6f2a98675b02b9ff34a36
    🗳️ authorizeUpgrade hash:	0x8877b6bda278b86b3397ca9bec8fde7ce9c59b0bbf1e4ae1abb7159940803e1e
    #️⃣ Blake2-256 hash:		0x262acceca828052fd85461aa9812985db8d1795b36b213f8dbe49cd5daaf21f3
    📦 IPFS:			QmfMRvZiQPC6nvpWEcPP16WrvLjQaTvLfDS4DyUj1NQefa
    

    Kintsugi

    🏋️ Runtime Size:		1026695 bytes
    🔥 Core Version:		kintsugi-parachain-17 (kintsugi-parachain-1.tx3.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xe28dd440cc1022708c6602176261943398ee351b1b372fdc95f12667b506f71a
    🗳️ authorizeUpgrade hash:	0xf4e49a26aff0df08819e9d7f02a948400820c6a8bf1858fc2a7940a8e57762bd
    #️⃣ Blake2-256 hash:		0xfa3f60e2870986743f45f2278adf2b779f0976746ab95cef0bcb35501ff7d67d
    📦 IPFS:			QmVW1HSg9zii9zDjC9LLR9G8kzLBurQisQCtiRqpzhPCkg
    

    Testnet-Kintsugi

    🏋️ Runtime Size:		1056030 bytes
    🔥 Core Version:		testnet-parachain-8 (testnet-parachain-1.tx1.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xa870247af9dcea7fa4d4b708f6c7507e52e99063d517ba65bd858ca94dfa5f59
    🗳️ authorizeUpgrade hash:	0x07d7c21d197b3fbc93696bf8f579d8eaa6cb548c36242bf8fc72ed56c7ef6685
    #️⃣ Blake2-256 hash:		0x482147eab41bc5718b988902c3157fac81f36e22a7d8a321d65aa1b83b25a9e3
    📦 IPFS:			QmZD42KxfGa2Q9ZtoukA6cKTYuhTPhW21yDTdKZ3hvwjA9
    

    Testnet-Interlay

    🏋️ Runtime Size:		1056032 bytes
    🔥 Core Version:		testnet-interlay-8 (testnet-interlay-1.tx1.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x4c6f1aaeee061afd227056044326d6dd29f4ca4cb877da62cd5af30fa25c077d
    🗳️ authorizeUpgrade hash:	0x39af38dac83bf45dbc74c880b35c3730df6142ba9781703073056b718b0fe3c0
    #️⃣ Blake2-256 hash:		0x7575e90160d1ad425f26fab89304bba626db53cc0c1178bede8ec871d1e87f48
    📦 IPFS:			QmNxePTSsFpLm1rG5K82k5qScQdRuvVJkDHDYLfbb8vgG1
    
    Source code(tar.gz)
    Source code(zip)
    interbtc-parachain(181.88 MB)
    kintsugi_runtime_parachain.compact.compressed.wasm(1002.63 KB)
    interlay_runtime_parachain.compact.compressed.wasm(1.00 MB)
    testnet_interlay_runtime_parachain.compact.compressed.wasm(1.00 MB)
    testnet_kintsugi_runtime_parachain.compact.compressed.wasm(1.00 MB)
  • 1.14.1(Jun 8, 2022)

    interBTC 1.14.1 (2022-06-08)

    This release contains the changes from 1.14.0 to 1.14.1.

    Global Priority

    • ⚪ LOW: This is a low priority release and you may upgrade at your convenience.

    Breaking CLI changes

    Changes

    • fix: update escrow period to double lease period, increase required vINTR for democracy and bump spec version #634

    Fix

    • update escrow period to double lease period, increase required vINTR for democracy and bump spec version

    Dependency changes

    https://github.com/paritytech/substrate/compare/563f4820d8f36d256ada7ea3fef46b2e94c4cd5a...563f4820d8f36d256ada7ea3fef46b2e94c4cd5a https://github.com/paritytech//polkadot/compare/568169b41aea59a54ab8cfa23c31e84a26708280...568169b41aea59a54ab8cfa23c31e84a26708280 https://github.com/paritytech//cumulus/compare/4bbedb30b1478494b410477498bd0a2221177a11...4bbedb30b1478494b410477498bd0a2221177a11

    Runtimes

    Interlay

    🏋️ Runtime Size:		1046230 bytes
    🔥 Core Version:		interlay-parachain-3 (interlay-parachain-1.tx2.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x2171097d7dc0f10f08f37047b68d573baf2bb5924409a9a1e6fffa988ee7b017
    🗳️ authorizeUpgrade hash:	0x8b306802eab8d5368d99798e638223026a3ff49042cc68e44b636e1873ccd556
    #️⃣ Blake2-256 hash:		0x6e218e90ca1e0daecb0a4cb99c954a9f17bfa08d1b73e0b3308c403c2a3c4889
    📦 IPFS:			QmZzCp6uzCZp329DCdKPeaVSJUwnKruGvi4PcjBhGvuwkD
    

    Kintsugi

    🏋️ Runtime Size:		1023702 bytes
    🔥 Core Version:		kintsugi-parachain-17 (kintsugi-parachain-1.tx3.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x142ad003bf727372341b556062fbdbbf1f43022948dcc1676ba43960dc6d3e24
    🗳️ authorizeUpgrade hash:	0x0987e741656345c80dbf9ce9fbf20c634c29730755e880f894eacac39963eba9
    #️⃣ Blake2-256 hash:		0x141172080e6d4645fd179636ec14b197669ee376e4caae55c8274e6dd2aae66d
    📦 IPFS:			QmQSy2DFokk8ZWHn2Q5FjLoNmbNPRkqgv54WonRDkz5kgS
    

    Testnet

    🏋️ Runtime Size:		1057856 bytes
    🔥 Core Version:		testnet-parachain-8 (testnet-parachain-1.tx1.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xfa33ed35ff70f7eb8244f9352aa9a975ff417de2e964703152b66acab067de2e
    🗳️ authorizeUpgrade hash:	0x2865ae8b6e5abfc5f75c7dc653e3a983cdd6fdb0ba540ac352a0d6dc80c7e40d
    #️⃣ Blake2-256 hash:		0xa41aa4a370ed4a3b2f60afe7e3393943fcc18d53c7fc240a22f72347b3f75a7f
    📦 IPFS:			QmPxTUJkbZ3zoBtZ7E65F57z6heVZdUGxwXDbLequkygXt
    
    Source code(tar.gz)
    Source code(zip)
    interbtc-parachain(169.35 MB)
    interlay_runtime_parachain.compact.compressed.wasm(1021.70 KB)
    kintsugi_runtime_parachain.compact.compressed.wasm(999.70 KB)
    testnet_runtime_parachain.compact.compressed.wasm(1.00 MB)
  • 1.14.0(Jun 7, 2022)

    interBTC 1.14.0 (2022-06-07)

    This release contains the changes from 1.14.0-rc2 to 1.14.0.

    Global Priority

    • ⚪ LOW: This is a low priority release and you may upgrade at your convenience.

    Changes

    • chore: bump spec versions for 1.14.0 #632
    • feat!: Added oracle register/remove events to facilitate tracking through event indexers #630
    • test: some theft and escrow related tests #625
    • Chore: update kintsugi and interbtc bootnodes #629
    • fix: disallow bitcoin hash of zero #626

    Chore

    • bump spec versions for 1.14.0

    Chore

    • update kintsugi and interbtc bootnodes

    Docs

    • add audit readme

    Feat

    • Added oracle register/remove events to facilitate tracking through event indexers

    Fix

    • disallow bitcoin hash of zero

    Test

    • some theft and escrow related tests

    Dependency changes

    https://github.com/paritytech/substrate/compare/563f4820d8f36d256ada7ea3fef46b2e94c4cd5a...563f4820d8f36d256ada7ea3fef46b2e94c4cd5a https://github.com/paritytech//polkadot/compare/568169b41aea59a54ab8cfa23c31e84a26708280...568169b41aea59a54ab8cfa23c31e84a26708280 https://github.com/paritytech//cumulus/compare/4bbedb30b1478494b410477498bd0a2221177a11...4bbedb30b1478494b410477498bd0a2221177a11

    Runtimes

    Interlay

    🏋️ Runtime Size:		1046276 bytes
    🔥 Core Version:		interlay-parachain-3 (interlay-parachain-1.tx2.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xefc04febb6952e2e71b4e720ed1e0345b039416f478fbc50167b920662c41470
    🗳️ authorizeUpgrade hash:	0x0297a903dd86100ebf74385e081f62b227b9704a5881f5d9e2ec54a46aba27ab
    #️⃣ Blake2-256 hash:		0xac1f917875f1bd1d363fde1252c1dca675a0fb9052cfb68f930ef1d536d41395
    📦 IPFS:			QmbNW4pDJQKVRcdv66dYVoYvCCRpZNsDMDb3CBGikpZ5Un
    

    Kintsugi

    🏋️ Runtime Size:		1023702 bytes
    🔥 Core Version:		kintsugi-parachain-17 (kintsugi-parachain-1.tx3.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x142ad003bf727372341b556062fbdbbf1f43022948dcc1676ba43960dc6d3e24
    🗳️ authorizeUpgrade hash:	0x0987e741656345c80dbf9ce9fbf20c634c29730755e880f894eacac39963eba9
    #️⃣ Blake2-256 hash:		0x141172080e6d4645fd179636ec14b197669ee376e4caae55c8274e6dd2aae66d
    📦 IPFS:			QmQSy2DFokk8ZWHn2Q5FjLoNmbNPRkqgv54WonRDkz5kgS
    

    Testnet

    🏋️ Runtime Size:		1057856 bytes
    🔥 Core Version:		testnet-parachain-8 (testnet-parachain-1.tx1.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xfa33ed35ff70f7eb8244f9352aa9a975ff417de2e964703152b66acab067de2e
    🗳️ authorizeUpgrade hash:	0x2865ae8b6e5abfc5f75c7dc653e3a983cdd6fdb0ba540ac352a0d6dc80c7e40d
    #️⃣ Blake2-256 hash:		0xa41aa4a370ed4a3b2f60afe7e3393943fcc18d53c7fc240a22f72347b3f75a7f
    📦 IPFS:			QmPxTUJkbZ3zoBtZ7E65F57z6heVZdUGxwXDbLequkygXt
    
    Source code(tar.gz)
    Source code(zip)
    interlay_runtime_parachain.compact.compressed.wasm(1021.75 KB)
    testnet_runtime_parachain.compact.compressed.wasm(1.00 MB)
    kintsugi_runtime_parachain.compact.compressed.wasm(999.70 KB)
    interbtc-parachain(169.35 MB)
  • 1.13.0(May 23, 2022)

    interBTC 1.13.0 (2022-05-23)

    This release contains the changes from 1.12.2 to 1.13.0.

    Global Priority

    • ⚪ LOW: This is a low priority release and you may upgrade at your convenience.

    Changes

    • chore: bump spec versions for 1.13.0 #615
    • test: check that liquidation_redeem with 0 collateral works #613
    • fix: disallow merge transactions #611
    • feat!: add events for issue, redeem and replace period changes #609
    • chore: upgrade to polkadot 0.9.19 #593
    • test: opening hrmp channels #604
    • docs: add audit reports #608
    • refactor: liquidate at most liquidation threshold on theft #602
    • fix: correct rewards after slashing #600
    • refactor: only refund issue if input address is valid #603

    Chore

    • bump spec versions for 1.13.0
    • upgrade to polkadot 0.9.19
    • add remaining thresholds in liquidate_at_most_liquidation_threshold test

    Docs

    • add audit reports

    Feat

    • add events for issue, redeem and replace period changes

    Fix

    • disallow merge transactions
    • migration to recover withheld rewards
    • correct rewards after slashing

    Refactor

    • only refund issue if input address is valid
    • liquidate at most liquidation threshold on theft

    Test

    • fix broken xcm test
    • check that liquidation_redeem with 0 collateral works
    • opening hrmp channels

    Dependency changes

    https://github.com/paritytech/substrate/compare/fc3fd073d3a0acf9933c3994b660ebd7b5833f65...174735ea1bb5fc4513519c45181d8df63d86f613 https://github.com/paritytech//polkadot/compare/9ed0c98204d25eaad8a6b40248daee8e6a40d111...f00a2772497aadddf75b8b4b475843ea0d910c48 https://github.com/paritytech//cumulus/compare/b1e91afb7421309b203d7627b736d9bcf58260eb...0c779d926beeb6e1f3f2aa777d9bcec792c0bdac

    Runtimes

    Interlay

    🏋️ Runtime Size:		1015527 bytes
    🔥 Core Version:		interlay-parachain-3 (interlay-parachain-1.tx2.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xc62939e712449e9b682c563ced55d965815d83fc4f8f02e53083accd402d5014
    🗳️ authorizeUpgrade hash:	0x53e44aae5bf6f3e9baf273d946b8232ea368210ab193edd7364bd1aa1b460bb7
    #️⃣ Blake2-256 hash:		0xe24bf4e723e824c0068b2c5c1cf2181a1f947ab25fc73018c90b2445b663a11b
    📦 IPFS:			QmQDnoU2HWkRhzkSjP85cRDyPWMcVYeJHsrQiMfCcjwESw
    

    Kintsugi

    🏋️ Runtime Size:		996825 bytes
    🔥 Core Version:		kintsugi-parachain-16 (kintsugi-parachain-1.tx3.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xb8f97aa5d7c228e1c97de4c903f98ffd136d4e97763b7af0ebd548ce2ddfb826
    🗳️ authorizeUpgrade hash:	0xede83c8cd833936ebcc59b1d262589f9666898cf3120c6a8749ff934e2d6f94d
    #️⃣ Blake2-256 hash:		0x0857daa3b31e5b42ca901b47aff69b46ac48e9b8e03ae643666e40ff90a1827e
    📦 IPFS:			QmcPmMpetoMKkk6td4aFqpDKMGNeS2dAQPWLFPJkS4i37x
    

    Testnet

    🏋️ Runtime Size:		1018742 bytes
    🔥 Core Version:		testnet-parachain-7 (testnet-parachain-1.tx1.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x754566cdc15da8364bb022d8fbc98f01eb88cb2ece6a3569f9ab2d063373045d
    🗳️ authorizeUpgrade hash:	0x2206d11ae776e624c06bda7276b24a08eff1f121f42b78427b7c000d6385ebbc
    #️⃣ Blake2-256 hash:		0xfba1d3abb593b82983c474d208e4c58b1722f6e9f474ce5edfcc0a54920aa2f8
    📦 IPFS:			QmP2ihWGefwLQpJwnpbPjTm78RhCWYakPBTagUC4RvrSkX
    
    Source code(tar.gz)
    Source code(zip)
    interbtc-parachain(168.23 MB)
    interlay_runtime_parachain.compact.compressed.wasm(991.72 KB)
    kintsugi_runtime_parachain.compact.compressed.wasm(973.46 KB)
    testnet_runtime_parachain.compact.compressed.wasm(994.86 KB)
  • 1.12.2(May 12, 2022)

    interBTC 1.12.2 (2022-05-12)

    This release contains the changes from 1.12.1 to 1.12.2.

    It fixes a bug related to liquidated vaults, which caused some invalid state. This upgrade also contains a one-time migration that fixes the state: it decreases the liquidation vault's to-be-redeemed tokens, so that the remaining tokens become available for liquidation redeems. It also unlocks the remaining collateral that got stuck in the liquidated vault due to the aforementioned bug.

    Global Priority

    • ⚪ LOW: This is a low priority release and you may upgrade at your convenience.

    Breaking CLI changes

    Changes

    • fix: migration to fix invalid liquidation vault state #597
    • fix: don't save collateral for to_be_redeemed tokens in liquidation vault #596
    • chore: add bitcoinNetwork to pre-existing parachain chain specs #598
    • feat: add instant-seal for dev chain #586
    • feat: bitcoin network rpc property #591
    • fix: allow redeem execution after theft #590

    Chore

    • add bitcoinNetwork to pre-existing parachain chain specs

    Chore

    • publish docker image for tagged commits

    Feat

    • add instant-seal for dev chain
    • bitcoin network rpc property

    Fix

    • put storage version v4 in migration
    • migration to fix invalid liquidation vault state
    • don't save collateral for to_be_redeemed tokens in liquidation vault
    • allow redeem execution after theft

    Test

    • redeem with vault that stole

    Dependency changes

    https://github.com/paritytech/substrate/compare/fc3fd073d3a0acf9933c3994b660ebd7b5833f65...fc3fd073d3a0acf9933c3994b660ebd7b5833f65 https://github.com/paritytech//polkadot/compare/9ed0c98204d25eaad8a6b40248daee8e6a40d111...9ed0c98204d25eaad8a6b40248daee8e6a40d111 https://github.com/paritytech//cumulus/compare/b1e91afb7421309b203d7627b736d9bcf58260eb...b1e91afb7421309b203d7627b736d9bcf58260eb

    Runtimes

    Interlay

    🏋️ Runtime Size:		1016029 bytes
    🔥 Core Version:		interlay-parachain-3 (interlay-parachain-1.tx2.au1)
    🎁 Metadata version:		V14
    #️⃣ Blake2-256 hash:		0xd6f44b0d6b3791c0a6510cc2d46bdc92ab7529622b8d52286410b08f54fb9455
    📦 IPFS:			QmVZU5hsadZNTW5iF7a7qG5EsBUGkpEEbmzQDKDvkMLZLN
    

    Kintsugi

    🏋️ Runtime Size:		994349 bytes
    🔥 Core Version:		kintsugi-parachain-15 (kintsugi-parachain-1.tx3.au1)
    🎁 Metadata version:		V14
    #️⃣ Blake2-256 hash:		0xa6cdf7e286b0b5931119954c88b83618843bdf83509de9b21f0658569baa2e58
    📦 IPFS:			Qmea38wGWV58JSp6w6ohB7zn3FoEnRoEfuFfHs71K8sa8e
    

    Testnet

    🏋️ Runtime Size:		1024529 bytes
    🔥 Core Version:		testnet-parachain-6 (testnet-parachain-1.tx1.au1)
    🎁 Metadata version:		V14
    #️⃣ Blake2-256 hash:		0xd781a09dce2b2dafadf874fe5df01c198a2bc16b516f4ee41ca4974e7151d0ce
    📦 IPFS:			QmVVmeFZhk5HBnHGPWMT5oHArvzoyCN4hbonwNBmBmNDgf
    
    Source code(tar.gz)
    Source code(zip)
    kintsugi_runtime_parachain.compact.compressed.wasm(971.04 KB)
    interbtc-parachain(166.07 MB)
    interlay_runtime_parachain.compact.compressed.wasm(992.21 KB)
    testnet_runtime_parachain.compact.compressed.wasm(1000.51 KB)
  • 1.12.1(Apr 20, 2022)

    interBTC 1.12.1 (2022-04-20)

    This release contains the changes from 1.12.0 to 1.12.1.

    Global Priority

    • ⚪ LOW: This is a low priority release and you may upgrade at your convenience.

    Changes

    • feat: allow cancelled replace requests to be executed #580

    Dependency changes

    https://github.com/paritytech/substrate/compare/fc3fd073d3a0acf9933c3994b660ebd7b5833f65...fc3fd073d3a0acf9933c3994b660ebd7b5833f65 https://github.com/paritytech//polkadot/compare/9ed0c98204d25eaad8a6b40248daee8e6a40d111...9ed0c98204d25eaad8a6b40248daee8e6a40d111 https://github.com/paritytech//cumulus/compare/b1e91afb7421309b203d7627b736d9bcf58260eb...b1e91afb7421309b203d7627b736d9bcf58260eb

    Runtimes

    Interlay

    🏋️ Runtime Size:		1018199 bytes
    🔥 Core Version:		interlay-parachain-3 (interlay-parachain-1.tx2.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xa6caf37ec348fc12432a96d8ade5c97605011cde2a066a6098e5e5c77f0f66e4
    🗳️ authorizeUpgrade hash:	0x48f1b028e8dec968855be1ada85dc70047e63d9868d8a9e3ab9408abfc79cee8
    #️⃣ Blake2-256 hash:		0x7aee04bd417bcd26668b09cfbd2865fd029bee5137ee1df7a05961d6f1124cc7
    📦 IPFS:			QmTYvxSC8M9hWuZYd4XjL1JAoyyGJauShTmweZAF6Ju4q5
    

    Kintsugi

    🏋️ Runtime Size:		998676 bytes
    🔥 Core Version:		kintsugi-parachain-15 (kintsugi-parachain-1.tx3.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x5e03fc9a247d880929dc40f2d1277377163542279b2c692eeb0895bf1b4ed988
    🗳️ authorizeUpgrade hash:	0x21df5a9c86806762839574eef3b9816040fe026e2eaec91c4da8951acbb1d982
    #️⃣ Blake2-256 hash:		0x2dd019101352a442285f6e7555bc48647f29de682f4246867df0fc25dc8f3d97
    📦 IPFS:			QmcS6dvBVeMsQMv8KSEzBgm68qqsjBBUnEN6FjswEW9TTi
    

    Testnet

    🏋️ Runtime Size:		1027614 bytes
    🔥 Core Version:		testnet-parachain-6 (testnet-parachain-1.tx1.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x18eb22db9c66bb80d3f973156729b01d4a38cb1a5121a0092834a38f45c49585
    🗳️ authorizeUpgrade hash:	0x25e82c9dc8248c6e637a7547bf3c291f1020642a116c706928c79c18034a0736
    #️⃣ Blake2-256 hash:		0x4b50b2ac983e41d6f04d10e7d30b520859521d8bea6d4433fd6c44f0425ed8ed
    📦 IPFS:			QmYZxCBVVj7UaY3LV7QzvBbVfjPoM6bM8JjzUbr5BD8CXw
    
    Source code(tar.gz)
    Source code(zip)
    interlay_runtime_parachain.compact.compressed.wasm(994.33 KB)
    interbtc-parachain(165.61 MB)
    kintsugi_runtime_parachain.compact.compressed.wasm(975.26 KB)
    testnet_runtime_parachain.compact.compressed.wasm(1003.52 KB)
  • 1.12.0(Apr 20, 2022)

    interBTC 1.12.0 (2022-04-20)

    This release contains the changes from 1.11.0 to 1.12.0.

    Global Priority

    • ⚪ LOW: This is a low priority release and you may upgrade at your convenience.

    Changes

    • chore: use custom srtool image with nightly-2022-02-08 #582
    • chore: set entrypoint in dockerfile #581
    • chore: bump spec versions for 1.12.0 #579
    • refactor!: remove sudo from interlay runtime #578
    • refactor!: reorder interlay runtime pallets and group #575
    • refactor!: reorder testnet runtime pallets and group #572
    • chore: allow opt-out out of slow tests #576
    • [BREAKING] refactor!: do not require griefing collateral argument #519
    • chore: re-enable transaction fees on interlay #570
    • [BREAKING] Fix!: disallow updating public key #574
    • refactor: move some time and currency consts into constants.rs #569
    • feat: add pallet-identity #556
    • [BREAKING] feat!: shared public key #571
    • Fix: interlay xcm config #573
    • chore: set non-zero minimum collateral in vault_registry mainnet configs #566
    • chore: vesting origin is kintsugi labs #568

    Chore

    • bump spec versions for 1.12.0
    • allow opt-out out of slow tests
    • removed commented code
    • copy kintsugi xcm config to interlay
    • storage migration for vaults
    • register public key in tests prior to vault registration
    • re-enable transaction fees on interlay
    • vesting origin is kintsugi labs
    • set non-zero minimum collateral in vault_registry mainnet configs

    Feat

    • share public key between vaultids with same accountid
    • add pallet-identity

    Fix

    • integration tests for issue and replace don't set griefing collateral
    • increase to-be-replaced doesn't return the collateral
    • add missing replace error
    • don't allow vault's public key to be changed
    • interlay xcm config

    Refactor

    • remove sudo from interlay runtime
    • reorder interlay runtime pallets and group
    • reorder testnet runtime pallets and group
    • move some time and currency consts into constants.rs
    • simplify request replace
    • rename set_public_key -> register_public_key
    • do not require griefing collateral argument

    Test

    • expected griefing collateral, filtered call & balance too low
    • fix broken test: don't register key twice

    Dependency changes

    https://github.com/paritytech/substrate/compare/fc3fd073d3a0acf9933c3994b660ebd7b5833f65...fc3fd073d3a0acf9933c3994b660ebd7b5833f65 https://github.com/paritytech/polkadot/compare/9ed0c98204d25eaad8a6b40248daee8e6a40d111...9ed0c98204d25eaad8a6b40248daee8e6a40d111 https://github.com/paritytech/cumulus/compare/b1e91afb7421309b203d7627b736d9bcf58260eb...b1e91afb7421309b203d7627b736d9bcf58260eb

    Runtimes

    Interlay

    🏋️ Runtime Size:		1018018 bytes
    🔥 Core Version:		interlay-parachain-3 (interlay-parachain-1.tx2.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xe31de8ae4f7ae2bb08bd1301ff7f2e63e78a8959fc1bc93c2126470089217071
    🗳️ authorizeUpgrade hash:	0x4dedd1422a70ec429fecb9c4002701c5ad7a062bfacccb2b6a7367fb0a6c3cb0
    #️⃣ Blake2-256 hash:		0x111564a457088a0d659a97e065c72d866e32751fe0f3a0325f724493304311fb
    📦 IPFS:			QmNRHSdnz4ZGuuizVPnYutWSuhbZsgRA8dH5xxf9H6vRC4
    

    Kintsugi

    🏋️ Runtime Size:		997546 bytes
    🔥 Core Version:		kintsugi-parachain-15 (kintsugi-parachain-1.tx3.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xf9ee1a904fd43bd1cd7021ce250f93082061a7256efff321b3588e1033298888
    🗳️ authorizeUpgrade hash:	0x7eda70a49c8139c1a2cd3a2616bba845cf80073a77616da810e7745cd836ff04
    #️⃣ Blake2-256 hash:		0x81dc2631ba7cdc35460ff902cb31a3b4b9f96e65a8ec808ff0b2eae0e86764a1
    📦 IPFS:			QmTV5wccAfpJURzrhHxYrWJe9zG1SWLRe3LJu4peViw8VB
    

    Testnet

    🏋️ Runtime Size:		1027797 bytes
    🔥 Core Version:		testnet-parachain-6 (testnet-parachain-1.tx1.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xf70d9879b2204f1d1e7016d41b7854b2052375361e887f38d18b11cc3b7ffc74
    🗳️ authorizeUpgrade hash:	0x6940b3076335637419e4257397acef11b620d842a27f627ba31818fd28724358
    #️⃣ Blake2-256 hash:		0x23d3bd1fbac7e92979adaee5d3f4a75bf07486cdfbdd67206f05920037bd1c93
    📦 IPFS:			QmVAExJWKckJXjmkoRqcHZzCGUmdHYbith7T8uKHisnueK
    
    Source code(tar.gz)
    Source code(zip)
    interbtc-parachain(165.61 MB)
    testnet_runtime_parachain.compact.compressed.wasm(1003.70 KB)
    kintsugi_runtime_parachain.compact.compressed.wasm(974.16 KB)
    interlay_runtime_parachain.compact.compressed.wasm(994.15 KB)
  • 1.11.0(Apr 11, 2022)

    interBTC 1.11.0 (2022-04-11)

    This release contains the changes from 1.10.0 to 1.11.0.

    Global Priority

    • ⚪ LOW: This is a low priority release and you may upgrade at your convenience.

    Changes

    • chore: bump interlay spec version #567
    • chore: bump kintsugi & testnet spec_version for 1.11.0 #563
    • refactor: move xcm config to separate file #564
    • [BREAKING] chore!: multisig pallet name should not be CamelCase #557
    • chore: upgrade to polkadot-v0.9.18 #561
    • refactor!: rename interbtc to ibtc #521
    • Chore: fix kintsugi bootnodes #560
    • feat: re-purpose cancel_proposal for non-root #548
    • test: check that issue can execute tx containing taproot output #558
    • refactor!: more explicit error when vault is liquidated #554
    • Chore: add additional kintsugi bootnodes #553

    Chore

    • bump interlay spec version
    • bump kintsugi & testnet spec_version for 1.11.0
    • copy parachain fee comment to other runtimes, increase max_upward_message_size
    • add comment on kintsugi ParachainMinFee
    • upgrade to polkadot-v0.9.18
    • multisig pallet name should not be CamelCase
    • fix kintsugi bootnodes
    • add additional kintsugi bootnodes

    Feat

    • re-purpose cancel_proposal for non-root

    Fix

    • reduce max_upward_message_size

    Refactor

    • move xcm config to separate file
    • rename interbtc to ibtc
    • allow root to also call cancel_proposal
    • more explicit error when vault is liquidated

    Test

    • root can also cancel proposals
    • check that issue can execute tx containing taproot output

    Dependency changes

    https://github.com/paritytech/substrate/compare/22d40c761a985482f93bbbea5ba4199bdba74f8e...fc3fd073d3a0acf9933c3994b660ebd7b5833f65 https://github.com/paritytech/polkadot/compare/de0ecd4760b146ecf33f5e867d707d789e21e060...9ed0c98204d25eaad8a6b40248daee8e6a40d111 https://github.com/paritytech/cumulus/compare/76479e7fef3af7c8828a44647847b01afd5fefe5...b1e91afb7421309b203d7627b736d9bcf58260eb

    Runtimes

    Interlay

    🏋️ Runtime Size:		1026277 bytes
    🔥 Core Version:		interlay-parachain-2 (interlay-parachain-1.tx2.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xddcb680776906084418e81112bbf3689fb69cffc5055b11ac86e53ed18426362
    🗳️ authorizeUpgrade hash:	0x8f7d1e0ea1e148cdf61f9027b3b4540e9ea47149448a568eb9d47a347171e54e
    #️⃣ Blake2-256 hash:		0x9330bb27c3ac0aa108129cb22f38161c1725098cf67df4fcf66e0cd38f86b348
    📦 IPFS:			QmPxGA7aVX1mH4KJ8QjdiMnWfVpx3mTM4QQmgUohtmMNY7
    

    Kintsugi

    🏋️ Runtime Size:		1000147 bytes
    🔥 Core Version:		kintsugi-parachain-14 (kintsugi-parachain-1.tx3.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x199b17840d5d241e2e16a7de82c5c332aeab4b84585491384532a41699768cb8
    🗳️ authorizeUpgrade hash:	0x4f3da944ca988f6fe1d179d1f78121a78afea6e1b4cb2f1311a78cd0f1667df6
    #️⃣ Blake2-256 hash:		0x543f85df4d1b3839e436d353af7b20b95d233b1f9959354da15229a0d2e38465
    📦 IPFS:			QmUXJhETeKnRE65q5qKhVJQLUPYy3QQqzYxnAWBX7W78yK
    

    Testnet

    🏋️ Runtime Size:		1022983 bytes
    🔥 Core Version:		testnet-parachain-5 (testnet-parachain-1.tx1.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x39cc0d5c19dcb89b035d46f25ea54967ab10aa35528ded58e2f52bb5cec63cd1
    🗳️ authorizeUpgrade hash:	0xeafe25a665ec8742a2e0019db3fd21526ace175f31a27565f888ec3610df755d
    #️⃣ Blake2-256 hash:		0x51cc3e4a13d48d7b483d22710dad9140fa728306cbed34ea885b0d9ca0a9d47c
    📦 IPFS:			QmUQdwwcGbh8Td1n3hPDjJQGuDKV4djvwtwunyQJbP9Tmu
    
    Source code(tar.gz)
    Source code(zip)
    interbtc-parachain(164.76 MB)
    testnet_runtime_parachain.compact.compressed.wasm(999.00 KB)
    kintsugi_runtime_parachain.compact.compressed.wasm(976.70 KB)
    interlay_runtime_parachain.compact.compressed.wasm(1002.22 KB)
  • 1.10.0(Mar 25, 2022)

    interBTC 1.10.0 (2022-03-25)

    This release contains the changes from 1.9.0 to 1.10.0.

    Global Priority

    • ⚪ LOW: This is a low priority release and you may upgrade at your convenience.

    Changes

    • fix: remove output limit on issue transaction #552
    • chore: bump kintsugi & testnet spec_version for 1.10.0 #551
    • test: fix broken test with the changed fee percentage #549
    • refactor!: cleanup staking errors and add doc strings #543
    • refactor!: cleanup reward errors and add doc strings #541
    • refactor!: cleanup fee errors and add doc strings #542
    • chore: lower issue fee to 0.15% at genesis #545
    • chore: increase expected redeem tx input size #546
    • chore: chglog should match breaking syntax #544
    • Chore: github action to build draft release #547

    Chore

    • bump kintsugi & testnet spec_version for 1.10.0
    • lower issue fee to 0.15% at genesis
    • increase expected redeem tx input size
    • chglog should match breaking syntax
    • github action to build draft release

    Fix

    • remove output limit on issue transaction

    Refactor

    • reward inner should convert to DispatchError
    • staking inner should convert to DispatchError
    • cleanup staking errors and add doc strings
    • cleanup reward errors and add doc strings
    • cleanup fee errors and add doc strings

    Test

    • fix broken test with the changed fee percentage

    Dependency changes

    https://github.com/paritytech/substrate/compare/22d40c761a985482f93bbbea5ba4199bdba74f8e...22d40c761a985482f93bbbea5ba4199bdba74f8e https://github.com/paritytech/polkadot/compare/de0ecd4760b146ecf33f5e867d707d789e21e060...de0ecd4760b146ecf33f5e867d707d789e21e060 https://github.com/paritytech/cumulus/compare/76479e7fef3af7c8828a44647847b01afd5fefe5...76479e7fef3af7c8828a44647847b01afd5fefe5

    Runtimes

    Interlay

    🏋️ Runtime Size:		1019960 bytes
    🔥 Core Version:		interlay-parachain-1 (interlay-parachain-1.tx2.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xc96b54e64ba5ad9ee6b955b6a5892c3d23b4a4ca5a74d3fdfd49eb22b526aebe
    🗳️ authorizeUpgrade hash:	0x8eed65b67c028bc7ebf242f044f3e4a70ed6a7d57b44b443a96ead8b2fc8ebe4
    #️⃣ Blake2-256 hash:		0x8ee6535422d122842256a46411f4239bf73e383514a98ab96d2fec26af791053
    📦 IPFS:			QmcBQYSCA1KSjUeoV9pmq9YkCUKzJ7Euyx8KPrAhjGVWii
    

    Kintsugi

    🏋️ Runtime Size:		1003876 bytes
    🔥 Core Version:		kintsugi-parachain-13 (kintsugi-parachain-1.tx3.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0xcdb032c8fa753698acfb90772adb899f2742f6423cfded9b86cb69f4ada6abad
    🗳️ authorizeUpgrade hash:	0xf65ca26b4b882d859082a4a8d4c818c0d43131df37899c4b1194256f4ea17cc8
    #️⃣ Blake2-256 hash:		0x690ee5da9101ce525b461a157d9433bc5f0c426fc2d1cdce154708bab068ace6
    📦 IPFS:			QmaoX9KSsLkoZxx8p2csC3j1VUyDgrqwy5F5muX18xTFnc
    

    Testnet

    🏋️ Runtime Size:		1026634 bytes
    🔥 Core Version:		testnet-parachain-4 (testnet-parachain-1.tx1.au1)
    🎁 Metadata version:		V14
    🗳️ system.setCode hash:		0x2bbf619dbe6bb2b551b6e6ee368edeefb4879adb6555b82e16203484eb4bebf1
    🗳️ authorizeUpgrade hash:	0xbe74d77e53e046e6623f9f197115809390d4791f6433695c933a3c561ed0cb19
    #️⃣ Blake2-256 hash:		0x8d9d5c89ed5147d3710d41d89818d511647972108130178fc1a0a38582f2c689
    📦 IPFS:			QmdDSwSUjGGoWpswdSk4R7SuXv1MRL3FrGRnsfkRoKL33H
    
    Source code(tar.gz)
    Source code(zip)
    interlay_runtime_parachain.compact.compressed.wasm(996.05 KB)
    testnet_runtime_parachain.compact.compressed.wasm(1002.57 KB)
    kintsugi_runtime_parachain.compact.compressed.wasm(980.34 KB)
    interbtc-parachain(160.01 MB)
  • 1.9.0(Mar 21, 2022)

  • 1.8.2(Mar 16, 2022)

  • 1.8.1(Mar 8, 2022)

  • 1.8.0(Mar 8, 2022)

    1.8.0 (2022-03-08)

    Audit

    • stack overflow due to missing decode limit in do_enact_proposal

    Chore

    • update to polkadot 0.9.17

    Fix

    • ensure difficulty checks are activated in btc-relay integration tests and ensure difficulty check looks for the right block in the past
    • don't allow relay chain to execute as root

    Refactor

    • add update_rewards sudo fn and benchmark annuity extrinsics
    • tidy democracy

    Test

    • kusama xcm tests
    Source code(tar.gz)
    Source code(zip)
    interbtc-parachain(158.21 MB)
  • 1.7.4(Feb 28, 2022)

  • 1.7.3(Feb 12, 2022)

  • 1.7.2(Feb 9, 2022)

  • 1.7.1(Feb 8, 2022)

    1.7.1 (2022-02-07)

    Chore

    • bump spec versions
    • upgrade to the release polkadot 0.9.16
    • improve field name

    Feat

    • add standalone fee adjustment
    • added events tracking changes in total collateral per currency pair

    Fix

    • allow unpaid xcm messages in the testnet runtime
    • canonicalize asset used in xcm fee traders
    • update xcm configs and docs
    • set state_version to 0 and update deps

    Refactor

    • rename config files
    Source code(tar.gz)
    Source code(zip)
    interbtc-parachain(154.00 MB)
    interbtc-standalone(61.60 MB)
  • 1.7.0(Feb 3, 2022)

    1.7.0 (2022-02-01)

    Chore

    • remove unused democracy import and deny warnings
    • bump rococo docs to v0.9.15

    Chore

    • update Cargo version tagging script

    Fix

    • disallow all xcm calls by non-root
    • handle xcm responses
    • increase the cost of xcm execution
    • treat canonicalized and non-canonicalized xcm paths equally

    Refactor

    • use explicit index for pallets
    • use dispatch_bypass_filter instead of dispatch in democracy pallet
    • harmonize currency-ids and add consts to currency pallet

    Test

    • ensure escrow reward stake is escrow balance
    Source code(tar.gz)
    Source code(zip)
    interbtc-parachain(153.87 MB)
    interbtc-standalone(61.25 MB)
  • 1.6.1(Jan 24, 2022)

Owner
Interlay
Use your Bitcoin. Anywhere. Build with us: https://apply.workable.com/interlay/
Interlay
ARYA Network is a polkadot/substrate based chain for Non-fungible Token platform on which we can own sell and buy the NFT's on polkadot network.

ARYA Network ARYA Network is a polkadot/substrate based chain for Non-fungible Token platform on which we can own sell and buy the NFT's on polkadot n

Pankaj Chaudhary 6 Dec 20, 2022
Bitcoin Push Notification Service (BPNS) allows you to receive notifications of Bitcoin transactions of your non-custodial wallets on a provider of your choice, all while respecting your privacy

Bitcoin Push Notification Service (BPNS) Description Bitcoin Push Notification Service (BPNS) allows you to receive notifications of Bitcoin transacti

BPNS 1 May 2, 2022
Minimal Bitcoin wallet intended for teaching rust-bitcoin

Insanely minimal Bitcoin wallet intended for demonstration of Rust Bitcoin ecosystem Absolutely DO NOT use with mainnet funds!!! No privacy - address

Martin Habovštiak 4 May 5, 2023
Modern, lightweight & standard-compliant bitcoin wallet runtime & cli without rust-bitcoin dependencies

Bitcoin protocol command-line wallet & tools Modern, minimalistic & standard-compliant cold wallet from LNP/BP Standards Association. Contributing Con

BP: Bitcoin protocol 3 Jul 31, 2023
Experiments on blockchain technology (also known as Hashed & Zero-trust Verifiable Linked List)

AngeloChain Experiments on blockchain technology (also known as Hashed & Zero-trust Verifiable Linked List) ⚠️ Before We Get Started Before we get sta

Angelo 1 Jan 20, 2022
Cross-chain hub for Crypto Asset on Polkadot

ChainX ChainX is a community-driven project built on the next-generation blockchain framework substrate, the largest Layer-2 network of Bitcoin using

ChainX 261 Dec 28, 2022
The Phala Network Blockchain, pRuntime and the bridge.

Phala Blockchain Phala Network is a TEE-Blockchain hybrid architecture implementing Confidential Contract. This repo includes: node/: the main blockch

Phala Network 314 Jan 6, 2023
Polkadot Node Implementation

Polkadot Implementation of a https://polkadot.network node in Rust based on the Substrate framework. NOTE: In 2018, we split our implementation of "Po

Parity Technologies 6.5k Jan 6, 2023
A value transfer bridge between the Monero blockchain and the Secret Network.

Secret-Monero-Bridge A value transfer bridge between the Monero blockchain and the Secret Network. Proof-of-Concept Video Demonstration: https://ipfs.

null 28 Dec 7, 2022
A node and runtime configuration for polkadot node.

MANTA NODE This repo is a fresh FRAME-based Substrate node, forked from substrate-developer-hub/substrate-node-templte ?? It links to pallet-manta-dap

Manta Network 14 Apr 25, 2021
🌍 The Earth Blockchain on Polkadot (archived)

Social Network Blockchain · The Social Network blockchain is a next-generation governance, economic, and social system for humanity built on Polkadot

social.network 18 Jan 2, 2023
Filecoin to substrate bridge

filecoindot A Substrate pallet to bridge from Filecoin to any blockchain built using the Substrate framework, including Polkadot parachains. How to in

ChainSafe 23 Nov 23, 2022
Subsocial full node with Substrate/Polkadot pallets for decentralized communities: blogs, posts, comments, likes, reputation.

Subsocial Node by DappForce Subsocial is a set of Substrate pallets with web UI that allows anyone to launch their own decentralized censorship-resist

DappForce 74 Nov 24, 2022
Terabethia - A Bridge and Messaging Protocol between Ethereum and the Internet Computer.

Terabethia - A Bridge Between Ethereum & the Internet Computer Terabethia is a bridge between Ethereum & the Internet Computer that contracts in both

Psychedelic 36 Dec 26, 2022
Cross-chain bridge message delivery network. We are hiring, [email protected]

Introduction Implementation of a https://darwinia.network node in Rust based on the Substrate framework. This repository contains runtimes for the Dar

Darwinia Network 225 Nov 8, 2022
A top-up of fatality based errors, originally developed for polkadot

fatality A generative approach to creating fatal and non-fatal errors. The generated source utilizes thiserror::Error derived attributes heavily, and

Bernhard Schuster 9 Sep 1, 2022
A bridge between different serde implementations.

serde-bridge   Bridge between serde types Quick Start use anyhow::Result; use serde_bridge::{from_value, into_value, FromValue, IntoValue, Value}; fn

Xuanwo 14 Nov 24, 2022
A re-write of polkadot staking miner using subxt to avoid hard dependency to each runtime version

Staking Miner v2 WARNING this library is under active development DO NOT USE IN PRODUCTION. The library is a re-write of polkadot staking miner using

Parity Technologies 19 Dec 28, 2022
The Polkadot Hackathon Global Series North America edition is the second in a series of hackathons that brings the cutting edge of blockchain to a global community.

Polkadot Hackathon Project We are translating Uniswap v2 to Ink. Dependencies Install cargo-contract for building Ink contracts: cargo install dylint-

Kristiyan Dilov 3 Jun 28, 2022