增加distributor发布脚本
This commit is contained in:
parent
06f177fcc1
commit
27e9002873
@ -30590,7 +30590,7 @@
|
||||
}
|
||||
},
|
||||
"schemaVersion": "3.4.11",
|
||||
"updatedAt": "2023-04-11T03:22:29.574Z",
|
||||
"updatedAt": "2023-04-19T02:14:02.484Z",
|
||||
"networkType": "ethereum",
|
||||
"devdoc": {
|
||||
"kind": "dev",
|
||||
|
@ -33387,7 +33387,7 @@
|
||||
}
|
||||
},
|
||||
"schemaVersion": "3.4.11",
|
||||
"updatedAt": "2023-04-11T03:22:29.589Z",
|
||||
"updatedAt": "2023-04-19T02:14:02.512Z",
|
||||
"networkType": "ethereum",
|
||||
"devdoc": {
|
||||
"events": {
|
||||
|
@ -16789,7 +16789,7 @@
|
||||
}
|
||||
},
|
||||
"schemaVersion": "3.4.11",
|
||||
"updatedAt": "2023-04-11T03:22:29.581Z",
|
||||
"updatedAt": "2023-04-19T02:14:02.502Z",
|
||||
"networkType": "ethereum",
|
||||
"devdoc": {
|
||||
"kind": "dev",
|
||||
|
@ -3235,7 +3235,7 @@
|
||||
}
|
||||
},
|
||||
"schemaVersion": "3.4.11",
|
||||
"updatedAt": "2023-04-11T03:22:29.594Z",
|
||||
"updatedAt": "2023-04-19T02:14:02.528Z",
|
||||
"networkType": "ethereum",
|
||||
"devdoc": {
|
||||
"kind": "dev",
|
||||
|
File diff suppressed because one or more lines are too long
@ -14,7 +14,6 @@ contract NftDistributor is AccessControlEnumerable {
|
||||
mapping(uint256 => bool) public nftMinted;
|
||||
|
||||
IBEERC721 public nft;
|
||||
address public source;
|
||||
|
||||
event Minted(
|
||||
address indexed user,
|
||||
@ -33,7 +32,7 @@ contract NftDistributor is AccessControlEnumerable {
|
||||
* - _nftSource: The address of the source NFT that will check if user has mint permission.
|
||||
* - _manageAddress: The address that will have the MANAGE_ROLE assigned.
|
||||
*/
|
||||
constructor(address _nftTarget, address _nftSource, address _manageAddress) {
|
||||
constructor(address _nftTarget, address[] memory _manageAddress) {
|
||||
// Set up the ADMIN_ROLE and MANAGE_ROLE
|
||||
_setRoleAdmin(ADMIN_ROLE, ADMIN_ROLE);
|
||||
_setRoleAdmin(MANAGE_ROLE, ADMIN_ROLE);
|
||||
@ -43,13 +42,12 @@ contract NftDistributor is AccessControlEnumerable {
|
||||
_setupRole(ADMIN_ROLE, address(this));
|
||||
|
||||
// Grant the MANAGE_ROLE to the specified address
|
||||
_setupRole(MANAGE_ROLE, _manageAddress);
|
||||
for (uint256 i = 0; i < _manageAddress.length; ++i) {
|
||||
_setupRole(MANAGE_ROLE, _manageAddress[i]);
|
||||
}
|
||||
|
||||
// Initialize the nft contract with IBEERC721 interface
|
||||
nft = IBEERC721(_nftTarget);
|
||||
|
||||
// Set the source contract address
|
||||
source = _nftSource;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,11 +1,12 @@
|
||||
const Badge = artifacts.require("tokens/erc721/BEBadge");
|
||||
const Coin = artifacts.require("tokens/erc20/BEUSDT");
|
||||
const Wallet = artifacts.require("tokens/erc721/BEMultiSigWallet");
|
||||
const Wallet = artifacts.require("core/BEMultiSigWallet");
|
||||
const Distributor = artifacts.require("logic/NftDistributor");
|
||||
const config = require("../config/config");
|
||||
|
||||
module.exports = async function (deployer, network, accounts) {
|
||||
// await deployer.deploy(Badge, "BE Badge", "Badge", "0");
|
||||
// const badgeInstance = await Badge.deployed();
|
||||
const badgeInstance = await Badge.deployed();
|
||||
// if (badgeInstance) {
|
||||
// console.log("BEBadge successfully deployed. ");
|
||||
// console.log("address: " + badgeInstance.address);
|
||||
@ -17,21 +18,34 @@ module.exports = async function (deployer, network, accounts) {
|
||||
// console.log("BEUSDT successfully deployed. ");
|
||||
// console.log("address: " + coinInstance.address);
|
||||
// }
|
||||
await deployer.deploy(
|
||||
Wallet,
|
||||
60,
|
||||
1,
|
||||
config.admins.proposers,
|
||||
config.admins.confirmers,
|
||||
config.admins.executors
|
||||
);
|
||||
const walletInstance = await Wallet.deployed();
|
||||
if (walletInstance) {
|
||||
console.log("BEMultiSigWallet successfully deployed.");
|
||||
console.log("address: " + walletInstance.address);
|
||||
}
|
||||
// await deployer.deploy(
|
||||
// Wallet,
|
||||
// 60,
|
||||
// 1,
|
||||
// config.admins.proposers,
|
||||
// config.admins.confirmers,
|
||||
// config.admins.executors
|
||||
// );
|
||||
// const walletInstance = await Wallet.deployed();
|
||||
// if (walletInstance) {
|
||||
// console.log("BEMultiSigWallet successfully deployed.");
|
||||
// console.log("address: " + walletInstance.address);
|
||||
// }
|
||||
// await badgeInstance.setMintRole(walletInstance.address);
|
||||
// console.log("success add wallet to badge's mint role");
|
||||
// await coinInstance.setMintRole(walletInstance.address);
|
||||
// console.log("success add wallet to usdt's mint role");
|
||||
|
||||
await deployer.deploy(
|
||||
Distributor,
|
||||
badgeInstance.address,
|
||||
config.admins.executors
|
||||
);
|
||||
const distributorInstance = await Distributor.deployed();
|
||||
if (distributorInstance) {
|
||||
console.log("NftDistributor successfully deployed.");
|
||||
console.log("address: " + distributorInstance.address);
|
||||
}
|
||||
await badgeInstance.setMintRole(distributorInstance.address);
|
||||
console.log("success add distributor to badge's mint role");
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user