Distribute ether proportionally.
shares[account]released[account] += paymentaccount.call{value: payment}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
contract Splitter {
mapping(address => uint256) public shares;
mapping(address => uint256) public released;
uint256 public totalShares;
uint256 public totalReleased;
constructor(address[] memory ps, uint256[] memory ss) {
require(ps.length == ss.length);
for (uint i; i<ps.length; i++) { shares[ps[i]] = ss[i]; totalShares += ss[i]; }
}
receive() external payable {}
function release(address payable account) external {
// TODO
}
}