owned this note
owned this note
Published
Linked with GitHub
Community Call - FISSION Codes - Dec 4
======================================
* Dec 4th, 8:30am PST
* Zoom link https://zoom.us/j/849295035
* Agenda https://github.com/spadebuilders/community/issues/13
Brooke
* Nick Johnson's lower layer protocol codes
* Interviews with lots of companies, projects about uses cases -- Tachyon, Devcon, elsewhere
Brooke, Review of grid in Google Sheets
* Trying to get this into the grid
* Done some re-arranging
* Spent time on a more structured version -- but
* Even numbers you need to pause, odd numbers -- you are in control, things went right, or metadata
PRs, into the EIPs repo
* have updates to the PR
* auto-merger not working
* more updates coming
* link to
---
Anthony
* off chain -- might reduce the info that can be communicated
* off chain, you get a general failure or success
Brooke
* use case, get your ID checked
* failure because of "something" off chain
Anthony
* UNICODE works like this, and signals that you need another byte
Boris
* talk to oracles
Brooke
* yes, signal you need another byte is a good idea
Anthony
* other concern -- like bitwise logic -- wondering if average every day programmers have issues? Solved by documentation?
Brooke
* yes, this is an issue
* helper library should help
Boris
* long tail developers getting to ah-ha!
0age
* specific range for FISSION
* designing an API, chock full of 400s
* when it comes to success -- don't need a lot of additional
* 300 or 400 you need to take more action
* biased to 200?
Brooke
* Failed, Success, something in between
* a redirect or something -- not really failure or a success
Anthony
* structurally -- first bit fails or not failed?
Brooke
* got switched because math is easier in the helper library
* examples on the website -- bitshift
Anthony
* makes sense
* depends on whether humans will be reading it or not
* read it to humans in reverse
0age
* for human readable aspect -- include IPFS hash with whatever is being returned
* if just for control flow
Brooke
* 1444 Translate
* Broke this out, intended to be used together
* https://fission.codes/fission-translate/
* if a 1 comes back -- can represent in any language -- English
* return as printf style string with extra arguments, do string interpolation in the client
* eg running MetaMask, token transfer fails, you're being rate-limited for regulatory reasons
* today would be revert with hard coded in English -- some Chinese, but mainly English
* for a global system, has to be understand by everyone
* can integrate with Truffle and other tools -- when you're debugging you get human readable messages at each step
* can register it, and get the result of each step
* today on Ropsten, english, spanish, and pirate
* how amazing would it be if every person didn't have to translate every dapp
* all of their smart contracts are translated -- could be technical detail, have them done in regional dialects
Overview of DevCon presentation on translations
Anthony
* tied to a user?
Brooke
* all the translations are contracts you can make a call to
* spec doesn't say whether or not they are paid
* can call them directly -- or use the proxy
0age
* most codes are a little off
* work with Zeppelin on this TPL project
* working real world examples of how permissioned tokens work
* they might not all fit -- might not fit into a 5-bit range
* better to use ranges
* work through list
Other question
* let's look quickly at duplicates
* invalid sender, invalid receiver?
Brooke
* that sender -- may or may not be you
* probably -- people or contracts that don't have rights -- the 1 range, permissions
* but actually saying what role they are in? somewhat more challenging
* what you have as 56, 57
0age
* Maybe funds frozen?
* Rather than all funds frozen -- a pause or a lock
Three cases
* lockup period -- hold on trading for 12 months
* second is all transfers are frozen -- bug in contract, insider info
* third, particular sender is laundering money, or stolen
Boris
* does it make sense to have codes that are semantically richer? eg for use cases
Brooke
* now talking concretely about use cases
* can we generalize?
* used this for 902 -- transfer or not, sufficient balance, if you're revoked or not
0age
* another one, to pass in data with a transfer -- eg. one time approval
* liveness is important -- signature from a transfer agent
* could have a bad result from an ec_recover, could resolve but not approved, missing
* in the general case - your problem is with the signature you attached
Brooke
* Use case for tagging that there is extra data?
Three categories
* signed approvals
* metadata -- IPFS hash, info about transfer
* callbacks -- make this transfer and then do this other thing
* callback failed?
0age
* Talked to MyCrypto at DevCon -- Connor
* They're interested
* Probably could do some Gitcoin
* Did you check out TPL permission token we used? will update from changes today
* one way we could represent -- bad sender, bad receiver
* regardless -- makes sense to use more generic
* could potentially loop in existing stuff with translations
* nice user story around this
0age
* this is devRel!
* localization is important
---
Possible deployed SCaaS
* 902 - whitelist
* 1404 - 902
* Simple DEX
* queue
* priority queue
* mailbox -- emulate actor model
* governance -- simple voting
* proxy registry, give me thing we're voting on #52
* direct you to prop52
* reached quorum
* or your vote has been counted
* building protocols out of FISSION
* the toy example is a traffic light
* proceed in a particular order
* protocols come in two flavours -- control flow, and "tagging data", metadata
* if you want a multi message flow
* a handshake use case
* escrow as a service
* crowdfunding
* multiple levels
* NFTY with different rights
* permissions with NFTy, different classes of tokens
* how many you're holding, or the kind