1
1
// SPDX-License-Identifier: UNLICENSED
2
2
pragma solidity ^ 0.8.13 ;
3
3
4
- import { Distribution, EnsoToken } from "../src/EnsoToken.sol " ;
5
- import { Script } from "forge-std/Script.sol " ;
4
+ import { Distribution } from "../src/Distribution.sol " ;
5
+ import { EnsoToken } from "../src/EnsoToken.sol " ;
6
+ import { Script, console } from "forge-std/Script.sol " ;
6
7
import { ERC1967Proxy } from "openzeppelin-contracts/proxy/ERC1967/ERC1967Proxy.sol " ;
7
8
8
9
contract TokenDeployer is Script {
9
10
address public OWNER = 0x0676675F4fddC2f572cf0CdDaAf0a6b31841CDaC ; // TODO
10
- address public COINLIST = 0x6969696969696969696969696969696969696969 ; // TODO
11
+ address public COINLIST = 0x477F48C93738C0A3a49E365c90Dc56e5466544Df ;
12
+ address public COINLIST_FEE = 0x9CA33da9D11cCb2E2b0870f83C0f963573B74A43 ;
11
13
12
- uint256 WEI = 10 ** 18 ;
13
- uint256 TOTAL_SUPPLY = 100_000_000 * WEI;
14
- uint256 BASIS_POINTS = 10_000 ;
15
- uint256 COINLIST_SHARE = (TOTAL_SUPPLY * 440 ) / BASIS_POINTS;
16
- uint256 OWNER_SHARE = TOTAL_SUPPLY - COINLIST_SHARE;
14
+ uint256 internal WEI = 10 ** 18 ;
15
+ uint256 internal BASIS_POINTS = 10_000 ;
16
+
17
+ uint256 public TOTAL_SUPPLY = 100_000_000 * WEI;
18
+ uint256 public COINLIST_SHARE = (TOTAL_SUPPLY * 400 ) / BASIS_POINTS;
19
+ uint256 public COINLIST_FEE_SHARE = (TOTAL_SUPPLY * 45 ) / BASIS_POINTS;
20
+ uint256 public OWNER_SHARE = TOTAL_SUPPLY - COINLIST_SHARE - COINLIST_FEE_SHARE;
17
21
18
22
function deploy () public returns (ERC1967Proxy token , EnsoToken implementation ) {
19
23
implementation = new EnsoToken ();
@@ -22,9 +26,10 @@ contract TokenDeployer is Script {
22
26
23
27
string memory name = "Enso " ;
24
28
string memory symbol = "ENSO " ;
25
- Distribution[] memory distribution = new Distribution [](2 );
29
+ Distribution[] memory distribution = new Distribution [](3 );
26
30
distribution[0 ] = Distribution (OWNER, OWNER_SHARE);
27
31
distribution[1 ] = Distribution (COINLIST, COINLIST_SHARE);
32
+ distribution[2 ] = Distribution (COINLIST_FEE, COINLIST_FEE_SHARE);
28
33
bytes memory initializationCall =
29
34
abi.encodeWithSelector (EnsoToken.initialize.selector , name, symbol, OWNER, distribution);
30
35
token = new ERC1967Proxy (address (implementation), initializationCall);
0 commit comments