JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 10
  • Score
    100M100P100Q47157F
  • License ISC

An SDK for Emmet.Finance Bridge

Package Exports

  • emmet-sdk-v2
  • emmet-sdk-v2/index.ts

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (emmet-sdk-v2) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Emmet Finance SDK v2.0

Library installation

npm install git+https://github.com/Emmet-Finance/Emmet.SDK.V2.0.git

Installation with npm:

npm install emmet-sdk-v2

Installation with yarn:

yarn add emmet-sdk-v2

Library contents

|____src
| |____abis                     (Contract ABIs)
| | |____messageTransmitter.ts  (Circle Transmitter)
| | |____erc20.ts               (ERC20 / USDC)
| | |____index.ts               (Folder exports)
| | |____TokenMessengerABI.ts   (Circle Messenger)
| |____types                    (Library types and constants)
| | |____consts.ts              (General constants)
| | |____tokens.ts              (Token-related constants)
| | |____index.ts               (Folder exports)
| | |____chains.ts              (Chain-related types & constants)
| |____utils                    (Utility functions)
| | |____viem.ts                (VIEM library involving)
| | |____index.ts               (Folder exports)
| | |____chains.ts              (Chain object-related)
| | |____address.ts             (Blockchain address-related)
| |____index.ts                 (Library exports)
| |____chains                   (Blockchain Objects)
| | |____base.ts
| | |____ethereum.ts
| | |____polygonMumbai.ts
| | |____baseSepolia.ts
| | |____arbitrum.ts
| | |____polygon.ts
| | |____sepolia.ts
| | |____optimism.ts
| | |____optimismSepolia.ts
| | |____avalanche.ts
| | |____index.ts
| | |____arbitrumSepolia.ts
| | |____avalancheFuji.ts

Supported Blockchains

  1. Mainnet with infura nodes support

    • Arbitrum
    • Avalanche
    • Base (no infura support!)
    • Ethereum
    • Optimism
    • Polygon
  2. Testnet with infura nodes support

    • Arbitrum Sepolia
    • Avalanche Fuji
    • Base (no infura support!)
    • Ethereum Sepolia
    • Optimism Sepolia
    • Polygon Mumbai

Conecting to an EVM Blockchain

1. Only reading

If infuraApiKey is provided, an infura node relevant to the provided chainName will be used. Otherwise a public RPC node will be used for communication with the chosen chain.

import { getProvider } from 'emmet-sdk-v2';
import { config } from 'dotenv';
config();

const { INFURA_API_KEY } = process.env;
const chainName = 'ethereum';

const provider = getProvider(
    chainName,
    INFURA_API_KEY // (optional)
);

2. Writing & reading in a backend

Never use in any environment, where your private key can be exposed to strangers. Only siutable for initial testing or very secure backend.

import { getPrivateKeySigner } from 'emmet-sdk-v2';
import { config } from 'dotenv';
config();

const { PRIVATE_KEY, INFURA_API_KEY } = process.env;
const chainName = 'polygon';

cost backendSigner = getPrivateKeySigner(
    chainName,
    PRIVATE_KEY,
    INFURA_API_KEY // optional
);

3. Writing & reading in a Browser

import { getBrowserExtentionSigner } from 'emmet-sdk-v2';
import {config} from 'dotenv';
config();

const { INFURA_API_KEY } = process.env;
const chainName = 'base';

const signer = getBrowserExtentionSigner(
    chainName
);