@silvana-one/coordination 1.0.24 → 1.0.26
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/dist/node/agent.d.ts +43 -15
- package/dist/node/agent.js +129 -31
- package/dist/node/agent.js.map +1 -1
- package/dist/node/app_instance.d.ts +58 -0
- package/dist/node/app_instance.js +203 -0
- package/dist/node/app_instance.js.map +1 -0
- package/dist/node/build.d.ts +5 -0
- package/dist/node/build.js +21 -0
- package/dist/node/build.js.map +1 -0
- package/dist/node/execute.d.ts +1 -0
- package/dist/node/execute.js +10 -2
- package/dist/node/execute.js.map +1 -1
- package/dist/node/faucet.d.ts +34 -0
- package/dist/node/faucet.js +91 -0
- package/dist/node/faucet.js.map +1 -0
- package/dist/node/index.cjs +1087 -31
- package/dist/node/index.d.ts +9 -0
- package/dist/node/index.js +9 -0
- package/dist/node/index.js.map +1 -1
- package/dist/node/ipfs.d.ts +13 -0
- package/dist/node/ipfs.js +88 -0
- package/dist/node/ipfs.js.map +1 -0
- package/dist/node/job.d.ts +57 -0
- package/dist/node/job.js +168 -0
- package/dist/node/job.js.map +1 -0
- package/dist/node/package.d.ts +1 -0
- package/dist/node/package.js +6 -0
- package/dist/node/package.js.map +1 -0
- package/dist/node/public-key.d.ts +24 -0
- package/dist/node/public-key.js +44 -0
- package/dist/node/public-key.js.map +1 -0
- package/dist/node/publish.js.map +1 -1
- package/dist/node/test.d.ts +48 -0
- package/dist/node/test.js +278 -0
- package/dist/node/test.js.map +1 -0
- package/dist/node/upgrade.js +1 -12
- package/dist/node/upgrade.js.map +1 -1
- package/dist/node/walrus.d.ts +12 -0
- package/dist/node/walrus.js +73 -0
- package/dist/node/walrus.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/tsconfig.web.tsbuildinfo +1 -1
- package/dist/web/agent.d.ts +43 -15
- package/dist/web/agent.js +129 -31
- package/dist/web/agent.js.map +1 -1
- package/dist/web/app_instance.d.ts +58 -0
- package/dist/web/app_instance.js +203 -0
- package/dist/web/app_instance.js.map +1 -0
- package/dist/web/build.d.ts +5 -0
- package/dist/web/build.js +21 -0
- package/dist/web/build.js.map +1 -0
- package/dist/web/execute.d.ts +1 -0
- package/dist/web/execute.js +10 -2
- package/dist/web/execute.js.map +1 -1
- package/dist/web/faucet.d.ts +34 -0
- package/dist/web/faucet.js +91 -0
- package/dist/web/faucet.js.map +1 -0
- package/dist/web/index.d.ts +9 -0
- package/dist/web/index.js +9 -0
- package/dist/web/index.js.map +1 -1
- package/dist/web/ipfs.d.ts +13 -0
- package/dist/web/ipfs.js +88 -0
- package/dist/web/ipfs.js.map +1 -0
- package/dist/web/job.d.ts +57 -0
- package/dist/web/job.js +168 -0
- package/dist/web/job.js.map +1 -0
- package/dist/web/package.d.ts +1 -0
- package/dist/web/package.js +6 -0
- package/dist/web/package.js.map +1 -0
- package/dist/web/public-key.d.ts +24 -0
- package/dist/web/public-key.js +44 -0
- package/dist/web/public-key.js.map +1 -0
- package/dist/web/publish.js.map +1 -1
- package/dist/web/test.d.ts +48 -0
- package/dist/web/test.js +278 -0
- package/dist/web/test.js.map +1 -0
- package/dist/web/upgrade.js +1 -12
- package/dist/web/upgrade.js.map +1 -1
- package/dist/web/walrus.d.ts +12 -0
- package/dist/web/walrus.js +73 -0
- package/dist/web/walrus.js.map +1 -0
- package/package.json +7 -4
- package/src/agent.ts +204 -56
- package/src/app_instance.ts +264 -0
- package/src/build.ts +33 -0
- package/src/execute.ts +11 -2
- package/src/faucet.ts +145 -0
- package/src/index.ts +9 -0
- package/src/ipfs.ts +105 -0
- package/src/job.ts +223 -0
- package/src/package.ts +6 -0
- package/src/public-key.ts +66 -0
- package/src/publish.ts +0 -2
- package/src/test.ts +383 -0
- package/src/upgrade.ts +1 -18
- package/src/walrus.ts +96 -0
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
import { AgentRegistry } from "./agent.js";
|
|
2
|
+
import { AppInstanceManager } from "./app_instance.js";
|
|
3
|
+
import { executeTx, waitTx } from "./execute.js";
|
|
4
|
+
import { Ed25519Keypair } from "@mysten/sui/keypairs/ed25519";
|
|
5
|
+
import { Transaction } from "@mysten/sui/transactions";
|
|
6
|
+
/**
|
|
7
|
+
* Creates a test Silvana Registry with a test developer, app, and optionally an agent
|
|
8
|
+
* This is a helper function for testing that sets up a complete test environment
|
|
9
|
+
*/
|
|
10
|
+
export async function createTestRegistry(config = {}) {
|
|
11
|
+
// Default values
|
|
12
|
+
const registryName = config.registryName ?? "Test Silvana Registry";
|
|
13
|
+
const developerName = config.developerName ?? "TestDev";
|
|
14
|
+
const developerGithub = config.developerGithub ?? "testdev";
|
|
15
|
+
const developerImage = config.developerImage;
|
|
16
|
+
const developerDescription = config.developerDescription ?? "Test developer for automated testing";
|
|
17
|
+
const developerSite = config.developerSite ?? "https://test.dev";
|
|
18
|
+
const appName = config.appName ?? "TestApp";
|
|
19
|
+
const appDescription = config.appDescription ?? "Test application for automated testing";
|
|
20
|
+
const appImage = config.appImage;
|
|
21
|
+
const appSite = config.appSite ?? "https://testapp.dev";
|
|
22
|
+
const testAgentName = config.testAgentName ?? "TestAgent";
|
|
23
|
+
const testAgentImage = config.testAgentImage;
|
|
24
|
+
const testAgentChains = config.testAgentChains ?? ["sui-testnet", "sui-devnet"];
|
|
25
|
+
// Get key from environment
|
|
26
|
+
const key = process.env.SUI_KEY;
|
|
27
|
+
if (!key) {
|
|
28
|
+
throw new Error("SUI_KEY is not set in environment");
|
|
29
|
+
}
|
|
30
|
+
const keyPair = Ed25519Keypair.fromSecretKey(key);
|
|
31
|
+
const address = keyPair.toSuiAddress();
|
|
32
|
+
console.log("Creating test registry with sender address:", address);
|
|
33
|
+
console.log("Chain:", process.env.SUI_CHAIN);
|
|
34
|
+
// Step 1: Create the registry
|
|
35
|
+
console.log("Step 1: Creating registry...");
|
|
36
|
+
const createRegistryTx = AgentRegistry.createAgentRegistry({
|
|
37
|
+
name: registryName,
|
|
38
|
+
});
|
|
39
|
+
createRegistryTx.setSender(address);
|
|
40
|
+
createRegistryTx.setGasBudget(100_000_000);
|
|
41
|
+
const registryResult = await executeTx({
|
|
42
|
+
tx: createRegistryTx,
|
|
43
|
+
keyPair,
|
|
44
|
+
});
|
|
45
|
+
if (!registryResult) {
|
|
46
|
+
throw new Error("Failed to create registry - no result");
|
|
47
|
+
}
|
|
48
|
+
if (registryResult.error) {
|
|
49
|
+
throw new Error(`Failed to create registry: ${registryResult.error}`);
|
|
50
|
+
}
|
|
51
|
+
if (!registryResult.tx?.objectChanges) {
|
|
52
|
+
throw new Error("Failed to create registry - no object changes");
|
|
53
|
+
}
|
|
54
|
+
// Find the created registry object
|
|
55
|
+
const registryObject = registryResult.tx.objectChanges.find((obj) => obj.type === "created" && obj.objectType?.includes("::registry::SilvanaRegistry"));
|
|
56
|
+
if (!registryObject || !('objectId' in registryObject)) {
|
|
57
|
+
throw new Error("Failed to find created registry object");
|
|
58
|
+
}
|
|
59
|
+
const registryAddress = registryObject.objectId;
|
|
60
|
+
console.log("Registry created with address:", registryAddress);
|
|
61
|
+
if (registryResult.digest) {
|
|
62
|
+
await waitTx(registryResult.digest);
|
|
63
|
+
}
|
|
64
|
+
// Create registry instance for further operations
|
|
65
|
+
const registry = new AgentRegistry({ registry: registryAddress });
|
|
66
|
+
const appInstanceManager = new AppInstanceManager({ registry: registryAddress });
|
|
67
|
+
// Step 2: Create developer
|
|
68
|
+
console.log("Step 2: Creating developer...");
|
|
69
|
+
const createDeveloperTx = registry.createDeveloper({
|
|
70
|
+
name: developerName,
|
|
71
|
+
github: developerGithub,
|
|
72
|
+
image: developerImage,
|
|
73
|
+
description: developerDescription,
|
|
74
|
+
site: developerSite,
|
|
75
|
+
});
|
|
76
|
+
createDeveloperTx.setSender(address);
|
|
77
|
+
createDeveloperTx.setGasBudget(100_000_000);
|
|
78
|
+
const developerResult = await executeTx({
|
|
79
|
+
tx: createDeveloperTx,
|
|
80
|
+
keyPair,
|
|
81
|
+
});
|
|
82
|
+
if (!developerResult) {
|
|
83
|
+
throw new Error("Failed to create developer - no result");
|
|
84
|
+
}
|
|
85
|
+
if (developerResult.error) {
|
|
86
|
+
throw new Error(`Failed to create developer: ${developerResult.error}`);
|
|
87
|
+
}
|
|
88
|
+
if (developerResult.digest) {
|
|
89
|
+
await waitTx(developerResult.digest);
|
|
90
|
+
}
|
|
91
|
+
console.log("Developer created:", developerName);
|
|
92
|
+
// Step 3: Create app (using registry::add_app)
|
|
93
|
+
console.log("Step 3: Creating app...");
|
|
94
|
+
const createAppTx = new Transaction();
|
|
95
|
+
createAppTx.moveCall({
|
|
96
|
+
target: `${process.env.SILVANA_REGISTRY_PACKAGE ?? "@silvana/agent"}::registry::add_app`,
|
|
97
|
+
arguments: [
|
|
98
|
+
createAppTx.object(registryAddress),
|
|
99
|
+
createAppTx.pure.string(appName),
|
|
100
|
+
createAppTx.pure.option("string", appDescription),
|
|
101
|
+
createAppTx.object("0x6"), // SUI_CLOCK_OBJECT_ID
|
|
102
|
+
],
|
|
103
|
+
});
|
|
104
|
+
createAppTx.setSender(address);
|
|
105
|
+
createAppTx.setGasBudget(100_000_000);
|
|
106
|
+
const appResult = await executeTx({
|
|
107
|
+
tx: createAppTx,
|
|
108
|
+
keyPair,
|
|
109
|
+
});
|
|
110
|
+
if (!appResult) {
|
|
111
|
+
throw new Error("Failed to create app - no result");
|
|
112
|
+
}
|
|
113
|
+
if (appResult.error) {
|
|
114
|
+
throw new Error(`Failed to create app: ${appResult.error}`);
|
|
115
|
+
}
|
|
116
|
+
if (appResult.digest) {
|
|
117
|
+
await waitTx(appResult.digest);
|
|
118
|
+
}
|
|
119
|
+
console.log("App created:", appName);
|
|
120
|
+
// Step 4: Optionally create agent (if test agent name is provided with chains)
|
|
121
|
+
let agentName;
|
|
122
|
+
if (config.testAgentName && config.testAgentChains) {
|
|
123
|
+
console.log("Step 4: Creating agent...");
|
|
124
|
+
const createAgentTx = registry.createAgent({
|
|
125
|
+
developer: developerName,
|
|
126
|
+
name: testAgentName,
|
|
127
|
+
image: testAgentImage,
|
|
128
|
+
description: "Test agent for automated testing",
|
|
129
|
+
chains: testAgentChains,
|
|
130
|
+
});
|
|
131
|
+
createAgentTx.setSender(address);
|
|
132
|
+
createAgentTx.setGasBudget(100_000_000);
|
|
133
|
+
const agentResult = await executeTx({
|
|
134
|
+
tx: createAgentTx,
|
|
135
|
+
keyPair,
|
|
136
|
+
});
|
|
137
|
+
if (!agentResult) {
|
|
138
|
+
throw new Error("Failed to create agent - no result");
|
|
139
|
+
}
|
|
140
|
+
if (agentResult.error) {
|
|
141
|
+
throw new Error(`Failed to create agent: ${agentResult.error}`);
|
|
142
|
+
}
|
|
143
|
+
if (agentResult.digest) {
|
|
144
|
+
await waitTx(agentResult.digest);
|
|
145
|
+
}
|
|
146
|
+
agentName = testAgentName;
|
|
147
|
+
console.log("Agent created:", testAgentName);
|
|
148
|
+
}
|
|
149
|
+
console.log("Test registry setup complete!");
|
|
150
|
+
console.log("Registry address:", registryAddress);
|
|
151
|
+
console.log("Developer:", developerName);
|
|
152
|
+
console.log("App:", appName);
|
|
153
|
+
if (agentName) {
|
|
154
|
+
console.log("Agent:", agentName);
|
|
155
|
+
}
|
|
156
|
+
return {
|
|
157
|
+
registryAddress,
|
|
158
|
+
developerName,
|
|
159
|
+
appName,
|
|
160
|
+
agentName,
|
|
161
|
+
registry,
|
|
162
|
+
appInstanceManager,
|
|
163
|
+
keyPair,
|
|
164
|
+
address,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Creates a TestApp with an initialized AppInstance using the new TestApp module
|
|
169
|
+
* This uses the create_test_app function from the Move contract
|
|
170
|
+
*/
|
|
171
|
+
export async function createTestApp(registryAddress, appName = "test_app") {
|
|
172
|
+
// Get key from environment
|
|
173
|
+
const key = process.env.SUI_KEY;
|
|
174
|
+
if (!key) {
|
|
175
|
+
throw new Error("SUI_KEY is not set in environment");
|
|
176
|
+
}
|
|
177
|
+
const keyPair = Ed25519Keypair.fromSecretKey(key);
|
|
178
|
+
const address = keyPair.toSuiAddress();
|
|
179
|
+
console.log("Creating TestApp with AppInstance...");
|
|
180
|
+
console.log("Registry address:", registryAddress);
|
|
181
|
+
console.log("Sender address:", address);
|
|
182
|
+
// First, check if the app already exists by trying to create it
|
|
183
|
+
// If it fails with "already exists" error, that's fine - we can continue
|
|
184
|
+
const createAppTx = new Transaction();
|
|
185
|
+
createAppTx.moveCall({
|
|
186
|
+
target: `${process.env.SILVANA_REGISTRY_PACKAGE ?? "@silvana/agent"}::registry::add_app`,
|
|
187
|
+
arguments: [
|
|
188
|
+
createAppTx.object(registryAddress),
|
|
189
|
+
createAppTx.pure.string(appName),
|
|
190
|
+
createAppTx.pure.option("string", "Test app for TestApp module"),
|
|
191
|
+
createAppTx.object("0x6"), // SUI_CLOCK_OBJECT_ID
|
|
192
|
+
],
|
|
193
|
+
});
|
|
194
|
+
createAppTx.setSender(address);
|
|
195
|
+
createAppTx.setGasBudget(100_000_000);
|
|
196
|
+
const appResult = await executeTx({
|
|
197
|
+
tx: createAppTx,
|
|
198
|
+
keyPair,
|
|
199
|
+
showErrors: false, // Don't throw, we'll handle the error
|
|
200
|
+
});
|
|
201
|
+
if (appResult?.digest && !appResult.error) {
|
|
202
|
+
await waitTx(appResult.digest);
|
|
203
|
+
console.log("App created:", appName);
|
|
204
|
+
}
|
|
205
|
+
else if (appResult?.error?.includes("0) in command 0")) {
|
|
206
|
+
// Error code 0 from dynamic_field::add means the field already exists
|
|
207
|
+
console.log("App already exists, continuing:", appName);
|
|
208
|
+
}
|
|
209
|
+
else if (appResult?.error) {
|
|
210
|
+
throw new Error(`Failed to create app for TestApp: ${appResult.error}`);
|
|
211
|
+
}
|
|
212
|
+
// Call create_test_app to create a TestApp with an AppInstance
|
|
213
|
+
const tx = new Transaction();
|
|
214
|
+
tx.moveCall({
|
|
215
|
+
target: `${process.env.SILVANA_REGISTRY_PACKAGE ?? "@silvana/agent"}::test_app::create_test_app`,
|
|
216
|
+
arguments: [
|
|
217
|
+
tx.object(registryAddress),
|
|
218
|
+
tx.object("0x6"), // SUI_CLOCK_OBJECT_ID
|
|
219
|
+
],
|
|
220
|
+
});
|
|
221
|
+
tx.setSender(address);
|
|
222
|
+
tx.setGasBudget(100_000_000);
|
|
223
|
+
const result = await executeTx({
|
|
224
|
+
tx,
|
|
225
|
+
keyPair,
|
|
226
|
+
});
|
|
227
|
+
if (!result) {
|
|
228
|
+
throw new Error("Failed to create TestApp - no result");
|
|
229
|
+
}
|
|
230
|
+
if (result.error) {
|
|
231
|
+
throw new Error(`Failed to create TestApp: ${result.error}`);
|
|
232
|
+
}
|
|
233
|
+
if (!result.tx) {
|
|
234
|
+
throw new Error("Failed to create TestApp - no transaction result");
|
|
235
|
+
}
|
|
236
|
+
// Wait for the transaction to be confirmed
|
|
237
|
+
if (result.digest) {
|
|
238
|
+
const confirmedTx = await waitTx(result.digest);
|
|
239
|
+
result.tx = confirmedTx;
|
|
240
|
+
}
|
|
241
|
+
if (!result?.tx?.objectChanges) {
|
|
242
|
+
throw new Error("Failed to create TestApp - no object changes");
|
|
243
|
+
}
|
|
244
|
+
// Find the created TestApp object (it will be shared)
|
|
245
|
+
const testAppObject = result.tx.objectChanges.find((obj) => obj.type === "created" &&
|
|
246
|
+
obj.objectType?.includes("::test_app::TestApp"));
|
|
247
|
+
if (!testAppObject || !('objectId' in testAppObject)) {
|
|
248
|
+
throw new Error("Failed to find created TestApp object");
|
|
249
|
+
}
|
|
250
|
+
// Find the created AppInstance object (it will be shared)
|
|
251
|
+
const appInstanceObject = result.tx.objectChanges.find((obj) => obj.type === "created" &&
|
|
252
|
+
obj.objectType?.includes("::app_instance::AppInstance"));
|
|
253
|
+
if (!appInstanceObject || !('objectId' in appInstanceObject)) {
|
|
254
|
+
throw new Error("Failed to find created AppInstance object");
|
|
255
|
+
}
|
|
256
|
+
const testAppAddress = testAppObject.objectId;
|
|
257
|
+
const appInstanceAddress = appInstanceObject.objectId;
|
|
258
|
+
// AppInstanceCap is stored inside the TestApp, not as a separate shared object
|
|
259
|
+
// We'll use the TestApp address as a placeholder since the cap is embedded
|
|
260
|
+
const appInstanceCapAddress = testAppAddress;
|
|
261
|
+
console.log("TestApp created:", testAppAddress);
|
|
262
|
+
console.log("AppInstance created:", appInstanceAddress);
|
|
263
|
+
console.log("AppInstanceCap created:", appInstanceCapAddress);
|
|
264
|
+
const appInstanceManager = new AppInstanceManager({ registry: registryAddress });
|
|
265
|
+
return {
|
|
266
|
+
testAppAddress,
|
|
267
|
+
appInstanceAddress,
|
|
268
|
+
appInstanceCapAddress,
|
|
269
|
+
registryAddress,
|
|
270
|
+
appName,
|
|
271
|
+
keyPair,
|
|
272
|
+
address,
|
|
273
|
+
appInstanceManager,
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
// Note: createTestAppInstance has been removed. Use createTestApp instead, which creates
|
|
277
|
+
// a TestApp with an embedded AppInstance using the Move test_app module.
|
|
278
|
+
//# sourceMappingURL=test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAwCvD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAA6B,EAAE;IAE/B,iBAAiB;IACjB,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,uBAAuB,CAAC;IACpE,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,SAAS,CAAC;IACxD,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,SAAS,CAAC;IAC5D,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IAC7C,MAAM,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,IAAI,sCAAsC,CAAC;IACnG,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,kBAAkB,CAAC;IAEjE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC;IAC5C,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,wCAAwC,CAAC;IACzF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,qBAAqB,CAAC;IAExD,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,WAAW,CAAC;IAC1D,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IAC7C,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAEhF,2BAA2B;IAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IAChC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAEvC,OAAO,CAAC,GAAG,CAAC,6CAA6C,EAAE,OAAO,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAE7C,8BAA8B;IAC9B,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC5C,MAAM,gBAAgB,GAAG,aAAa,CAAC,mBAAmB,CAAC;QACzD,IAAI,EAAE,YAAY;KACnB,CAAC,CAAC;IACH,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACpC,gBAAgB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAE3C,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC;QACrC,EAAE,EAAE,gBAAgB;QACpB,OAAO;KACR,CAAC,CAAC;IAEH,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,8BAA8B,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,mCAAmC;IACnC,MAAM,cAAc,GAAG,cAAc,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CACzD,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,6BAA6B,CAAC,CAChG,CAAC;IAEF,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,UAAU,IAAI,cAAc,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,eAAe,CAAC,CAAC;IAE/D,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,kDAAkD;IAClD,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;IAClE,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;IAEjF,2BAA2B;IAC3B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,eAAe,CAAC;QACjD,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,eAAe;QACvB,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,oBAAoB;QACjC,IAAI,EAAE,aAAa;KACpB,CAAC,CAAC;IACH,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACrC,iBAAiB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAE5C,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC;QACtC,EAAE,EAAE,iBAAiB;QACrB,OAAO;KACR,CAAC,CAAC;IAEH,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,eAAe,CAAC,KAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,+BAA+B,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;IAEjD,+CAA+C;IAC/C,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IACtC,WAAW,CAAC,QAAQ,CAAC;QACnB,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,gBAAgB,qBAAqB;QACxF,SAAS,EAAE;YACT,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC;YACnC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAChC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC;YACjD,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,sBAAsB;SAClD;KACF,CAAC,CAAC;IACH,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/B,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAEtC,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC;QAChC,EAAE,EAAE,WAAW;QACf,OAAO;KACR,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,yBAAyB,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAErC,+EAA+E;IAC/E,IAAI,SAA6B,CAAC;IAClC,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,CAAC;YACzC,SAAS,EAAE,aAAa;YACxB,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,kCAAkC;YAC/C,MAAM,EAAE,eAAe;SACxB,CAAC,CAAC;QACH,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACjC,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAExC,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC;YAClC,EAAE,EAAE,aAAa;YACjB,OAAO;SACR,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,2BAA2B,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QACD,SAAS,GAAG,aAAa,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,OAAO;QACL,eAAe;QACf,aAAa;QACb,OAAO;QACP,SAAS;QACT,QAAQ;QACR,kBAAkB;QAClB,OAAO;QACP,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,eAAuB,EACvB,UAAkB,UAAU;IAE5B,2BAA2B;IAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IAChC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAEvC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAExC,gEAAgE;IAChE,yEAAyE;IACzE,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IACtC,WAAW,CAAC,QAAQ,CAAC;QACnB,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,gBAAgB,qBAAqB;QACxF,SAAS,EAAE;YACT,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC;YACnC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAChC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,6BAA6B,CAAC;YAChE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,sBAAsB;SAClD;KACF,CAAC,CAAC;IACH,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/B,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAEtC,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC;QAChC,EAAE,EAAE,WAAW;QACf,OAAO;QACP,UAAU,EAAE,KAAK,EAAG,sCAAsC;KAC3D,CAAC,CAAC;IAEH,IAAI,SAAS,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAC1C,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;SAAM,IAAI,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACzD,sEAAsE;QACtE,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;SAAM,IAAI,SAAS,EAAE,KAAK,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,qCAAqC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,+DAA+D;IAC/D,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;IAC7B,EAAE,CAAC,QAAQ,CAAC;QACV,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,gBAAgB,6BAA6B;QAChG,SAAS,EAAE;YACT,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC;YAC1B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,sBAAsB;SACzC;KACF,CAAC,CAAC;IAEH,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACtB,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAE7B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;QAC7B,EAAE;QACF,OAAO;KACR,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,2CAA2C;IAC3C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,CAAC,EAAE,GAAG,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED,sDAAsD;IACtD,MAAM,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAChD,CAAC,GAAQ,EAAE,EAAE,CACX,GAAG,CAAC,IAAI,KAAK,SAAS;QACtB,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAClD,CAAC;IAEF,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,UAAU,IAAI,aAAa,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,0DAA0D;IAC1D,MAAM,iBAAiB,GAAG,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CACpD,CAAC,GAAQ,EAAE,EAAE,CACX,GAAG,CAAC,IAAI,KAAK,SAAS;QACtB,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,6BAA6B,CAAC,CAC1D,CAAC;IAEF,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC,UAAU,IAAI,iBAAiB,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC;IAC9C,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,QAAQ,CAAC;IAEtD,+EAA+E;IAC/E,2EAA2E;IAC3E,MAAM,qBAAqB,GAAG,cAAc,CAAC;IAE7C,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,qBAAqB,CAAC,CAAC;IAE9D,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;IAEjF,OAAO;QACL,cAAc;QACd,kBAAkB;QAClB,qBAAqB;QACrB,eAAe;QACf,OAAO;QACP,OAAO;QACP,OAAO;QACP,kBAAkB;KACnB,CAAC;AACJ,CAAC;AAED,yFAAyF;AACzF,yEAAyE"}
|
package/dist/node/upgrade.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Transaction, UpgradePolicy
|
|
1
|
+
import { Transaction, UpgradePolicy } from "@mysten/sui/transactions";
|
|
2
2
|
import { suiClient } from "./sui-client.js";
|
|
3
3
|
export async function buildUpgradeTx(params) {
|
|
4
4
|
const { modules, dependencies, digest, address, keypair, packageID, upgradeCap, } = params;
|
|
@@ -17,12 +17,10 @@ export async function buildUpgradeTx(params) {
|
|
|
17
17
|
modules,
|
|
18
18
|
dependencies,
|
|
19
19
|
});
|
|
20
|
-
//console.log("upgradeData", upgradeData);
|
|
21
20
|
const commitData = tx.moveCall({
|
|
22
21
|
target: "0x2::package::commit_upgrade",
|
|
23
22
|
arguments: [tx.object(upgradeCap), upgradeData],
|
|
24
23
|
});
|
|
25
|
-
//console.log("commitData", commitData);
|
|
26
24
|
const paginatedCoins = await suiClient.getCoins({
|
|
27
25
|
owner: address,
|
|
28
26
|
});
|
|
@@ -33,19 +31,10 @@ export async function buildUpgradeTx(params) {
|
|
|
33
31
|
digest: coin.digest,
|
|
34
32
|
};
|
|
35
33
|
});
|
|
36
|
-
//console.log("coins", coins);
|
|
37
34
|
tx.setSender(address);
|
|
38
35
|
tx.setGasOwner(address);
|
|
39
36
|
tx.setGasPayment(coins);
|
|
40
|
-
//console.log("tx", await tx.toJSON());
|
|
41
37
|
tx.setGasBudget(300_000_000);
|
|
42
|
-
//console.log("tx", await tx.toJSON());
|
|
43
|
-
console.time("sign");
|
|
44
|
-
// const signedTx = await tx.sign({
|
|
45
|
-
// signer: keypair,
|
|
46
|
-
// client: suiClient,
|
|
47
|
-
// });
|
|
48
|
-
console.timeEnd("sign");
|
|
49
38
|
return { tx };
|
|
50
39
|
}
|
|
51
40
|
//# sourceMappingURL=upgrade.js.map
|
package/dist/node/upgrade.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/upgrade.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/upgrade.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAQpC;IAGC,MAAM,EACJ,OAAO,EACP,YAAY,EACZ,MAAM,EACN,OAAO,EACP,OAAO,EACP,SAAS,EACT,UAAU,GACX,GAAG,MAAM,CAAC;IACX,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC;QACzB,MAAM,EAAE,iCAAiC;QACzC,SAAS,EAAE;YACT,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;YACrB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC;YACpC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;SAC7B;KACF,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC;QAC7B,OAAO,EAAE,SAAS;QAClB,MAAM;QACN,OAAO;QACP,YAAY;KACb,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC;QAC7B,MAAM,EAAE,8BAA8B;QACtC,SAAS,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC;KAChD,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC;QAC9C,KAAK,EAAE,OAAO;KACf,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7C,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACtB,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACxB,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACxB,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAE7B,OAAO,EAAE,EAAE,EAAE,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const walrusDaemon: "local" | "testnet";
|
|
2
|
+
export declare function saveToWalrus({ data, address, numEpochs, }: {
|
|
3
|
+
data: string;
|
|
4
|
+
address?: string;
|
|
5
|
+
numEpochs?: number;
|
|
6
|
+
}): Promise<string | undefined>;
|
|
7
|
+
export declare function readFromWalrus({ blobId, }: {
|
|
8
|
+
blobId: string;
|
|
9
|
+
}): Promise<string | undefined>;
|
|
10
|
+
export declare function getWalrusUrl(params: {
|
|
11
|
+
blobId: string;
|
|
12
|
+
}): Promise<string>;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
export const walrusDaemon = (process.env.NEXT_PUBLIC_WALRUS_DAEMON ||
|
|
2
|
+
process.env.WALRUS_DAEMON ||
|
|
3
|
+
"testnet");
|
|
4
|
+
const daemon = walrusDaemon === "local" ? "local" : "testnet";
|
|
5
|
+
const basePublisherUrl = daemon === "local"
|
|
6
|
+
? "http://127.0.0.1:31415"
|
|
7
|
+
: "https://wal-publisher-testnet.staketab.org";
|
|
8
|
+
//"https://publisher.walrus-testnet.walrus.space";
|
|
9
|
+
const readerUrl = daemon === "local"
|
|
10
|
+
? "http://127.0.0.1:31415/v1/blobs/"
|
|
11
|
+
: "https://wal-aggregator-testnet.staketab.org/v1/blobs/";
|
|
12
|
+
//"https://aggregator.walrus-testnet.walrus.space/v1/blobs/";
|
|
13
|
+
const MIN_EPOCHS = 14;
|
|
14
|
+
const MAX_EPOCHS = 53;
|
|
15
|
+
export async function saveToWalrus({ data, address, numEpochs = MIN_EPOCHS, }) {
|
|
16
|
+
let sendToParam = address ? `&send_object_to=${address}` : "";
|
|
17
|
+
let epochs = numEpochs < MIN_EPOCHS
|
|
18
|
+
? MIN_EPOCHS
|
|
19
|
+
: numEpochs > MAX_EPOCHS
|
|
20
|
+
? MAX_EPOCHS
|
|
21
|
+
: numEpochs;
|
|
22
|
+
console.log("Writing to Walrus");
|
|
23
|
+
console.time("written");
|
|
24
|
+
const response = await fetch(`${basePublisherUrl}/v1/blobs?epochs=${epochs}${sendToParam}`, {
|
|
25
|
+
method: "PUT",
|
|
26
|
+
body: data,
|
|
27
|
+
});
|
|
28
|
+
console.timeEnd("written");
|
|
29
|
+
if (response.status === 200) {
|
|
30
|
+
const info = await response.json();
|
|
31
|
+
//console.log("info", info);
|
|
32
|
+
const blobId = info?.newlyCreated?.blobObject?.blobId ?? info?.alreadyCertified?.blobId;
|
|
33
|
+
console.log("Walrus blobId", blobId);
|
|
34
|
+
return blobId;
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
console.error("saveToDA failed:", {
|
|
38
|
+
statusText: response.statusText,
|
|
39
|
+
status: response.status,
|
|
40
|
+
});
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
export async function readFromWalrus({ blobId, }) {
|
|
45
|
+
if (!blobId) {
|
|
46
|
+
throw new Error("blobId is not provided");
|
|
47
|
+
}
|
|
48
|
+
console.log("Reading walrus blob", blobId);
|
|
49
|
+
console.time("read");
|
|
50
|
+
const response = await fetch(`${readerUrl}${blobId}`);
|
|
51
|
+
console.timeEnd("read");
|
|
52
|
+
if (!response.ok) {
|
|
53
|
+
console.error("readFromDA failed:", {
|
|
54
|
+
statusText: response.statusText,
|
|
55
|
+
status: response.status,
|
|
56
|
+
});
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
const blob = await response.text();
|
|
61
|
+
//console.log("blob", blob);
|
|
62
|
+
return blob;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
export async function getWalrusUrl(params) {
|
|
66
|
+
const { blobId } = params;
|
|
67
|
+
if (!blobId) {
|
|
68
|
+
throw new Error("blobId is not set");
|
|
69
|
+
}
|
|
70
|
+
const url = `${readerUrl}${blobId}`;
|
|
71
|
+
return url;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=walrus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walrus.js","sourceRoot":"","sources":["../../src/walrus.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB;IAChE,OAAO,CAAC,GAAG,CAAC,aAAa;IACzB,SAAS,CAAwB,CAAC;AACpC,MAAM,MAAM,GACV,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,MAAM,gBAAgB,GACpB,MAAM,KAAK,OAAO;IAChB,CAAC,CAAC,wBAAwB;IAC1B,CAAC,CAAC,4CAA4C,CAAC;AACnD,kDAAkD;AAClD,MAAM,SAAS,GACb,MAAM,KAAK,OAAO;IAChB,CAAC,CAAC,kCAAkC;IACpC,CAAC,CAAC,uDAAuD,CAAC;AAC9D,6DAA6D;AAE7D,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,UAAU,GAAG,EAAE,CAAC;AAEtB,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EACjC,IAAI,EACJ,OAAO,EACP,SAAS,GAAG,UAAU,GAKvB;IACC,IAAI,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,IAAI,MAAM,GACR,SAAS,GAAG,UAAU;QACpB,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,SAAS,GAAG,UAAU;YACxB,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,gBAAgB,oBAAoB,MAAM,GAAG,WAAW,EAAE,EAC7D;QACE,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,IAAI;KACX,CACF,CAAC;IACF,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3B,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,4BAA4B;QAC5B,MAAM,MAAM,GACV,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,IAAI,EAAE,gBAAgB,EAAE,MAAM,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QACrC,OAAO,MAAM,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE;YAChC,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM;SACxB,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EACnC,MAAM,GAGP;IACC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC3C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,SAAS,GAAG,MAAM,EAAE,CAAC,CAAC;IACtD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE;YAClC,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM;SACxB,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,4BAA4B;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAElC;IACC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,SAAS,GAAG,MAAM,EAAE,CAAC;IACpC,OAAO,GAAG,CAAC;AACb,CAAC"}
|