Masa Oracle Contracts
Contract Deployments
Addresses of the deployed contracts
You can see the deployment address of the smart contracts in the addresses.json file. For every deployed smart contract you will find a <network>.<contract>
value.
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
ANKR_API_KEY
to the Ankr API key in .env
- Set
DEPLOYER_PRIVATE_KEY
to the deployer private key in .env
- Set
DEPLOYER_PRIVATE_KEY_TEST
to the test deployer private key in .env
- Set
ETHERSCAN_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/masa-contracts-oracle
Import in your project:
import {
MasaToken,
MasaToken__factory
} from "@masa-finance/masa-contracts-oracle";
const masaToken: MasaToken = MasaToken__factory.connect(
<address>,
<provider>
);
console.log(await masaToken.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