Upgrading to @icp-sdk/canisters
The new @icp-sdk/canisters package is organized into modules.
-
Remove the following packages, if present:
@dfinity/ckbtc@dfinity/cketh@dfinity/cmc@dfinity/ic-management@dfinity/ledger-icp@dfinity/ledger-icrc@dfinity/nns@dfinity/sns
E.g.:
Terminal window npm remove @dfinity/ckbtc @dfinity/cketh @dfinity/cmc @dfinity/ic-management @dfinity/ledger-icp @dfinity/ledger-icrc @dfinity/nns @dfinity/sns -
Install the new
@icp-sdk/canisterspackage:Terminal window npm install @icp-sdk/canisters -
Replace old imports with new imports, if present:
Old Import New Import @dfinity/ckbtc@icp-sdk/canisters/ckbtc@dfinity/cketh@icp-sdk/canisters/cketh@dfinity/cmc@icp-sdk/canisters/cmc@dfinity/ic-management@icp-sdk/canisters/ic-management@dfinity/ledger-icp@icp-sdk/canisters/ledger/icp@dfinity/ledger-icrc@icp-sdk/canisters/ledger/icrc@dfinity/nns@icp-sdk/canisters/nns@dfinity/sns@icp-sdk/canisters/snsE.g.:
- import { CkETHMinterCanister } from "@dfinity/cketh";+ import { CkETHMinterCanister } from "@icp-sdk/canisters/cketh";
Troubleshooting
Section titled “Troubleshooting”TypeScript moduleResolution
Section titled “TypeScript moduleResolution”If you’re using TypeScript, you need to set the moduleResolution to either node16, nodenext or bundler in your tsconfig.json file.
{ "compilerOptions": { "moduleResolution": "node16" }}See also @icp-sdk/core’s documentation for more information.
Installing with pnpm or yarn
Section titled “Installing with pnpm or yarn”If you’re installing with pnpm or yarn, you need to install the peer dependencies of @icp-sdk/canisters manually:
pnpm install @dfinity/ckbtc @dfinity/cketh @dfinity/cmc @dfinity/ic-management @dfinity/ledger-icp @dfinity/ledger-icrc @dfinity/nns @dfinity/sns @dfinity/utils @icp-sdk/coreyarn add @dfinity/ckbtc @dfinity/cketh @dfinity/cmc @dfinity/ic-management @dfinity/ledger-icp @dfinity/ledger-icrc @dfinity/nns @dfinity/sns @dfinity/utils @icp-sdk/core