@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.
package/dist/index.js CHANGED
@@ -9234,6 +9234,10 @@ import { StateMask } from "@unicitylabs/state-transition-sdk/lib/transaction/Sta
9234
9234
  import { MintJustificationVerifierService } from "@unicitylabs/state-transition-sdk/lib/transaction/verification/MintJustificationVerifierService.js";
9235
9235
  import { TokenIssuanceVerifierService } from "@unicitylabs/state-transition-sdk/lib/transaction/verification/TokenIssuanceVerifierService.js";
9236
9236
  import { VerificationContext } from "@unicitylabs/state-transition-sdk/lib/transaction/verification/VerificationContext.js";
9237
+ import { UnicityCertificateVerifier } from "@unicitylabs/state-transition-sdk/lib/api/bft/verification/UnicityCertificateVerifier.js";
9238
+ import { UnicitySealQuorumSignaturesVerificationRule } from "@unicitylabs/state-transition-sdk/lib/api/bft/verification/rule/UnicitySealQuorumSignaturesVerificationRule.js";
9239
+ import { VerifiedSealCache } from "@unicitylabs/state-transition-sdk/lib/api/bft/verification/VerifiedSealCache.js";
9240
+ import { Secp256k1SignatureVerifier } from "@unicitylabs/state-transition-sdk/lib/crypto/secp256k1/Secp256k1SignatureVerifier.js";
9237
9241
  import { WorkerTokenVerifier } from "@unicitylabs/state-transition-sdk/lib/transaction/verification/worker/WorkerTokenVerifier.js";
9238
9242
  import { EncodedPredicate } from "@unicitylabs/state-transition-sdk/lib/predicate/EncodedPredicate.js";
9239
9243
  import { SignaturePredicate } from "@unicitylabs/state-transition-sdk/lib/predicate/builtin/SignaturePredicate.js";
@@ -9453,6 +9457,7 @@ async function awaitProofBounded(deps, transaction, signal) {
9453
9457
  deps.client,
9454
9458
  deps.trustBase,
9455
9459
  deps.predicateVerifier,
9460
+ deps.unicityCertificateVerifier,
9456
9461
  transaction,
9457
9462
  signal,
9458
9463
  deps.intervalMs
@@ -9659,7 +9664,7 @@ async function burntTokenFromCheckpoint(deps, storedBytes, reDerivedBurnTx, sour
9659
9664
  }
9660
9665
  let burnCertified;
9661
9666
  try {
9662
- burnCertified = await reDerivedBurnTx.toCertifiedTransaction(deps.trustBase, deps.predicateVerifier, burnProof);
9667
+ burnCertified = await reDerivedBurnTx.toCertifiedTransaction(deps.trustBase, deps.predicateVerifier, deps.unicityCertificateVerifier, burnProof);
9663
9668
  } catch (err) {
9664
9669
  if (isTrustbaseFailure(err)) {
9665
9670
  throw new CheckpointTrustbaseMismatchError(
@@ -9767,7 +9772,7 @@ var SphereTokenEngine = class {
9767
9772
  "AGGREGATOR_ERROR",
9768
9773
  options
9769
9774
  );
9770
- const certified = await mintTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, proof);
9775
+ const certified = await mintTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, this.deps.unicityCertificateVerifier, proof);
9771
9776
  const token = await Token.mint(certified, this.deps.verificationContext);
9772
9777
  return this.wrapToken(token);
9773
9778
  }
@@ -9784,7 +9789,7 @@ var SphereTokenEngine = class {
9784
9789
  "AGGREGATOR_ERROR",
9785
9790
  options
9786
9791
  );
9787
- const certified = await mintTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, proof);
9792
+ const certified = await mintTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, this.deps.unicityCertificateVerifier, proof);
9788
9793
  const token = await Token.mint(certified, this.deps.verificationContext);
9789
9794
  return this.wrapToken(token);
9790
9795
  }
