@clawlogic/sdk 0.0.1
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/README.md +227 -0
- package/dist/abis/agentIdentityRegistryAbi.d.ts +532 -0
- package/dist/abis/agentIdentityRegistryAbi.d.ts.map +1 -0
- package/dist/abis/agentIdentityRegistryAbi.js +2 -0
- package/dist/abis/agentIdentityRegistryAbi.js.map +1 -0
- package/dist/abis/agentRegistryAbi.d.ts +265 -0
- package/dist/abis/agentRegistryAbi.d.ts.map +1 -0
- package/dist/abis/agentRegistryAbi.js +151 -0
- package/dist/abis/agentRegistryAbi.js.map +1 -0
- package/dist/abis/agentReputationRegistryAbi.d.ts +224 -0
- package/dist/abis/agentReputationRegistryAbi.d.ts.map +1 -0
- package/dist/abis/agentReputationRegistryAbi.js +2 -0
- package/dist/abis/agentReputationRegistryAbi.js.map +1 -0
- package/dist/abis/agentValidationRegistryAbi.d.ts +281 -0
- package/dist/abis/agentValidationRegistryAbi.d.ts.map +1 -0
- package/dist/abis/agentValidationRegistryAbi.js +2 -0
- package/dist/abis/agentValidationRegistryAbi.js.map +1 -0
- package/dist/abis/outcomeTokenAbi.d.ts +255 -0
- package/dist/abis/outcomeTokenAbi.d.ts.map +1 -0
- package/dist/abis/outcomeTokenAbi.js +152 -0
- package/dist/abis/outcomeTokenAbi.js.map +1 -0
- package/dist/abis/predictionMarketHookAbi.d.ts +396 -0
- package/dist/abis/predictionMarketHookAbi.d.ts.map +1 -0
- package/dist/abis/predictionMarketHookAbi.js +212 -0
- package/dist/abis/predictionMarketHookAbi.js.map +1 -0
- package/dist/client.d.ts +241 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +569 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +84 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +134 -0
- package/dist/config.js.map +1 -0
- package/dist/identity.d.ts +133 -0
- package/dist/identity.d.ts.map +1 -0
- package/dist/identity.js +314 -0
- package/dist/identity.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +191 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +11 -0
- package/dist/types.js.map +1 -0
- package/package.json +51 -0
- package/src/abis/.gitkeep +0 -0
- package/src/abis/AgentRegistry.json +1 -0
- package/src/abis/ENSAgentHelper.json +1 -0
- package/src/abis/OutcomeToken.json +1 -0
- package/src/abis/PredictionMarketHook.json +1 -0
- package/src/abis/agentIdentityRegistryAbi.ts +1 -0
- package/src/abis/agentRegistryAbi.ts +150 -0
- package/src/abis/agentReputationRegistryAbi.ts +1 -0
- package/src/abis/agentValidationRegistryAbi.ts +1 -0
- package/src/abis/outcomeTokenAbi.ts +153 -0
- package/src/abis/predictionMarketHookAbi.ts +214 -0
- package/src/client.ts +722 -0
- package/src/config.ts +161 -0
- package/src/identity.ts +395 -0
- package/src/index.ts +48 -0
- package/src/types.ts +207 -0
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ABI for the PredictionMarketHook contract.
|
|
3
|
+
* Extracted from the Foundry build artifact.
|
|
4
|
+
* Only includes the functions, events, and errors relevant to the SDK
|
|
5
|
+
* (excludes V4 hook callbacks like beforeSwap, afterSwap, etc.).
|
|
6
|
+
*/
|
|
7
|
+
export const predictionMarketHookAbi = [
|
|
8
|
+
// ── Market Lifecycle Functions ──────────────────────────────────────
|
|
9
|
+
{
|
|
10
|
+
type: 'function',
|
|
11
|
+
name: 'initializeMarket',
|
|
12
|
+
inputs: [
|
|
13
|
+
{ name: 'outcome1', type: 'string', internalType: 'string' },
|
|
14
|
+
{ name: 'outcome2', type: 'string', internalType: 'string' },
|
|
15
|
+
{ name: 'description', type: 'string', internalType: 'string' },
|
|
16
|
+
{ name: 'reward', type: 'uint256', internalType: 'uint256' },
|
|
17
|
+
{ name: 'requiredBond', type: 'uint256', internalType: 'uint256' },
|
|
18
|
+
],
|
|
19
|
+
outputs: [{ name: 'marketId', type: 'bytes32', internalType: 'bytes32' }],
|
|
20
|
+
stateMutability: 'nonpayable',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
type: 'function',
|
|
24
|
+
name: 'mintOutcomeTokens',
|
|
25
|
+
inputs: [{ name: 'marketId', type: 'bytes32', internalType: 'bytes32' }],
|
|
26
|
+
outputs: [],
|
|
27
|
+
stateMutability: 'payable',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
type: 'function',
|
|
31
|
+
name: 'assertMarket',
|
|
32
|
+
inputs: [
|
|
33
|
+
{ name: 'marketId', type: 'bytes32', internalType: 'bytes32' },
|
|
34
|
+
{ name: 'assertedOutcome', type: 'string', internalType: 'string' },
|
|
35
|
+
],
|
|
36
|
+
outputs: [],
|
|
37
|
+
stateMutability: 'nonpayable',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
type: 'function',
|
|
41
|
+
name: 'settleOutcomeTokens',
|
|
42
|
+
inputs: [{ name: 'marketId', type: 'bytes32', internalType: 'bytes32' }],
|
|
43
|
+
outputs: [],
|
|
44
|
+
stateMutability: 'nonpayable',
|
|
45
|
+
},
|
|
46
|
+
// ── View / Read Functions ──────────────────────────────────────────
|
|
47
|
+
{
|
|
48
|
+
type: 'function',
|
|
49
|
+
name: 'getMarket',
|
|
50
|
+
inputs: [{ name: 'marketId', type: 'bytes32', internalType: 'bytes32' }],
|
|
51
|
+
outputs: [
|
|
52
|
+
{ name: 'description', type: 'string', internalType: 'string' },
|
|
53
|
+
{ name: 'outcome1', type: 'string', internalType: 'string' },
|
|
54
|
+
{ name: 'outcome2', type: 'string', internalType: 'string' },
|
|
55
|
+
{ name: 'outcome1Token', type: 'address', internalType: 'address' },
|
|
56
|
+
{ name: 'outcome2Token', type: 'address', internalType: 'address' },
|
|
57
|
+
{ name: 'reward', type: 'uint256', internalType: 'uint256' },
|
|
58
|
+
{ name: 'requiredBond', type: 'uint256', internalType: 'uint256' },
|
|
59
|
+
{ name: 'resolved', type: 'bool', internalType: 'bool' },
|
|
60
|
+
{ name: 'assertedOutcomeId', type: 'bytes32', internalType: 'bytes32' },
|
|
61
|
+
{ name: 'poolId', type: 'bytes32', internalType: 'PoolId' },
|
|
62
|
+
{ name: 'totalCollateral', type: 'uint256', internalType: 'uint256' },
|
|
63
|
+
],
|
|
64
|
+
stateMutability: 'view',
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
type: 'function',
|
|
68
|
+
name: 'getMarketIds',
|
|
69
|
+
inputs: [],
|
|
70
|
+
outputs: [{ name: '', type: 'bytes32[]', internalType: 'bytes32[]' }],
|
|
71
|
+
stateMutability: 'view',
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
type: 'function',
|
|
75
|
+
name: 'i_currency',
|
|
76
|
+
inputs: [],
|
|
77
|
+
outputs: [{ name: '', type: 'address', internalType: 'contract IERC20' }],
|
|
78
|
+
stateMutability: 'view',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'function',
|
|
82
|
+
name: 'i_defaultIdentifier',
|
|
83
|
+
inputs: [],
|
|
84
|
+
outputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }],
|
|
85
|
+
stateMutability: 'view',
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
type: 'function',
|
|
89
|
+
name: 'i_defaultLiveness',
|
|
90
|
+
inputs: [],
|
|
91
|
+
outputs: [{ name: '', type: 'uint64', internalType: 'uint64' }],
|
|
92
|
+
stateMutability: 'view',
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
type: 'function',
|
|
96
|
+
name: 'i_oo',
|
|
97
|
+
inputs: [],
|
|
98
|
+
outputs: [
|
|
99
|
+
{ name: '', type: 'address', internalType: 'contract OptimisticOracleV3Interface' },
|
|
100
|
+
],
|
|
101
|
+
stateMutability: 'view',
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
type: 'function',
|
|
105
|
+
name: 'i_registry',
|
|
106
|
+
inputs: [],
|
|
107
|
+
outputs: [{ name: '', type: 'address', internalType: 'contract IAgentRegistry' }],
|
|
108
|
+
stateMutability: 'view',
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
type: 'function',
|
|
112
|
+
name: 's_assertionToMarket',
|
|
113
|
+
inputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }],
|
|
114
|
+
outputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }],
|
|
115
|
+
stateMutability: 'view',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'function',
|
|
119
|
+
name: 's_marketCount',
|
|
120
|
+
inputs: [],
|
|
121
|
+
outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],
|
|
122
|
+
stateMutability: 'view',
|
|
123
|
+
},
|
|
124
|
+
// ── Events ─────────────────────────────────────────────────────────
|
|
125
|
+
{
|
|
126
|
+
type: 'event',
|
|
127
|
+
name: 'MarketInitialized',
|
|
128
|
+
inputs: [
|
|
129
|
+
{ name: 'marketId', type: 'bytes32', indexed: true, internalType: 'bytes32' },
|
|
130
|
+
{ name: 'description', type: 'string', indexed: false, internalType: 'string' },
|
|
131
|
+
{ name: 'creator', type: 'address', indexed: true, internalType: 'address' },
|
|
132
|
+
],
|
|
133
|
+
anonymous: false,
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'event',
|
|
137
|
+
name: 'TokensMinted',
|
|
138
|
+
inputs: [
|
|
139
|
+
{ name: 'marketId', type: 'bytes32', indexed: true, internalType: 'bytes32' },
|
|
140
|
+
{ name: 'agent', type: 'address', indexed: true, internalType: 'address' },
|
|
141
|
+
{ name: 'amount', type: 'uint256', indexed: false, internalType: 'uint256' },
|
|
142
|
+
],
|
|
143
|
+
anonymous: false,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'event',
|
|
147
|
+
name: 'MarketAsserted',
|
|
148
|
+
inputs: [
|
|
149
|
+
{ name: 'marketId', type: 'bytes32', indexed: true, internalType: 'bytes32' },
|
|
150
|
+
{ name: 'assertedOutcome', type: 'string', indexed: false, internalType: 'string' },
|
|
151
|
+
{ name: 'asserter', type: 'address', indexed: true, internalType: 'address' },
|
|
152
|
+
{ name: 'assertionId', type: 'bytes32', indexed: false, internalType: 'bytes32' },
|
|
153
|
+
],
|
|
154
|
+
anonymous: false,
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'event',
|
|
158
|
+
name: 'MarketResolved',
|
|
159
|
+
inputs: [
|
|
160
|
+
{ name: 'marketId', type: 'bytes32', indexed: true, internalType: 'bytes32' },
|
|
161
|
+
{ name: 'outcomeId', type: 'bytes32', indexed: false, internalType: 'bytes32' },
|
|
162
|
+
],
|
|
163
|
+
anonymous: false,
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
type: 'event',
|
|
167
|
+
name: 'AssertionFailed',
|
|
168
|
+
inputs: [
|
|
169
|
+
{ name: 'marketId', type: 'bytes32', indexed: true, internalType: 'bytes32' },
|
|
170
|
+
{ name: 'assertionId', type: 'bytes32', indexed: false, internalType: 'bytes32' },
|
|
171
|
+
],
|
|
172
|
+
anonymous: false,
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
type: 'event',
|
|
176
|
+
name: 'AssertionDisputed',
|
|
177
|
+
inputs: [
|
|
178
|
+
{ name: 'marketId', type: 'bytes32', indexed: true, internalType: 'bytes32' },
|
|
179
|
+
{ name: 'assertionId', type: 'bytes32', indexed: false, internalType: 'bytes32' },
|
|
180
|
+
],
|
|
181
|
+
anonymous: false,
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
type: 'event',
|
|
185
|
+
name: 'TokensSettled',
|
|
186
|
+
inputs: [
|
|
187
|
+
{ name: 'marketId', type: 'bytes32', indexed: true, internalType: 'bytes32' },
|
|
188
|
+
{ name: 'agent', type: 'address', indexed: true, internalType: 'address' },
|
|
189
|
+
{ name: 'payout', type: 'uint256', indexed: false, internalType: 'uint256' },
|
|
190
|
+
],
|
|
191
|
+
anonymous: false,
|
|
192
|
+
},
|
|
193
|
+
// ── Errors ─────────────────────────────────────────────────────────
|
|
194
|
+
{ type: 'error', name: 'ActiveAssertionExists', inputs: [] },
|
|
195
|
+
{ type: 'error', name: 'EthTransferFailed', inputs: [] },
|
|
196
|
+
{ type: 'error', name: 'HookNotImplemented', inputs: [] },
|
|
197
|
+
{ type: 'error', name: 'InvalidOutcome', inputs: [] },
|
|
198
|
+
{ type: 'error', name: 'MarketAlreadyResolved', inputs: [] },
|
|
199
|
+
{ type: 'error', name: 'MarketNotFound', inputs: [] },
|
|
200
|
+
{ type: 'error', name: 'MarketNotResolved', inputs: [] },
|
|
201
|
+
{ type: 'error', name: 'NoTokensToSettle', inputs: [] },
|
|
202
|
+
{ type: 'error', name: 'NotPoolManager', inputs: [] },
|
|
203
|
+
{ type: 'error', name: 'NotRegisteredAgent', inputs: [] },
|
|
204
|
+
{ type: 'error', name: 'OnlyOracle', inputs: [] },
|
|
205
|
+
{
|
|
206
|
+
type: 'error',
|
|
207
|
+
name: 'SafeERC20FailedOperation',
|
|
208
|
+
inputs: [{ name: 'token', type: 'address', internalType: 'address' }],
|
|
209
|
+
},
|
|
210
|
+
{ type: 'error', name: 'ZeroMintAmount', inputs: [] },
|
|
211
|
+
];
|
|
212
|
+
//# sourceMappingURL=predictionMarketHookAbi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"predictionMarketHookAbi.js","sourceRoot":"","sources":["../../src/abis/predictionMarketHookAbi.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import { type PublicClient, type WalletClient, type Transport, type Chain, type Account } from 'viem';
|
|
2
|
+
import type { ClawlogicConfig, MarketInfo, AgentInfo, MarketEventCallback } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Main client for interacting with the $CLAWLOGIC protocol.
|
|
5
|
+
*
|
|
6
|
+
* Provides methods for:
|
|
7
|
+
* - Agent registration & lookup (AgentRegistry)
|
|
8
|
+
* - Market creation, minting, assertion & settlement (PredictionMarketHook)
|
|
9
|
+
* - Outcome token balance queries (OutcomeToken ERC-20)
|
|
10
|
+
* - Event watching for real-time market activity
|
|
11
|
+
*
|
|
12
|
+
* Requires a private key for write operations. Read-only operations work
|
|
13
|
+
* without a private key (pass `undefined` and only use read methods).
|
|
14
|
+
*/
|
|
15
|
+
export declare class ClawlogicClient {
|
|
16
|
+
/** Protocol configuration (chain, RPC, contract addresses). */
|
|
17
|
+
readonly config: ClawlogicConfig;
|
|
18
|
+
/** viem public client for read operations. */
|
|
19
|
+
readonly publicClient: PublicClient<Transport, Chain>;
|
|
20
|
+
/** viem wallet client for write operations (undefined if read-only). */
|
|
21
|
+
readonly walletClient: WalletClient<Transport, Chain, Account> | undefined;
|
|
22
|
+
/** The account derived from the private key (undefined if read-only). */
|
|
23
|
+
readonly account: Account | undefined;
|
|
24
|
+
/** Typed contract handle for AgentRegistry (read-only). */
|
|
25
|
+
private readonly registryRead;
|
|
26
|
+
/** Typed contract handle for PredictionMarketHook (read-only). */
|
|
27
|
+
private readonly hookRead;
|
|
28
|
+
/**
|
|
29
|
+
* Create a new ClawlogicClient.
|
|
30
|
+
*
|
|
31
|
+
* @param config - Protocol configuration with chain info and contract addresses.
|
|
32
|
+
* @param privateKey - Hex-encoded private key for signing transactions.
|
|
33
|
+
* Pass `undefined` for a read-only client.
|
|
34
|
+
*/
|
|
35
|
+
constructor(config: ClawlogicConfig, privateKey?: `0x${string}`);
|
|
36
|
+
/**
|
|
37
|
+
* Ensure a wallet client is available for write operations.
|
|
38
|
+
* Throws a descriptive error if the client was created in read-only mode.
|
|
39
|
+
*/
|
|
40
|
+
private requireWallet;
|
|
41
|
+
/**
|
|
42
|
+
* Wait for a transaction receipt and return the transaction hash.
|
|
43
|
+
*/
|
|
44
|
+
private waitForTx;
|
|
45
|
+
/**
|
|
46
|
+
* Register the caller as an agent in the AgentRegistry.
|
|
47
|
+
*
|
|
48
|
+
* @param name - Human-readable agent name (e.g., "AlphaTrader"). Must be non-empty.
|
|
49
|
+
* @param attestation - TEE attestation bytes (hex-encoded). Defaults to "0x" (empty).
|
|
50
|
+
* @returns Transaction hash of the registration.
|
|
51
|
+
*/
|
|
52
|
+
registerAgent(name: string, attestation?: `0x${string}`): Promise<`0x${string}`>;
|
|
53
|
+
/**
|
|
54
|
+
* Check whether an address is a registered agent.
|
|
55
|
+
*
|
|
56
|
+
* @param address - The address to check.
|
|
57
|
+
* @returns True if the address is registered as an agent.
|
|
58
|
+
*/
|
|
59
|
+
isAgent(address: `0x${string}`): Promise<boolean>;
|
|
60
|
+
/**
|
|
61
|
+
* Get the full agent info for a registered address.
|
|
62
|
+
*
|
|
63
|
+
* @param address - The agent address to look up.
|
|
64
|
+
* @returns AgentInfo with name, attestation, registeredAt, and exists flag.
|
|
65
|
+
*/
|
|
66
|
+
getAgent(address: `0x${string}`): Promise<AgentInfo>;
|
|
67
|
+
/**
|
|
68
|
+
* Get the total number of registered agents.
|
|
69
|
+
*
|
|
70
|
+
* @returns The agent count as a bigint.
|
|
71
|
+
*/
|
|
72
|
+
getAgentCount(): Promise<bigint>;
|
|
73
|
+
/**
|
|
74
|
+
* Get all registered agent addresses.
|
|
75
|
+
*
|
|
76
|
+
* @returns Array of agent addresses.
|
|
77
|
+
*/
|
|
78
|
+
getAgentAddresses(): Promise<`0x${string}`[]>;
|
|
79
|
+
/**
|
|
80
|
+
* Create a new prediction market.
|
|
81
|
+
*
|
|
82
|
+
* The caller must be a registered agent. If `reward > 0`, the caller must
|
|
83
|
+
* have previously approved that amount of the bond currency (i_currency)
|
|
84
|
+
* to the PredictionMarketHook contract.
|
|
85
|
+
*
|
|
86
|
+
* @param outcome1 - Label for outcome 1 (e.g., "yes").
|
|
87
|
+
* @param outcome2 - Label for outcome 2 (e.g., "no").
|
|
88
|
+
* @param description - Human-readable market question.
|
|
89
|
+
* @param reward - Amount of bond currency offered as incentive to the asserter.
|
|
90
|
+
* @param requiredBond - Minimum bond required from an asserter.
|
|
91
|
+
* @returns Transaction hash of the market creation.
|
|
92
|
+
*/
|
|
93
|
+
initializeMarket(outcome1: string, outcome2: string, description: string, reward: bigint, requiredBond: bigint): Promise<`0x${string}`>;
|
|
94
|
+
/**
|
|
95
|
+
* Deposit ETH collateral to mint equal amounts of both outcome tokens.
|
|
96
|
+
*
|
|
97
|
+
* The caller must be a registered agent. Sends `ethAmount` in wei as
|
|
98
|
+
* msg.value and receives that amount of outcome1Token AND outcome2Token.
|
|
99
|
+
*
|
|
100
|
+
* @param marketId - The market to mint tokens for (bytes32).
|
|
101
|
+
* @param ethAmount - Amount of ETH to deposit as collateral (in wei).
|
|
102
|
+
* @returns Transaction hash of the mint operation.
|
|
103
|
+
*/
|
|
104
|
+
mintOutcomeTokens(marketId: `0x${string}`, ethAmount: bigint): Promise<`0x${string}`>;
|
|
105
|
+
/**
|
|
106
|
+
* Assert the outcome of a market via UMA Optimistic Oracle V3.
|
|
107
|
+
*
|
|
108
|
+
* The caller must be a registered agent. The asserted outcome must exactly
|
|
109
|
+
* match `outcome1`, `outcome2`, or the literal string "Unresolvable".
|
|
110
|
+
* The caller must have approved the required bond amount of `i_currency`
|
|
111
|
+
* to the PredictionMarketHook contract.
|
|
112
|
+
*
|
|
113
|
+
* @param marketId - The market to assert (bytes32).
|
|
114
|
+
* @param assertedOutcome - The outcome string being asserted.
|
|
115
|
+
* @returns Transaction hash of the assertion.
|
|
116
|
+
*/
|
|
117
|
+
assertMarket(marketId: `0x${string}`, assertedOutcome: string): Promise<`0x${string}`>;
|
|
118
|
+
/**
|
|
119
|
+
* Redeem winning outcome tokens for proportional ETH collateral.
|
|
120
|
+
*
|
|
121
|
+
* The market must be resolved. The caller's winning tokens are burned and
|
|
122
|
+
* they receive a proportional share of the total collateral.
|
|
123
|
+
*
|
|
124
|
+
* @param marketId - The resolved market (bytes32).
|
|
125
|
+
* @returns Transaction hash of the settlement.
|
|
126
|
+
*/
|
|
127
|
+
settleOutcomeTokens(marketId: `0x${string}`): Promise<`0x${string}`>;
|
|
128
|
+
/**
|
|
129
|
+
* Get full market details for a given marketId.
|
|
130
|
+
*
|
|
131
|
+
* Parses the 11-value tuple returned by PredictionMarketHook.getMarket()
|
|
132
|
+
* into a structured MarketInfo object.
|
|
133
|
+
*
|
|
134
|
+
* @param marketId - The market identifier (bytes32).
|
|
135
|
+
* @returns MarketInfo with all market details.
|
|
136
|
+
*/
|
|
137
|
+
getMarket(marketId: `0x${string}`): Promise<MarketInfo>;
|
|
138
|
+
/**
|
|
139
|
+
* Get all market IDs.
|
|
140
|
+
*
|
|
141
|
+
* @returns Array of all created market IDs (bytes32[]).
|
|
142
|
+
*/
|
|
143
|
+
getMarketIds(): Promise<`0x${string}`[]>;
|
|
144
|
+
/**
|
|
145
|
+
* Get all markets with full details.
|
|
146
|
+
*
|
|
147
|
+
* Calls getMarketIds() then getMarket() for each.
|
|
148
|
+
* For large numbers of markets, consider using getMarketIds() + getMarket()
|
|
149
|
+
* individually with pagination.
|
|
150
|
+
*
|
|
151
|
+
* @returns Array of MarketInfo for all markets.
|
|
152
|
+
*/
|
|
153
|
+
getAllMarkets(): Promise<MarketInfo[]>;
|
|
154
|
+
/**
|
|
155
|
+
* Get the total number of created markets.
|
|
156
|
+
*
|
|
157
|
+
* @returns The market count as a bigint.
|
|
158
|
+
*/
|
|
159
|
+
getMarketCount(): Promise<bigint>;
|
|
160
|
+
/**
|
|
161
|
+
* Get the balance of an outcome token for a given owner.
|
|
162
|
+
*
|
|
163
|
+
* @param tokenAddress - The OutcomeToken contract address.
|
|
164
|
+
* @param ownerAddress - The address to check the balance of.
|
|
165
|
+
* @returns The token balance as a bigint.
|
|
166
|
+
*/
|
|
167
|
+
getOutcomeTokenBalance(tokenAddress: `0x${string}`, ownerAddress: `0x${string}`): Promise<bigint>;
|
|
168
|
+
/**
|
|
169
|
+
* Get the total supply of an outcome token.
|
|
170
|
+
*
|
|
171
|
+
* @param tokenAddress - The OutcomeToken contract address.
|
|
172
|
+
* @returns The total supply as a bigint.
|
|
173
|
+
*/
|
|
174
|
+
getOutcomeTokenTotalSupply(tokenAddress: `0x${string}`): Promise<bigint>;
|
|
175
|
+
/**
|
|
176
|
+
* Get both outcome token balances for a given agent in a specific market.
|
|
177
|
+
*
|
|
178
|
+
* @param marketId - The market identifier.
|
|
179
|
+
* @param ownerAddress - The address to check balances for.
|
|
180
|
+
* @returns Object with outcome1Balance and outcome2Balance.
|
|
181
|
+
*/
|
|
182
|
+
getPositions(marketId: `0x${string}`, ownerAddress: `0x${string}`): Promise<{
|
|
183
|
+
outcome1Balance: bigint;
|
|
184
|
+
outcome2Balance: bigint;
|
|
185
|
+
}>;
|
|
186
|
+
/**
|
|
187
|
+
* Get the bond currency address used by the PredictionMarketHook.
|
|
188
|
+
*
|
|
189
|
+
* @returns The ERC-20 bond currency contract address.
|
|
190
|
+
*/
|
|
191
|
+
getBondCurrency(): Promise<`0x${string}`>;
|
|
192
|
+
/**
|
|
193
|
+
* Get the default liveness window for UMA assertions (in seconds).
|
|
194
|
+
*
|
|
195
|
+
* @returns The liveness window as a bigint (seconds).
|
|
196
|
+
*/
|
|
197
|
+
getDefaultLiveness(): Promise<bigint>;
|
|
198
|
+
/**
|
|
199
|
+
* Get the UMA Optimistic Oracle V3 address used by the hook.
|
|
200
|
+
*
|
|
201
|
+
* @returns The OOV3 contract address.
|
|
202
|
+
*/
|
|
203
|
+
getOracleAddress(): Promise<`0x${string}`>;
|
|
204
|
+
/**
|
|
205
|
+
* Watch for all prediction market events in real time.
|
|
206
|
+
*
|
|
207
|
+
* Subscribes to: MarketInitialized, TokensMinted, MarketAsserted,
|
|
208
|
+
* MarketResolved, AssertionFailed, AssertionDisputed, TokensSettled.
|
|
209
|
+
*
|
|
210
|
+
* @param callback - Function called for each new event.
|
|
211
|
+
* @returns An unwatch function. Call it to stop watching.
|
|
212
|
+
*/
|
|
213
|
+
watchMarketEvents(callback: MarketEventCallback): () => void;
|
|
214
|
+
/**
|
|
215
|
+
* Watch for AgentRegistered events from the AgentRegistry.
|
|
216
|
+
*
|
|
217
|
+
* @param callback - Function called with (agent address, name) for each registration.
|
|
218
|
+
* @returns An unwatch function. Call it to stop watching.
|
|
219
|
+
*/
|
|
220
|
+
watchAgentRegistrations(callback: (agent: `0x${string}`, name: string) => void): () => void;
|
|
221
|
+
/**
|
|
222
|
+
* Get the address of the account associated with this client.
|
|
223
|
+
*
|
|
224
|
+
* @returns The account address, or undefined if read-only.
|
|
225
|
+
*/
|
|
226
|
+
getAddress(): `0x${string}` | undefined;
|
|
227
|
+
/**
|
|
228
|
+
* Get the ETH balance of the connected account.
|
|
229
|
+
*
|
|
230
|
+
* @returns The balance in wei.
|
|
231
|
+
*/
|
|
232
|
+
getBalance(): Promise<bigint>;
|
|
233
|
+
/**
|
|
234
|
+
* Get the ETH balance of any address.
|
|
235
|
+
*
|
|
236
|
+
* @param address - The address to check.
|
|
237
|
+
* @returns The balance in wei.
|
|
238
|
+
*/
|
|
239
|
+
getBalanceOf(address: `0x${string}`): Promise<bigint>;
|
|
240
|
+
}
|
|
241
|
+
//# 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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"}
|