@nucypher/taco 0.7.0-alpha.2 → 0.7.0-dev.viem
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/README.md +149 -0
- package/dist/cjs/access-client/client.d.ts +237 -0
- package/dist/cjs/access-client/client.js +196 -0
- package/dist/cjs/access-client/client.js.map +1 -0
- package/dist/cjs/access-client/config-validator.d.ts +92 -0
- package/dist/cjs/access-client/config-validator.js +204 -0
- package/dist/cjs/access-client/config-validator.js.map +1 -0
- package/dist/cjs/access-client/config.d.ts +50 -0
- package/dist/cjs/access-client/config.js +27 -0
- package/dist/cjs/access-client/config.js.map +1 -0
- package/dist/cjs/access-client/index.d.ts +2 -0
- package/dist/cjs/access-client/index.js +19 -0
- package/dist/cjs/access-client/index.js.map +1 -0
- package/dist/cjs/conditions/base/contract.d.ts +4 -4
- package/dist/cjs/conditions/base/contract.js +8 -8
- package/dist/cjs/conditions/base/contract.js.map +1 -1
- package/dist/cjs/conditions/base/index.d.ts +6 -9
- package/dist/cjs/conditions/base/index.js +7 -10
- package/dist/cjs/conditions/base/index.js.map +1 -1
- package/dist/cjs/conditions/base/json-api.d.ts +4 -4
- package/dist/cjs/conditions/base/json-api.js +8 -8
- package/dist/cjs/conditions/base/json-api.js.map +1 -1
- package/dist/cjs/conditions/base/json-rpc.d.ts +4 -4
- package/dist/cjs/conditions/base/json-rpc.js +8 -8
- package/dist/cjs/conditions/base/json-rpc.js.map +1 -1
- package/dist/cjs/conditions/base/jwt.d.ts +4 -4
- package/dist/cjs/conditions/base/jwt.js +9 -9
- package/dist/cjs/conditions/base/jwt.js.map +1 -1
- package/dist/cjs/conditions/base/rpc.d.ts +4 -4
- package/dist/cjs/conditions/base/rpc.js +8 -8
- package/dist/cjs/conditions/base/rpc.js.map +1 -1
- package/dist/cjs/conditions/base/time.d.ts +4 -4
- package/dist/cjs/conditions/base/time.js +9 -9
- package/dist/cjs/conditions/base/time.js.map +1 -1
- package/dist/cjs/conditions/compound-condition.d.ts +4 -4
- package/dist/cjs/conditions/compound-condition.js +9 -9
- package/dist/cjs/conditions/compound-condition.js.map +1 -1
- package/dist/cjs/conditions/condition-expr.d.ts +1 -1
- package/dist/cjs/conditions/condition-expr.js +7 -7
- package/dist/cjs/conditions/condition-expr.js.map +1 -1
- package/dist/cjs/conditions/condition-factory.d.ts +1 -1
- package/dist/cjs/conditions/condition-factory.js +27 -38
- package/dist/cjs/conditions/condition-factory.js.map +1 -1
- package/dist/cjs/conditions/condition.d.ts +1 -1
- package/dist/cjs/conditions/condition.js +6 -6
- package/dist/cjs/conditions/condition.js.map +1 -1
- package/dist/cjs/conditions/context/context.d.ts +2 -6
- package/dist/cjs/conditions/context/context.js +16 -41
- package/dist/cjs/conditions/context/context.js.map +1 -1
- package/dist/cjs/conditions/context/index.d.ts +1 -1
- package/dist/cjs/conditions/context/index.js +2 -2
- package/dist/cjs/conditions/context/index.js.map +1 -1
- package/dist/cjs/conditions/if-then-else-condition.d.ts +4 -4
- package/dist/cjs/conditions/if-then-else-condition.js +8 -8
- package/dist/cjs/conditions/if-then-else-condition.js.map +1 -1
- package/dist/cjs/conditions/index.d.ts +9 -9
- package/dist/cjs/conditions/index.js +10 -10
- package/dist/cjs/conditions/index.js.map +1 -1
- package/dist/cjs/conditions/multi-condition.d.ts +1 -1
- package/dist/cjs/conditions/multi-condition.js +8 -8
- package/dist/cjs/conditions/multi-condition.js.map +1 -1
- package/dist/cjs/conditions/predefined/erc20.d.ts +1 -1
- package/dist/cjs/conditions/predefined/erc20.js +3 -3
- package/dist/cjs/conditions/predefined/erc20.js.map +1 -1
- package/dist/cjs/conditions/predefined/erc721.d.ts +1 -1
- package/dist/cjs/conditions/predefined/erc721.js +5 -5
- package/dist/cjs/conditions/predefined/erc721.js.map +1 -1
- package/dist/cjs/conditions/predefined/index.d.ts +2 -2
- package/dist/cjs/conditions/predefined/index.js +2 -2
- package/dist/cjs/conditions/predefined/index.js.map +1 -1
- package/dist/cjs/conditions/schemas/common.d.ts +0 -2
- package/dist/cjs/conditions/schemas/common.js +8 -25
- package/dist/cjs/conditions/schemas/common.js.map +1 -1
- package/dist/cjs/conditions/schemas/compound.js +6 -6
- package/dist/cjs/conditions/schemas/compound.js.map +1 -1
- package/dist/cjs/conditions/schemas/context.js +5 -5
- package/dist/cjs/conditions/schemas/context.js.map +1 -1
- package/dist/cjs/conditions/schemas/contract.d.ts +30 -33
- package/dist/cjs/conditions/schemas/contract.js +4 -4
- package/dist/cjs/conditions/schemas/contract.js.map +1 -1
- package/dist/cjs/conditions/schemas/export-for-zod-doc-gen.d.ts +13 -16
- package/dist/cjs/conditions/schemas/export-for-zod-doc-gen.js +13 -17
- package/dist/cjs/conditions/schemas/export-for-zod-doc-gen.js.map +1 -1
- package/dist/cjs/conditions/schemas/if-then-else.js +10 -10
- package/dist/cjs/conditions/schemas/if-then-else.js.map +1 -1
- package/dist/cjs/conditions/schemas/json-api.d.ts +14 -47
- package/dist/cjs/conditions/schemas/json-api.js +9 -23
- package/dist/cjs/conditions/schemas/json-api.js.map +1 -1
- package/dist/cjs/conditions/schemas/json-rpc.d.ts +13 -48
- package/dist/cjs/conditions/schemas/json-rpc.js +9 -23
- package/dist/cjs/conditions/schemas/json-rpc.js.map +1 -1
- package/dist/cjs/conditions/schemas/jwt.d.ts +4 -2
- package/dist/cjs/conditions/schemas/jwt.js +4 -4
- package/dist/cjs/conditions/schemas/jwt.js.map +1 -1
- package/dist/cjs/conditions/schemas/return-value-test.d.ts +12 -28
- package/dist/cjs/conditions/schemas/return-value-test.js +8 -22
- package/dist/cjs/conditions/schemas/return-value-test.js.map +1 -1
- package/dist/cjs/conditions/schemas/rpc.d.ts +16 -22
- package/dist/cjs/conditions/schemas/rpc.js +8 -8
- package/dist/cjs/conditions/schemas/rpc.js.map +1 -1
- package/dist/cjs/conditions/schemas/sequential.js +18 -38
- package/dist/cjs/conditions/schemas/sequential.js.map +1 -1
- package/dist/cjs/conditions/schemas/time.d.ts +10 -18
- package/dist/cjs/conditions/schemas/time.js +2 -2
- package/dist/cjs/conditions/schemas/time.js.map +1 -1
- package/dist/cjs/conditions/schemas/utils.js +18 -25
- package/dist/cjs/conditions/schemas/utils.js.map +1 -1
- package/dist/cjs/conditions/sequential.d.ts +4 -4
- package/dist/cjs/conditions/sequential.js +8 -8
- package/dist/cjs/conditions/sequential.js.map +1 -1
- package/dist/cjs/conditions/shared.d.ts +2 -2
- package/dist/cjs/conditions/shared.js +6 -6
- package/dist/cjs/conditions/shared.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -3
- package/dist/cjs/index.js +8 -9
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/taco.d.ts +82 -43
- package/dist/cjs/taco.js +28 -86
- package/dist/cjs/taco.js.map +1 -1
- package/dist/cjs/tdec.d.ts +2 -2
- package/dist/cjs/tdec.js +7 -7
- package/dist/cjs/tdec.js.map +1 -1
- package/dist/cjs/types.d.ts +0 -1
- package/dist/es/access-client/client.d.ts +237 -0
- package/dist/es/access-client/client.js +192 -0
- package/dist/es/access-client/client.js.map +1 -0
- package/dist/es/access-client/config-validator.d.ts +92 -0
- package/dist/es/access-client/config-validator.js +200 -0
- package/dist/es/access-client/config-validator.js.map +1 -0
- package/dist/es/access-client/config.d.ts +50 -0
- package/dist/es/access-client/config.js +23 -0
- package/dist/es/access-client/config.js.map +1 -0
- package/dist/es/access-client/index.d.ts +2 -0
- package/dist/es/access-client/index.js +3 -0
- package/dist/es/access-client/index.js.map +1 -0
- package/dist/es/conditions/base/contract.d.ts +4 -4
- package/dist/es/conditions/base/contract.js +3 -3
- package/dist/es/conditions/base/contract.js.map +1 -1
- package/dist/es/conditions/base/index.d.ts +6 -9
- package/dist/es/conditions/base/index.js +6 -9
- package/dist/es/conditions/base/index.js.map +1 -1
- package/dist/es/conditions/base/json-api.d.ts +4 -4
- package/dist/es/conditions/base/json-api.js +3 -3
- package/dist/es/conditions/base/json-api.js.map +1 -1
- package/dist/es/conditions/base/json-rpc.d.ts +4 -4
- package/dist/es/conditions/base/json-rpc.js +3 -3
- package/dist/es/conditions/base/json-rpc.js.map +1 -1
- package/dist/es/conditions/base/jwt.d.ts +4 -4
- package/dist/es/conditions/base/jwt.js +3 -3
- package/dist/es/conditions/base/jwt.js.map +1 -1
- package/dist/es/conditions/base/rpc.d.ts +4 -4
- package/dist/es/conditions/base/rpc.js +3 -3
- package/dist/es/conditions/base/rpc.js.map +1 -1
- package/dist/es/conditions/base/time.d.ts +4 -4
- package/dist/es/conditions/base/time.js +3 -3
- package/dist/es/conditions/base/time.js.map +1 -1
- package/dist/es/conditions/compound-condition.d.ts +4 -4
- package/dist/es/conditions/compound-condition.js +3 -3
- package/dist/es/conditions/compound-condition.js.map +1 -1
- package/dist/es/conditions/condition-expr.d.ts +1 -1
- package/dist/es/conditions/condition-expr.js +2 -2
- package/dist/es/conditions/condition-expr.js.map +1 -1
- package/dist/es/conditions/condition-factory.d.ts +1 -1
- package/dist/es/conditions/condition-factory.js +9 -20
- package/dist/es/conditions/condition-factory.js.map +1 -1
- package/dist/es/conditions/condition.d.ts +1 -1
- package/dist/es/conditions/condition.js +3 -3
- package/dist/es/conditions/condition.js.map +1 -1
- package/dist/es/conditions/context/context.d.ts +2 -6
- package/dist/es/conditions/context/context.js +6 -31
- package/dist/es/conditions/context/context.js.map +1 -1
- package/dist/es/conditions/context/index.d.ts +1 -1
- package/dist/es/conditions/context/index.js +1 -1
- package/dist/es/conditions/context/index.js.map +1 -1
- package/dist/es/conditions/if-then-else-condition.d.ts +4 -4
- package/dist/es/conditions/if-then-else-condition.js +3 -3
- package/dist/es/conditions/if-then-else-condition.js.map +1 -1
- package/dist/es/conditions/index.d.ts +9 -9
- package/dist/es/conditions/index.js +9 -9
- package/dist/es/conditions/index.js.map +1 -1
- package/dist/es/conditions/multi-condition.d.ts +1 -1
- package/dist/es/conditions/multi-condition.js +3 -3
- package/dist/es/conditions/multi-condition.js.map +1 -1
- package/dist/es/conditions/predefined/erc20.d.ts +1 -1
- package/dist/es/conditions/predefined/erc20.js +1 -1
- package/dist/es/conditions/predefined/erc20.js.map +1 -1
- package/dist/es/conditions/predefined/erc721.d.ts +1 -1
- package/dist/es/conditions/predefined/erc721.js +1 -1
- package/dist/es/conditions/predefined/erc721.js.map +1 -1
- package/dist/es/conditions/predefined/index.d.ts +2 -2
- package/dist/es/conditions/predefined/index.js +2 -2
- package/dist/es/conditions/predefined/index.js.map +1 -1
- package/dist/es/conditions/schemas/common.d.ts +0 -2
- package/dist/es/conditions/schemas/common.js +3 -20
- package/dist/es/conditions/schemas/common.js.map +1 -1
- package/dist/es/conditions/schemas/compound.js +3 -3
- package/dist/es/conditions/schemas/compound.js.map +1 -1
- package/dist/es/conditions/schemas/context.js +2 -2
- package/dist/es/conditions/schemas/context.js.map +1 -1
- package/dist/es/conditions/schemas/contract.d.ts +30 -33
- package/dist/es/conditions/schemas/contract.js +2 -2
- package/dist/es/conditions/schemas/contract.js.map +1 -1
- package/dist/es/conditions/schemas/export-for-zod-doc-gen.d.ts +13 -16
- package/dist/es/conditions/schemas/export-for-zod-doc-gen.js +13 -17
- package/dist/es/conditions/schemas/export-for-zod-doc-gen.js.map +1 -1
- package/dist/es/conditions/schemas/if-then-else.js +3 -3
- package/dist/es/conditions/schemas/if-then-else.js.map +1 -1
- package/dist/es/conditions/schemas/json-api.d.ts +14 -47
- package/dist/es/conditions/schemas/json-api.js +5 -19
- package/dist/es/conditions/schemas/json-api.js.map +1 -1
- package/dist/es/conditions/schemas/json-rpc.d.ts +13 -48
- package/dist/es/conditions/schemas/json-rpc.js +5 -19
- package/dist/es/conditions/schemas/json-rpc.js.map +1 -1
- package/dist/es/conditions/schemas/jwt.d.ts +4 -2
- package/dist/es/conditions/schemas/jwt.js +2 -2
- package/dist/es/conditions/schemas/jwt.js.map +1 -1
- package/dist/es/conditions/schemas/return-value-test.d.ts +12 -28
- package/dist/es/conditions/schemas/return-value-test.js +6 -20
- package/dist/es/conditions/schemas/return-value-test.js.map +1 -1
- package/dist/es/conditions/schemas/rpc.d.ts +16 -22
- package/dist/es/conditions/schemas/rpc.js +3 -3
- package/dist/es/conditions/schemas/rpc.js.map +1 -1
- package/dist/es/conditions/schemas/sequential.js +14 -34
- package/dist/es/conditions/schemas/sequential.js.map +1 -1
- package/dist/es/conditions/schemas/time.d.ts +10 -18
- package/dist/es/conditions/schemas/time.js +1 -1
- package/dist/es/conditions/schemas/time.js.map +1 -1
- package/dist/es/conditions/schemas/utils.js +10 -17
- package/dist/es/conditions/schemas/utils.js.map +1 -1
- package/dist/es/conditions/sequential.d.ts +4 -4
- package/dist/es/conditions/sequential.js +3 -3
- package/dist/es/conditions/sequential.js.map +1 -1
- package/dist/es/conditions/shared.d.ts +2 -2
- package/dist/es/conditions/shared.js +2 -2
- package/dist/es/conditions/shared.js.map +1 -1
- package/dist/es/index.d.ts +3 -3
- package/dist/es/index.js +3 -3
- package/dist/es/index.js.map +1 -1
- package/dist/es/package.json +3 -0
- package/dist/es/taco.d.ts +82 -43
- package/dist/es/taco.js +25 -82
- package/dist/es/taco.js.map +1 -1
- package/dist/es/tdec.d.ts +2 -2
- package/dist/es/tdec.js +5 -5
- package/dist/es/tdec.js.map +1 -1
- package/dist/es/types.d.ts +0 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.es.tsbuildinfo +1 -1
- package/package.json +12 -8
- package/dist/cjs/conditions/base/address-allowlist.d.ts +0 -10
- package/dist/cjs/conditions/base/address-allowlist.js +0 -19
- package/dist/cjs/conditions/base/address-allowlist.js.map +0 -1
- package/dist/cjs/conditions/base/ecdsa.d.ts +0 -7
- package/dist/cjs/conditions/base/ecdsa.js +0 -21
- package/dist/cjs/conditions/base/ecdsa.js.map +0 -1
- package/dist/cjs/conditions/base/signing.d.ts +0 -10
- package/dist/cjs/conditions/base/signing.js +0 -32
- package/dist/cjs/conditions/base/signing.js.map +0 -1
- package/dist/cjs/conditions/schemas/address-allowlist.d.ts +0 -16
- package/dist/cjs/conditions/schemas/address-allowlist.js +0 -20
- package/dist/cjs/conditions/schemas/address-allowlist.js.map +0 -1
- package/dist/cjs/conditions/schemas/ecdsa.d.ts +0 -38
- package/dist/cjs/conditions/schemas/ecdsa.js +0 -40
- package/dist/cjs/conditions/schemas/ecdsa.js.map +0 -1
- package/dist/cjs/conditions/schemas/signing.d.ts +0 -12
- package/dist/cjs/conditions/schemas/signing.js +0 -204
- package/dist/cjs/conditions/schemas/signing.js.map +0 -1
- package/dist/cjs/conditions/zod.d.ts +0 -3
- package/dist/cjs/conditions/zod.js +0 -19
- package/dist/cjs/conditions/zod.js.map +0 -1
- package/dist/cjs/sign.d.ts +0 -26
- package/dist/cjs/sign.js +0 -99
- package/dist/cjs/sign.js.map +0 -1
- package/dist/es/conditions/base/address-allowlist.d.ts +0 -10
- package/dist/es/conditions/base/address-allowlist.js +0 -15
- package/dist/es/conditions/base/address-allowlist.js.map +0 -1
- package/dist/es/conditions/base/ecdsa.d.ts +0 -7
- package/dist/es/conditions/base/ecdsa.js +0 -12
- package/dist/es/conditions/base/ecdsa.js.map +0 -1
- package/dist/es/conditions/base/signing.d.ts +0 -10
- package/dist/es/conditions/base/signing.js +0 -20
- package/dist/es/conditions/base/signing.js.map +0 -1
- package/dist/es/conditions/schemas/address-allowlist.d.ts +0 -16
- package/dist/es/conditions/schemas/address-allowlist.js +0 -17
- package/dist/es/conditions/schemas/address-allowlist.js.map +0 -1
- package/dist/es/conditions/schemas/ecdsa.d.ts +0 -38
- package/dist/es/conditions/schemas/ecdsa.js +0 -37
- package/dist/es/conditions/schemas/ecdsa.js.map +0 -1
- package/dist/es/conditions/schemas/signing.d.ts +0 -12
- package/dist/es/conditions/schemas/signing.js +0 -201
- package/dist/es/conditions/schemas/signing.js.map +0 -1
- package/dist/es/conditions/zod.d.ts +0 -3
- package/dist/es/conditions/zod.js +0 -17
- package/dist/es/conditions/zod.js.map +0 -1
- package/dist/es/sign.d.ts +0 -26
- package/dist/es/sign.js +0 -95
- package/dist/es/sign.js.map +0 -1
package/dist/es/sign.js
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { convertUserOperationToPython, fromHexString, getPorterUris, PorterClient, SigningCoordinatorAgent, toBase64, toHexString, UserOperationSignatureRequest, } from '@nucypher/shared';
|
|
2
|
-
import { ethers } from 'ethers';
|
|
3
|
-
import { ConditionExpression } from './conditions/condition-expr';
|
|
4
|
-
const ERR_INSUFFICIENT_SIGNATURES = (errors) => `Threshold of signatures not met; TACo signing failed with errors: ${JSON.stringify(errors)}`;
|
|
5
|
-
const ERR_MISMATCHED_HASHES = (hashToSignatures) => `Threshold of signatures not met; multiple mismatched hashes found: ${JSON.stringify(Object.fromEntries(hashToSignatures.entries()))}`;
|
|
6
|
-
function aggregateSignatures(signaturesByAddress, threshold) {
|
|
7
|
-
// Aggregate hex signatures by concatenating them; being careful to remove the '0x' prefix from each signature except the first one.
|
|
8
|
-
const signatures = Object.values(signaturesByAddress)
|
|
9
|
-
.map((sig) => sig.signature)
|
|
10
|
-
.slice(0, threshold);
|
|
11
|
-
if (signatures.length === 1) {
|
|
12
|
-
return signatures[0];
|
|
13
|
-
}
|
|
14
|
-
// Concatenate signatures
|
|
15
|
-
const allBytes = signatures.flatMap((hex) => Array.from(fromHexString(hex)));
|
|
16
|
-
return `0x${toHexString(new Uint8Array(allBytes))}`;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Signs a UserOperation.
|
|
20
|
-
* @param provider - The Ethereum provider to use for signing.
|
|
21
|
-
* @param domain - The TACo domain being used.
|
|
22
|
-
* @param cohortId - The cohort ID that identifies the signing cohort.
|
|
23
|
-
* @param chainId - The chain ID for the signing operation.
|
|
24
|
-
* @param userOp - The UserOperation to be signed.
|
|
25
|
-
* @param aaVersion - The AA version of the account abstraction to use for signing.
|
|
26
|
-
* @param context - Optional condition context for the context variable resolution.
|
|
27
|
-
* @param porterUris - Optional URIs for the Porter service. If not provided, will fetch the default URIs from the domain.
|
|
28
|
-
* @returns A promise that resolves to a SignResult containing the message hash, aggregated signature, and signing results from the Porter service.
|
|
29
|
-
* @throws An error if the signing process fails due to insufficient signatures or mismatched hashes.
|
|
30
|
-
*/
|
|
31
|
-
export async function signUserOp(provider, domain, cohortId, chainId, userOp, aaVersion, context, porterUris) {
|
|
32
|
-
const porterUrisFull = porterUris
|
|
33
|
-
? porterUris
|
|
34
|
-
: await getPorterUris(domain);
|
|
35
|
-
const porter = new PorterClient(porterUrisFull);
|
|
36
|
-
const signers = await SigningCoordinatorAgent.getParticipants(provider, domain, cohortId);
|
|
37
|
-
const threshold = await SigningCoordinatorAgent.getThreshold(provider, domain, cohortId);
|
|
38
|
-
const pythonUserOp = convertUserOperationToPython(userOp);
|
|
39
|
-
const signingRequest = new UserOperationSignatureRequest(pythonUserOp, aaVersion, cohortId, chainId, context || {}, 'userop');
|
|
40
|
-
const signingRequests = Object.fromEntries(signers.map((signer) => [
|
|
41
|
-
signer.provider,
|
|
42
|
-
toBase64(signingRequest.toBytes()),
|
|
43
|
-
]));
|
|
44
|
-
// Build signing request for the user operation
|
|
45
|
-
const porterSignResult = await porter.signUserOp(signingRequests, threshold);
|
|
46
|
-
const hashToSignatures = new Map();
|
|
47
|
-
// Single pass: decode signatures and populate signingResults
|
|
48
|
-
for (const [ursulaAddress, signature] of Object.entries(porterSignResult.signingResults)) {
|
|
49
|
-
// For non-optimistic: track hashes and group signatures for aggregation
|
|
50
|
-
const hash = signature.messageHash;
|
|
51
|
-
if (!hashToSignatures.has(hash)) {
|
|
52
|
-
hashToSignatures.set(hash, {});
|
|
53
|
-
}
|
|
54
|
-
hashToSignatures.get(hash)[ursulaAddress] = signature;
|
|
55
|
-
}
|
|
56
|
-
let messageHash = undefined;
|
|
57
|
-
let signaturesToAggregate = undefined;
|
|
58
|
-
for (const [hash, signatures] of hashToSignatures.entries()) {
|
|
59
|
-
if (Object.keys(signatures).length >= threshold) {
|
|
60
|
-
signaturesToAggregate = signatures;
|
|
61
|
-
messageHash = hash;
|
|
62
|
-
break;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
// Insufficient signatures for a message hash to meet the threshold
|
|
66
|
-
if (!messageHash || !signaturesToAggregate) {
|
|
67
|
-
if (hashToSignatures.size > 1 &&
|
|
68
|
-
Object.keys(porterSignResult.errors).length < signers.length - threshold) {
|
|
69
|
-
// Two things are true:
|
|
70
|
-
// 1. we have multiple hashes, which means we have mismatched hashes from different nodes
|
|
71
|
-
// we don't really expect this to happen (other than some malicious nodes)
|
|
72
|
-
// 2. number of errors still could have allowed for a threshold of signatures
|
|
73
|
-
console.error('Porter returned mismatched message hashes:', hashToSignatures);
|
|
74
|
-
throw new Error(ERR_MISMATCHED_HASHES(hashToSignatures));
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
throw new Error(ERR_INSUFFICIENT_SIGNATURES(porterSignResult.errors));
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
const aggregatedSignature = aggregateSignatures(signaturesToAggregate, threshold);
|
|
81
|
-
return {
|
|
82
|
-
messageHash,
|
|
83
|
-
aggregatedSignature,
|
|
84
|
-
signingResults: porterSignResult.signingResults,
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
export async function setSigningCohortConditions(provider, domain, conditions, cohortId, chainId, signer) {
|
|
88
|
-
// Convert Condition to ConditionExpression, then to JSON, then to bytes
|
|
89
|
-
const conditionExpression = new ConditionExpression(conditions);
|
|
90
|
-
const conditionsJson = conditionExpression.toJson();
|
|
91
|
-
const conditionsBytes = ethers.utils.toUtf8Bytes(conditionsJson);
|
|
92
|
-
// Set conditions on the SigningCoordinator contract
|
|
93
|
-
return await SigningCoordinatorAgent.setSigningCohortConditions(provider, domain, cohortId, chainId, conditionsBytes, signer);
|
|
94
|
-
}
|
|
95
|
-
//# sourceMappingURL=sign.js.map
|
package/dist/es/sign.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sign.js","sourceRoot":"","sources":["../../src/sign.ts"],"names":[],"mappings":"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"}
|