WASM model not valid: __wbindgen_describe' from '__wbindgen_placeholder__'

Greetings - I am still a newbee to ICP and am blocked.

When I run:

dfx deploy

I get this error:

    Deploying all canisters.
    Creating canisters...
    Creating canister backend...
    Creating a wallet canister on the local network.
    The wallet canister on the "local" network for user "default" is "bnz7o-iuaaa-aaaaa-qaaaa-cai"
    backend canister created with canister id: bkyz2-fmaaa-aaaaa-qaaaq-cai
    Creating canister frontend...
    frontend canister created with canister id: bd3sg-teaaa-aaaaa-qaaba-cai
    Building canisters...
    WARN: Cannot check for vulnerabilities in rust canisters because cargo-audit is not installed. 
    Please run 'cargo install cargo-audit' so that vulnerabilities can be detected.
    Executing: cargo build --target wasm32-unknown-unknown --release -p backend --locked
        Finished `release` profile [optimized] target(s) in 2.54s
    Building frontend...
    WARN: node_modules/js-sha256/src/sha256.js (83:17) Use of eval in "node_modules/js-sha256/src/sha256.js" 
    is strongly discouraged as it poses security risks and may cause issues with minification.
    node_modules/js-sha256/src/sha256.js (84:17) Use of eval in "node_modules/js-sha256/src/sha256.js" 
    is strongly discouraged as it poses security risks and may cause issues with minification.

    Installing canisters...
    Creating UI canister on the local network.
    The UI canister on the "local" network is "be2us-64aaa-aaaaa-qaabq-cai"
    Installing code for canister backend, with canister ID bkyz2-fmaaa-aaaaa-qaaaq-cai
    Error: Failed while trying to deploy canisters.
    Caused by: Failed while trying to install all canisters.
    Caused by: Failed to install wasm module to canister 'backend'.
    Caused by: Failed during wasm installation call
    Caused by: The replica returned a rejection error: reject code CanisterError, reject message 
    Error from Canister bkyz2-fmaaa-aaaaa-qaaaq-cai: Canister's Wasm module is not valid: 
    Wasm module has an invalid import section. **Module imports function '__wbindgen_describe' **
**    from '__wbindgen_placeholder__' that is not exported by the runtime..**
    This is likely an error with the compiler/CDK toolchain being used to build the canister. 
    Please report the error to IC devs on the forum: https://forum.dfinity.org and include which 
    language/CDK was used to create the canister., error code None

To reproduce this problem:

I tried adding links to a public gitlab repository but this forum says one is not permitted to share links in the save. Not sure how one can share the code then? Maybe it could be useful for this forum to allow links to github or gitlab?

(i) So after cloning the code and switching to the correct branch which I cannot give a link to on this forum, you could continue reproducing the error as follows:

(ii) If you already have a .dfx folder delete it:

rm -fr dfx

(iii) Get latest dfx installation:

sh -ci "$(curl -fsSL https://internetcomputer.org/install.sh)"

(iv) Open a new console

npm install
dfx start --background --clean
dfx deps pull
dfx deps init evm_rpc --argument β€˜(record { nodesInSubnet = 28 })’
dfx deps deploy
dfx deploy

The last command β€œdfx deploy” results in the error at the top of this
file.

The dependencies look like this:

cargo tree

