@unicitylabs/sphere-sdk 0.14.9-dev.1 → 0.14.10

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.
@@ -58,6 +58,10 @@ var import_StateMask = require("@unicitylabs/state-transition-sdk/lib/transactio
58
58
  var import_MintJustificationVerifierService = require("@unicitylabs/state-transition-sdk/lib/transaction/verification/MintJustificationVerifierService.js");
59
59
  var import_TokenIssuanceVerifierService = require("@unicitylabs/state-transition-sdk/lib/transaction/verification/TokenIssuanceVerifierService.js");
60
60
  var import_VerificationContext = require("@unicitylabs/state-transition-sdk/lib/transaction/verification/VerificationContext.js");
61
+ var import_UnicityCertificateVerifier = require("@unicitylabs/state-transition-sdk/lib/api/bft/verification/UnicityCertificateVerifier.js");
62
+ var import_UnicitySealQuorumSignaturesVerificationRule = require("@unicitylabs/state-transition-sdk/lib/api/bft/verification/rule/UnicitySealQuorumSignaturesVerificationRule.js");
63
+ var import_VerifiedSealCache = require("@unicitylabs/state-transition-sdk/lib/api/bft/verification/VerifiedSealCache.js");
64
+ var import_Secp256k1SignatureVerifier = require("@unicitylabs/state-transition-sdk/lib/crypto/secp256k1/Secp256k1SignatureVerifier.js");
61
65
  var import_WorkerTokenVerifier = require("@unicitylabs/state-transition-sdk/lib/transaction/verification/worker/WorkerTokenVerifier.js");
62
66
  var import_EncodedPredicate = require("@unicitylabs/state-transition-sdk/lib/predicate/EncodedPredicate.js");
63
67
  var import_SignaturePredicate = require("@unicitylabs/state-transition-sdk/lib/predicate/builtin/SignaturePredicate.js");
@@ -389,6 +393,7 @@ async function awaitProofBounded(deps, transaction, signal) {
389
393
  deps.client,
390
394
  deps.trustBase,
391
395
  deps.predicateVerifier,
396
+ deps.unicityCertificateVerifier,
392
397
  transaction,
393
398
  signal,
394
399
  deps.intervalMs
@@ -1028,7 +1033,7 @@ async function burntTokenFromCheckpoint(deps, storedBytes, reDerivedBurnTx, sour
1028
1033
  }
1029
1034
  let burnCertified;
1030
1035
  try {
1031
- burnCertified = await reDerivedBurnTx.toCertifiedTransaction(deps.trustBase, deps.predicateVerifier, burnProof);
1036
+ burnCertified = await reDerivedBurnTx.toCertifiedTransaction(deps.trustBase, deps.predicateVerifier, deps.unicityCertificateVerifier, burnProof);
1032
1037
  } catch (err) {
1033
1038
  if (isTrustbaseFailure(err)) {
1034
1039
  throw new CheckpointTrustbaseMismatchError(
@@ -1136,7 +1141,7 @@ var SphereTokenEngine = class {
1136
1141
  "AGGREGATOR_ERROR",
1137
1142
  options
1138
1143
  );
1139
- const certified = await mintTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, proof);
1144
+ const certified = await mintTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, this.deps.unicityCertificateVerifier, proof);
1140
1145
  const token = await import_Token.Token.mint(certified, this.deps.verificationContext);
1141
1146
  return this.wrapToken(token);
1142
1147
  }
@@ -1153,7 +1158,7 @@ var SphereTokenEngine = class {
1153
1158
  "AGGREGATOR_ERROR",
1154
1159
  options
1155
1160
  );
1156
- const certified = await mintTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, proof);
1161
+ const certified = await mintTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, this.deps.unicityCertificateVerifier, proof);
1157
1162
  const token = await import_Token.Token.mint(certified, this.deps.verificationContext);
1158
1163
  return this.wrapToken(token);
1159
1164
  }
@@ -1174,7 +1179,7 @@ var SphereTokenEngine = class {
1174
1179
  "TRANSFER_FAILED",
1175
1180
  options
1176
1181
  );
