Add initial Tidal contract & supporting scripts & transactions#1
Add initial Tidal contract & supporting scripts & transactions#1sisyphusSmiling merged 2 commits intomainfrom
Conversation
cadence/contracts/Tidal.cdc
Outdated
| access(all) let TideManagerStoragePath: StoragePath | ||
| access(all) let TideManagerPublicPath: PublicPath | ||
|
|
||
| access(all) event CreatedTide(id: UInt64, initialAmount: UFix64, creator: Address?) |
There was a problem hiding this comment.
Maybe could include UUID here? Same with the other events
| } | ||
| } | ||
|
|
||
| access(all) resource Tide : Burner.Burnable, FungibleToken.Receiver, FungibleToken.Provider, ViewResolver.Resolver { |
There was a problem hiding this comment.
I know it is cliche, but just wanted to float it, but would it make sense to make this an NFT? This looks a lot like an NFT and TideManager looks a lot like a NFT collection
There was a problem hiding this comment.
Definitely very similar, but I've been told we want to avoid this. I think the concern is users may transfer Tides without realizing that the ownership of the Tide is inherent to the ownership of the NFT. Other protocols have implemented DeFi positions as NFTs and there have been instances of users selling their positions for far less than they're worth because they think the NFT is just a sort of commemorative token and not the thing itself.
Description
TideandTideManagerresourcesTideobjectsTideresource will change once yield bearing strategies can be constructed from DeFiBlocks components. The initial version is included for framing out top-level abstraction for the purpose of front & backend mocking and composing platform transactions.