Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v0.0.10 #605

Merged
merged 12 commits into from
Jan 24, 2024
67 changes: 49 additions & 18 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,57 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
At the moment this project **does not** adhere to
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]
## [[Unreleased]](https://github.com/entropyxyz/entropy-core/compare/release/v0.0.10...master)

## [0.0.10](https://github.com/entropyxyz/entropy-core/compare/release/v0.0.9...release/v0.0.10) - 2024-01-23

A lot of the changes introduced in this release are program related.

The workflow around having to upload a program during registration is gone. Instead users can
register with programs which have previously been uploaded on-chain by providing the hash of the
program they want to use.

When registering a user can also customize the behaviour of their chosen program through the new
program configuration feature.

If a single program doesn't provide enough functionality, now users can register with multiple
programs. During signature generation all of these programs will be executed. Only if all of them
run succesfully then a signature is produced.

Finally, users are now able to indicate which hashing algorithm they would like to use during the
signing step. We provide some common ones out of the box, but custom user-provided hashing
algorithms are also supported.

### Breaking Changes
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Jesse and Peg, I removed a couple things in here because while the did break the API between PRs, they didn't break something that existed in v0.0.9.

- In [#561](https://github.com/entropyxyz/entropy-core/pull/561) several crates were renamed in order to ensure consistent naming across the repo.
The most impactful of these is that the `server` binary is now the `entropy-tss` binary. From this
it follows that the Docker images previously published under `entropyxyz/server` are now being
published under `entropyxyz/entropy-tss`.
- In [#536](https://github.com/entropyxyz/entropy-core/pull/536/), the registered struct no longer holds a program but rather a hash of a program that is set in the set_program function
- When executing the signing protocol on the client-side, a `sig-uid` no longer needs to be given as
an argument ([#549](https://github.com/entropyxyz/entropy-core/pull/549))
- Wasm API to entropy-protocol uses camelCase function names ([#566](https://github.com/entropyxyz/entropy-core/pull/566))
- Wasm API to functions formerly in the x25515chacha20poly1305 repo also now have camelCase function names ([#563](https://github.com/entropyxyz/entropy-core/pull/563))
- Register and change program pointer interface changed to accept a vecotor of programs. As well pass an index for which containts the hashing code if it custom hashing ([#568](https://github.com/entropyxyz/entropy-core/pull/568))
- If a user is sending additive data through it now needs to be in a vector and the index needs to match up with where the program pointer is in the program pointer vector. ([#577](https://github.com/entropyxyz/entropy-core/pull/577))
- In [#592](https://github.com/entropyxyz/entropy-core/pull/592), the `local-devnet` chain-type was
- In [#561](https://github.com/entropyxyz/entropy-core/pull/561) several crates were renamed in
order to ensure consistent naming across the repo. The most impactful of these is that the
`server` binary is now the `entropy-tss` binary. From this it follows that the Docker images
previously published under `entropyxyz/server` are now being published under
`entropyxyz/entropy-tss`.
- In [#536](https://github.com/entropyxyz/entropy-core/pull/536/) the registration interface was
changed to accept a pointer to a program. Programs are now expected to be uploaded using the
`Programs::set_program` extrinsic.
- In [#549](https://github.com/entropyxyz/entropy-core/pull/549), when executing the signing
protocol on the client-side, a `sig-uid` no longer needs to be given as an argument
- In [#566](https://github.com/entropyxyz/entropy-core/pull/566) the Wasm API to `entropy-protocol`
was changed to use `camelCase` function names.
- In [#563](https://github.com/entropyxyz/entropy-core/pull/563) the Wasm API to functions formerly
in the [`x25515chacha20poly1305` repository](https://github.com/entropyxyz/x25519-chacha20poly1305/)
was changed to use `camelCase` function names.
- In [#568](https://github.com/entropyxyz/entropy-core/pull/568) the registration and program update
interfaces were changes to accept a vector of program hashes.
- In [#577](https://github.com/entropyxyz/entropy-core/pull/577)
- the auxilary program data is now expected to be in a vector. This order of the auxilary data
should match the order of the programs that are being registered.
- In [#592](https://github.com/entropyxyz/entropy-core/pull/592) the `local-devnet` chain-type was
renamed to `devnet-local`. Additionally, the default chain type when none is specified is now
`dev` instead of `local`.
- A user now needs to add a program config, which gets packaged with their program pointer to create program info. This changes both register and change_program_info (previously change_program_pointer). As well set_program now also takes program_type_definition. ([#593](https://github.com/entropyxyz/entropy-core/pull/593))
- Changed program_type_definition to configuration_interface. ([#597](https://github.com/entropyxyz/entropy-core/pull/597))
- Changed program_modification_account in programs_info of programs pallet to deployer. ([#604](https://github.com/entropyxyz/entropy-core/pull/604))
- In [#593](https://github.com/entropyxyz/entropy-core/pull/593) the programs interface was changed
to accept a program configuration interface. This allows an uploaded program to be configured
differently by different users.
- In [#604](https://github.com/entropyxyz/entropy-core/pull/604), the `program_modification_account`
term used in the Programs pallet was changed to `deployer`. This better reflects the purpose of
this account.

### Added
- Test CLI which calls the same code as in integration tests ([#417](https://github.com/entropyxyz/entropy-core/pull/417))
Expand Down Expand Up @@ -59,7 +90,7 @@ At the moment this project **does not** adhere to
### Removed
- Remove pallet-helpers ([#581](https://github.com/entropyxyz/entropy-core/pull/581/))

## [0.0.9](https://github.com/entropyxyz/entropy-core/compare/release/v0.0.8..release/v0.0.9) - 2023-11-30
## [0.0.9](https://github.com/entropyxyz/entropy-core/compare/release/v0.0.8...release/v0.0.9) - 2023-11-30

Some of the noteworthy changes related to this release are related to better integration in Web
Assembly contexts, and improvements to logging for the Threshold Signature Server.
Expand Down Expand Up @@ -104,7 +135,7 @@ visualization.
### Fixed
- Return package version instead of rustc version ([#523](https://github.com/entropyxyz/entropy-core/pull/523/))

## [0.0.8](https://github.com/entropyxyz/entropy-core/compare/v0.0.7..release/v0.0.8) - 2023-11-06
## [0.0.8](https://github.com/entropyxyz/entropy-core/compare/v0.0.7...release/v0.0.8) - 2023-11-06

### Breaking Changes

Expand Down
35 changes: 20 additions & 15 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion crates/protocol/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ async-trait ="0.1.73"
entropy-shared ={ path="../shared", default-features=false }
synedrion ="0.1"
serde ={ version="1.0", features=["derive"], default-features=false }
subxt ={ package="subxt", git="https://github.com/paritytech/subxt.git", tag="v0.32.1", default-features=false }
subxt ={ version="0.32.1", default-features=false }
sp-core ={ version="21.0.0", default-features=false, features=["full_crypto", "serde"] }
tokio ={ version="1.16", features=["sync", "rt", "macros"] }
x25519-dalek ={ version="2.0.0", features=["static_secrets"] }
Expand Down
2 changes: 1 addition & 1 deletion crates/test-cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ edition ='2021'
entropy-testing-utils={ path="../testing-utils" }
clap ={ version="4.4.6", features=["derive"] }
colored ="2.0.4"
subxt ={ package="subxt", git="https://github.com/paritytech/subxt.git", tag="v0.32.1" }
subxt ={ version="0.32.1" }
sp-core ="21.0.0"
anyhow ="1.0.75"
tokio ={ version="1.16", features=["macros", "rt-multi-thread", "io-util", "process"] }
Expand Down
4 changes: 2 additions & 2 deletions crates/testing-utils/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name ="entropy-testing-utils"
version ='0.0.9'
version ='0.0.10'
authors =['Entropy Cryptography <[email protected]>']
homepage ='https://entropy.xyz/'
license ='AGPL-3.0-or-later'
Expand All @@ -9,7 +9,7 @@ edition ='2021'
publish =false

[dependencies]
subxt ={ package="subxt", git="https://github.com/paritytech/subxt.git", tag="v0.32.1" }
subxt ={ version="0.32.1" }
sp-keyring ="24.0.0"
project-root ="0.2.2"
sp-core ={ version="21.0.0", default-features=false }
Expand Down
2 changes: 1 addition & 1 deletion crates/threshold-signature-server/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ axum ={ version="0.6.18", features=["ws"] }
axum-macros="0.3.7"

# Substrate
subxt ={ package="subxt", git="https://github.com/paritytech/subxt.git", tag="v0.32.1" }
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not strictly related to this PR, but if moving from git dependencies to crates.io dependencies is because of wanting to be able to publish to crates.io ourselves: we have hex = "*" here and wildcards like that are not allowed on crates.io. (without wanting to get into the discussion about whether we should publish to crates.io)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

without wanting to get into the discussion about whether we should publish to crates.io

Actually that's a good point. Most packages right now should be in a publishable state. For the TSS server I think the only other thing we need here is for Jake to publish Programs to crates.

We can totally aim to do that for this release.

Wdyt @jakehemmerle @JesseAbram

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Talked to Jake, gonna do this in the next release

subxt ={ version="0.32.1" }
parity-scale-codec="3.4.0"
sp-core ={ version="21.0.0", default-features=false }

Expand Down
Binary file modified crates/threshold-signature-server/entropy_metadata.scale
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It this metadata re-build relating to #598 or is it something to do with doing the benchmarks here?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It has to do with the changes to the spec_version and transaction_version

Binary file not shown.
10 changes: 5 additions & 5 deletions node/cli/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name ='entropy'
version ='0.0.9'
version ='0.0.10'
authors =['Entropy Cryptography <[email protected]>']
homepage ='https://entropy.xyz/'
license ='AGPL-3.0-or-later'
Expand Down Expand Up @@ -91,11 +91,11 @@ pallet-transaction-payment ={ version="25.0.0" }
pallet-transaction-payment-rpc ={ version="27.0.0" }

# Entropy Dependencies
entropy-runtime ={ version="0.0.9", path="../../runtime" }
entropy-runtime ={ version="0.0.10", path="../../runtime" }
entropy-shared ={ path="../../crates/shared", default-features=false, features=["wasm-no-std"] }
pallet-free-tx ={ version="0.0.9", path="../../pallets/free-tx" }
pallet-relayer ={ version="0.0.9", path="../../pallets/relayer" }
pallet-staking-extension={ version="0.0.9", path="../../pallets/staking" }
pallet-free-tx ={ version="0.0.10", path="../../pallets/free-tx" }
pallet-relayer ={ version="0.0.10", path="../../pallets/relayer" }
pallet-staking-extension={ version="0.0.10", path="../../pallets/staking" }

[build-dependencies]
clap ={ version="4.2.5", optional=true }
Expand Down
6 changes: 3 additions & 3 deletions pallets/free-tx/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name ='pallet-free-tx'
version ='0.0.9'
version ='0.0.10'
authors =['Entropy Cryptography <[email protected]>']
homepage ='https://entropy.xyz/'
license ='AGPL-3.0-or-later'
Expand Down Expand Up @@ -34,8 +34,8 @@ sp-io ={ version="27.0.0", default-features=false }
sp-npos-elections ={ version="23.0.0", default-features=false }
sp-tracing ={ version="14.0.0", default-features=false }

pallet-staking-extension={ version="0.0.9", path="../staking", default-features=false }
pallet-relayer ={ version="0.0.9", path="../relayer", default-features=false }
pallet-staking-extension={ version="0.0.10", path="../staking", default-features=false }
pallet-relayer ={ version="0.0.10", path="../relayer", default-features=false }

[features]
default=["std"]
Expand Down
2 changes: 1 addition & 1 deletion pallets/programs/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name ='pallet-programs'
version ='0.0.9'
version ='0.0.10'
authors =['Entropy Cryptography <[email protected]>']
homepage ='https://entropy.xyz/'
license ='AGPL-3.0-or-later'
Expand Down
8 changes: 4 additions & 4 deletions pallets/propagation/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name ='pallet-propagation'
version ='0.0.9'
version ='0.0.10'
authors =['Entropy Cryptography <[email protected]>']
homepage ='https://entropy.xyz/'
license ='AGPL-3.0-or-later'
Expand Down Expand Up @@ -28,9 +28,9 @@ sp-runtime ={ version="28.0.0", default-features=false }
sp-staking ={ version="23.0.0", default-features=false }

entropy-shared ={ path="../../crates/shared", default-features=false, features=["wasm-no-std"] }
pallet-relayer ={ version="0.0.9", path="../relayer", default-features=false }
pallet-programs ={ version="0.0.9", path="../programs", default-features=false }
pallet-staking-extension={ version="0.0.9", path="../staking", default-features=false }
pallet-relayer ={ version="0.0.10", path="../relayer", default-features=false }
pallet-programs ={ version="0.0.10", path="../programs", default-features=false }
pallet-staking-extension={ version="0.0.10", path="../staking", default-features=false }

[dev-dependencies]
parking_lot="0.11.2"
Expand Down
6 changes: 3 additions & 3 deletions pallets/relayer/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name ='pallet-relayer'
version ='0.0.9'
version ='0.0.10'
authors =['Entropy Cryptography <[email protected]>']
homepage ='https://entropy.xyz/'
license ='AGPL-3.0-or-later'
Expand All @@ -27,8 +27,8 @@ sp-runtime ={ version="28.0.0", default-features=false }
sp-std ={ version="12.0.0", default-features=false }

entropy-shared ={ path="../../crates/shared", features=["wasm-no-std"], default-features=false }
pallet-programs ={ version="0.0.9", path="../programs", default-features=false }
pallet-staking-extension={ version="0.0.9", path="../staking", default-features=false }
pallet-programs ={ version="0.0.10", path="../programs", default-features=false }
pallet-staking-extension={ version="0.0.10", path="../staking", default-features=false }

[dev-dependencies]
frame-election-provider-support={ version="25.0.0", default-features=false }
Expand Down
2 changes: 1 addition & 1 deletion pallets/slashing/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name ='pallet-slashing'
version ='0.0.9'
version ='0.0.10'
authors =['Entropy Cryptography <[email protected]>']
homepage ='https://entropy.xyz/'
license ='AGPL-3.0-or-later'
Expand Down
2 changes: 1 addition & 1 deletion pallets/staking/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name ='pallet-staking-extension'
version ='0.0.9'
version ='0.0.10'
authors =['Entropy Cryptography <[email protected]>']
homepage ='https://entropy.xyz/'
license ='AGPL-3.0-or-later'
Expand Down
4 changes: 2 additions & 2 deletions pallets/transaction-pause/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name ="pallet-transaction-pause"
version ='0.0.9'
version ='0.0.10'
authors =['Entropy Cryptography <[email protected]>']
homepage ='https://entropy.xyz/'
license ='AGPL-3.0-or-later'
Expand All @@ -25,7 +25,7 @@ pallet-balances={ version="25.0.0" }
sp-core ={ version="25.0.0" }
sp-io ={ version="27.0.0" }

pallet-programs={ version="0.0.9", default-features=false, path="../programs" }
pallet-programs={ version="0.0.10", default-features=false, path="../programs" }

[features]
default=["std"]
Expand Down
Loading
Loading