@nucypher/taco 0.7.0-alpha.6 → 0.7.0-alpha.8

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.
Files changed (47) hide show
  1. package/dist/cjs/conditions/context/context.js +25 -2
  2. package/dist/cjs/conditions/context/context.js.map +1 -1
  3. package/dist/cjs/conditions/schemas/context-variable.d.ts +15 -15
  4. package/dist/cjs/conditions/schemas/contract.d.ts +31 -31
  5. package/dist/cjs/conditions/schemas/json-api.d.ts +15 -15
  6. package/dist/cjs/conditions/schemas/json-rpc.d.ts +19 -19
  7. package/dist/cjs/conditions/schemas/json.d.ts +14 -14
  8. package/dist/cjs/conditions/schemas/return-value-test.d.ts +22 -22
  9. package/dist/cjs/conditions/schemas/rpc.d.ts +17 -17
  10. package/dist/cjs/conditions/schemas/sequential.d.ts +2 -0
  11. package/dist/cjs/conditions/schemas/sequential.js +9 -8
  12. package/dist/cjs/conditions/schemas/sequential.js.map +1 -1
  13. package/dist/cjs/conditions/schemas/time.d.ts +16 -16
  14. package/dist/cjs/conditions/schemas/utils.js +2 -0
  15. package/dist/cjs/conditions/schemas/utils.js.map +1 -1
  16. package/dist/cjs/conditions/schemas/variable-operation.d.ts +15 -15
  17. package/dist/cjs/conditions/schemas/variable-operation.js +16 -0
  18. package/dist/cjs/conditions/schemas/variable-operation.js.map +1 -1
  19. package/dist/cjs/index.d.ts +1 -1
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/cjs/sign.js +15 -10
  22. package/dist/cjs/sign.js.map +1 -1
  23. package/dist/es/conditions/context/context.js +25 -2
  24. package/dist/es/conditions/context/context.js.map +1 -1
  25. package/dist/es/conditions/schemas/context-variable.d.ts +15 -15
  26. package/dist/es/conditions/schemas/contract.d.ts +31 -31
  27. package/dist/es/conditions/schemas/json-api.d.ts +15 -15
  28. package/dist/es/conditions/schemas/json-rpc.d.ts +19 -19
  29. package/dist/es/conditions/schemas/json.d.ts +14 -14
  30. package/dist/es/conditions/schemas/return-value-test.d.ts +22 -22
  31. package/dist/es/conditions/schemas/rpc.d.ts +17 -17
  32. package/dist/es/conditions/schemas/sequential.d.ts +2 -0
  33. package/dist/es/conditions/schemas/sequential.js +2 -2
  34. package/dist/es/conditions/schemas/sequential.js.map +1 -1
  35. package/dist/es/conditions/schemas/time.d.ts +16 -16
  36. package/dist/es/conditions/schemas/utils.js +2 -0
  37. package/dist/es/conditions/schemas/utils.js.map +1 -1
  38. package/dist/es/conditions/schemas/variable-operation.d.ts +15 -15
  39. package/dist/es/conditions/schemas/variable-operation.js +16 -0
  40. package/dist/es/conditions/schemas/variable-operation.js.map +1 -1
  41. package/dist/es/index.d.ts +1 -1
  42. package/dist/es/index.js.map +1 -1
  43. package/dist/es/sign.js +15 -10
  44. package/dist/es/sign.js.map +1 -1
  45. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  46. package/dist/tsconfig.es.tsbuildinfo +1 -1
  47. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAEL,OAAO,EACP,SAAS,EACT,aAAa,EACb,UAAU,EACV,OAAO,EACP,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAE3C,OAAO,EAGL,0BAA0B,EAC1B,UAAU,GACX,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAIL,OAAO,EACP,SAAS,EACT,aAAa,EACb,UAAU,EACV,OAAO,EACP,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAE3C,OAAO,EAGL,0BAA0B,EAC1B,UAAU,GACX,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC"}
package/dist/es/sign.js CHANGED
@@ -4,16 +4,21 @@ import { ethers } from 'ethers';
4
4
  import { ConditionExpression } from './conditions/condition-expr';
5
5
  const ERR_INSUFFICIENT_SIGNATURES = (errors) => `Threshold of signatures not met; TACo signing failed with errors: ${JSON.stringify(errors)}`;
6
6
  const ERR_MISMATCHED_HASHES = (hashToSignatures) => `Threshold of signatures not met; multiple mismatched hashes found: ${JSON.stringify(Object.fromEntries(hashToSignatures.entries()))}`;
7
- function aggregateSignatures(signaturesByAddress, threshold) {
8
- // Aggregate hex signatures by concatenating them; being careful to remove the '0x' prefix from each signature except the first one.
9
- const signatures = Object.values(signaturesByAddress)
10
- .map((sig) => sig.signature)
11
- .slice(0, threshold);
12
- if (signatures.length === 1) {
13
- return signatures[0];
7
+ function aggregateSignatures(signatures, threshold) {
8
+ // Aggregate hex signatures by concatenating them; being careful to sort
9
+ // and remove the '0x' prefix from each signature except the first one.
10
+ // sort by signer address
11
+ const sortedSignatures = [...signatures]
12
+ .sort((a, b) => a.signerAddress
13
+ .toLowerCase()
14
+ .localeCompare(b.signerAddress.toLowerCase()))
15
+ .map((sig) => sig.signature);
16
+ const thresholdSignatures = sortedSignatures.slice(0, threshold);
17
+ if (thresholdSignatures.length === 1) {
18
+ return thresholdSignatures[0];
14
19
  }
15
20
  // Concatenate signatures
16
- const allBytes = signatures.flatMap((hex) => Array.from(fromHexString(hex)));
21
+ const allBytes = thresholdSignatures.flatMap((sig) => Array.from(fromHexString(sig)));
17
22
  return `0x${toHexString(new Uint8Array(allBytes))}`;
18
23
  }
19
24
  async function makeSigningRequests(cohortId, chainId, signers, userOp, aaVersion, conditionContext) {
@@ -68,7 +73,7 @@ export async function signUserOp(provider, domain, cohortId, chainId, userOp, aa
68
73
  throw new Error(ERR_INSUFFICIENT_SIGNATURES(errors));
69
74
  }
70
75
  const signaturesToAggregate = collectSignatures(encryptedResponses, sharedSecrets, threshold);
71
- const aggregatedSignature = aggregateSignatures(signaturesToAggregate, threshold);
76
+ const aggregatedSignature = aggregateSignatures(Object.values(signaturesToAggregate), threshold);
72
77
  return {
73
78
  messageHash: Object.values(signaturesToAggregate)[0].messageHash,
74
79
  aggregatedSignature,
@@ -120,7 +125,7 @@ function collectSignatures(encryptedResponses, sharedSecrets, threshold) {
120
125
  }
121
126
  // Insufficient signatures for a message hash to meet the threshold
122
127
  if (!signaturesToAggregate) {
123
- //we have multiple hashes, which means we have mismatched hashes from different nodes
128
+ // we have multiple hashes, which means we have mismatched hashes from different nodes
124
129
  // we don't really expect this to happen (other than some malicious nodes)
125
130
  console.error('Porter returned mismatched message hashes:', hashToSignatures);
126
131
  throw new Error(ERR_MISMATCHED_HASHES(hashToSignatures));
@@ -1 +1 @@
1
- {"version":3,"file":"sign.js","sourceRoot":"","sources":["../../src/sign.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sign.js","sourceRoot":"","sources":["../../src/sign.ts"],"names":[],"mappings":"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"}