Comments (10)
A few questions before start:
- Do you want to reserve the rights to make an additional mint (in case someone change the address)
- Will be another NFT for reward in next season or same?
Thank you!
About Solutions:
I think, no problem in other L2, We try first variant and then, will try to improve it. All attempts I can publish in that repo, in separate branch
from mono.
also: could you please publish the list of public keys of participants? iirc it was not in the chain, right?
from mono.
@FuryJohnson ...
1.) No let's not worry about this
2.) Having the ability to do another NFT would be cool, but not critical. We might do other seasons, or aware different NFT's for different levels of completion (which points to using an ERC-1155 rather than ERC-721). But again, I don't think this is critical for now. Even just one NFT for everyone who completes it would be awesome. We don't have to overthink this.
@unordered-set yeah we can get that to you soon, but don't have it quite yet. The list was def not on-chain. But either way I think we'd use a Merkle Distributor (ie. what Uniswap did here). Unless there's some other way to distrubute NFT's to thousands of people cheaply...
from mono.
Thank you very much for your reply. Great, i think we are on a same page and we can continue!
from mono.
I think we are more or less ready with the contract.
Contract
https://mumbai.polygonscan.com/address/0xaf8291a7e1b481967e34d5c7adfbd24c7dfa7a69 (passes validation of the source code as well)
And minted NFT:
So now I am waiting for the final list of participants to generate a Merkle tree + ideas what to place to the image, just logo or something else?
And yes, SYMBOL and NAME would be better to coordinate with you as well, GFAP is really an abbreviation which I am not very proud of 🙄
from mono.
@unordered-set , I think @blakewest can answer the question)
from mono.
Awesome! A few things...
- What is your plan for the front-end claiming process right now? If you didn't have anything in mind, maybe we could make a simple page from our main app, like
app.goldfinch.finance/flight_academy_claim
- In terms of symbol / name, let's do... GFA-1 / Goldfinch Flight Academy - 1. Because it is the first Flight Academy and we may do more in the future.
- I see it's an ERC-721. So that means we'd have one option for art. @andrew-goldfinch I believe wanted to have 2-3 options for different levels. I know I said it's OK to just have one level, and it is! But I'm curious if it would be much extra work to deploy 1-2 additional ERC-721 contracts for the different levels? Or alternatively... deploy an ERC-1155? If it would be a hassle, then this is still great. But if it would be easy I think it could be cool.
Follow up questions
@andrew-goldfinch how many types of participation NFT's would you want to give out? And if we want multiple, what exactly are they for (so that we could give unique symbols to each). If we're cool with just one type, let that be known too!
@andrew-goldfinch Do we have the art that we want to use? (whether for one type or multiple types)
@andrew-goldfinch can we get them the list of addresses that participated?
@unordered-set what email should we use to send you the list of addresses?
from mono.
I think switching to ERC-1155 is a bit dangerous right now, because everything is already prepared and I'm a bit scared to start doing new things. Also, maintaining a long-standing contract is much more expensive. Doing one-shot hermetic minting contract is easy, repeating it easy as well. But when you are switching to ERC-1155 with a feature to add more possible tokens to it etc, you need an infrastructure to store private key, manage the contract etc.
I am more than happy to deploy additional contracts when needed instead. Or I can check more detailed about 1155 for the next graduation. And we can even back-fill it.
About my email: could you please reach me on [email protected] . And just to confirm - in order to generate Merkle tree proofs there are two ways to do it.
- I'm generating it on my PC, and we are emailing / discording proof to each participant (not nice idea, but it helps is to keep public keys hidden, although I don't think it makes sense, because all of the LP token holders etc, you can easily get it from onchain)
- we are generating the proof on the frontend on the fly. This makes the list of addresses visible to everyone, who wants to digg into the code.
I'm more into following 2) if you don't have any objections
from mono.
@unordered-set good points regarding ERC-1155. Yeah let's stick with the ERC-721. Let's see if we want to repeat and deploy 1 or 2 more. Need to wait on @andrew-goldfinch to give us the final answer here as well as the list of addresses.
Regarding the list of addresses, I don't have any issues with no. 2. While not all flight academy participants will be on-chain (since not all participated as LPs), many did, and the public key is not sensitive information anyway. Plus they'll be nothing else to really connect it to in the outside world, so I think it's fine. @andrew-goldfinch when you have finalized the address list (and NFT styles that each address should get), please email it over.
@unordered-set what was your plan for the front-end claiming process?
Thanks! This is gonna be great!
from mono.
@blakewest , frontend was mostly managed by @FuryJohnson . Overall, I've seen the code, it is straightforward. Connect Wallet, ensure that network is Polygon, press "MINT", show your token on OpenSea.
from mono.
Related Issues (20)
- typechain/ethers is missing when launching the mono HOT 4
- Error when starting /mono ----> "Failed at the @goldfinch-eng/[email protected] start script." HOT 7
- Instructions missing - the project cannot be run HOT 8
- Deploying the smart contracts on custom network HOT 22
- ProviderError: Unsupported method: hardhat_impersonateAccount HOT 3
- Partial sweep to Compound
- Multiple deployment functions in `baseDeploy` do not use `DeployEffects` for upgrading config values
- `deployFixedLeverageRatioStrategy` attempts to re-initialize an existing contract HOT 1
- Allow protocol owner to be passed in as an environment variable.
- setupForTesting - Warning! Error encountered during contract execution [execution reverted]
- Senior pool should return the amount it invested when `invest` is called
- Error: call revert exception
- ProviderError: max code size exceeded HOT 2
- Infinite loading when installing the project HOT 3
- sorry this is created by mistake, please delete
- network does not support ENS HOT 2
- chainId error when start running mainnet fork
- Subgraph: TranchedPool.estimatedLeverageRatio returns 4 for Unitranche deal
- Active? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mono.