Summary

Upgrade Chain Fusion Signer canister to v0.4.1

Commit: bce90c09e10fd3b09f8e24db3f4168a4f0af4e67 Release: https://github.com/dfinity/chain-fusion-signer/releases/tag/v0.4.1 Wasm sha256 hash: 9ebaedd1ac0f360b1ac1a96da5f87c49e7312f3f82c260162b47bffaa9c400b1 Candid argument hash: a99d4a8355c86d2367955d833df83302b5748e6e34898e280e359f9c57541e1f Binary argument hash: 367a11245d7e97692843c69e9582dd8ad08eef1ff3392dfd0c944d5f1bd74a41

The chain fusion signer is a canister that makes the internet computer threshold signing API available to web applications, off-chain clients and other-chain applications.

Change Log

v0.4.0

Features

  • Scale the BTC sign-and-send fee with the number of transaction inputs

Maintenance

  • Bump libraries to their latest versions
  • Update the Rust version and ic-cdk (and related dependencies)
  • Pin GitHub Actions to commit SHAs to harden the CI supply chain
  • Update pricing and reorder the methods in the pricing report
  • Remove the unused StoredPrincipal struct
  • Include the SHA256 of the arg file in the release proposal
  • Fix the binding scripts to fetch the correct file
  • Consolidate the crate versions into a single workspace version

Changelog

New Contributors

Full Changelog: https://github.com/dfinity/chain-fusion-signer/compare/v0.3.0...v0.4.0

v0.4.1

Fixes

  • Use strict DER encoding for Bitcoin signatures

Maintenance

  • Bump ic-cdk to 0.20.2
  • Update frontend and dev dependencies (vite, sass, prettier, prettier-plugin-svelte, lit-html)
  • Bump pinned GitHub Actions (checkout, cache, upload-artifact)

Changelog

Full Changelog: https://github.com/dfinity/chain-fusion-signer/compare/v0.4.0...v0.4.1

Commit Log