1177
- const certified = await transferTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, proof);
1182
+ const certified = await transferTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, this.deps.unicityCertificateVerifier, proof);
1178
1183
  const transferred = await params.token.sdkToken.transfer(certified, this.deps.verificationContext);
1179
1184
  return this.wrapToken(transferred);
1180
1185
  }
@@ -1261,7 +1266,7 @@ var SphereTokenEngine = class {
1261
1266
  const burnUnlock = await import_SignaturePredicateUnlockScript.SignaturePredicateUnlockScript.create(burnTx, this.deps.signingService);
1262
1267
  const burnCert = await import_CertificationData.CertificationData.fromTransaction(burnTx, burnUnlock);
1263
1268
  const burnProof = await this.submitAndAwaitProof(burnCert, burnTx, "Split burn failed", "TRANSFER_FAILED", ctx.options);
1264
- const burnCertified = await burnTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, burnProof);
1269
+ const burnCertified = await burnTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, this.deps.unicityCertificateVerifier, burnProof);
1265
1270
  const burntToken = await ctx.params.token.sdkToken.transfer(burnCertified, this.deps.verificationContext);
1266
1271
  return { burntToken, burnProof };
1267
1272
  }
@@ -1300,7 +1305,7 @@ var SphereTokenEngine = class {
1300
1305
  );
1301
1306
  const certData = await import_CertificationData.CertificationData.fromMintTransaction(mintTx);
1302
1307
  const proof = await this.submitSplitMintLeg(certData, mintTx, options);
1303
- const certified = await mintTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, proof);
1308
+ const certified = await mintTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, this.deps.unicityCertificateVerifier, proof);
1304
1309
  const token = await import_Token.Token.mint(certified, this.deps.verificationContext);
1305
1310
  return this.wrapToken(token);
1306
1311
  }
@@ -1443,6 +1448,7 @@ var SphereTokenEngine = class {
1443
1448
  client: this.deps.client,
1444
1449
  trustBase: this.deps.trustBase,
1445
1450
  predicateVerifier: this.deps.predicateVerifier,
1451
+ unicityCertificateVerifier: this.deps.unicityCertificateVerifier,
1446
1452
  intervalMs: this.deps.proofPollIntervalMs ?? DEFAULT_PROOF_POLL_INTERVAL_MS
1447
1453
  // #683
1448
1454
  },
@@ -1534,6 +1540,9 @@ async function createSphereTokenEngine(config) {
1534
1540
  }
1535
1541
  const trustBase = import_RootTrustBase.RootTrustBase.fromJSON(config.trustBaseJson);
1536
1542
  const predicateVerifier = import_PredicateVerifierService.PredicateVerifierService.create();
1543
+ const unicityCertificateVerifier = new import_UnicityCertificateVerifier.UnicityCertificateVerifier(
1544
+ new import_UnicitySealQuorumSignaturesVerificationRule.UnicitySealQuorumSignaturesVerificationRule(new import_Secp256k1SignatureVerifier.Secp256k1SignatureVerifier(), new import_VerifiedSealCache.VerifiedSealCache(256))
1545
+ );
1537
1546
  const mintJustificationVerifier = new import_MintJustificationVerifierService.MintJustificationVerifierService();
1538
1547
  mintJustificationVerifier.register(
1539
1548
  new import_SplitMintJustificationVerifier.SplitMintJustificationVerifier(decodeSpherePaymentData)
@@ -1542,10 +1551,12 @@ async function createSphereTokenEngine(config) {
1542
1551
  client: new import_StateTransitionClient.StateTransitionClient(new import_AggregatorClient.AggregatorClient(config.aggregatorUrl, config.apiKey ?? null)),
1543
1552
  trustBase,
1544
1553
  predicateVerifier,
1554
+ unicityCertificateVerifier,
1545
1555
  mintJustificationVerifier,
1546
1556
  verificationContext: new import_VerificationContext.VerificationContext(
1547
1557
  trustBase,
1548
1558
  predicateVerifier,
1559
+ unicityCertificateVerifier,
1549
1560
  mintJustificationVerifier,
1550
1561
  new import_TokenIssuanceVerifierService.TokenIssuanceVerifierService(false)
1551
1562
  ),