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: on-chain permissioned launchpad #1024

Draft
wants to merge 424 commits into
base: main
Choose a base branch
from
Draft

Conversation

hthieu1110
Copy link
Collaborator

@hthieu1110 hthieu1110 commented Mar 4, 2024

1. Contract

2. Service

2.a. Collections/Projects Status

2.a.1. INCOMPLETE

(DB) The collection_data from launchpad_project doesn't have a metadatas_merkle_root.
The user has to Complete the collection (See UploadMetadatas endpoint) that he can found on my-collections page (See CollectionsByCreator endpoint)

2.a.2. COMPLETE

(DB) The collection_data from launchpad_project has a metadatas_merkle_root and doesn't have a deployed_address.
The admin has to review and approve/confirm the collection (See ???)

2.a.3. CONFIRMED

(DB) ???
The admin has to deploy the collection (See deploy_collection from the contract)

2.a.4. DEPLOYED

(DB) The collection_data from launchpad_project has a deployed_address
Listed on the Marketplace

2.b. Endpoints

2.b.1. UploadMetadatas

2.b.2. CalculateCollectionMerkleRoot

2.b.3. TokenMetadata

2.b.4. CollectionsByCreator

Control the user's ownership with creatorId, returns a list of collectionData, can filter by status, can sort

2.b.5. LaunchpadProjects

2.b.6. LaunchpadProjectById

2.b.7. LaunchpadProjectsCount

3. Front-end

Access from here :
image

3.a. Collection creation form

I tried a way to make good forms : https://hackmd.io/TXt0Gz5_Q-OJIo6-OH674w?both

3.a.1. Datetime inputs

I made this :
image
The user has to type a valid datetime
image
The hours/minutes/seconds can be empty
image

3.a.2. Fields control at form submission

The button is at the step 6
image
If fields are invalid or required fields are not filled, an error is shown, and all the invalid/required fields are highlighted. The user has to navigate in the form to find the highlighted fields.
We could show a red pill or something near the steps to tell the user which step is concerned.
image

3.a.3. Collection minting periods

The user can add a whitelist (list of wallet addresses) that will be concerned by the period parameters. If there is no whitelist provided, the parameters will be effective for all users.
The CSV must be something like this :
image

3.a.4. Collection assets

3.a.4.1. The user must add a CSV file before images

==> If he add a new CSV file, all the images are removed (It was easier to implement)
image

The CSV must be something like this :
image

TODO: Handle attributes

3.a.4.2. The user can see the valid assets

==> He can see manually all assets metadata
image

3.a.4.3. Error if the added CSV has not the right headings

==> The first row must contains the columns names :
fileName, name, description, externalURL, youtubeURL, attributes
image

3.a.4.4. Warning if the user miss adding images that are expected in the CSV

Not blocking, the expected assets are added, the wrongs are ignored
image

3.a.4.5. Warning if the user adds images that are not expected in the CSV

Not blocking, the unepected assets are not added
image

3.a.4.6. Warning if the user adds images that are missing "name" or "attributes" values in the CSV

Not blocking, the incomplete assets are not added
image

3.b. User's My Collections

3.c. Admin

Copy link

netlify bot commented Mar 4, 2024

Deploy Preview for testitori ready!

Name Link
🔨 Latest commit 180e2de
🔍 Latest deploy log https://app.netlify.com/sites/testitori/deploys/672e72240a0a7e0007fd9af1
😎 Deploy Preview https://deploy-preview-1024--testitori.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link

netlify bot commented Mar 4, 2024

Deploy Preview for teritori-dapp ready!

Name Link
🔨 Latest commit a19ea36
🔍 Latest deploy log https://app.netlify.com/sites/teritori-dapp/deploys/676369bba9c3cb0008e24155
😎 Deploy Preview https://deploy-preview-1024--teritori-dapp.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@n0izn0iz n0izn0iz changed the title wi: init cosmwasm contract feat: on-chain permissioned launchpad Mar 4, 2024
Makefile Outdated Show resolved Hide resolved
api/launchpad/v1/launchpad.proto Outdated Show resolved Hide resolved
@WaDadidou WaDadidou force-pushed the feat/cosmwasm-launchpad branch from c396913 to 8c933dd Compare March 27, 2024 13:48
packages/networks/types.ts Outdated Show resolved Hide resolved
packages/networks/types.ts Outdated Show resolved Hide resolved
@WaDadidou WaDadidou force-pushed the feat/cosmwasm-launchpad branch from 370aaa0 to 7863900 Compare June 30, 2024 00:17
@WaDadidou WaDadidou force-pushed the feat/cosmwasm-launchpad branch 6 times, most recently from c98de81 to f1444e7 Compare July 2, 2024 21:49
@WaDadidou WaDadidou force-pushed the feat/cosmwasm-launchpad branch from f1444e7 to 12cdc6b Compare July 2, 2024 21:49
int32 offset = 3;
Sort sort = 4;
SortDirection sort_direction = 5;
// TODO: user authentication (Member of the admin DAO)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no need to add todo there, auth will be handled by a grpc middleware and grpc headers

@WaDadidou WaDadidou force-pushed the feat/cosmwasm-launchpad branch from ce8bccc to f08bedc Compare July 4, 2024 23:33
@WaDadidou WaDadidou force-pushed the feat/cosmwasm-launchpad branch 5 times, most recently from 5316774 to 48aa11e Compare July 6, 2024 19:30
Fix a redirection after complete/create
Add Complete button to review screen
Change onBackPress from review screen
Rename a modal
…on data.

Remove useless project_desc (We already have desc).
Set revealTime as optional in Create form
…ploy_collection indexer handler.

Smal fixes front on Review screen
Rollback SocialButton changes
Copy link

netlify bot commented Nov 30, 2024

Deploy Preview for gno-dapp ready!

Name Link
🔨 Latest commit a19ea36
🔍 Latest deploy log https://app.netlify.com/sites/gno-dapp/deploys/676369bb36e75600086f86aa
😎 Deploy Preview https://deploy-preview-1024--gno-dapp.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants