tendermint / spn

A blockchain to launch blockchains.
Other
112 stars 43 forks source link

Most operation simulation fails in `campaign` for some specific seed #716

Open lumtis opened 2 years ago

lumtis commented 2 years ago

When using seed = 50 for simulation testing, this is the result we get for campaign:

"campaign": {
  "add_shares": {
   "failure": 23
  },
  "add_vesting_options": {
   "failure": 34,
   "ok": 3
  },
  "burn_vouchers": {
   "failure": 32
  },
  "create_campaign": {
   "failure": 31,
   "ok": 6
  },
  "initialize_mainnet": {
   "failure": 7
  },
  "mint_vouchers": {
   "failure": 36
  },
  "redeem_vouchers": {
   "failure": 37
  },
  "send": {
   "failure": 36
  },
  "unredeem_vouchers": {
   "failure": 34
  },
  "update_total_supply": {
   "failure": 6
  }
 }

I think that for some seed, the initialization, the initial creation of campaigns will create a state where our method GetCoordSimAccount or GetCoordSimAccountWithCampaignID are always unable to retrieve a coordinator or a campaign.

If this is the reason we should try to make these retriever methods more resilient.

This is not a high-priority since we can have good simulation results with other seeds

giunatale commented 2 years ago

Yes, I think your assumption is correct. Perhaps this ties to the way we handle simulation in profile