@twin.org/verifiable-storage-connector-iota 0.0.1 → 0.0.2-next.3

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.
@@ -81,11 +81,28 @@ class VerifiableStorageConnectorIotaDataTypes {
81
81
  }
82
82
  }
83
83
 
84
- var compiledModulesJson = {
85
- "verifiable-storage": {
84
+ var testnet = {
86
85
  packageId: "0x794a5c35713037ae2cc83fcd4b4974ec4029e382b0562386a78c0f1c87b2f6d4",
87
- "package": "oRzrCwYAAAALAQAMAgwYAyRDBGcGBW1iB88BsgIIgQRgBuEEFAr1BCYMmwWsAw3HCAwAHgIOAhQCGQIaARgAAQwAAAADAAACAwACBQQABAQCAAUDBwAAFwABAAAcAgEAAAsDAQAAEAQFAAAHBgEAAQwPAQEDAgoMAQACEwsMAAIbDQkAAxYPAQEIBA0ICgAEFQgJAAUREgoABQ4JEAUTBAgFCgUNBwgEAAUHCAAIBQoFAQcIBAIIAAcIBAIGCgUFAQEDBwoFBgoFDQQKBQMFCAABBggEAQUBAwEHCAQBCAMBBggDAQgBAQkAAQgAAwoFAwUBBggFAQgCAgMDBAUFAwMOU3RvcmFnZUNyZWF0ZWQLU3RvcmFnZUl0ZW0OU3RvcmFnZVVwZGF0ZWQGU3RyaW5nCVR4Q29udGV4dANVSUQJYWxsb3dsaXN0DWFwcGVuZF91bmlxdWUHY3JlYXRvcgRkYXRhBmRlbGV0ZQtkZWxldGVfZGF0YQRlbWl0BWVwb2NoBWV2ZW50AmlkCWlzX2lubGlzdAZsZW5ndGgSbWF4X2FsbG93bGlzdF9zaXplA25ldwZvYmplY3QGc2VuZGVyDHNoYXJlX29iamVjdApzdG9yZV9kYXRhBnN0cmluZwh0cmFuc2Zlcgp0eF9jb250ZXh0DnVpZF90b19hZGRyZXNzC3VwZGF0ZV9kYXRhB3VwZGF0ZXISdmVyaWZpYWJsZV9zdG9yYWdlB3ZlcnNpb24AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDCJEBAAAAAAAAAwjpAwAAAAAAAAACBw8IAwkIBQ0DHwIIBQYKBRINAQIDDwUNAwgFAgIDDwUNAx0FAAEEAAclCgMuEQsMBgoDLhEKDAVACQAAAAAAAAAADAQNBAoGRAkNBA4BCgIRBAsDEQcLAAoFMQEKBgsECwISAAwHDgcQABEICwULBhIBOAALBzgBAgEBBAARPQoELhELDAcKABABCgcRAwQKBRALAAELBAEHACcLBC4RCgwGDgERDAYAAAAAAAAAACQEHQsBCgAPAhUKBgoADwMVQAkAAAAAAAAAAAwFDQUKABAEFEQJCwMgBDENBQ4CCgAQBRQRBAsFCgAPARULABAAEQgLBgsHEgI4AgICAQQAARULAS4RCw4AEAQUIQQJBQsHACcLABMAAQEBAQEBEQYCAwAAABQeCgBBCQwDBgAAAAAAAAAADAIKAgoDIwQaBQoKAAoCQgkUCgEhBBULAAEIAgsCBgEAAAAAAAAAFgwCBQULAAEJAgQAAAAVMgoBQQkMBgYAAAAAAAAAAAwFCgUKBiMELQUKCgEKBUIJFAwECgAKBAwDLgsDEQMgBCgKAC5BCQoCNCMEHwUlCwEBCwABBwEnCgALBEQJCwUGAQAAAAAAAAAWDAUFBQsBAQsAAQIAAAAFAAEAAgAEAAYA"
88
- }
86
+ "package": "oRzrCwYAAAALAQAMAgwYAyRDBGcGBW1iB88BsgIIgQRgBuEEFAr1BCYMmwWsAw3HCAwAHgIOAhQCGQIaARgAAQwAAAADAAACAwACBQQABAQCAAUDBwAAFwABAAAcAgEAAAsDAQAAEAQFAAAHBgEAAQwPAQEDAgoMAQACEwsMAAIbDQkAAxYPAQEIBA0ICgAEFQgJAAUREgoABQ4JEAUTBAgFCgUNBwgEAAUHCAAIBQoFAQcIBAIIAAcIBAIGCgUFAQEDBwoFBgoFDQQKBQMFCAABBggEAQUBAwEHCAQBCAMBBggDAQgBAQkAAQgAAwoFAwUBBggFAQgCAgMDBAUFAwMOU3RvcmFnZUNyZWF0ZWQLU3RvcmFnZUl0ZW0OU3RvcmFnZVVwZGF0ZWQGU3RyaW5nCVR4Q29udGV4dANVSUQJYWxsb3dsaXN0DWFwcGVuZF91bmlxdWUHY3JlYXRvcgRkYXRhBmRlbGV0ZQtkZWxldGVfZGF0YQRlbWl0BWVwb2NoBWV2ZW50AmlkCWlzX2lubGlzdAZsZW5ndGgSbWF4X2FsbG93bGlzdF9zaXplA25ldwZvYmplY3QGc2VuZGVyDHNoYXJlX29iamVjdApzdG9yZV9kYXRhBnN0cmluZwh0cmFuc2Zlcgp0eF9jb250ZXh0DnVpZF90b19hZGRyZXNzC3VwZGF0ZV9kYXRhB3VwZGF0ZXISdmVyaWZpYWJsZV9zdG9yYWdlB3ZlcnNpb24AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDCJEBAAAAAAAAAwjpAwAAAAAAAAACBw8IAwkIBQ0DHwIIBQYKBRINAQIDDwUNAwgFAgIDDwUNAx0FAAEEAAclCgMuEQsMBgoDLhEKDAVACQAAAAAAAAAADAQNBAoGRAkNBA4BCgIRBAsDEQcLAAoFMQEKBgsECwISAAwHDgcQABEICwULBhIBOAALBzgBAgEBBAARPQoELhELDAcKABABCgcRAwQKBRALAAELBAEHACcLBC4RCgwGDgERDAYAAAAAAAAAACQEHQsBCgAPAhUKBgoADwMVQAkAAAAAAAAAAAwFDQUKABAEFEQJCwMgBDENBQ4CCgAQBRQRBAsFCgAPARULABAAEQgLBgsHEgI4AgICAQQAARULAS4RCw4AEAQUIQQJBQsHACcLABMAAQEBAQEBEQYCAwAAABQeCgBBCQwDBgAAAAAAAAAADAIKAgoDIwQaBQoKAAoCQgkUCgEhBBULAAEIAgsCBgEAAAAAAAAAFgwCBQULAAEJAgQAAAAVMgoBQQkMBgYAAAAAAAAAAAwFCgUKBiMELQUKCgEKBUIJFAwECgAKBAwDLgsDEQMgBCgKAC5BCQoCNCMEHwUlCwEBCwABBwEnCgALBEQJCwUGAQAAAAAAAAAWDAUFBQsBAQsAAQIAAAAFAAEAAgAEAAYA",
87
+ deployedPackageId: "0xf0093c80eb9569e04022143517a100ac63f54fc1ba5996cb40e94a62c0e52fce",
88
+ upgradeCap: "0xe2d3595bf3b46d5c405126519138fbf040f9bebf3f1a4908c8bc502fe03d4498"
89
+ };
90
+ var devnet = {
91
+ packageId: "",
92
+ "package": "",
93
+ deployedPackageId: "",
94
+ upgradeCap: ""
95
+ };
96
+ var mainnet = {
97
+ packageId: "0x794a5c35713037ae2cc83fcd4b4974ec4029e382b0562386a78c0f1c87b2f6d4",
98
+ "package": "oRzrCwYAAAALAQAMAgwYAyRDBGcGBW1iB88BsgIIgQRgBuEEFAr1BCYMmwWsAw3HCAwAHgIOAhQCGQIaARgAAQwAAAADAAACAwACBQQABAQCAAUDBwAAFwABAAAcAgEAAAsDAQAAEAQFAAAHBgEAAQwPAQEDAgoMAQACEwsMAAIbDQkAAxYPAQEIBA0ICgAEFQgJAAUREgoABQ4JEAUTBAgFCgUNBwgEAAUHCAAIBQoFAQcIBAIIAAcIBAIGCgUFAQEDBwoFBgoFDQQKBQMFCAABBggEAQUBAwEHCAQBCAMBBggDAQgBAQkAAQgAAwoFAwUBBggFAQgCAgMDBAUFAwMOU3RvcmFnZUNyZWF0ZWQLU3RvcmFnZUl0ZW0OU3RvcmFnZVVwZGF0ZWQGU3RyaW5nCVR4Q29udGV4dANVSUQJYWxsb3dsaXN0DWFwcGVuZF91bmlxdWUHY3JlYXRvcgRkYXRhBmRlbGV0ZQtkZWxldGVfZGF0YQRlbWl0BWVwb2NoBWV2ZW50AmlkCWlzX2lubGlzdAZsZW5ndGgSbWF4X2FsbG93bGlzdF9zaXplA25ldwZvYmplY3QGc2VuZGVyDHNoYXJlX29iamVjdApzdG9yZV9kYXRhBnN0cmluZwh0cmFuc2Zlcgp0eF9jb250ZXh0DnVpZF90b19hZGRyZXNzC3VwZGF0ZV9kYXRhB3VwZGF0ZXISdmVyaWZpYWJsZV9zdG9yYWdlB3ZlcnNpb24AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDCJEBAAAAAAAAAwjpAwAAAAAAAAACBw8IAwkIBQ0DHwIIBQYKBRINAQIDDwUNAwgFAgIDDwUNAx0FAAEEAAclCgMuEQsMBgoDLhEKDAVACQAAAAAAAAAADAQNBAoGRAkNBA4BCgIRBAsDEQcLAAoFMQEKBgsECwISAAwHDgcQABEICwULBhIBOAALBzgBAgEBBAARPQoELhELDAcKABABCgcRAwQKBRALAAELBAEHACcLBC4RCgwGDgERDAYAAAAAAAAAACQEHQsBCgAPAhUKBgoADwMVQAkAAAAAAAAAAAwFDQUKABAEFEQJCwMgBDENBQ4CCgAQBRQRBAsFCgAPARULABAAEQgLBgsHEgI4AgICAQQAARULAS4RCw4AEAQUIQQJBQsHACcLABMAAQEBAQEBEQYCAwAAABQeCgBBCQwDBgAAAAAAAAAADAIKAgoDIwQaBQoKAAoCQgkUCgEhBBULAAEIAgsCBgEAAAAAAAAAFgwCBQULAAEJAgQAAAAVMgoBQQkMBgYAAAAAAAAAAAwFCgUKBiMELQUKCgEKBUIJFAwECgAKBAwDLgsDEQMgBCgKAC5BCQoCNCMEHwUlCwEBCwABBwEnCgALBEQJCwUGAQAAAAAAAAAWDAUFBQsBAQsAAQIAAAAFAAEAAgAEAAYA",
99
+ deployedPackageId: "0x9c3dd66dcd05d86ac1b9485fdcc912dd3ef63447c86ad7af94709b77ba552909",
100
+ upgradeCap: "0x341653abcb5e21c97bf1e6951cc9eabd41511e1259e16c0fcc2837471d766f5f"
101
+ };
102
+ var compiledModulesJson = {
103
+ testnet: testnet,
104
+ devnet: devnet,
105
+ mainnet: mainnet
89
106
  };
90
107
 
91
108
  // Copyright 2024 IOTA Stiftung.
@@ -213,98 +230,48 @@ class IotaVerifiableStorageConnector {
213
230
  * Bootstrap the Verifiable Storage contract.
214
231
  * @param nodeIdentity The identity of the node.
215
232
  * @param nodeLoggingConnectorType The node logging connector type, defaults to "node-logging".
216
- * @param componentState The component state.
217
- * @param componentState.contractDeployments The contract deployments.
218
233
  * @returns True if the bootstrapping process was successful.
219
234
  */
220
- async start(nodeIdentity, nodeLoggingConnectorType, componentState) {
235
+ async start(nodeIdentity, nodeLoggingConnectorType) {
221
236
  const nodeLogging = loggingModels.LoggingConnectorFactory.getIfExists(nodeLoggingConnectorType ?? "node-logging");
222
237
  try {
223
- const contractData = compiledModulesJson[this._contractName];
224
- if (!contractData) {
238
+ const typedCompiledModules = compiledModulesJson;
239
+ const contractData = typedCompiledModules[this._config.network];
240
+ if (!core.Is.objectValue(contractData)) {
225
241
  throw new core.GeneralError(this.CLASS_NAME, "contractDataNotFound", {
226
- contractName: this._contractName
242
+ network: this._config.network,
243
+ availableNetworks: Object.keys(typedCompiledModules)
227
244
  });
228
245
  }
229
- // Convert base64 package(s) to bytes
230
- let compiledModules;
231
- if (core.Is.arrayValue(contractData.package)) {
232
- compiledModules = contractData.package.map((pkg) => Array.from(core.Converter.base64ToBytes(pkg)));
233
- }
234
- else {
235
- compiledModules = [Array.from(core.Converter.base64ToBytes(contractData.package))];
236
- }
237
- const contractDeployments = componentState?.contractDeployments ?? {};
238
- if (core.Is.stringValue(contractDeployments[contractData.packageId])) {
239
- this._deployedPackageId = contractDeployments[contractData.packageId];
240
- // Check if package exists on the network
241
- const packageExists = await dltIota.Iota.packageExistsOnNetwork(this._client, contractDeployments[contractData.packageId]);
242
- if (packageExists) {
243
- await nodeLogging?.log({
244
- level: "info",
245
- source: this.CLASS_NAME,
246
- ts: Date.now(),
247
- message: "contractAlreadyDeployed",
248
- data: {
249
- network: this._config.network,
250
- nodeIdentity,
251
- contractId: contractData.packageId,
252
- deployedPackageId: contractDeployments[contractData.packageId]
253
- }
254
- });
255
- return;
256
- }
257
- }
258
- // Package does not exist, proceed to deploy
259
- await nodeLogging?.log({
260
- level: "info",
261
- source: this.CLASS_NAME,
262
- ts: Date.now(),
263
- message: "contractDeploymentStarted",
264
- data: {
265
- network: this._config.network,
266
- nodeIdentity,
267
- contractId: contractData.packageId
268
- }
269
- });
270
- const txb = new transactions.Transaction();
271
- txb.setGasBudget(this._gasBudget);
272
- // Publish the compiled modules
273
- const [upgradeCap] = txb.publish({
274
- modules: compiledModules,
275
- dependencies: ["0x1", "0x2"]
276
- });
277
- const controllerAddress = await this.getPackageControllerAddress(nodeIdentity);
278
- // Transfer the upgrade capability to the controller
279
- txb.transferObjects([upgradeCap], txb.pure.address(controllerAddress));
280
- const result = await dltIota.Iota.prepareAndPostTransaction(this._config, this._vaultConnector, nodeLogging, nodeIdentity, this._client, controllerAddress, txb, {
281
- dryRunLabel: this._config.enableCostLogging ? "deploy" : undefined
282
- });
283
- if (result.effects?.status?.status !== "success") {
284
- throw new core.GeneralError(this.CLASS_NAME, "deployTransactionFailed", {
285
- error: result.effects?.status?.error
246
+ if (!core.Is.stringValue(contractData.deployedPackageId)) {
247
+ throw new core.GeneralError(this.CLASS_NAME, "deployedPackageIdRequired", {
248
+ network: this._config.network
286
249
  });
287
250
  }
288
- // Find the package object (owner field will be Verifiable)
289
- const packageObject = result.effects?.created?.find(obj => obj.owner === "Immutable");
290
- const deployedPackageId = packageObject?.reference?.objectId;
291
- if (!core.Is.stringValue(deployedPackageId)) {
251
+ this._deployedPackageId = contractData.deployedPackageId;
252
+ if (!this._deployedPackageId) {
292
253
  throw new core.GeneralError(this.CLASS_NAME, "packageIdNotFound", {
293
- packageId: deployedPackageId
254
+ network: this._config.network
294
255
  });
295
256
  }
296
- this._deployedPackageId = deployedPackageId;
297
- if (componentState) {
298
- componentState.contractDeployments ??= {};
299
- componentState.contractDeployments[contractData.packageId] = deployedPackageId;
257
+ const packageExists = await dltIota.Iota.packageExistsOnNetwork(this._client, this._deployedPackageId);
258
+ if (!packageExists) {
259
+ throw new core.GeneralError(this.CLASS_NAME, "packageNotFoundOnNetwork", {
260
+ network: this._config.network,
261
+ deployedPackageId: this._deployedPackageId
262
+ });
300
263
  }
301
264
  await nodeLogging?.log({
302
265
  level: "info",
303
266
  source: this.CLASS_NAME,
304
267
  ts: Date.now(),
305
- message: "contractDeploymentCompleted",
268
+ message: "contractReady",
306
269
  data: {
307
- deployedPackageId: this._deployedPackageId
270
+ network: this._config.network,
271
+ nodeIdentity,
272
+ packageId: contractData.packageId,
273
+ deployedPackageId: this._deployedPackageId,
274
+ upgradeCap: contractData.upgradeCap
308
275
  }
309
276
  });
310
277
  }
@@ -1,7 +1,7 @@
1
1
  import { DataTypeHandlerFactory } from '@twin.org/data-core';
2
2
  import { VerifiableStorageContexts } from '@twin.org/verifiable-storage-models';
3
3
  import { Transaction } from '@iota/iota-sdk/transactions';
4
- import { Urn, GeneralError, Guards, Is, Converter, BaseError, UnauthorizedError, StringHelper } from '@twin.org/core';
4
+ import { Urn, GeneralError, Guards, Is, BaseError, Converter, UnauthorizedError, StringHelper } from '@twin.org/core';
5
5
  import { Iota } from '@twin.org/dlt-iota';
6
6
  import { LoggingConnectorFactory } from '@twin.org/logging-models';
7
7
  import { VaultConnectorFactory } from '@twin.org/vault-models';
@@ -79,11 +79,28 @@ class VerifiableStorageConnectorIotaDataTypes {
79
79
  }
80
80
  }
81
81
 
82
- var compiledModulesJson = {
83
- "verifiable-storage": {
82
+ var testnet = {
84
83
  packageId: "0x794a5c35713037ae2cc83fcd4b4974ec4029e382b0562386a78c0f1c87b2f6d4",
85
- "package": "oRzrCwYAAAALAQAMAgwYAyRDBGcGBW1iB88BsgIIgQRgBuEEFAr1BCYMmwWsAw3HCAwAHgIOAhQCGQIaARgAAQwAAAADAAACAwACBQQABAQCAAUDBwAAFwABAAAcAgEAAAsDAQAAEAQFAAAHBgEAAQwPAQEDAgoMAQACEwsMAAIbDQkAAxYPAQEIBA0ICgAEFQgJAAUREgoABQ4JEAUTBAgFCgUNBwgEAAUHCAAIBQoFAQcIBAIIAAcIBAIGCgUFAQEDBwoFBgoFDQQKBQMFCAABBggEAQUBAwEHCAQBCAMBBggDAQgBAQkAAQgAAwoFAwUBBggFAQgCAgMDBAUFAwMOU3RvcmFnZUNyZWF0ZWQLU3RvcmFnZUl0ZW0OU3RvcmFnZVVwZGF0ZWQGU3RyaW5nCVR4Q29udGV4dANVSUQJYWxsb3dsaXN0DWFwcGVuZF91bmlxdWUHY3JlYXRvcgRkYXRhBmRlbGV0ZQtkZWxldGVfZGF0YQRlbWl0BWVwb2NoBWV2ZW50AmlkCWlzX2lubGlzdAZsZW5ndGgSbWF4X2FsbG93bGlzdF9zaXplA25ldwZvYmplY3QGc2VuZGVyDHNoYXJlX29iamVjdApzdG9yZV9kYXRhBnN0cmluZwh0cmFuc2Zlcgp0eF9jb250ZXh0DnVpZF90b19hZGRyZXNzC3VwZGF0ZV9kYXRhB3VwZGF0ZXISdmVyaWZpYWJsZV9zdG9yYWdlB3ZlcnNpb24AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDCJEBAAAAAAAAAwjpAwAAAAAAAAACBw8IAwkIBQ0DHwIIBQYKBRINAQIDDwUNAwgFAgIDDwUNAx0FAAEEAAclCgMuEQsMBgoDLhEKDAVACQAAAAAAAAAADAQNBAoGRAkNBA4BCgIRBAsDEQcLAAoFMQEKBgsECwISAAwHDgcQABEICwULBhIBOAALBzgBAgEBBAARPQoELhELDAcKABABCgcRAwQKBRALAAELBAEHACcLBC4RCgwGDgERDAYAAAAAAAAAACQEHQsBCgAPAhUKBgoADwMVQAkAAAAAAAAAAAwFDQUKABAEFEQJCwMgBDENBQ4CCgAQBRQRBAsFCgAPARULABAAEQgLBgsHEgI4AgICAQQAARULAS4RCw4AEAQUIQQJBQsHACcLABMAAQEBAQEBEQYCAwAAABQeCgBBCQwDBgAAAAAAAAAADAIKAgoDIwQaBQoKAAoCQgkUCgEhBBULAAEIAgsCBgEAAAAAAAAAFgwCBQULAAEJAgQAAAAVMgoBQQkMBgYAAAAAAAAAAAwFCgUKBiMELQUKCgEKBUIJFAwECgAKBAwDLgsDEQMgBCgKAC5BCQoCNCMEHwUlCwEBCwABBwEnCgALBEQJCwUGAQAAAAAAAAAWDAUFBQsBAQsAAQIAAAAFAAEAAgAEAAYA"
86
- }
84
+ "package": "oRzrCwYAAAALAQAMAgwYAyRDBGcGBW1iB88BsgIIgQRgBuEEFAr1BCYMmwWsAw3HCAwAHgIOAhQCGQIaARgAAQwAAAADAAACAwACBQQABAQCAAUDBwAAFwABAAAcAgEAAAsDAQAAEAQFAAAHBgEAAQwPAQEDAgoMAQACEwsMAAIbDQkAAxYPAQEIBA0ICgAEFQgJAAUREgoABQ4JEAUTBAgFCgUNBwgEAAUHCAAIBQoFAQcIBAIIAAcIBAIGCgUFAQEDBwoFBgoFDQQKBQMFCAABBggEAQUBAwEHCAQBCAMBBggDAQgBAQkAAQgAAwoFAwUBBggFAQgCAgMDBAUFAwMOU3RvcmFnZUNyZWF0ZWQLU3RvcmFnZUl0ZW0OU3RvcmFnZVVwZGF0ZWQGU3RyaW5nCVR4Q29udGV4dANVSUQJYWxsb3dsaXN0DWFwcGVuZF91bmlxdWUHY3JlYXRvcgRkYXRhBmRlbGV0ZQtkZWxldGVfZGF0YQRlbWl0BWVwb2NoBWV2ZW50AmlkCWlzX2lubGlzdAZsZW5ndGgSbWF4X2FsbG93bGlzdF9zaXplA25ldwZvYmplY3QGc2VuZGVyDHNoYXJlX29iamVjdApzdG9yZV9kYXRhBnN0cmluZwh0cmFuc2Zlcgp0eF9jb250ZXh0DnVpZF90b19hZGRyZXNzC3VwZGF0ZV9kYXRhB3VwZGF0ZXISdmVyaWZpYWJsZV9zdG9yYWdlB3ZlcnNpb24AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDCJEBAAAAAAAAAwjpAwAAAAAAAAACBw8IAwkIBQ0DHwIIBQYKBRINAQIDDwUNAwgFAgIDDwUNAx0FAAEEAAclCgMuEQsMBgoDLhEKDAVACQAAAAAAAAAADAQNBAoGRAkNBA4BCgIRBAsDEQcLAAoFMQEKBgsECwISAAwHDgcQABEICwULBhIBOAALBzgBAgEBBAARPQoELhELDAcKABABCgcRAwQKBRALAAELBAEHACcLBC4RCgwGDgERDAYAAAAAAAAAACQEHQsBCgAPAhUKBgoADwMVQAkAAAAAAAAAAAwFDQUKABAEFEQJCwMgBDENBQ4CCgAQBRQRBAsFCgAPARULABAAEQgLBgsHEgI4AgICAQQAARULAS4RCw4AEAQUIQQJBQsHACcLABMAAQEBAQEBEQYCAwAAABQeCgBBCQwDBgAAAAAAAAAADAIKAgoDIwQaBQoKAAoCQgkUCgEhBBULAAEIAgsCBgEAAAAAAAAAFgwCBQULAAEJAgQAAAAVMgoBQQkMBgYAAAAAAAAAAAwFCgUKBiMELQUKCgEKBUIJFAwECgAKBAwDLgsDEQMgBCgKAC5BCQoCNCMEHwUlCwEBCwABBwEnCgALBEQJCwUGAQAAAAAAAAAWDAUFBQsBAQsAAQIAAAAFAAEAAgAEAAYA",
85
+ deployedPackageId: "0xf0093c80eb9569e04022143517a100ac63f54fc1ba5996cb40e94a62c0e52fce",
86
+ upgradeCap: "0xe2d3595bf3b46d5c405126519138fbf040f9bebf3f1a4908c8bc502fe03d4498"
87
+ };
88
+ var devnet = {
89
+ packageId: "",
90
+ "package": "",
91
+ deployedPackageId: "",
92
+ upgradeCap: ""
93
+ };
94
+ var mainnet = {
95
+ packageId: "0x794a5c35713037ae2cc83fcd4b4974ec4029e382b0562386a78c0f1c87b2f6d4",
96
+ "package": "oRzrCwYAAAALAQAMAgwYAyRDBGcGBW1iB88BsgIIgQRgBuEEFAr1BCYMmwWsAw3HCAwAHgIOAhQCGQIaARgAAQwAAAADAAACAwACBQQABAQCAAUDBwAAFwABAAAcAgEAAAsDAQAAEAQFAAAHBgEAAQwPAQEDAgoMAQACEwsMAAIbDQkAAxYPAQEIBA0ICgAEFQgJAAUREgoABQ4JEAUTBAgFCgUNBwgEAAUHCAAIBQoFAQcIBAIIAAcIBAIGCgUFAQEDBwoFBgoFDQQKBQMFCAABBggEAQUBAwEHCAQBCAMBBggDAQgBAQkAAQgAAwoFAwUBBggFAQgCAgMDBAUFAwMOU3RvcmFnZUNyZWF0ZWQLU3RvcmFnZUl0ZW0OU3RvcmFnZVVwZGF0ZWQGU3RyaW5nCVR4Q29udGV4dANVSUQJYWxsb3dsaXN0DWFwcGVuZF91bmlxdWUHY3JlYXRvcgRkYXRhBmRlbGV0ZQtkZWxldGVfZGF0YQRlbWl0BWVwb2NoBWV2ZW50AmlkCWlzX2lubGlzdAZsZW5ndGgSbWF4X2FsbG93bGlzdF9zaXplA25ldwZvYmplY3QGc2VuZGVyDHNoYXJlX29iamVjdApzdG9yZV9kYXRhBnN0cmluZwh0cmFuc2Zlcgp0eF9jb250ZXh0DnVpZF90b19hZGRyZXNzC3VwZGF0ZV9kYXRhB3VwZGF0ZXISdmVyaWZpYWJsZV9zdG9yYWdlB3ZlcnNpb24AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDCJEBAAAAAAAAAwjpAwAAAAAAAAACBw8IAwkIBQ0DHwIIBQYKBRINAQIDDwUNAwgFAgIDDwUNAx0FAAEEAAclCgMuEQsMBgoDLhEKDAVACQAAAAAAAAAADAQNBAoGRAkNBA4BCgIRBAsDEQcLAAoFMQEKBgsECwISAAwHDgcQABEICwULBhIBOAALBzgBAgEBBAARPQoELhELDAcKABABCgcRAwQKBRALAAELBAEHACcLBC4RCgwGDgERDAYAAAAAAAAAACQEHQsBCgAPAhUKBgoADwMVQAkAAAAAAAAAAAwFDQUKABAEFEQJCwMgBDENBQ4CCgAQBRQRBAsFCgAPARULABAAEQgLBgsHEgI4AgICAQQAARULAS4RCw4AEAQUIQQJBQsHACcLABMAAQEBAQEBEQYCAwAAABQeCgBBCQwDBgAAAAAAAAAADAIKAgoDIwQaBQoKAAoCQgkUCgEhBBULAAEIAgsCBgEAAAAAAAAAFgwCBQULAAEJAgQAAAAVMgoBQQkMBgYAAAAAAAAAAAwFCgUKBiMELQUKCgEKBUIJFAwECgAKBAwDLgsDEQMgBCgKAC5BCQoCNCMEHwUlCwEBCwABBwEnCgALBEQJCwUGAQAAAAAAAAAWDAUFBQsBAQsAAQIAAAAFAAEAAgAEAAYA",
97
+ deployedPackageId: "0x9c3dd66dcd05d86ac1b9485fdcc912dd3ef63447c86ad7af94709b77ba552909",
98
+ upgradeCap: "0x341653abcb5e21c97bf1e6951cc9eabd41511e1259e16c0fcc2837471d766f5f"
99
+ };
100
+ var compiledModulesJson = {
101
+ testnet: testnet,
102
+ devnet: devnet,
103
+ mainnet: mainnet
87
104
  };
88
105
 
89
106
  // Copyright 2024 IOTA Stiftung.
@@ -211,98 +228,48 @@ class IotaVerifiableStorageConnector {
211
228
  * Bootstrap the Verifiable Storage contract.
212
229
  * @param nodeIdentity The identity of the node.
213
230
  * @param nodeLoggingConnectorType The node logging connector type, defaults to "node-logging".
214
- * @param componentState The component state.
215
- * @param componentState.contractDeployments The contract deployments.
216
231
  * @returns True if the bootstrapping process was successful.
217
232
  */
218
- async start(nodeIdentity, nodeLoggingConnectorType, componentState) {
233
+ async start(nodeIdentity, nodeLoggingConnectorType) {
219
234
  const nodeLogging = LoggingConnectorFactory.getIfExists(nodeLoggingConnectorType ?? "node-logging");
220
235
  try {
221
- const contractData = compiledModulesJson[this._contractName];
222
- if (!contractData) {
236
+ const typedCompiledModules = compiledModulesJson;
237
+ const contractData = typedCompiledModules[this._config.network];
238
+ if (!Is.objectValue(contractData)) {
223
239
  throw new GeneralError(this.CLASS_NAME, "contractDataNotFound", {
224
- contractName: this._contractName
240
+ network: this._config.network,
241
+ availableNetworks: Object.keys(typedCompiledModules)
225
242
  });
226
243
  }
227
- // Convert base64 package(s) to bytes
228
- let compiledModules;
229
- if (Is.arrayValue(contractData.package)) {
230
- compiledModules = contractData.package.map((pkg) => Array.from(Converter.base64ToBytes(pkg)));
231
- }
232
- else {
233
- compiledModules = [Array.from(Converter.base64ToBytes(contractData.package))];
234
- }
235
- const contractDeployments = componentState?.contractDeployments ?? {};
236
- if (Is.stringValue(contractDeployments[contractData.packageId])) {
237
- this._deployedPackageId = contractDeployments[contractData.packageId];
238
- // Check if package exists on the network
239
- const packageExists = await Iota.packageExistsOnNetwork(this._client, contractDeployments[contractData.packageId]);
240
- if (packageExists) {
241
- await nodeLogging?.log({
242
- level: "info",
243
- source: this.CLASS_NAME,
244
- ts: Date.now(),
245
- message: "contractAlreadyDeployed",
246
- data: {
247
- network: this._config.network,
248
- nodeIdentity,
249
- contractId: contractData.packageId,
250
- deployedPackageId: contractDeployments[contractData.packageId]
251
- }
252
- });
253
- return;
254
- }
255
- }
256
- // Package does not exist, proceed to deploy
257
- await nodeLogging?.log({
258
- level: "info",
259
- source: this.CLASS_NAME,
260
- ts: Date.now(),
261
- message: "contractDeploymentStarted",
262
- data: {
263
- network: this._config.network,
264
- nodeIdentity,
265
- contractId: contractData.packageId
266
- }
267
- });
268
- const txb = new Transaction();
269
- txb.setGasBudget(this._gasBudget);
270
- // Publish the compiled modules
271
- const [upgradeCap] = txb.publish({
272
- modules: compiledModules,
273
- dependencies: ["0x1", "0x2"]
274
- });
275
- const controllerAddress = await this.getPackageControllerAddress(nodeIdentity);
276
- // Transfer the upgrade capability to the controller
277
- txb.transferObjects([upgradeCap], txb.pure.address(controllerAddress));
278
- const result = await Iota.prepareAndPostTransaction(this._config, this._vaultConnector, nodeLogging, nodeIdentity, this._client, controllerAddress, txb, {
279
- dryRunLabel: this._config.enableCostLogging ? "deploy" : undefined
280
- });
281
- if (result.effects?.status?.status !== "success") {
282
- throw new GeneralError(this.CLASS_NAME, "deployTransactionFailed", {
283
- error: result.effects?.status?.error
244
+ if (!Is.stringValue(contractData.deployedPackageId)) {
245
+ throw new GeneralError(this.CLASS_NAME, "deployedPackageIdRequired", {
246
+ network: this._config.network
284
247
  });
285
248
  }
286
- // Find the package object (owner field will be Verifiable)
287
- const packageObject = result.effects?.created?.find(obj => obj.owner === "Immutable");
288
- const deployedPackageId = packageObject?.reference?.objectId;
289
- if (!Is.stringValue(deployedPackageId)) {
249
+ this._deployedPackageId = contractData.deployedPackageId;
250
+ if (!this._deployedPackageId) {
290
251
  throw new GeneralError(this.CLASS_NAME, "packageIdNotFound", {
291
- packageId: deployedPackageId
252
+ network: this._config.network
292
253
  });
293
254
  }
294
- this._deployedPackageId = deployedPackageId;
295
- if (componentState) {
296
- componentState.contractDeployments ??= {};
297
- componentState.contractDeployments[contractData.packageId] = deployedPackageId;
255
+ const packageExists = await Iota.packageExistsOnNetwork(this._client, this._deployedPackageId);
256
+ if (!packageExists) {
257
+ throw new GeneralError(this.CLASS_NAME, "packageNotFoundOnNetwork", {
258
+ network: this._config.network,
259
+ deployedPackageId: this._deployedPackageId
260
+ });
298
261
  }
299
262
  await nodeLogging?.log({
300
263
  level: "info",
301
264
  source: this.CLASS_NAME,
302
265
  ts: Date.now(),
303
- message: "contractDeploymentCompleted",
266
+ message: "contractReady",
304
267
  data: {
305
- deployedPackageId: this._deployedPackageId
268
+ network: this._config.network,
269
+ nodeIdentity,
270
+ packageId: contractData.packageId,
271
+ deployedPackageId: this._deployedPackageId,
272
+ upgradeCap: contractData.upgradeCap
306
273
  }
307
274
  });
308
275
  }
@@ -22,15 +22,9 @@ export declare class IotaVerifiableStorageConnector implements IVerifiableStorag
22
22
  * Bootstrap the Verifiable Storage contract.
23
23
  * @param nodeIdentity The identity of the node.
24
24
  * @param nodeLoggingConnectorType The node logging connector type, defaults to "node-logging".
25
- * @param componentState The component state.
26
- * @param componentState.contractDeployments The contract deployments.
27
25
  * @returns True if the bootstrapping process was successful.
28
26
  */
29
- start(nodeIdentity: string, nodeLoggingConnectorType?: string, componentState?: {
30
- contractDeployments?: {
31
- [id: string]: string;
32
- };
33
- }): Promise<void>;
27
+ start(nodeIdentity: string, nodeLoggingConnectorType?: string): Promise<void>;
34
28
  /**
35
29
  * Create an item in verifiable storage.
36
30
  * @param controller The identity of the user to access the vault keys.
package/docs/changelog.md CHANGED
@@ -1,5 +1,83 @@
1
1
  # @twin.org/verifiable-storage-connector-iota - Changelog
2
2
 
3
+ ## [0.0.2-next.3](https://github.com/twinfoundation/verifiable-storage/compare/verifiable-storage-connector-iota-v0.0.2-next.2...verifiable-storage-connector-iota-v0.0.2-next.3) (2025-07-28)
4
+
5
+
6
+ ### Features
7
+
8
+ * update IOTA verifiable storage connector to use the updated move-to-json cli ([#33](https://github.com/twinfoundation/verifiable-storage/issues/33)) ([7c8d0d2](https://github.com/twinfoundation/verifiable-storage/commit/7c8d0d2e0418333ab1f897f744326c5c72857932))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * dependencies
15
+ * @twin.org/verifiable-storage-models bumped from 0.0.2-next.2 to 0.0.2-next.3
16
+
17
+ ## [0.0.2-next.2](https://github.com/twinfoundation/verifiable-storage/compare/verifiable-storage-connector-iota-v0.0.2-next.1...verifiable-storage-connector-iota-v0.0.2-next.2) (2025-07-16)
18
+
19
+
20
+ ### Features
21
+
22
+ * add data types ([d9ad58a](https://github.com/twinfoundation/verifiable-storage/commit/d9ad58afb0c86b80bcb1229d87d2d7f522b20fcd))
23
+ * add epoch and digest to receipt ([#12](https://github.com/twinfoundation/verifiable-storage/issues/12)) ([cd4cfa6](https://github.com/twinfoundation/verifiable-storage/commit/cd4cfa6bee19ee9b9896447d0b773bffd57fddf1))
24
+ * add support for allowlist ([#17](https://github.com/twinfoundation/verifiable-storage/issues/17)) ([9341ea6](https://github.com/twinfoundation/verifiable-storage/commit/9341ea6b95dfbf2a5dc70a53e5979d7d0e8b2de6))
25
+ * improve components state for deployments based on contract id ([ce1dadd](https://github.com/twinfoundation/verifiable-storage/commit/ce1daddeda4a37d5becd49803475ece2a5c01a07))
26
+ * iota rebased release ([fb37cfe](https://github.com/twinfoundation/verifiable-storage/commit/fb37cfec62abe862bcb9b2285564b8ee6e59849b))
27
+ * iota rebased release ([e8fa9dd](https://github.com/twinfoundation/verifiable-storage/commit/e8fa9dd2a8a9c375ffc465f9b5c2048f6b0dca47))
28
+ * update allow list name case ([278a787](https://github.com/twinfoundation/verifiable-storage/commit/278a787e96864c95438f87adaac6f2fc8b6bebcd))
29
+ * update connector config and tests for gas station ([#25](https://github.com/twinfoundation/verifiable-storage/issues/25)) ([e0997ff](https://github.com/twinfoundation/verifiable-storage/commit/e0997ffb0f4869dca11f248a9886acdd22c7dcc2))
30
+ * update dependencies ([a16a772](https://github.com/twinfoundation/verifiable-storage/commit/a16a77244cb1d312ea5ee74232bcdadd25f2b330))
31
+ * update ts-to-schema generation ([cd41401](https://github.com/twinfoundation/verifiable-storage/commit/cd41401dd4e91f111ddf8ae68eb7b40a976fb232))
32
+ * use new dlt packages with latency fix ([#6](https://github.com/twinfoundation/verifiable-storage/issues/6)) ([d81c45b](https://github.com/twinfoundation/verifiable-storage/commit/d81c45bce035864a41bbd498815169d7257fbcb8))
33
+ * use shared store mechanism ([#8](https://github.com/twinfoundation/verifiable-storage/issues/8)) ([8c8ecb8](https://github.com/twinfoundation/verifiable-storage/commit/8c8ecb83d32431952c594ea23d37040991f5b4d3))
34
+
35
+
36
+ ### Bug Fixes
37
+
38
+ * add missing iota receipt data ([#10](https://github.com/twinfoundation/verifiable-storage/issues/10)) ([b83c79f](https://github.com/twinfoundation/verifiable-storage/commit/b83c79fb453bb45af7c347dd7688eddbafdb442e))
39
+ * iota get digest to match last update ([53690a0](https://github.com/twinfoundation/verifiable-storage/commit/53690a0ffa9d38a69d184c90f975cc67199a5808))
40
+ * return if package already deployed ([dd859ca](https://github.com/twinfoundation/verifiable-storage/commit/dd859caadb7fa8323e214f6920e61e96202b4039))
41
+
42
+
43
+ ### Dependencies
44
+
45
+ * The following workspace dependencies were updated
46
+ * dependencies
47
+ * @twin.org/verifiable-storage-models bumped from 0.0.2-next.0 to 0.0.2-next.2
48
+
49
+ ## [0.0.2-next.0](https://github.com/twinfoundation/verifiable-storage/compare/verifiable-storage-connector-iota-v0.0.2-next.0...verifiable-storage-connector-iota-v0.0.2-next.0) (2025-07-16)
50
+
51
+
52
+ ### Features
53
+
54
+ * add data types ([d9ad58a](https://github.com/twinfoundation/verifiable-storage/commit/d9ad58afb0c86b80bcb1229d87d2d7f522b20fcd))
55
+ * add epoch and digest to receipt ([#12](https://github.com/twinfoundation/verifiable-storage/issues/12)) ([cd4cfa6](https://github.com/twinfoundation/verifiable-storage/commit/cd4cfa6bee19ee9b9896447d0b773bffd57fddf1))
56
+ * add support for allowlist ([#17](https://github.com/twinfoundation/verifiable-storage/issues/17)) ([9341ea6](https://github.com/twinfoundation/verifiable-storage/commit/9341ea6b95dfbf2a5dc70a53e5979d7d0e8b2de6))
57
+ * improve components state for deployments based on contract id ([ce1dadd](https://github.com/twinfoundation/verifiable-storage/commit/ce1daddeda4a37d5becd49803475ece2a5c01a07))
58
+ * iota rebased release ([fb37cfe](https://github.com/twinfoundation/verifiable-storage/commit/fb37cfec62abe862bcb9b2285564b8ee6e59849b))
59
+ * iota rebased release ([e8fa9dd](https://github.com/twinfoundation/verifiable-storage/commit/e8fa9dd2a8a9c375ffc465f9b5c2048f6b0dca47))
60
+ * update allow list name case ([278a787](https://github.com/twinfoundation/verifiable-storage/commit/278a787e96864c95438f87adaac6f2fc8b6bebcd))
61
+ * update connector config and tests for gas station ([#25](https://github.com/twinfoundation/verifiable-storage/issues/25)) ([e0997ff](https://github.com/twinfoundation/verifiable-storage/commit/e0997ffb0f4869dca11f248a9886acdd22c7dcc2))
62
+ * update dependencies ([a16a772](https://github.com/twinfoundation/verifiable-storage/commit/a16a77244cb1d312ea5ee74232bcdadd25f2b330))
63
+ * update ts-to-schema generation ([cd41401](https://github.com/twinfoundation/verifiable-storage/commit/cd41401dd4e91f111ddf8ae68eb7b40a976fb232))
64
+ * use new dlt packages with latency fix ([#6](https://github.com/twinfoundation/verifiable-storage/issues/6)) ([d81c45b](https://github.com/twinfoundation/verifiable-storage/commit/d81c45bce035864a41bbd498815169d7257fbcb8))
65
+ * use shared store mechanism ([#8](https://github.com/twinfoundation/verifiable-storage/issues/8)) ([8c8ecb8](https://github.com/twinfoundation/verifiable-storage/commit/8c8ecb83d32431952c594ea23d37040991f5b4d3))
66
+
67
+
68
+ ### Bug Fixes
69
+
70
+ * add missing iota receipt data ([#10](https://github.com/twinfoundation/verifiable-storage/issues/10)) ([b83c79f](https://github.com/twinfoundation/verifiable-storage/commit/b83c79fb453bb45af7c347dd7688eddbafdb442e))
71
+ * iota get digest to match last update ([53690a0](https://github.com/twinfoundation/verifiable-storage/commit/53690a0ffa9d38a69d184c90f975cc67199a5808))
72
+ * return if package already deployed ([dd859ca](https://github.com/twinfoundation/verifiable-storage/commit/dd859caadb7fa8323e214f6920e61e96202b4039))
73
+
74
+
75
+ ### Dependencies
76
+
77
+ * The following workspace dependencies were updated
78
+ * dependencies
79
+ * @twin.org/verifiable-storage-models bumped from 0.0.2-next.0 to 0.0.2-next.0
80
+
3
81
  ## 0.0.1 (2025-07-09)
4
82
 
5
83
 
@@ -50,7 +50,7 @@ Runtime name for the class.
50
50
 
51
51
  ### start()
52
52
 
53
- > **start**(`nodeIdentity`, `nodeLoggingConnectorType?`, `componentState?`): `Promise`\<`void`\>
53
+ > **start**(`nodeIdentity`, `nodeLoggingConnectorType?`): `Promise`\<`void`\>
54
54
 
55
55
  Bootstrap the Verifiable Storage contract.
56
56
 
@@ -68,16 +68,6 @@ The identity of the node.
68
68
 
69
69
  The node logging connector type, defaults to "node-logging".
70
70
 
71
- ##### componentState?
72
-
73
- The component state.
74
-
75
- ###### contractDeployments?
76
-
77
- \{[`id`: `string`]: `string`; \}
78
-
79
- The contract deployments.
80
-
81
71
  #### Returns
82
72
 
83
73
  `Promise`\<`void`\>
package/locales/en.json CHANGED
@@ -3,7 +3,8 @@
3
3
  "iotaVerifiableStorageConnector": {
4
4
  "contractAlreadyDeployed": "Contract already deployed",
5
5
  "contractDeploymentStarted": "Contract deployment started",
6
- "contractDeploymentCompleted": "Contract deployment completed"
6
+ "contractDeploymentCompleted": "Contract deployment completed",
7
+ "contractReady": "Contract ready for use"
7
8
  }
8
9
  },
9
10
  "error": {
@@ -13,7 +14,7 @@
13
14
  "updatingFailed": "Updating the verifiable item failed",
14
15
  "gettingFailed": "Getting the verifiable item failed",
15
16
  "removingFailed": "Removing the verifiable item failed",
16
- "packageIdNotFound": "The package ID \"{id}\" was not found",
17
+ "packageIdNotFound": "Package ID not found for network \"{network}\"",
17
18
  "storingTransactionFailed": "The transaction to store the data failed",
18
19
  "removingTransactionFailed": "The transaction to remove the data failed",
19
20
  "objectNotFound": "The object was not found",
@@ -25,7 +26,10 @@
25
26
  "invalidGasBudget": "The gas budget must be greater than 0",
26
27
  "notInAllowList": "The user is not in the allow list",
27
28
  "notCreator": "Only the creator can remove the verifiable item",
28
- "allowListTooBig": "The number of items in the allow list is larger than the maximum allowed"
29
+ "allowListTooBig": "The number of items in the allow list is larger than the maximum allowed",
30
+ "contractDataNotFound": "Contract data not found for network \"{network}\". Available networks: {availableNetworks}",
31
+ "deployedPackageIdRequired": "deployedPackageId is required for network operations on \"{network}\".",
32
+ "packageNotFoundOnNetwork": "Package \"{deployedPackageId}\" not found on \"{network}\" network"
29
33
  },
30
34
  "iotaVerifiableStorageUtils": {
31
35
  "invalidVerifiableStorageIdFormat": "The verifiable storage ID \"{id}\" has an invalid format"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twin.org/verifiable-storage-connector-iota",
3
- "version": "0.0.1",
3
+ "version": "0.0.2-next.3",
4
4
  "description": "Implementation of the Verifiable Storage connector using IOTA",
5
5
  "repository": {
6
6
  "type": "git",
@@ -14,16 +14,16 @@
14
14
  "node": ">=20.0.0"
15
15
  },
16
16
  "dependencies": {
17
- "@iota/iota-sdk": "1.2.0",
18
- "@twin.org/core": "^0.0.1",
19
- "@twin.org/crypto": "^0.0.1",
20
- "@twin.org/data-core": "^0.0.1",
21
- "@twin.org/data-json-ld": "^0.0.1",
22
- "@twin.org/dlt-iota": "^0.0.1",
23
- "@twin.org/logging-models": "^0.0.1",
24
- "@twin.org/nameof": "^0.0.1",
25
- "@twin.org/vault-models": "^0.0.1",
26
- "@twin.org/verifiable-storage-models": "^0.0.1"
17
+ "@iota/iota-sdk": "1.4.0",
18
+ "@twin.org/core": "next",
19
+ "@twin.org/crypto": "next",
20
+ "@twin.org/data-core": "next",
21
+ "@twin.org/data-json-ld": "next",
22
+ "@twin.org/dlt-iota": "next",
23
+ "@twin.org/logging-models": "next",
24
+ "@twin.org/nameof": "next",
25
+ "@twin.org/vault-models": "next",
26
+ "@twin.org/verifiable-storage-models": "0.0.2-next.3"
27
27
  },
28
28
  "main": "./dist/cjs/index.cjs",
29
29
  "module": "./dist/esm/index.mjs",