// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;
//工厂合约
/*
通过合约去部署合约,并部署后的地址用户集在数组索引之中
*/
contract Acc {
//创建两个地址,add是传入的地址,self是Acc合约的地址
address public add;
address public self;
//初始化部署
constructor(address x) payable {
add \= x;
self \= msg.sender;
}
}
contract creatAccount {
//创建一个Acc的数组来保存地址
Acc[] public arrAcc;
function accountCreat(address x) external payable {
Acc dizhi \= new Acc{value: 123}(x);
//推入数据
arrAcc.push(dizhi);
}
}