Admin / Crank
Admin może tylko tworzyć rynki. Wynik pochodzi z feedu Switchboard przypiętego przy tworzeniu; admin nie może go zmienić ani wypłacić puli. Lock / Resolve / Cancel są publiczne — może je wywołać każdy wallet. Obstawianie: Markets.
Cluster: devnet · RPC: https://api.devnet.solana.com
Źródło wyniku: https://www.thesportsdb.com/api/v1/json/3/lookupevent.php?id=<matchId>
Najpierw Select Wallet (Phantom) na Devnet.
0. Z terminarza (TheSportsDB)
1. Utwórz rynek + feed Switchboard
Jedna transakcja: tworzy PullFeed z jobem czytającym wynik meczu z TheSportsDB, oddaje jego authority do PDA programu (nikt już nie zmieni źródła wyniku) i inicjalizuje rynek z przypiętym hashem joba.
Rynek: /markets/1791126715742
2. Publiczne cranki
- Lock — po starcie: pula idzie CPI do yield_park
- Resolve — po końcu meczu: oracle Switchboard pobiera wynik, podpisuje, program weryfikuje feed (owner, queue, hash joba, czas próbki) i rozlicza
- Cancel expired — po terminie bez wyniku: zwrot dla wszystkich
- Harvest dust — dopiero gdy wszyscy uprawnieni odebrali wypłaty