Comments (7)
Hey @justjoolz,
This is very good idea, few suggestions:
-
I feel there is a need for
Ticker Symbol
-
tokenID
andtickerSymbol
( if added ) should be guaranteed to be globally unique. ( I think this is the most tricky part, squatting symbol etc ) I think we will end up 2 level here: ISSUER.TOKEN (ex: CIRCLE.USDC etc ) -
Maybe linking with existing Fungible Token standard can be a better choice. ( I mean adding ticker symbol and token ID there somehow ) More like
FungibleTokenV2
instead ofFungibleTokens
( I think it is also possible to update old Tokens to support new standard ) -
In general I like separating by Type more than separating by ID. But in this case, I think it can be a valid exception. But also I am a bit scared there maybe some misuse cases. ( System actors can force people to use their own ISSUER for some benefits )
from flow-ft.
I was thinking Ticker Symbol
and issuer
could be defined as MetadataViews but not a requirement of the interface?
Issuer in this case would be similar to Contract level metadata for an NFT collection
Here tokenID is used in same way as ID in NFT standard, ie not unique across implementations.
Not sure if there is a good way (semantically) to have singular and plural token issuing in the same contract, unless we had optional parameters (ie. don't need to pass tokenID: nil
to a Vault issued from a singleton contract)
from flow-ft.
Ah I just got the tokenId, this is good point.
I think having 2 standards (when multiple already covers single use case with tokenId=1) can be confusing for adaptation.
Also as metadata is a standard now, forcing new standard to use existing standard can be beneficial.
Maybe something like NFT minting, you can mint a new type of FT. ( so people can query which subtype of FTs contract has also they can have separate totalSupply etc when minted )
from flow-ft.
This is definitely needed, but @dete has a more fundamental update in mind for the fungible token standard to be able to support multiple definitions by basically using resource interfaces defined in a contract instead of contract interfaces. He has written a proposal that he is going to share with the community soon.
from flow-ft.
@bluesign the design does work like Minting new FTs (and storing in a shared collection), totalSupplyByID
is intended to be used exactly as you described.
@joshuahannan that sounds interesting, look forward to seeing the proposal...
I tried to keep this as simple as possible and as a blend of the existing FT and NFT standards without introducing any new patterns/concepts.
from flow-ft.
@justjoolz Have you seen the proposal yet? We posted it last week: https://forum.onflow.org/t/streamlined-token-standards-proposal/3075/13
from flow-ft.
This is handled in the v2 standard, so I am going to close this issue
from flow-ft.
Related Issues (20)
- Adequate comments to docgen tool and include generated docs in repo
- Problems with Switchboard HOT 6
- feat: Allow public Switchboard to be used as FT Receiver HOT 2
- FungibleTokenSwitchboard is not interoperable with TokenForwarding HOT 3
- Check PrivateForwarder transactions and tests HOT 1
- error: cannot deploy invalid contract HOT 4
- Add Practical Token Setup and Transfer transactions that utilize switchboard HOT 3
- safeDeposit and addNewVaultsByPath methods on switchboard are not entirely panic free HOT 6
- Make TokenForwarder and Switchboard target capabilities retrievable
- Update contract import schema HOT 1
- [DOCS] Add documentation for FungibleTokenMetadataViews HOT 2
- Flow CLI: Transaction Error [Error Code: 1101] pre-condition failed: Cannot deposit an incompatible token type HOT 2
- Put assertions and post-conditions in the generic transactions
- Add FT Metadata Views to Example Token contract
- DOCS: Update FT documentation to include Metadata Views including examples
- Incorrect attribute when emitting `VaultCapabilityAdded` in FungibleTokenSwitchboard
- Update flow-ft contracts to comply with Stable Cadence changes
- cannot borrowViewResolver for some NFT HOT 2
- Normalize flow.json
- Refactor utilityContracts folder into utility folder
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 flow-ft.