# BBB Sync 10/26
## Action Items
* **0xJosh**
* Get traitswapping script from Isaac
* **RG Josh**
* Discuss automatic swapping feasibility with RG team
* **Bill**
* Add additional stories to Kanban
* Put together a flowchart of txns/database
* **Ben**
* Wait on Sergio for background and tweak as needed
* Update the Figma to reflect the UX tweaks:
* No grazing necessary
* Cancel swap feature
* Signing on mainnet when selecting Bufficorn
* Signing on Polygon when finalizing the traits to be swapped with a given Bufficorn
* Will be replaced with the Spork transaction in the next build
* **Saimano**
* Begin frontend development on completed elements
* Q: Can we have an array in the database?
* To treat each swap as an item and track them over time
## Documents Referenced
[Project Proposal ](https://hackmd.io/dH7umlMIT2uCsIMc504BAA?view)
[Kanban](https://airtable.com/invite/l?inviteId=invowI6rbkpUSjGMu&inviteToken=79d8ef5c47016a3eb3e971d7dbf19e44fcb4e555b034d70d23e9730b8d212609&utm_medium=email&utm_source=product_team&utm_content=transactional-alerts)
[Architecture](https://hackmd.io/fTNdNUUMR6yJbFfW6zNq4Q?view)
## Lightly Edited Meeting Notes
### Design/Background
JD: small design tweaks. Can we move ahead with coding up the UI, bg permitting? Button color
BG:
Ben/Laura/Sergio met earlier and decided Sergio would make the following changes:
- fade-out to a colour on top (so we can move the bg down in certain situations)
- change the rockformation to grass
- tone it down a little overall to make it not take away too much visual attention of the bufficorn / actions
[JD walks through design flow]
BW: From UX perspective, it's what he was expecting
JD: can we start coding up
JL: yes
### Development
BW: All discussions around grazing contract - really there to solve for MVP. Someone running traitswapping script on background - Who’s doing this? How’s it happening?
JD: we can do engineering, you do the swapping on your end
BW: can the script do it automatically?
JD: not too hard
JL: Isaac has a script on his end
BW: think we should get that, would be helpful
JL: will ping Isaac
BW: Josh to check with RG folks - how hard it would be to attach the script to the confirm button, such that swap is executed
DM: depends on how config is implemented. If sc reads events - this event, new event. Shouldn’t be so different - person to run manually, new swap was made. Running swaps - something like that
BW: could be done one confirmation button. Like DM mentioned in chat - could get away with no sc. current sc just has id, no metadata. Liked idea of when person a starts swap, check when owns Bufficorn. Person b does it, person a still owns swap, execute immediately. Person signs txn to confirm
DM: only thing needs to be on chain is payment
BW: Spork can be done as nonrefundable.
Damu: payment with swapid
JD: likes how fee would work. But how to avoid “double spend” of traits
BW: With traits being web2 metadata - on front end, could lock to see if someone has an eyes trait swap on db. Not like an onchain way. Do on db - on FE, API, etc. no traits are onchain
JD: like how it’s all happening on polygon. Avoid gas fees
BW: two sigs - one is a straight signature (on mainnet). Only transaction is on polygon
DM: transaction takes place on polygon
BW: may be helpful to put together flow chart
JD: don’t forget the smartcontract work was out of scope - we assume the grazing contract was set in stone, didn’t think we’d be here
BW: can help with flow chart
JD: so bill you’ll build the contract
BW: don’t need contract if only signing/txn
JL: how would reimbursements?
BW: person puts buff up, other person never confirms - will want to reimburse
JL: person puts up their bufficorn/trait, all or nothing - only one person can match?
BW: maybe we'd have to keep Saimano’s escrow contract
JL: so would have to pay it all? Can’t stake for next trade?
Bw: yeah needs to
JL: so can’t make a new trade unless someone from multisig clicks a few buttons?
BW: yeah so maybe use Saimano’s. Multisig
JL: multiple transactions
JD: want to be able to stake multiple buffs and trade, but can’t do same traits for diff people
JL: if have 5195 and 5196 can trade both separately?
JD: yes
JL: thinking about volts. Anticipate the trait being an object? 5195 1267 trade, is that an object?
JD: would be cool to see what people trades
JL: see everyone’s trait 1,2,3,etc
BW: Look at db schema as Saimano created it
JD: can we use architecture with the polygon tx as described?
BW: db schema, can we expand to have array? Track all buffi corns with particular trait? Use this schema to start building unique IDs for each trait - where it’d be helpful to have Saimano way in. Once done, hard to go back and fit new features and use cases. Need an answer from Saimano asap - want to ask if we can add an array to build a new record for each trait?
JD: doesn’t think it’ll be an issue with mano. can we give swap credits for canceled transactions after payment? could even airdrop swap credits
JL: chuck e cheese style points? Nonrefundable, sporks gone, but use to pay for swap?
BW: do in web2 db, when initiate swap can check
BW: think it’s easier to do traitswapping first, spork transaction in v1. Implement spork later
JL: white label to small group first?
BW: such a small fee, give ourselves time
JL: so polygon note needed?
BW: yep
JD: think we should sign from UX perspective.
BW: no escrow contract. Check ownership with signature, and read owner function. Can help visualize via flow chart
JD: double spend?
BW: shouldn’t happen on backend, we have data
JD: grazing, don’t need with stack as is - but had in roadmap. Want to get rid of?
JL: idk. If grazing means buff has to leave wallet, more a neg then positive
BW; agree, can avoid grazing contract and any sc interaction. Can still call grazing when offering rewards. When offering a swap - will have web2 record, so still able to airdrop reward. Kill grazing on sc level, but hold at lore level. Call it grazing when waiting for a trade
DM: sign info together when buff/traits are selected