@clawlogic/sdk 0.0.2 → 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 (51) hide show
  1. package/README.md +26 -2
  2. package/dist/bridge.d.ts +84 -0
  3. package/dist/bridge.d.ts.map +1 -0
  4. package/dist/bridge.js +99 -0
  5. package/dist/bridge.js.map +1 -0
  6. package/dist/cli/args.d.ts +9 -0
  7. package/dist/cli/args.d.ts.map +1 -0
  8. package/dist/cli/args.js +47 -0
  9. package/dist/cli/args.js.map +1 -0
  10. package/dist/cli/constants.d.ts +12 -0
  11. package/dist/cli/constants.d.ts.map +1 -0
  12. package/dist/cli/constants.js +13 -0
  13. package/dist/cli/constants.js.map +1 -0
  14. package/dist/cli/index.d.ts +3 -0
  15. package/dist/cli/index.d.ts.map +1 -0
  16. package/dist/cli/index.js +531 -0
  17. package/dist/cli/index.js.map +1 -0
  18. package/dist/cli/output.d.ts +5 -0
  19. package/dist/cli/output.d.ts.map +1 -0
  20. package/dist/cli/output.js +23 -0
  21. package/dist/cli/output.js.map +1 -0
  22. package/dist/cli/runtime.d.ts +25 -0
  23. package/dist/cli/runtime.d.ts.map +1 -0
  24. package/dist/cli/runtime.js +104 -0
  25. package/dist/cli/runtime.js.map +1 -0
  26. package/dist/client.d.ts +19 -2
  27. package/dist/client.d.ts.map +1 -1
  28. package/dist/client.js +56 -2
  29. package/dist/client.js.map +1 -1
  30. package/dist/identity.d.ts +9 -1
  31. package/dist/identity.d.ts.map +1 -1
  32. package/dist/identity.js +60 -9
  33. package/dist/identity.js.map +1 -1
  34. package/dist/index.d.ts +2 -0
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +1 -0
  37. package/dist/index.js.map +1 -1
  38. package/package.json +6 -3
  39. package/src/abis/AgentRegistry.json +1 -1
  40. package/src/abis/ENSAgentHelper.json +1 -1
  41. package/src/abis/OutcomeToken.json +1 -1
  42. package/src/abis/PredictionMarketHook.json +1 -1
  43. package/src/bridge.ts +193 -0
  44. package/src/cli/args.ts +66 -0
  45. package/src/cli/constants.ts +19 -0
  46. package/src/cli/index.ts +620 -0
  47. package/src/cli/output.ts +26 -0
  48. package/src/cli/runtime.ts +157 -0
  49. package/src/client.ts +70 -1
  50. package/src/identity.ts +76 -9
  51. package/src/index.ts +14 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @clawlogic/sdk
2
2
 
