Smart Contract Deployment

The script to deploy the proposal smart contract can be found in

This script is designed to deploy the TokenWeightedVoting smart contract on-chain. It sets up the necessary contract factory, defines the parameters for the contract constructor, and deploys the contract.

Running the Script

To run this deployment script, you need to use the Hardhat command line interface:

npx hardhat run scripts/deployProposalVotingContract.js --network <network-name>

Script Variables

Define MOC Token Address:

const mocTokenAddress = '0x6F6bB5dADDB05718382A0192B65603492C939f8F'; // Sepolia testnet USDC address for testing

This defines the address of the MOC token contract that the TokenWeightedVoting contract will interact with. This is the USDC address on the Sepolia testnet for testing purposes. In the production environment, this is to be set to the mainnet contract address for the MOC token.

Define Admins:

const admins = [
  '0x264f0700c60690a0e38ffc0702a64fdaf3251b25', // CL
  '0x39c8e6291e73c1f76888c01439151529478f78c0', // LL
  '0x28a7d59e1fe2293df533f6f13d1298a7e45f58b5',
  '0x8f44464be1197041ed9df2d5623c078f60dadd6e',
  '0x65d400b266fe59ea6bbc31d5888b3029b97999c1'
];

This array contains the addresses of the admin accounts that will be granted special permissions in the TokenWeightedVoting contract.

Last updated