backend v0.1.0 (/Users/johndickerson/GITLAB/utu-trust-utt-proxy-icp/backend)
β”œβ”€β”€ candid v0.10.10
β”‚ β”œβ”€β”€ anyhow v1.0.89
β”‚ β”œβ”€β”€ binread v2.2.0
β”‚ β”‚ β”œβ”€β”€ binread_derive v2.1.0 (proc-macro)
β”‚ β”‚ β”‚ β”œβ”€β”€ either v1.13.0
β”‚ β”‚ β”‚ β”œβ”€β”€ proc-macro2 v1.0.87
β”‚ β”‚ β”‚ β”‚ └── unicode-ident v1.0.13
β”‚ β”‚ β”‚ β”œβ”€β”€ quote v1.0.37
β”‚ β”‚ β”‚ β”‚ └── proc-macro2 v1.0.87 ()
β”‚ β”‚ β”‚ └── syn v1.0.109
β”‚ β”‚ β”‚ β”œβ”€β”€ proc-macro2 v1.0.87 (
)
β”‚ β”‚ β”‚ β”œβ”€β”€ quote v1.0.37 ()
β”‚ β”‚ β”‚ └── unicode-ident v1.0.13
β”‚ β”‚ β”œβ”€β”€ lazy_static v1.5.0
β”‚ β”‚ └── rustversion v1.0.17 (proc-macro)
β”‚ β”œβ”€β”€ byteorder v1.5.0
β”‚ β”œβ”€β”€ candid_derive v0.6.6 (proc-macro)
β”‚ β”‚ β”œβ”€β”€ lazy_static v1.5.0
β”‚ β”‚ β”œβ”€β”€ proc-macro2 v1.0.87 (
)
β”‚ β”‚ β”œβ”€β”€ quote v1.0.37 ()
β”‚ β”‚ └── syn v2.0.79
β”‚ β”‚ β”œβ”€β”€ proc-macro2 v1.0.87 (
)
β”‚ β”‚ β”œβ”€β”€ quote v1.0.37 ()
β”‚ β”‚ └── unicode-ident v1.0.13
β”‚ β”œβ”€β”€ hex v0.4.3
β”‚ β”œβ”€β”€ ic_principal v0.1.1
β”‚ β”‚ β”œβ”€β”€ arbitrary v1.3.2
β”‚ β”‚ β”œβ”€β”€ crc32fast v1.4.2
β”‚ β”‚ β”‚ └── cfg-if v1.0.0
β”‚ β”‚ β”œβ”€β”€ data-encoding v2.6.0
β”‚ β”‚ β”œβ”€β”€ serde v1.0.210
β”‚ β”‚ β”‚ └── serde_derive v1.0.210 (proc-macro)
β”‚ β”‚ β”‚ β”œβ”€β”€ proc-macro2 v1.0.87 (
)
β”‚ β”‚ β”‚ β”œβ”€β”€ quote v1.0.37 ()
β”‚ β”‚ β”‚ └── syn v2.0.79 (
)
β”‚ β”‚ β”œβ”€β”€ sha2 v0.10.8
β”‚ β”‚ β”‚ β”œβ”€β”€ cfg-if v1.0.0
β”‚ β”‚ β”‚ β”œβ”€β”€ cpufeatures v0.2.14
β”‚ β”‚ β”‚ └── digest v0.10.7
β”‚ β”‚ β”‚ β”œβ”€β”€ block-buffer v0.10.4
β”‚ β”‚ β”‚ β”‚ └── generic-array v0.14.7
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ typenum v1.17.0
β”‚ β”‚ β”‚ β”‚ └── zeroize v1.8.1
β”‚ β”‚ β”‚ β”‚ [build-dependencies]
β”‚ β”‚ β”‚ β”‚ └── version_check v0.9.5
β”‚ β”‚ β”‚ β”œβ”€β”€ const-oid v0.9.6
β”‚ β”‚ β”‚ β”œβ”€β”€ crypto-common v0.1.6
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ generic-array v0.14.7 ()
β”‚ β”‚ β”‚ β”‚ └── typenum v1.17.0
β”‚ β”‚ β”‚ └── subtle v2.6.1
β”‚ β”‚ └── thiserror v1.0.64
β”‚ β”‚ └── thiserror-impl v1.0.64 (proc-macro)
β”‚ β”‚ β”œβ”€β”€ proc-macro2 v1.0.87 (
)
β”‚ β”‚ β”œβ”€β”€ quote v1.0.37 ()
β”‚ β”‚ └── syn v2.0.79 (
)
β”‚ β”œβ”€β”€ leb128 v0.2.5
β”‚ β”œβ”€β”€ num-bigint v0.4.6
β”‚ β”‚ β”œβ”€β”€ num-integer v0.1.46
β”‚ β”‚ β”‚ └── num-traits v0.2.19
β”‚ β”‚ β”‚ [build-dependencies]
β”‚ β”‚ β”‚ └── autocfg v1.4.0
β”‚ β”‚ β”œβ”€β”€ num-traits v0.2.19 ()
β”‚ β”‚ └── serde v1.0.210 (
)
β”‚ β”œβ”€β”€ num-traits v0.2.19 ()
β”‚ β”œβ”€β”€ paste v1.0.15 (proc-macro)
β”‚ β”œβ”€β”€ pretty v0.12.3
β”‚ β”‚ β”œβ”€β”€ arrayvec v0.5.2
β”‚ β”‚ β”œβ”€β”€ typed-arena v2.0.2
β”‚ β”‚ └── unicode-width v0.1.14
β”‚ β”œβ”€β”€ serde v1.0.210 (
)
β”‚ β”œβ”€β”€ serde_bytes v0.11.15
β”‚ β”‚ └── serde v1.0.210 ()
β”‚ β”œβ”€β”€ stacker v0.1.17
β”‚ β”‚ β”œβ”€β”€ cfg-if v1.0.0
β”‚ β”‚ β”œβ”€β”€ libc v0.2.159
β”‚ β”‚ └── psm v0.1.23
β”‚ β”‚ [build-dependencies]
β”‚ β”‚ └── cc v1.1.28
β”‚ β”‚ └── shlex v1.3.0
β”‚ β”‚ [build-dependencies]
β”‚ β”‚ └── cc v1.1.28 (
)
β”‚ └── thiserror v1.0.64 ()
β”œβ”€β”€ ethabi v18.0.0
β”‚ β”œβ”€β”€ ethereum-types v0.14.1
β”‚ β”‚ β”œβ”€β”€ ethbloom v0.13.0
β”‚ β”‚ β”‚ β”œβ”€β”€ crunchy v0.2.2
β”‚ β”‚ β”‚ β”œβ”€β”€ fixed-hash v0.8.0
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ byteorder v1.5.0
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ rand v0.8.5
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ libc v0.2.159
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ rand_chacha v0.3.1
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ ppv-lite86 v0.2.20
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── zerocopy v0.7.35
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ byteorder v1.5.0
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── zerocopy-derive v0.7.35 (proc-macro)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ proc-macro2 v1.0.87 (
)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ quote v1.0.37 ()
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── syn v2.0.79 (
)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── rand_core v0.6.4
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── getrandom v0.2.15
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ cfg-if v1.0.0
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── libc v0.2.159
β”‚ β”‚ β”‚ β”‚ β”‚ └── rand_core v0.6.4 ()
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ rustc-hex v2.1.0
β”‚ β”‚ β”‚ β”‚ └── static_assertions v1.1.0
β”‚ β”‚ β”‚ β”œβ”€β”€ impl-codec v0.6.0
β”‚ β”‚ β”‚ β”‚ └── parity-scale-codec v3.6.12
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ arrayvec v0.7.6
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ byte-slice-cast v1.2.2
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ impl-trait-for-tuples v0.2.2 (proc-macro)
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ proc-macro2 v1.0.87 (
)
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ quote v1.0.37 ()
β”‚ β”‚ β”‚ β”‚ β”‚ └── syn v1.0.109 (
)
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ parity-scale-codec-derive v3.6.12 (proc-macro)
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ proc-macro-crate v3.2.0
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── toml_edit v0.22.22
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ indexmap v2.6.0
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ equivalent v1.0.1
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── hashbrown v0.15.0
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ toml_datetime v0.6.8
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── winnow v0.6.20
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ proc-macro2 v1.0.87 ()
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ quote v1.0.37 (
)
β”‚ β”‚ β”‚ β”‚ β”‚ └── syn v1.0.109 ()
β”‚ β”‚ β”‚ β”‚ └── serde v1.0.210 (
)
β”‚ β”‚ β”‚ β”œβ”€β”€ impl-rlp v0.3.0
β”‚ β”‚ β”‚ β”‚ └── rlp v0.5.2
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ bytes v1.7.2
β”‚ β”‚ β”‚ β”‚ β”‚ └── serde v1.0.210 ()
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ rlp-derive v0.1.0 (proc-macro)
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ proc-macro2 v1.0.87 (
)
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ quote v1.0.37 ()
β”‚ β”‚ β”‚ β”‚ β”‚ └── syn v1.0.109 (
)
β”‚ β”‚ β”‚ β”‚ └── rustc-hex v2.1.0
β”‚ β”‚ β”‚ β”œβ”€β”€ impl-serde v0.4.0
β”‚ β”‚ β”‚ β”‚ └── serde v1.0.210 ()
β”‚ β”‚ β”‚ β”œβ”€β”€ scale-info v2.11.3
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ cfg-if v1.0.0
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ derive_more v0.99.18 (proc-macro)
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ proc-macro2 v1.0.87 (
)
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ quote v1.0.37 ()
β”‚ β”‚ β”‚ β”‚ β”‚ └── syn v2.0.79 (
)
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ parity-scale-codec v3.6.12 ()
β”‚ β”‚ β”‚ β”‚ └── scale-info-derive v2.11.3 (proc-macro)
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ proc-macro-crate v3.2.0 (
)
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ proc-macro2 v1.0.87 ()
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ quote v1.0.37 (
)
β”‚ β”‚ β”‚ β”‚ └── syn v1.0.109 ()
β”‚ β”‚ β”‚ └── tiny-keccak v2.0.2
β”‚ β”‚ β”‚ └── crunchy v0.2.2
β”‚ β”‚ β”œβ”€β”€ fixed-hash v0.8.0 (
)
β”‚ β”‚ β”œβ”€β”€ impl-codec v0.6.0 ()
β”‚ β”‚ β”œβ”€β”€ impl-rlp v0.3.0 (
)
β”‚ β”‚ β”œβ”€β”€ impl-serde v0.4.0 ()
β”‚ β”‚ β”œβ”€β”€ primitive-types v0.12.2
β”‚ β”‚ β”‚ β”œβ”€β”€ fixed-hash v0.8.0 (
)
β”‚ β”‚ β”‚ β”œβ”€β”€ impl-codec v0.6.0 ()
β”‚ β”‚ β”‚ β”œβ”€β”€ impl-rlp v0.3.0 (
)
β”‚ β”‚ β”‚ β”œβ”€β”€ impl-serde v0.4.0 ()
β”‚ β”‚ β”‚ β”œβ”€β”€ scale-info v2.11.3 (
)
β”‚ β”‚ β”‚ └── uint v0.9.5
β”‚ β”‚ β”‚ β”œβ”€β”€ byteorder v1.5.0
β”‚ β”‚ β”‚ β”œβ”€β”€ crunchy v0.2.2
β”‚ β”‚ β”‚ β”œβ”€β”€ hex v0.4.3
β”‚ β”‚ β”‚ └── static_assertions v1.1.0
β”‚ β”‚ β”œβ”€β”€ scale-info v2.11.3 ()
β”‚ β”‚ └── uint v0.9.5 (
)
β”‚ β”œβ”€β”€ hex v0.4.3
β”‚ β”œβ”€β”€ once_cell v1.20.2
β”‚ β”œβ”€β”€ regex v1.11.0
β”‚ β”‚ β”œβ”€β”€ aho-corasick v1.1.3
β”‚ β”‚ β”‚ └── memchr v2.7.4
β”‚ β”‚ β”œβ”€β”€ memchr v2.7.4
β”‚ β”‚ β”œβ”€β”€ regex-automata v0.4.8
β”‚ β”‚ β”‚ β”œβ”€β”€ aho-corasick v1.1.3 ()
β”‚ β”‚ β”‚ β”œβ”€β”€ memchr v2.7.4
β”‚ β”‚ β”‚ └── regex-syntax v0.8.5
β”‚ β”‚ └── regex-syntax v0.8.5
β”‚ β”œβ”€β”€ serde v1.0.210 (
)
β”‚ β”œβ”€β”€ serde_json v1.0.128
β”‚ β”‚ β”œβ”€β”€ itoa v1.0.11
β”‚ β”‚ β”œβ”€β”€ memchr v2.7.4
β”‚ β”‚ β”œβ”€β”€ ryu v1.0.18
β”‚ β”‚ └── serde v1.0.210 ()
β”‚ β”œβ”€β”€ sha3 v0.10.8
β”‚ β”‚ β”œβ”€β”€ digest v0.10.7 (
)
β”‚ β”‚ └── keccak v0.1.5
β”‚ β”œβ”€β”€ thiserror v1.0.64 ()
β”‚ └── uint v0.9.5 (
)
β”œβ”€β”€ ethers-core v2.0.14
β”‚ β”œβ”€β”€ arrayvec v0.7.6
β”‚ β”œβ”€β”€ bytes v1.7.2 ()
β”‚ β”œβ”€β”€ chrono v0.4.38
β”‚ β”‚ └── num-traits v0.2.19 (
)
β”‚ β”œβ”€β”€ const-hex v1.13.1
β”‚ β”‚ β”œβ”€β”€ cfg-if v1.0.0
β”‚ β”‚ β”œβ”€β”€ cpufeatures v0.2.14
β”‚ β”‚ └── hex v0.4.3
β”‚ β”œβ”€β”€ elliptic-curve v0.13.8
β”‚ β”‚ β”œβ”€β”€ base16ct v0.2.0
β”‚ β”‚ β”œβ”€β”€ crypto-bigint v0.5.5
β”‚ β”‚ β”‚ β”œβ”€β”€ generic-array v0.14.7 ()
β”‚ β”‚ β”‚ β”œβ”€β”€ rand_core v0.6.4 (
)
β”‚ β”‚ β”‚ β”œβ”€β”€ subtle v2.6.1
β”‚ β”‚ β”‚ └── zeroize v1.8.1
β”‚ β”‚ β”œβ”€β”€ digest v0.10.7 ()
β”‚ β”‚ β”œβ”€β”€ ff v0.13.0
β”‚ β”‚ β”‚ β”œβ”€β”€ rand_core v0.6.4 (
)
β”‚ β”‚ β”‚ └── subtle v2.6.1
β”‚ β”‚ β”œβ”€β”€ generic-array v0.14.7 ()
β”‚ β”‚ β”œβ”€β”€ group v0.13.0
β”‚ β”‚ β”‚ β”œβ”€β”€ ff v0.13.0 (
)
β”‚ β”‚ β”‚ β”œβ”€β”€ rand_core v0.6.4 ()
β”‚ β”‚ β”‚ └── subtle v2.6.1
β”‚ β”‚ β”œβ”€β”€ pkcs8 v0.10.2
β”‚ β”‚ β”‚ β”œβ”€β”€ der v0.7.9
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ const-oid v0.9.6
β”‚ β”‚ β”‚ β”‚ └── zeroize v1.8.1
β”‚ β”‚ β”‚ └── spki v0.7.3
β”‚ β”‚ β”‚ └── der v0.7.9 (
)
β”‚ β”‚ β”œβ”€β”€ rand_core v0.6.4 ()
β”‚ β”‚ β”œβ”€β”€ sec1 v0.7.3
β”‚ β”‚ β”‚ β”œβ”€β”€ base16ct v0.2.0
β”‚ β”‚ β”‚ β”œβ”€β”€ der v0.7.9 (
)
β”‚ β”‚ β”‚ β”œβ”€β”€ generic-array v0.14.7 ()
β”‚ β”‚ β”‚ β”œβ”€β”€ subtle v2.6.1
β”‚ β”‚ β”‚ └── zeroize v1.8.1
β”‚ β”‚ β”œβ”€β”€ subtle v2.6.1
β”‚ β”‚ └── zeroize v1.8.1
β”‚ β”œβ”€β”€ ethabi v18.0.0 (
)
β”‚ β”œβ”€β”€ generic-array v0.14.7 ()
β”‚ β”œβ”€β”€ k256 v0.13.4
β”‚ β”‚ β”œβ”€β”€ cfg-if v1.0.0
β”‚ β”‚ β”œβ”€β”€ ecdsa v0.16.9
β”‚ β”‚ β”‚ β”œβ”€β”€ der v0.7.9 (
)
β”‚ β”‚ β”‚ β”œβ”€β”€ digest v0.10.7 ()
β”‚ β”‚ β”‚ β”œβ”€β”€ elliptic-curve v0.13.8 (
)
β”‚ β”‚ β”‚ β”œβ”€β”€ rfc6979 v0.4.0
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ hmac v0.12.1
β”‚ β”‚ β”‚ β”‚ β”‚ └── digest v0.10.7 ()
β”‚ β”‚ β”‚ β”‚ └── subtle v2.6.1
β”‚ β”‚ β”‚ β”œβ”€β”€ signature v2.2.0
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ digest v0.10.7 (
)
β”‚ β”‚ β”‚ β”‚ └── rand_core v0.6.4 ()
β”‚ β”‚ β”‚ └── spki v0.7.3 (
)
β”‚ β”‚ β”œβ”€β”€ elliptic-curve v0.13.8 ()
β”‚ β”‚ β”œβ”€β”€ once_cell v1.20.2
β”‚ β”‚ β”œβ”€β”€ sha2 v0.10.8 (
)
β”‚ β”‚ └── signature v2.2.0 ()
β”‚ β”œβ”€β”€ num_enum v0.7.3
β”‚ β”‚ └── num_enum_derive v0.7.3 (proc-macro)
β”‚ β”‚ β”œβ”€β”€ proc-macro-crate v3.2.0 (
)
β”‚ β”‚ β”œβ”€β”€ proc-macro2 v1.0.87 ()
β”‚ β”‚ β”œβ”€β”€ quote v1.0.37 (
)
β”‚ β”‚ └── syn v2.0.79 ()
β”‚ β”œβ”€β”€ open-fastrlp v0.1.4
β”‚ β”‚ β”œβ”€β”€ arrayvec v0.7.6
β”‚ β”‚ β”œβ”€β”€ auto_impl v1.2.0 (proc-macro)
β”‚ β”‚ β”‚ β”œβ”€β”€ proc-macro2 v1.0.87 (
)
β”‚ β”‚ β”‚ β”œβ”€β”€ quote v1.0.37 ()
β”‚ β”‚ β”‚ └── syn v2.0.79 (
)
β”‚ β”‚ β”œβ”€β”€ bytes v1.7.2 ()
β”‚ β”‚ β”œβ”€β”€ ethereum-types v0.14.1 (
)
β”‚ β”‚ └── open-fastrlp-derive v0.1.1 (proc-macro)
β”‚ β”‚ β”œβ”€β”€ bytes v1.7.2
β”‚ β”‚ β”œβ”€β”€ proc-macro2 v1.0.87 ()
β”‚ β”‚ β”œβ”€β”€ quote v1.0.37 (
)
β”‚ β”‚ └── syn v1.0.109 ()
β”‚ β”œβ”€β”€ rand v0.8.5 (
)
β”‚ β”œβ”€β”€ rlp v0.5.2 ()
β”‚ β”œβ”€β”€ serde v1.0.210 (
)
β”‚ β”œβ”€β”€ serde_json v1.0.128 ()
β”‚ β”œβ”€β”€ strum v0.26.3
β”‚ β”‚ └── strum_macros v0.26.4 (proc-macro)
β”‚ β”‚ β”œβ”€β”€ heck v0.5.0
β”‚ β”‚ β”œβ”€β”€ proc-macro2 v1.0.87 (
)
β”‚ β”‚ β”œβ”€β”€ quote v1.0.37 ()
β”‚ β”‚ β”œβ”€β”€ rustversion v1.0.17 (proc-macro)
β”‚ β”‚ └── syn v2.0.79 (
)
β”‚ β”œβ”€β”€ tempfile v3.13.0
β”‚ β”‚ β”œβ”€β”€ cfg-if v1.0.0
β”‚ β”‚ β”œβ”€β”€ fastrand v2.1.1
β”‚ β”‚ β”œβ”€β”€ once_cell v1.20.2
β”‚ β”‚ └── rustix v0.38.37
β”‚ β”‚ β”œβ”€β”€ bitflags v2.6.0
β”‚ β”‚ β”œβ”€β”€ errno v0.3.9
β”‚ β”‚ β”‚ └── libc v0.2.159
β”‚ β”‚ └── libc v0.2.159
β”‚ β”œβ”€β”€ thiserror v1.0.64 ()
β”‚ β”œβ”€β”€ tiny-keccak v2.0.2 (
)
β”‚ └── unicode-xid v0.2.6
β”œβ”€β”€ evm-rpc-canister-types v1.0.0
β”‚ β”œβ”€β”€ candid v0.10.10 ()
β”‚ β”œβ”€β”€ candid_parser v0.1.4
β”‚ β”‚ β”œβ”€β”€ anyhow v1.0.89
β”‚ β”‚ β”œβ”€β”€ candid v0.10.10 (
)
β”‚ β”‚ β”œβ”€β”€ codespan-reporting v0.11.1
β”‚ β”‚ β”‚ β”œβ”€β”€ termcolor v1.4.1
β”‚ β”‚ β”‚ └── unicode-width v0.1.14
β”‚ β”‚ β”œβ”€β”€ convert_case v0.6.0
β”‚ β”‚ β”‚ └── unicode-segmentation v1.12.0
β”‚ β”‚ β”œβ”€β”€ hex v0.4.3
β”‚ β”‚ β”œβ”€β”€ lalrpop-util v0.20.2
β”‚ β”‚ β”œβ”€β”€ logos v0.13.0
β”‚ β”‚ β”‚ └── logos-derive v0.13.0 (proc-macro)
β”‚ β”‚ β”‚ └── logos-codegen v0.13.0
β”‚ β”‚ β”‚ β”œβ”€β”€ beef v0.5.2
β”‚ β”‚ β”‚ β”œβ”€β”€ fnv v1.0.7
β”‚ β”‚ β”‚ β”œβ”€β”€ proc-macro2 v1.0.87 ()
β”‚ β”‚ β”‚ β”œβ”€β”€ quote v1.0.37 (
)
β”‚ β”‚ β”‚ β”œβ”€β”€ regex-syntax v0.6.29
β”‚ β”‚ β”‚ └── syn v2.0.79 ()
β”‚ β”‚ β”œβ”€β”€ num-bigint v0.4.6 (
)
β”‚ β”‚ β”œβ”€β”€ pretty v0.12.3 ()
β”‚ β”‚ └── thiserror v1.0.64 (
)
β”‚ β”‚ [build-dependencies]
β”‚ β”‚ └── lalrpop v0.20.2
β”‚ β”‚ β”œβ”€β”€ ascii-canvas v3.0.0
β”‚ β”‚ β”‚ └── term v0.7.0
β”‚ β”‚ β”‚ └── dirs-next v2.0.0
β”‚ β”‚ β”‚ β”œβ”€β”€ cfg-if v1.0.0
β”‚ β”‚ β”‚ └── dirs-sys-next v0.1.2
β”‚ β”‚ β”‚ └── libc v0.2.159
β”‚ β”‚ β”œβ”€β”€ bit-set v0.5.3
β”‚ β”‚ β”‚ └── bit-vec v0.6.3
β”‚ β”‚ β”œβ”€β”€ ena v0.14.3
β”‚ β”‚ β”‚ └── log v0.4.22
β”‚ β”‚ β”œβ”€β”€ itertools v0.11.0
β”‚ β”‚ β”‚ └── either v1.13.0
β”‚ β”‚ β”œβ”€β”€ lalrpop-util v0.20.2
β”‚ β”‚ β”‚ └── regex-automata v0.4.8
β”‚ β”‚ β”‚ β”œβ”€β”€ aho-corasick v1.1.3 ()
β”‚ β”‚ β”‚ β”œβ”€β”€ memchr v2.7.4
β”‚ β”‚ β”‚ └── regex-syntax v0.8.5
β”‚ β”‚ β”œβ”€β”€ petgraph v0.6.5
β”‚ β”‚ β”‚ β”œβ”€β”€ fixedbitset v0.4.2
β”‚ β”‚ β”‚ └── indexmap v2.6.0 (
)
β”‚ β”‚ β”œβ”€β”€ pico-args v0.5.0
β”‚ β”‚ β”œβ”€β”€ regex v1.11.0
β”‚ β”‚ β”‚ β”œβ”€β”€ regex-automata v0.4.8 ()
β”‚ β”‚ β”‚ └── regex-syntax v0.8.5
β”‚ β”‚ β”œβ”€β”€ regex-syntax v0.8.5
β”‚ β”‚ β”œβ”€β”€ string_cache v0.8.7
β”‚ β”‚ β”‚ β”œβ”€β”€ new_debug_unreachable v1.0.6
β”‚ β”‚ β”‚ β”œβ”€β”€ once_cell v1.20.2
β”‚ β”‚ β”‚ β”œβ”€β”€ parking_lot v0.12.3
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ lock_api v0.4.12
β”‚ β”‚ β”‚ β”‚ β”‚ └── scopeguard v1.2.0
β”‚ β”‚ β”‚ β”‚ β”‚ [build-dependencies]
β”‚ β”‚ β”‚ β”‚ β”‚ └── autocfg v1.4.0
β”‚ β”‚ β”‚ β”‚ └── parking_lot_core v0.9.10
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ cfg-if v1.0.0
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ libc v0.2.159
β”‚ β”‚ β”‚ β”‚ └── smallvec v1.13.2
β”‚ β”‚ β”‚ β”œβ”€β”€ phf_shared v0.10.0
β”‚ β”‚ β”‚ β”‚ └── siphasher v0.3.11
β”‚ β”‚ β”‚ └── precomputed-hash v0.1.1
β”‚ β”‚ β”œβ”€β”€ term v0.7.0 (
)
β”‚ β”‚ β”œβ”€β”€ tiny-keccak v2.0.2
β”‚ β”‚ β”‚ └── crunchy v0.2.2
β”‚ β”‚ β”œβ”€β”€ unicode-xid v0.2.6
β”‚ β”‚ └── walkdir v2.5.0
β”‚ β”‚ └── same-file v1.0.6
β”‚ β”œβ”€β”€ evm-rpc-canister-types v0.1.3
β”‚ β”‚ β”œβ”€β”€ candid v0.10.10 ()
β”‚ β”‚ β”œβ”€β”€ candid_parser v0.1.4 (
)
β”‚ β”‚ β”œβ”€β”€ ic-cdk v0.14.1
β”‚ β”‚ β”‚ β”œβ”€β”€ candid v0.10.10 ()
β”‚ β”‚ β”‚ β”œβ”€β”€ ic-cdk-macros v0.14.0 (proc-macro)
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ candid v0.10.10
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ anyhow v1.0.89
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ binread v2.2.0 (
)
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ byteorder v1.5.0
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ candid_derive v0.6.6 (proc-macro) ()
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ hex v0.4.3
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ ic_principal v0.1.1
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ crc32fast v1.4.2 (
)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ data-encoding v2.6.0
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ serde v1.0.210
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── serde_derive v1.0.210 (proc-macro) ()
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ sha2 v0.10.8 (
)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── thiserror v1.0.64 ()
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ leb128 v0.2.5
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ num-bigint v0.4.6 (
)
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ num-traits v0.2.19 ()
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ paste v1.0.15 (proc-macro)
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ pretty v0.12.3 (
)
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ serde v1.0.210 ()
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ serde_bytes v0.11.15 (
)
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ stacker v0.1.17 ()
β”‚ β”‚ β”‚ β”‚ β”‚ └── thiserror v1.0.64 (
)
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ proc-macro2 v1.0.87 ()
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ quote v1.0.37 (
)
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ serde v1.0.210 ()
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ serde_tokenstream v0.2.2
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ proc-macro2 v1.0.87 (
)
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ quote v1.0.37 ()
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ serde v1.0.210 (
)
β”‚ β”‚ β”‚ β”‚ β”‚ └── syn v2.0.79 ()
β”‚ β”‚ β”‚ β”‚ └── syn v2.0.79 (
)
β”‚ β”‚ β”‚ β”œβ”€β”€ ic0 v0.23.0
β”‚ β”‚ β”‚ β”œβ”€β”€ serde v1.0.210 ()
β”‚ β”‚ β”‚ └── serde_bytes v0.11.15 (
)
β”‚ β”‚ β”œβ”€β”€ reqwest v0.12.8
β”‚ β”‚ β”‚ β”œβ”€β”€ base64 v0.22.1
β”‚ β”‚ β”‚ β”œβ”€β”€ bytes v1.7.2 ()
β”‚ β”‚ β”‚ β”œβ”€β”€ encoding_rs v0.8.34
β”‚ β”‚ β”‚ β”‚ └── cfg-if v1.0.0
β”‚ β”‚ β”‚ β”œβ”€β”€ futures-channel v0.3.31
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ futures-core v0.3.31
β”‚ β”‚ β”‚ β”‚ └── futures-sink v0.3.31
β”‚ β”‚ β”‚ β”œβ”€β”€ futures-core v0.3.31
β”‚ β”‚ β”‚ β”œβ”€β”€ futures-util v0.3.31
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ futures-channel v0.3.31 (
)
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ futures-core v0.3.31
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ futures-io v0.3.31
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ futures-macro v0.3.31 (proc-macro)
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ proc-macro2 v1.0.87 ()
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ quote v1.0.37 (
)
β”‚ β”‚ β”‚ β”‚ β”‚ └── syn v2.0.79 ()
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ futures-sink v0.3.31
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ futures-task v0.3.31
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ memchr v2.7.4
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ pin-project-lite v0.2.14
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ pin-utils v0.1.0
β”‚ β”‚ β”‚ β”‚ └── slab v0.4.9
β”‚ β”‚ β”‚ β”‚ [build-dependencies]
β”‚ β”‚ β”‚ β”‚ └── autocfg v1.4.0
β”‚ β”‚ β”‚ β”œβ”€β”€ h2 v0.4.6
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ atomic-waker v1.1.2
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ bytes v1.7.2 (
)
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ fnv v1.0.7
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ futures-core v0.3.31
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ futures-sink v0.3.31
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ http v1.1.0
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ bytes v1.7.2 ()
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ fnv v1.0.7
β”‚ β”‚ β”‚ β”‚ β”‚ └── itoa v1.0.11
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ indexmap v2.6.0 (
)
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ slab v0.4.9 ()
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ tokio v1.40.0
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ bytes v1.7.2 (
)
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ libc v0.2.159
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ mio v1.0.2
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── libc v0.2.159
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ pin-project-lite v0.2.14
β”‚ β”‚ β”‚ β”‚ β”‚ └── socket2 v0.5.7
β”‚ β”‚ β”‚ β”‚ β”‚ └── libc v0.2.159
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ tokio-util v0.7.12
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ bytes v1.7.2 ()
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ futures-core v0.3.31
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ futures-sink v0.3.31
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ pin-project-lite v0.2.14
β”‚ β”‚ β”‚ β”‚ β”‚ └── tokio v1.40.0 (
)
β”‚ β”‚ β”‚ β”‚ └── tracing v0.1.40
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ pin-project-lite v0.2.14
β”‚ β”‚ β”‚ β”‚ └── tracing-core v0.1.32
β”‚ β”‚ β”‚ β”‚ └── once_cell v1.20.2
β”‚ β”‚ β”‚ β”œβ”€β”€ http v1.1.0 ()
β”‚ β”‚ β”‚ β”œβ”€β”€ http-body v1.0.1
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ bytes v1.7.2 (
)
β”‚ β”‚ β”‚ β”‚ └── http v1.1.0 ()
β”‚ β”‚ β”‚ β”œβ”€β”€ http-body-util v0.1.2
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ bytes v1.7.2 (
)
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ futures-util v0.3.31 ()
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ http v1.1.0 (
)
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ http-body v1.0.1 ()
β”‚ β”‚ β”‚ β”‚ └── pin-project-lite v0.2.14
β”‚ β”‚ β”‚ β”œβ”€β”€ hyper v1.4.1
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ bytes v1.7.2 (
)
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ futures-channel v0.3.31 ()
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ futures-util v0.3.31 (
)
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ h2 v0.4.6 ()
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ http v1.1.0 (
)
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ http-body v1.0.1 ()
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ httparse v1.9.5
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ itoa v1.0.11
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ pin-project-lite v0.2.14
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ smallvec v1.13.2
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ tokio v1.40.0 (
)
β”‚ β”‚ β”‚ β”‚ └── want v0.3.1
β”‚ β”‚ β”‚ β”‚ └── try-lock v0.2.5
β”‚ β”‚ β”‚ β”œβ”€β”€ hyper-tls v0.6.0
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ bytes v1.7.2 ()
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ http-body-util v0.1.2 (
)
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ hyper v1.4.1 ()
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ hyper-util v0.1.9
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ bytes v1.7.2 (
)
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ futures-channel v0.3.31 ()
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ futures-util v0.3.31 (
)
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ http v1.1.0 ()
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ http-body v1.0.1 (
)
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ hyper v1.4.1 ()
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ pin-project-lite v0.2.14
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ socket2 v0.5.7 (
)
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ tokio v1.40.0 ()
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ tower-service v0.3.3
β”‚ β”‚ β”‚ β”‚ β”‚ └── tracing v0.1.40 (
)
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ native-tls v0.2.12
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ libc v0.2.159
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ security-framework v2.11.1
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ bitflags v2.6.0
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ core-foundation v0.9.4
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ core-foundation-sys v0.8.7
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── libc v0.2.159
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ core-foundation-sys v0.8.7
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ libc v0.2.159
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── security-framework-sys v2.12.0
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ core-foundation-sys v0.8.7
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── libc v0.2.159
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ security-framework-sys v2.12.0 ()
β”‚ β”‚ β”‚ β”‚ β”‚ └── tempfile v3.13.0 (
)
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ tokio v1.40.0 ()
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ tokio-native-tls v0.3.1
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ native-tls v0.2.12 (
)
β”‚ β”‚ β”‚ β”‚ β”‚ └── tokio v1.40.0 ()
β”‚ β”‚ β”‚ β”‚ └── tower-service v0.3.3
β”‚ β”‚ β”‚ β”œβ”€β”€ hyper-util v0.1.9 (
)
β”‚ β”‚ β”‚ β”œβ”€β”€ ipnet v2.10.1
β”‚ β”‚ β”‚ β”œβ”€β”€ log v0.4.22
β”‚ β”‚ β”‚ β”œβ”€β”€ mime v0.3.17
β”‚ β”‚ β”‚ β”œβ”€β”€ native-tls v0.2.12 ()
β”‚ β”‚ β”‚ β”œβ”€β”€ once_cell v1.20.2
β”‚ β”‚ β”‚ β”œβ”€β”€ percent-encoding v2.3.1
β”‚ β”‚ β”‚ β”œβ”€β”€ pin-project-lite v0.2.14
β”‚ β”‚ β”‚ β”œβ”€β”€ rustls-pemfile v2.2.0
β”‚ β”‚ β”‚ β”‚ └── rustls-pki-types v1.9.0
β”‚ β”‚ β”‚ β”œβ”€β”€ serde v1.0.210 (
)
β”‚ β”‚ β”‚ β”œβ”€β”€ serde_json v1.0.128 ()
β”‚ β”‚ β”‚ β”œβ”€β”€ serde_urlencoded v0.7.1
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ form_urlencoded v1.2.1
β”‚ β”‚ β”‚ β”‚ β”‚ └── percent-encoding v2.3.1
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ itoa v1.0.11
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ ryu v1.0.18
β”‚ β”‚ β”‚ β”‚ └── serde v1.0.210 (
)
β”‚ β”‚ β”‚ β”œβ”€β”€ sync_wrapper v1.0.1
β”‚ β”‚ β”‚ β”‚ └── futures-core v0.3.31
β”‚ β”‚ β”‚ β”œβ”€β”€ system-configuration v0.6.1
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ bitflags v2.6.0
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ core-foundation v0.9.4 ()
β”‚ β”‚ β”‚ β”‚ └── system-configuration-sys v0.6.0
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ core-foundation-sys v0.8.7
β”‚ β”‚ β”‚ β”‚ └── libc v0.2.159
β”‚ β”‚ β”‚ β”œβ”€β”€ tokio v1.40.0 (
)
β”‚ β”‚ β”‚ β”œβ”€β”€ tokio-native-tls v0.3.1 ()
β”‚ β”‚ β”‚ β”œβ”€β”€ tower-service v0.3.3
β”‚ β”‚ β”‚ └── url v2.5.2
β”‚ β”‚ β”‚ β”œβ”€β”€ form_urlencoded v1.2.1 (
)
β”‚ β”‚ β”‚ β”œβ”€β”€ idna v0.5.0
β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ unicode-bidi v0.3.17
β”‚ β”‚ β”‚ β”‚ └── unicode-normalization v0.1.24
β”‚ β”‚ β”‚ β”‚ └── tinyvec v1.8.0
β”‚ β”‚ β”‚ β”‚ └── tinyvec_macros v0.1.1
β”‚ β”‚ β”‚ └── percent-encoding v2.3.1
β”‚ β”‚ β”œβ”€β”€ serde v1.0.210 ()
β”‚ β”‚ β”œβ”€β”€ serde_bytes v0.11.15 (
)
β”‚ β”‚ └── serde_json v1.0.128 ()
β”‚ β”œβ”€β”€ ic-cdk v0.14.1 (
)
β”‚ β”œβ”€β”€ reqwest v0.12.8 ()
β”‚ β”œβ”€β”€ serde v1.0.210 (
)
β”‚ β”œβ”€β”€ serde_bytes v0.11.15 ()
β”‚ └── serde_json v1.0.128 (
)
β”œβ”€β”€ generic-array v1.1.0
β”‚ └── typenum v1.17.0
β”œβ”€β”€ getrandom v0.2.15 ()
β”œβ”€β”€ hex v0.4.3
β”œβ”€β”€ ic-cdk v0.13.5
β”‚ β”œβ”€β”€ candid v0.10.10 (
)
β”‚ β”œβ”€β”€ ic-cdk-macros v0.13.2 (proc-macro)
β”‚ β”‚ β”œβ”€β”€ candid v0.10.10 ()
β”‚ β”‚ β”œβ”€β”€ proc-macro2 v1.0.87 (
)
β”‚ β”‚ β”œβ”€β”€ quote v1.0.37 ()
β”‚ β”‚ β”œβ”€β”€ serde v1.0.210 (
)
β”‚ β”‚ β”œβ”€β”€ serde_tokenstream v0.1.7
β”‚ β”‚ β”‚ β”œβ”€β”€ proc-macro2 v1.0.87 ()
β”‚ β”‚ β”‚ β”œβ”€β”€ serde v1.0.210 (
)
β”‚ β”‚ β”‚ └── syn v1.0.109 ()
β”‚ β”‚ └── syn v1.0.109 (
)
β”‚ β”œβ”€β”€ ic0 v0.21.1
β”‚ β”œβ”€β”€ serde v1.0.210 ()
β”‚ └── serde_bytes v0.11.15 (
)
β”œβ”€β”€ ic-cdk-timers v0.7.0
β”‚ β”œβ”€β”€ futures v0.3.31
β”‚ β”‚ β”œβ”€β”€ futures-channel v0.3.31 ()
β”‚ β”‚ β”œβ”€β”€ futures-core v0.3.31
β”‚ β”‚ β”œβ”€β”€ futures-executor v0.3.31
β”‚ β”‚ β”‚ β”œβ”€β”€ futures-core v0.3.31
β”‚ β”‚ β”‚ β”œβ”€β”€ futures-task v0.3.31
β”‚ β”‚ β”‚ └── futures-util v0.3.31 (
)
β”‚ β”‚ β”œβ”€β”€ futures-io v0.3.31
β”‚ β”‚ β”œβ”€β”€ futures-sink v0.3.31
β”‚ β”‚ β”œβ”€β”€ futures-task v0.3.31
β”‚ β”‚ └── futures-util v0.3.31 ()
β”‚ β”œβ”€β”€ ic-cdk v0.13.5 (
)
β”‚ β”œβ”€β”€ ic0 v0.21.1
β”‚ β”œβ”€β”€ serde v1.0.210 ()
β”‚ β”œβ”€β”€ serde_bytes v0.11.15 (
)
β”‚ └── slotmap v1.0.7
β”‚ [build-dependencies]
β”‚ └── version_check v0.9.5
β”œβ”€β”€ k256 v0.13.4 ()
β”œβ”€β”€ serde v1.0.210 (
)
β”œβ”€β”€ serde_bytes v0.11.15 ()
β”œβ”€β”€ serde_json v1.0.128 (
)
└── sha2 v0.10.8 (*)

