@mutinylabs/slip 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +99 -0
- package/dist/ai.d.ts +70 -0
- package/dist/ai.d.ts.map +1 -0
- package/dist/ai.js +448 -0
- package/dist/ai.js.map +1 -0
- package/dist/anchor.d.ts +15 -0
- package/dist/anchor.d.ts.map +1 -0
- package/dist/anchor.js +15 -0
- package/dist/anchor.js.map +1 -0
- package/dist/client.d.ts +90 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +161 -0
- package/dist/client.js.map +1 -0
- package/dist/evidence.d.ts +13 -0
- package/dist/evidence.d.ts.map +1 -0
- package/dist/evidence.js +34 -0
- package/dist/evidence.js.map +1 -0
- package/dist/generated/accounts/index.d.ts +10 -0
- package/dist/generated/accounts/index.d.ts.map +1 -0
- package/dist/generated/accounts/index.js +10 -0
- package/dist/generated/accounts/index.js.map +1 -0
- package/dist/generated/accounts/market.d.ts +73 -0
- package/dist/generated/accounts/market.d.ts.map +1 -0
- package/dist/generated/accounts/market.js +105 -0
- package/dist/generated/accounts/market.js.map +1 -0
- package/dist/generated/accounts/marketTicket.d.ts +43 -0
- package/dist/generated/accounts/marketTicket.d.ts.map +1 -0
- package/dist/generated/accounts/marketTicket.js +69 -0
- package/dist/generated/accounts/marketTicket.js.map +1 -0
- package/dist/generated/errors/index.d.ts +9 -0
- package/dist/generated/errors/index.d.ts.map +1 -0
- package/dist/generated/errors/index.js +9 -0
- package/dist/generated/errors/index.js.map +1 -0
- package/dist/generated/errors/slip.d.ts +68 -0
- package/dist/generated/errors/slip.d.ts.map +1 -0
- package/dist/generated/errors/slip.js +96 -0
- package/dist/generated/errors/slip.js.map +1 -0
- package/dist/generated/index.d.ts +14 -0
- package/dist/generated/index.d.ts.map +1 -0
- package/dist/generated/index.js +14 -0
- package/dist/generated/index.js.map +1 -0
- package/dist/generated/instructions/buyTicket.d.ts +80 -0
- package/dist/generated/instructions/buyTicket.d.ts.map +1 -0
- package/dist/generated/instructions/buyTicket.js +149 -0
- package/dist/generated/instructions/buyTicket.js.map +1 -0
- package/dist/generated/instructions/claimTicket.d.ts +55 -0
- package/dist/generated/instructions/claimTicket.d.ts.map +1 -0
- package/dist/generated/instructions/claimTicket.js +87 -0
- package/dist/generated/instructions/claimTicket.js.map +1 -0
- package/dist/generated/instructions/createMarket.d.ts +105 -0
- package/dist/generated/instructions/createMarket.d.ts.map +1 -0
- package/dist/generated/instructions/createMarket.js +195 -0
- package/dist/generated/instructions/createMarket.js.map +1 -0
- package/dist/generated/instructions/index.d.ts +14 -0
- package/dist/generated/instructions/index.d.ts.map +1 -0
- package/dist/generated/instructions/index.js +14 -0
- package/dist/generated/instructions/index.js.map +1 -0
- package/dist/generated/instructions/resolveMarket.d.ts +75 -0
- package/dist/generated/instructions/resolveMarket.d.ts.map +1 -0
- package/dist/generated/instructions/resolveMarket.js +107 -0
- package/dist/generated/instructions/resolveMarket.js.map +1 -0
- package/dist/generated/instructions/resolveMarketV3.d.ts +78 -0
- package/dist/generated/instructions/resolveMarketV3.d.ts.map +1 -0
- package/dist/generated/instructions/resolveMarketV3.js +109 -0
- package/dist/generated/instructions/resolveMarketV3.js.map +1 -0
- package/dist/generated/instructions/voidMarket.d.ts +40 -0
- package/dist/generated/instructions/voidMarket.d.ts.map +1 -0
- package/dist/generated/instructions/voidMarket.js +64 -0
- package/dist/generated/instructions/voidMarket.js.map +1 -0
- package/dist/generated/pdas/index.d.ts +10 -0
- package/dist/generated/pdas/index.d.ts.map +1 -0
- package/dist/generated/pdas/index.js +10 -0
- package/dist/generated/pdas/index.js.map +1 -0
- package/dist/generated/pdas/market.d.ts +16 -0
- package/dist/generated/pdas/market.d.ts.map +1 -0
- package/dist/generated/pdas/market.js +20 -0
- package/dist/generated/pdas/market.js.map +1 -0
- package/dist/generated/pdas/ticket.d.ts +17 -0
- package/dist/generated/pdas/ticket.d.ts.map +1 -0
- package/dist/generated/pdas/ticket.js +21 -0
- package/dist/generated/pdas/ticket.js.map +1 -0
- package/dist/generated/programs/index.d.ts +9 -0
- package/dist/generated/programs/index.d.ts.map +1 -0
- package/dist/generated/programs/index.js +9 -0
- package/dist/generated/programs/index.js.map +1 -0
- package/dist/generated/programs/slip.d.ts +43 -0
- package/dist/generated/programs/slip.d.ts.map +1 -0
- package/dist/generated/programs/slip.js +106 -0
- package/dist/generated/programs/slip.js.map +1 -0
- package/dist/generated/shared/index.d.ts +50 -0
- package/dist/generated/shared/index.d.ts.map +1 -0
- package/dist/generated/shared/index.js +87 -0
- package/dist/generated/shared/index.js.map +1 -0
- package/dist/generated/types/binaryOp.d.ts +18 -0
- package/dist/generated/types/binaryOp.d.ts.map +1 -0
- package/dist/generated/types/binaryOp.js +24 -0
- package/dist/generated/types/binaryOp.js.map +1 -0
- package/dist/generated/types/index.d.ts +19 -0
- package/dist/generated/types/index.d.ts.map +1 -0
- package/dist/generated/types/index.js +19 -0
- package/dist/generated/types/index.js.map +1 -0
- package/dist/generated/types/marketExpression.d.ts +34 -0
- package/dist/generated/types/marketExpression.d.ts.map +1 -0
- package/dist/generated/types/marketExpression.js +37 -0
- package/dist/generated/types/marketExpression.js.map +1 -0
- package/dist/generated/types/marketState.d.ts +18 -0
- package/dist/generated/types/marketState.d.ts.map +1 -0
- package/dist/generated/types/marketState.js +24 -0
- package/dist/generated/types/marketState.js.map +1 -0
- package/dist/generated/types/multiProof.d.ts +28 -0
- package/dist/generated/types/multiProof.d.ts.map +1 -0
- package/dist/generated/types/multiProof.js +25 -0
- package/dist/generated/types/multiProof.js.map +1 -0
- package/dist/generated/types/outcomeBand.d.ts +26 -0
- package/dist/generated/types/outcomeBand.d.ts.map +1 -0
- package/dist/generated/types/outcomeBand.js +26 -0
- package/dist/generated/types/outcomeBand.js.map +1 -0
- package/dist/generated/types/proofNode.d.ts +17 -0
- package/dist/generated/types/proofNode.d.ts.map +1 -0
- package/dist/generated/types/proofNode.js +24 -0
- package/dist/generated/types/proofNode.js.map +1 -0
- package/dist/generated/types/provenStat.d.ts +21 -0
- package/dist/generated/types/provenStat.d.ts.map +1 -0
- package/dist/generated/types/provenStat.js +25 -0
- package/dist/generated/types/provenStat.js.map +1 -0
- package/dist/generated/types/scoreStatInput.d.ts +18 -0
- package/dist/generated/types/scoreStatInput.d.ts.map +1 -0
- package/dist/generated/types/scoreStatInput.js +26 -0
- package/dist/generated/types/scoreStatInput.js.map +1 -0
- package/dist/generated/types/settlementMode.d.ts +16 -0
- package/dist/generated/types/settlementMode.d.ts.map +1 -0
- package/dist/generated/types/settlementMode.js +22 -0
- package/dist/generated/types/settlementMode.js.map +1 -0
- package/dist/generated/types/sideSelector.d.ts +18 -0
- package/dist/generated/types/sideSelector.d.ts.map +1 -0
- package/dist/generated/types/sideSelector.js +24 -0
- package/dist/generated/types/sideSelector.js.map +1 -0
- package/dist/generated/types/summaryInput.d.ts +26 -0
- package/dist/generated/types/summaryInput.d.ts.map +1 -0
- package/dist/generated/types/summaryInput.js +30 -0
- package/dist/generated/types/summaryInput.js.map +1 -0
- package/dist/idl/slip.json +2418 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/market-reference.d.ts +9 -0
- package/dist/market-reference.d.ts.map +1 -0
- package/dist/market-reference.js +38 -0
- package/dist/market-reference.js.map +1 -0
- package/dist/market.d.ts +42 -0
- package/dist/market.d.ts.map +1 -0
- package/dist/market.js +267 -0
- package/dist/market.js.map +1 -0
- package/dist/merkle.d.ts +48 -0
- package/dist/merkle.d.ts.map +1 -0
- package/dist/merkle.js +67 -0
- package/dist/merkle.js.map +1 -0
- package/dist/pda.d.ts +12 -0
- package/dist/pda.d.ts.map +1 -0
- package/dist/pda.js +30 -0
- package/dist/pda.js.map +1 -0
- package/dist/proof.d.ts +40 -0
- package/dist/proof.d.ts.map +1 -0
- package/dist/proof.js +106 -0
- package/dist/proof.js.map +1 -0
- package/dist/public-client.d.ts +60 -0
- package/dist/public-client.d.ts.map +1 -0
- package/dist/public-client.js +487 -0
- package/dist/public-client.js.map +1 -0
- package/dist/public-math.d.ts +17 -0
- package/dist/public-math.d.ts.map +1 -0
- package/dist/public-math.js +57 -0
- package/dist/public-math.js.map +1 -0
- package/dist/public-types.d.ts +151 -0
- package/dist/public-types.d.ts.map +1 -0
- package/dist/public-types.js +2 -0
- package/dist/public-types.js.map +1 -0
- package/dist/rulebook-skills.d.ts +15 -0
- package/dist/rulebook-skills.d.ts.map +1 -0
- package/dist/rulebook-skills.js +155 -0
- package/dist/rulebook-skills.js.map +1 -0
- package/dist/rulebook.d.ts +17 -0
- package/dist/rulebook.d.ts.map +1 -0
- package/dist/rulebook.js +42 -0
- package/dist/rulebook.js.map +1 -0
- package/dist/transaction.d.ts +23 -0
- package/dist/transaction.d.ts.map +1 -0
- package/dist/transaction.js +51 -0
- package/dist/transaction.js.map +1 -0
- package/dist/txline.d.ts +55 -0
- package/dist/txline.d.ts.map +1 -0
- package/dist/txline.js +238 -0
- package/dist/txline.js.map +1 -0
- package/dist/types.d.ts +149 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +10 -0
- package/dist/types.js.map +1 -0
- package/package.json +123 -0
package/dist/ai.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"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"}
|
package/dist/anchor.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anchor/Web3 entry point for Slip's current transaction and proof boundaries.
|
|
3
|
+
* Browser-only consumers should prefer the Kit-based default entry point.
|
|
4
|
+
*/
|
|
5
|
+
export * from "./types.js";
|
|
6
|
+
export * from "./market.js";
|
|
7
|
+
export * from "./merkle.js";
|
|
8
|
+
export * from "./pda.js";
|
|
9
|
+
export * from "./proof.js";
|
|
10
|
+
export * from "./client.js";
|
|
11
|
+
export * from "./txline.js";
|
|
12
|
+
export * from "./ai.js";
|
|
13
|
+
export * from "./rulebook-skills.js";
|
|
14
|
+
export * from "./transaction.js";
|
|
15
|
+
//# sourceMappingURL=anchor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anchor.d.ts","sourceRoot":"","sources":["../src/anchor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC"}
|
package/dist/anchor.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anchor/Web3 entry point for Slip's current transaction and proof boundaries.
|
|
3
|
+
* Browser-only consumers should prefer the Kit-based default entry point.
|
|
4
|
+
*/
|
|
5
|
+
export * from "./types.js";
|
|
6
|
+
export * from "./market.js";
|
|
7
|
+
export * from "./merkle.js";
|
|
8
|
+
export * from "./pda.js";
|
|
9
|
+
export * from "./proof.js";
|
|
10
|
+
export * from "./client.js";
|
|
11
|
+
export * from "./txline.js";
|
|
12
|
+
export * from "./ai.js";
|
|
13
|
+
export * from "./rulebook-skills.js";
|
|
14
|
+
export * from "./transaction.js";
|
|
15
|
+
//# sourceMappingURL=anchor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anchor.js","sourceRoot":"","sources":["../src/anchor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC"}
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import * as anchor from "@coral-xyz/anchor";
|
|
2
|
+
import { PublicKey, type TransactionInstruction } from "@solana/web3.js";
|
|
3
|
+
import { ACCOUNT_SIZE, TOKEN_PROGRAM_ID } from "@solana/spl-token";
|
|
4
|
+
import { type TransactionAuthority, type TransactionExecution } from "./transaction.js";
|
|
5
|
+
import type { AccountPage, KeyedAccount, ListPageOptions, MarketAccount, MarketParams, MarketTicketAccount, ScoresProofArg } from "./types.js";
|
|
6
|
+
export declare const FEE_TREASURY: anchor.web3.PublicKey;
|
|
7
|
+
export { ACCOUNT_SIZE as TOKEN_ACCOUNT_SIZE, TOKEN_PROGRAM_ID };
|
|
8
|
+
export declare const withComputeBudget: (units?: number) => TransactionInstruction;
|
|
9
|
+
export declare class SlipClient {
|
|
10
|
+
readonly program: anchor.Program;
|
|
11
|
+
constructor(provider: anchor.Provider);
|
|
12
|
+
static readonly(connection: anchor.web3.Connection): SlipClient;
|
|
13
|
+
static programId: anchor.web3.PublicKey;
|
|
14
|
+
get connection(): anchor.web3.Connection;
|
|
15
|
+
marketAddress(creator: PublicKey, id: bigint): anchor.web3.PublicKey;
|
|
16
|
+
ticketAddress(market: PublicKey, owner: PublicKey, nonce: bigint): anchor.web3.PublicKey;
|
|
17
|
+
rootsPda(minTimestampMs: number): {
|
|
18
|
+
pda: PublicKey;
|
|
19
|
+
epochDay: number;
|
|
20
|
+
};
|
|
21
|
+
createMarketIx(params: MarketParams, creator: PublicKey, mint?: anchor.web3.PublicKey): Promise<TransactionInstruction>;
|
|
22
|
+
buyTicketIx(args: {
|
|
23
|
+
market: PublicKey;
|
|
24
|
+
buyer: PublicKey;
|
|
25
|
+
outcomeIndex: number;
|
|
26
|
+
amount: bigint;
|
|
27
|
+
nonce: bigint;
|
|
28
|
+
mint?: PublicKey;
|
|
29
|
+
}): Promise<TransactionInstruction>;
|
|
30
|
+
resolveMarketIx(args: {
|
|
31
|
+
market: PublicKey;
|
|
32
|
+
resolver: PublicKey;
|
|
33
|
+
proof: ScoresProofArg;
|
|
34
|
+
rootsPda: PublicKey;
|
|
35
|
+
mint?: PublicKey;
|
|
36
|
+
}): Promise<TransactionInstruction>;
|
|
37
|
+
claimTicketIx(args: {
|
|
38
|
+
market: PublicKey;
|
|
39
|
+
ticket: PublicKey;
|
|
40
|
+
owner: PublicKey;
|
|
41
|
+
caller: PublicKey;
|
|
42
|
+
mint?: PublicKey;
|
|
43
|
+
}): Promise<TransactionInstruction>;
|
|
44
|
+
voidMarketIx(market: PublicKey, caller: PublicKey): Promise<TransactionInstruction>;
|
|
45
|
+
private fetchAccount;
|
|
46
|
+
getMarket(address: PublicKey): Promise<MarketAccount>;
|
|
47
|
+
getTicket(address: PublicKey): Promise<MarketTicketAccount>;
|
|
48
|
+
listMarkets(): Promise<Array<KeyedAccount<MarketAccount>>>;
|
|
49
|
+
listTickets(market?: PublicKey, owner?: PublicKey): Promise<Array<KeyedAccount<MarketTicketAccount>>>;
|
|
50
|
+
private list;
|
|
51
|
+
private page;
|
|
52
|
+
/** Deterministic cursor page. Core RPC still performs one real program-account scan. */
|
|
53
|
+
listMarketsPage(options?: ListPageOptions): Promise<AccountPage<MarketAccount>>;
|
|
54
|
+
listTicketsPage(options?: ListPageOptions & {
|
|
55
|
+
market?: PublicKey;
|
|
56
|
+
owner?: PublicKey;
|
|
57
|
+
}): Promise<AccountPage<MarketTicketAccount>>;
|
|
58
|
+
watchMarkets(listener: (market: KeyedAccount<MarketAccount>) => void, options?: {
|
|
59
|
+
creator?: PublicKey;
|
|
60
|
+
commitment?: anchor.web3.Commitment;
|
|
61
|
+
}): () => Promise<void>;
|
|
62
|
+
watchTickets(listener: (ticket: KeyedAccount<MarketTicketAccount>) => void, options?: {
|
|
63
|
+
market?: PublicKey;
|
|
64
|
+
owner?: PublicKey;
|
|
65
|
+
commitment?: anchor.web3.Commitment;
|
|
66
|
+
}): () => Promise<void>;
|
|
67
|
+
associatedTokenIx(payer: PublicKey, mint: PublicKey, owner: PublicKey): TransactionInstruction;
|
|
68
|
+
createMarket(params: MarketParams, authority: TransactionAuthority, mint?: anchor.web3.PublicKey): Promise<TransactionExecution>;
|
|
69
|
+
buyTicket(args: {
|
|
70
|
+
market: PublicKey;
|
|
71
|
+
outcomeIndex: number;
|
|
72
|
+
amount: bigint;
|
|
73
|
+
nonce: bigint;
|
|
74
|
+
mint?: PublicKey;
|
|
75
|
+
}, authority: TransactionAuthority): Promise<TransactionExecution>;
|
|
76
|
+
resolveMarket(args: {
|
|
77
|
+
market: PublicKey;
|
|
78
|
+
proof: ScoresProofArg;
|
|
79
|
+
rootsPda: PublicKey;
|
|
80
|
+
mint?: PublicKey;
|
|
81
|
+
}, authority: TransactionAuthority): Promise<TransactionExecution>;
|
|
82
|
+
claimTicket(args: {
|
|
83
|
+
market: PublicKey;
|
|
84
|
+
ticket: PublicKey;
|
|
85
|
+
owner?: PublicKey;
|
|
86
|
+
mint?: PublicKey;
|
|
87
|
+
}, authority: TransactionAuthority): Promise<TransactionExecution>;
|
|
88
|
+
voidMarket(market: PublicKey, authority: TransactionAuthority): Promise<TransactionExecution>;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
ADDED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import * as anchor from "@coral-xyz/anchor";
|
|
2
|
+
import { BN } from "@coral-xyz/anchor";
|
|
3
|
+
import { ComputeBudgetProgram, PublicKey } from "@solana/web3.js";
|
|
4
|
+
import { ACCOUNT_SIZE, TOKEN_PROGRAM_ID, createAssociatedTokenAccountIdempotentInstruction } from "@solana/spl-token";
|
|
5
|
+
import idl from "./idl/slip.json" with { type: "json" };
|
|
6
|
+
import { ata, dailyScoresRootsPda, marketPda, slipProgramId, ticketPda, vaultAta } from "./pda.js";
|
|
7
|
+
import { assertTerminalProof } from "./proof.js";
|
|
8
|
+
import { validateMarket, validateStake, validateTicketNonce } from "./market.js";
|
|
9
|
+
import { executeInstructions } from "./transaction.js";
|
|
10
|
+
import { DEVNET_SETTLEMENT_MINT } from "./types.js";
|
|
11
|
+
export const FEE_TREASURY = new PublicKey("DZqzfMTmFyDvhLWamA4qjiEUUzS8LoTZ6d2KMkXwsiXh");
|
|
12
|
+
const selector = { Home: { home: {} }, Away: { away: {} }, Total: { total: {} } };
|
|
13
|
+
const operation = { Add: { add: {} }, Sub: { sub: {} }, Min: { min: {} } };
|
|
14
|
+
const settlementMode = { Terminal: { terminal: {} } };
|
|
15
|
+
function expressionArg(value) {
|
|
16
|
+
return { fixtureId: new BN(value.fixtureId), settlementMode: settlementMode[value.settlementMode], period: value.period, statAKey: value.statAKey, statASide: selector[value.statASide],
|
|
17
|
+
statBKey: value.statBKey, statBSide: value.statBSide ? selector[value.statBSide] : null, op: value.op ? operation[value.op] : null };
|
|
18
|
+
}
|
|
19
|
+
export { ACCOUNT_SIZE as TOKEN_ACCOUNT_SIZE, TOKEN_PROGRAM_ID };
|
|
20
|
+
export const withComputeBudget = (units = 400_000) => ComputeBudgetProgram.setComputeUnitLimit({ units });
|
|
21
|
+
export class SlipClient {
|
|
22
|
+
program;
|
|
23
|
+
constructor(provider) { this.program = new anchor.Program(idl, provider); }
|
|
24
|
+
static readonly(connection) { return new SlipClient({ connection }); }
|
|
25
|
+
static programId = slipProgramId;
|
|
26
|
+
get connection() { return this.program.provider.connection; }
|
|
27
|
+
marketAddress(creator, id) { return marketPda(creator, id); }
|
|
28
|
+
ticketAddress(market, owner, nonce) { return ticketPda(market, owner, nonce); }
|
|
29
|
+
rootsPda(minTimestampMs) { return dailyScoresRootsPda(minTimestampMs); }
|
|
30
|
+
async createMarketIx(params, creator, mint = new PublicKey(DEVNET_SETTLEMENT_MINT)) {
|
|
31
|
+
validateMarket(params);
|
|
32
|
+
const market = marketPda(creator, params.id);
|
|
33
|
+
return this.program.methods.createMarket(new BN(params.id.toString()), expressionArg(params.expression), params.outcomeLabels, params.bands.map((b) => ({ lowerInclusive: b.lowerInclusive === null ? null : new BN(b.lowerInclusive.toString()),
|
|
34
|
+
upperExclusive: b.upperExclusive === null ? null : new BN(b.upperExclusive.toString()), outcomeIndex: b.outcomeIndex })), new BN(params.entryDeadline), new BN(params.resolveAt), new BN(params.voidAt), params.feeBps, params.tipBps)
|
|
35
|
+
.accounts({ creator, market, mint, marketVault: vaultAta(mint, market) }).instruction();
|
|
36
|
+
}
|
|
37
|
+
async buyTicketIx(args) {
|
|
38
|
+
validateStake(args.amount);
|
|
39
|
+
validateTicketNonce(args.nonce);
|
|
40
|
+
if (!Number.isInteger(args.outcomeIndex) || args.outcomeIndex < 0 || args.outcomeIndex > 4)
|
|
41
|
+
throw new Error("outcomeIndex must be 0 through 4");
|
|
42
|
+
const mint = args.mint ?? new PublicKey(DEVNET_SETTLEMENT_MINT);
|
|
43
|
+
return this.program.methods.buyTicket(args.outcomeIndex, new BN(args.amount.toString()), new BN(args.nonce.toString()))
|
|
44
|
+
.accounts({ buyer: args.buyer, market: args.market, ticket: ticketPda(args.market, args.buyer, args.nonce),
|
|
45
|
+
buyerToken: ata(mint, args.buyer), marketVault: vaultAta(mint, args.market) }).instruction();
|
|
46
|
+
}
|
|
47
|
+
async resolveMarketIx(args) {
|
|
48
|
+
assertTerminalProof(args.proof);
|
|
49
|
+
const mint = args.mint ?? new PublicKey(DEVNET_SETTLEMENT_MINT);
|
|
50
|
+
return this.program.methods.resolveMarket(args.proof).accounts({ resolver: args.resolver, market: args.market,
|
|
51
|
+
marketVault: vaultAta(mint, args.market), dailyScoresRoots: args.rootsPda, treasuryToken: ata(mint, FEE_TREASURY), resolverToken: ata(mint, args.resolver) }).instruction();
|
|
52
|
+
}
|
|
53
|
+
async claimTicketIx(args) {
|
|
54
|
+
const mint = args.mint ?? new PublicKey(DEVNET_SETTLEMENT_MINT);
|
|
55
|
+
return this.program.methods.claimTicket().accounts({ caller: args.caller, market: args.market, ticket: args.ticket,
|
|
56
|
+
ownerToken: ata(mint, args.owner), marketVault: vaultAta(mint, args.market), treasuryToken: ata(mint, FEE_TREASURY) }).instruction();
|
|
57
|
+
}
|
|
58
|
+
async voidMarketIx(market, caller) {
|
|
59
|
+
return this.program.methods.voidMarket().accounts({ caller, market }).instruction();
|
|
60
|
+
}
|
|
61
|
+
async fetchAccount(address, name) {
|
|
62
|
+
const info = await this.connection.getAccountInfo(address, "confirmed");
|
|
63
|
+
if (!info)
|
|
64
|
+
throw new Error(`${name} account ${address.toBase58()} was not found`);
|
|
65
|
+
if (!info.owner.equals(SlipClient.programId))
|
|
66
|
+
throw new Error(`${name} account has the wrong owner`);
|
|
67
|
+
return this.program.coder.accounts.decode(name, info.data);
|
|
68
|
+
}
|
|
69
|
+
async getMarket(address) { return this.fetchAccount(address, "market"); }
|
|
70
|
+
async getTicket(address) { return this.fetchAccount(address, "marketTicket"); }
|
|
71
|
+
async listMarkets() { return this.list("market"); }
|
|
72
|
+
async listTickets(market, owner) {
|
|
73
|
+
const discriminator = this.program.coder.accounts.memcmp("marketTicket");
|
|
74
|
+
const filters = [{ memcmp: discriminator }];
|
|
75
|
+
if (market)
|
|
76
|
+
filters.push({ memcmp: { offset: 8, bytes: market.toBase58() } });
|
|
77
|
+
if (owner)
|
|
78
|
+
filters.push({ memcmp: { offset: 40, bytes: owner.toBase58() } });
|
|
79
|
+
const accounts = await this.connection.getProgramAccounts(SlipClient.programId, { commitment: "confirmed", filters });
|
|
80
|
+
return accounts.map(({ pubkey, account }) => ({ publicKey: pubkey, account: this.program.coder.accounts.decode("marketTicket", account.data) }));
|
|
81
|
+
}
|
|
82
|
+
async list(name) {
|
|
83
|
+
const memcmp = this.program.coder.accounts.memcmp(name);
|
|
84
|
+
const accounts = await this.connection.getProgramAccounts(SlipClient.programId, { commitment: "confirmed", filters: [{ memcmp }] });
|
|
85
|
+
return accounts.map(({ pubkey, account }) => ({ publicKey: pubkey, account: this.program.coder.accounts.decode(name, account.data) }));
|
|
86
|
+
}
|
|
87
|
+
page(accounts, options = {}) {
|
|
88
|
+
const limit = options.limit ?? 50;
|
|
89
|
+
if (!Number.isSafeInteger(limit) || limit < 1 || limit > 100)
|
|
90
|
+
throw new Error("page limit must be an integer from 1 to 100");
|
|
91
|
+
if (options.after !== undefined)
|
|
92
|
+
new PublicKey(options.after);
|
|
93
|
+
const sorted = accounts.sort((a, b) => a.publicKey.toBase58().localeCompare(b.publicKey.toBase58()));
|
|
94
|
+
const after = options.after ? sorted.findIndex((item) => item.publicKey.toBase58() > options.after) : 0;
|
|
95
|
+
const start = options.after ? (after < 0 ? sorted.length : after) : 0;
|
|
96
|
+
const items = sorted.slice(start, start + limit);
|
|
97
|
+
return { items, nextCursor: start + limit < sorted.length ? items.at(-1).publicKey.toBase58() : null };
|
|
98
|
+
}
|
|
99
|
+
/** Deterministic cursor page. Core RPC still performs one real program-account scan. */
|
|
100
|
+
async listMarketsPage(options = {}) {
|
|
101
|
+
return this.page(await this.listMarkets(), options);
|
|
102
|
+
}
|
|
103
|
+
async listTicketsPage(options = {}) {
|
|
104
|
+
return this.page(await this.listTickets(options.market, options.owner), options);
|
|
105
|
+
}
|
|
106
|
+
watchMarkets(listener, options = {}) {
|
|
107
|
+
const filters = [this.program.coder.accounts.memcmp("market")];
|
|
108
|
+
if (options.creator)
|
|
109
|
+
filters.push({ memcmp: { offset: 16, bytes: options.creator.toBase58() } });
|
|
110
|
+
const id = this.connection.onProgramAccountChange(SlipClient.programId, ({ accountId, accountInfo }) => {
|
|
111
|
+
listener({ publicKey: accountId, account: this.program.coder.accounts.decode("market", accountInfo.data) });
|
|
112
|
+
}, options.commitment ?? "confirmed", filters);
|
|
113
|
+
return async () => { await this.connection.removeProgramAccountChangeListener(id); };
|
|
114
|
+
}
|
|
115
|
+
watchTickets(listener, options = {}) {
|
|
116
|
+
const filters = [this.program.coder.accounts.memcmp("marketTicket")];
|
|
117
|
+
if (options.market)
|
|
118
|
+
filters.push({ memcmp: { offset: 8, bytes: options.market.toBase58() } });
|
|
119
|
+
if (options.owner)
|
|
120
|
+
filters.push({ memcmp: { offset: 40, bytes: options.owner.toBase58() } });
|
|
121
|
+
const id = this.connection.onProgramAccountChange(SlipClient.programId, ({ accountId, accountInfo }) => {
|
|
122
|
+
listener({ publicKey: accountId, account: this.program.coder.accounts.decode("marketTicket", accountInfo.data) });
|
|
123
|
+
}, options.commitment ?? "confirmed", filters);
|
|
124
|
+
return async () => { await this.connection.removeProgramAccountChangeListener(id); };
|
|
125
|
+
}
|
|
126
|
+
associatedTokenIx(payer, mint, owner) {
|
|
127
|
+
return createAssociatedTokenAccountIdempotentInstruction(payer, ata(mint, owner), owner, mint);
|
|
128
|
+
}
|
|
129
|
+
async createMarket(params, authority, mint = new PublicKey(DEVNET_SETTLEMENT_MINT)) {
|
|
130
|
+
return executeInstructions({ connection: this.connection, authority, instructions: [await this.createMarketIx(params, authority.publicKey, mint)] });
|
|
131
|
+
}
|
|
132
|
+
async buyTicket(args, authority) {
|
|
133
|
+
const mint = args.mint ?? (await this.getMarket(args.market)).mint;
|
|
134
|
+
return executeInstructions({ connection: this.connection, authority, instructions: [
|
|
135
|
+
this.associatedTokenIx(authority.publicKey, mint, authority.publicKey),
|
|
136
|
+
await this.buyTicketIx({ ...args, buyer: authority.publicKey, mint }),
|
|
137
|
+
] });
|
|
138
|
+
}
|
|
139
|
+
async resolveMarket(args, authority) {
|
|
140
|
+
const mint = args.mint ?? (await this.getMarket(args.market)).mint;
|
|
141
|
+
return executeInstructions({ connection: this.connection, authority, computeUnitLimit: 400_000, instructions: [
|
|
142
|
+
this.associatedTokenIx(authority.publicKey, mint, FEE_TREASURY),
|
|
143
|
+
this.associatedTokenIx(authority.publicKey, mint, authority.publicKey),
|
|
144
|
+
await this.resolveMarketIx({ ...args, resolver: authority.publicKey, mint }),
|
|
145
|
+
] });
|
|
146
|
+
}
|
|
147
|
+
async claimTicket(args, authority) {
|
|
148
|
+
const [market, ticket] = await Promise.all([this.getMarket(args.market), args.owner ? null : this.getTicket(args.ticket)]);
|
|
149
|
+
const mint = args.mint ?? market.mint;
|
|
150
|
+
const owner = args.owner ?? ticket.owner;
|
|
151
|
+
return executeInstructions({ connection: this.connection, authority, instructions: [
|
|
152
|
+
this.associatedTokenIx(authority.publicKey, mint, owner),
|
|
153
|
+
this.associatedTokenIx(authority.publicKey, mint, FEE_TREASURY),
|
|
154
|
+
await this.claimTicketIx({ market: args.market, ticket: args.ticket, owner, caller: authority.publicKey, mint }),
|
|
155
|
+
] });
|
|
156
|
+
}
|
|
157
|
+
async voidMarket(market, authority) {
|
|
158
|
+
return executeInstructions({ connection: this.connection, authority, instructions: [await this.voidMarketIx(market, authority.publicKey)] });
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type Address } from "@solana/kit";
|
|
2
|
+
/**
|
|
3
|
+
* Rebuild the commitment stored in `Market.resolutionEvidenceHash`.
|
|
4
|
+
* `serializedProof` is the Borsh proof argument from the successful resolve instruction
|
|
5
|
+
* (the instruction data after its eight-byte Anchor discriminator).
|
|
6
|
+
*/
|
|
7
|
+
export declare function calculateResolutionEvidenceHash(input: {
|
|
8
|
+
market: Address;
|
|
9
|
+
resolver: Address;
|
|
10
|
+
dailyScoresRoots: Address;
|
|
11
|
+
serializedProof: Uint8Array;
|
|
12
|
+
}): Promise<string>;
|
|
13
|
+
//# sourceMappingURL=evidence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../src/evidence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAc9D;;;;GAIG;AACH,wBAAsB,+BAA+B,CAAC,KAAK,EAAE;IAC3D,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,UAAU,CAAC;CAC7B,GAAG,OAAO,CAAC,MAAM,CAAC,CAalB"}
|
package/dist/evidence.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { getAddressEncoder } from "@solana/kit";
|
|
2
|
+
const DOMAIN = new TextEncoder().encode("slip:resolution-evidence:v1");
|
|
3
|
+
function concat(parts) {
|
|
4
|
+
const output = new Uint8Array(new ArrayBuffer(parts.reduce((size, part) => size + part.length, 0)));
|
|
5
|
+
let offset = 0;
|
|
6
|
+
for (const part of parts) {
|
|
7
|
+
for (let index = 0; index < part.length; index++)
|
|
8
|
+
output[offset + index] = part[index];
|
|
9
|
+
offset += part.length;
|
|
10
|
+
}
|
|
11
|
+
return output;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Rebuild the commitment stored in `Market.resolutionEvidenceHash`.
|
|
15
|
+
* `serializedProof` is the Borsh proof argument from the successful resolve instruction
|
|
16
|
+
* (the instruction data after its eight-byte Anchor discriminator).
|
|
17
|
+
*/
|
|
18
|
+
export async function calculateResolutionEvidenceHash(input) {
|
|
19
|
+
if (!globalThis.crypto?.subtle)
|
|
20
|
+
throw new Error("Web Crypto SHA-256 is unavailable in this runtime");
|
|
21
|
+
if (input.serializedProof.length === 0)
|
|
22
|
+
throw new Error("serializedProof must not be empty");
|
|
23
|
+
const addressEncoder = getAddressEncoder();
|
|
24
|
+
const bytes = concat([
|
|
25
|
+
DOMAIN,
|
|
26
|
+
addressEncoder.encode(input.market),
|
|
27
|
+
addressEncoder.encode(input.resolver),
|
|
28
|
+
addressEncoder.encode(input.dailyScoresRoots),
|
|
29
|
+
input.serializedProof,
|
|
30
|
+
]);
|
|
31
|
+
const digest = await globalThis.crypto.subtle.digest("SHA-256", bytes.buffer);
|
|
32
|
+
return [...new Uint8Array(digest)].map((byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=evidence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence.js","sourceRoot":"","sources":["../src/evidence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAgB,MAAM,aAAa,CAAC;AAE9D,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC;AAEvE,SAAS,MAAM,CAAC,KAAmC;IACjD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACpG,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE;YAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAE,CAAC;QACxF,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAC,KAKrD;IACC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACrG,IAAI,KAAK,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC7F,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC;QACnB,MAAM;QACN,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QACnC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;QACrC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAC7C,KAAK,CAAC,eAAe;KACtB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChG,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
4
|
+
* to add features, then rerun Codama to update it.
|
|
5
|
+
*
|
|
6
|
+
* @see https://github.com/codama-idl/codama
|
|
7
|
+
*/
|
|
8
|
+
export * from "./market.js";
|
|
9
|
+
export * from "./marketTicket.js";
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generated/accounts/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
4
|
+
* to add features, then rerun Codama to update it.
|
|
5
|
+
*
|
|
6
|
+
* @see https://github.com/codama-idl/codama
|
|
7
|
+
*/
|
|
8
|
+
export * from "./market.js";
|
|
9
|
+
export * from "./marketTicket.js";
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generated/accounts/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
4
|
+
* to add features, then rerun Codama to update it.
|
|
5
|
+
*
|
|
6
|
+
* @see https://github.com/codama-idl/codama
|
|
7
|
+
*/
|
|
8
|
+
import { fetchEncodedAccount, fetchEncodedAccounts, type Account, type Address, type Codec, type Decoder, type EncodedAccount, type Encoder, type FetchAccountConfig, type FetchAccountsConfig, type MaybeAccount, type MaybeEncodedAccount, type Option, type OptionOrNullable, type ReadonlyUint8Array } from "@solana/kit";
|
|
9
|
+
import { type MarketExpression, type MarketExpressionArgs, type MarketState, type MarketStateArgs, type OutcomeBand, type OutcomeBandArgs } from "../types/index.js";
|
|
10
|
+
export declare const MARKET_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
|
|
11
|
+
export declare function getMarketDiscriminatorBytes(): ReadonlyUint8Array<ArrayBuffer>;
|
|
12
|
+
export type Market = {
|
|
13
|
+
discriminator: ReadonlyUint8Array;
|
|
14
|
+
id: bigint;
|
|
15
|
+
creator: Address;
|
|
16
|
+
mint: Address;
|
|
17
|
+
expression: MarketExpression;
|
|
18
|
+
outcomeLabels: Array<string>;
|
|
19
|
+
bands: Array<OutcomeBand>;
|
|
20
|
+
pools: Array<bigint>;
|
|
21
|
+
entryDeadline: bigint;
|
|
22
|
+
resolveAt: bigint;
|
|
23
|
+
voidAt: bigint;
|
|
24
|
+
feeBps: number;
|
|
25
|
+
tipBps: number;
|
|
26
|
+
state: MarketState;
|
|
27
|
+
winningOutcome: Option<number>;
|
|
28
|
+
/** Domain-separated SHA-256 commitment to the exact proof instruction evidence. */
|
|
29
|
+
resolutionEvidenceHash: Option<ReadonlyUint8Array>;
|
|
30
|
+
createdAt: bigint;
|
|
31
|
+
resolvedTs: bigint;
|
|
32
|
+
ticketCount: number;
|
|
33
|
+
/** Claimed winning stake for resolved markets, or total claimed stake for voided markets. */
|
|
34
|
+
claimedStake: bigint;
|
|
35
|
+
bump: number;
|
|
36
|
+
};
|
|
37
|
+
export type MarketArgs = {
|
|
38
|
+
id: number | bigint;
|
|
39
|
+
creator: Address;
|
|
40
|
+
mint: Address;
|
|
41
|
+
expression: MarketExpressionArgs;
|
|
42
|
+
outcomeLabels: Array<string>;
|
|
43
|
+
bands: Array<OutcomeBandArgs>;
|
|
44
|
+
pools: Array<number | bigint>;
|
|
45
|
+
entryDeadline: number | bigint;
|
|
46
|
+
resolveAt: number | bigint;
|
|
47
|
+
voidAt: number | bigint;
|
|
48
|
+
feeBps: number;
|
|
49
|
+
tipBps: number;
|
|
50
|
+
state: MarketStateArgs;
|
|
51
|
+
winningOutcome: OptionOrNullable<number>;
|
|
52
|
+
/** Domain-separated SHA-256 commitment to the exact proof instruction evidence. */
|
|
53
|
+
resolutionEvidenceHash: OptionOrNullable<ReadonlyUint8Array>;
|
|
54
|
+
createdAt: number | bigint;
|
|
55
|
+
resolvedTs: number | bigint;
|
|
56
|
+
ticketCount: number;
|
|
57
|
+
/** Claimed winning stake for resolved markets, or total claimed stake for voided markets. */
|
|
58
|
+
claimedStake: number | bigint;
|
|
59
|
+
bump: number;
|
|
60
|
+
};
|
|
61
|
+
/** Gets the encoder for {@link MarketArgs} account data. */
|
|
62
|
+
export declare function getMarketEncoder(): Encoder<MarketArgs>;
|
|
63
|
+
/** Gets the decoder for {@link Market} account data. */
|
|
64
|
+
export declare function getMarketDecoder(): Decoder<Market>;
|
|
65
|
+
/** Gets the codec for {@link Market} account data. */
|
|
66
|
+
export declare function getMarketCodec(): Codec<MarketArgs, Market>;
|
|
67
|
+
export declare function decodeMarket<TAddress extends string = string>(encodedAccount: EncodedAccount<TAddress>): Account<Market, TAddress>;
|
|
68
|
+
export declare function decodeMarket<TAddress extends string = string>(encodedAccount: MaybeEncodedAccount<TAddress>): MaybeAccount<Market, TAddress>;
|
|
69
|
+
export declare function fetchMarket<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<Account<Market, TAddress>>;
|
|
70
|
+
export declare function fetchMaybeMarket<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<MaybeAccount<Market, TAddress>>;
|
|
71
|
+
export declare function fetchAllMarket(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<Account<Market>[]>;
|
|
72
|
+
export declare function fetchAllMaybeMarket(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<MaybeAccount<Market>[]>;
|
|
73
|
+
//# sourceMappingURL=market.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../../../src/generated/accounts/market.ts"],"names":[],"mappings":"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"}
|