- Deployer
- Factory
- Route
- Exchange Token
- Buyer/consumer: multiple addresses
- Deploy
- WETH(Base Token)
- Deploy
- Creator: multiple addresses
- Deploy
- Vault
- DAO
- Deploy
- Fee To Setter
- Migration Contract
- Creator Admins: multiple addresses
We will divide it into 3 phases
- Using A2 deploy WETH
- Using A1 deploy ET, Factory, Route
- Try updating and resetting all values in Factory via A4
- Using A1 Transfer 30000000000000000000 X tokens to A2
- Using A3
- Call newCreator, pass fees
- Call setCreatorAdmins for A6
- Call getCreatorAdmins
- Deploy Vault, with name and symbol
- Deploy DAO
- Call generateCreatorVault
- Add NFT to the vault
- Using A6 try adding NFTs to vault
- Using A3, airdrop some token to A2, A6, A4
- Approve large amount of allowance to Vault for WETH using A2 so that buying can be done fast
- Using A3
- Initialise ICTO for 420 seconds
- Using A2
- Bid in ICTO
- Using A1 transfer 30000000000000000000 x tokens to A2
- Using A2
- Bid in ICTO
- Using A3 try redeeming Creator Tokens from Vesting Vault
- Using A2
- Swap Creator tokens for Base token in Pair (3 times)
- Swap Base tokens for Creator token in Pair (3 times)
- Using A2
- Redeem NFT (3 times)
- Swap NFT
- Return NFT
- Using A3 add NFTs to Vault
- Using A4, set noOfEtForDiscount to 100000000000000000000
- Repeat Step 6
- Using A3
- Add A4 as manager
- Remove A4 as manager
- Using A6
- Add A2, A4 as manager
- Using A4 call airdrop Proposal with some amount
- Vote using A2,A3,A4,A6
- Call UpdateAirdropAmount
- Using A6
- Perform Airdrop
- Using A6 call FLO Proposal with some amount
- Vote using A2,A3,A4,A6
- Call UpdateFLOAmount
- Using A3
- Call addFLOTokens in Vault
- Initialise FLO
- Approve large amount ofallowance to Vault for WETH using A2 so that buying can be done fast
- Using A3
- Initialise FLO for 420 seconds
- Using A2
- Bid in ICTO
- Using A3 try redeeming Creator Tokens from Vesting Vault
- Using A6 call Allowances Proposal with some amount for A2,A6
- Using A6 call Allowances Proposal with some amount for A2
- Vote using A2,A3,A4,A6
- Call UpdateAllowancesAmount
- Using A2 transfer allowance to A1,A4,A5
- Call sendAllowances to batch transfer to A1,A4,A5
- Using A1
- Call redeemAllowances to redeem some amount
- Using A6 call general Proposal
- Vote using A2,A3,A4,A6
- Using A3
- Call removeCreatorAdmins for A6
- Call getCreatorAdmins
- Call isCreatorAdmins for A6
- Call setCreatorAdmins for A6
- Call isCreatorAdmins for A6
- Call setCreatorBank
- Call UpdateCreatorSwapFee
- Call UpdateCreatorNFTFee
- Call UpdateCreatorCTOFee
- Using A4,
- Call MigrationContract as A4
- Call MigrationDuration as 420 seconds
- Call MigrationContractVotingInitialise from CreatorToken
- Vote using A2,A3,A4,A6
- Call syncMigrationContractVoting from CreatorFactory
- Using A4(as migration Contract),
- Call migrateVault
- Call migrateDAO
- Call migratePair