@inco/js 0.8.0-devnet-28 → 0.8.0-devnet-30
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/cjs/advancedacl/session-key.d.ts +4 -4
- package/dist/cjs/advancedacl/session-key.js +4 -3
- package/dist/cjs/attestedcompute/attested-compute.d.ts +0 -1
- package/dist/cjs/attestedcompute/attested-compute.js +7 -8
- package/dist/cjs/attesteddecrypt/attested-decrypt.d.ts +3 -4
- package/dist/cjs/attesteddecrypt/attested-decrypt.js +8 -60
- package/dist/cjs/attestedreveal/attested-reveal.d.ts +3 -4
- package/dist/cjs/attestedreveal/attested-reveal.js +2 -9
- package/dist/cjs/chain.d.ts +6 -0
- package/dist/cjs/chain.js +15 -2
- package/dist/cjs/eip712/eip712.d.ts +18 -0
- package/dist/cjs/eip712/eip712.js +51 -0
- package/dist/cjs/eip712/index.d.ts +1 -0
- package/dist/cjs/eip712/index.js +8 -0
- package/dist/cjs/elistattesteddecrypt/elist-attested-decrypt.d.ts +49 -0
- package/dist/cjs/elistattesteddecrypt/elist-attested-decrypt.js +94 -0
- package/dist/cjs/elistattesteddecrypt/index.d.ts +2 -0
- package/dist/cjs/elistattesteddecrypt/index.js +22 -0
- package/dist/cjs/elistattesteddecrypt/types.d.ts +31 -0
- package/dist/cjs/elistattesteddecrypt/types.js +16 -0
- package/dist/cjs/generated/abis/lightning.d.ts +0 -39
- package/dist/cjs/generated/abis/lightning.js +1 -39
- package/dist/cjs/generated/abis/test-elist.d.ts +6 -0
- package/dist/cjs/generated/abis/test-elist.js +8 -1
- package/dist/cjs/generated/es/inco/covalidator/compute/v1/server_pb.d.ts +18 -36
- package/dist/cjs/generated/es/inco/covalidator/compute/v1/server_pb.js +35 -40
- package/dist/cjs/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +16 -0
- package/dist/cjs/generated/es/inco/kms/lite/v1/kms_service_pb.js +2 -2
- package/dist/cjs/generated/lightning.d.ts +29 -0
- package/dist/cjs/generated/lightning.js +30 -1
- package/dist/cjs/generated/local-node.d.ts +5 -5
- package/dist/cjs/generated/local-node.js +16 -6
- package/dist/cjs/handle.d.ts +8 -0
- package/dist/cjs/handle.js +20 -2
- package/dist/cjs/kms/quorumClient.d.ts +17 -4
- package/dist/cjs/kms/quorumClient.js +150 -1
- package/dist/cjs/kms/quorumConsistency.d.ts +25 -1
- package/dist/cjs/kms/quorumConsistency.js +70 -1
- package/dist/cjs/kms/signatureVerification.d.ts +2 -2
- package/dist/cjs/kms/signatureVerification.js +1 -1
- package/dist/cjs/lite/attested-compute.d.ts +2 -2
- package/dist/cjs/lite/attested-compute.js +2 -3
- package/dist/cjs/lite/attested-decrypt.d.ts +2 -2
- package/dist/cjs/lite/attested-decrypt.js +2 -3
- package/dist/cjs/lite/lightning.d.ts +40 -19
- package/dist/cjs/lite/lightning.js +103 -29
- package/dist/cjs/test/mocks.d.ts +5 -1
- package/dist/cjs/test/mocks.js +29 -5
- package/dist/cjs/viem.d.ts +2 -1
- package/dist/cjs/viem.js +1 -1
- package/dist/esm/advancedacl/session-key.d.ts +4 -4
- package/dist/esm/advancedacl/session-key.js +6 -5
- package/dist/esm/attestedcompute/attested-compute.d.ts +0 -1
- package/dist/esm/attestedcompute/attested-compute.js +5 -6
- package/dist/esm/attesteddecrypt/attested-decrypt.d.ts +3 -4
- package/dist/esm/attesteddecrypt/attested-decrypt.js +6 -58
- package/dist/esm/attestedreveal/attested-reveal.d.ts +3 -4
- package/dist/esm/attestedreveal/attested-reveal.js +2 -9
- package/dist/esm/chain.d.ts +6 -0
- package/dist/esm/chain.js +14 -1
- package/dist/esm/eip712/eip712.d.ts +18 -0
- package/dist/esm/eip712/eip712.js +46 -0
- package/dist/esm/eip712/index.d.ts +1 -0
- package/dist/esm/eip712/index.js +2 -0
- package/dist/esm/elistattesteddecrypt/elist-attested-decrypt.d.ts +49 -0
- package/dist/esm/elistattesteddecrypt/elist-attested-decrypt.js +89 -0
- package/dist/esm/elistattesteddecrypt/index.d.ts +2 -0
- package/dist/esm/elistattesteddecrypt/index.js +3 -0
- package/dist/esm/elistattesteddecrypt/types.d.ts +31 -0
- package/dist/esm/elistattesteddecrypt/types.js +12 -0
- package/dist/esm/generated/abis/lightning.d.ts +0 -39
- package/dist/esm/generated/abis/lightning.js +1 -39
- package/dist/esm/generated/abis/test-elist.d.ts +6 -0
- package/dist/esm/generated/abis/test-elist.js +8 -1
- package/dist/esm/generated/es/inco/covalidator/compute/v1/server_pb.d.ts +18 -36
- package/dist/esm/generated/es/inco/covalidator/compute/v1/server_pb.js +34 -39
- package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +16 -0
- package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.js +2 -2
- package/dist/esm/generated/lightning.d.ts +29 -0
- package/dist/esm/generated/lightning.js +30 -1
- package/dist/esm/generated/local-node.d.ts +5 -5
- package/dist/esm/generated/local-node.js +16 -6
- package/dist/esm/handle.d.ts +8 -0
- package/dist/esm/handle.js +18 -1
- package/dist/esm/kms/quorumClient.d.ts +17 -4
- package/dist/esm/kms/quorumClient.js +152 -3
- package/dist/esm/kms/quorumConsistency.d.ts +25 -1
- package/dist/esm/kms/quorumConsistency.js +68 -1
- package/dist/esm/kms/signatureVerification.d.ts +2 -2
- package/dist/esm/kms/signatureVerification.js +1 -1
- package/dist/esm/lite/attested-compute.d.ts +2 -2
- package/dist/esm/lite/attested-compute.js +3 -3
- package/dist/esm/lite/attested-decrypt.d.ts +2 -2
- package/dist/esm/lite/attested-decrypt.js +3 -3
- package/dist/esm/lite/lightning.d.ts +40 -19
- package/dist/esm/lite/lightning.js +104 -30
- package/dist/esm/test/mocks.d.ts +5 -1
- package/dist/esm/test/mocks.js +28 -6
- package/dist/esm/viem.d.ts +2 -1
- package/dist/esm/viem.js +1 -1
- package/dist/types/advancedacl/session-key.d.ts +4 -4
- package/dist/types/attestedcompute/attested-compute.d.ts +0 -1
- package/dist/types/attesteddecrypt/attested-decrypt.d.ts +3 -4
- package/dist/types/attestedreveal/attested-reveal.d.ts +3 -4
- package/dist/types/chain.d.ts +6 -0
- package/dist/types/eip712/eip712.d.ts +18 -0
- package/dist/types/eip712/index.d.ts +1 -0
- package/dist/types/elistattesteddecrypt/elist-attested-decrypt.d.ts +49 -0
- package/dist/types/elistattesteddecrypt/index.d.ts +2 -0
- package/dist/types/elistattesteddecrypt/types.d.ts +31 -0
- package/dist/types/generated/abis/lightning.d.ts +0 -39
- package/dist/types/generated/abis/test-elist.d.ts +6 -0
- package/dist/types/generated/es/inco/covalidator/compute/v1/server_pb.d.ts +18 -36
- package/dist/types/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +16 -0
- package/dist/types/generated/lightning.d.ts +29 -0
- package/dist/types/generated/local-node.d.ts +5 -5
- package/dist/types/handle.d.ts +8 -0
- package/dist/types/kms/quorumClient.d.ts +17 -4
- package/dist/types/kms/quorumConsistency.d.ts +25 -1
- package/dist/types/kms/signatureVerification.d.ts +2 -2
- package/dist/types/lite/attested-compute.d.ts +2 -2
- package/dist/types/lite/attested-decrypt.d.ts +2 -2
- package/dist/types/lite/lightning.d.ts +40 -19
- package/dist/types/test/mocks.d.ts +5 -1
- package/dist/types/viem.d.ts +2 -1
- package/package.json +1 -1
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { Account, Chain, Transport, WalletClient } from 'viem';
|
|
2
|
+
import { validateHandle } from '../attesteddecrypt/attested-decrypt.js';
|
|
3
|
+
import { type HexString } from '../binary.js';
|
|
4
|
+
import { type SupportedChainId } from '../chain.js';
|
|
5
|
+
import { type EncryptionScheme, type SupportedFheType } from '../encryption/encryption.js';
|
|
6
|
+
import { KmsQuorumClient } from '../kms/quorumClient.js';
|
|
7
|
+
import type { XwingKeypair } from '../lite/xwing.js';
|
|
8
|
+
import type { BackoffConfig } from '../retry.js';
|
|
9
|
+
import { type EListDecryptionAttestation, type EncryptedEListDecryptionAttestation } from './types.js';
|
|
10
|
+
export { validateHandle };
|
|
11
|
+
export declare function eListAttestedDecrypt({ handle, backoffConfig, walletClient, chainId, reencryptPubKey, reencryptKeypair, kmsQuorumClient, executorAddress, }: {
|
|
12
|
+
handle: HexString;
|
|
13
|
+
backoffConfig?: Partial<BackoffConfig> | undefined;
|
|
14
|
+
walletClient: WalletClient<Transport, Chain, Account>;
|
|
15
|
+
chainId: SupportedChainId;
|
|
16
|
+
reencryptPubKey: Uint8Array;
|
|
17
|
+
reencryptKeypair: XwingKeypair;
|
|
18
|
+
kmsQuorumClient: KmsQuorumClient;
|
|
19
|
+
executorAddress: HexString;
|
|
20
|
+
}): Promise<EListDecryptionAttestation<EncryptionScheme, SupportedFheType>>;
|
|
21
|
+
export declare function eListAttestedDecrypt({ handle, backoffConfig, walletClient, chainId, reencryptPubKey, kmsQuorumClient, executorAddress, }: {
|
|
22
|
+
handle: HexString;
|
|
23
|
+
backoffConfig?: Partial<BackoffConfig> | undefined;
|
|
24
|
+
walletClient: WalletClient<Transport, Chain, Account>;
|
|
25
|
+
chainId: SupportedChainId;
|
|
26
|
+
reencryptPubKey: Uint8Array;
|
|
27
|
+
reencryptKeypair?: never;
|
|
28
|
+
kmsQuorumClient: KmsQuorumClient;
|
|
29
|
+
executorAddress: HexString;
|
|
30
|
+
}): Promise<EncryptedEListDecryptionAttestation<EncryptionScheme, SupportedFheType>>;
|
|
31
|
+
export declare function eListAttestedDecrypt({ handle, backoffConfig, walletClient, chainId, kmsQuorumClient, executorAddress, }: {
|
|
32
|
+
handle: HexString;
|
|
33
|
+
backoffConfig?: Partial<BackoffConfig> | undefined;
|
|
34
|
+
walletClient: WalletClient<Transport, Chain, Account>;
|
|
35
|
+
chainId: SupportedChainId;
|
|
36
|
+
reencryptPubKey?: never;
|
|
37
|
+
reencryptKeypair?: never;
|
|
38
|
+
kmsQuorumClient: KmsQuorumClient;
|
|
39
|
+
executorAddress: HexString;
|
|
40
|
+
}): Promise<EListDecryptionAttestation<EncryptionScheme, SupportedFheType>>;
|
|
41
|
+
/**
|
|
42
|
+
* Reveal a single elist handle without wallet authentication.
|
|
43
|
+
* Returns plaintext values along with an attestation of the checksum.
|
|
44
|
+
*/
|
|
45
|
+
export declare function eListAttestedReveal({ handle, backoffConfig, kmsQuorumClient, }: {
|
|
46
|
+
handle: HexString;
|
|
47
|
+
backoffConfig?: Partial<BackoffConfig> | undefined;
|
|
48
|
+
kmsQuorumClient: KmsQuorumClient;
|
|
49
|
+
}): Promise<EListDecryptionAttestation<EncryptionScheme, SupportedFheType>>;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { create } from '@bufbuild/protobuf';
|
|
2
|
+
import { hexToBytes } from 'viem';
|
|
3
|
+
import { buildHandlesWithProofs, validateHandle, } from '../attesteddecrypt/attested-decrypt.js';
|
|
4
|
+
import { bytesToBigInt } from '../binary.js';
|
|
5
|
+
import { buildEip712Payload, signEip712 } from '../eip712/eip712.js';
|
|
6
|
+
import { bigintToPlaintext, } from '../encryption/encryption.js';
|
|
7
|
+
import { EListAttestedDecryptRequestSchema, EListAttestedRevealRequestSchema, } from '../generated/es/inco/kms/lite/v1/kms_service_pb.js';
|
|
8
|
+
import { getEListElementType } from '../handle.js';
|
|
9
|
+
import { decrypt } from '../lite/xwing.js';
|
|
10
|
+
import { EListAttestedDecryptError, } from './types.js';
|
|
11
|
+
export { validateHandle };
|
|
12
|
+
// Implementation
|
|
13
|
+
export async function eListAttestedDecrypt({ handle, backoffConfig, walletClient, chainId, reencryptPubKey, reencryptKeypair, kmsQuorumClient, executorAddress, }) {
|
|
14
|
+
try {
|
|
15
|
+
validateHandle(handle);
|
|
16
|
+
const eip712Payload = await buildEip712Payload({
|
|
17
|
+
executorAddress,
|
|
18
|
+
ethClient: walletClient,
|
|
19
|
+
chainId,
|
|
20
|
+
handles: [handle],
|
|
21
|
+
reencryptPubKey: reencryptPubKey ?? new Uint8Array(),
|
|
22
|
+
});
|
|
23
|
+
const eip712SignatureHex = await signEip712(walletClient, eip712Payload);
|
|
24
|
+
const handlesWithProofs = buildHandlesWithProofs([handle]);
|
|
25
|
+
const eListAttestedDecryptRequest = buildEListAttestedDecryptRequest({
|
|
26
|
+
userAddress: walletClient.account.address,
|
|
27
|
+
handleWithProof: handlesWithProofs[0],
|
|
28
|
+
eip712Signature: hexToBytes(eip712SignatureHex),
|
|
29
|
+
...(reencryptPubKey !== undefined ? { reencryptPubKey } : {}),
|
|
30
|
+
});
|
|
31
|
+
const encryptedResponse = await kmsQuorumClient.eListAttestedDecrypt(eListAttestedDecryptRequest, backoffConfig, reencryptKeypair, executorAddress, walletClient);
|
|
32
|
+
// If reencryptPubKey is provided with a keypair, decrypt the values
|
|
33
|
+
if (reencryptPubKey !== undefined && reencryptKeypair) {
|
|
34
|
+
return {
|
|
35
|
+
...encryptedResponse,
|
|
36
|
+
values: await decryptEncryptedEListValues(encryptedResponse.values, reencryptKeypair, getEListElementType(handle)),
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
return encryptedResponse;
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
if (error instanceof EListAttestedDecryptError) {
|
|
43
|
+
throw error;
|
|
44
|
+
}
|
|
45
|
+
throw new EListAttestedDecryptError('Failed to decrypt elist handle', error);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Reveal a single elist handle without wallet authentication.
|
|
50
|
+
* Returns plaintext values along with an attestation of the checksum.
|
|
51
|
+
*/
|
|
52
|
+
export async function eListAttestedReveal({ handle, backoffConfig, kmsQuorumClient, }) {
|
|
53
|
+
try {
|
|
54
|
+
validateHandle(handle);
|
|
55
|
+
const eListAttestedRevealRequest = create(EListAttestedRevealRequestSchema, {
|
|
56
|
+
handle,
|
|
57
|
+
});
|
|
58
|
+
return await kmsQuorumClient.eListAttestedReveal(eListAttestedRevealRequest, backoffConfig);
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
if (error instanceof EListAttestedDecryptError) {
|
|
62
|
+
throw error;
|
|
63
|
+
}
|
|
64
|
+
throw new EListAttestedDecryptError('Failed to reveal elist handle', error);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function buildEListAttestedDecryptRequest(params) {
|
|
68
|
+
return create(EListAttestedDecryptRequestSchema, {
|
|
69
|
+
userAddress: params.userAddress,
|
|
70
|
+
elistHandleWithProof: params.handleWithProof,
|
|
71
|
+
eip712Signature: params.eip712Signature,
|
|
72
|
+
reencryptPubKey: params.reencryptPubKey
|
|
73
|
+
? params.reencryptPubKey
|
|
74
|
+
: new Uint8Array(),
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
// Helper function that transforms EncryptResultOf[] to PlaintextOf[] by decrypting the encrypted values
|
|
78
|
+
async function decryptEncryptedEListValues(values, reencryptKeypair, handleType) {
|
|
79
|
+
return Promise.all(values.map(async (value) => {
|
|
80
|
+
// Check if value is EncryptResultOf (has ciphertext property)
|
|
81
|
+
if ('ciphertext' in value) {
|
|
82
|
+
const ct = hexToBytes(value.ciphertext.value);
|
|
83
|
+
const plaintextBytes = await decrypt(reencryptKeypair, ct);
|
|
84
|
+
return bigintToPlaintext(value.ciphertext.scheme, handleType, bytesToBigInt(plaintextBytes));
|
|
85
|
+
}
|
|
86
|
+
return value;
|
|
87
|
+
}));
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpc3QtYXR0ZXN0ZWQtZGVjcnlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGlzdGF0dGVzdGVkZGVjcnlwdC9lbGlzdC1hdHRlc3RlZC1kZWNyeXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsY0FBYyxHQUNmLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBa0IsTUFBTSxjQUFjLENBQUM7QUFFN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JFLE9BQU8sRUFDTCxpQkFBaUIsR0FLbEIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBRUwsaUNBQWlDLEVBQ2pDLGdDQUFnQyxHQUNqQyxNQUFNLG9EQUFvRCxDQUFDO0FBRTVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUduRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFM0MsT0FBTyxFQUNMLHlCQUF5QixHQUcxQixNQUFNLFlBQVksQ0FBQztBQUVwQixPQUFPLEVBQUUsY0FBYyxFQUFFLENBQUM7QUFnRTFCLGlCQUFpQjtBQUNqQixNQUFNLENBQUMsS0FBSyxVQUFVLG9CQUFvQixDQUFDLEVBQ3pDLE1BQU0sRUFDTixhQUFhLEVBQ2IsWUFBWSxFQUNaLE9BQU8sRUFDUCxlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixlQUFlLEdBVWhCO0lBSUMsSUFBSSxDQUFDO1FBQ0gsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXZCLE1BQU0sYUFBYSxHQUFHLE1BQU0sa0JBQWtCLENBQUM7WUFDN0MsZUFBZTtZ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
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { eListAttestedDecrypt, eListAttestedReveal, } from './elist-attested-decrypt.js';
|
|
2
|
+
export * from './types.js';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxpc3RhdHRlc3RlZGRlY3J5cHQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixtQkFBbUIsR0FDcEIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxjQUFjLFlBQVksQ0FBQyJ9
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { HexString } from '../binary.js';
|
|
2
|
+
import type { EncryptionScheme, EncryptResultOf, PlaintextOf, SupportedFheType } from '../encryption/encryption.js';
|
|
3
|
+
import { handleTypes } from '../index.js';
|
|
4
|
+
import type { BackoffConfig } from '../retry.js';
|
|
5
|
+
/**
|
|
6
|
+
* Custom error class for elist attested decrypt operations.
|
|
7
|
+
*/
|
|
8
|
+
export declare class EListAttestedDecryptError extends Error {
|
|
9
|
+
readonly cause?: unknown | undefined;
|
|
10
|
+
constructor(message: string, cause?: unknown | undefined);
|
|
11
|
+
}
|
|
12
|
+
export type EListDecryptionAttestation<S extends EncryptionScheme, T extends SupportedFheType> = {
|
|
13
|
+
handle: HexString;
|
|
14
|
+
commitmentProof: PlaintextOf<S, typeof handleTypes.euint256>;
|
|
15
|
+
values: PlaintextOf<S, T>[];
|
|
16
|
+
covalidatorSignatures: Uint8Array[];
|
|
17
|
+
commitments: Uint8Array[];
|
|
18
|
+
};
|
|
19
|
+
export type EncryptedEListDecryptionAttestation<S extends EncryptionScheme, T extends SupportedFheType> = {
|
|
20
|
+
handle: HexString;
|
|
21
|
+
commitmentProof: PlaintextOf<S, typeof handleTypes.euint256>;
|
|
22
|
+
values: EncryptResultOf<S, T>[];
|
|
23
|
+
covalidatorSignatures: Uint8Array[];
|
|
24
|
+
commitments: Uint8Array[];
|
|
25
|
+
};
|
|
26
|
+
export type EListAttestedDecryptor<S extends EncryptionScheme> = <T extends SupportedFheType>(args: EListAttestedDecryptFnArgs<S, T>) => Promise<EListDecryptionAttestation<S, T>>;
|
|
27
|
+
export type EListAttestedDecryptFnArgs<S extends EncryptionScheme, T extends SupportedFheType> = {
|
|
28
|
+
/** The handle to decrypt */
|
|
29
|
+
handle: HexString;
|
|
30
|
+
backoffConfig?: Partial<BackoffConfig>;
|
|
31
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom error class for elist attested decrypt operations.
|
|
3
|
+
*/
|
|
4
|
+
export class EListAttestedDecryptError extends Error {
|
|
5
|
+
cause;
|
|
6
|
+
constructor(message, cause) {
|
|
7
|
+
super(message);
|
|
8
|
+
this.cause = cause;
|
|
9
|
+
this.name = 'EListAttestedDecryptError';
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxpc3RhdHRlc3RlZGRlY3J5cHQvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsS0FBSztJQUdoQztJQUZsQixZQUNFLE9BQWUsRUFDQyxLQUFlO1FBRS9CLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUZDLFVBQUssR0FBTCxLQUFLLENBQVU7UUFHL0IsSUFBSSxDQUFDLElBQUksR0FBRywyQkFBMkIsQ0FBQztJQUMxQyxDQUFDO0NBQ0YifQ==
|
|
@@ -711,20 +711,6 @@ export declare const incoLightningAbi: readonly [{
|
|
|
711
711
|
readonly type: "bytes32";
|
|
712
712
|
}];
|
|
713
713
|
readonly stateMutability: "nonpayable";
|
|
714
|
-
}, {
|
|
715
|
-
readonly type: "function";
|
|
716
|
-
readonly inputs: readonly [{
|
|
717
|
-
readonly name: "randType";
|
|
718
|
-
readonly internalType: "enum ETypes";
|
|
719
|
-
readonly type: "uint8";
|
|
720
|
-
}];
|
|
721
|
-
readonly name: "eRand";
|
|
722
|
-
readonly outputs: readonly [{
|
|
723
|
-
readonly name: "result";
|
|
724
|
-
readonly internalType: "bytes32";
|
|
725
|
-
readonly type: "bytes32";
|
|
726
|
-
}];
|
|
727
|
-
readonly stateMutability: "payable";
|
|
728
714
|
}, {
|
|
729
715
|
readonly type: "function";
|
|
730
716
|
readonly inputs: readonly [{
|
|
@@ -2213,31 +2199,6 @@ export declare const incoLightningAbi: readonly [{
|
|
|
2213
2199
|
readonly indexed: false;
|
|
2214
2200
|
}];
|
|
2215
2201
|
readonly name: "ENot";
|
|
2216
|
-
}, {
|
|
2217
|
-
readonly type: "event";
|
|
2218
|
-
readonly anonymous: false;
|
|
2219
|
-
readonly inputs: readonly [{
|
|
2220
|
-
readonly name: "counter";
|
|
2221
|
-
readonly internalType: "uint256";
|
|
2222
|
-
readonly type: "uint256";
|
|
2223
|
-
readonly indexed: true;
|
|
2224
|
-
}, {
|
|
2225
|
-
readonly name: "randType";
|
|
2226
|
-
readonly internalType: "enum ETypes";
|
|
2227
|
-
readonly type: "uint8";
|
|
2228
|
-
readonly indexed: false;
|
|
2229
|
-
}, {
|
|
2230
|
-
readonly name: "result";
|
|
2231
|
-
readonly internalType: "bytes32";
|
|
2232
|
-
readonly type: "bytes32";
|
|
2233
|
-
readonly indexed: true;
|
|
2234
|
-
}, {
|
|
2235
|
-
readonly name: "eventId";
|
|
2236
|
-
readonly internalType: "uint256";
|
|
2237
|
-
readonly type: "uint256";
|
|
2238
|
-
readonly indexed: false;
|
|
2239
|
-
}];
|
|
2240
|
-
readonly name: "ERand";
|
|
2241
2202
|
}, {
|
|
2242
2203
|
readonly type: "event";
|
|
2243
2204
|
readonly anonymous: false;
|