[INFO] cloning repository https://github.com/ICPExLabs/icpex_backend
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ICPExLabs/icpex_backend" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FICPExLabs%2Ficpex_backend", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FICPExLabs%2Ficpex_backend'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6853e9c09099910051b43cb657eed60460e003cc
[INFO] checking ICPExLabs/icpex_backend/6853e9c09099910051b43cb657eed60460e003cc against master#540f43a224317d894a9a0710a8d67704f179a33c for pr-155193
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FICPExLabs%2Ficpex_backend" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ICPExLabs/icpex_backend
[INFO] finished tweaking git repo https://github.com/ICPExLabs/icpex_backend
[INFO] tweaked toml for git repo https://github.com/ICPExLabs/icpex_backend written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ICPExLabs/icpex_backend on toolchain 540f43a224317d894a9a0710a8d67704f179a33c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+540f43a224317d894a9a0710a8d67704f179a33c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ICPExLabs/icpex_backend 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" "+540f43a224317d894a9a0710a8d67704f179a33c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tokio-macros v0.2.6
[INFO] [stderr]   Downloaded ic-ledger-types v0.7.0
[INFO] [stderr]   Downloaded mio-named-pipes v0.1.7
[INFO] [stderr]   Downloaded ic-cdk v0.10.1
[INFO] [stderr]   Downloaded logos v0.13.0
[INFO] [stderr]   Downloaded ic-stable-structures v0.5.6
[INFO] [stderr]   Downloaded multimap v0.9.0
[INFO] [stderr]   Downloaded lalrpop-util v0.20.0
[INFO] [stderr]   Downloaded logos-codegen v0.13.0
[INFO] [stderr]   Downloaded pretty v0.12.1
[INFO] [stderr]   Downloaded bigdecimal v0.4.1
[INFO] [stderr]   Downloaded ic-cdk-timers v0.4.0
[INFO] [stderr]   Downloaded assert-panic v1.0.1
[INFO] [stderr]   Downloaded ic-cdk-bindgen v0.1.0
[INFO] [stderr]   Downloaded candid_derive v0.6.2
[INFO] [stderr]   Downloaded ena v0.14.2
[INFO] [stderr]   Downloaded lalrpop v0.20.0
[INFO] [stderr]   Downloaded logos-derive v0.13.0
[INFO] [stderr]   Downloaded rustix v0.38.11
[INFO] [stderr]   Downloaded candid v0.9.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+540f43a224317d894a9a0710a8d67704f179a33c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 35836fc27f578eacc8b2c0c7a4041de469d4d0e9a1ad950246c7920c7873f412
[INFO] running `Command { std: "docker" "start" "-a" "35836fc27f578eacc8b2c0c7a4041de469d4d0e9a1ad950246c7920c7873f412", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "35836fc27f578eacc8b2c0c7a4041de469d4d0e9a1ad950246c7920c7873f412", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "35836fc27f578eacc8b2c0c7a4041de469d4d0e9a1ad950246c7920c7873f412", kill_on_drop: false }`
[INFO] [stdout] 35836fc27f578eacc8b2c0c7a4041de469d4d0e9a1ad950246c7920c7873f412
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+540f43a224317d894a9a0710a8d67704f179a33c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3609bc392fdf2a6000e18e2901b68ea4bf4b2a31806901ba2a4969f951cf7eb1
[INFO] running `Command { std: "docker" "start" "-a" "3609bc392fdf2a6000e18e2901b68ea4bf4b2a31806901ba2a4969f951cf7eb1", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]    Compiling lock_api v0.4.10
[INFO] [stderr]    Compiling hashbrown v0.14.0
[INFO] [stderr]    Compiling num-traits v0.2.16
[INFO] [stderr]    Compiling once_cell v1.18.0
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]    Compiling winnow v0.5.15
[INFO] [stderr]    Compiling toml_datetime v0.6.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.8
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]    Compiling rustix v0.38.11
[INFO] [stderr]    Compiling rustversion v1.0.14
[INFO] [stderr]    Compiling regex-syntax v0.7.5
[INFO] [stderr]    Compiling syn v2.0.31
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling smallvec v1.11.0
[INFO] [stderr]    Compiling typenum v1.16.0
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling bitflags v2.4.0
[INFO] [stderr]    Compiling thiserror v1.0.48
[INFO] [stderr]     Checking memchr v2.6.3
[INFO] [stderr]    Compiling linux-raw-sys v0.4.5
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.4
[INFO] [stderr]    Compiling paste v1.0.14
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling indexmap v2.0.0
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling ena v0.14.2
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling term v0.7.0
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]    Compiling string_cache v0.8.7
[INFO] [stderr]    Compiling unicode-xid v0.2.4
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]     Checking num-integer v0.1.45
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]    Compiling ascii-canvas v3.0.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling unicode-width v0.1.10
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]     Checking unicode-segmentation v1.10.1
[INFO] [stderr]     Checking termcolor v1.2.0
[INFO] [stderr]     Checking cpufeatures v0.2.9
[INFO] [stderr]    Compiling typed-arena v2.0.2
[INFO] [stderr]    Compiling petgraph v0.6.4
[INFO] [stderr]    Compiling is-terminal v0.4.9
[INFO] [stderr]    Compiling regex-automata v0.3.8
[INFO] [stderr]    Compiling candid v0.9.5
[INFO] [stderr]    Compiling codespan-reporting v0.11.1
[INFO] [stderr]     Checking pretty v0.12.1
[INFO] [stderr]    Compiling toml_edit v0.19.14
[INFO] [stderr]    Compiling sha2 v0.10.7
[INFO] [stderr]    Compiling psm v0.1.21
[INFO] [stderr]    Compiling stacker v0.1.15
[INFO] [stderr]    Compiling anyhow v1.0.75
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling data-encoding v2.4.0
[INFO] [stderr]    Compiling leb128 v0.2.5
[INFO] [stderr]     Checking lalrpop-util v0.20.0
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling libm v0.2.7
[INFO] [stderr]     Checking ic0 v0.18.11
[INFO] [stderr]     Checking concurrent-queue v2.2.0
[INFO] [stderr]    Compiling bigdecimal v0.4.1
[INFO] [stderr]     Checking parking v2.1.0
[INFO] [stderr]     Checking waker-fn v1.1.0
[INFO] [stderr]    Compiling regex v1.9.5
[INFO] [stderr]    Compiling logos-codegen v0.13.0
[INFO] [stderr]     Checking futures-lite v1.13.0
[INFO] [stderr]    Compiling rustix v0.37.23
[INFO] [stderr]     Checking io-lifetimes v1.0.11
[INFO] [stderr]     Checking async-task v4.4.0
[INFO] [stderr]     Checking ic-stable-structures v0.5.6
[INFO] [stderr]     Checking async-channel v1.9.0
[INFO] [stderr]     Checking polling v2.8.0
[INFO] [stderr]     Checking socket2 v0.4.9
[INFO] [stderr]     Checking atomic-waker v1.1.1
[INFO] [stderr]     Checking assert-panic v1.0.1
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.15
[INFO] [stderr]    Compiling lalrpop v0.20.0
[INFO] [stderr]     Checking miniz_oxide v0.7.4
[INFO] [stderr]    Compiling slotmap v1.0.6
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking weezl v0.1.8
[INFO] [stderr]     Checking net2 v0.2.39
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking flume v0.11.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.3
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking rayon-core v1.12.1
[INFO] [stderr]     Checking half v2.4.1
[INFO] [stderr]     Checking lebe v0.5.2
[INFO] [stderr]     Checking bit_field v0.10.2
[INFO] [stderr]     Checking bytemuck v1.16.1
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]     Checking async-executor v1.5.1
[INFO] [stderr]     Checking blocking v1.3.1
[INFO] [stderr]     Checking gif v0.13.1
[INFO] [stderr]     Checking flate2 v1.0.30
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.1
[INFO] [stderr]     Checking pin-project-lite v0.1.12
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking bytes v0.5.6
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking png v0.17.13
[INFO] [stderr]     Checking exr v1.72.0
[INFO] [stderr]     Checking mio-uds v0.6.8
[INFO] [stderr]    Compiling serde_derive v1.0.188
[INFO] [stderr]    Compiling thiserror-impl v1.0.48
[INFO] [stderr]    Compiling candid_derive v0.6.2
[INFO] [stderr]    Compiling futures-macro v0.3.28
[INFO] [stderr]    Compiling logos-derive v0.13.0
[INFO] [stderr]    Compiling num_enum_derive v0.6.1
[INFO] [stderr]     Checking logos v0.13.0
[INFO] [stderr]    Compiling binread_derive v2.1.0
[INFO] [stderr]    Compiling async-attributes v1.1.2
[INFO] [stderr]    Compiling tokio-macros v0.2.6
[INFO] [stderr]     Checking tokio v0.2.25
[INFO] [stderr]    Compiling num_enum v0.6.1
[INFO] [stderr]     Checking futures-util v0.3.28
[INFO] [stderr]     Checking async-io v1.13.0
[INFO] [stderr]     Checking async-global-executor v2.3.1
[INFO] [stderr]     Checking async-std v1.12.0
[INFO] [stderr]     Checking binread v2.2.0
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]     Checking serde v1.0.188
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]     Checking futures-executor v0.3.28
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking futures v0.3.28
[INFO] [stderr]     Checking serde_bytes v0.11.14
[INFO] [stderr]     Checking serde_json v1.0.105
[INFO] [stderr]     Checking multimap v0.9.0
[INFO] [stderr]    Compiling serde_tokenstream v0.1.7
[INFO] [stderr]    Compiling ic-cdk-macros v0.7.1
[INFO] [stderr]     Checking ic-cdk-bindgen v0.1.0
[INFO] [stderr]     Checking ic-cdk v0.10.1
[INFO] [stderr]     Checking ic-ledger-types v0.7.0
[INFO] [stderr]     Checking ic-cdk-timers v0.4.0
[INFO] [stderr]     Checking icpl_lib v0.1.0 (/opt/rustwide/workdir/src/icpl_lib)
[INFO] [stdout] warning: unused imports: `Builder` and `Config`
[INFO] [stdout]  --> src/icpl_lib/src/interface/ioracle.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ic_cdk_bindgen::{Builder, Config};
[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: `crate::types::common_types::PrincipalSet`
[INFO] [stdout]  --> src/icpl_lib/src/interface/irouter.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::types::common_types::PrincipalSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `candid::parser::token::Token`
[INFO] [stdout]  --> src/icpl_lib/src/interface/itoken.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use candid::parser::token::Token;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `performance_counter`
[INFO] [stdout]  --> src/icpl_lib/src/interface/itoken.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ic_cdk::api::call::{performance_counter, CallResult, RejectionCode};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ic_ledger_types::Operation::Approve`
[INFO] [stdout]  --> src/icpl_lib/src/interface/itoken.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ic_ledger_types::Operation::Approve;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AccountIdentifier` and `Subaccount`
[INFO] [stdout]  --> src/icpl_lib/src/interface/itoken.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ic_ledger_types::{AccountIdentifier, Subaccount};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/icpl_lib/src/interface/itoken.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> src/icpl_lib/src/interface/itoken.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::SubAssign`
[INFO] [stdout]   --> src/icpl_lib/src/interface/itoken.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::ops::SubAssign;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LockResult`
[INFO] [stdout]   --> src/icpl_lib/src/interface/itoken.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::sync::{LockResult, RwLock};
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nat_from`
[INFO] [stdout]   --> src/icpl_lib/src/interface/itoken.rs:15:43
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::ic_utils::{min_cycles, nat_18, nat_from, nat_to_u64, nat_to_u8, new_zero};
[INFO] [stdout]    |                                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NatToToken`, `TransferError`, `TransferFromError`, and `principal_to_account`
[INFO] [stdout]   --> src/icpl_lib/src/interface/itoken.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     principal_to_account, principal_to_subaccount, Account, ICRC2AllowanceArg,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     ICRC2AllowanceResult, ICRC2TransferArg, MetadataICRC1, NatToToken, TransferArg, TransferError,
[INFO] [stdout]    |                                                            ^^^^^^^^^^               ^^^^^^^^^^^^^
[INFO] [stdout] 26 |     TransferFromError, TransferFromResult, TransferResult,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:135:16
[INFO] [stdout]     |
[INFO] [stdout] 135 |             if (time > outtime) {
[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] 135 -             if (time > outtime) {
[INFO] [stdout] 135 +             if time > outtime  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:568:12
[INFO] [stdout]     |
[INFO] [stdout] 568 |         if (amount == new_zero()) {
[INFO] [stdout]     |            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 568 -         if (amount == new_zero()) {
[INFO] [stdout] 568 +         if amount == new_zero()  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:609:27
[INFO] [stdout]     |
[INFO] [stdout] 609 |                 let fee = (amount.clone() - actual_amount);
[INFO] [stdout]     |                           ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 609 -                 let fee = (amount.clone() - actual_amount);
[INFO] [stdout] 609 +                 let fee = amount.clone() - actual_amount ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:621:38
[INFO] [stdout]     |
[INFO] [stdout] 621 |                 let receive_amount = (amount.clone() - fee);
[INFO] [stdout]     |                                      ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 621 -                 let receive_amount = (amount.clone() - fee);
[INFO] [stdout] 621 +                 let receive_amount = amount.clone() - fee ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:638:38
[INFO] [stdout]     |
[INFO] [stdout] 638 |                 let receive_amount = (amount.clone() - fee);
[INFO] [stdout]     |                                      ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 638 -                 let receive_amount = (amount.clone() - fee);
[INFO] [stdout] 638 +                 let receive_amount = amount.clone() - fee ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:678:27
[INFO] [stdout]     |
[INFO] [stdout] 678 |                 let fee = (amount.clone() - actual_amount);
[INFO] [stdout]     |                           ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 678 -                 let fee = (amount.clone() - actual_amount);
[INFO] [stdout] 678 +                 let fee = amount.clone() - actual_amount ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:690:38
[INFO] [stdout]     |
[INFO] [stdout] 690 |                 let receive_amount = (amount.clone() - fee);
[INFO] [stdout]     |                                      ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 690 -                 let receive_amount = (amount.clone() - fee);
[INFO] [stdout] 690 +                 let receive_amount = amount.clone() - fee ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:698:12
[INFO] [stdout]     |
[INFO] [stdout] 698 |         if (amount == new_zero()) {
[INFO] [stdout]     |            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 698 -         if (amount == new_zero()) {
[INFO] [stdout] 698 +         if amount == new_zero()  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `nat_to_u64` and `new_zero`
[INFO] [stdout]  --> src/icpl_lib/src/interface/itx.rs:2:35
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::ic_utils::{div_to_f64, nat_to_u64, new_zero, print};
[INFO] [stdout]   |                                   ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::interface::ioracle::IOracle`
[INFO] [stdout]  --> src/icpl_lib/src/interface/itx.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::interface::ioracle::IOracle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IToken`
[INFO] [stdout]  --> src/icpl_lib/src/interface/itx.rs:4:44
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::interface::itoken::{AddrConfig, IToken};
[INFO] [stdout]   |                                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `candid::parser::token::Token::Decimal`
[INFO] [stdout]  --> src/icpl_lib/src/interface/itx.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use candid::parser::token::Token::Decimal;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Int`
[INFO] [stdout]  --> src/icpl_lib/src/interface/itx.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | use candid::{Int, Nat, Principal};
[INFO] [stdout]   |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Div` and `Mul`
[INFO] [stdout]  --> src/icpl_lib/src/interface/itx.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::{Div, Mul};
[INFO] [stdout]   |                ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]  --> src/icpl_lib/src/pmm.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::Any;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/icpl_lib/src/pmm.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/icpl_lib/src/pmm.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nat_from`
[INFO] [stdout]   --> src/icpl_lib/src/pmm.rs:10:39
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::ic_utils::{nat_18, nat_36, nat_from, new_zero};
[INFO] [stdout]    |                                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/icpl_lib/src/pmm.rs:678:12
[INFO] [stdout]     |
[INFO] [stdout] 678 |         if (self.after_decimals >= self.before_decimals) {
[INFO] [stdout]     |            ^                                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 678 -         if (self.after_decimals >= self.before_decimals) {
[INFO] [stdout] 678 +         if self.after_decimals >= self.before_decimals  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `div_floor`
[INFO] [stdout]  --> src/icpl_lib/src/token/dip20.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::pmm::{div_floor, mul_floor};
[INFO] [stdout]   |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `SubAccount__1` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:22:6
[INFO] [stdout]    |
[INFO] [stdout] 22 | type SubAccount__1 = Vec<u8>;
[INFO] [stdout]    |      ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SubAccount1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `AccountIdentifier__1` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:24:6
[INFO] [stdout]    |
[INFO] [stdout] 24 | type AccountIdentifier__1 = String;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AccountIdentifier1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `principal` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     principal(candid::Principal),
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `Principal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `address` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     address(AccountIdentifier),
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `Address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CommonError__1` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:49:6
[INFO] [stdout]    |
[INFO] [stdout] 49 | enum CommonError__1 {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CommonError1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ok` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     ok(Balance),
[INFO] [stdout]    |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `Ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `err` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     err(CommonError__1),
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case: `Err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TokenIdentifier__1` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:60:6
[INFO] [stdout]    |
[INFO] [stdout] 60 | type TokenIdentifier__1 = String;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenIdentifier1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Result_7` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:68:6
[INFO] [stdout]    |
[INFO] [stdout] 68 | enum Result_7 {
[INFO] [stdout]    |      ^^^^^^^^ help: convert the identifier to upper camel case: `Result7`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ok` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     ok(AccountIdentifier__1),
[INFO] [stdout]    |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `Ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `err` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     err(CommonError),
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case: `Err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Result_8` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:82:6
[INFO] [stdout]    |
[INFO] [stdout] 82 | enum Result_8 {
[INFO] [stdout]    |      ^^^^^^^^ help: convert the identifier to upper camel case: `Result8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ok` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     ok(AccountIdentifier__1, Option<Listing>),
[INFO] [stdout]    |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `Ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `err` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     err(CommonError),
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case: `Err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Result_4` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:90:6
[INFO] [stdout]    |
[INFO] [stdout] 90 | enum Result_4 {
[INFO] [stdout]    |      ^^^^^^^^ help: convert the identifier to upper camel case: `Result4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ok` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     ok,
[INFO] [stdout]    |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `Ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `err` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     err(String),
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case: `Err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Result_3` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:103:6
[INFO] [stdout]     |
[INFO] [stdout] 103 | enum Result_3 {
[INFO] [stdout]     |      ^^^^^^^^ help: convert the identifier to upper camel case: `Result3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ok` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     ok,
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `Ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `err` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     err(CommonError),
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case: `Err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `fungible` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fungible {
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Fungible`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `nonfungible` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     nonfungible {
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `Nonfungible`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Result_6` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:122:6
[INFO] [stdout]     |
[INFO] [stdout] 122 | enum Result_6 {
[INFO] [stdout]     |      ^^^^^^^^ help: convert the identifier to upper camel case: `Result6`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ok` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     ok(Metadata),
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `Ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `err` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     err(CommonError),
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case: `Err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Result_5` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:128:6
[INFO] [stdout]     |
[INFO] [stdout] 128 | enum Result_5 {
[INFO] [stdout]     |      ^^^^^^^^ help: convert the identifier to upper camel case: `Result5`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ok` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     ok(AccountIdentifier__1, u64),
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `Ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `err` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     err(String),
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case: `Err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Balance__1` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:151:6
[INFO] [stdout]     |
[INFO] [stdout] 151 | type Balance__1 = candid::Nat;
[INFO] [stdout]     |      ^^^^^^^^^^ help: convert the identifier to upper camel case: `Balance1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Result_2` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:153:6
[INFO] [stdout]     |
[INFO] [stdout] 153 | enum Result_2 {
[INFO] [stdout]     |      ^^^^^^^^ help: convert the identifier to upper camel case: `Result2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ok` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     ok(Balance__1),
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `Ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `err` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 |     err(CommonError),
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case: `Err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Result_1` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:159:6
[INFO] [stdout]     |
[INFO] [stdout] 159 | enum Result_1 {
[INFO] [stdout]     |      ^^^^^^^^ help: convert the identifier to upper camel case: `Result1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ok` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 |     ok(Vec<TokenIndex>),
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `Ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `err` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 |     err(CommonError),
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case: `Err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ok` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 166 |     ok(Vec<(TokenIndex, Option<Listing>, Option<Vec<u8>>)>),
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `Ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `err` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     err(CommonError),
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case: `Err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TransferResponse_err` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:193:6
[INFO] [stdout]     |
[INFO] [stdout] 193 | enum TransferResponse_err {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TransferResponseErr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ok` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:204:5
[INFO] [stdout]     |
[INFO] [stdout] 204 |     ok(Balance),
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `Ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `err` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:205:5
[INFO] [stdout]     |
[INFO] [stdout] 205 |     err(TransferResponse_err),
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case: `Err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryInto`
[INFO] [stdout]  --> src/icpl_lib/src/types/common_types.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::convert::{TryFrom, TryInto};
[INFO] [stdout]   |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AccountIdentifier`, `Subaccount`, and `Tokens`
[INFO] [stdout]  --> src/icpl_lib/src/types/icrc2_type.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ic_ledger_types::{AccountIdentifier, Subaccount, Tokens};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/icpl_lib/src/types/icrc2_type.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ic_utils::new_zero`
[INFO] [stdout]  --> src/icpl_lib/src/types/icrc2_type.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::ic_utils::new_zero;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_bigint::BigUint`
[INFO] [stdout]  --> src/icpl_lib/src/types/icrc2_type.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use num_bigint::BigUint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CREATE_BASE_INPUT` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/types/pool.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     CREATE_BASE_INPUT,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CreateBaseInput`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CREATE_QUOTE_INPUT` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/types/pool.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     CREATE_QUOTE_INPUT,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CreateQuoteInput`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ROLLBACK_UNDONE` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/types/pool.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     ROLLBACK_UNDONE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RollbackUndone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ROLLBACK_DONE` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/types/pool.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     ROLLBACK_DONE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RollbackDone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/icpl_lib/src/types/swap.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `VecDeque`
[INFO] [stdout]  --> src/icpl_lib/src/types/swap.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{HashMap, VecDeque};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/icpl_lib/src/types/swap.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Add`, `Div`, and `Mul`
[INFO] [stdout]  --> src/icpl_lib/src/types/swap.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{Add, Div, Mul};
[INFO] [stdout]   |                ^^^  ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::panic`
[INFO] [stdout]  --> src/icpl_lib/src/types/swap.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::panic;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `hash` and `null`
[INFO] [stdout]  --> src/icpl_lib/src/types/swap.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ptr::{hash, null};
[INFO] [stdout]   |                ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/icpl_lib/src/types/swap.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Decode`, `Encode`, `Int`, `candid_method`, and `encode_args`
[INFO] [stdout]   --> src/icpl_lib/src/types/swap.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     candid_method, encode_args, CandidType, Decode, Deserialize, Encode, Int, Nat, Principal,
[INFO] [stdout]    |     ^^^^^^^^^^^^^  ^^^^^^^^^^^              ^^^^^^               ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ic_cdk::api::call::CallResult`
[INFO] [stdout]   --> src/icpl_lib/src/types/swap.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use ic_cdk::api::call::CallResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `caller`, `id`, and `print`
[INFO] [stdout]   --> src/icpl_lib/src/types/swap.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 | use ic_cdk::{caller, id, print};
[INFO] [stdout]    |              ^^^^^^  ^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `nat_18`, `nat_from`, `new_zero`, and `throw`
[INFO] [stdout]   --> src/icpl_lib/src/types/swap.rs:17:23
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::ic_utils::{nat_18, nat_from, new_zero, throw};
[INFO] [stdout]    |                       ^^^^^^  ^^^^^^^^  ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ic_utils::new_zero`
[INFO] [stdout]  --> src/icpl_lib/src/types/token.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::ic_utils::new_zero;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Builder` and `Config`
[INFO] [stdout]  --> src/icpl_lib/src/interface/ioracle.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ic_cdk_bindgen::{Builder, Config};
[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: `crate::types::common_types::PrincipalSet`
[INFO] [stdout]  --> src/icpl_lib/src/interface/irouter.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::types::common_types::PrincipalSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `candid::parser::token::Token`
[INFO] [stdout]  --> src/icpl_lib/src/interface/itoken.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use candid::parser::token::Token;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `performance_counter`
[INFO] [stdout]  --> src/icpl_lib/src/interface/itoken.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ic_cdk::api::call::{performance_counter, CallResult, RejectionCode};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ic_ledger_types::Operation::Approve`
[INFO] [stdout]  --> src/icpl_lib/src/interface/itoken.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ic_ledger_types::Operation::Approve;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AccountIdentifier` and `Subaccount`
[INFO] [stdout]  --> src/icpl_lib/src/interface/itoken.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ic_ledger_types::{AccountIdentifier, Subaccount};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/icpl_lib/src/interface/itoken.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> src/icpl_lib/src/interface/itoken.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::SubAssign`
[INFO] [stdout]   --> src/icpl_lib/src/interface/itoken.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::ops::SubAssign;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LockResult`
[INFO] [stdout]   --> src/icpl_lib/src/interface/itoken.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::sync::{LockResult, RwLock};
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nat_from`
[INFO] [stdout]   --> src/icpl_lib/src/interface/itoken.rs:15:43
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::ic_utils::{min_cycles, nat_18, nat_from, nat_to_u64, nat_to_u8, new_zero};
[INFO] [stdout]    |                                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NatToToken`, `TransferError`, `TransferFromError`, and `principal_to_account`
[INFO] [stdout]   --> src/icpl_lib/src/interface/itoken.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     principal_to_account, principal_to_subaccount, Account, ICRC2AllowanceArg,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     ICRC2AllowanceResult, ICRC2TransferArg, MetadataICRC1, NatToToken, TransferArg, TransferError,
[INFO] [stdout]    |                                                            ^^^^^^^^^^               ^^^^^^^^^^^^^
[INFO] [stdout] 26 |     TransferFromError, TransferFromResult, TransferResult,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:135:16
[INFO] [stdout]     |
[INFO] [stdout] 135 |             if (time > outtime) {
[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] 135 -             if (time > outtime) {
[INFO] [stdout] 135 +             if time > outtime  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:568:12
[INFO] [stdout]     |
[INFO] [stdout] 568 |         if (amount == new_zero()) {
[INFO] [stdout]     |            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 568 -         if (amount == new_zero()) {
[INFO] [stdout] 568 +         if amount == new_zero()  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:609:27
[INFO] [stdout]     |
[INFO] [stdout] 609 |                 let fee = (amount.clone() - actual_amount);
[INFO] [stdout]     |                           ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 609 -                 let fee = (amount.clone() - actual_amount);
[INFO] [stdout] 609 +                 let fee = amount.clone() - actual_amount ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:621:38
[INFO] [stdout]     |
[INFO] [stdout] 621 |                 let receive_amount = (amount.clone() - fee);
[INFO] [stdout]     |                                      ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 621 -                 let receive_amount = (amount.clone() - fee);
[INFO] [stdout] 621 +                 let receive_amount = amount.clone() - fee ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:638:38
[INFO] [stdout]     |
[INFO] [stdout] 638 |                 let receive_amount = (amount.clone() - fee);
[INFO] [stdout]     |                                      ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 638 -                 let receive_amount = (amount.clone() - fee);
[INFO] [stdout] 638 +                 let receive_amount = amount.clone() - fee ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:678:27
[INFO] [stdout]     |
[INFO] [stdout] 678 |                 let fee = (amount.clone() - actual_amount);
[INFO] [stdout]     |                           ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 678 -                 let fee = (amount.clone() - actual_amount);
[INFO] [stdout] 678 +                 let fee = amount.clone() - actual_amount ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:690:38
[INFO] [stdout]     |
[INFO] [stdout] 690 |                 let receive_amount = (amount.clone() - fee);
[INFO] [stdout]     |                                      ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 690 -                 let receive_amount = (amount.clone() - fee);
[INFO] [stdout] 690 +                 let receive_amount = amount.clone() - fee ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:698:12
[INFO] [stdout]     |
[INFO] [stdout] 698 |         if (amount == new_zero()) {
[INFO] [stdout]     |            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 698 -         if (amount == new_zero()) {
[INFO] [stdout] 698 +         if amount == new_zero()  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `nat_to_u64` and `new_zero`
[INFO] [stdout]  --> src/icpl_lib/src/interface/itx.rs:2:35
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::ic_utils::{div_to_f64, nat_to_u64, new_zero, print};
[INFO] [stdout]   |                                   ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::interface::ioracle::IOracle`
[INFO] [stdout]  --> src/icpl_lib/src/interface/itx.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::interface::ioracle::IOracle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IToken`
[INFO] [stdout]  --> src/icpl_lib/src/interface/itx.rs:4:44
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::interface::itoken::{AddrConfig, IToken};
[INFO] [stdout]   |                                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `candid::parser::token::Token::Decimal`
[INFO] [stdout]  --> src/icpl_lib/src/interface/itx.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use candid::parser::token::Token::Decimal;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Int`
[INFO] [stdout]  --> src/icpl_lib/src/interface/itx.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | use candid::{Int, Nat, Principal};
[INFO] [stdout]   |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Div` and `Mul`
[INFO] [stdout]  --> src/icpl_lib/src/interface/itx.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::{Div, Mul};
[INFO] [stdout]   |                ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]  --> src/icpl_lib/src/pmm.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::Any;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/icpl_lib/src/pmm.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/icpl_lib/src/pmm.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nat_from`
[INFO] [stdout]   --> src/icpl_lib/src/pmm.rs:10:39
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::ic_utils::{nat_18, nat_36, nat_from, new_zero};
[INFO] [stdout]    |                                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/icpl_lib/src/pmm.rs:678:12
[INFO] [stdout]     |
[INFO] [stdout] 678 |         if (self.after_decimals >= self.before_decimals) {
[INFO] [stdout]     |            ^                                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 678 -         if (self.after_decimals >= self.before_decimals) {
[INFO] [stdout] 678 +         if self.after_decimals >= self.before_decimals  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `div_floor`
[INFO] [stdout]  --> src/icpl_lib/src/token/dip20.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::pmm::{div_floor, mul_floor};
[INFO] [stdout]   |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `SubAccount__1` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:22:6
[INFO] [stdout]    |
[INFO] [stdout] 22 | type SubAccount__1 = Vec<u8>;
[INFO] [stdout]    |      ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SubAccount1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `AccountIdentifier__1` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:24:6
[INFO] [stdout]    |
[INFO] [stdout] 24 | type AccountIdentifier__1 = String;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AccountIdentifier1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `principal` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     principal(candid::Principal),
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `Principal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `address` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     address(AccountIdentifier),
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `Address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CommonError__1` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:49:6
[INFO] [stdout]    |
[INFO] [stdout] 49 | enum CommonError__1 {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CommonError1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ok` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     ok(Balance),
[INFO] [stdout]    |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `Ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `err` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     err(CommonError__1),
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case: `Err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TokenIdentifier__1` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:60:6
[INFO] [stdout]    |
[INFO] [stdout] 60 | type TokenIdentifier__1 = String;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenIdentifier1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Result_7` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:68:6
[INFO] [stdout]    |
[INFO] [stdout] 68 | enum Result_7 {
[INFO] [stdout]    |      ^^^^^^^^ help: convert the identifier to upper camel case: `Result7`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ok` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     ok(AccountIdentifier__1),
[INFO] [stdout]    |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `Ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `err` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     err(CommonError),
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case: `Err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Result_8` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:82:6
[INFO] [stdout]    |
[INFO] [stdout] 82 | enum Result_8 {
[INFO] [stdout]    |      ^^^^^^^^ help: convert the identifier to upper camel case: `Result8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ok` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     ok(AccountIdentifier__1, Option<Listing>),
[INFO] [stdout]    |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `Ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `err` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     err(CommonError),
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case: `Err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Result_4` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:90:6
[INFO] [stdout]    |
[INFO] [stdout] 90 | enum Result_4 {
[INFO] [stdout]    |      ^^^^^^^^ help: convert the identifier to upper camel case: `Result4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ok` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     ok,
[INFO] [stdout]    |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `Ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `err` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/token/ext.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     err(String),
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case: `Err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Result_3` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:103:6
[INFO] [stdout]     |
[INFO] [stdout] 103 | enum Result_3 {
[INFO] [stdout]     |      ^^^^^^^^ help: convert the identifier to upper camel case: `Result3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ok` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     ok,
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `Ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `err` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     err(CommonError),
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case: `Err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `fungible` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fungible {
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Fungible`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `nonfungible` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     nonfungible {
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `Nonfungible`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Result_6` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:122:6
[INFO] [stdout]     |
[INFO] [stdout] 122 | enum Result_6 {
[INFO] [stdout]     |      ^^^^^^^^ help: convert the identifier to upper camel case: `Result6`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ok` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     ok(Metadata),
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `Ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `err` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     err(CommonError),
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case: `Err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Result_5` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:128:6
[INFO] [stdout]     |
[INFO] [stdout] 128 | enum Result_5 {
[INFO] [stdout]     |      ^^^^^^^^ help: convert the identifier to upper camel case: `Result5`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ok` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     ok(AccountIdentifier__1, u64),
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `Ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `err` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     err(String),
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case: `Err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Balance__1` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:151:6
[INFO] [stdout]     |
[INFO] [stdout] 151 | type Balance__1 = candid::Nat;
[INFO] [stdout]     |      ^^^^^^^^^^ help: convert the identifier to upper camel case: `Balance1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Result_2` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:153:6
[INFO] [stdout]     |
[INFO] [stdout] 153 | enum Result_2 {
[INFO] [stdout]     |      ^^^^^^^^ help: convert the identifier to upper camel case: `Result2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ok` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     ok(Balance__1),
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `Ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `err` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 |     err(CommonError),
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case: `Err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Result_1` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:159:6
[INFO] [stdout]     |
[INFO] [stdout] 159 | enum Result_1 {
[INFO] [stdout]     |      ^^^^^^^^ help: convert the identifier to upper camel case: `Result1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ok` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 |     ok(Vec<TokenIndex>),
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `Ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `err` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 |     err(CommonError),
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case: `Err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ok` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 166 |     ok(Vec<(TokenIndex, Option<Listing>, Option<Vec<u8>>)>),
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `Ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `err` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     err(CommonError),
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case: `Err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TransferResponse_err` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:193:6
[INFO] [stdout]     |
[INFO] [stdout] 193 | enum TransferResponse_err {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TransferResponseErr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ok` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:204:5
[INFO] [stdout]     |
[INFO] [stdout] 204 |     ok(Balance),
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `Ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `err` should have an upper camel case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:205:5
[INFO] [stdout]     |
[INFO] [stdout] 205 |     err(TransferResponse_err),
[INFO] [stdout]     |     ^^^ help: convert the identifier to upper camel case: `Err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryInto`
[INFO] [stdout]  --> src/icpl_lib/src/types/common_types.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::convert::{TryFrom, TryInto};
[INFO] [stdout]   |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AccountIdentifier`, `Subaccount`, and `Tokens`
[INFO] [stdout]  --> src/icpl_lib/src/types/icrc2_type.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ic_ledger_types::{AccountIdentifier, Subaccount, Tokens};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/icpl_lib/src/types/icrc2_type.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ic_utils::new_zero`
[INFO] [stdout]  --> src/icpl_lib/src/types/icrc2_type.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::ic_utils::new_zero;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_bigint::BigUint`
[INFO] [stdout]  --> src/icpl_lib/src/types/icrc2_type.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use num_bigint::BigUint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CREATE_BASE_INPUT` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/types/pool.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     CREATE_BASE_INPUT,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CreateBaseInput`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CREATE_QUOTE_INPUT` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/types/pool.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     CREATE_QUOTE_INPUT,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CreateQuoteInput`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ROLLBACK_UNDONE` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/types/pool.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     ROLLBACK_UNDONE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RollbackUndone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ROLLBACK_DONE` should have an upper camel case name
[INFO] [stdout]   --> src/icpl_lib/src/types/pool.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     ROLLBACK_DONE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RollbackDone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/icpl_lib/src/types/swap.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `VecDeque`
[INFO] [stdout]  --> src/icpl_lib/src/types/swap.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{HashMap, VecDeque};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/icpl_lib/src/types/swap.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Add`, `Div`, and `Mul`
[INFO] [stdout]  --> src/icpl_lib/src/types/swap.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{Add, Div, Mul};
[INFO] [stdout]   |                ^^^  ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::panic`
[INFO] [stdout]  --> src/icpl_lib/src/types/swap.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::panic;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `hash` and `null`
[INFO] [stdout]  --> src/icpl_lib/src/types/swap.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ptr::{hash, null};
[INFO] [stdout]   |                ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/icpl_lib/src/types/swap.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Decode`, `Encode`, `Int`, `candid_method`, and `encode_args`
[INFO] [stdout]   --> src/icpl_lib/src/types/swap.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     candid_method, encode_args, CandidType, Decode, Deserialize, Encode, Int, Nat, Principal,
[INFO] [stdout]    |     ^^^^^^^^^^^^^  ^^^^^^^^^^^              ^^^^^^               ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ic_cdk::api::call::CallResult`
[INFO] [stdout]   --> src/icpl_lib/src/types/swap.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use ic_cdk::api::call::CallResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `caller`, `id`, and `print`
[INFO] [stdout]   --> src/icpl_lib/src/types/swap.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 | use ic_cdk::{caller, id, print};
[INFO] [stdout]    |              ^^^^^^  ^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `nat_18`, `nat_from`, `new_zero`, and `throw`
[INFO] [stdout]   --> src/icpl_lib/src/types/swap.rs:17:23
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::ic_utils::{nat_18, nat_from, new_zero, throw};
[INFO] [stdout]    |                       ^^^^^^  ^^^^^^^^  ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ic_utils::new_zero`
[INFO] [stdout]  --> src/icpl_lib/src/types/token.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::ic_utils::new_zero;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:374:17
[INFO] [stdout]     |
[INFO] [stdout] 374 |             Err(v) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:500:17
[INFO] [stdout]     |
[INFO] [stdout] 500 |             Err(e) => Err("not platform token".to_string()),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `molecular` is never read
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:575:37
[INFO] [stdout]     |
[INFO] [stdout] 575 |                 let mut molecular = new_zero();
[INFO] [stdout]     |                                     ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 586 |                     molecular = full_amount;
[INFO] [stdout]     |                     --------- `molecular` 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: value assigned to `denominator` is never read
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:576:39
[INFO] [stdout]     |
[INFO] [stdout] 576 |                 let mut denominator = new_zero();
[INFO] [stdout]     |                                       ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 587 |                     denominator = nat_18() + fee_info.fee_rate.clone();
[INFO] [stdout]     |                     ----------- `denominator` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `molecular` is never read
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:644:37
[INFO] [stdout]     |
[INFO] [stdout] 644 |                 let mut molecular = new_zero();
[INFO] [stdout]     |                                     ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 655 |                     molecular = full_amount;
[INFO] [stdout]     |                     --------- `molecular` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `denominator` is never read
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:645:39
[INFO] [stdout]     |
[INFO] [stdout] 645 |                 let mut denominator = new_zero();
[INFO] [stdout]     |                                       ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 656 |                     denominator = nat_18() + fee_info.fee_rate.clone();
[INFO] [stdout]     |                     ----------- `denominator` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:719:28
[INFO] [stdout]     |
[INFO] [stdout] 719 |                         Ok(v) => Ok(()),
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1075:37
[INFO] [stdout]      |
[INFO] [stdout] 1075 | ...                   Err(e) => 0u8,
[INFO] [stdout]      |                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1095:45
[INFO] [stdout]      |
[INFO] [stdout] 1095 |                         MetadataICRC1::Blob(v) => {}
[INFO] [stdout]      |                                             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `molecular` is never read
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1192:25
[INFO] [stdout]      |
[INFO] [stdout] 1192 |     let mut molecular = new_zero();
[INFO] [stdout]      |                         ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1206 |         molecular = full_amount;
[INFO] [stdout]      |         --------- `molecular` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `denominator` is never read
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1193:27
[INFO] [stdout]      |
[INFO] [stdout] 1193 |     let mut denominator = new_zero();
[INFO] [stdout]      |                           ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1207 |         denominator = nat_18() + fee_info.fee_rate.clone();
[INFO] [stdout]      |         ----------- `denominator` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/icpl_lib/src/interface/itx.rs:189:12
[INFO] [stdout]     |
[INFO] [stdout] 189 |         Ok(v) => {
[INFO] [stdout]     |            ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/icpl_lib/src/pmm.rs:329:13
[INFO] [stdout]     |
[INFO] [stdout] 329 |         let mut receive_base_amount = _solve_quadratic_function_for_trade(
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/icpl_lib/src/token/dip20.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let mut fee = if self.flat_fee {
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:374:17
[INFO] [stdout]     |
[INFO] [stdout] 374 |             Err(v) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:500:17
[INFO] [stdout]     |
[INFO] [stdout] 500 |             Err(e) => Err("not platform token".to_string()),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `molecular` is never read
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:575:37
[INFO] [stdout]     |
[INFO] [stdout] 575 |                 let mut molecular = new_zero();
[INFO] [stdout]     |                                     ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 586 |                     molecular = full_amount;
[INFO] [stdout]     |                     --------- `molecular` 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: value assigned to `denominator` is never read
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:576:39
[INFO] [stdout]     |
[INFO] [stdout] 576 |                 let mut denominator = new_zero();
[INFO] [stdout]     |                                       ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 587 |                     denominator = nat_18() + fee_info.fee_rate.clone();
[INFO] [stdout]     |                     ----------- `denominator` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `molecular` is never read
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:644:37
[INFO] [stdout]     |
[INFO] [stdout] 644 |                 let mut molecular = new_zero();
[INFO] [stdout]     |                                     ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 655 |                     molecular = full_amount;
[INFO] [stdout]     |                     --------- `molecular` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `denominator` is never read
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:645:39
[INFO] [stdout]     |
[INFO] [stdout] 645 |                 let mut denominator = new_zero();
[INFO] [stdout]     |                                       ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 656 |                     denominator = nat_18() + fee_info.fee_rate.clone();
[INFO] [stdout]     |                     ----------- `denominator` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:719:28
[INFO] [stdout]     |
[INFO] [stdout] 719 |                         Ok(v) => Ok(()),
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1075:37
[INFO] [stdout]      |
[INFO] [stdout] 1075 | ...                   Err(e) => 0u8,
[INFO] [stdout]      |                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1095:45
[INFO] [stdout]      |
[INFO] [stdout] 1095 |                         MetadataICRC1::Blob(v) => {}
[INFO] [stdout]      |                                             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `molecular` is never read
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1192:25
[INFO] [stdout]      |
[INFO] [stdout] 1192 |     let mut molecular = new_zero();
[INFO] [stdout]      |                         ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1206 |         molecular = full_amount;
[INFO] [stdout]      |         --------- `molecular` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `denominator` is never read
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1193:27
[INFO] [stdout]      |
[INFO] [stdout] 1193 |     let mut denominator = new_zero();
[INFO] [stdout]      |                           ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1207 |         denominator = nat_18() + fee_info.fee_rate.clone();
[INFO] [stdout]      |         ----------- `denominator` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/icpl_lib/src/interface/itx.rs:189:12
[INFO] [stdout]     |
[INFO] [stdout] 189 |         Ok(v) => {
[INFO] [stdout]     |            ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/icpl_lib/src/pmm.rs:329:13
[INFO] [stdout]     |
[INFO] [stdout] 329 |         let mut receive_base_amount = _solve_quadratic_function_for_trade(
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/icpl_lib/src/token/dip20.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let mut fee = if self.flat_fee {
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `setBackendAddr`, `setRouterAddr`, `setIcplAddr`, and `setOracleAddr` are never used
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:203:8
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl AddrConfig {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 203 |     fn setBackendAddr(&mut self, backendAddr: Principal) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     fn setRouterAddr(&mut self, routerAddr: Principal) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     fn setIcplAddr(&mut self, icplAddr: Principal) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     fn setOracleAddr(&mut self, oracleAddr: Principal) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `my_test` is never used
[INFO] [stdout]    --> src/icpl_lib/src/pmm.rs:687:10
[INFO] [stdout]     |
[INFO] [stdout] 687 | async fn my_test() {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Result_5` is never used
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:128:6
[INFO] [stdout]     |
[INFO] [stdout] 128 | enum Result_5 {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Time` is never used
[INFO] [stdout]   --> src/icpl_lib/src/types/common_types.rs:56:6
[INFO] [stdout]    |
[INFO] [stdout] 56 | type Time = Int;
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/icpl_lib/src/ic_utils.rs:30:32
[INFO] [stdout]    |
[INFO] [stdout] 30 |             if let Some(ctx) = &mut CONTEXT {
[INFO] [stdout]    |                                ^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 30 |             if let Some(ctx) = &raw mut CONTEXT {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]   --> src/icpl_lib/src/ic_utils.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |             let mut_ptr = const_ptr as *mut Self;
[INFO] [stdout]    |                           ---------------------- casting happened here
[INFO] [stdout] 46 |             &mut *mut_ptr
[INFO] [stdout]    |             ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]    = note: `#[deny(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getToken` should have a snake case name
[INFO] [stdout]   --> src/icpl_lib/src/interface/ibackend.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub async fn getToken(token_id: Principal) -> CallResult<(TokenInfo,)> {
[INFO] [stdout]    |                  ^^^^^^^^ help: convert the identifier to snake case: `get_token`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `createToken` should have a snake case name
[INFO] [stdout]   --> src/icpl_lib/src/interface/ibackend.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub async fn createToken(
[INFO] [stdout]    |                  ^^^^^^^^^^^ help: convert the identifier to snake case: `create_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getTokenInfo` should have a snake case name
[INFO] [stdout]   --> src/icpl_lib/src/interface/ibackend.rs:52:18
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub async fn getTokenInfo() -> CallResult<(Vec<TokenInfo>,)> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^ help: convert the identifier to snake case: `get_token_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `markIcrc1SubWallet` should have a snake case name
[INFO] [stdout]   --> src/icpl_lib/src/interface/ibackend.rs:56:18
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub async fn markIcrc1SubWallet(token_addr: Principal, cid: Principal) -> CallResult<((),)> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `mark_icrc1_sub_wallet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getUserSubWalletForRouter` should have a snake case name
[INFO] [stdout]   --> src/icpl_lib/src/interface/ibackend.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub async fn getUserSubWalletForRouter(user: Principal) -> CallResult<(PrincipalSet,)> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_user_sub_wallet_for_router`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `optToken` should have a snake case name
[INFO] [stdout]   --> src/icpl_lib/src/interface/ioracle.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         optToken: Option<Principal>,
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `opt_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getPoolsInfo` should have a snake case name
[INFO] [stdout]   --> src/icpl_lib/src/interface/irouter.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub async fn getPoolsInfo(caller_addr: Principal) -> CallResult<(Vec<PoolInfo>,)> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^ help: convert the identifier to snake case: `get_pools_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getPoolInfo` should have a snake case name
[INFO] [stdout]   --> src/icpl_lib/src/interface/irouter.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub async fn getPoolInfo(
[INFO] [stdout]    |                  ^^^^^^^^^^^ help: convert the identifier to snake case: `get_pool_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getSubAccountToken` should have a snake case name
[INFO] [stdout]   --> src/icpl_lib/src/interface/irouter.rs:34:18
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub async fn getSubAccountToken(caller_addr: Principal) -> CallResult<(Vec<PoolInfo>,)> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_sub_account_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `createCommonPool` should have a snake case name
[INFO] [stdout]   --> src/icpl_lib/src/interface/irouter.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub async fn createCommonPool(
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `create_common_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getFeeInfoDto` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub fn getFeeInfoDto(tokenInfo: TokenInfo) -> FeeInfo {
[INFO] [stdout]     |        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_fee_info_dto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tokenInfo` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:146:22
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub fn getFeeInfoDto(tokenInfo: TokenInfo) -> FeeInfo {
[INFO] [stdout]     |                      ^^^^^^^^^ help: convert the identifier to snake case: `token_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getTokenBaseInfo` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:157:8
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub fn getTokenBaseInfo(token_addr: &Principal) -> TokenInfo {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_token_base_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getTokenBaseInfoSafe` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:168:14
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub async fn getTokenBaseInfoSafe(token_addr: &Principal) -> Option<TokenInfo> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_token_base_info_safe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setBackendAddr` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:203:8
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn setBackendAddr(&mut self, backendAddr: Principal) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `set_backend_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `backendAddr` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:203:34
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn setBackendAddr(&mut self, backendAddr: Principal) {
[INFO] [stdout]     |                                  ^^^^^^^^^^^ help: convert the identifier to snake case: `backend_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setRouterAddr` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn setRouterAddr(&mut self, routerAddr: Principal) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `set_router_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `routerAddr` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:207:33
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn setRouterAddr(&mut self, routerAddr: Principal) {
[INFO] [stdout]     |                                 ^^^^^^^^^^ help: convert the identifier to snake case: `router_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setIcplAddr` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:211:8
[INFO] [stdout]     |
[INFO] [stdout] 211 |     fn setIcplAddr(&mut self, icplAddr: Principal) {
[INFO] [stdout]     |        ^^^^^^^^^^^ help: convert the identifier to snake case: `set_icpl_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `icplAddr` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:211:31
[INFO] [stdout]     |
[INFO] [stdout] 211 |     fn setIcplAddr(&mut self, icplAddr: Principal) {
[INFO] [stdout]     |                               ^^^^^^^^ help: convert the identifier to snake case: `icpl_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setOracleAddr` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:215:8
[INFO] [stdout]     |
[INFO] [stdout] 215 |     fn setOracleAddr(&mut self, oracleAddr: Principal) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `set_oracle_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `oracleAddr` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:215:33
[INFO] [stdout]     |
[INFO] [stdout] 215 |     fn setOracleAddr(&mut self, oracleAddr: Principal) {
[INFO] [stdout]     |                                 ^^^^^^^^^^ help: convert the identifier to snake case: `oracle_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getLocalTokenInfo` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:363:18
[INFO] [stdout]     |
[INFO] [stdout] 363 |     pub async fn getLocalTokenInfo(&self) -> CallResult<TokenInfo> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_local_token_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `transferArg` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:406:21
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let transferArg = TransferArg {
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: convert the identifier to snake case: `transfer_arg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `transferArg` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:443:21
[INFO] [stdout]     |
[INFO] [stdout] 443 |                 let transferArg = TransferArg {
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: convert the identifier to snake case: `transfer_arg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `transferArg` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:468:21
[INFO] [stdout]     |
[INFO] [stdout] 468 |                 let transferArg = TransferArg {
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: convert the identifier to snake case: `transfer_arg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `isPlatformToken` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:496:18
[INFO] [stdout]     |
[INFO] [stdout] 496 |     pub async fn isPlatformToken(&self) -> Result<u64, String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `is_platform_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `callResult` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:497:13
[INFO] [stdout]     |
[INFO] [stdout] 497 |         let callResult: CallResult<(Nat,)> = ic_cdk::call(self.cid, "icrc_plus_cycles", ()).await;
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `call_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `checkCycles` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:504:18
[INFO] [stdout]     |
[INFO] [stdout] 504 |     pub async fn checkCycles(&self) -> Result<u64, String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^ help: convert the identifier to snake case: `check_cycles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getAmountWithoutFeeQuery` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:567:12
[INFO] [stdout]     |
[INFO] [stdout] 567 |     pub fn getAmountWithoutFeeQuery(&self, amount: Nat) -> CallResult<Nat> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_amount_without_fee_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tokenInfo` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:625:21
[INFO] [stdout]     |
[INFO] [stdout] 625 |                 let tokenInfo = getTokenBaseInfo(&self.cid);
[INFO] [stdout]     |                     ^^^^^^^^^ help: convert the identifier to snake case: `token_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getAmountWithoutFee` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:697:18
[INFO] [stdout]     |
[INFO] [stdout] 697 |     pub async fn getAmountWithoutFee(&self, amount: Nat) -> CallResult<Nat> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_amount_without_fee`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fromAccount` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:726:21
[INFO] [stdout]     |
[INFO] [stdout] 726 |                 let fromAccount = principal_to_subaccount(from.clone());
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: convert the identifier to snake case: `from_account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `transferArg` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:727:21
[INFO] [stdout]     |
[INFO] [stdout] 727 |                 let transferArg = TransferArg {
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: convert the identifier to snake case: `transfer_arg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `transferArg` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:749:21
[INFO] [stdout]     |
[INFO] [stdout] 749 |                 let transferArg = ICRC2TransferArg {
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: convert the identifier to snake case: `transfer_arg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `allowanceReceipt` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:861:22
[INFO] [stdout]     |
[INFO] [stdout] 861 |                 let (allowanceReceipt,): (TxReceipt,) =
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `allowance_receipt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `allowanceNum` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:864:24
[INFO] [stdout]     |
[INFO] [stdout] 864 |                     Ok(allowanceNum) => {
[INFO] [stdout]     |                        ^^^^^^^^^^^^ help: convert the identifier to snake case: `allowance_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `transferArg` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:929:21
[INFO] [stdout]     |
[INFO] [stdout] 929 |                 let transferArg = TransferArg {
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: convert the identifier to snake case: `transfer_arg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getMetadata` should have a snake case name
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1012:18
[INFO] [stdout]      |
[INFO] [stdout] 1012 |     pub async fn getMetadata(&self) -> CallResult<(Metadata,)> {
[INFO] [stdout]      |                  ^^^^^^^^^^^ help: convert the identifier to snake case: `get_metadata`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getTokenInfo` should have a snake case name
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1024:18
[INFO] [stdout]      |
[INFO] [stdout] 1024 |     pub async fn getTokenInfo(&self, tokenType: String) -> TokenInfo {
[INFO] [stdout]      |                  ^^^^^^^^^^^^ help: convert the identifier to snake case: `get_token_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tokenType` should have a snake case name
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1024:38
[INFO] [stdout]      |
[INFO] [stdout] 1024 |     pub async fn getTokenInfo(&self, tokenType: String) -> TokenInfo {
[INFO] [stdout]      |                                      ^^^^^^^^^ help: convert the identifier to snake case: `token_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `totalSupply` should have a snake case name
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1047:22
[INFO] [stdout]      |
[INFO] [stdout] 1047 |                 let (totalSupply,): (Nat,) = ic_cdk::call(self.cid, "icrc1_total_supply", ())
[INFO] [stdout]      |                      ^^^^^^^^^^^ help: convert the identifier to snake case: `total_supply`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `checkToken` should have a snake case name
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1116:18
[INFO] [stdout]      |
[INFO] [stdout] 1116 |     pub async fn checkToken(&self, tokenType: TokenType) -> String {
[INFO] [stdout]      |                  ^^^^^^^^^^ help: convert the identifier to snake case: `check_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tokenType` should have a snake case name
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1116:36
[INFO] [stdout]      |
[INFO] [stdout] 1116 |     pub async fn checkToken(&self, tokenType: TokenType) -> String {
[INFO] [stdout]      |                                    ^^^^^^^^^ help: convert the identifier to snake case: `token_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getFeeInfo` should have a snake case name
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1134:18
[INFO] [stdout]      |
[INFO] [stdout] 1134 |     pub async fn getFeeInfo(&self) -> CallResult<(FeeInfo,)> {
[INFO] [stdout]      |                  ^^^^^^^^^^ help: convert the identifier to snake case: `get_fee_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tokenType` should have a snake case name
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1142:58
[INFO] [stdout]      |
[INFO] [stdout] 1142 |     pub async fn mint(&self, to: Principal, amount: Nat, tokenType: TokenType) -> CallResult<()> {
[INFO] [stdout]      |                                                          ^^^^^^^^^ help: convert the identifier to snake case: `token_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `transferArg` should have a snake case name
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1158:21
[INFO] [stdout]      |
[INFO] [stdout] 1158 |                 let transferArg = TransferArg {
[INFO] [stdout]      |                     ^^^^^^^^^^^ help: convert the identifier to snake case: `transfer_arg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `acceptCycles` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:212:18
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub async fn acceptCycles(&self) -> CallResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^ help: convert the identifier to snake case: `accept_cycles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `addAsset` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:216:18
[INFO] [stdout]     |
[INFO] [stdout] 216 |     pub async fn addAsset(&self, arg0: Asset) -> CallResult<(candid::Nat,)> {
[INFO] [stdout]     |                  ^^^^^^^^ help: convert the identifier to snake case: `add_asset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `allPayments` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:220:18
[INFO] [stdout]     |
[INFO] [stdout] 220 |     pub async fn allPayments(&self) -> CallResult<(Vec<(candid::Principal, Vec<SubAccount__1>)>,)> {
[INFO] [stdout]     |                  ^^^^^^^^^^^ help: convert the identifier to snake case: `all_payments`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `allSettlements` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:224:18
[INFO] [stdout]     |
[INFO] [stdout] 224 |     pub async fn allSettlements(&self) -> CallResult<(Vec<(TokenIndex, Settlement)>,)> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `all_settlements`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `availableCycles` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:228:18
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub async fn availableCycles(&self) -> CallResult<(candid::Nat,)> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `available_cycles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clearPayments` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:240:18
[INFO] [stdout]     |
[INFO] [stdout] 240 |     pub async fn clearPayments(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^ help: convert the identifier to snake case: `clear_payments`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `failedSales` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:256:18
[INFO] [stdout]     |
[INFO] [stdout] 256 |     pub async fn failedSales(&self) -> CallResult<(Vec<(AccountIdentifier__1, SubAccount__1)>,)> {
[INFO] [stdout]     |                  ^^^^^^^^^^^ help: convert the identifier to snake case: `failed_sales`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getMinter` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:260:18
[INFO] [stdout]     |
[INFO] [stdout] 260 |     pub async fn getMinter(&self) -> CallResult<(candid::Principal,)> {
[INFO] [stdout]     |                  ^^^^^^^^^ help: convert the identifier to snake case: `get_minter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getRegistry` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:264:18
[INFO] [stdout]     |
[INFO] [stdout] 264 |     pub async fn getRegistry(&self) -> CallResult<(Vec<(TokenIndex, AccountIdentifier__1)>,)> {
[INFO] [stdout]     |                  ^^^^^^^^^^^ help: convert the identifier to snake case: `get_registry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getTokens` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:268:18
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub async fn getTokens(&self) -> CallResult<(Vec<(TokenIndex, String)>,)> {
[INFO] [stdout]     |                  ^^^^^^^^^ help: convert the identifier to snake case: `get_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `saleTransactions` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:302:18
[INFO] [stdout]     |
[INFO] [stdout] 302 |     pub async fn saleTransactions(&self) -> CallResult<(Vec<SaleTransaction>,)> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `sale_transactions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `salesSettlements` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:306:18
[INFO] [stdout]     |
[INFO] [stdout] 306 |     pub async fn salesSettlements(&self) -> CallResult<(Vec<(AccountIdentifier__1, Sale)>,)> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `sales_settlements`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `salesStats` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:310:18
[INFO] [stdout]     |
[INFO] [stdout] 310 |     pub async fn salesStats(
[INFO] [stdout]     |                  ^^^^^^^^^^ help: convert the identifier to snake case: `sales_stats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setMinter` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:317:18
[INFO] [stdout]     |
[INFO] [stdout] 317 |     pub async fn setMinter(&self, arg0: candid::Principal) -> CallResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^ help: convert the identifier to snake case: `set_minter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/icpl_lib/src/types/common_types.rs:192:17
[INFO] [stdout]     |
[INFO] [stdout] 192 |     fn to_bytes(&self) -> std::borrow::Cow<[u8]> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 192 |     fn to_bytes(&self) -> std::borrow::Cow<'_, [u8]> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/icpl_lib/src/types/common_types.rs:207:17
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn to_bytes(&self) -> std::borrow::Cow<[u8]> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn to_bytes(&self) -> std::borrow::Cow<'_, [u8]> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/icpl_lib/src/types/common_types.rs:222:17
[INFO] [stdout]     |
[INFO] [stdout] 222 |     fn to_bytes(&self) -> std::borrow::Cow<[u8]> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 222 |     fn to_bytes(&self) -> std::borrow::Cow<'_, [u8]> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/icpl_lib/src/types/common_types.rs:242:17
[INFO] [stdout]     |
[INFO] [stdout] 242 |     fn to_bytes(&self) -> std::borrow::Cow<[u8]> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 242 |     fn to_bytes(&self) -> std::borrow::Cow<'_, [u8]> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/icpl_lib/src/types/common_types.rs:261:17
[INFO] [stdout]     |
[INFO] [stdout] 261 |     fn to_bytes(&self) -> std::borrow::Cow<[u8]> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 261 |     fn to_bytes(&self) -> std::borrow::Cow<'_, [u8]> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `NatToToken` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/types/icrc_type.rs:145:8
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn NatToToken(num: Nat) -> Tokens {
[INFO] [stdout]     |        ^^^^^^^^^^ help: convert the identifier to snake case: `nat_to_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `userId` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/types/icrc_type.rs:155:9
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let userId = Principal::from(principal_id);
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `canisterId` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/types/icrc_type.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 |     canisterId: Principal,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to snake case: `canister_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `icpl_lib` (lib test) due to 1 previous error; 181 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: methods `setBackendAddr`, `setRouterAddr`, `setIcplAddr`, and `setOracleAddr` are never used
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:203:8
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl AddrConfig {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 203 |     fn setBackendAddr(&mut self, backendAddr: Principal) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     fn setRouterAddr(&mut self, routerAddr: Principal) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     fn setIcplAddr(&mut self, icplAddr: Principal) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     fn setOracleAddr(&mut self, oracleAddr: Principal) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `my_test` is never used
[INFO] [stdout]    --> src/icpl_lib/src/pmm.rs:687:10
[INFO] [stdout]     |
[INFO] [stdout] 687 | async fn my_test() {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Result_5` is never used
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:128:6
[INFO] [stdout]     |
[INFO] [stdout] 128 | enum Result_5 {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Time` is never used
[INFO] [stdout]   --> src/icpl_lib/src/types/common_types.rs:56:6
[INFO] [stdout]    |
[INFO] [stdout] 56 | type Time = Int;
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/icpl_lib/src/ic_utils.rs:30:32
[INFO] [stdout]    |
[INFO] [stdout] 30 |             if let Some(ctx) = &mut CONTEXT {
[INFO] [stdout]    |                                ^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 30 |             if let Some(ctx) = &raw mut CONTEXT {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]   --> src/icpl_lib/src/ic_utils.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |             let mut_ptr = const_ptr as *mut Self;
[INFO] [stdout]    |                           ---------------------- casting happened here
[INFO] [stdout] 46 |             &mut *mut_ptr
[INFO] [stdout]    |             ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]    = note: `#[deny(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getToken` should have a snake case name
[INFO] [stdout]   --> src/icpl_lib/src/interface/ibackend.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub async fn getToken(token_id: Principal) -> CallResult<(TokenInfo,)> {
[INFO] [stdout]    |                  ^^^^^^^^ help: convert the identifier to snake case: `get_token`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `createToken` should have a snake case name
[INFO] [stdout]   --> src/icpl_lib/src/interface/ibackend.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub async fn createToken(
[INFO] [stdout]    |                  ^^^^^^^^^^^ help: convert the identifier to snake case: `create_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getTokenInfo` should have a snake case name
[INFO] [stdout]   --> src/icpl_lib/src/interface/ibackend.rs:52:18
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub async fn getTokenInfo() -> CallResult<(Vec<TokenInfo>,)> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^ help: convert the identifier to snake case: `get_token_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `markIcrc1SubWallet` should have a snake case name
[INFO] [stdout]   --> src/icpl_lib/src/interface/ibackend.rs:56:18
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub async fn markIcrc1SubWallet(token_addr: Principal, cid: Principal) -> CallResult<((),)> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `mark_icrc1_sub_wallet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getUserSubWalletForRouter` should have a snake case name
[INFO] [stdout]   --> src/icpl_lib/src/interface/ibackend.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub async fn getUserSubWalletForRouter(user: Principal) -> CallResult<(PrincipalSet,)> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_user_sub_wallet_for_router`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `optToken` should have a snake case name
[INFO] [stdout]   --> src/icpl_lib/src/interface/ioracle.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         optToken: Option<Principal>,
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `opt_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getPoolsInfo` should have a snake case name
[INFO] [stdout]   --> src/icpl_lib/src/interface/irouter.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub async fn getPoolsInfo(caller_addr: Principal) -> CallResult<(Vec<PoolInfo>,)> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^ help: convert the identifier to snake case: `get_pools_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getPoolInfo` should have a snake case name
[INFO] [stdout]   --> src/icpl_lib/src/interface/irouter.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub async fn getPoolInfo(
[INFO] [stdout]    |                  ^^^^^^^^^^^ help: convert the identifier to snake case: `get_pool_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getSubAccountToken` should have a snake case name
[INFO] [stdout]   --> src/icpl_lib/src/interface/irouter.rs:34:18
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub async fn getSubAccountToken(caller_addr: Principal) -> CallResult<(Vec<PoolInfo>,)> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_sub_account_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `createCommonPool` should have a snake case name
[INFO] [stdout]   --> src/icpl_lib/src/interface/irouter.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub async fn createCommonPool(
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `create_common_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getFeeInfoDto` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub fn getFeeInfoDto(tokenInfo: TokenInfo) -> FeeInfo {
[INFO] [stdout]     |        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_fee_info_dto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tokenInfo` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:146:22
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub fn getFeeInfoDto(tokenInfo: TokenInfo) -> FeeInfo {
[INFO] [stdout]     |                      ^^^^^^^^^ help: convert the identifier to snake case: `token_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getTokenBaseInfo` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:157:8
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub fn getTokenBaseInfo(token_addr: &Principal) -> TokenInfo {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_token_base_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getTokenBaseInfoSafe` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:168:14
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub async fn getTokenBaseInfoSafe(token_addr: &Principal) -> Option<TokenInfo> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_token_base_info_safe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setBackendAddr` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:203:8
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn setBackendAddr(&mut self, backendAddr: Principal) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `set_backend_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `backendAddr` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:203:34
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn setBackendAddr(&mut self, backendAddr: Principal) {
[INFO] [stdout]     |                                  ^^^^^^^^^^^ help: convert the identifier to snake case: `backend_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setRouterAddr` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn setRouterAddr(&mut self, routerAddr: Principal) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `set_router_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `routerAddr` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:207:33
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn setRouterAddr(&mut self, routerAddr: Principal) {
[INFO] [stdout]     |                                 ^^^^^^^^^^ help: convert the identifier to snake case: `router_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setIcplAddr` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:211:8
[INFO] [stdout]     |
[INFO] [stdout] 211 |     fn setIcplAddr(&mut self, icplAddr: Principal) {
[INFO] [stdout]     |        ^^^^^^^^^^^ help: convert the identifier to snake case: `set_icpl_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `icplAddr` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:211:31
[INFO] [stdout]     |
[INFO] [stdout] 211 |     fn setIcplAddr(&mut self, icplAddr: Principal) {
[INFO] [stdout]     |                               ^^^^^^^^ help: convert the identifier to snake case: `icpl_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setOracleAddr` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:215:8
[INFO] [stdout]     |
[INFO] [stdout] 215 |     fn setOracleAddr(&mut self, oracleAddr: Principal) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `set_oracle_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `oracleAddr` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:215:33
[INFO] [stdout]     |
[INFO] [stdout] 215 |     fn setOracleAddr(&mut self, oracleAddr: Principal) {
[INFO] [stdout]     |                                 ^^^^^^^^^^ help: convert the identifier to snake case: `oracle_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getLocalTokenInfo` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:363:18
[INFO] [stdout]     |
[INFO] [stdout] 363 |     pub async fn getLocalTokenInfo(&self) -> CallResult<TokenInfo> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_local_token_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `transferArg` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:406:21
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let transferArg = TransferArg {
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: convert the identifier to snake case: `transfer_arg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `transferArg` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:443:21
[INFO] [stdout]     |
[INFO] [stdout] 443 |                 let transferArg = TransferArg {
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: convert the identifier to snake case: `transfer_arg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `transferArg` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:468:21
[INFO] [stdout]     |
[INFO] [stdout] 468 |                 let transferArg = TransferArg {
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: convert the identifier to snake case: `transfer_arg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `isPlatformToken` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:496:18
[INFO] [stdout]     |
[INFO] [stdout] 496 |     pub async fn isPlatformToken(&self) -> Result<u64, String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `is_platform_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `callResult` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:497:13
[INFO] [stdout]     |
[INFO] [stdout] 497 |         let callResult: CallResult<(Nat,)> = ic_cdk::call(self.cid, "icrc_plus_cycles", ()).await;
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `call_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `checkCycles` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:504:18
[INFO] [stdout]     |
[INFO] [stdout] 504 |     pub async fn checkCycles(&self) -> Result<u64, String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^ help: convert the identifier to snake case: `check_cycles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getAmountWithoutFeeQuery` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:567:12
[INFO] [stdout]     |
[INFO] [stdout] 567 |     pub fn getAmountWithoutFeeQuery(&self, amount: Nat) -> CallResult<Nat> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_amount_without_fee_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tokenInfo` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:625:21
[INFO] [stdout]     |
[INFO] [stdout] 625 |                 let tokenInfo = getTokenBaseInfo(&self.cid);
[INFO] [stdout]     |                     ^^^^^^^^^ help: convert the identifier to snake case: `token_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getAmountWithoutFee` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:697:18
[INFO] [stdout]     |
[INFO] [stdout] 697 |     pub async fn getAmountWithoutFee(&self, amount: Nat) -> CallResult<Nat> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_amount_without_fee`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fromAccount` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:726:21
[INFO] [stdout]     |
[INFO] [stdout] 726 |                 let fromAccount = principal_to_subaccount(from.clone());
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: convert the identifier to snake case: `from_account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `transferArg` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:727:21
[INFO] [stdout]     |
[INFO] [stdout] 727 |                 let transferArg = TransferArg {
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: convert the identifier to snake case: `transfer_arg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `transferArg` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:749:21
[INFO] [stdout]     |
[INFO] [stdout] 749 |                 let transferArg = ICRC2TransferArg {
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: convert the identifier to snake case: `transfer_arg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `allowanceReceipt` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:861:22
[INFO] [stdout]     |
[INFO] [stdout] 861 |                 let (allowanceReceipt,): (TxReceipt,) =
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `allowance_receipt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `allowanceNum` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:864:24
[INFO] [stdout]     |
[INFO] [stdout] 864 |                     Ok(allowanceNum) => {
[INFO] [stdout]     |                        ^^^^^^^^^^^^ help: convert the identifier to snake case: `allowance_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `transferArg` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/interface/itoken.rs:929:21
[INFO] [stdout]     |
[INFO] [stdout] 929 |                 let transferArg = TransferArg {
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: convert the identifier to snake case: `transfer_arg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getMetadata` should have a snake case name
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1012:18
[INFO] [stdout]      |
[INFO] [stdout] 1012 |     pub async fn getMetadata(&self) -> CallResult<(Metadata,)> {
[INFO] [stdout]      |                  ^^^^^^^^^^^ help: convert the identifier to snake case: `get_metadata`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getTokenInfo` should have a snake case name
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1024:18
[INFO] [stdout]      |
[INFO] [stdout] 1024 |     pub async fn getTokenInfo(&self, tokenType: String) -> TokenInfo {
[INFO] [stdout]      |                  ^^^^^^^^^^^^ help: convert the identifier to snake case: `get_token_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tokenType` should have a snake case name
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1024:38
[INFO] [stdout]      |
[INFO] [stdout] 1024 |     pub async fn getTokenInfo(&self, tokenType: String) -> TokenInfo {
[INFO] [stdout]      |                                      ^^^^^^^^^ help: convert the identifier to snake case: `token_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `totalSupply` should have a snake case name
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1047:22
[INFO] [stdout]      |
[INFO] [stdout] 1047 |                 let (totalSupply,): (Nat,) = ic_cdk::call(self.cid, "icrc1_total_supply", ())
[INFO] [stdout]      |                      ^^^^^^^^^^^ help: convert the identifier to snake case: `total_supply`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `checkToken` should have a snake case name
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1116:18
[INFO] [stdout]      |
[INFO] [stdout] 1116 |     pub async fn checkToken(&self, tokenType: TokenType) -> String {
[INFO] [stdout]      |                  ^^^^^^^^^^ help: convert the identifier to snake case: `check_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tokenType` should have a snake case name
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1116:36
[INFO] [stdout]      |
[INFO] [stdout] 1116 |     pub async fn checkToken(&self, tokenType: TokenType) -> String {
[INFO] [stdout]      |                                    ^^^^^^^^^ help: convert the identifier to snake case: `token_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getFeeInfo` should have a snake case name
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1134:18
[INFO] [stdout]      |
[INFO] [stdout] 1134 |     pub async fn getFeeInfo(&self) -> CallResult<(FeeInfo,)> {
[INFO] [stdout]      |                  ^^^^^^^^^^ help: convert the identifier to snake case: `get_fee_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tokenType` should have a snake case name
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1142:58
[INFO] [stdout]      |
[INFO] [stdout] 1142 |     pub async fn mint(&self, to: Principal, amount: Nat, tokenType: TokenType) -> CallResult<()> {
[INFO] [stdout]      |                                                          ^^^^^^^^^ help: convert the identifier to snake case: `token_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `transferArg` should have a snake case name
[INFO] [stdout]     --> src/icpl_lib/src/interface/itoken.rs:1158:21
[INFO] [stdout]      |
[INFO] [stdout] 1158 |                 let transferArg = TransferArg {
[INFO] [stdout]      |                     ^^^^^^^^^^^ help: convert the identifier to snake case: `transfer_arg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `acceptCycles` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:212:18
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub async fn acceptCycles(&self) -> CallResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^ help: convert the identifier to snake case: `accept_cycles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `addAsset` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:216:18
[INFO] [stdout]     |
[INFO] [stdout] 216 |     pub async fn addAsset(&self, arg0: Asset) -> CallResult<(candid::Nat,)> {
[INFO] [stdout]     |                  ^^^^^^^^ help: convert the identifier to snake case: `add_asset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `allPayments` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:220:18
[INFO] [stdout]     |
[INFO] [stdout] 220 |     pub async fn allPayments(&self) -> CallResult<(Vec<(candid::Principal, Vec<SubAccount__1>)>,)> {
[INFO] [stdout]     |                  ^^^^^^^^^^^ help: convert the identifier to snake case: `all_payments`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `allSettlements` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:224:18
[INFO] [stdout]     |
[INFO] [stdout] 224 |     pub async fn allSettlements(&self) -> CallResult<(Vec<(TokenIndex, Settlement)>,)> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `all_settlements`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `availableCycles` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:228:18
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub async fn availableCycles(&self) -> CallResult<(candid::Nat,)> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `available_cycles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clearPayments` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:240:18
[INFO] [stdout]     |
[INFO] [stdout] 240 |     pub async fn clearPayments(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^ help: convert the identifier to snake case: `clear_payments`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `failedSales` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:256:18
[INFO] [stdout]     |
[INFO] [stdout] 256 |     pub async fn failedSales(&self) -> CallResult<(Vec<(AccountIdentifier__1, SubAccount__1)>,)> {
[INFO] [stdout]     |                  ^^^^^^^^^^^ help: convert the identifier to snake case: `failed_sales`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getMinter` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:260:18
[INFO] [stdout]     |
[INFO] [stdout] 260 |     pub async fn getMinter(&self) -> CallResult<(candid::Principal,)> {
[INFO] [stdout]     |                  ^^^^^^^^^ help: convert the identifier to snake case: `get_minter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getRegistry` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:264:18
[INFO] [stdout]     |
[INFO] [stdout] 264 |     pub async fn getRegistry(&self) -> CallResult<(Vec<(TokenIndex, AccountIdentifier__1)>,)> {
[INFO] [stdout]     |                  ^^^^^^^^^^^ help: convert the identifier to snake case: `get_registry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getTokens` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:268:18
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub async fn getTokens(&self) -> CallResult<(Vec<(TokenIndex, String)>,)> {
[INFO] [stdout]     |                  ^^^^^^^^^ help: convert the identifier to snake case: `get_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `saleTransactions` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:302:18
[INFO] [stdout]     |
[INFO] [stdout] 302 |     pub async fn saleTransactions(&self) -> CallResult<(Vec<SaleTransaction>,)> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `sale_transactions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `salesSettlements` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:306:18
[INFO] [stdout]     |
[INFO] [stdout] 306 |     pub async fn salesSettlements(&self) -> CallResult<(Vec<(AccountIdentifier__1, Sale)>,)> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `sales_settlements`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `salesStats` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:310:18
[INFO] [stdout]     |
[INFO] [stdout] 310 |     pub async fn salesStats(
[INFO] [stdout]     |                  ^^^^^^^^^^ help: convert the identifier to snake case: `sales_stats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setMinter` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/token/ext.rs:317:18
[INFO] [stdout]     |
[INFO] [stdout] 317 |     pub async fn setMinter(&self, arg0: candid::Principal) -> CallResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^ help: convert the identifier to snake case: `set_minter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/icpl_lib/src/types/common_types.rs:192:17
[INFO] [stdout]     |
[INFO] [stdout] 192 |     fn to_bytes(&self) -> std::borrow::Cow<[u8]> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 192 |     fn to_bytes(&self) -> std::borrow::Cow<'_, [u8]> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/icpl_lib/src/types/common_types.rs:207:17
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn to_bytes(&self) -> std::borrow::Cow<[u8]> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn to_bytes(&self) -> std::borrow::Cow<'_, [u8]> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/icpl_lib/src/types/common_types.rs:222:17
[INFO] [stdout]     |
[INFO] [stdout] 222 |     fn to_bytes(&self) -> std::borrow::Cow<[u8]> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 222 |     fn to_bytes(&self) -> std::borrow::Cow<'_, [u8]> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/icpl_lib/src/types/common_types.rs:242:17
[INFO] [stdout]     |
[INFO] [stdout] 242 |     fn to_bytes(&self) -> std::borrow::Cow<[u8]> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 242 |     fn to_bytes(&self) -> std::borrow::Cow<'_, [u8]> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/icpl_lib/src/types/common_types.rs:261:17
[INFO] [stdout]     |
[INFO] [stdout] 261 |     fn to_bytes(&self) -> std::borrow::Cow<[u8]> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 261 |     fn to_bytes(&self) -> std::borrow::Cow<'_, [u8]> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `NatToToken` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/types/icrc_type.rs:145:8
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn NatToToken(num: Nat) -> Tokens {
[INFO] [stdout]     |        ^^^^^^^^^^ help: convert the identifier to snake case: `nat_to_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `userId` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/types/icrc_type.rs:155:9
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let userId = Principal::from(principal_id);
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `canisterId` should have a snake case name
[INFO] [stdout]    --> src/icpl_lib/src/types/icrc_type.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 |     canisterId: Principal,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to snake case: `canister_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `icpl_lib` (lib) due to 1 previous error; 181 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "3609bc392fdf2a6000e18e2901b68ea4bf4b2a31806901ba2a4969f951cf7eb1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3609bc392fdf2a6000e18e2901b68ea4bf4b2a31806901ba2a4969f951cf7eb1", kill_on_drop: false }`
[INFO] [stdout] 3609bc392fdf2a6000e18e2901b68ea4bf4b2a31806901ba2a4969f951cf7eb1