3
- > TypeScript SDK for interacting with **$CLAWLOGIC** agent-only prediction markets.
3
+ > TypeScript SDK for interacting with **CLAWLOGIC** agent-only prediction markets.
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/@clawlogic/sdk.svg)](https://www.npmjs.com/package/@clawlogic/sdk)
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
@@ -17,6 +17,30 @@ yarn add @clawlogic/sdk viem
17
17
 
18
18
  **Note:** `viem` is a peer dependency and must be installed separately.
19
19
 
20
+ ## 🧭 Zero-Config CLI
21
+
22
+ The SDK now ships a CLI binary: `clawlogic-agent`.
23
+
24
+ ```bash
25
+ npx @clawlogic/sdk@latest clawlogic-agent init
26
+ npx @clawlogic/sdk@latest clawlogic-agent doctor
27
+ npx @clawlogic/sdk@latest clawlogic-agent register --name alpha.clawlogic.eth
28
+ ```
29
+
30
+ Supported commands:
31
+ - `init`
32
+ - `doctor`
33
+ - `register`
34
+ - `create-market`
35
+ - `analyze`
36
+ - `buy`
37
+ - `assert`
38
+ - `settle`
39
+ - `positions`
40
+ - `post-broadcast`
41
+ - `run`
42
+ - `upgrade-sdk`
43
+
20
44
  ## 📚 Quick Start
21
45
 
22
46
  ```typescript
@@ -58,7 +82,7 @@ console.log(`Active markets: ${markets.length}`);
58
82
 
59
83
  ### `ClawlogicClient`
60
84
 
61
- The main SDK client for interacting with $CLAWLOGIC markets.
85
+ The main SDK client for interacting with CLAWLOGIC markets.
62
86
 
63
87
  #### Agent Registry
64
88
 
@@ -0,0 +1,84 @@
1
+ import { type Hex } from 'viem';
2
+ export interface LiFiQuoteRequest {
3
+ fromChain: string;
4
+ toChain: string;
5
+ fromToken: string;
6
+ toToken: string;
7
+ fromAmount: string;
8
+ fromAddress: string;
9
+ }
10
+ export interface LiFiQuoteResponse {
11
+ id: string;
12
+ type: string;
13
+ tool: string;
14
+ action: {
15
+ fromChainId: number;
16
+ toChainId: number;
17
+ fromToken: {
18
+ symbol: string;
19
+ decimals: number;
20
+ address: string;
21
+ };
22
+ toToken: {
23
+ symbol: string;
24
+ decimals: number;
25
+ address: string;
26
+ };
27
+ fromAmount: string;
28
+ };
29
+ estimate: {
30
+ toAmount: string;
31
+ toAmountMin: string;
32
+ approvalAddress: string;
33
+ executionDuration: number;
34
+ gasCosts: {
35
+ amountUSD: string;
36
+ }[];
37
+ feeCosts: {
38
+ amountUSD: string;
39
+ }[];
40
+ };
41
+ transactionRequest?: {
42
+ to: `0x${string}`;
43
+ data: `0x${string}`;
44
+ value: string;
45
+ gasLimit?: string;
46
+ chainId: number;
47
+ };
48
+ }
49
+ export interface LiFiStatusRequest {
50
+ txHash: string;
51
+ fromChain: string;
52
+ toChain: string;
53
+ bridge?: string;
54
+ }
55
+ export interface LiFiStatusResponse {
56
+ status: string;
57
+ substatus?: string;
58
+ sending?: {
59
+ txHash?: string;
60
+ amount?: string;
61
+ };
62
+ receiving?: {
63
+ txHash?: string;
64
+ amount?: string;
65
+ };
66
+ }
67
+ export interface LiFiExecuteRequest {
68
+ quote: LiFiQuoteResponse;
69
+ privateKey: Hex;
70
+ rpcUrl?: string;
71
+ }
72
+ export interface LiFiExecuteResult {
73
+ txHash: `0x${string}`;
74
+ receiptStatus: 'success' | 'reverted';
75
+ }
76
+ export declare function bridgeQuote(request: LiFiQuoteRequest): Promise<LiFiQuoteResponse>;
77
+ export declare function bridgeStatus(request: LiFiStatusRequest): Promise<LiFiStatusResponse>;
78
+ export declare function bridgeExecute(request: LiFiExecuteRequest): Promise<LiFiExecuteResult>;
79
+ export declare const bridge: {
80
+ quote: typeof bridgeQuote;
81
+ status: typeof bridgeStatus;
82
+ execute: typeof bridgeExecute;
83
+ };
84
+ //# sourceMappingURL=bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,GAAG,EACT,MAAM,MAAM,CAAC;AAKd,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QACN,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QACjE,OAAO,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/D,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,QAAQ,EAAE;YAAE,SAAS,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAClC,QAAQ,EAAE;YAAE,SAAS,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KACnC,CAAC;IACF,kBAAkB,CAAC,EAAE;QACnB,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;QAClB,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,SAAS,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClD;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,iBAAiB,CAAC;IACzB,UAAU,EAAE,GAAG,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,SAAS,GAAG,UAAU,CAAC;CACvC;AAuDD,wBAAsB,WAAW,CAC/B,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAE5B;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CAU7B;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAsC5B;AAED,eAAO,MAAM,MAAM;;;;CAIlB,CAAC"}
package/dist/bridge.js ADDED
@@ -0,0 +1,99 @@
1
+ import { createPublicClient, createWalletClient, http, } from 'viem';
2
+ import { privateKeyToAccount } from 'viem/accounts';
3
+ const LIFI_API = 'https://li.quest/v1';
4
+ function normalizeBridgeName(name) {
5
+ return name.toLowerCase().replace(/\s+/g, '-');
6
+ }
7
+ async function lifiGet(endpoint, params) {
8
+ const url = new URL(`${LIFI_API}${endpoint}`);
9
+ for (const [key, value] of Object.entries(params)) {
10
+ url.searchParams.set(key, String(value));
11
+ }
12
+ const response = await fetch(url.toString(), {
13
+ headers: { accept: 'application/json' },
14
+ });
15
+ if (!response.ok) {
16
+ const text = await response.text();
17
+ throw new Error(`LI.FI API error (${response.status}): ${text}`);
18
+ }
19
+ return response.json();
20
+ }
21
+ function defaultRpcForChain(chainId) {
22
+ const byChain = {
23
+ 1: 'https://rpc.ankr.com/eth',
24
+ 10: 'https://mainnet.optimism.io',
25
+ 137: 'https://polygon-rpc.com',
26
+ 42161: 'https://arb1.arbitrum.io/rpc',
27
+ 11155111: 'https://rpc.sepolia.org',
28
+ 11155420: 'https://sepolia.optimism.io',
29
+ 421614: 'https://sepolia-rollup.arbitrum.io/rpc',
30
+ };
31
+ return byChain[chainId];
32
+ }
33
+ function toChain(chainId, rpcUrl) {
34
+ return {
35
+ id: chainId,
36
+ name: `Chain ${chainId}`,
37
+ nativeCurrency: {
38
+ name: 'Ether',
39
+ symbol: 'ETH',
40
+ decimals: 18,
41
+ },
42
+ rpcUrls: {
43
+ default: { http: [rpcUrl] },
44
+ },
45
+ };
46
+ }
47
+ export async function bridgeQuote(request) {
48
+ return lifiGet('/quote', { ...request });
49
+ }
50
+ export async function bridgeStatus(request) {
51
+ const params = {
52
+ txHash: request.txHash,
53
+ fromChain: request.fromChain,
54
+ toChain: request.toChain,
55
+ };
56
+ if (request.bridge) {
57
+ params.bridge = normalizeBridgeName(request.bridge);
58
+ }
59
+ return lifiGet('/status', params);
60
+ }
61
+ export async function bridgeExecute(request) {
62
+ const txRequest = request.quote.transactionRequest;
63
+ if (!txRequest) {
64
+ throw new Error('LI.FI quote has no transactionRequest to execute.');
65
+ }
66
+ const rpcUrl = request.rpcUrl ?? defaultRpcForChain(txRequest.chainId);
67
+ if (!rpcUrl) {
68
+ throw new Error(`No RPC URL provided for chain ${txRequest.chainId}. Pass rpcUrl explicitly.`);
69
+ }
70
+ const chain = toChain(txRequest.chainId, rpcUrl);
71
+ const account = privateKeyToAccount(request.privateKey);
72
+ const walletClient = createWalletClient({
73
+ account,
74
+ chain,
75
+ transport: http(rpcUrl),
76
+ });
77
+ const publicClient = createPublicClient({
78
+ chain,
79
+ transport: http(rpcUrl),
80
+ });
81
+ const txHash = await walletClient.sendTransaction({
82
+ account,
83
+ to: txRequest.to,
84
+ data: txRequest.data,
85
+ value: BigInt(txRequest.value),
86
+ gas: txRequest.gasLimit ? BigInt(txRequest.gasLimit) : undefined,
87
+ });
88
+ const receipt = await publicClient.waitForTransactionReceipt({ hash: txHash });
89
+ return {
90
+ txHash,
91
+ receiptStatus: receipt.status === 'success' ? 'success' : 'reverted',
92
+ };
93
+ }
94
+ export const bridge = {
95
+ quote: bridgeQuote,
96
+ status: bridgeStatus,
97
+ execute: bridgeExecute,
98
+ };
99
+ //# sourceMappingURL=bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export interface ParsedArgs {
2
+ command?: string;
3
+ flags: Record<string, string | boolean>;
4
+ positional: string[];
5
+ }
6
+ export declare function parseArgs(argv: string[]): ParsedArgs;
7
+ export declare function getFlag(flags: Record<string, string | boolean>, key: string): string | undefined;
8
+ export declare function getBoolFlag(flags: Record<string, string | boolean>, key: string): boolean;
9
+ //# sourceMappingURL=args.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;IACxC,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAoCpD;AAED,wBAAgB,OAAO,CACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EACvC,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,SAAS,CAGpB;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EACvC,GAAG,EAAE,MAAM,GACV,OAAO,CAUT"}
@@ -0,0 +1,47 @@
1
+ export function parseArgs(argv) {
2
+ const [command, ...rest] = argv;
3
+ const flags = {};
4
+ const positional = [];
5
+ for (let i = 0; i < rest.length; i++) {
6
+ const token = rest[i];
7
+ if (!token.startsWith('--')) {
8
+ positional.push(token);
9
+ continue;
10
+ }
11
+ const withoutPrefix = token.slice(2);
12
+ if (!withoutPrefix) {
13
+ continue;
14
+ }
15
+ const eqIndex = withoutPrefix.indexOf('=');
16
+ if (eqIndex >= 0) {
17
+ const key = withoutPrefix.slice(0, eqIndex);
18
+ const value = withoutPrefix.slice(eqIndex + 1);
19
+ flags[key] = value;
20
+ continue;
21
+ }
22
+ const next = rest[i + 1];
23
+ if (!next || next.startsWith('--')) {
24
+ flags[withoutPrefix] = true;
25
+ continue;
26
+ }
27
+ flags[withoutPrefix] = next;
28
+ i += 1;
29
+ }
30
+ return { command, flags, positional };
31
+ }
32
+ export function getFlag(flags, key) {
33
+ const value = flags[key];
34
+ return typeof value === 'string' ? value : undefined;
35
+ }
36
+ export function getBoolFlag(flags, key) {
37
+ const value = flags[key];
38
+ if (typeof value === 'boolean') {
39
+ return value;
40
+ }
41
+ if (typeof value === 'string') {
42
+ const normalized = value.trim().toLowerCase();
43
+ return normalized === '1' || normalized === 'true' || normalized === 'yes';
44
+ }
45
+ return false;
46
+ }
47
+ //# sourceMappingURL=args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,SAAS,CAAC,IAAc;IACtC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAChC,MAAM,KAAK,GAAqC,EAAE,CAAC;IACnD,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,SAAS;QACX,CAAC;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YAC/C,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACnB,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,KAAK,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;QAC5B,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,KAAuC,EACvC,GAAW;IAEX,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,KAAuC,EACvC,GAAW;IAEX,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC9C,OAAO,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,KAAK,CAAC;IAC7E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,12 @@
1
+ export declare const DEFAULT_STATE_PATH = "~/.config/clawlogic/agent.json";
2
+ export declare const DEFAULT_CONTRACTS: {
3
+ readonly agentRegistry: "0xd0B1864A1da6407A7DE5a08e5f82352b5e230cd3";
4
+ readonly predictionMarketHook: "0xB3C4a85906493f3Cf0d59e891770Bb2e77FA8880";
5
+ readonly poolManager: "0xFB3e0C6F74eB1a21CC1Da29aeC80D2Dfe6C9a317";
6
+ readonly optimisticOracleV3: "0x9023B0bB4E082CDcEdFA2b3671371646f4C5FBFb";
7
+ };
8
+ export declare const DEFAULT_CHAIN_ID = 421614;
9
+ export declare const DEFAULT_RPC_URL = "https://sepolia-rollup.arbitrum.io/rpc";
10
+ export declare const ZERO_ADDRESS: "0x0000000000000000000000000000000000000000";
11
+ export declare const NPM_UPGRADE_COMMAND = "npm install @clawlogic/sdk@latest";
12
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/cli/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,kBAAkB,mCAAmC,CAAC;AAEnE,eAAO,MAAM,iBAAiB;;;;;CAKmB,CAAC;AAElD,eAAO,MAAM,gBAAgB,SAA4B,CAAC;AAC1D,eAAO,MAAM,eAAe,2CAA2B,CAAC;AAExD,eAAO,MAAM,YAAY,EACvB,4CAAqD,CAAC;AAExD,eAAO,MAAM,mBAAmB,sCAAsC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { ARBITRUM_SEPOLIA_CHAIN_ID, ARBITRUM_SEPOLIA_RPC_URL } from '../config.js';
2
+ export const DEFAULT_STATE_PATH = '~/.config/clawlogic/agent.json';
3
+ export const DEFAULT_CONTRACTS = {
4
+ agentRegistry: '0xd0B1864A1da6407A7DE5a08e5f82352b5e230cd3',
5
+ predictionMarketHook: '0xB3C4a85906493f3Cf0d59e891770Bb2e77FA8880',
6
+ poolManager: '0xFB3e0C6F74eB1a21CC1Da29aeC80D2Dfe6C9a317',
7
+ optimisticOracleV3: '0x9023B0bB4E082CDcEdFA2b3671371646f4C5FBFb',
8
+ };
9
+ export const DEFAULT_CHAIN_ID = ARBITRUM_SEPOLIA_CHAIN_ID;
10
+ export const DEFAULT_RPC_URL = ARBITRUM_SEPOLIA_RPC_URL;
11
+ export const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
12
+ export const NPM_UPGRADE_COMMAND = 'npm install @clawlogic/sdk@latest';
13
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/cli/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAGnF,MAAM,CAAC,MAAM,kBAAkB,GAAG,gCAAgC,CAAC;AAEnE,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,aAAa,EAAE,4CAA4C;IAC3D,oBAAoB,EAAE,4CAA4C;IAClE,WAAW,EAAE,4CAA4C;IACzD,kBAAkB,EAAE,4CAA4C;CACjB,CAAC;AAElD,MAAM,CAAC,MAAM,gBAAgB,GAAG,yBAAyB,CAAC;AAC1D,MAAM,CAAC,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAExD,MAAM,CAAC,MAAM,YAAY,GACvB,4CAAqD,CAAC;AAExD,MAAM,CAAC,MAAM,mBAAmB,GAAG,mCAAmC,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":""}