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.
URL de base du déploiement de counsel. Utilisez
https://api.counsel.markets pour l’instance hébergée.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
Tableau de tous les marchés actuellement suivis par l’indexeur de counsel.
Le SourceTag que counsel attend sur toutes les transactions Payment. Appliqué automatiquement par
placeBet.market(id: string)
L’ID du marché, une chaîne hexadécimale telle que
"9b6a290b0cc8c5be".L’objet marché brut. La forme correspond à une seule entrée du tableau de
markets().betIntent(id, account, outcome, amountXrp)
ID du marché.
Votre adresse XRPL (par exemple
"rYourAddress..."). Utilisée comme champ Account dans le Payment non signé.Index (base zéro) de l’issue sur laquelle vous voulez parier. Correspond à
OutcomeV1.index dans le tableau outcomes du marché.Mise en XRP (pas en drops). Par exemple,
5 signifie 5 XRP.Transaction Payment XRPL non signée. À passer à
client.autofill() puis wallet.sign().L’adresse XRPL du compte pool du marché (la destination du Payment).
Le DestinationTag identifiant l’issue sur le compte pool.
Le SourceTag que counsel requiert pour l’attribution. Déjà intégré dans
tx.Mise confirmée en XRP telle que le serveur l’a interprétée.
positions(address: string)
L’adresse XRPL à interroger. Doit être une adresse r valide.
L’adresse qui a été interrogée.
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()
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.
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.ID du marché.
Index de l’issue (base zéro).
Mise en XRP.
Le hash de transaction validé renvoyé par le ledger (
res.result.hash), confirmé tesSUCCESS.