New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

@ic-wallet-kit/icrc

Package Overview
Dependencies
Maintainers
0
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ic-wallet-kit/icrc

Ic middleware wallet ICRC protocol

latest
Source
npmnpm
Version
0.0.3
Version published
Maintainers
0
Created
Source

ICRC

ICRC is a library for Internet Computer Network. This library allows users to manage their digital assets and perform transactions with major ICRC cryptocurrencies.

Installation

To install this library to an external project, follow the procedure:

npm install @ic-wallet-kit/common
npm install @ic-wallet-kit/icrc

Configuration

Use IcrcInitializer to register initial containers and init middleware process

  • IcrcInitializer.build - Register all initial containers.
  • IcrcInitializer.init - Init background middleware process. Like RxDb and replication of it.
  • IcrcInitializer.logout - Destroy all containers.

The IcrcInitializer.build function takes the parameters:

ParamDescription
IdentifierServiceMiddleware identity services
RxStorageRxDb storage. Dependent from app environment. Find more info at https://rxdb.info/rx-storage.html
IStorageStorage for cache and other temporal data of middleware, could be either memory storage or local storage in the browser
ILoggerInterface of middleware logs.
AssetManagerConfigurationAsset data configuration
TransactionManagerConfigurationTransaction configuration
RefreshServiceConfigurationRefresh Service configuration
ReplicationConfigurationReplication configuration
createIcrcCanisterFuncFunction to connect with replication canister

Example

import { IdentifierService, RefreshServiceConfiguration, ReplicationConfiguration } from "@ic-wallet-kit/common";
import { AssetManagerConfiguration, IcrcInitializer, TransactionManagerConfiguration } from "@ic-wallet-kit/icrc";
import { getRxStorageMemory } from "rxdb/plugins/storage-memory";
import { createActor } from "./database/candid";
import "reflect-metadata";
import { HttpAgent } from "@dfinity/agent";
import { Ed25519KeyIdentity } from "@dfinity/identity";
import { Logger } from "@app/main";

(async () => {
    const logger = new Logger();

    const seedBuf = new Uint8Array(new ArrayBuffer(32));
    seedBuf.set(new TextEncoder().encode("seed"));
    const secpIdentity = Ed25519KeyIdentity.generate(seedBuf);

    const agent = await HttpAgent.create({
        identity: secpIdentity,
        verifyQuerySignatures: false,
        host: "https://identity.ic0.app",
        retryTimes: 10
    });

    const identifierService = new IdentifierService(agent, secpIdentity);

    const assetManagerConfiguration: AssetManagerConfiguration = {
        defaultDateTimeFormat: "MM/DD/YYYY HH:mm"
    };

    const transactionManagerConfiguration: TransactionManagerConfiguration = {
        icpUrl: "https://rosetta-api.internetcomputer.org",
        ogyUrl: "https://rosetta-ogy.origyn.ch",
        icpNetwork: "00000000000000020101",
        ogyNetwork: "00000000012000b90101",
        icpBlockchain: "Internet Computer",
        ogyBlockchain: "ORIGYN Foundation"
    };

    const refreshServiceConfiguration: RefreshServiceConfiguration =
    {
        refreshIntervalMinutes: 2,
        enable: false
    };

    const icrcReplicationConfiguration: ReplicationConfiguration = {
        enable: false,
        host: "http://127.0.0.1:8000/",
        replicaCanister: "bd3sg-teaaa-aaaaa-qaaba-cai"
    }

    IcrcInitializer.build(
        identifierService,
        getRxStorageMemory(),
        localStorage,
        logger,
        assetManagerConfiguration,
        transactionManagerConfiguration,
        refreshServiceConfiguration,
        icrcReplicationConfiguration,
        createActor
   	);

    await IcrcInitializer.init();
})()

ICRC Modules

ICRC Assets

ICRC Allowance

ICRC Contact

ICRC Service

ICRC Tokens

ICRC Transaction

Function

Public functions for work with handlers. List of functions.

Keywords

icp

FAQs

Package last updated on 18 Mar 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts