# Estimation/Task List for usdf chain
resource hours you need to accomplish each of these:
- configuration and testing of new chain (week)
* Separate staking token config, using provenance custom config.(Arnab/Carlton working on branch name `feature/usdf-chain-configurable-denom` )
* Fee token to be ibc/hash. (deterministically know the channel-id @Matt)
* Additional fee testing with gas prices set to 0 (1 day) (Carlton)
* Marker for staking coin (will escrow ibc hash) (.5 day)
* Set metadata for ibc hash (.5) (@jazzy)
* Figure out deterministic hash from pio-mainnet(channel,chain-id,denom) (1 day)
```
func (suite *KeeperTestSuite) TestHashDenom() {
trace := types.ParseDenomTrace(types.GetPrefixedDenom("transfer", "channel-4", "nhash"))
println(trace.IBCDenom())
//coin := sdk.NewCoin(trace.IBCDenom(), amount)
}
```
run this when channel is known
* Genesis file (copy of testnet/mainnet mainly)(1 day) (@arnab done initial work
a lot of assumptions there..like the poa token vspn has a supply of 10 million but the initial validators have a supply of 100 each :man- shrugging:
also all validators need gentx's from devops obv etc)
* Set IBC nhash as MsgFee Denom after netwrok comes up via gov(@carlton has tested this locally on custom usdf branch and works for paying MsgFees)
* Set (optionally with a USD conversion factor) not sure if we need this
- smart contract for hash translation to the authority token (@ken)
- IBC relayer configuration and testing (3-4 days @Matt)
- Code bugs/patches for sdk relayer (3 days `feature/usdf-chain-configurable-denom` main branch for this)
- bootstrap testnet (2 days, mainly @devops, jacarnabat to support)
- bootstrap mainnet (1 day, mainly @devops, jacarnabat to support)
- set up explorer(mainnet/testnet) (Carolyn)
- some kind of protection system for restricted markers in the private zone that prevents them from transferring over IBC (ibc-transfer fork/check send-enabled) ...
- ibc-transfer support for restricted markers that coordinates proper transfer between the two chains (ensure destination chain has required marker that is properly configured, facilitate remote zone transfers using source zone marker/transfer-ibc calls)