Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .sources/VERSIONS
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
# instead. This is expected behaviour with --depth 1 submodule init.
# -------------------------------------------------------

chain-fusion-signer v0.3.0 8cea727
chain-fusion-signer v0.4.0 a18c52a
papi v0.1.1 168bc9d
ic-pub-key v1.0.1 f89fa55
icp-cli v0.2.3 caeac37
Expand Down
2 changes: 1 addition & 1 deletion .sources/chain-fusion-signer
Submodule chain-fusion-signer updated 64 files
+10 −10 .github/workflows/check.yml
+1 −1 .github/workflows/pr.yml
+1 −1 .github/workflows/release.yml
+7 −7 .github/workflows/reproducible-native.yaml
+2 −2 .github/workflows/security-audit.yaml
+1,101 −756 Cargo.lock
+18 −14 Cargo.toml
+228 −152 check-pricing.report.md
+2 −2 dev-tools.json
+1 −1 dfx.json
+1,054 −1,524 package-lock.json
+3 −4 package.json
+1 −1 rust-toolchain.toml
+10 −1 scripts/bind/pic/bitcoin.sh
+18 −1 scripts/bind/pic/cycles_depositor.sh
+11 −1 scripts/bind/pic/cycles_ledger.sh
+8 −1 scripts/bind/pic/signer.sh
+209 −26 scripts/check-pricing
+3 −1 scripts/propose
+1 −1 scripts/test.signer.sh
+3 −3 src/declarations/example_backend/example_backend.did.d.ts
+3 −3 src/declarations/example_backend/index.d.ts
+1 −1 src/declarations/example_backend/index.js
+3 −3 src/declarations/example_frontend/example_frontend.did.d.ts
+3 −3 src/declarations/example_frontend/index.d.ts
+1 −1 src/declarations/example_frontend/index.js
+3 −3 src/declarations/internet_identity/index.d.ts
+1 −1 src/declarations/internet_identity/index.js
+3 −3 src/declarations/internet_identity/internet_identity.did.d.ts
+1 −1 src/example_backend/Cargo.toml
+2 −2 src/example_backend/src/lib.rs
+6 −8 src/example_frontend/package.json
+2 −2 src/example_frontend/src/App.js
+2 −2 src/example_frontend/tsconfig.json
+1 −1 src/example_frontend/vite.config.js
+3 −2 src/signer/api/Cargo.toml
+56 −5 src/signer/api/src/methods.rs
+1 −1 src/signer/api/src/metrics.rs
+8 −8 src/signer/api/src/std_canister_status.rs
+1 −1 src/signer/api/src/types.rs
+20 −25 src/signer/api/src/types/eth.rs
+12 −16 src/signer/api/src/types/generic.rs
+12 −16 src/signer/api/src/types/schnorr.rs
+3 −3 src/signer/canister/Cargo.toml
+372 −45 src/signer/canister/signer.did
+2 −2 src/signer/canister/src/guards.rs
+7 −22 src/signer/canister/src/impls.rs
+29 −35 src/signer/canister/src/lib.rs
+19 −19 src/signer/canister/src/sign/bitcoin/bitcoin_api.rs
+3 −5 src/signer/canister/src/sign/bitcoin/bitcoin_utils.rs
+3 −3 src/signer/canister/src/sign/bitcoin/fee_utils.rs
+16 −20 src/signer/canister/src/sign/bitcoin/tx_utils.rs
+9 −9 src/signer/canister/src/sign/ecdsa_api.rs
+18 −19 src/signer/canister/src/sign/eth.rs
+22 −25 src/signer/canister/src/sign/generic.rs
+16 −22 src/signer/canister/src/state.rs
+1 −4 src/signer/canister/src/types.rs
+29 −28 src/signer/canister/tests/it/bitcoin.rs
+40 −17 src/signer/canister/tests/it/canister/cycles_ledger.rs
+136 −41 src/signer/canister/tests/it/canister/signer.rs
+6 −6 src/signer/canister/tests/it/eth.rs
+29 −33 src/signer/canister/tests/it/schnorr.rs
+1 −0 src/signer/canister/tests/it/utils/pic_canister.rs
+3 −2 src/signer/canister/tests/it/utils/test_environment.rs
7 changes: 5 additions & 2 deletions docs/guides/chain-fusion/chain-fusion-signer.md
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ OISY Wallet uses the Chain Fusion Signer as its production signing backend and s

## API fees

Fees are charged per call in cycles. Verify against the [source](https://github.com/dfinity/chain-fusion-signer/blob/main/src/signer/api/src/methods.rs) for the latest values (table reflects v0.3.0):
Fees are charged per call in cycles. Verify against the [source](https://github.com/dfinity/chain-fusion-signer/blob/main/src/signer/api/src/methods.rs) for the latest values (table reflects v0.4.0):

| Method | Fee (cycles) |
|--------|-------------|
Expand All @@ -243,7 +243,10 @@ Fees are charged per call in cycles. Verify against the [source](https://github.
| `btc_caller_balance` | 113,000,000 |
| `eth_personal_sign`, `eth_sign_prehash`, `eth_sign_transaction` | 37,000,000,000 |
| `generic_sign_with_ecdsa`, `schnorr_sign` | 37,000,000,000 |
| `btc_caller_send`, `btc_caller_sign` | 132,000,000,000 |
| `btc_caller_sign` | 74,000,000,000 + (inputs × 37,000,000,000) |
| `btc_caller_send` | 95,000,000,000 + (inputs × 37,000,000,000) |

**Bitcoin sign and send fees scale with the number of UTXOs spent.** Each input requires one threshold ECDSA signature call. Pre-approve the exact amount using the formula `base + (n_inputs × 37,000,000,000)`. For example, a 2-input `btc_caller_sign` costs 148,000,000,000 cycles.

Fees are set at approximately 140% of the typical call cost to cover failed-call overhead.

Expand Down
Loading