@unicitylabs/sphere-sdk 0.14.9 → 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.
@@ -9218,6 +9218,10 @@ import { StateMask } from "@unicitylabs/state-transition-sdk/lib/transaction/Sta
9218
9218
  import { MintJustificationVerifierService } from "@unicitylabs/state-transition-sdk/lib/transaction/verification/MintJustificationVerifierService.js";
9219
9219
  import { TokenIssuanceVerifierService } from "@unicitylabs/state-transition-sdk/lib/transaction/verification/TokenIssuanceVerifierService.js";
9220
9220
  import { VerificationContext } from "@unicitylabs/state-transition-sdk/lib/transaction/verification/VerificationContext.js";
9221
+ import { UnicityCertificateVerifier } from "@unicitylabs/state-transition-sdk/lib/api/bft/verification/UnicityCertificateVerifier.js";
9222
+ import { UnicitySealQuorumSignaturesVerificationRule } from "@unicitylabs/state-transition-sdk/lib/api/bft/verification/rule/UnicitySealQuorumSignaturesVerificationRule.js";
9223
+ import { VerifiedSealCache } from "@unicitylabs/state-transition-sdk/lib/api/bft/verification/VerifiedSealCache.js";
9224
+ import { Secp256k1SignatureVerifier } from "@unicitylabs/state-transition-sdk/lib/crypto/secp256k1/Secp256k1SignatureVerifier.js";
9221
9225
  import { WorkerTokenVerifier } from "@unicitylabs/state-transition-sdk/lib/transaction/verification/worker/WorkerTokenVerifier.js";
9222
9226
  import { EncodedPredicate } from "@unicitylabs/state-transition-sdk/lib/predicate/EncodedPredicate.js";
9223
9227
  import { SignaturePredicate } from "@unicitylabs/state-transition-sdk/lib/predicate/builtin/SignaturePredicate.js";
@@ -9437,6 +9441,7 @@ async function awaitProofBounded(deps, transaction, signal) {
9437
9441
  deps.client,
9438
9442
  deps.trustBase,
9439
9443
  deps.predicateVerifier,
9444
+ deps.unicityCertificateVerifier,
9440
9445
  transaction,
9441
9446
  signal,
9442
9447
  deps.intervalMs
@@ -9643,7 +9648,7 @@ async function burntTokenFromCheckpoint(deps, storedBytes, reDerivedBurnTx, sour
9643
9648
  }
9644
9649
  let burnCertified;
9645
9650
  try {
9646
- burnCertified = await reDerivedBurnTx.toCertifiedTransaction(deps.trustBase, deps.predicateVerifier, burnProof);
9651
+ burnCertified = await reDerivedBurnTx.toCertifiedTransaction(deps.trustBase, deps.predicateVerifier, deps.unicityCertificateVerifier, burnProof);
9647
9652
  } catch (err) {
9648
9653
  if (isTrustbaseFailure(err)) {
9649
9654
  throw new CheckpointTrustbaseMismatchError(
@@ -9751,7 +9756,7 @@ var SphereTokenEngine = class {
9751
9756
  "AGGREGATOR_ERROR",
9752
9757
  options
9753
9758
  );
9754
- const certified = await mintTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, proof);
9759
+ const certified = await mintTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, this.deps.unicityCertificateVerifier, proof);
9755
9760
  const token = await Token.mint(certified, this.deps.verificationContext);
9756
9761
  return this.wrapToken(token);
9757
9762
  }
@@ -9768,7 +9773,7 @@ var SphereTokenEngine = class {
9768
9773
  "AGGREGATOR_ERROR",
9769
9774
  options
9770
9775
  );
9771
- const certified = await mintTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, proof);
9776
+ const certified = await mintTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, this.deps.unicityCertificateVerifier, proof);
9772
9777
  const token = await Token.mint(certified, this.deps.verificationContext);
9773
9778
  return this.wrapToken(token);
9774
9779
  }
@@ -9789,7 +9794,7 @@ var SphereTokenEngine = class {
9789
9794
  "TRANSFER_FAILED",
9790
9795
  options
9791
9796
  );
9792
- const certified = await transferTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, proof);
9797
+ const certified = await transferTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, this.deps.unicityCertificateVerifier, proof);
9793
9798
  const transferred = await params.token.sdkToken.transfer(certified, this.deps.verificationContext);
9794
9799
  return this.wrapToken(transferred);
9795
9800
  }
@@ -9876,7 +9881,7 @@ var SphereTokenEngine = class {
9876
9881
  const burnUnlock = await SignaturePredicateUnlockScript.create(burnTx, this.deps.signingService);
9877
9882
  const burnCert = await CertificationData.fromTransaction(burnTx, burnUnlock);
9878
9883
  const burnProof = await this.submitAndAwaitProof(burnCert, burnTx, "Split burn failed", "TRANSFER_FAILED", ctx.options);
9879
- const burnCertified = await burnTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, burnProof);
9884
+ const burnCertified = await burnTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, this.deps.unicityCertificateVerifier, burnProof);
9880
9885
  const burntToken = await ctx.params.token.sdkToken.transfer(burnCertified, this.deps.verificationContext);
9881
9886
  return { burntToken, burnProof };
9882
9887
  }
@@ -9915,7 +9920,7 @@ var SphereTokenEngine = class {
9915
9920
  );
9916
9921
  const certData = await CertificationData.fromMintTransaction(mintTx);
9917
9922
  const proof = await this.submitSplitMintLeg(certData, mintTx, options);
9918
- const certified = await mintTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, proof);
9923
+ const certified = await mintTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, this.deps.unicityCertificateVerifier, proof);
9919
9924
  const token = await Token.mint(certified, this.deps.verificationContext);
9920
9925
  return this.wrapToken(token);
9921
9926
  }
@@ -10058,6 +10063,7 @@ var SphereTokenEngine = class {
10058
10063
  client: this.deps.client,
10059
10064
  trustBase: this.deps.trustBase,
10060
10065
  predicateVerifier: this.deps.predicateVerifier,
10066
+ unicityCertificateVerifier: this.deps.unicityCertificateVerifier,
10061
10067
  intervalMs: this.deps.proofPollIntervalMs ?? DEFAULT_PROOF_POLL_INTERVAL_MS
10062
10068
  // #683
10063
10069
  },
@@ -10149,6 +10155,9 @@ async function createSphereTokenEngine(config) {
10149
10155
  }
10150
10156
  const trustBase = RootTrustBase.fromJSON(config.trustBaseJson);
10151
10157
  const predicateVerifier = PredicateVerifierService.create();
10158
+ const unicityCertificateVerifier = new UnicityCertificateVerifier(
10159
+ new UnicitySealQuorumSignaturesVerificationRule(new Secp256k1SignatureVerifier(), new VerifiedSealCache(256))
10160
+ );
10152
10161
  const mintJustificationVerifier = new MintJustificationVerifierService();
10153
10162
  mintJustificationVerifier.register(
10154
10163
  new SplitMintJustificationVerifier(decodeSpherePaymentData)
@@ -10157,10 +10166,12 @@ async function createSphereTokenEngine(config) {
10157
10166
  client: new StateTransitionClient(new AggregatorClient(config.aggregatorUrl, config.apiKey ?? null)),
10158
10167
  trustBase,
10159
10168
  predicateVerifier,
10169
+ unicityCertificateVerifier,
10160
10170
  mintJustificationVerifier,
10161
10171
  verificationContext: new VerificationContext(
10162
10172
  trustBase,
10163
10173
  predicateVerifier,
10174
+ unicityCertificateVerifier,
10164
10175
  mintJustificationVerifier,
10165
10176
  new TokenIssuanceVerifierService(false)
10166
10177
  ),