Skip to main content


@bosonprotocol/common / Exports


JS lib with common types, interfaces and utilities shared by the core components of the Boson Protocol.


npm install @bosonprotocol/common

# OR

yarn add @bosonprotocol/common



Useful ABIs can be imported.

import { abis } from "@bosonprotocol/common";

const { ProtocolDiamondABI } = abis;

Default configs

We provide default configurations for multiple environments that can be used for easier interaction.

import { getDefaultConfig } from "@bosonprotocol/common";

const defaultConfigOnRopsten = getDefaultConfig("staging");
// {
// ...otherConfigParameters,
// subgraphUrl: "",
// contracts: {
// protocolDiamond: "0x5E3f5127e320aD0C38a21970E327eefEf12561E5"
// }
// }

Interfaces and types

Interfaces and types can also be imported. This might be useful for implementing custom a Web3LibAdapter or MetadataStorage.

import { Web3LibAdapter, MetadataStorage } from "@bosonprotocol/common";

class CustomWeb3LibAdapter implements Web3LibAdapter {
// implementation

class CustomMetadataStorage implements MetadataStorage {
// implementation


The core-sdk has the following features:

  • web3 lib agnostic
  • lightweight
  • consists of composable building blocks
  • leverages existing tools, such as TypeChain

To achieve these, we use an adapter pattern with Web3LibAdapter being the interface.

An example implementation is the EthersAdapter targeting the ethers library.