austink.eth Profile picture
Jan 27, 2023 16 tweets 6 min read Read on X
When we started onboarding to Dapper Wallet, we had two options:
1. Maintain Royalties manually (this is what was suggested to us originally)
2. Utilize royalties metadata standards

We chose the latter 🧵
To start, if you aren't familiar with it, you should check out the Royalties metadata standard on flow. You can find that here:
github.com/onflow/flow-nf…
Why would a marketplace choose the first option? Well, it makes the contract work easier. In order to go with option 2, you have to start accounting for things you otherwise wouldn't need to care about. Like whether or not an account can receive a certain token.
What does that mean? Well it has to do with how the @flow_blockchain works! Unlike ethereum, you have to configure your wallet to receive items before they can actually reach you. So if we needed to send USDC tokens to you, but you can't get them, what are we supposed to do?
We put our heads together a while ago and came up with a solution for the whole community for that problem. If you'd like to learn more about that, check out my thread about what we ended up calling the "Lost and Found"

The summary for Lost and Found? Build a central escrow anyone can send things to, ensuring that only the right redeemer can get the items meant for them. This is actually the preferred approach folks at @dapperlabs suggested for when a royalty isn't valid!
Unfortunately, that doesn't work for all cases. Dapper Balance (Dapper Utility Coin) and Dapper Flow (Flow Utility Token) aren't like other Fungible Tokens. They are not permitted to exist in any account other than their contract address. This is vital to Dapper's compliance work
So if we can't escrow tokens, what do you do if it isn't configured? Well, we have to skip them. If we didn't, a royalty recipient could make their receiver invalid and make any NFT that uses it unable to be sold on marketplaces that use the royalties standard
There is actually still more work to be done there, we have a pending pull request to the fungible token repo to help us make that more verbose (and the ball is in our court to wrap it up)

github.com/onflow/flow-ft…
Anyway, so what happens if you don't specify any royalties on your collection's NFTs? Unfortunately, it means no royalties. Luckily, this can be fixed at any time! Let's look at an example.
@cuveecollective adhere to Metadata Standards in that they have a "Royalties" struct, but it is actually empty. This means that to anyone following the spec as it is written, this collection is signaling that it has NO royalties.

flow-view-source.com/mainnet/accoun… Image
All that you have to do is update your contract to specify royalty cuts and you're good to go! Something like this would work (don't forget to test things out)

gist.github.com/austinkline/fb… Image
With this, or something similar, all listings on @flowty_io on all our various products would pick this up. Our good friends at @flovatar are a great example of this!
In the @flovatar contract, they specify two royalties. 5% for them, and 1% for the original minter. And as expected, you can see us pick that up in our marketplace. This is where those original options matter! Marketplaces who hard code royalties can miss the other 1% ImageImage
Metadata standards are there for a reason, and we're very proud of the work we've done to get them into shape. If any collection out there wants to be sure that things are setup properly on their side, reach out! We'll help you get sorted out!
If any of this is unclear, give me a shout! There is much to do before this becomes the norm, but it will help the future of the @flow_blockchain that we start to bring these together. The longer we wait, the harder it will be. Thanks for reading! 🫡

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with austink.eth

austink.eth Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @austin_flowty

Feb 24, 2023
It’s Friday so let’s talk about the @flow_blockchain again! Today, let’s explore Dapper Balance, Dapper Flow, and how they work
👇👇👇👇
Just a quick disclaimer that this is what I’ve come to learn over the course of @flowty_io's integration with Dapper Wallet, I could be wrong! I’d love to hear anyone on the @hellodapper side correct me if I’m wrong on any of this
Dapper Balance is one of the big features that Dapper Wallet brings up when discussing bringing new people into web3. It allow them to pay for things in USD, can withdraw to a bank account (with some KYC restrictions), and you sell things without worrying about tokens!
Read 23 tweets
Jul 6, 2022
Calling all @flow_blockchain devs! Do you like reviewing contracts? I could use feedback on something we've been working on over at @flowty_io which will solve a painful use-case for dapps built on flow. Introducing the LostAndFound:
github.com/Flowtyio/lost-…
LostAndFound spawned from a security issue we found one day. It was never exploited, but the potential was there. Basically, what happens if an account messes with their wallet in a way that prevents someone who took out a loan from repaying it?
That is, a lender funds a loan, then makes it impossible for it to be repaid! A borrower would have no way to send repayment back, the transaction would fail. If that happened, the only outcome possible for that loan is that it would default.
Read 9 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(