@moltlaunch/sdk 2.4.0 → 3.0.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/README.md +184 -275
- package/dist/client.d.ts +69 -0
- package/dist/client.js +325 -0
- package/dist/idl/moltlaunch.json +1549 -0
- package/dist/index.d.ts +42 -0
- package/dist/index.js +63 -0
- package/dist/pda.d.ts +26 -0
- package/dist/pda.js +45 -0
- package/dist/types.d.ts +96 -0
- package/dist/types.js +54 -0
- package/package.json +24 -9
- package/src/idl/moltlaunch.json +1549 -0
- package/examples/agent-config.json +0 -12
- package/src/cli.ts +0 -158
- package/src/index.d.ts +0 -258
- package/src/index.js +0 -1117
- package/src/index.ts +0 -68
- package/src/launcher.ts +0 -263
- package/src/types.ts +0 -122
- package/src/verification.ts +0 -228
- package/test/basic.js +0 -71
- package/tsconfig.json +0 -17
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MoltLaunch V3 SDK — Composable Signal Architecture
|
|
3
|
+
*
|
|
4
|
+
* On-chain AI agent identity with multi-authority attestations,
|
|
5
|
+
* trust scores, and permissionless signal refresh.
|
|
6
|
+
*
|
|
7
|
+
* Program: 6AZSAhq4iJTwCfGEVssoa1p3GnBqGkbcQ1iDdP1U1pSb (Solana Devnet)
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { MoltLaunchClient, SignalType } from "@moltlaunch/sdk";
|
|
12
|
+
*
|
|
13
|
+
* const client = new MoltLaunchClient();
|
|
14
|
+
*
|
|
15
|
+
* // Read any agent's trust signals (no wallet needed)
|
|
16
|
+
* const agent = await client.getAgentIdentity(agentPubkey);
|
|
17
|
+
* console.log(agent.trustScore, agent.infraType, agent.isFlagged);
|
|
18
|
+
*
|
|
19
|
+
* // Register a new agent (signer = the agent wallet)
|
|
20
|
+
* const txId = await client.registerAgent("my-agent", walletKeypair);
|
|
21
|
+
*
|
|
22
|
+
* // Submit an attestation (signer = authority)
|
|
23
|
+
* await client.submitAttestation(
|
|
24
|
+
* agentPubkey,
|
|
25
|
+
* SignalType.InfraCloud,
|
|
26
|
+
* attestationHash,
|
|
27
|
+
* expiresAt,
|
|
28
|
+
* authorityKeypair,
|
|
29
|
+
* );
|
|
30
|
+
*
|
|
31
|
+
* // Refresh signals (permissionless — anyone can call)
|
|
32
|
+
* await client.refreshSignals(agentPubkey);
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* @packageDocumentation
|
|
36
|
+
*/
|
|
37
|
+
export { InfraType, SignalType, AuthorityType, ProtocolConfig, AgentIdentity, Authority, Attestation, MOLTLAUNCH_PROGRAM_ID, DEVNET_RPC, SEEDS, toAnchorEnum, } from "./types";
|
|
38
|
+
export { findConfigPda, findAgentPda, findAuthorityPda, findAttestationPda, } from "./pda";
|
|
39
|
+
export { MoltLaunchClient } from "./client";
|
|
40
|
+
export type { MoltLaunchClientOptions } from "./client";
|
|
41
|
+
export { MoltLaunchClient as default } from "./client";
|
|
42
|
+
export declare const VERSION = "3.0.0";
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* MoltLaunch V3 SDK — Composable Signal Architecture
|
|
4
|
+
*
|
|
5
|
+
* On-chain AI agent identity with multi-authority attestations,
|
|
6
|
+
* trust scores, and permissionless signal refresh.
|
|
7
|
+
*
|
|
8
|
+
* Program: 6AZSAhq4iJTwCfGEVssoa1p3GnBqGkbcQ1iDdP1U1pSb (Solana Devnet)
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { MoltLaunchClient, SignalType } from "@moltlaunch/sdk";
|
|
13
|
+
*
|
|
14
|
+
* const client = new MoltLaunchClient();
|
|
15
|
+
*
|
|
16
|
+
* // Read any agent's trust signals (no wallet needed)
|
|
17
|
+
* const agent = await client.getAgentIdentity(agentPubkey);
|
|
18
|
+
* console.log(agent.trustScore, agent.infraType, agent.isFlagged);
|
|
19
|
+
*
|
|
20
|
+
* // Register a new agent (signer = the agent wallet)
|
|
21
|
+
* const txId = await client.registerAgent("my-agent", walletKeypair);
|
|
22
|
+
*
|
|
23
|
+
* // Submit an attestation (signer = authority)
|
|
24
|
+
* await client.submitAttestation(
|
|
25
|
+
* agentPubkey,
|
|
26
|
+
* SignalType.InfraCloud,
|
|
27
|
+
* attestationHash,
|
|
28
|
+
* expiresAt,
|
|
29
|
+
* authorityKeypair,
|
|
30
|
+
* );
|
|
31
|
+
*
|
|
32
|
+
* // Refresh signals (permissionless — anyone can call)
|
|
33
|
+
* await client.refreshSignals(agentPubkey);
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @packageDocumentation
|
|
37
|
+
*/
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.VERSION = exports.default = exports.MoltLaunchClient = exports.findAttestationPda = exports.findAuthorityPda = exports.findAgentPda = exports.findConfigPda = exports.toAnchorEnum = exports.SEEDS = exports.DEVNET_RPC = exports.MOLTLAUNCH_PROGRAM_ID = exports.AuthorityType = exports.SignalType = exports.InfraType = void 0;
|
|
40
|
+
// Re-export everything
|
|
41
|
+
var types_1 = require("./types");
|
|
42
|
+
// Enums
|
|
43
|
+
Object.defineProperty(exports, "InfraType", { enumerable: true, get: function () { return types_1.InfraType; } });
|
|
44
|
+
Object.defineProperty(exports, "SignalType", { enumerable: true, get: function () { return types_1.SignalType; } });
|
|
45
|
+
Object.defineProperty(exports, "AuthorityType", { enumerable: true, get: function () { return types_1.AuthorityType; } });
|
|
46
|
+
// Constants
|
|
47
|
+
Object.defineProperty(exports, "MOLTLAUNCH_PROGRAM_ID", { enumerable: true, get: function () { return types_1.MOLTLAUNCH_PROGRAM_ID; } });
|
|
48
|
+
Object.defineProperty(exports, "DEVNET_RPC", { enumerable: true, get: function () { return types_1.DEVNET_RPC; } });
|
|
49
|
+
Object.defineProperty(exports, "SEEDS", { enumerable: true, get: function () { return types_1.SEEDS; } });
|
|
50
|
+
// Helpers
|
|
51
|
+
Object.defineProperty(exports, "toAnchorEnum", { enumerable: true, get: function () { return types_1.toAnchorEnum; } });
|
|
52
|
+
var pda_1 = require("./pda");
|
|
53
|
+
Object.defineProperty(exports, "findConfigPda", { enumerable: true, get: function () { return pda_1.findConfigPda; } });
|
|
54
|
+
Object.defineProperty(exports, "findAgentPda", { enumerable: true, get: function () { return pda_1.findAgentPda; } });
|
|
55
|
+
Object.defineProperty(exports, "findAuthorityPda", { enumerable: true, get: function () { return pda_1.findAuthorityPda; } });
|
|
56
|
+
Object.defineProperty(exports, "findAttestationPda", { enumerable: true, get: function () { return pda_1.findAttestationPda; } });
|
|
57
|
+
var client_1 = require("./client");
|
|
58
|
+
Object.defineProperty(exports, "MoltLaunchClient", { enumerable: true, get: function () { return client_1.MoltLaunchClient; } });
|
|
59
|
+
// Default export for convenience
|
|
60
|
+
var client_2 = require("./client");
|
|
61
|
+
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return client_2.MoltLaunchClient; } });
|
|
62
|
+
// Version
|
|
63
|
+
exports.VERSION = "3.0.0";
|
package/dist/pda.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MoltLaunch V3 — PDA Derivation Helpers
|
|
3
|
+
*
|
|
4
|
+
* All PDA seeds match the on-chain program exactly.
|
|
5
|
+
*/
|
|
6
|
+
import { PublicKey } from "@solana/web3.js";
|
|
7
|
+
/**
|
|
8
|
+
* Derive the singleton ProtocolConfig PDA.
|
|
9
|
+
* Seeds: ["moltlaunch"]
|
|
10
|
+
*/
|
|
11
|
+
export declare function findConfigPda(): [PublicKey, number];
|
|
12
|
+
/**
|
|
13
|
+
* Derive an AgentIdentity PDA for a given wallet.
|
|
14
|
+
* Seeds: ["agent", wallet]
|
|
15
|
+
*/
|
|
16
|
+
export declare function findAgentPda(wallet: PublicKey): [PublicKey, number];
|
|
17
|
+
/**
|
|
18
|
+
* Derive an Authority PDA for a given authority pubkey.
|
|
19
|
+
* Seeds: ["authority", pubkey]
|
|
20
|
+
*/
|
|
21
|
+
export declare function findAuthorityPda(authorityPubkey: PublicKey): [PublicKey, number];
|
|
22
|
+
/**
|
|
23
|
+
* Derive an Attestation PDA for a given (agent_wallet, authority_pubkey) pair.
|
|
24
|
+
* Seeds: ["attestation", agent_wallet, authority_pubkey]
|
|
25
|
+
*/
|
|
26
|
+
export declare function findAttestationPda(agentWallet: PublicKey, authorityPubkey: PublicKey): [PublicKey, number];
|
package/dist/pda.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* MoltLaunch V3 — PDA Derivation Helpers
|
|
4
|
+
*
|
|
5
|
+
* All PDA seeds match the on-chain program exactly.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.findConfigPda = findConfigPda;
|
|
9
|
+
exports.findAgentPda = findAgentPda;
|
|
10
|
+
exports.findAuthorityPda = findAuthorityPda;
|
|
11
|
+
exports.findAttestationPda = findAttestationPda;
|
|
12
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
13
|
+
const types_1 = require("./types");
|
|
14
|
+
/**
|
|
15
|
+
* Derive the singleton ProtocolConfig PDA.
|
|
16
|
+
* Seeds: ["moltlaunch"]
|
|
17
|
+
*/
|
|
18
|
+
function findConfigPda() {
|
|
19
|
+
return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from(types_1.SEEDS.CONFIG)], types_1.MOLTLAUNCH_PROGRAM_ID);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Derive an AgentIdentity PDA for a given wallet.
|
|
23
|
+
* Seeds: ["agent", wallet]
|
|
24
|
+
*/
|
|
25
|
+
function findAgentPda(wallet) {
|
|
26
|
+
return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from(types_1.SEEDS.AGENT), wallet.toBuffer()], types_1.MOLTLAUNCH_PROGRAM_ID);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Derive an Authority PDA for a given authority pubkey.
|
|
30
|
+
* Seeds: ["authority", pubkey]
|
|
31
|
+
*/
|
|
32
|
+
function findAuthorityPda(authorityPubkey) {
|
|
33
|
+
return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from(types_1.SEEDS.AUTHORITY), authorityPubkey.toBuffer()], types_1.MOLTLAUNCH_PROGRAM_ID);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Derive an Attestation PDA for a given (agent_wallet, authority_pubkey) pair.
|
|
37
|
+
* Seeds: ["attestation", agent_wallet, authority_pubkey]
|
|
38
|
+
*/
|
|
39
|
+
function findAttestationPda(agentWallet, authorityPubkey) {
|
|
40
|
+
return web3_js_1.PublicKey.findProgramAddressSync([
|
|
41
|
+
Buffer.from(types_1.SEEDS.ATTESTATION),
|
|
42
|
+
agentWallet.toBuffer(),
|
|
43
|
+
authorityPubkey.toBuffer(),
|
|
44
|
+
], types_1.MOLTLAUNCH_PROGRAM_ID);
|
|
45
|
+
}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MoltLaunch V3 — Composable Signal Architecture Types
|
|
3
|
+
*
|
|
4
|
+
* These types mirror the on-chain enums and account structs from the
|
|
5
|
+
* moltlaunch program deployed at 6AZSAhq4iJTwCfGEVssoa1p3GnBqGkbcQ1iDdP1U1pSb
|
|
6
|
+
*/
|
|
7
|
+
import { PublicKey } from "@solana/web3.js";
|
|
8
|
+
export declare const MOLTLAUNCH_PROGRAM_ID: PublicKey;
|
|
9
|
+
export declare const DEVNET_RPC = "https://api.devnet.solana.com";
|
|
10
|
+
export declare const SEEDS: {
|
|
11
|
+
readonly CONFIG: "moltlaunch";
|
|
12
|
+
readonly AGENT: "agent";
|
|
13
|
+
readonly AUTHORITY: "authority";
|
|
14
|
+
readonly ATTESTATION: "attestation";
|
|
15
|
+
};
|
|
16
|
+
/** Infrastructure classification derived from attestations */
|
|
17
|
+
export declare enum InfraType {
|
|
18
|
+
Unknown = "Unknown",
|
|
19
|
+
Cloud = "Cloud",
|
|
20
|
+
TEE = "TEE",
|
|
21
|
+
DePIN = "DePIN"
|
|
22
|
+
}
|
|
23
|
+
/** The signal an attestation contributes */
|
|
24
|
+
export declare enum SignalType {
|
|
25
|
+
InfraCloud = "InfraCloud",
|
|
26
|
+
InfraTEE = "InfraTEE",
|
|
27
|
+
InfraDePIN = "InfraDePIN",
|
|
28
|
+
EconomicStake = "EconomicStake",
|
|
29
|
+
HardwareBinding = "HardwareBinding",
|
|
30
|
+
General = "General"
|
|
31
|
+
}
|
|
32
|
+
/** Authority classification */
|
|
33
|
+
export declare enum AuthorityType {
|
|
34
|
+
Single = "Single",
|
|
35
|
+
MultisigMember = "MultisigMember",
|
|
36
|
+
OracleOperator = "OracleOperator",
|
|
37
|
+
NCNValidator = "NCNValidator"
|
|
38
|
+
}
|
|
39
|
+
/** Singleton protocol configuration — seeds: ["moltlaunch"] */
|
|
40
|
+
export interface ProtocolConfig {
|
|
41
|
+
admin: PublicKey;
|
|
42
|
+
revocationNonce: bigint;
|
|
43
|
+
totalAgents: bigint;
|
|
44
|
+
totalAttestations: bigint;
|
|
45
|
+
paused: boolean;
|
|
46
|
+
bump: number;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* AgentIdentity — the composable signal hub.
|
|
50
|
+
* Seeds: ["agent", wallet]
|
|
51
|
+
*/
|
|
52
|
+
export interface AgentIdentity {
|
|
53
|
+
wallet: PublicKey;
|
|
54
|
+
infraType: InfraType;
|
|
55
|
+
hasEconomicStake: boolean;
|
|
56
|
+
hasHardwareBinding: boolean;
|
|
57
|
+
attestationCount: number;
|
|
58
|
+
isFlagged: boolean;
|
|
59
|
+
trustScore: number;
|
|
60
|
+
lastVerified: bigint;
|
|
61
|
+
nonce: bigint;
|
|
62
|
+
registeredAt: bigint;
|
|
63
|
+
name: string;
|
|
64
|
+
bump: number;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Authority — one per authorized verifier.
|
|
68
|
+
* Seeds: ["authority", pubkey]
|
|
69
|
+
*/
|
|
70
|
+
export interface Authority {
|
|
71
|
+
pubkey: PublicKey;
|
|
72
|
+
authorityType: AuthorityType;
|
|
73
|
+
attestationCount: bigint;
|
|
74
|
+
active: boolean;
|
|
75
|
+
addedBy: PublicKey;
|
|
76
|
+
addedAt: bigint;
|
|
77
|
+
bump: number;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Attestation — one per (agent, authority) pair.
|
|
81
|
+
* Seeds: ["attestation", agent_wallet, authority_pubkey]
|
|
82
|
+
*/
|
|
83
|
+
export interface Attestation {
|
|
84
|
+
agent: PublicKey;
|
|
85
|
+
authority: PublicKey;
|
|
86
|
+
authorityType: AuthorityType;
|
|
87
|
+
signalContributed: SignalType;
|
|
88
|
+
attestationHash: number[];
|
|
89
|
+
teeQuote: number[] | null;
|
|
90
|
+
createdAt: bigint;
|
|
91
|
+
expiresAt: bigint;
|
|
92
|
+
revoked: boolean;
|
|
93
|
+
bump: number;
|
|
94
|
+
}
|
|
95
|
+
/** Convert our enums to the Anchor IDL object format */
|
|
96
|
+
export declare function toAnchorEnum<T extends string>(value: T): Record<string, object>;
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* MoltLaunch V3 — Composable Signal Architecture Types
|
|
4
|
+
*
|
|
5
|
+
* These types mirror the on-chain enums and account structs from the
|
|
6
|
+
* moltlaunch program deployed at 6AZSAhq4iJTwCfGEVssoa1p3GnBqGkbcQ1iDdP1U1pSb
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.AuthorityType = exports.SignalType = exports.InfraType = exports.SEEDS = exports.DEVNET_RPC = exports.MOLTLAUNCH_PROGRAM_ID = void 0;
|
|
10
|
+
exports.toAnchorEnum = toAnchorEnum;
|
|
11
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
12
|
+
// ── Program Constants ───────────────────────────────────────────────
|
|
13
|
+
exports.MOLTLAUNCH_PROGRAM_ID = new web3_js_1.PublicKey("6AZSAhq4iJTwCfGEVssoa1p3GnBqGkbcQ1iDdP1U1pSb");
|
|
14
|
+
exports.DEVNET_RPC = "https://api.devnet.solana.com";
|
|
15
|
+
// ── PDA Seeds ───────────────────────────────────────────────────────
|
|
16
|
+
exports.SEEDS = {
|
|
17
|
+
CONFIG: "moltlaunch",
|
|
18
|
+
AGENT: "agent",
|
|
19
|
+
AUTHORITY: "authority",
|
|
20
|
+
ATTESTATION: "attestation",
|
|
21
|
+
};
|
|
22
|
+
// ── On-chain Enums ──────────────────────────────────────────────────
|
|
23
|
+
/** Infrastructure classification derived from attestations */
|
|
24
|
+
var InfraType;
|
|
25
|
+
(function (InfraType) {
|
|
26
|
+
InfraType["Unknown"] = "Unknown";
|
|
27
|
+
InfraType["Cloud"] = "Cloud";
|
|
28
|
+
InfraType["TEE"] = "TEE";
|
|
29
|
+
InfraType["DePIN"] = "DePIN";
|
|
30
|
+
})(InfraType || (exports.InfraType = InfraType = {}));
|
|
31
|
+
/** The signal an attestation contributes */
|
|
32
|
+
var SignalType;
|
|
33
|
+
(function (SignalType) {
|
|
34
|
+
SignalType["InfraCloud"] = "InfraCloud";
|
|
35
|
+
SignalType["InfraTEE"] = "InfraTEE";
|
|
36
|
+
SignalType["InfraDePIN"] = "InfraDePIN";
|
|
37
|
+
SignalType["EconomicStake"] = "EconomicStake";
|
|
38
|
+
SignalType["HardwareBinding"] = "HardwareBinding";
|
|
39
|
+
SignalType["General"] = "General";
|
|
40
|
+
})(SignalType || (exports.SignalType = SignalType = {}));
|
|
41
|
+
/** Authority classification */
|
|
42
|
+
var AuthorityType;
|
|
43
|
+
(function (AuthorityType) {
|
|
44
|
+
AuthorityType["Single"] = "Single";
|
|
45
|
+
AuthorityType["MultisigMember"] = "MultisigMember";
|
|
46
|
+
AuthorityType["OracleOperator"] = "OracleOperator";
|
|
47
|
+
AuthorityType["NCNValidator"] = "NCNValidator";
|
|
48
|
+
})(AuthorityType || (exports.AuthorityType = AuthorityType = {}));
|
|
49
|
+
// ── Anchor-compatible enum helpers ──────────────────────────────────
|
|
50
|
+
/** Convert our enums to the Anchor IDL object format */
|
|
51
|
+
function toAnchorEnum(value) {
|
|
52
|
+
const key = value.charAt(0).toLowerCase() + value.slice(1);
|
|
53
|
+
return { [key]: {} };
|
|
54
|
+
}
|
package/package.json
CHANGED
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moltlaunch/sdk",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "MoltLaunch SDK
|
|
5
|
-
"main": "
|
|
6
|
-
"types": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
|
+
"description": "MoltLaunch V3 SDK — Composable Signal Architecture for AI Agent Identity on Solana",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
8
|
-
"
|
|
8
|
+
"build": "tsc",
|
|
9
|
+
"test": "node test/basic.js",
|
|
10
|
+
"prepublishOnly": "npm run build"
|
|
9
11
|
},
|
|
10
12
|
"keywords": [
|
|
11
13
|
"moltlaunch",
|
|
12
14
|
"ai-agents",
|
|
13
|
-
"
|
|
15
|
+
"identity",
|
|
14
16
|
"solana",
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
+
"composable-signals",
|
|
18
|
+
"trust-score",
|
|
19
|
+
"attestation",
|
|
20
|
+
"sybil-resistance"
|
|
17
21
|
],
|
|
18
22
|
"author": "MoltLaunch",
|
|
19
23
|
"license": "MIT",
|
|
@@ -23,5 +27,16 @@
|
|
|
23
27
|
},
|
|
24
28
|
"engines": {
|
|
25
29
|
"node": ">=18"
|
|
26
|
-
}
|
|
30
|
+
},
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"@coral-xyz/anchor": "^0.30.0",
|
|
33
|
+
"@solana/web3.js": "^1.95.0"
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"typescript": "^5.4.0"
|
|
37
|
+
},
|
|
38
|
+
"files": [
|
|
39
|
+
"dist",
|
|
40
|
+
"src/idl"
|
|
41
|
+
]
|
|
27
42
|
}
|