[INFO] cloning repository https://github.com/NotevenDe/fomowell-alkanes-topup
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/NotevenDe/fomowell-alkanes-topup" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNotevenDe%2Ffomowell-alkanes-topup", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNotevenDe%2Ffomowell-alkanes-topup'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6230517736e781e1305a1ad6ebebd38c524955d9
[INFO] checking NotevenDe/fomowell-alkanes-topup against 895980e0290783bb09b1ccf1b11f14eb09b10430 for pr-160186
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNotevenDe%2Ffomowell-alkanes-topup" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/NotevenDe/fomowell-alkanes-topup
[INFO] finished tweaking git repo https://github.com/NotevenDe/fomowell-alkanes-topup
[INFO] tweaked toml for git repo https://github.com/NotevenDe/fomowell-alkanes-topup written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/NotevenDe/fomowell-alkanes-topup on toolchain 895980e0290783bb09b1ccf1b11f14eb09b10430
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/NotevenDe/fomowell-alkanes-topup already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 8d591afd7830044886ee5e3bbd28ea71c265ed2a874f7a51af9bcb399d68bb84
[INFO] running `Command { std: "docker" "start" "8d591afd7830044886ee5e3bbd28ea71c265ed2a874f7a51af9bcb399d68bb84", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8d591afd7830044886ee5e3bbd28ea71c265ed2a874f7a51af9bcb399d68bb84", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8d591afd7830044886ee5e3bbd28ea71c265ed2a874f7a51af9bcb399d68bb84" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8d591afd7830044886ee5e3bbd28ea71c265ed2a874f7a51af9bcb399d68bb84", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8d591afd7830044886ee5e3bbd28ea71c265ed2a874f7a51af9bcb399d68bb84" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.5
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling cc v1.2.48
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]     Checking cpufeatures v0.2.17
[INFO] [stderr]    Compiling bitcoin-io v0.1.4
[INFO] [stderr]    Compiling typed-arena v2.0.2
[INFO] [stderr]    Compiling bitcoin-internals v0.3.0
[INFO] [stderr]    Compiling data-encoding v2.9.0
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]    Compiling object v0.32.2
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking hex-conservative v0.2.2
[INFO] [stderr]    Compiling pretty v0.12.5
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]    Compiling leb128 v0.2.5
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking slab v0.4.11
[INFO] [stderr]    Compiling ic-cdk-executor v0.1.0
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]     Checking bitcoin_hashes v0.14.0
[INFO] [stderr]    Compiling slotmap v1.0.7
[INFO] [stderr]    Compiling hex_lit v0.1.1
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling ic-cdk-timers v0.11.1
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]     Checking ic0 v0.23.0
[INFO] [stderr]    Compiling bitcoin v0.32.7
[INFO] [stderr]     Checking bitcoin-units v0.1.2
[INFO] [stderr]     Checking ryu v1.0.20
[INFO] [stderr]     Checking bech32 v0.11.1
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking itoa v1.0.15
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]    Compiling stacker v0.1.22
[INFO] [stderr]    Compiling secp256k1-sys v0.10.1
[INFO] [stderr]     Checking base58ck v0.1.0
[INFO] [stderr]     Checking serde_bytes v0.11.19
[INFO] [stderr]    Compiling ar_archive_writer v0.2.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling candid_derive v0.10.20
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling psm v0.1.28
[INFO] [stderr]    Compiling binread_derive v2.1.0
[INFO] [stderr]     Checking secp256k1 v0.29.1
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling binread v2.2.0
[INFO] [stderr]     Checking ic_principal v0.1.1
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]    Compiling serde_tokenstream v0.2.2
[INFO] [stderr]     Checking ic-stable-structures v0.6.9
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking candid v0.10.20
[INFO] [stderr]    Compiling ic-cdk-macros v0.17.2
[INFO] [stderr]     Checking ic-cdk v0.17.2
[INFO] [stderr]     Checking fomowelll v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `bitcoin::absolute::LockTime`
[INFO] [stdout]  --> src/ic/p2tr_key_only.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bitcoin::absolute::LockTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitcoin::sighash::SighashCache`
[INFO] [stdout]  --> src/ic/p2tr_key_only.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bitcoin::sighash::SighashCache;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitcoin::transaction::Version`
[INFO] [stdout]  --> src/ic/p2tr_key_only.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use bitcoin::transaction::Version;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Amount`, `OutPoint`, `ScriptBuf`, `Sequence`, `TapSighashType`, `TxIn`, `TxOut`, and `Witness`
[INFO] [stdout]  --> src/ic/p2tr_key_only.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bitcoin::{Amount, OutPoint, ScriptBuf, Sequence, TapSighashType, TxIn, TxOut, Witness};
[INFO] [stdout]   |               ^^^^^^  ^^^^^^^^  ^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^  ^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Transaction` and `taproot::TaprootSpendInfo`
[INFO] [stdout]  --> src/ic/p2tr_key_only.rs:5:62
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bitcoin::{key::Secp256k1, secp256k1::PublicKey, Address, Transaction, taproot::TaprootSpendInfo};
[INFO] [stdout]   |                                                              ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SignWithSchnorrArgument`
[INFO] [stdout]  --> src/ic/p2tr_key_only.rs:7:107
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ic_cdk::api::management_canister::schnorr::{SchnorrAlgorithm, SchnorrKeyId, SchnorrPublicKeyArgument, SignWithSchnorrArgument};
[INFO] [stdout]   |                                                                                                           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/ic/p2tr_key_only.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BitcoinNetwork`, `GetBalanceRequest`, `GetCurrentFeePercentilesRequest`, `MillisatoshiPerByte`, `SendTransactionRequest`, `bitcoin_get_balance`, `bitcoin_get_current_fee_percentiles`, and `bitcoin_send_transaction`
[INFO] [stdout]   --> src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     bitcoin_get_balance, bitcoin_get_current_fee_percentiles, bitcoin_get_utxos,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     bitcoin_send_transaction, BitcoinNetwork, GetBalanceRequest, GetCurrentFeePercentilesRequest,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     GetUtxosRequest, GetUtxosResponse, MillisatoshiPerByte, SendTransactionRequest,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SchnorrAlgorithm`, `SchnorrKeyId`, and `SignWithSchnorrArgument`
[INFO] [stdout]   --> src/lib.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     SchnorrAlgorithm, SchnorrKeyId, SignWithSchnorrArgument,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Address`, `Amount`, `PublicKey`, `Secp256k1`, `Sequence`, `TapSighashType`, `TxOut`, `XOnlyPublicKey`, and `schnorr`
[INFO] [stdout]   --> src/lib.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 |     key::{PublicKey, Secp256k1},
[INFO] [stdout]    |           ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 24 |     secp256k1::{schnorr, XOnlyPublicKey},
[INFO] [stdout]    |                 ^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     Address, Amount, Network, ScriptBuf, Sequence, TapSighashType, TxOut,
[INFO] [stdout]    |     ^^^^^^^  ^^^^^^                      ^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitcoin::FeeRate`
[INFO] [stdout]   --> src/psbt/transaction.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use bitcoin::FeeRate;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/psbt/gas.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `get_utxos_by_alkaneid` and `utxo_count`
[INFO] [stdout]   --> src/lib.rs:46:68
[INFO] [stdout]    |
[INFO] [stdout] 46 |     AlkaneUtxoRecord, get_utxos_by_address, set_utxo, remove_utxo, get_utxos_by_alkaneid, utxo_count
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/lib.rs:144:56
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub fn generate_protostone(edicts: Vec<EdictInput>) -> (ScriptBuf) {
[INFO] [stdout]     |                                                        ^         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 144 - pub fn generate_protostone(edicts: Vec<EdictInput>) -> (ScriptBuf) {
[INFO] [stdout] 144 + pub fn generate_protostone(edicts: Vec<EdictInput>) -> ScriptBuf {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitcoin::absolute::LockTime`
[INFO] [stdout]  --> src/ic/p2tr_key_only.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bitcoin::absolute::LockTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitcoin::sighash::SighashCache`
[INFO] [stdout]  --> src/ic/p2tr_key_only.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bitcoin::sighash::SighashCache;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitcoin::transaction::Version`
[INFO] [stdout]  --> src/ic/p2tr_key_only.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use bitcoin::transaction::Version;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Amount`, `OutPoint`, `ScriptBuf`, `Sequence`, `TapSighashType`, `TxIn`, `TxOut`, and `Witness`
[INFO] [stdout]  --> src/ic/p2tr_key_only.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bitcoin::{Amount, OutPoint, ScriptBuf, Sequence, TapSighashType, TxIn, TxOut, Witness};
[INFO] [stdout]   |               ^^^^^^  ^^^^^^^^  ^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^  ^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Transaction` and `taproot::TaprootSpendInfo`
[INFO] [stdout]  --> src/ic/p2tr_key_only.rs:5:62
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bitcoin::{key::Secp256k1, secp256k1::PublicKey, Address, Transaction, taproot::TaprootSpendInfo};
[INFO] [stdout]   |                                                              ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SignWithSchnorrArgument`
[INFO] [stdout]  --> src/ic/p2tr_key_only.rs:7:107
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ic_cdk::api::management_canister::schnorr::{SchnorrAlgorithm, SchnorrKeyId, SchnorrPublicKeyArgument, SignWithSchnorrArgument};
[INFO] [stdout]   |                                                                                                           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/ic/p2tr_key_only.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BitcoinNetwork`, `GetBalanceRequest`, `GetCurrentFeePercentilesRequest`, `MillisatoshiPerByte`, `SendTransactionRequest`, `bitcoin_get_balance`, `bitcoin_get_current_fee_percentiles`, and `bitcoin_send_transaction`
[INFO] [stdout]   --> src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     bitcoin_get_balance, bitcoin_get_current_fee_percentiles, bitcoin_get_utxos,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     bitcoin_send_transaction, BitcoinNetwork, GetBalanceRequest, GetCurrentFeePercentilesRequest,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     GetUtxosRequest, GetUtxosResponse, MillisatoshiPerByte, SendTransactionRequest,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SchnorrAlgorithm`, `SchnorrKeyId`, and `SignWithSchnorrArgument`
[INFO] [stdout]   --> src/lib.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     SchnorrAlgorithm, SchnorrKeyId, SignWithSchnorrArgument,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Address`, `Amount`, `PublicKey`, `Secp256k1`, `Sequence`, `TapSighashType`, `TxOut`, `XOnlyPublicKey`, and `schnorr`
[INFO] [stdout]   --> src/lib.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 |     key::{PublicKey, Secp256k1},
[INFO] [stdout]    |           ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 24 |     secp256k1::{schnorr, XOnlyPublicKey},
[INFO] [stdout]    |                 ^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     Address, Amount, Network, ScriptBuf, Sequence, TapSighashType, TxOut,
[INFO] [stdout]    |     ^^^^^^^  ^^^^^^                      ^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitcoin::FeeRate`
[INFO] [stdout]   --> src/psbt/transaction.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use bitcoin::FeeRate;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/psbt/gas.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `get_utxos_by_alkaneid` and `utxo_count`
[INFO] [stdout]   --> src/lib.rs:46:68
[INFO] [stdout]    |
[INFO] [stdout] 46 |     AlkaneUtxoRecord, get_utxos_by_address, set_utxo, remove_utxo, get_utxos_by_alkaneid, utxo_count
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/lib.rs:144:56
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub fn generate_protostone(edicts: Vec<EdictInput>) -> (ScriptBuf) {
[INFO] [stdout]     |                                                        ^         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 144 - pub fn generate_protostone(edicts: Vec<EdictInput>) -> (ScriptBuf) {
[INFO] [stdout] 144 + pub fn generate_protostone(edicts: Vec<EdictInput>) -> ScriptBuf {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `base64::encode`: Use Engine::encode
[INFO] [stdout]    --> src/psbt/transaction.rs:158:31
[INFO] [stdout]     |
[INFO] [stdout] 158 |     let psbt_base64 = base64::encode(&serialized);
[INFO] [stdout]     |                               ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `base64::decode`: Use Engine::decode
[INFO] [stdout]    --> src/psbt/transaction.rs:173:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |         base64::decode(psbt1).map_err(|e| format!("Failed to decode base64 PSBT1: {}", e))?
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `base64::decode`: Use Engine::decode
[INFO] [stdout]    --> src/psbt/transaction.rs:179:17
[INFO] [stdout]     |
[INFO] [stdout] 179 |         base64::decode(psbt2).map_err(|e| format!("Failed to decode base64 PSBT2: {}", e))?
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `base64::encode`: Use Engine::encode
[INFO] [stdout]    --> src/psbt/transaction.rs:192:16
[INFO] [stdout]     |
[INFO] [stdout] 192 |     Ok(base64::encode(&combined_bytes))
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `base64::encode`: Use Engine::encode
[INFO] [stdout]    --> src/psbt/transaction.rs:158:31
[INFO] [stdout]     |
[INFO] [stdout] 158 |     let psbt_base64 = base64::encode(&serialized);
[INFO] [stdout]     |                               ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `base64::decode`: Use Engine::decode
[INFO] [stdout]    --> src/psbt/transaction.rs:173:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |         base64::decode(psbt1).map_err(|e| format!("Failed to decode base64 PSBT1: {}", e))?
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `base64::decode`: Use Engine::decode
[INFO] [stdout]    --> src/psbt/transaction.rs:179:17
[INFO] [stdout]     |
[INFO] [stdout] 179 |         base64::decode(psbt2).map_err(|e| format!("Failed to decode base64 PSBT2: {}", e))?
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `base64::encode`: Use Engine::encode
[INFO] [stdout]    --> src/psbt/transaction.rs:192:16
[INFO] [stdout]     |
[INFO] [stdout] 192 |     Ok(base64::encode(&combined_bytes))
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `bitcoin::Transaction::txid`: txid has been renamed to compute_txid to note that it's computationally expensive.  use compute_txid() instead.
[INFO] [stdout]    --> src/psbt/transaction.rs:153:19
[INFO] [stdout]     |
[INFO] [stdout] 153 |     let txid = tx.txid().to_string();
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `bitcoin::Transaction::txid`: txid has been renamed to compute_txid to note that it's computationally expensive.  use compute_txid() instead.
[INFO] [stdout]    --> src/psbt/transaction.rs:153:19
[INFO] [stdout]     |
[INFO] [stdout] 153 |     let txid = tx.txid().to_string();
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_signature`
[INFO] [stdout]    --> src/psbt/transaction.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 123 |     let token_signature = bitcoin::taproot::Signature {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_signature`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_signature`
[INFO] [stdout]    --> src/psbt/transaction.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 123 |     let token_signature = bitcoin::taproot::Signature {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_signature`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alkanes_topup_address`
[INFO] [stdout]    --> src/lib.rs:405:10
[INFO] [stdout]     |
[INFO] [stdout] 405 |     let [alkanes_topup_address, alkanes_fund_address, alkanes_btc_address] =
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alkanes_topup_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alkanes_fund_address`
[INFO] [stdout]    --> src/lib.rs:405:33
[INFO] [stdout]     |
[INFO] [stdout] 405 |     let [alkanes_topup_address, alkanes_fund_address, alkanes_btc_address] =
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alkanes_fund_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fund_summary`
[INFO] [stdout]    --> src/lib.rs:476:9
[INFO] [stdout]     |
[INFO] [stdout] 476 |     let fund_summary: Vec<(String, u64)> = selected_alkane_amounts
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fund_summary`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `current_fee_rate` is never read
[INFO] [stdout]    --> src/lib.rs:925:32
[INFO] [stdout]     |
[INFO] [stdout] 925 |     let mut current_fee_rate = 0.0;
[INFO] [stdout]     |                                ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 930 |             current_fee_rate = (fee_rate_view.high) as f64;
[INFO] [stdout]     |             ---------------------------------------------- `current_fee_rate` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/lib.rs:688:14
[INFO] [stdout]     |
[INFO] [stdout] 688 |         for (address, _alkaneid, utxo_record) in &alkanes_topup_utxo {
[INFO] [stdout]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alkaneid`
[INFO] [stdout]    --> src/lib.rs:703:14
[INFO] [stdout]     |
[INFO] [stdout] 703 |         for (alkaneid, amount) in &alkanes_map {
[INFO] [stdout]     |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alkaneid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `amount`
[INFO] [stdout]    --> src/lib.rs:703:24
[INFO] [stdout]     |
[INFO] [stdout] 703 |         for (alkaneid, amount) in &alkanes_map {
[INFO] [stdout]     |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:889:9
[INFO] [stdout]     |
[INFO] [stdout] 889 |         _ => ic_cdk::api::management_canister::bitcoin::BitcoinNetwork::Testnet,
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/lib.rs:889:9
[INFO] [stdout]     |
[INFO] [stdout] 884 |         Network::Bitcoin => ic_cdk::api::management_canister::bitcoin::BitcoinNetwork::Mainnet,
[INFO] [stdout]     |         ---------------- matches some of the same values
[INFO] [stdout] 885 |         Network::Testnet => ic_cdk::api::management_canister::bitcoin::BitcoinNetwork::Testnet,
[INFO] [stdout]     |         ---------------- matches some of the same values
[INFO] [stdout] 886 |         Network::Testnet4 => ic_cdk::api::management_canister::bitcoin::BitcoinNetwork::Testnet,
[INFO] [stdout]     |         ----------------- matches some of the same values
[INFO] [stdout] 887 |         Network::Signet => ic_cdk::api::management_canister::bitcoin::BitcoinNetwork::Testnet,
[INFO] [stdout]     |         --------------- matches some of the same values
[INFO] [stdout] 888 |         Network::Regtest => ic_cdk::api::management_canister::bitcoin::BitcoinNetwork::Regtest,
[INFO] [stdout] 889 |         _ => ic_cdk::api::management_canister::bitcoin::BitcoinNetwork::Testnet,
[INFO] [stdout]     |         ^ ...and 1 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alkanes_topup_address`
[INFO] [stdout]    --> src/lib.rs:405:10
[INFO] [stdout]     |
[INFO] [stdout] 405 |     let [alkanes_topup_address, alkanes_fund_address, alkanes_btc_address] =
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alkanes_topup_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alkanes_fund_address`
[INFO] [stdout]    --> src/lib.rs:405:33
[INFO] [stdout]     |
[INFO] [stdout] 405 |     let [alkanes_topup_address, alkanes_fund_address, alkanes_btc_address] =
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alkanes_fund_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fund_summary`
[INFO] [stdout]    --> src/lib.rs:476:9
[INFO] [stdout]     |
[INFO] [stdout] 476 |     let fund_summary: Vec<(String, u64)> = selected_alkane_amounts
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fund_summary`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bitcoin_network_to_ic_bitcoin_network` is never used
[INFO] [stdout]    --> src/lib.rs:880:4
[INFO] [stdout]     |
[INFO] [stdout] 880 | fn bitcoin_network_to_ic_bitcoin_network(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET_BALANCE_COST_CYCLES` is never used
[INFO] [stdout]  --> src/ic/utxo_api.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const GET_BALANCE_COST_CYCLES: u64 = 100_000_000;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET_UTXOS_COST_CYCLES` is never used
[INFO] [stdout]   --> src/ic/utxo_api.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const GET_UTXOS_COST_CYCLES: u64 = 10_000_000_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEND_TRANSACTION_BASE_CYCLES` is never used
[INFO] [stdout]   --> src/ic/utxo_api.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const SEND_TRANSACTION_BASE_CYCLES: u64 = 5_000_000_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEND_TRANSACTION_PER_BYTE_CYCLES` is never used
[INFO] [stdout]   --> src/ic/utxo_api.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const SEND_TRANSACTION_PER_BYTE_CYCLES: u64 = 20_000_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_balance` is never used
[INFO] [stdout]   --> src/ic/utxo_api.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub async fn get_balance(network: BitcoinNetwork, address: String) -> u64 {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_utxos` is never used
[INFO] [stdout]   --> src/ic/utxo_api.rs:38:14
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub async fn get_utxos(network: BitcoinNetwork, address: String) -> GetUtxosResponse {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_transaction` is never used
[INFO] [stdout]   --> src/ic/utxo_api.rs:58:14
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub async fn send_transaction(network: BitcoinNetwork, transaction: Vec<u8>) {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET_BALANCE_COST_CYCLES` is never used
[INFO] [stdout]  --> src/ic/bitcoin_api.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const GET_BALANCE_COST_CYCLES: u64 = 100_000_000;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET_UTXOS_COST_CYCLES` is never used
[INFO] [stdout]   --> src/ic/bitcoin_api.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const GET_UTXOS_COST_CYCLES: u64 = 10_000_000_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_balance` is never used
[INFO] [stdout]   --> src/ic/bitcoin_api.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub async fn get_balance(network: BitcoinNetwork, address: String) -> u64 {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_utxos` is never used
[INFO] [stdout]   --> src/ic/bitcoin_api.rs:38:14
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub async fn get_utxos(network: BitcoinNetwork, address: String) -> GetUtxosResponse {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `current_fee_rate` is never read
[INFO] [stdout]    --> src/lib.rs:925:32
[INFO] [stdout]     |
[INFO] [stdout] 925 |     let mut current_fee_rate = 0.0;
[INFO] [stdout]     |                                ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 930 |             current_fee_rate = (fee_rate_view.high) as f64;
[INFO] [stdout]     |             ---------------------------------------------- `current_fee_rate` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DUST_THRESHOLD` is never used
[INFO] [stdout]  --> src/psbt/gas.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const DUST_THRESHOLD: u64 = 330;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Utxo` is never constructed
[INFO] [stdout]  --> src/psbt/gas.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Utxo {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Output` is never constructed
[INFO] [stdout]   --> src/psbt/gas.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Output {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Script` is never constructed
[INFO] [stdout]   --> src/psbt/gas.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Script {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FeeCalculationResult` is never constructed
[INFO] [stdout]   --> src/psbt/gas.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct FeeCalculationResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InputType` is never used
[INFO] [stdout]   --> src/psbt/gas.rs:34:6
[INFO] [stdout]    |
[INFO] [stdout] 34 | enum InputType {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OutputType` is never used
[INFO] [stdout]   --> src/psbt/gas.rs:41:6
[INFO] [stdout]    |
[INFO] [stdout] 41 | enum OutputType {
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_input_type` is never used
[INFO] [stdout]   --> src/psbt/gas.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn get_input_type(address: &Option<String>) -> InputType {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_output_type` is never used
[INFO] [stdout]   --> src/psbt/gas.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn get_output_type(address: &Option<String>) -> OutputType {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_fee_and_change` is never used
[INFO] [stdout]   --> src/psbt/gas.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn calculate_fee_and_change(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_fee_p2tr_with_opreturn` is never used
[INFO] [stdout]    --> src/psbt/gas.rs:246:8
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub fn calculate_fee_p2tr_with_opreturn(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_utxos_by_alkaneid` is never used
[INFO] [stdout]    --> src/alkanes/alkanes_storage.rs:175:8
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub fn get_utxos_by_alkaneid(alkaneid: String) -> Vec<(String, AlkaneUtxoRecord)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `utxo_count` is never used
[INFO] [stdout]    --> src/alkanes/alkanes_storage.rs:209:8
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub fn utxo_count() -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count` is never used
[INFO] [stdout]    --> src/alkanes/alkanes_storage.rs:248:8
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub fn count() -> u64 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_leb128_u128` is never used
[INFO] [stdout]   --> src/alkanes/alkanes_data.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn read_leb128_u128(bytes: &[u8], idx: &mut usize) -> Option<u128> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unpack_u128_chunks_to_bytes` is never used
[INFO] [stdout]    --> src/alkanes/alkanes_data.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn unpack_u128_chunks_to_bytes(ints: &[u128]) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_edicts_from_body` is never used
[INFO] [stdout]    --> src/alkanes/alkanes_data.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn parse_edicts_from_body(ints: &[u128], mut idx: usize, end: usize) -> (Vec<super::alkanes_protostone::Edict>, usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_calldata` is never used
[INFO] [stdout]    --> src/alkanes/alkanes_data.rs:208:8
[INFO] [stdout]     |
[INFO] [stdout] 208 |     fn decode_calldata(data: &[u8]) -> Option<Vec<u8>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_protocol_chunks_to_ints` is never used
[INFO] [stdout]    --> src/alkanes/alkanes_data.rs:286:8
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn decode_protocol_chunks_to_ints(chunks: &[u128]) -> Vec<u128> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_protostones` is never used
[INFO] [stdout]    --> src/alkanes/alkanes_data.rs:302:12
[INFO] [stdout]     |
[INFO] [stdout] 302 |     pub fn parse_protostones(chunks: &[u128]) -> Vec<super::alkanes_protostone::Protostone> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_protostones_from_ints` is never used
[INFO] [stdout]    --> src/alkanes/alkanes_data.rs:307:12
[INFO] [stdout]     |
[INFO] [stdout] 307 |     pub fn parse_protostones_from_ints(ints: &[u128]) -> Vec<super::alkanes_protostone::Protostone> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CENOTAPH` is never used
[INFO] [stdout]   --> src/alkanes/alkanes_data.rs:39:19
[INFO] [stdout]    |
[INFO] [stdout] 39 |         pub const CENOTAPH: u128 = 126;
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NOP` is never used
[INFO] [stdout]   --> src/alkanes/alkanes_data.rs:40:19
[INFO] [stdout]    |
[INFO] [stdout] 40 |         pub const NOP: u128 = 127;
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/lib.rs:688:14
[INFO] [stdout]     |
[INFO] [stdout] 688 |         for (address, _alkaneid, utxo_record) in &alkanes_topup_utxo {
[INFO] [stdout]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alkaneid`
[INFO] [stdout]    --> src/lib.rs:703:14
[INFO] [stdout]     |
[INFO] [stdout] 703 |         for (alkaneid, amount) in &alkanes_map {
[INFO] [stdout]     |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alkaneid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `amount`
[INFO] [stdout]    --> src/lib.rs:703:24
[INFO] [stdout]     |
[INFO] [stdout] 703 |         for (alkaneid, amount) in &alkanes_map {
[INFO] [stdout]     |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:889:9
[INFO] [stdout]     |
[INFO] [stdout] 889 |         _ => ic_cdk::api::management_canister::bitcoin::BitcoinNetwork::Testnet,
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/lib.rs:889:9
[INFO] [stdout]     |
[INFO] [stdout] 884 |         Network::Bitcoin => ic_cdk::api::management_canister::bitcoin::BitcoinNetwork::Mainnet,
[INFO] [stdout]     |         ---------------- matches some of the same values
[INFO] [stdout] 885 |         Network::Testnet => ic_cdk::api::management_canister::bitcoin::BitcoinNetwork::Testnet,
[INFO] [stdout]     |         ---------------- matches some of the same values
[INFO] [stdout] 886 |         Network::Testnet4 => ic_cdk::api::management_canister::bitcoin::BitcoinNetwork::Testnet,
[INFO] [stdout]     |         ----------------- matches some of the same values
[INFO] [stdout] 887 |         Network::Signet => ic_cdk::api::management_canister::bitcoin::BitcoinNetwork::Testnet,
[INFO] [stdout]     |         --------------- matches some of the same values
[INFO] [stdout] 888 |         Network::Regtest => ic_cdk::api::management_canister::bitcoin::BitcoinNetwork::Regtest,
[INFO] [stdout] 889 |         _ => ic_cdk::api::management_canister::bitcoin::BitcoinNetwork::Testnet,
[INFO] [stdout]     |         ^ ...and 1 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `fomowell_alkanes_topup_address` should have an upper case name
[INFO] [stdout]   --> src/lib.rs:60:7
[INFO] [stdout]    |
[INFO] [stdout] 60 | const fomowell_alkanes_topup_address: &str = "fomowell-alkanes-topup-address";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 60 - const fomowell_alkanes_topup_address: &str = "fomowell-alkanes-topup-address";
[INFO] [stdout] 60 + const FOMOWELL_ALKANES_TOPUP_ADDRESS: &str = "fomowell-alkanes-topup-address";
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `fomowell_alkanes_fund_address` should have an upper case name
[INFO] [stdout]   --> src/lib.rs:61:7
[INFO] [stdout]    |
[INFO] [stdout] 61 | const fomowell_alkanes_fund_address: &str = "fomowell-alkanes-fund-address";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 61 - const fomowell_alkanes_fund_address: &str = "fomowell-alkanes-fund-address";
[INFO] [stdout] 61 + const FOMOWELL_ALKANES_FUND_ADDRESS: &str = "fomowell-alkanes-fund-address";
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `fomowell_btc_address` should have an upper case name
[INFO] [stdout]   --> src/lib.rs:62:7
[INFO] [stdout]    |
[INFO] [stdout] 62 | const fomowell_btc_address: &str = "fomowell-btc-address";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 62 - const fomowell_btc_address: &str = "fomowell-btc-address";
[INFO] [stdout] 62 + const FOMOWELL_BTC_ADDRESS: &str = "fomowell-btc-address";
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `PREVIOUS_TX_ID` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:374:9
[INFO] [stdout]     |
[INFO] [stdout] 374 |     let PREVIOUS_TX_ID = match PENDING_TX_ID.with(|id| id.borrow().clone()) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `previous_tx_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `query_fee_rate__res` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:924:9
[INFO] [stdout]     |
[INFO] [stdout] 924 |     let query_fee_rate__res = fee_canister.get_mempool_tx_fee_rate().await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_fee_rate_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `maxRecordsToArchive` should have a snake case name
[INFO] [stdout]   --> src/did/fomowell_token.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 |   pub maxRecordsToArchive: candid::Nat,
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `max_records_to_archive`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `maxArchivePages` should have a snake case name
[INFO] [stdout]   --> src/did/fomowell_token.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 |   pub maxArchivePages: candid::Nat,
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `max_archive_pages`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `settleToRecords` should have a snake case name
[INFO] [stdout]   --> src/did/fomowell_token.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 |   pub settleToRecords: candid::Nat,
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `settle_to_records`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `archiveCycles` should have a snake case name
[INFO] [stdout]   --> src/did/fomowell_token.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 |   pub archiveCycles: candid::Nat,
[INFO] [stdout]    |       ^^^^^^^^^^^^^ help: convert the identifier to snake case: `archive_cycles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `maxActiveRecords` should have a snake case name
[INFO] [stdout]   --> src/did/fomowell_token.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 |   pub maxActiveRecords: candid::Nat,
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `max_active_records`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `maxRecordsInArchiveInstance` should have a snake case name
[INFO] [stdout]   --> src/did/fomowell_token.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 |   pub maxRecordsInArchiveInstance: candid::Nat,
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `max_records_in_archive_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `archiveControllers` should have a snake case name
[INFO] [stdout]   --> src/did/fomowell_token.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 |   pub archiveControllers: Option<Option<Vec<Principal>>>,
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `archive_controllers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dateToMillis` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:239:7
[INFO] [stdout]     |
[INFO] [stdout] 239 |   pub dateToMillis: candid::Nat,
[INFO] [stdout]     |       ^^^^^^^^^^^^ help: convert the identifier to snake case: `date_to_millis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dateFromMillis` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:241:7
[INFO] [stdout]     |
[INFO] [stdout] 241 |   pub dateFromMillis: candid::Nat,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `date_from_millis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `analyzeCount` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:249:7
[INFO] [stdout]     |
[INFO] [stdout] 249 |   pub analyzeCount: u32,
[INFO] [stdout]     |       ^^^^^^^^^^^^ help: convert the identifier to snake case: `analyze_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `messageRegex` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:250:7
[INFO] [stdout]     |
[INFO] [stdout] 250 |   pub messageRegex: Option<String>,
[INFO] [stdout]     |       ^^^^^^^^^^^^ help: convert the identifier to snake case: `message_regex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `messageContains` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:251:7
[INFO] [stdout]     |
[INFO] [stdout] 251 |   pub messageContains: Option<String>,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `message_contains`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `fromTimeNanos` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:258:7
[INFO] [stdout]     |
[INFO] [stdout] 258 |   pub fromTimeNanos: Option<u64>,
[INFO] [stdout]     |       ^^^^^^^^^^^^^ help: convert the identifier to snake case: `from_time_nanos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `upToTimeNanos` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:263:7
[INFO] [stdout]     |
[INFO] [stdout] 263 |   pub upToTimeNanos: Option<u64>,
[INFO] [stdout]     |       ^^^^^^^^^^^^^ help: convert the identifier to snake case: `up_to_time_nanos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `updateCalls` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:295:7
[INFO] [stdout]     |
[INFO] [stdout] 295 |   pub updateCalls: Vec<u64>,
[INFO] [stdout]     |       ^^^^^^^^^^^ help: convert the identifier to snake case: `update_calls`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `canisterHeapMemorySize` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:296:7
[INFO] [stdout]     |
[INFO] [stdout] 296 |   pub canisterHeapMemorySize: Vec<u64>,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `canister_heap_memory_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `canisterCycles` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:297:7
[INFO] [stdout]     |
[INFO] [stdout] 297 |   pub canisterCycles: Vec<u64>,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `canister_cycles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `canisterMemorySize` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:298:7
[INFO] [stdout]     |
[INFO] [stdout] 298 |   pub canisterMemorySize: Vec<u64>,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `canister_memory_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `timeMillis` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:299:7
[INFO] [stdout]     |
[INFO] [stdout] 299 |   pub timeMillis: candid::Int,
[INFO] [stdout]     |       ^^^^^^^^^^ help: convert the identifier to snake case: `time_millis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `updateCalls` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:313:7
[INFO] [stdout]     |
[INFO] [stdout] 313 |   pub updateCalls: u64,
[INFO] [stdout]     |       ^^^^^^^^^^^ help: convert the identifier to snake case: `update_calls`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `canisterHeapMemorySize` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:314:7
[INFO] [stdout]     |
[INFO] [stdout] 314 |   pub canisterHeapMemorySize: NumericEntity,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `canister_heap_memory_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `canisterCycles` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:315:7
[INFO] [stdout]     |
[INFO] [stdout] 315 |   pub canisterCycles: NumericEntity,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `canister_cycles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `canisterMemorySize` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:316:7
[INFO] [stdout]     |
[INFO] [stdout] 316 |   pub canisterMemorySize: NumericEntity,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `canister_memory_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `timeMillis` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:317:7
[INFO] [stdout]     |
[INFO] [stdout] 317 |   pub timeMillis: candid::Int,
[INFO] [stdout]     |       ^^^^^^^^^^ help: convert the identifier to snake case: `time_millis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastTimeNanos` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:345:7
[INFO] [stdout]     |
[INFO] [stdout] 345 |   pub lastTimeNanos: Option<u64>,
[INFO] [stdout]     |       ^^^^^^^^^^^^^ help: convert the identifier to snake case: `last_time_nanos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `firstTimeNanos` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:347:7
[INFO] [stdout]     |
[INFO] [stdout] 347 |   pub firstTimeNanos: Option<u64>,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `first_time_nanos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `timeNanos` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:351:33
[INFO] [stdout]     |
[INFO] [stdout] 351 | pub struct LogMessageData { pub timeNanos: u64, pub message: String }
[INFO] [stdout]     |                                 ^^^^^^^^^ help: convert the identifier to snake case: `time_nanos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastAnalyzedMessageTimeNanos` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:356:7
[INFO] [stdout]     |
[INFO] [stdout] 356 |   pub lastAnalyzedMessageTimeNanos: Option<u64>,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `last_analyzed_message_time_nanos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bitcoin_network_to_ic_bitcoin_network` is never used
[INFO] [stdout]    --> src/lib.rs:880:4
[INFO] [stdout]     |
[INFO] [stdout] 880 | fn bitcoin_network_to_ic_bitcoin_network(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET_BALANCE_COST_CYCLES` is never used
[INFO] [stdout]  --> src/ic/utxo_api.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const GET_BALANCE_COST_CYCLES: u64 = 100_000_000;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET_UTXOS_COST_CYCLES` is never used
[INFO] [stdout]   --> src/ic/utxo_api.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const GET_UTXOS_COST_CYCLES: u64 = 10_000_000_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEND_TRANSACTION_BASE_CYCLES` is never used
[INFO] [stdout]   --> src/ic/utxo_api.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const SEND_TRANSACTION_BASE_CYCLES: u64 = 5_000_000_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEND_TRANSACTION_PER_BYTE_CYCLES` is never used
[INFO] [stdout]   --> src/ic/utxo_api.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const SEND_TRANSACTION_PER_BYTE_CYCLES: u64 = 20_000_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_balance` is never used
[INFO] [stdout]   --> src/ic/utxo_api.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub async fn get_balance(network: BitcoinNetwork, address: String) -> u64 {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_utxos` is never used
[INFO] [stdout]   --> src/ic/utxo_api.rs:38:14
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub async fn get_utxos(network: BitcoinNetwork, address: String) -> GetUtxosResponse {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_transaction` is never used
[INFO] [stdout]   --> src/ic/utxo_api.rs:58:14
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub async fn send_transaction(network: BitcoinNetwork, transaction: Vec<u8>) {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET_BALANCE_COST_CYCLES` is never used
[INFO] [stdout]  --> src/ic/bitcoin_api.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const GET_BALANCE_COST_CYCLES: u64 = 100_000_000;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET_UTXOS_COST_CYCLES` is never used
[INFO] [stdout]   --> src/ic/bitcoin_api.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const GET_UTXOS_COST_CYCLES: u64 = 10_000_000_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_balance` is never used
[INFO] [stdout]   --> src/ic/bitcoin_api.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub async fn get_balance(network: BitcoinNetwork, address: String) -> u64 {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_utxos` is never used
[INFO] [stdout]   --> src/ic/bitcoin_api.rs:38:14
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub async fn get_utxos(network: BitcoinNetwork, address: String) -> GetUtxosResponse {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DUST_THRESHOLD` is never used
[INFO] [stdout]  --> src/psbt/gas.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const DUST_THRESHOLD: u64 = 330;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Utxo` is never constructed
[INFO] [stdout]  --> src/psbt/gas.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Utxo {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Output` is never constructed
[INFO] [stdout]   --> src/psbt/gas.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Output {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Script` is never constructed
[INFO] [stdout]   --> src/psbt/gas.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Script {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FeeCalculationResult` is never constructed
[INFO] [stdout]   --> src/psbt/gas.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct FeeCalculationResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InputType` is never used
[INFO] [stdout]   --> src/psbt/gas.rs:34:6
[INFO] [stdout]    |
[INFO] [stdout] 34 | enum InputType {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OutputType` is never used
[INFO] [stdout]   --> src/psbt/gas.rs:41:6
[INFO] [stdout]    |
[INFO] [stdout] 41 | enum OutputType {
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_input_type` is never used
[INFO] [stdout]   --> src/psbt/gas.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn get_input_type(address: &Option<String>) -> InputType {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_output_type` is never used
[INFO] [stdout]   --> src/psbt/gas.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn get_output_type(address: &Option<String>) -> OutputType {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_fee_and_change` is never used
[INFO] [stdout]   --> src/psbt/gas.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn calculate_fee_and_change(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_fee_p2tr_with_opreturn` is never used
[INFO] [stdout]    --> src/psbt/gas.rs:246:8
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub fn calculate_fee_p2tr_with_opreturn(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_utxos_by_alkaneid` is never used
[INFO] [stdout]    --> src/alkanes/alkanes_storage.rs:175:8
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub fn get_utxos_by_alkaneid(alkaneid: String) -> Vec<(String, AlkaneUtxoRecord)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `utxo_count` is never used
[INFO] [stdout]    --> src/alkanes/alkanes_storage.rs:209:8
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub fn utxo_count() -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count` is never used
[INFO] [stdout]    --> src/alkanes/alkanes_storage.rs:248:8
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub fn count() -> u64 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_leb128_u128` is never used
[INFO] [stdout]   --> src/alkanes/alkanes_data.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn read_leb128_u128(bytes: &[u8], idx: &mut usize) -> Option<u128> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unpack_u128_chunks_to_bytes` is never used
[INFO] [stdout]    --> src/alkanes/alkanes_data.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn unpack_u128_chunks_to_bytes(ints: &[u128]) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_edicts_from_body` is never used
[INFO] [stdout]    --> src/alkanes/alkanes_data.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn parse_edicts_from_body(ints: &[u128], mut idx: usize, end: usize) -> (Vec<super::alkanes_protostone::Edict>, usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_calldata` is never used
[INFO] [stdout]    --> src/alkanes/alkanes_data.rs:208:8
[INFO] [stdout]     |
[INFO] [stdout] 208 |     fn decode_calldata(data: &[u8]) -> Option<Vec<u8>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_protocol_chunks_to_ints` is never used
[INFO] [stdout]    --> src/alkanes/alkanes_data.rs:286:8
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn decode_protocol_chunks_to_ints(chunks: &[u128]) -> Vec<u128> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_protostones` is never used
[INFO] [stdout]    --> src/alkanes/alkanes_data.rs:302:12
[INFO] [stdout]     |
[INFO] [stdout] 302 |     pub fn parse_protostones(chunks: &[u128]) -> Vec<super::alkanes_protostone::Protostone> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_protostones_from_ints` is never used
[INFO] [stdout]    --> src/alkanes/alkanes_data.rs:307:12
[INFO] [stdout]     |
[INFO] [stdout] 307 |     pub fn parse_protostones_from_ints(ints: &[u128]) -> Vec<super::alkanes_protostone::Protostone> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CENOTAPH` is never used
[INFO] [stdout]   --> src/alkanes/alkanes_data.rs:39:19
[INFO] [stdout]    |
[INFO] [stdout] 39 |         pub const CENOTAPH: u128 = 126;
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NOP` is never used
[INFO] [stdout]   --> src/alkanes/alkanes_data.rs:40:19
[INFO] [stdout]    |
[INFO] [stdout] 40 |         pub const NOP: u128 = 127;
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `fomowell_alkanes_topup_address` should have an upper case name
[INFO] [stdout]   --> src/lib.rs:60:7
[INFO] [stdout]    |
[INFO] [stdout] 60 | const fomowell_alkanes_topup_address: &str = "fomowell-alkanes-topup-address";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 60 - const fomowell_alkanes_topup_address: &str = "fomowell-alkanes-topup-address";
[INFO] [stdout] 60 + const FOMOWELL_ALKANES_TOPUP_ADDRESS: &str = "fomowell-alkanes-topup-address";
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `fomowell_alkanes_fund_address` should have an upper case name
[INFO] [stdout]   --> src/lib.rs:61:7
[INFO] [stdout]    |
[INFO] [stdout] 61 | const fomowell_alkanes_fund_address: &str = "fomowell-alkanes-fund-address";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 61 - const fomowell_alkanes_fund_address: &str = "fomowell-alkanes-fund-address";
[INFO] [stdout] 61 + const FOMOWELL_ALKANES_FUND_ADDRESS: &str = "fomowell-alkanes-fund-address";
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `fomowell_btc_address` should have an upper case name
[INFO] [stdout]   --> src/lib.rs:62:7
[INFO] [stdout]    |
[INFO] [stdout] 62 | const fomowell_btc_address: &str = "fomowell-btc-address";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 62 - const fomowell_btc_address: &str = "fomowell-btc-address";
[INFO] [stdout] 62 + const FOMOWELL_BTC_ADDRESS: &str = "fomowell-btc-address";
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `PREVIOUS_TX_ID` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:374:9
[INFO] [stdout]     |
[INFO] [stdout] 374 |     let PREVIOUS_TX_ID = match PENDING_TX_ID.with(|id| id.borrow().clone()) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `previous_tx_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `query_fee_rate__res` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:924:9
[INFO] [stdout]     |
[INFO] [stdout] 924 |     let query_fee_rate__res = fee_canister.get_mempool_tx_fee_rate().await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_fee_rate_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `maxRecordsToArchive` should have a snake case name
[INFO] [stdout]   --> src/did/fomowell_token.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 |   pub maxRecordsToArchive: candid::Nat,
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `max_records_to_archive`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `maxArchivePages` should have a snake case name
[INFO] [stdout]   --> src/did/fomowell_token.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 |   pub maxArchivePages: candid::Nat,
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `max_archive_pages`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `settleToRecords` should have a snake case name
[INFO] [stdout]   --> src/did/fomowell_token.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 |   pub settleToRecords: candid::Nat,
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `settle_to_records`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `archiveCycles` should have a snake case name
[INFO] [stdout]   --> src/did/fomowell_token.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 |   pub archiveCycles: candid::Nat,
[INFO] [stdout]    |       ^^^^^^^^^^^^^ help: convert the identifier to snake case: `archive_cycles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `maxActiveRecords` should have a snake case name
[INFO] [stdout]   --> src/did/fomowell_token.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 |   pub maxActiveRecords: candid::Nat,
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `max_active_records`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `maxRecordsInArchiveInstance` should have a snake case name
[INFO] [stdout]   --> src/did/fomowell_token.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 |   pub maxRecordsInArchiveInstance: candid::Nat,
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `max_records_in_archive_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `archiveControllers` should have a snake case name
[INFO] [stdout]   --> src/did/fomowell_token.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 |   pub archiveControllers: Option<Option<Vec<Principal>>>,
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `archive_controllers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dateToMillis` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:239:7
[INFO] [stdout]     |
[INFO] [stdout] 239 |   pub dateToMillis: candid::Nat,
[INFO] [stdout]     |       ^^^^^^^^^^^^ help: convert the identifier to snake case: `date_to_millis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `dateFromMillis` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:241:7
[INFO] [stdout]     |
[INFO] [stdout] 241 |   pub dateFromMillis: candid::Nat,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `date_from_millis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `analyzeCount` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:249:7
[INFO] [stdout]     |
[INFO] [stdout] 249 |   pub analyzeCount: u32,
[INFO] [stdout]     |       ^^^^^^^^^^^^ help: convert the identifier to snake case: `analyze_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `messageRegex` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:250:7
[INFO] [stdout]     |
[INFO] [stdout] 250 |   pub messageRegex: Option<String>,
[INFO] [stdout]     |       ^^^^^^^^^^^^ help: convert the identifier to snake case: `message_regex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `messageContains` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:251:7
[INFO] [stdout]     |
[INFO] [stdout] 251 |   pub messageContains: Option<String>,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `message_contains`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `fromTimeNanos` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:258:7
[INFO] [stdout]     |
[INFO] [stdout] 258 |   pub fromTimeNanos: Option<u64>,
[INFO] [stdout]     |       ^^^^^^^^^^^^^ help: convert the identifier to snake case: `from_time_nanos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `upToTimeNanos` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:263:7
[INFO] [stdout]     |
[INFO] [stdout] 263 |   pub upToTimeNanos: Option<u64>,
[INFO] [stdout]     |       ^^^^^^^^^^^^^ help: convert the identifier to snake case: `up_to_time_nanos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `updateCalls` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:295:7
[INFO] [stdout]     |
[INFO] [stdout] 295 |   pub updateCalls: Vec<u64>,
[INFO] [stdout]     |       ^^^^^^^^^^^ help: convert the identifier to snake case: `update_calls`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `canisterHeapMemorySize` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:296:7
[INFO] [stdout]     |
[INFO] [stdout] 296 |   pub canisterHeapMemorySize: Vec<u64>,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `canister_heap_memory_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `canisterCycles` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:297:7
[INFO] [stdout]     |
[INFO] [stdout] 297 |   pub canisterCycles: Vec<u64>,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `canister_cycles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `canisterMemorySize` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:298:7
[INFO] [stdout]     |
[INFO] [stdout] 298 |   pub canisterMemorySize: Vec<u64>,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `canister_memory_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `timeMillis` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:299:7
[INFO] [stdout]     |
[INFO] [stdout] 299 |   pub timeMillis: candid::Int,
[INFO] [stdout]     |       ^^^^^^^^^^ help: convert the identifier to snake case: `time_millis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `updateCalls` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:313:7
[INFO] [stdout]     |
[INFO] [stdout] 313 |   pub updateCalls: u64,
[INFO] [stdout]     |       ^^^^^^^^^^^ help: convert the identifier to snake case: `update_calls`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `canisterHeapMemorySize` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:314:7
[INFO] [stdout]     |
[INFO] [stdout] 314 |   pub canisterHeapMemorySize: NumericEntity,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `canister_heap_memory_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `canisterCycles` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:315:7
[INFO] [stdout]     |
[INFO] [stdout] 315 |   pub canisterCycles: NumericEntity,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `canister_cycles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `canisterMemorySize` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:316:7
[INFO] [stdout]     |
[INFO] [stdout] 316 |   pub canisterMemorySize: NumericEntity,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `canister_memory_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `timeMillis` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:317:7
[INFO] [stdout]     |
[INFO] [stdout] 317 |   pub timeMillis: candid::Int,
[INFO] [stdout]     |       ^^^^^^^^^^ help: convert the identifier to snake case: `time_millis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastTimeNanos` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:345:7
[INFO] [stdout]     |
[INFO] [stdout] 345 |   pub lastTimeNanos: Option<u64>,
[INFO] [stdout]     |       ^^^^^^^^^^^^^ help: convert the identifier to snake case: `last_time_nanos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `firstTimeNanos` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:347:7
[INFO] [stdout]     |
[INFO] [stdout] 347 |   pub firstTimeNanos: Option<u64>,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `first_time_nanos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `timeNanos` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:351:33
[INFO] [stdout]     |
[INFO] [stdout] 351 | pub struct LogMessageData { pub timeNanos: u64, pub message: String }
[INFO] [stdout]     |                                 ^^^^^^^^^ help: convert the identifier to snake case: `time_nanos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastAnalyzedMessageTimeNanos` should have a snake case name
[INFO] [stdout]    --> src/did/fomowell_token.rs:356:7
[INFO] [stdout]     |
[INFO] [stdout] 356 |   pub lastAnalyzedMessageTimeNanos: Option<u64>,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `last_analyzed_message_time_nanos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `ic-stable-structures`
[INFO] [stderr]  --> Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | ic-stable-structures = "0.6.7"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `ic-stable-structures`
[INFO] [stderr] warning: `fomowelll` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 01s
[INFO] running `Command { std: "docker" "inspect" "8d591afd7830044886ee5e3bbd28ea71c265ed2a874f7a51af9bcb399d68bb84", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8d591afd7830044886ee5e3bbd28ea71c265ed2a874f7a51af9bcb399d68bb84", kill_on_drop: false }`
[INFO] [stdout] 8d591afd7830044886ee5e3bbd28ea71c265ed2a874f7a51af9bcb399d68bb84
