yosoku 0.1.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.
Files changed (110) hide show
  1. package/dist/accounts/filllog.d.ts +5 -0
  2. package/dist/accounts/filllog.d.ts.map +1 -0
  3. package/dist/accounts/filllog.js +30 -0
  4. package/dist/accounts/filllog.js.map +1 -0
  5. package/dist/accounts/index.d.ts +42 -0
  6. package/dist/accounts/index.d.ts.map +1 -0
  7. package/dist/accounts/index.js +81 -0
  8. package/dist/accounts/index.js.map +1 -0
  9. package/dist/accounts/market.d.ts +14 -0
  10. package/dist/accounts/market.d.ts.map +1 -0
  11. package/dist/accounts/market.js +104 -0
  12. package/dist/accounts/market.js.map +1 -0
  13. package/dist/accounts/marketinfo.d.ts +9 -0
  14. package/dist/accounts/marketinfo.d.ts.map +1 -0
  15. package/dist/accounts/marketinfo.js +29 -0
  16. package/dist/accounts/marketinfo.js.map +1 -0
  17. package/dist/accounts/order.d.ts +11 -0
  18. package/dist/accounts/order.d.ts.map +1 -0
  19. package/dist/accounts/order.js +50 -0
  20. package/dist/accounts/order.js.map +1 -0
  21. package/dist/accounts/orderbook.d.ts +5 -0
  22. package/dist/accounts/orderbook.d.ts.map +1 -0
  23. package/dist/accounts/orderbook.js +80 -0
  24. package/dist/accounts/orderbook.js.map +1 -0
  25. package/dist/accounts/position.d.ts +11 -0
  26. package/dist/accounts/position.d.ts.map +1 -0
  27. package/dist/accounts/position.js +48 -0
  28. package/dist/accounts/position.js.map +1 -0
  29. package/dist/accounts/resolution.d.ts +13 -0
  30. package/dist/accounts/resolution.d.ts.map +1 -0
  31. package/dist/accounts/resolution.js +91 -0
  32. package/dist/accounts/resolution.js.map +1 -0
  33. package/dist/client.d.ts +50 -0
  34. package/dist/client.d.ts.map +1 -0
  35. package/dist/client.js +63 -0
  36. package/dist/client.js.map +1 -0
  37. package/dist/constants.d.ts +28 -0
  38. package/dist/constants.d.ts.map +1 -0
  39. package/dist/constants.js +32 -0
  40. package/dist/constants.js.map +1 -0
  41. package/dist/errors.d.ts +85 -0
  42. package/dist/errors.d.ts.map +1 -0
  43. package/dist/errors.js +186 -0
  44. package/dist/errors.js.map +1 -0
  45. package/dist/events/index.d.ts +22 -0
  46. package/dist/events/index.d.ts.map +1 -0
  47. package/dist/events/index.js +78 -0
  48. package/dist/events/index.js.map +1 -0
  49. package/dist/events/parser.d.ts +4 -0
  50. package/dist/events/parser.d.ts.map +1 -0
  51. package/dist/events/parser.js +111 -0
  52. package/dist/events/parser.js.map +1 -0
  53. package/dist/events/types.d.ts +85 -0
  54. package/dist/events/types.d.ts.map +1 -0
  55. package/dist/events/types.js +3 -0
  56. package/dist/events/types.js.map +1 -0
  57. package/dist/idl/pred_market.d.ts +4809 -0
  58. package/dist/idl/pred_market.d.ts.map +1 -0
  59. package/dist/idl/pred_market.js +3 -0
  60. package/dist/idl/pred_market.js.map +1 -0
  61. package/dist/idl/pred_market.json +4802 -0
  62. package/dist/index.d.ts +15 -0
  63. package/dist/index.d.ts.map +1 -0
  64. package/dist/index.js +47 -0
  65. package/dist/index.js.map +1 -0
  66. package/dist/instructions/admin.d.ts +20 -0
  67. package/dist/instructions/admin.d.ts.map +1 -0
  68. package/dist/instructions/admin.js +89 -0
  69. package/dist/instructions/admin.js.map +1 -0
  70. package/dist/instructions/index.d.ts +14 -0
  71. package/dist/instructions/index.d.ts.map +1 -0
  72. package/dist/instructions/index.js +18 -0
  73. package/dist/instructions/index.js.map +1 -0
  74. package/dist/instructions/market-creation.d.ts +48 -0
  75. package/dist/instructions/market-creation.d.ts.map +1 -0
  76. package/dist/instructions/market-creation.js +270 -0
  77. package/dist/instructions/market-creation.js.map +1 -0
  78. package/dist/instructions/market-info.d.ts +48 -0
  79. package/dist/instructions/market-info.d.ts.map +1 -0
  80. package/dist/instructions/market-info.js +138 -0
  81. package/dist/instructions/market-info.js.map +1 -0
  82. package/dist/instructions/positions.d.ts +42 -0
  83. package/dist/instructions/positions.d.ts.map +1 -0
  84. package/dist/instructions/positions.js +122 -0
  85. package/dist/instructions/positions.js.map +1 -0
  86. package/dist/instructions/resolution.d.ts +32 -0
  87. package/dist/instructions/resolution.d.ts.map +1 -0
  88. package/dist/instructions/resolution.js +107 -0
  89. package/dist/instructions/resolution.js.map +1 -0
  90. package/dist/instructions/trading.d.ts +81 -0
  91. package/dist/instructions/trading.d.ts.map +1 -0
  92. package/dist/instructions/trading.js +195 -0
  93. package/dist/instructions/trading.js.map +1 -0
  94. package/dist/instructions/vote-resolution.d.ts +20 -0
  95. package/dist/instructions/vote-resolution.d.ts.map +1 -0
  96. package/dist/instructions/vote-resolution.js +58 -0
  97. package/dist/instructions/vote-resolution.js.map +1 -0
  98. package/dist/pda.d.ts +11 -0
  99. package/dist/pda.d.ts.map +1 -0
  100. package/dist/pda.js +68 -0
  101. package/dist/pda.js.map +1 -0
  102. package/dist/price.d.ts +48 -0
  103. package/dist/price.d.ts.map +1 -0
  104. package/dist/price.js +90 -0
  105. package/dist/price.js.map +1 -0
  106. package/dist/types.d.ts +198 -0
  107. package/dist/types.d.ts.map +1 -0
  108. package/dist/types.js +92 -0
  109. package/dist/types.js.map +1 -0
  110. package/package.json +40 -0
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseResolutionProposal = parseResolutionProposal;
4
+ exports.fetchResolutionProposal = fetchResolutionProposal;
5
+ exports.parseVoteState = parseVoteState;
6
+ exports.fetchVoteState = fetchVoteState;
7
+ const pda_1 = require("../pda");
8
+ /** @internal */
9
+ function parseProposedOutcome(raw) {
10
+ if (raw.yes !== undefined)
11
+ return "yes";
12
+ if (raw.no !== undefined)
13
+ return "no";
14
+ return "none";
15
+ }
16
+ /** @internal */
17
+ function parseVoteValue(v) {
18
+ if (v === 1)
19
+ return "yes";
20
+ if (v === 2)
21
+ return "no";
22
+ return "none";
23
+ }
24
+ /** @internal */
25
+ function parseResolutionProposal(address, raw) {
26
+ const disputedAt = raw.disputedAt
27
+ ? Number(raw.disputedAt.toString())
28
+ : 0;
29
+ return {
30
+ address,
31
+ market: raw.market,
32
+ index: raw.index,
33
+ proposer: raw.proposer,
34
+ proposedOutcome: parseProposedOutcome(raw.proposedOutcome),
35
+ proposerBond: raw.proposerBond,
36
+ proposedAt: new Date(Number(raw.proposedAt.toString()) * 1000),
37
+ disputer: raw.disputer,
38
+ disputerBond: raw.disputerBond,
39
+ disputedAt: disputedAt > 0 ? new Date(disputedAt * 1000) : null,
40
+ isSettled: raw.isSettled,
41
+ bondsClaimed: raw.bondsClaimed,
42
+ bump: raw.bump,
43
+ };
44
+ }
45
+ /** @internal */
46
+ async function fetchResolutionProposal(program, market, index) {
47
+ const [pda] = (0, pda_1.getResolutionProposalPda)(program.programId, market, index);
48
+ try {
49
+ const raw = await program.account.resolutionProposal.fetch(pda);
50
+ return parseResolutionProposal(pda, raw);
51
+ }
52
+ catch {
53
+ return null;
54
+ }
55
+ }
56
+ /** @internal */
57
+ function parseVoteRecords(raw) {
58
+ return raw.map((r) => ({
59
+ voter: r.voter,
60
+ vote: parseVoteValue(r.vote),
61
+ votedAt: r.votedAt && Number(r.votedAt.toString()) > 0
62
+ ? new Date(Number(r.votedAt.toString()) * 1000)
63
+ : null,
64
+ }));
65
+ }
66
+ /** @internal */
67
+ function parseVoteState(address, raw) {
68
+ return {
69
+ address,
70
+ market: raw.market,
71
+ index: raw.index,
72
+ totalVoters: raw.totalVoters,
73
+ yesVotes: raw.yesVotes,
74
+ noVotes: raw.noVotes,
75
+ votes: parseVoteRecords(raw.votes),
76
+ isFinalized: raw.isFinalized,
77
+ bump: raw.bump,
78
+ };
79
+ }
80
+ /** @internal */
81
+ async function fetchVoteState(program, market, index) {
82
+ const [pda] = (0, pda_1.getVoteStatePda)(program.programId, market, index);
83
+ try {
84
+ const raw = await program.account.voteState.fetch(pda);
85
+ return parseVoteState(pda, raw);
86
+ }
87
+ catch {
88
+ return null;
89
+ }
90
+ }
91
+ //# sourceMappingURL=resolution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolution.js","sourceRoot":"","sources":["../../src/accounts/resolution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import { Program, AnchorProvider } from "@coral-xyz/anchor";
2
+ import { Connection, PublicKey } from "@solana/web3.js";
3
+ import { PredMarket } from "./idl/pred_market";
4
+ import { AccountModule } from "./accounts";
5
+ import { MarketModule } from "./instructions/market-creation";
6
+ import { MarketInfoModule } from "./instructions/market-info";
7
+ import { TradingModule } from "./instructions/trading";
8
+ import { PositionModule } from "./instructions/positions";
9
+ import { ResolutionModule } from "./instructions/resolution";
10
+ import { VoteResolutionModule } from "./instructions/vote-resolution";
11
+ import { AdminModule } from "./instructions/admin";
12
+ import { EventModule } from "./events";
13
+ export interface PredMarketClientConfig {
14
+ /** An Anchor provider (connection + wallet) */
15
+ provider?: AnchorProvider;
16
+ /** A raw connection (for read-only usage) */
17
+ connection?: Connection;
18
+ /** Override the program ID (defaults to the canonical one) */
19
+ programId?: PublicKey;
20
+ }
21
+ export declare class PredMarketClient {
22
+ /** The underlying Anchor program instance */
23
+ readonly program: Program<PredMarket>;
24
+ /** The program ID */
25
+ readonly programId: PublicKey;
26
+ /** Market creation and multi-leg management */
27
+ readonly markets: MarketModule;
28
+ /** MarketInfo metadata operations */
29
+ readonly marketInfo: MarketInfoModule;
30
+ /** Limit orders, market orders */
31
+ readonly trading: TradingModule;
32
+ /** Claim, merge, cancel, redeem positions */
33
+ readonly positions: PositionModule;
34
+ /** UMA resolution (propose, finalize, dispute, claim, resolve-expired) */
35
+ readonly resolution: ResolutionModule;
36
+ /** Wallet vote resolution */
37
+ readonly voteResolution: VoteResolutionModule;
38
+ /** Admin operations (verify, close, migrate) */
39
+ readonly admin: AdminModule;
40
+ /** Account fetching and deserialization */
41
+ readonly accounts: AccountModule;
42
+ /** Event parsing and subscriptions */
43
+ readonly events: EventModule;
44
+ constructor(config: PredMarketClientConfig);
45
+ /** Create a client from an Anchor Provider */
46
+ static fromProvider(provider: AnchorProvider, programId?: PublicKey): PredMarketClient;
47
+ /** Create a read-only client (no signing capability) */
48
+ static readOnly(connection: Connection, programId?: PublicKey): PredMarketClient;
49
+ }
50
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAU,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAW,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,WAAW,sBAAsB;IACrC,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,6CAA6C;IAC7C,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,qBAAa,gBAAgB;IAC3B,6CAA6C;IAC7C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,qBAAqB;IACrB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAE9B,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,qCAAqC;IACrC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,kCAAkC;IAClC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,6BAA6B;IAC7B,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAC9C,gDAAgD;IAChD,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,2CAA2C;IAC3C,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;gBAEjB,MAAM,EAAE,sBAAsB;IAoC1C,8CAA8C;IAC9C,MAAM,CAAC,YAAY,CACjB,QAAQ,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,SAAS,GACpB,gBAAgB;IAInB,wDAAwD;IACxD,MAAM,CAAC,QAAQ,CACb,UAAU,EAAE,UAAU,EACtB,SAAS,CAAC,EAAE,SAAS,GACpB,gBAAgB;CAGpB"}
package/dist/client.js ADDED
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PredMarketClient = void 0;
7
+ const anchor_1 = require("@coral-xyz/anchor");
8
+ const web3_js_1 = require("@solana/web3.js");
9
+ const pred_market_json_1 = __importDefault(require("./idl/pred_market.json"));
10
+ const constants_1 = require("./constants");
11
+ const accounts_1 = require("./accounts");
12
+ const market_creation_1 = require("./instructions/market-creation");
13
+ const market_info_1 = require("./instructions/market-info");
14
+ const trading_1 = require("./instructions/trading");
15
+ const positions_1 = require("./instructions/positions");
16
+ const resolution_1 = require("./instructions/resolution");
17
+ const vote_resolution_1 = require("./instructions/vote-resolution");
18
+ const admin_1 = require("./instructions/admin");
19
+ const events_1 = require("./events");
20
+ class PredMarketClient {
21
+ constructor(config) {
22
+ const programId = config.programId ?? constants_1.PROGRAM_ID;
23
+ this.programId = programId;
24
+ let provider;
25
+ if (config.provider) {
26
+ provider = config.provider;
27
+ }
28
+ else if (config.connection) {
29
+ // Read-only: create a dummy wallet
30
+ const dummyWallet = {
31
+ publicKey: web3_js_1.Keypair.generate().publicKey,
32
+ signTransaction: async (tx) => tx,
33
+ signAllTransactions: async (txs) => txs,
34
+ };
35
+ provider = new anchor_1.AnchorProvider(config.connection, dummyWallet, {
36
+ commitment: "confirmed",
37
+ });
38
+ }
39
+ else {
40
+ throw new Error("PredMarketClient requires either a provider or a connection");
41
+ }
42
+ this.program = new anchor_1.Program(pred_market_json_1.default, provider);
43
+ this.markets = new market_creation_1.MarketModule(this.program);
44
+ this.marketInfo = new market_info_1.MarketInfoModule(this.program);
45
+ this.trading = new trading_1.TradingModule(this.program);
46
+ this.positions = new positions_1.PositionModule(this.program);
47
+ this.resolution = new resolution_1.ResolutionModule(this.program);
48
+ this.voteResolution = new vote_resolution_1.VoteResolutionModule(this.program);
49
+ this.admin = new admin_1.AdminModule(this.program);
50
+ this.accounts = new accounts_1.AccountModule(this.program);
51
+ this.events = new events_1.EventModule(this.program);
52
+ }
53
+ /** Create a client from an Anchor Provider */
54
+ static fromProvider(provider, programId) {
55
+ return new PredMarketClient({ provider, programId });
56
+ }
57
+ /** Create a read-only client (no signing capability) */
58
+ static readOnly(connection, programId) {
59
+ return new PredMarketClient({ connection, programId });
60
+ }
61
+ }
62
+ exports.PredMarketClient = PredMarketClient;
63
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoE;AACpE,6CAAiE;AAEjE,8EAAyC;AACzC,2CAAyC;AACzC,yCAA2C;AAC3C,oEAA8D;AAC9D,4DAA8D;AAC9D,oDAAuD;AACvD,wDAA0D;AAC1D,0DAA6D;AAC7D,oEAAsE;AACtE,gDAAmD;AACnD,qCAAuC;AAWvC,MAAa,gBAAgB;IAyB3B,YAAY,MAA8B;QACxC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,sBAAU,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,IAAI,QAAwB,CAAC;QAC7B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC7B,CAAC;aAAM,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAC7B,mCAAmC;YACnC,MAAM,WAAW,GAAG;gBAClB,SAAS,EAAE,iBAAO,CAAC,QAAQ,EAAE,CAAC,SAAS;gBACvC,eAAe,EAAE,KAAK,EAAE,EAAO,EAAE,EAAE,CAAC,EAAE;gBACtC,mBAAmB,EAAE,KAAK,EAAE,GAAQ,EAAE,EAAE,CAAC,GAAG;aACnC,CAAC;YACZ,QAAQ,GAAG,IAAI,uBAAc,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE;gBAC5D,UAAU,EAAE,WAAW;aACxB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAO,CAAC,0BAAU,EAAE,QAAQ,CAAmC,CAAC;QAEnF,IAAI,CAAC,OAAO,GAAG,IAAI,8BAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,8BAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,0BAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,IAAI,6BAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,cAAc,GAAG,IAAI,sCAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,GAAG,IAAI,mBAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,wBAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,IAAI,oBAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,8CAA8C;IAC9C,MAAM,CAAC,YAAY,CACjB,QAAwB,EACxB,SAAqB;QAErB,OAAO,IAAI,gBAAgB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,wDAAwD;IACxD,MAAM,CAAC,QAAQ,CACb,UAAsB,EACtB,SAAqB;QAErB,OAAO,IAAI,gBAAgB,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;IACzD,CAAC;CACF;AA5ED,4CA4EC"}
@@ -0,0 +1,28 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ /** Program ID for the pred-market program */
3
+ export declare const PROGRAM_ID: PublicKey;
4
+ /** USDC mint address (devnet) */
5
+ export declare const USDC_MINT: PublicKey;
6
+ /** Protocol treasury USDC account */
7
+ export declare const PROTOCOL_USDC_ACCOUNT: PublicKey;
8
+ /** Admin public key */
9
+ export declare const ADMIN_PUBKEY: PublicKey;
10
+ /** USDC token decimals */
11
+ export declare const USDC_DECIMALS = 6;
12
+ /** Proposer bond for resolution (100 USDC) */
13
+ export declare const PROPOSER_BOND: bigint;
14
+ /** Disputer bond for resolution (200 USDC) */
15
+ export declare const DISPUTER_BOND: bigint;
16
+ /** Dispute window duration in seconds (24 hours) */
17
+ export declare const DISPUTE_WINDOW_SECONDS = 86400;
18
+ /** Maximum number of voters in WalletVoteResolver */
19
+ export declare const MAX_VOTERS = 10;
20
+ /** @internal */
21
+ export declare const ORDER_BOOK_SIZE: number;
22
+ /** @internal */
23
+ export declare const FILL_LOG_SIZE: number;
24
+ /** @internal */
25
+ export declare const PRICE_TICKS = 999;
26
+ /** @internal */
27
+ export declare const MAX_ORDERS = 512;
28
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,6CAA6C;AAC7C,eAAO,MAAM,UAAU,WAEtB,CAAC;AAEF,iCAAiC;AACjC,eAAO,MAAM,SAAS,WAErB,CAAC;AAEF,qCAAqC;AACrC,eAAO,MAAM,qBAAqB,WAEjC,CAAC;AAEF,uBAAuB;AACvB,eAAO,MAAM,YAAY,WAExB,CAAC;AAEF,0BAA0B;AAC1B,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B,8CAA8C;AAC9C,eAAO,MAAM,aAAa,QAAsB,CAAC;AAEjD,8CAA8C;AAC9C,eAAO,MAAM,aAAa,QAAsB,CAAC;AAEjD,oDAAoD;AACpD,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAE5C,qDAAqD;AACrD,eAAO,MAAM,UAAU,KAAK,CAAC;AAI7B,gBAAgB;AAChB,eAAO,MAAM,eAAe,QACuB,CAAC;AAEpD,gBAAgB;AAChB,eAAO,MAAM,aAAa,QAAgC,CAAC;AAE3D,gBAAgB;AAChB,eAAO,MAAM,WAAW,MAAM,CAAC;AAE/B,gBAAgB;AAChB,eAAO,MAAM,UAAU,MAAM,CAAC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MAX_ORDERS = exports.PRICE_TICKS = exports.FILL_LOG_SIZE = exports.ORDER_BOOK_SIZE = exports.MAX_VOTERS = exports.DISPUTE_WINDOW_SECONDS = exports.DISPUTER_BOND = exports.PROPOSER_BOND = exports.USDC_DECIMALS = exports.ADMIN_PUBKEY = exports.PROTOCOL_USDC_ACCOUNT = exports.USDC_MINT = exports.PROGRAM_ID = void 0;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ /** Program ID for the pred-market program */
6
+ exports.PROGRAM_ID = new web3_js_1.PublicKey("8p6MKtMGGugZMy2HGXtL3uBb11y7xuzXmbMbQgNmWVUQ");
7
+ /** USDC mint address (devnet) */
8
+ exports.USDC_MINT = new web3_js_1.PublicKey("Gh9ZwEmdLJ8DscKNTkTqPbNwLNNBjuSzaG9Vp2KGtKJr");
9
+ /** Protocol treasury USDC account */
10
+ exports.PROTOCOL_USDC_ACCOUNT = new web3_js_1.PublicKey("cyr1Aqp4n3Fk8uCkDnthKxNR6QQkztubzDX3mJCExkc");
11
+ /** Admin public key */
12
+ exports.ADMIN_PUBKEY = new web3_js_1.PublicKey("Hw1AaSgWow8ccM7QFcfQXj6NSvWjauBE9GaTDAis26X8");
13
+ /** USDC token decimals */
14
+ exports.USDC_DECIMALS = 6;
15
+ /** Proposer bond for resolution (100 USDC) */
16
+ exports.PROPOSER_BOND = BigInt(100000000);
17
+ /** Disputer bond for resolution (200 USDC) */
18
+ exports.DISPUTER_BOND = BigInt(200000000);
19
+ /** Dispute window duration in seconds (24 hours) */
20
+ exports.DISPUTE_WINDOW_SECONDS = 86400;
21
+ /** Maximum number of voters in WalletVoteResolver */
22
+ exports.MAX_VOTERS = 10;
23
+ // --- Internal constants (not part of the public API surface) ---
24
+ /** @internal */
25
+ exports.ORDER_BOOK_SIZE = 8 + 1 + 1 + 6 + 32 + 8 + 32 + 999 * 4 + 16416 + 4;
26
+ /** @internal */
27
+ exports.FILL_LOG_SIZE = 8 + 32 + 1 + 1 + 6 + 999 * 16;
28
+ /** @internal */
29
+ exports.PRICE_TICKS = 999;
30
+ /** @internal */
31
+ exports.MAX_ORDERS = 512;
32
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE5C,6CAA6C;AAChC,QAAA,UAAU,GAAG,IAAI,mBAAS,CACrC,8CAA8C,CAC/C,CAAC;AAEF,iCAAiC;AACpB,QAAA,SAAS,GAAG,IAAI,mBAAS,CACpC,8CAA8C,CAC/C,CAAC;AAEF,qCAAqC;AACxB,QAAA,qBAAqB,GAAG,IAAI,mBAAS,CAChD,6CAA6C,CAC9C,CAAC;AAEF,uBAAuB;AACV,QAAA,YAAY,GAAG,IAAI,mBAAS,CACvC,8CAA8C,CAC/C,CAAC;AAEF,0BAA0B;AACb,QAAA,aAAa,GAAG,CAAC,CAAC;AAE/B,8CAA8C;AACjC,QAAA,aAAa,GAAG,MAAM,CAAC,SAAW,CAAC,CAAC;AAEjD,8CAA8C;AACjC,QAAA,aAAa,GAAG,MAAM,CAAC,SAAW,CAAC,CAAC;AAEjD,oDAAoD;AACvC,QAAA,sBAAsB,GAAG,KAAK,CAAC;AAE5C,qDAAqD;AACxC,QAAA,UAAU,GAAG,EAAE,CAAC;AAE7B,kEAAkE;AAElE,gBAAgB;AACH,QAAA,eAAe,GAC1B,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AAEpD,gBAAgB;AACH,QAAA,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AAE3D,gBAAgB;AACH,QAAA,WAAW,GAAG,GAAG,CAAC;AAE/B,gBAAgB;AACH,QAAA,UAAU,GAAG,GAAG,CAAC"}
@@ -0,0 +1,85 @@
1
+ /** All program error codes */
2
+ export declare enum PredMarketErrorCode {
3
+ InvalidPrice = 6000,
4
+ InvalidAmount = 6001,
5
+ MathOverflow = 6002,
6
+ OrderBookFull = 6003,
7
+ InvalidOrderBookSide = 6004,
8
+ InvalidOrderBook = 6005,
9
+ InvalidVault = 6006,
10
+ MarketResolved = 6007,
11
+ InvalidMint = 6008,
12
+ EmptyName = 6009,
13
+ NameTooLong = 6010,
14
+ DescriptionTooLong = 6011,
15
+ EmptyRules = 6012,
16
+ RulesTooLong = 6013,
17
+ EmptyCategory = 6014,
18
+ CategoryTooLong = 6015,
19
+ ImageUriTooLong = 6016,
20
+ InvalidDeadline = 6017,
21
+ InvalidMinOrderSize = 6018,
22
+ SlippageExceeded = 6019,
23
+ NoLiquidity = 6020,
24
+ MarketNotActive = 6021,
25
+ NoFillsToClaim = 6022,
26
+ Unauthorized = 6023,
27
+ InsufficientShares = 6024,
28
+ BelowMinOrderSize = 6025,
29
+ InsufficientVaultBalance = 6026,
30
+ InvalidTokenOwner = 6027,
31
+ DuplicateOrderBook = 6028,
32
+ InvariantViolation = 6029,
33
+ OrderAlreadyFilled = 6030,
34
+ DeadlineNotReached = 6031,
35
+ ResolvingAlreadyRequested = 6032,
36
+ InvalidMessageType = 6033,
37
+ MarketNotFound = 6034,
38
+ ResolutionNotPending = 6035,
39
+ ProposalAlreadyExists = 6036,
40
+ NoProposalExists = 6037,
41
+ InvalidProposedOutcome = 6038,
42
+ DisputeWindowExpired = 6039,
43
+ DisputeWindowNotExpired = 6040,
44
+ AlreadyDisputed = 6041,
45
+ ProposalAlreadySettled = 6042,
46
+ CannotDisputeOwnProposal = 6043,
47
+ InvalidResolutionState = 6044,
48
+ MarketNotResolved = 6045,
49
+ InvalidIndex = 6046,
50
+ MismatchedOrderBooks = 6047,
51
+ NotMultiLegMarket = 6048,
52
+ InvalidMarketStatus = 6049,
53
+ OrderBookNotEmpty = 6050,
54
+ OrderBookNotClosed = 6051,
55
+ FillLogMismatch = 6052,
56
+ InvalidResolverType = 6053,
57
+ UnauthorizedVoter = 6054,
58
+ InvalidVote = 6055,
59
+ VotingDeadlinePassed = 6056,
60
+ VotingFinalized = 6057,
61
+ NoVotersSpecified = 6058,
62
+ TooManyVoters = 6059,
63
+ DuplicateVoter = 6060,
64
+ MarketInfoLocked = 6061,
65
+ MarketInfoTypeMismatch = 6062,
66
+ MultiLegQuestionInvalidPlaceholder = 6063,
67
+ EventDeadlineInPast = 6064,
68
+ MarketQuestionEmpty = 6065,
69
+ MarketInfoAlreadyUsed = 6066,
70
+ InvalidProtocolAccount = 6067,
71
+ InvalidReferralAccount = 6068,
72
+ InsufficientFundsForFees = 6069,
73
+ NoFeesToClaim = 6070
74
+ }
75
+ export declare class PredMarketError extends Error {
76
+ readonly code: number;
77
+ readonly errorName: string;
78
+ constructor(code: number, message: string, errorName: string);
79
+ }
80
+ /**
81
+ * Extract and enrich a program error from an Anchor error.
82
+ * Returns a typed PredMarketError if the error is a known program error, null otherwise.
83
+ */
84
+ export declare function parsePredMarketError(error: unknown): PredMarketError | null;
85
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,oBAAY,mBAAmB;IAC7B,YAAY,OAAO;IACnB,aAAa,OAAO;IACpB,YAAY,OAAO;IACnB,aAAa,OAAO;IACpB,oBAAoB,OAAO;IAC3B,gBAAgB,OAAO;IACvB,YAAY,OAAO;IACnB,cAAc,OAAO;IACrB,WAAW,OAAO;IAClB,SAAS,OAAO;IAChB,WAAW,OAAO;IAClB,kBAAkB,OAAO;IACzB,UAAU,OAAO;IACjB,YAAY,OAAO;IACnB,aAAa,OAAO;IACpB,eAAe,OAAO;IACtB,eAAe,OAAO;IACtB,eAAe,OAAO;IACtB,mBAAmB,OAAO;IAC1B,gBAAgB,OAAO;IACvB,WAAW,OAAO;IAClB,eAAe,OAAO;IACtB,cAAc,OAAO;IACrB,YAAY,OAAO;IACnB,kBAAkB,OAAO;IACzB,iBAAiB,OAAO;IACxB,wBAAwB,OAAO;IAC/B,iBAAiB,OAAO;IACxB,kBAAkB,OAAO;IACzB,kBAAkB,OAAO;IACzB,kBAAkB,OAAO;IACzB,kBAAkB,OAAO;IACzB,yBAAyB,OAAO;IAChC,kBAAkB,OAAO;IACzB,cAAc,OAAO;IACrB,oBAAoB,OAAO;IAC3B,qBAAqB,OAAO;IAC5B,gBAAgB,OAAO;IACvB,sBAAsB,OAAO;IAC7B,oBAAoB,OAAO;IAC3B,uBAAuB,OAAO;IAC9B,eAAe,OAAO;IACtB,sBAAsB,OAAO;IAC7B,wBAAwB,OAAO;IAC/B,sBAAsB,OAAO;IAC7B,iBAAiB,OAAO;IACxB,YAAY,OAAO;IACnB,oBAAoB,OAAO;IAC3B,iBAAiB,OAAO;IACxB,mBAAmB,OAAO;IAC1B,iBAAiB,OAAO;IACxB,kBAAkB,OAAO;IACzB,eAAe,OAAO;IACtB,mBAAmB,OAAO;IAC1B,iBAAiB,OAAO;IACxB,WAAW,OAAO;IAClB,oBAAoB,OAAO;IAC3B,eAAe,OAAO;IACtB,iBAAiB,OAAO;IACxB,aAAa,OAAO;IACpB,cAAc,OAAO;IACrB,gBAAgB,OAAO;IACvB,sBAAsB,OAAO;IAC7B,kCAAkC,OAAO;IACzC,mBAAmB,OAAO;IAC1B,mBAAmB,OAAO;IAC1B,qBAAqB,OAAO;IAC5B,sBAAsB,OAAO;IAC7B,sBAAsB,OAAO;IAC7B,wBAAwB,OAAO;IAC/B,aAAa,OAAO;CACrB;AA4ED,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAM7D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,GAAG,IAAI,CAqB3E"}
package/dist/errors.js ADDED
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PredMarketError = exports.PredMarketErrorCode = void 0;
4
+ exports.parsePredMarketError = parsePredMarketError;
5
+ /** All program error codes */
6
+ var PredMarketErrorCode;
7
+ (function (PredMarketErrorCode) {
8
+ PredMarketErrorCode[PredMarketErrorCode["InvalidPrice"] = 6000] = "InvalidPrice";
9
+ PredMarketErrorCode[PredMarketErrorCode["InvalidAmount"] = 6001] = "InvalidAmount";
10
+ PredMarketErrorCode[PredMarketErrorCode["MathOverflow"] = 6002] = "MathOverflow";
11
+ PredMarketErrorCode[PredMarketErrorCode["OrderBookFull"] = 6003] = "OrderBookFull";
12
+ PredMarketErrorCode[PredMarketErrorCode["InvalidOrderBookSide"] = 6004] = "InvalidOrderBookSide";
13
+ PredMarketErrorCode[PredMarketErrorCode["InvalidOrderBook"] = 6005] = "InvalidOrderBook";
14
+ PredMarketErrorCode[PredMarketErrorCode["InvalidVault"] = 6006] = "InvalidVault";
15
+ PredMarketErrorCode[PredMarketErrorCode["MarketResolved"] = 6007] = "MarketResolved";
16
+ PredMarketErrorCode[PredMarketErrorCode["InvalidMint"] = 6008] = "InvalidMint";
17
+ PredMarketErrorCode[PredMarketErrorCode["EmptyName"] = 6009] = "EmptyName";
18
+ PredMarketErrorCode[PredMarketErrorCode["NameTooLong"] = 6010] = "NameTooLong";
19
+ PredMarketErrorCode[PredMarketErrorCode["DescriptionTooLong"] = 6011] = "DescriptionTooLong";
20
+ PredMarketErrorCode[PredMarketErrorCode["EmptyRules"] = 6012] = "EmptyRules";
21
+ PredMarketErrorCode[PredMarketErrorCode["RulesTooLong"] = 6013] = "RulesTooLong";
22
+ PredMarketErrorCode[PredMarketErrorCode["EmptyCategory"] = 6014] = "EmptyCategory";
23
+ PredMarketErrorCode[PredMarketErrorCode["CategoryTooLong"] = 6015] = "CategoryTooLong";
24
+ PredMarketErrorCode[PredMarketErrorCode["ImageUriTooLong"] = 6016] = "ImageUriTooLong";
25
+ PredMarketErrorCode[PredMarketErrorCode["InvalidDeadline"] = 6017] = "InvalidDeadline";
26
+ PredMarketErrorCode[PredMarketErrorCode["InvalidMinOrderSize"] = 6018] = "InvalidMinOrderSize";
27
+ PredMarketErrorCode[PredMarketErrorCode["SlippageExceeded"] = 6019] = "SlippageExceeded";
28
+ PredMarketErrorCode[PredMarketErrorCode["NoLiquidity"] = 6020] = "NoLiquidity";
29
+ PredMarketErrorCode[PredMarketErrorCode["MarketNotActive"] = 6021] = "MarketNotActive";
30
+ PredMarketErrorCode[PredMarketErrorCode["NoFillsToClaim"] = 6022] = "NoFillsToClaim";
31
+ PredMarketErrorCode[PredMarketErrorCode["Unauthorized"] = 6023] = "Unauthorized";
32
+ PredMarketErrorCode[PredMarketErrorCode["InsufficientShares"] = 6024] = "InsufficientShares";
33
+ PredMarketErrorCode[PredMarketErrorCode["BelowMinOrderSize"] = 6025] = "BelowMinOrderSize";
34
+ PredMarketErrorCode[PredMarketErrorCode["InsufficientVaultBalance"] = 6026] = "InsufficientVaultBalance";
35
+ PredMarketErrorCode[PredMarketErrorCode["InvalidTokenOwner"] = 6027] = "InvalidTokenOwner";
36
+ PredMarketErrorCode[PredMarketErrorCode["DuplicateOrderBook"] = 6028] = "DuplicateOrderBook";
37
+ PredMarketErrorCode[PredMarketErrorCode["InvariantViolation"] = 6029] = "InvariantViolation";
38
+ PredMarketErrorCode[PredMarketErrorCode["OrderAlreadyFilled"] = 6030] = "OrderAlreadyFilled";
39
+ PredMarketErrorCode[PredMarketErrorCode["DeadlineNotReached"] = 6031] = "DeadlineNotReached";
40
+ PredMarketErrorCode[PredMarketErrorCode["ResolvingAlreadyRequested"] = 6032] = "ResolvingAlreadyRequested";
41
+ PredMarketErrorCode[PredMarketErrorCode["InvalidMessageType"] = 6033] = "InvalidMessageType";
42
+ PredMarketErrorCode[PredMarketErrorCode["MarketNotFound"] = 6034] = "MarketNotFound";
43
+ PredMarketErrorCode[PredMarketErrorCode["ResolutionNotPending"] = 6035] = "ResolutionNotPending";
44
+ PredMarketErrorCode[PredMarketErrorCode["ProposalAlreadyExists"] = 6036] = "ProposalAlreadyExists";
45
+ PredMarketErrorCode[PredMarketErrorCode["NoProposalExists"] = 6037] = "NoProposalExists";
46
+ PredMarketErrorCode[PredMarketErrorCode["InvalidProposedOutcome"] = 6038] = "InvalidProposedOutcome";
47
+ PredMarketErrorCode[PredMarketErrorCode["DisputeWindowExpired"] = 6039] = "DisputeWindowExpired";
48
+ PredMarketErrorCode[PredMarketErrorCode["DisputeWindowNotExpired"] = 6040] = "DisputeWindowNotExpired";
49
+ PredMarketErrorCode[PredMarketErrorCode["AlreadyDisputed"] = 6041] = "AlreadyDisputed";
50
+ PredMarketErrorCode[PredMarketErrorCode["ProposalAlreadySettled"] = 6042] = "ProposalAlreadySettled";
51
+ PredMarketErrorCode[PredMarketErrorCode["CannotDisputeOwnProposal"] = 6043] = "CannotDisputeOwnProposal";
52
+ PredMarketErrorCode[PredMarketErrorCode["InvalidResolutionState"] = 6044] = "InvalidResolutionState";
53
+ PredMarketErrorCode[PredMarketErrorCode["MarketNotResolved"] = 6045] = "MarketNotResolved";
54
+ PredMarketErrorCode[PredMarketErrorCode["InvalidIndex"] = 6046] = "InvalidIndex";
55
+ PredMarketErrorCode[PredMarketErrorCode["MismatchedOrderBooks"] = 6047] = "MismatchedOrderBooks";
56
+ PredMarketErrorCode[PredMarketErrorCode["NotMultiLegMarket"] = 6048] = "NotMultiLegMarket";
57
+ PredMarketErrorCode[PredMarketErrorCode["InvalidMarketStatus"] = 6049] = "InvalidMarketStatus";
58
+ PredMarketErrorCode[PredMarketErrorCode["OrderBookNotEmpty"] = 6050] = "OrderBookNotEmpty";
59
+ PredMarketErrorCode[PredMarketErrorCode["OrderBookNotClosed"] = 6051] = "OrderBookNotClosed";
60
+ PredMarketErrorCode[PredMarketErrorCode["FillLogMismatch"] = 6052] = "FillLogMismatch";
61
+ PredMarketErrorCode[PredMarketErrorCode["InvalidResolverType"] = 6053] = "InvalidResolverType";
62
+ PredMarketErrorCode[PredMarketErrorCode["UnauthorizedVoter"] = 6054] = "UnauthorizedVoter";
63
+ PredMarketErrorCode[PredMarketErrorCode["InvalidVote"] = 6055] = "InvalidVote";
64
+ PredMarketErrorCode[PredMarketErrorCode["VotingDeadlinePassed"] = 6056] = "VotingDeadlinePassed";
65
+ PredMarketErrorCode[PredMarketErrorCode["VotingFinalized"] = 6057] = "VotingFinalized";
66
+ PredMarketErrorCode[PredMarketErrorCode["NoVotersSpecified"] = 6058] = "NoVotersSpecified";
67
+ PredMarketErrorCode[PredMarketErrorCode["TooManyVoters"] = 6059] = "TooManyVoters";
68
+ PredMarketErrorCode[PredMarketErrorCode["DuplicateVoter"] = 6060] = "DuplicateVoter";
69
+ PredMarketErrorCode[PredMarketErrorCode["MarketInfoLocked"] = 6061] = "MarketInfoLocked";
70
+ PredMarketErrorCode[PredMarketErrorCode["MarketInfoTypeMismatch"] = 6062] = "MarketInfoTypeMismatch";
71
+ PredMarketErrorCode[PredMarketErrorCode["MultiLegQuestionInvalidPlaceholder"] = 6063] = "MultiLegQuestionInvalidPlaceholder";
72
+ PredMarketErrorCode[PredMarketErrorCode["EventDeadlineInPast"] = 6064] = "EventDeadlineInPast";
73
+ PredMarketErrorCode[PredMarketErrorCode["MarketQuestionEmpty"] = 6065] = "MarketQuestionEmpty";
74
+ PredMarketErrorCode[PredMarketErrorCode["MarketInfoAlreadyUsed"] = 6066] = "MarketInfoAlreadyUsed";
75
+ PredMarketErrorCode[PredMarketErrorCode["InvalidProtocolAccount"] = 6067] = "InvalidProtocolAccount";
76
+ PredMarketErrorCode[PredMarketErrorCode["InvalidReferralAccount"] = 6068] = "InvalidReferralAccount";
77
+ PredMarketErrorCode[PredMarketErrorCode["InsufficientFundsForFees"] = 6069] = "InsufficientFundsForFees";
78
+ PredMarketErrorCode[PredMarketErrorCode["NoFeesToClaim"] = 6070] = "NoFeesToClaim";
79
+ })(PredMarketErrorCode || (exports.PredMarketErrorCode = PredMarketErrorCode = {}));
80
+ const ERROR_MESSAGES = {
81
+ [PredMarketErrorCode.InvalidPrice]: "Invalid price - must be between 1 and 999",
82
+ [PredMarketErrorCode.InvalidAmount]: "Invalid amount - must be greater than 0",
83
+ [PredMarketErrorCode.MathOverflow]: "Math overflow",
84
+ [PredMarketErrorCode.OrderBookFull]: "Order book is full",
85
+ [PredMarketErrorCode.InvalidOrderBookSide]: "Order book side does not match the requested side",
86
+ [PredMarketErrorCode.InvalidOrderBook]: "Order book does not belong to this market",
87
+ [PredMarketErrorCode.InvalidVault]: "Vault does not belong to this market",
88
+ [PredMarketErrorCode.MarketResolved]: "Market has already been resolved",
89
+ [PredMarketErrorCode.InvalidMint]: "Invalid USDC mint",
90
+ [PredMarketErrorCode.EmptyName]: "Name cannot be empty",
91
+ [PredMarketErrorCode.NameTooLong]: "Name exceeds maximum length of 64 characters",
92
+ [PredMarketErrorCode.DescriptionTooLong]: "Description exceeds maximum length of 256 characters",
93
+ [PredMarketErrorCode.EmptyRules]: "Rules cannot be empty",
94
+ [PredMarketErrorCode.RulesTooLong]: "Rules exceeds maximum length of 512 characters",
95
+ [PredMarketErrorCode.EmptyCategory]: "Category cannot be empty",
96
+ [PredMarketErrorCode.CategoryTooLong]: "Category exceeds maximum length of 32 characters",
97
+ [PredMarketErrorCode.ImageUriTooLong]: "Image URI exceeds maximum length of 128 characters",
98
+ [PredMarketErrorCode.InvalidDeadline]: "Resolving deadline must be in the future",
99
+ [PredMarketErrorCode.InvalidMinOrderSize]: "Minimum order size must be greater than 0",
100
+ [PredMarketErrorCode.SlippageExceeded]: "Slippage exceeded - received fewer shares than minimum",
101
+ [PredMarketErrorCode.NoLiquidity]: "No liquidity available",
102
+ [PredMarketErrorCode.MarketNotActive]: "Market is not active",
103
+ [PredMarketErrorCode.NoFillsToClaim]: "No fills to claim",
104
+ [PredMarketErrorCode.Unauthorized]: "Unauthorized",
105
+ [PredMarketErrorCode.InsufficientShares]: "Insufficient shares in position",
106
+ [PredMarketErrorCode.BelowMinOrderSize]: "Order size below market minimum",
107
+ [PredMarketErrorCode.InsufficientVaultBalance]: "Insufficient vault balance",
108
+ [PredMarketErrorCode.InvalidTokenOwner]: "Invalid token account owner",
109
+ [PredMarketErrorCode.DuplicateOrderBook]: "Order books must be different accounts",
110
+ [PredMarketErrorCode.InvariantViolation]: "Invariant violation: vault balance less than shares outstanding",
111
+ [PredMarketErrorCode.OrderAlreadyFilled]: "Order has already been filled and cannot be cancelled",
112
+ [PredMarketErrorCode.DeadlineNotReached]: "Resolving deadline has not been reached yet",
113
+ [PredMarketErrorCode.ResolvingAlreadyRequested]: "Resolution has already been requested for this market",
114
+ [PredMarketErrorCode.InvalidMessageType]: "Invalid message type received",
115
+ [PredMarketErrorCode.MarketNotFound]: "Market not found for resolution result",
116
+ [PredMarketErrorCode.ResolutionNotPending]: "Resolution not pending for this market",
117
+ [PredMarketErrorCode.ProposalAlreadyExists]: "A resolution proposal already exists for this market",
118
+ [PredMarketErrorCode.NoProposalExists]: "No resolution proposal exists for this market",
119
+ [PredMarketErrorCode.InvalidProposedOutcome]: "Invalid proposed outcome - must be 1 (Yes) or 2 (No)",
120
+ [PredMarketErrorCode.DisputeWindowExpired]: "Dispute window has expired",
121
+ [PredMarketErrorCode.DisputeWindowNotExpired]: "Dispute window has not expired yet",
122
+ [PredMarketErrorCode.AlreadyDisputed]: "Resolution proposal has already been disputed",
123
+ [PredMarketErrorCode.ProposalAlreadySettled]: "Resolution proposal has already been settled",
124
+ [PredMarketErrorCode.CannotDisputeOwnProposal]: "Cannot dispute your own proposal",
125
+ [PredMarketErrorCode.InvalidResolutionState]: "Invalid resolution state for this operation",
126
+ [PredMarketErrorCode.MarketNotResolved]: "Market has not been resolved yet",
127
+ [PredMarketErrorCode.InvalidIndex]: "Invalid market index",
128
+ [PredMarketErrorCode.MismatchedOrderBooks]: "Order books must be from the same market leg (mismatched index)",
129
+ [PredMarketErrorCode.NotMultiLegMarket]: "Can only add orderbook sets to MultiLeg markets",
130
+ [PredMarketErrorCode.InvalidMarketStatus]: "Invalid market status",
131
+ [PredMarketErrorCode.OrderBookNotEmpty]: "Order book still has active orders - cancel them first",
132
+ [PredMarketErrorCode.OrderBookNotClosed]: "Order books must be closed before closing the market",
133
+ [PredMarketErrorCode.FillLogMismatch]: "Fill log does not match the order book",
134
+ [PredMarketErrorCode.InvalidResolverType]: "Invalid resolver type for this operation",
135
+ [PredMarketErrorCode.UnauthorizedVoter]: "Voter not in authorized list",
136
+ [PredMarketErrorCode.InvalidVote]: "Invalid vote - must be 1 (Yes) or 2 (No)",
137
+ [PredMarketErrorCode.VotingDeadlinePassed]: "Cannot vote after resolving deadline",
138
+ [PredMarketErrorCode.VotingFinalized]: "Voting has already been finalized",
139
+ [PredMarketErrorCode.NoVotersSpecified]: "WalletVoteResolver requires at least one voter",
140
+ [PredMarketErrorCode.TooManyVoters]: "Maximum 10 voters allowed",
141
+ [PredMarketErrorCode.DuplicateVoter]: "Duplicate voter in list",
142
+ [PredMarketErrorCode.MarketInfoLocked]: "MarketInfo is locked and cannot be modified",
143
+ [PredMarketErrorCode.MarketInfoTypeMismatch]: "MarketInfo type does not match market creation type",
144
+ [PredMarketErrorCode.MultiLegQuestionInvalidPlaceholder]: "MultiLeg market question must contain exactly one '___' placeholder",
145
+ [PredMarketErrorCode.EventDeadlineInPast]: "Event deadline must be in the future",
146
+ [PredMarketErrorCode.MarketQuestionEmpty]: "Market question cannot be empty",
147
+ [PredMarketErrorCode.MarketInfoAlreadyUsed]: "MarketInfo has already been used for a market",
148
+ [PredMarketErrorCode.InvalidProtocolAccount]: "Invalid protocol treasury account",
149
+ [PredMarketErrorCode.InvalidReferralAccount]: "Invalid referral account - must be a valid USDC token account",
150
+ [PredMarketErrorCode.InsufficientFundsForFees]: "Insufficient funds to cover fees",
151
+ [PredMarketErrorCode.NoFeesToClaim]: "Creator vault is empty - no fees to claim",
152
+ };
153
+ class PredMarketError extends Error {
154
+ constructor(code, message, errorName) {
155
+ super(message);
156
+ this.name = "PredMarketError";
157
+ this.code = code;
158
+ this.errorName = errorName;
159
+ }
160
+ }
161
+ exports.PredMarketError = PredMarketError;
162
+ /**
163
+ * Extract and enrich a program error from an Anchor error.
164
+ * Returns a typed PredMarketError if the error is a known program error, null otherwise.
165
+ */
166
+ function parsePredMarketError(error) {
167
+ if (error == null || typeof error !== "object")
168
+ return null;
169
+ // Anchor wraps errors with a .error.errorCode.number
170
+ const err = error;
171
+ let code;
172
+ if (err.error?.errorCode?.number != null) {
173
+ code = err.error.errorCode.number;
174
+ }
175
+ else if (err.code != null && typeof err.code === "number") {
176
+ code = err.code;
177
+ }
178
+ if (code == null)
179
+ return null;
180
+ const message = ERROR_MESSAGES[code];
181
+ if (!message)
182
+ return null;
183
+ const errorName = PredMarketErrorCode[code] ?? `Unknown(${code})`;
184
+ return new PredMarketError(code, message, errorName);
185
+ }
186
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { Program } from "@coral-xyz/anchor";
2
+ import { PredMarket } from "../idl/pred_market";
3
+ import { TradeEvent, OrderPlacedEvent, OrderCancelledEvent, PositionClaimedEvent, PositionUpdatedEvent, SharesMergedEvent } from "./types";
4
+ export declare class EventModule {
5
+ private readonly program;
6
+ /** @internal */
7
+ constructor(program: Program<PredMarket>);
8
+ /** Subscribe to Trade events. Returns an unsubscribe function. */
9
+ onTrade(callback: (event: TradeEvent) => void): () => void;
10
+ /** Subscribe to OrderPlaced events. Returns an unsubscribe function. */
11
+ onOrderPlaced(callback: (event: OrderPlacedEvent) => void): () => void;
12
+ /** Subscribe to OrderCancelled events. Returns an unsubscribe function. */
13
+ onOrderCancelled(callback: (event: OrderCancelledEvent) => void): () => void;
14
+ /** Subscribe to PositionClaimed events. Returns an unsubscribe function. */
15
+ onPositionClaimed(callback: (event: PositionClaimedEvent) => void): () => void;
16
+ /** Subscribe to PositionUpdated events. Returns an unsubscribe function. */
17
+ onPositionUpdated(callback: (event: PositionUpdatedEvent) => void): () => void;
18
+ /** Subscribe to SharesMerged events. Returns an unsubscribe function. */
19
+ onSharesMerged(callback: (event: SharesMergedEvent) => void): () => void;
20
+ }
21
+ export type { TradeEvent, OrderPlacedEvent, OrderCancelledEvent, PositionClaimedEvent, PositionUpdatedEvent, SharesMergedEvent, PredMarketEvent, } from "./types";
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAEjB,qBAAa,WAAW;IAEV,OAAO,CAAC,QAAQ,CAAC,OAAO;IADpC,gBAAgB;gBACa,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC;IAEzD,kEAAkE;IAClE,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI;IAa1D,wEAAwE;IACxE,aAAa,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,MAAM,IAAI;IAatE,2EAA2E;IAC3E,gBAAgB,CACd,QAAQ,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,GAC7C,MAAM,IAAI;IAab,4EAA4E;IAC5E,iBAAiB,CACf,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,GAC9C,MAAM,IAAI;IAab,4EAA4E;IAC5E,iBAAiB,CACf,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,GAC9C,MAAM,IAAI;IAab,yEAAyE;IACzE,cAAc,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAAG,MAAM,IAAI;CAYzE;AAED,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,GAChB,MAAM,SAAS,CAAC"}