+ bash -xc "git log --format='%C(auto) %h %s' 8cea727..bce90c0"
 bce90c0 chore(release): Bump version to 0.4.1 (#524)
 0dbb274 chore(deps-dev): Bump prettier-plugin-svelte from 3.5.1 to 4.1.0 (#519)
 b62a997 chore(deps): Bump actions/checkout from 6.0.2 to 6.0.3 (#518)
 ee2eb38 chore(deps): Bump actions/cache from 5.0.4 to 5.0.5 (#516)
 42ff93c chore(deps): Bump actions/upload-artifact from 7.0.0 to 7.0.1 (#520)
 a1a58b5 chore(deps-dev): Bump prettier from 3.8.3 to 3.8.4 (#521)
 f8dba7a chore(deps): Bump lit-html from 3.3.2 to 3.3.3 (#517)
 ca18a17 chore(deps-dev): Bump sass from 1.99.0 to 1.100.0 (#515)
 0c2098d chore(deps-dev): Bump vite from 8.0.8 to 8.0.16 (#522)
 b74909a chore(deps): Bump ic-cdk from 0.20.1 to 0.20.2 (#523)
 c8f9151 fix(signer): Use strict DER encoding for Bitcoin signatures (#514)
 a18c52a chore(release): Bump version to 0.4.0 (#513)
 08c6c2b chore(ci): pin GitHub Actions to commit SHAs (#493)
 b704f6b chore(deps-dev): Bump vitest from 4.1.3 to 4.1.7 (#499)
 fabb547 chore(pricing): Scale BTC sign and send fee with transaction inputs (#512)
 4a3ad75 chore(deps-dev): Bump @icp-sdk/auth from 5.0.0 to 7.0.0 (#501)
 47dfbcb chore(deps-dev): Bump typescript from 5.9.3 to 6.0.3 (#500)
 5127878 chore(deps): Bump ic-cdk from 0.20.0 to 0.20.1 (#498)
 5fe81fe chore(deps-dev): Bump dotenv from 17.4.1 to 17.4.2 (#495)
 d75d056 chore(deps-dev): Bump prettier from 3.8.1 to 3.8.3 (#494)
 d33fd4c chore(deps): Bump bitcoin from 0.32.9 to 0.32.100 (#509)
 303b7c3 chore(deps): Bump candid from 0.10.26 to 0.10.29 (#508)
 0c3858d chore(deps-dev): Bump svelte from 5.53.5 to 5.55.7 (#506)
 25b699a chore(deps): Bump rand from 0.8.5 to 0.8.6 (#497)
 2f6c081 chore(deps): Bump rustls-webpki from 0.103.10 to 0.103.13 (#502)
 a991f20 chore(deps-dev): Bump postcss from 8.5.8 to 8.5.14 (#504)
 f495b69 chore(deps): Bump bitcoin from 0.32.8 to 0.32.9 (#503)
 be571ff chore(deps-dev): Bump vite from 8.0.5 to 8.0.7 (#492)
 65015aa chore(deps-dev): Bump dotenv from 17.4.0 to 17.4.1 (#490)
 2d4b1d1 chore(deps-dev): Bump sass from 1.98.0 to 1.99.0 (#489)
 edfdd44 chore(deps-dev): Bump vitest from 4.1.2 to 4.1.3 (#488)
 cf4a4d9 chore(deps-dev): Bump vite from 8.0.3 to 8.0.5 (#487)
 0283b85 chore(deps): Bump strum from 0.26.3 to 0.28.0 (#485)
 e26bfb2 chore(deps): Bump @icp-sdk/core from 5.2.0 to 5.2.1 (#484)
 49676dc chore(deps-dev): Bump dotenv from 17.3.1 to 17.4.0 (#483)
 99445eb chore(deps-dev): Bump vitest from 4.1.0 to 4.1.1 (#476)
 0cfc813 chore(deps-dev): Bump vite from 8.0.1 to 8.0.2 (#478)
 a9df295 chore(deps): Bump strum_macros from 0.27.2 to 0.28.0 (#466)
 95251e9 chore(build): Bump ic-cdk and related dependencies (#479)
 91ffba7 fix(scripts): Make binding scripts fetch the correct file (#481)
 4935100 chore(signer): Update pricing (#462)
 da509a8 chore(deps): Bump dorny/paths-filter from 3 to 4 (#475)
 004e587 chore(deps-dev): Bump vite from 7.3.1 to 8.0.0 (#474)
 594c81b chore(deps-dev): Bump vitest from 4.0.18 to 4.1.0 (#473)
 8f94263 chore(deps-dev): Bump devalue from 5.6.3 to 5.6.4 (#472)
 20a0931 chore(deps-dev): Bump sass from 1.97.3 to 1.98.0 (#471)
 54cfa24 chore(deps-dev): Bump prettier-plugin-svelte from 3.5.0 to 3.5.1 (#464)
 f4144f6 chore(deps): Bump quinn-proto from 0.11.7 to 0.11.14 (#470)
 67a55a3 chore(build): Run `npm audit fix` (#469)
 d7fee35 chore(deps): Bump actions/download-artifact from 7 to 8 (#468)
 ea93501 chore(deps): Bump actions/upload-artifact from 6 to 7 (#467)
 31d781c chore(pricing): Reorder the list of methods in pricing report (#463)
 1282834 chore(deps): Bump pocket-ic from 7.0.0 to 9.0.2 (#446)
 7e9bdf9 fix(build): Add SHA256 of arg file in proposal (#451)
 72f3e91 chore(build): Update package-lok file (#461)
 552b9ef chore(deps): Bump candid from 0.10.22 to 0.10.23 (#460)
 3774acc chore(deps): Bump keccak from 0.1.5 to 0.1.6 (#457)
 763186d chore(deps-dev): Bump svelte from 4.2.19 to 5.53.0 (#459)
 3436e39 chore(deps-dev): Bump prettier-plugin-svelte from 3.4.1 to 3.5.0 (#454)
 9e4642b chore(deps-dev): Bump dotenv from 17.2.4 to 17.3.1 (#453)
 e2881e0 chore(deps): Bump bitcoin from 0.32.7 to 0.32.8 (#455)
 de4783c chore(deps): Bump ethers-core from 2.0.11 to 2.0.14 (#448)
 a5bdb35 chore(deps): Bump strum_macros from 0.26.4 to 0.27.2 (#447)
 6c28c6d chore(deps-dev): Bump dotenv from 17.2.3 to 17.2.4 (#443)
 ff5a3a7 chore(rust): Update Rust version (#444)
 cde2dd0 chore(signer): Remove unused `StoredPrincipal` struct (#445)
 f32533f chore(deps-dev): Bump vitest from 4.0.15 to 4.0.18 (#442)
 f9da355 chore(deps-dev): Bump sass from 1.89.2 to 1.97.3 (#441)
 5abab85 chore(deps-dev): Bump the ic-identity group with 2 updates (#439)

Wasm Verification

To build the wasm module yourself and verify its hash, run the following commands from the root of the Chain Fusion Signer repo:

git fetch --tags # to ensure you have the latest changes.
git checkout tags/v0.4.1
./scripts/docker-build

This will generate these files:

  • out/signer.wasm.gz
  • out/signer.args.did
  • out/signer.args.bin

Original NNS proposal

Payload

Proposal to execute nervous system function:

Nervous system function:

NervousSystemFunction { id: 1000, name: "Vote on NNS proposal", description: Some( "Vote yes to a given NNS proposal. If there is no strict majority, vote for the majority outcome.", ), function_type: Some( GenericNervousSystemFunction( GenericNervousSystemFunction { target_canister_id: Some( tsbvt-pyaaa-aaaar-qafva-cai, ), target_method_name: Some( "approve_proposal", ), validator_canister_id: Some( tsbvt-pyaaa-aaaar-qafva-cai, ), validator_method_name: Some( "approve_proposal_validate", ), topic: Some( ApplicationBusinessLogic, ), }, ), ), }

Payload sha256:

27584560ab82194939af579a3bf73d529055b890f3ecd7a7494f55149e7e8fac

Payload:

142259

Overview