I do not know how to interpret the error message. I am not sure if there is sufficient information in the error message to know what the cause is.

Any strategies in how a newbee can solve this issue are much appreciated.

Thanks in advance for any time you may spend diagnosing the cause of this error.

JD

Do you mind sharing your cargo.toml?
99% sure it has something to do with an unsupported package that requires os native functions.

Thanks for your fast reply. Here is cargo.toml:

[package]
name = "backend"
version = "0.1.0"
edition = "2021"

[lib]
crate-type = ["cdylib"]

[dependencies]
candid = "0.10"
ethers-core = "2.0.14"
evm-rpc-canister-types = "1.0.0"
generic-array = "1.0.0"
getrandom = { version = "0.2.15", features = ["js"] }
hex = "0.4.3"
ic-cdk = "0.13"
ic-cdk-timers = "0.7"   # Feel free to remove this dependency if you don't need timers
k256 = "0.13.3"
serde = "1.0.197"
serde_bytes = "0.11.14"
serde_json = "1.0.116"
sha2 = "0.10.8"
ethabi = "18.0.0"

At first glance I would expect β€œgetrandom” to be the cause of the issue, I would try to remove that and disable the code where it is used to see if it compiles correctly. If so, you can use raw_rand for randomness

1 Like

Suggested reading:

1 Like

In cargo tree I see getrandom being dragged in via ethabi

β”œβ”€β”€ ethabi v18.0.0
β”‚   β”œβ”€β”€ ethereum-types v0.14.1
β”‚   β”‚   β”œβ”€β”€ ethbloom v0.13.0
β”‚   β”‚   β”‚   β”œβ”€β”€ crunchy v0.2.2
β”‚   β”‚   β”‚   β”œβ”€β”€ fixed-hash v0.8.0
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ byteorder v1.5.0
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ rand v0.8.5
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ libc v0.2.159
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ rand_chacha v0.3.1
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ ppv-lite86 v0.2.20
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   └── zerocopy v0.7.35
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ byteorder v1.5.0
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”‚       └── zerocopy-derive v0.7.35 (proc-macro)
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”‚           β”œβ”€β”€ proc-macro2 v1.0.87 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”‚           β”œβ”€β”€ quote v1.0.37 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”‚           └── syn v2.0.79 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   └── rand_core v0.6.4
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚       └── getrandom v0.2.15

I am using ethabi for this:

use ethabi::{Token, Address};

I am using:

`use eth_call::{ call_smart_contract, get_ecdsa_public_key };`

I am calling the smart contract like this:

async fn call_proxy_endorse(target_str: String) -> Result<String, String> {

    let icp_id_string_representation: String = get_user_icp_id();
    let icp_id_string_representation_ref: &str = &icp_id_string_representation;
    let source: Token = get_address_from_string(icp_id_string_representation_ref);

    let target_str_ref: &str = &target_str;
    let target = get_address_from_string(target_str_ref);

    let amount = Token::Uint(U256::from(1u64));
    // let transaction_id = Token::String(generate_random_hash());
    let transaction_id = Token::String("1".to_string());

    let abi = get_abi();
    let params: Vec<Token> = vec![
        source,
        target,
        amount,
        transaction_id,
    ];

    let result = call_smart_contract(
      CONTRACT_ADDRESS.to_string(),
      &abi,
      "proxyEndorse",
      &params,
      true,
      Some(U256::from(11155111)), // Sepolia chain ID as U256
  )
  .await;

  match result {
    Ok(tx_hash) => {
        ic_cdk::println!("Transaction sent successfully. Hash: {:?}", tx_hash);
        Ok(format!("Proxy endorsed. Transaction hash: {:?}", tx_hash))
    },
    Err(e) => {
        ic_cdk::println!("Error sending transaction: {:?}", e);
        Err(format!("Failed to send transaction: {:?}", e))
    }
  }
}

So I was using ethabi to get Token. The problem is ethabi seems to be dragging in getrandom which is causing the deploy problem.

2 Likes