Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(campaign): add createdAt field #796

Merged
merged 4 commits into from
May 13, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions proto/campaign/campaign.proto
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,18 @@ message Campaign {
uint64 campaignID = 1;
string campaignName = 2;
uint64 coordinatorID = 3;
uint64 mainnetID = 4;
bool mainnetInitialized = 5;
repeated cosmos.base.v1beta1.Coin totalSupply = 6 [
int64 createdAt = 4;
uint64 mainnetID = 5;
bool mainnetInitialized = 6;
repeated cosmos.base.v1beta1.Coin totalSupply = 7 [
(gogoproto.nullable) = false,
(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.Coin",
(gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"
];
repeated cosmos.base.v1beta1.Coin allocatedShares = 7 [
repeated cosmos.base.v1beta1.Coin allocatedShares = 8 [
(gogoproto.nullable) = false,
(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.Coin",
(gogoproto.castrepeated) = "Shares"
];
bytes metadata = 8;
bytes metadata = 9;
}
9 changes: 8 additions & 1 deletion testutil/sample/campaign.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,14 @@ func CampaignName(r *rand.Rand) string {

// Campaign returns a sample campaign
func Campaign(r *rand.Rand, id uint64) campaign.Campaign {
return campaign.NewCampaign(id, CampaignName(r), Uint64(r), TotalSupply(r), Metadata(r, 20))
return campaign.NewCampaign(
id,
CampaignName(r),
Uint64(r),
TotalSupply(r),
Metadata(r, 20),
Duration(r).Milliseconds(),
)
}

// MainnetAccount returns a sample MainnetAccount
Expand Down
9 changes: 8 additions & 1 deletion x/campaign/keeper/msg_create_campaign.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,14 @@ func (k msgServer) CreateCampaign(goCtx context.Context, msg *types.MsgCreateCam
}

// Append the new campaign
campaign := types.NewCampaign(0, msg.CampaignName, coordID, msg.TotalSupply, msg.Metadata)
campaign := types.NewCampaign(
0,
msg.CampaignName,
coordID,
msg.TotalSupply,
msg.Metadata,
ctx.BlockTime().Unix(),
)
campaignID := k.AppendCampaign(ctx, campaign)

// Initialize the list of campaign chains
Expand Down
5 changes: 5 additions & 0 deletions x/campaign/simulation/store_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ func TestGetCoordSimAccountWithCampaignID(t *testing.T) {
coords[1],
sample.TotalSupply(r),
sample.Metadata(r, 20),
sample.Duration(r).Milliseconds(),
)
camp.MainnetInitialized = true
chain := sample.Chain(r, 0, coords[1])
Expand All @@ -118,6 +119,7 @@ func TestGetCoordSimAccountWithCampaignID(t *testing.T) {
coords[0],
sample.TotalSupply(r),
sample.Metadata(r, 20),
sample.Duration(r).Milliseconds(),
)
camp.MainnetInitialized = true
chain := sample.Chain(r, 0, coords[1])
Expand Down Expand Up @@ -148,6 +150,7 @@ func TestGetCoordSimAccountWithCampaignID(t *testing.T) {
coords[1],
sample.TotalSupply(r),
sample.Metadata(r, 20),
sample.Duration(r).Milliseconds(),
)
idNoMainnet := tk.CampaignKeeper.AppendCampaign(ctx, camp)
acc, id, found := simcampaign.GetCoordSimAccountWithCampaignID(
Expand Down Expand Up @@ -185,6 +188,7 @@ func TestGetSharesFromCampaign(t *testing.T) {
0,
sample.TotalSupply(r),
sample.Metadata(r, 20),
sample.Duration(r).Milliseconds(),
)
shares, err := campaigntypes.NewShares(fmt.Sprintf(
"%[1]dfoo,%[1]dbar,%[1]dtoto",
Expand All @@ -204,6 +208,7 @@ func TestGetSharesFromCampaign(t *testing.T) {
0,
sample.TotalSupply(r),
sample.Metadata(r, 20),
sample.Duration(r).Milliseconds(),
))
shares, found := simcampaign.GetSharesFromCampaign(r, ctx, *tk.CampaignKeeper, campID)
require.True(t, found)
Expand Down
10 changes: 9 additions & 1 deletion x/campaign/types/campaign.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,14 @@ const (
)

// NewCampaign returns a new initialized campaign
func NewCampaign(campaignID uint64, campaignName string, coordinatorID uint64, totalSupply sdk.Coins, metadata []byte) Campaign {
func NewCampaign(
campaignID uint64,
campaignName string,
coordinatorID uint64,
totalSupply sdk.Coins,
metadata []byte,
createdAt int64,
) Campaign {
return Campaign{
CampaignID: campaignID,
CampaignName: campaignName,
Expand All @@ -21,6 +28,7 @@ func NewCampaign(campaignID uint64, campaignName string, coordinatorID uint64, t
TotalSupply: totalSupply,
AllocatedShares: EmptyShares(),
Metadata: metadata,
CreatedAt: createdAt,
}
}

Expand Down
114 changes: 75 additions & 39 deletions x/campaign/types/campaign.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 12 additions & 1 deletion x/campaign/types/campaign_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,20 @@ func TestNewCampaign(t *testing.T) {
coordinator := sample.Uint64(r)
totalSupply := sample.TotalSupply(r)
metadata := sample.Metadata(r, 20)
createdAt := sample.Duration(r).Milliseconds()

cmpn := campaign.NewCampaign(campaignID, campaignName, coordinator, totalSupply, metadata)
cmpn := campaign.NewCampaign(
campaignID,
campaignName,
coordinator,
totalSupply,
metadata,
createdAt,
)
require.EqualValues(t, campaignID, cmpn.CampaignID)
require.EqualValues(t, campaignName, cmpn.CampaignName)
require.EqualValues(t, coordinator, cmpn.CoordinatorID)
require.EqualValues(t, createdAt, cmpn.CreatedAt)
require.False(t, cmpn.MainnetInitialized)
require.True(t, totalSupply.IsEqual(cmpn.TotalSupply))
require.EqualValues(t, campaign.EmptyShares(), cmpn.AllocatedShares)
Expand Down Expand Up @@ -63,6 +72,7 @@ func TestCampaign_Validate(t *testing.T) {
sample.Uint64(r),
sample.TotalSupply(r),
sample.Metadata(r, 20),
sample.Duration(r).Milliseconds(),
),
valid: false,
},
Expand All @@ -74,6 +84,7 @@ func TestCampaign_Validate(t *testing.T) {
sample.Uint64(r),
invalidCoins,
sample.Metadata(r, 20),
sample.Duration(r).Milliseconds(),
),
valid: false,
},
Expand Down
9 changes: 8 additions & 1 deletion x/campaign/types/genesis_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,14 @@ func TestGenesisState_Validate(t *testing.T) {
desc: "invalid campaign",
genState: &types.GenesisState{
CampaignList: []types.Campaign{
types.NewCampaign(0, invalidCampaignName, sample.Uint64(r), sample.TotalSupply(r), sample.Metadata(r, 20)),
types.NewCampaign(
0,
invalidCampaignName,
sample.Uint64(r),
sample.TotalSupply(r),
sample.Metadata(r, 20),
sample.Duration(r).Milliseconds(),
),
},
CampaignCounter: 1,
},
Expand Down