@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.
Files changed (126) hide show
  1. package/dist/cjs/advancedacl/session-key.d.ts +4 -4
  2. package/dist/cjs/advancedacl/session-key.js +4 -3
  3. package/dist/cjs/attestedcompute/attested-compute.d.ts +0 -1
  4. package/dist/cjs/attestedcompute/attested-compute.js +7 -8
  5. package/dist/cjs/attesteddecrypt/attested-decrypt.d.ts +3 -4
  6. package/dist/cjs/attesteddecrypt/attested-decrypt.js +8 -60
  7. package/dist/cjs/attestedreveal/attested-reveal.d.ts +3 -4
  8. package/dist/cjs/attestedreveal/attested-reveal.js +2 -9
  9. package/dist/cjs/chain.d.ts +6 -0
  10. package/dist/cjs/chain.js +15 -2
  11. package/dist/cjs/eip712/eip712.d.ts +18 -0
  12. package/dist/cjs/eip712/eip712.js +51 -0
  13. package/dist/cjs/eip712/index.d.ts +1 -0
  14. package/dist/cjs/eip712/index.js +8 -0
  15. package/dist/cjs/elistattesteddecrypt/elist-attested-decrypt.d.ts +49 -0
  16. package/dist/cjs/elistattesteddecrypt/elist-attested-decrypt.js +94 -0
  17. package/dist/cjs/elistattesteddecrypt/index.d.ts +2 -0
  18. package/dist/cjs/elistattesteddecrypt/index.js +22 -0
  19. package/dist/cjs/elistattesteddecrypt/types.d.ts +31 -0
  20. package/dist/cjs/elistattesteddecrypt/types.js +16 -0
  21. package/dist/cjs/generated/abis/lightning.d.ts +0 -39
  22. package/dist/cjs/generated/abis/lightning.js +1 -39
  23. package/dist/cjs/generated/abis/test-elist.d.ts +6 -0
  24. package/dist/cjs/generated/abis/test-elist.js +8 -1
  25. package/dist/cjs/generated/es/inco/covalidator/compute/v1/server_pb.d.ts +18 -36
  26. package/dist/cjs/generated/es/inco/covalidator/compute/v1/server_pb.js +35 -40
  27. package/dist/cjs/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +16 -0
  28. package/dist/cjs/generated/es/inco/kms/lite/v1/kms_service_pb.js +2 -2
  29. package/dist/cjs/generated/lightning.d.ts +29 -0
  30. package/dist/cjs/generated/lightning.js +30 -1
  31. package/dist/cjs/generated/local-node.d.ts +5 -5
  32. package/dist/cjs/generated/local-node.js +16 -6
  33. package/dist/cjs/handle.d.ts +8 -0
  34. package/dist/cjs/handle.js +20 -2
  35. package/dist/cjs/kms/quorumClient.d.ts +17 -4
  36. package/dist/cjs/kms/quorumClient.js +150 -1
  37. package/dist/cjs/kms/quorumConsistency.d.ts +25 -1
  38. package/dist/cjs/kms/quorumConsistency.js +70 -1
  39. package/dist/cjs/kms/signatureVerification.d.ts +2 -2
  40. package/dist/cjs/kms/signatureVerification.js +1 -1
  41. package/dist/cjs/lite/attested-compute.d.ts +2 -2
  42. package/dist/cjs/lite/attested-compute.js +2 -3
  43. package/dist/cjs/lite/attested-decrypt.d.ts +2 -2
  44. package/dist/cjs/lite/attested-decrypt.js +2 -3
  45. package/dist/cjs/lite/lightning.d.ts +40 -19
  46. package/dist/cjs/lite/lightning.js +103 -29
  47. package/dist/cjs/test/mocks.d.ts +5 -1
  48. package/dist/cjs/test/mocks.js +29 -5
  49. package/dist/cjs/viem.d.ts +2 -1
  50. package/dist/cjs/viem.js +1 -1
  51. package/dist/esm/advancedacl/session-key.d.ts +4 -4
  52. package/dist/esm/advancedacl/session-key.js +6 -5
  53. package/dist/esm/attestedcompute/attested-compute.d.ts +0 -1
  54. package/dist/esm/attestedcompute/attested-compute.js +5 -6
  55. package/dist/esm/attesteddecrypt/attested-decrypt.d.ts +3 -4
  56. package/dist/esm/attesteddecrypt/attested-decrypt.js +6 -58
  57. package/dist/esm/attestedreveal/attested-reveal.d.ts +3 -4
  58. package/dist/esm/attestedreveal/attested-reveal.js +2 -9
  59. package/dist/esm/chain.d.ts +6 -0
  60. package/dist/esm/chain.js +14 -1
  61. package/dist/esm/eip712/eip712.d.ts +18 -0
  62. package/dist/esm/eip712/eip712.js +46 -0
  63. package/dist/esm/eip712/index.d.ts +1 -0
  64. package/dist/esm/eip712/index.js +2 -0
  65. package/dist/esm/elistattesteddecrypt/elist-attested-decrypt.d.ts +49 -0
  66. package/dist/esm/elistattesteddecrypt/elist-attested-decrypt.js +89 -0
  67. package/dist/esm/elistattesteddecrypt/index.d.ts +2 -0
  68. package/dist/esm/elistattesteddecrypt/index.js +3 -0
  69. package/dist/esm/elistattesteddecrypt/types.d.ts +31 -0
  70. package/dist/esm/elistattesteddecrypt/types.js +12 -0
  71. package/dist/esm/generated/abis/lightning.d.ts +0 -39
  72. package/dist/esm/generated/abis/lightning.js +1 -39
  73. package/dist/esm/generated/abis/test-elist.d.ts +6 -0
  74. package/dist/esm/generated/abis/test-elist.js +8 -1
  75. package/dist/esm/generated/es/inco/covalidator/compute/v1/server_pb.d.ts +18 -36
  76. package/dist/esm/generated/es/inco/covalidator/compute/v1/server_pb.js +34 -39
  77. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +16 -0
  78. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.js +2 -2
  79. package/dist/esm/generated/lightning.d.ts +29 -0
  80. package/dist/esm/generated/lightning.js +30 -1
  81. package/dist/esm/generated/local-node.d.ts +5 -5
  82. package/dist/esm/generated/local-node.js +16 -6
  83. package/dist/esm/handle.d.ts +8 -0
  84. package/dist/esm/handle.js +18 -1
  85. package/dist/esm/kms/quorumClient.d.ts +17 -4
  86. package/dist/esm/kms/quorumClient.js +152 -3
  87. package/dist/esm/kms/quorumConsistency.d.ts +25 -1
  88. package/dist/esm/kms/quorumConsistency.js +68 -1
  89. package/dist/esm/kms/signatureVerification.d.ts +2 -2
  90. package/dist/esm/kms/signatureVerification.js +1 -1
  91. package/dist/esm/lite/attested-compute.d.ts +2 -2
  92. package/dist/esm/lite/attested-compute.js +3 -3
  93. package/dist/esm/lite/attested-decrypt.d.ts +2 -2
  94. package/dist/esm/lite/attested-decrypt.js +3 -3
  95. package/dist/esm/lite/lightning.d.ts +40 -19
  96. package/dist/esm/lite/lightning.js +104 -30
  97. package/dist/esm/test/mocks.d.ts +5 -1
  98. package/dist/esm/test/mocks.js +28 -6
  99. package/dist/esm/viem.d.ts +2 -1
  100. package/dist/esm/viem.js +1 -1
  101. package/dist/types/advancedacl/session-key.d.ts +4 -4
  102. package/dist/types/attestedcompute/attested-compute.d.ts +0 -1
  103. package/dist/types/attesteddecrypt/attested-decrypt.d.ts +3 -4
  104. package/dist/types/attestedreveal/attested-reveal.d.ts +3 -4
  105. package/dist/types/chain.d.ts +6 -0
  106. package/dist/types/eip712/eip712.d.ts +18 -0
  107. package/dist/types/eip712/index.d.ts +1 -0
  108. package/dist/types/elistattesteddecrypt/elist-attested-decrypt.d.ts +49 -0
  109. package/dist/types/elistattesteddecrypt/index.d.ts +2 -0
  110. package/dist/types/elistattesteddecrypt/types.d.ts +31 -0
  111. package/dist/types/generated/abis/lightning.d.ts +0 -39
  112. package/dist/types/generated/abis/test-elist.d.ts +6 -0
  113. package/dist/types/generated/es/inco/covalidator/compute/v1/server_pb.d.ts +18 -36
  114. package/dist/types/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +16 -0
  115. package/dist/types/generated/lightning.d.ts +29 -0
  116. package/dist/types/generated/local-node.d.ts +5 -5
  117. package/dist/types/handle.d.ts +8 -0
  118. package/dist/types/kms/quorumClient.d.ts +17 -4
  119. package/dist/types/kms/quorumConsistency.d.ts +25 -1
  120. package/dist/types/kms/signatureVerification.d.ts +2 -2
  121. package/dist/types/lite/attested-compute.d.ts +2 -2
  122. package/dist/types/lite/attested-decrypt.d.ts +2 -2
  123. package/dist/types/lite/lightning.d.ts +40 -19
  124. package/dist/types/test/mocks.d.ts +5 -1
  125. package/dist/types/viem.d.ts +2 -1
  126. 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,2 @@
1
+ export { eListAttestedDecrypt, eListAttestedReveal, } from './elist-attested-decrypt.js';
2
+ export * from './types.js';
@@ -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;