Counsel exportée depuis counsel.ts. Chaque méthode correspond à un seul endpoint de l’API publique de counsel. Toutes les méthodes sont asynchrones et lèvent une exception sur les réponses non 2xx. La méthode placeBet lève également une exception si le XRP Ledger renvoie un résultat autre que tesSUCCESS.
Interfaces
Les interfaces TypeScript suivantes sont exportées directement depuiscounsel.ts. Importez-les avec la classe pour accéder de façon typée aux valeurs de retour.
CounselOptions
BetIntent
Payment est le type de transaction non signée du paquet xrpl. tx est passé directement à client.autofill() et wallet.sign() à l’intérieur de placeBet.
constructor(opts: CounselOptions)
Instancie le client. Aucune connexion réseau n’est établie au moment de la construction.
string
requis
URL de base du déploiement de counsel. Utilisez
https://api.counsel.markets pour l’instance hébergée.string
URL du noeud WebSocket XRPL utilisé par
placeBet lors de la connexion au ledger. Par défaut, le testnet XRPL (wss://s.altnet.rippletest.net:51233).markets()
MarketV1 incluent : id, question, family, phase, status ("open" | "resolved" | "void"), pool_account, fee_rate, bet_cutoff, resolution_time, total_xrp, total_drops, et un tableau outcomes.
Chaque issue dans outcomes porte : index, label, destination_tag, pool_drops, pool_xrp, bets, implied_prob, et payout_per_unit.
Retourne
MarketV1[]
Tableau de tous les marchés actuellement suivis par l’indexeur de counsel.
number | null
Le SourceTag que counsel attend sur toutes les transactions Payment. Appliqué automatiquement par
placeBet.market(id: string)
string
requis
L’ID du marché, une chaîne hexadécimale telle que
"9b6a290b0cc8c5be".Record<string, unknown>
L’objet marché brut. La forme correspond à une seule entrée du tableau de
markets().betIntent(id, account, outcome, amountXrp)
string
requis
ID du marché.
string
requis
Votre adresse XRPL (par exemple
"rYourAddress..."). Utilisée comme champ Account dans le Payment non signé.number
requis
Index (base zéro) de l’issue sur laquelle vous voulez parier. Correspond à
OutcomeV1.index dans le tableau outcomes du marché.number
requis
Mise en XRP (pas en drops). Par exemple,
5 signifie 5 XRP.Payment
Transaction Payment XRPL non signée. À passer à
client.autofill() puis wallet.sign().string
L’adresse XRPL du compte pool du marché (la destination du Payment).
number
Le DestinationTag identifiant l’issue sur le compte pool.
number
Le SourceTag que counsel requiert pour l’attribution. Déjà intégré dans
tx.number
Mise confirmée en XRP telle que le serveur l’a interprétée.
object
object
positions(address: string)
string
requis
L’adresse XRPL à interroger. Doit être une adresse r valide.
string
L’adresse qui a été interrogée.
unknown[]
Tableau d’objets position, un par pari placé par l’adresse. Chaque entrée inclut le marché, l’issue, la mise, et l’état de règlement.
leaderboard()
Record<string, unknown>
La charge utile du classement. Le schéma peut évoluer ; traitez-la comme un objet brut tant qu’une forme stable n’est pas publiée.
placeBet(seed, id, outcome, amountXrp)
Wallet.fromSeed(seed), complète automatiquement les champs de séquence du ledger via client.autofill(), signe avec wallet.sign(), soumet avec client.submitAndWait(), et vérifie tesSUCCESS avant de retourner. Ouvre une connexion WebSocket XRPL pour la durée de l’appel, puis se déconnecte. Le seed n’est jamais envoyé au serveur counsel.
string
requis
Le seed du wallet XRPL du parieur. Passé à
Wallet.fromSeed() entièrement côté client. Seule l’adresse account dérivée est envoyée à l’API counsel.string
requis
ID du marché.
number
requis
Index de l’issue (base zéro).
number
requis
Mise en XRP.
string
Le hash de transaction validé renvoyé par le ledger (
res.result.hash), confirmé tesSUCCESS.