AmbireTech/adex-validator

AIP #61 v5: Channel and Campaign

Opened this issue · 2 comments

https://github.com/AdExNetwork/aips/issues/61

Rust reference:

Issue: AmbireTech/adex-validator-stack-rust#382
PRs: AmbireTech/adex-validator-stack-rust#383

Channel

As AIP#61 states the Channel is defined by (leader, follower, guardian, tokenAddr, nonce)

  • Channel validation - is token allowed? is the requester a Leader or a Follower?
  • No routes for storing Channels, they are gone.

Campaign

  • A Campaign is defined by Campaign { id: CampaignId, channel: Channel, creator, validators, title.... rest of the ChannelSpec fields }
    Note: The fields were aligned with Ivo before making the changes for the Campaign.
  • CampaignIdshould be a randomly assigned value by Sentry, we've chose the Uuid as a random generator in Rust and using a representation of the 16 bytes as 0x prefixed hex string

No migration

Apart from that we can remove obsolete fields in the ChannelSpec as the v5 will not have migration from v4 as it will work in a different way that v4.

The update way of use for channels does not need campaigns in the validators. Each channel will be used as ledgere between all participants. For the analytics we can use the campaignID (exteranl id generated on the backend) in tha path of the event record.

  • Channel valid until should be removed from the spec and validations - channels will not expire