Socket
Socket
Sign inDemoInstall

@bosonprotocol/instances

Package Overview
Dependencies
Maintainers
10
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@bosonprotocol/instances

Utility package that contains the official contract addresses and ABIs of the [Boson Protocol](https://www.bosonprotocol.io/).


Version published
Weekly downloads
13
decreased by-7.14%
Maintainers
10
Weekly downloads
 
Created
Source

@bosonprotocol/instances

Utility package that contains the official contract addresses and ABIs of the Boson Protocol.

Installation

npm install @bosonprotocol/instances
# OR
yarn add @bosonprotocol/instances

Usage

The package contains addresses and ABIs of multiple protocol versions and environments/chains.

Import

You can directly import from a @bosonprotocol/instances/<PROTOCOL_VERSION> module (available protocol versions are listed in the src/versions folder) or use the top-level asynchronous get functions.

ESM
import { getContractAddresses } from "@bosonprotocol/instances/1.0.0";
import {
  BosonRouterABI,
  VouchersABI
} from "@bosonprotocol/instances/1.0.0/abis";

import {
  getContractAddressesByVersion,
  getAbiByVersion
} from "@bosonprotocol/instances";
CJS
const { getContractAddresses } = require("@bosonprotocol/instances/1.0.0");
const {
  BosonRouterABI,
  VouchersABI
} = require("@bosonprotocol/instances/1.0.0/abis");

const {
  getContractAddressesByVersion,
  getAbiByVersion
} = require("@bosonprotocol/instances");

Contract addresses

const addressesMainnetProduction = getContractAddresses({
  chainId: 1,
  env: "production"
});
const addressesRopstenTesting = getContractAddresses({
  chainId: 3,
  env: "testing"
});

const addressesByVersion = await getContractAddressesByVersion({
  chainId: 3,
  env: "testing",
  protocolVersion: "1.0.0"
});

ABIs

Import directly from @bosonprotocol/instances/<PROTOCOL_VERSION>/abis or use

const abi = await getAbiByVersion({
  contractName: "BosonRouter",
  protocolVersion: "1.0.0"
});

Contribution

In order to update or add addresses and ABIs of newer protocol versions or different environments/chains, checkout this repository and follow the steps below:

Install dependencies

npm install

Update or add source files

Addresses

If you want to update or add addresses run:

npm run update:addresses -- <SRC_FILE>

Note, that the <SRC_FILE> should conform to the schema:

{
  "chainId": "<CHAIN_ID>", // number
  "env": "<ENV>", // optional string
  "protocolVersion": "<PROTOCOL_VERSION>",
  "<CONTRACT_NAME>": "<CONTRACT_ADDRESS>"
  // ... other contract entries
}

If you run the deploy script of the bosonprotocol/contracts repo, then the outputted addresses file can be used as the <SRC_FILE>:

# in the contracts repo
npx hardhat deploy --network rinkeby --env staging

# in the instances (this) repo
npm run update:addresses -- <PATH_TO_CONTRACTS_REPO>/addresses/4-staging.json
ABIs

To update the ABIs you can run:

npm run update:abis -- <PROTOCOL_VERSION>

This will install the @bosonprotocol/core package and create the respective files in the src/versions/<PROTOCOL_VERSION>/abis folder.

Create a PR

Commit the changes to a new branch and create a PR. Note, that we use Conventional Commits and Semantic Release to automatically publish and version the package. Therefore, if you update addresses the commit message should look something like

fix: addresses v1.0.0 staging ropsten

If you add new addresses or ABIs the commit message should look something like

feat: addresses v1.1.0 testing ropsten

FAQs

Package last updated on 18 Mar 2022

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc