代码拉取完成,页面将自动刷新
pragma solidity ^0.4.24;
import './basicFunding.sol';
import './InvestorToFunding.sol';
contract FundingFactory {
address[] public crowFundingArray;
mapping(address => address[]) public creatorFundingMap;
address public platformProvider;
//添加一个变量,默认i2为0x00000000000000000,必须实例化才可使用
InvestorToFunding i2f;
constructor() public {
platformProvider = msg.sender;
//实例化InvestorToFunding合约,返回一个地址。
address i2fAddress = new InvestorToFunding();
//将地址显示转换为InvestorToFunding类型,此时i2可以正常使用了
i2f = InvestorToFunding(i2fAddress);
}
function createFunding(string _projectName, uint _supportMoney, uint _goalMoney, uint _duration) public {
//a. 创建一个新合约
address fundingAddress = new CrowFunding(_projectName, _supportMoney, _goalMoney, _duration, msg.sender, i2f);
//b. 添加到合约集合中
crowFundingArray.push(fundingAddress);
//c. 添加到我所创建合约的集合中
creatorFundingMap[msg.sender].push(fundingAddress);
}
//返回该众筹平台所有的合约
function getAllFunding() public view returns(address[]){
return crowFundingArray;
}
//返回当前账户所创建的所有合约
function getCreatorFunding() public view returns(address[]) {
return creatorFundingMap[msg.sender];
}
//返回当前账户所参加的所有合约
function getInvestorFunding() public view returns(address[]) {
return i2f.getFundingBy(msg.sender);
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。