Contract Deployments
Deployment addresses
You can see the deployment address of the smart contracts in the deployments/mumbai and deployments/polygon folders. For every deployed smart contract you will find a <smart_contract>.json
JSON file with the address in the "address"
field.
Configuration
The admin
is allowed to set configuration variables in the smart contracts.
The base url for the Metadata url that is beeing generated from the contract
Roles
deployer
: Deploys the contract, has no rights after everything has properlty handed over to other rolesadmin
: Delegated to the Masa Service account inside the Masa API. It has the rights to administrate the smart
contractsminter
: Minter role. It has the rights to mint tokens to customers wallets.
Deployment
Preparations
- Set
DEPLOYER_PRIVATE_KEY
to the deployers private key in .env.{network}.secret
- Set
COINMARKETCAP_API_KEY
to the CoinMarketCap API key in .env
, if needed - Set
INFURA_API_KEY
to the Infura API key in .env
, if needed - Set
POLYGONSCAN_API_KEY
to the Etherscan API key in .env
, if needed
Deploy
Run: yarn deploy --network {network}
to deploy.
Installation and usage
Installing via npm
package:
npm i @masa-finance/arcomia-contracts
Import in your project:
import { ArcomiaOGCommunitySBT, ArcomiaOGCommunitySBT__factory } from "@masa-finance/arcomia-contracts";
const arcomiaOGCommunitySBT: ArcomiaOGCommunitySBT = ArcomiaOGCommunitySBT__factory.connect(
<address>,
<provider>
);
console.log(await arcomiaOGCommunitySBT.symbol());
Generation of a new release
From a clean main
branch you can run the release task bumping the version accordingly based on semantic versioning:
yarn release
The task does the following:
- Bumps the project version in
package.json
- Creates a Git tag
- Commits and pushes everything
- Creates a GitHub release with commit messages as description
- Git tag push will trigger a GitHub Action workflow to do a
npm
release
For the GitHub releases steps a GitHub personal access token, exported as GITHUB_TOKEN
is required. You can add this
environment variable to the .env
file. Setup