@@ -9805,7 +9810,7 @@ var SphereTokenEngine = class {
9805
9810
  "TRANSFER_FAILED",
9806
9811
  options
9807
9812
  );
9808
- const certified = await transferTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, proof);
9813
+ const certified = await transferTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, this.deps.unicityCertificateVerifier, proof);
9809
9814
  const transferred = await params.token.sdkToken.transfer(certified, this.deps.verificationContext);
9810
9815
  return this.wrapToken(transferred);
9811
9816
  }
@@ -9892,7 +9897,7 @@ var SphereTokenEngine = class {
9892
9897
  const burnUnlock = await SignaturePredicateUnlockScript.create(burnTx, this.deps.signingService);
9893
9898
  const burnCert = await CertificationData.fromTransaction(burnTx, burnUnlock);
9894
9899
  const burnProof = await this.submitAndAwaitProof(burnCert, burnTx, "Split burn failed", "TRANSFER_FAILED", ctx.options);
9895
- const burnCertified = await burnTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, burnProof);
9900
+ const burnCertified = await burnTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, this.deps.unicityCertificateVerifier, burnProof);
9896
9901
  const burntToken = await ctx.params.token.sdkToken.transfer(burnCertified, this.deps.verificationContext);
9897
9902
  return { burntToken, burnProof };
9898
9903
  }
@@ -9931,7 +9936,7 @@ var SphereTokenEngine = class {
9931
9936
  );
9932
9937
  const certData = await CertificationData.fromMintTransaction(mintTx);
9933
9938
  const proof = await this.submitSplitMintLeg(certData, mintTx, options);
9934
- const certified = await mintTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, proof);
9939
+ const certified = await mintTx.toCertifiedTransaction(this.deps.trustBase, this.deps.predicateVerifier, this.deps.unicityCertificateVerifier, proof);
9935
9940
  const token = await Token.mint(certified, this.deps.verificationContext);
9936
9941
  return this.wrapToken(token);
9937
9942
  }
@@ -10074,6 +10079,7 @@ var SphereTokenEngine = class {
10074
10079
  client: this.deps.client,
10075
10080
  trustBase: this.deps.trustBase,
10076
10081
  predicateVerifier: this.deps.predicateVerifier,
10082
+ unicityCertificateVerifier: this.deps.unicityCertificateVerifier,
10077
10083
  intervalMs: this.deps.proofPollIntervalMs ?? DEFAULT_PROOF_POLL_INTERVAL_MS
10078
10084
  // #683
10079
10085
  },
@@ -10165,6 +10171,9 @@ async function createSphereTokenEngine(config) {
10165
10171
  }
10166
10172
  const trustBase = RootTrustBase.fromJSON(config.trustBaseJson);
10167
10173
  const predicateVerifier = PredicateVerifierService.create();
10174
+ const unicityCertificateVerifier = new UnicityCertificateVerifier(
10175
+ new UnicitySealQuorumSignaturesVerificationRule(new Secp256k1SignatureVerifier(), new VerifiedSealCache(256))
10176
+ );
10168
10177
  const mintJustificationVerifier = new MintJustificationVerifierService();
10169
10178
  mintJustificationVerifier.register(
10170
10179
  new SplitMintJustificationVerifier(decodeSpherePaymentData)
@@ -10173,10 +10182,12 @@ async function createSphereTokenEngine(config) {
10173
10182
  client: new StateTransitionClient(new AggregatorClient(config.aggregatorUrl, config.apiKey ?? null)),
10174
10183
  trustBase,
10175
10184
  predicateVerifier,
10185
+ unicityCertificateVerifier,
10176
10186
  mintJustificationVerifier,
10177
10187
  verificationContext: new VerificationContext(
10178
10188
  trustBase,
10179
10189
  predicateVerifier,
10190
+ unicityCertificateVerifier,
10180
10191
  mintJustificationVerifier,
10181
10192
  new TokenIssuanceVerifierService(false)
10182
10193
  ),