@inco/js 0.8.0-devnet-29 → 0.8.0-devnet-31
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/chain.d.ts +8 -0
- package/dist/cjs/chain.js +19 -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 +0 -34
- package/dist/cjs/generated/es/inco/covalidator/compute/v1/server_pb.js +35 -40
- 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 +2 -2
- package/dist/cjs/generated/local-node.js +2 -2
- 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 +21 -14
- package/dist/cjs/lite/lightning.js +64 -11
- package/dist/cjs/test/mocks.d.ts +5 -1
- package/dist/cjs/test/mocks.js +29 -5
- package/dist/cjs/viem.d.ts +350 -1
- package/dist/cjs/viem.js +3 -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/chain.d.ts +8 -0
- package/dist/esm/chain.js +18 -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 +0 -34
- package/dist/esm/generated/es/inco/covalidator/compute/v1/server_pb.js +34 -39
- 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 +2 -2
- package/dist/esm/generated/local-node.js +2 -2
- 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 +21 -14
- package/dist/esm/lite/lightning.js +64 -11
- package/dist/esm/test/mocks.d.ts +5 -1
- package/dist/esm/test/mocks.js +28 -6
- package/dist/esm/viem.d.ts +350 -1
- package/dist/esm/viem.js +4 -2
- 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/chain.d.ts +8 -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 +0 -34
- package/dist/types/generated/lightning.d.ts +29 -0
- package/dist/types/generated/local-node.d.ts +2 -2
- 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 +21 -14
- package/dist/types/test/mocks.d.ts +5 -1
- package/dist/types/viem.d.ts +350 -1
- package/package.json +1 -1
package/dist/cjs/viem.d.ts
CHANGED
|
@@ -1,7 +1,356 @@
|
|
|
1
|
-
import { Chain } from 'viem';
|
|
1
|
+
import { Account, Chain, PublicClient, Transport, WalletClient } from 'viem';
|
|
2
2
|
import { Chainish } from './chain.js';
|
|
3
|
+
export type ViemClient = WalletClient<Transport, Chain, Account> | PublicClient<Transport, Chain>;
|
|
3
4
|
/** Map of supported chain short names to their viem chain objects. */
|
|
4
5
|
export declare const chains: {
|
|
6
|
+
mainnet: {
|
|
7
|
+
blockExplorers: {
|
|
8
|
+
readonly default: {
|
|
9
|
+
readonly name: "Etherscan";
|
|
10
|
+
readonly url: "https://etherscan.io";
|
|
11
|
+
readonly apiUrl: "https://api.etherscan.io/api";
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
blockTime: 12000;
|
|
15
|
+
contracts: {
|
|
16
|
+
readonly ensUniversalResolver: {
|
|
17
|
+
readonly address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
|
|
18
|
+
readonly blockCreated: 23085558;
|
|
19
|
+
};
|
|
20
|
+
readonly multicall3: {
|
|
21
|
+
readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
|
|
22
|
+
readonly blockCreated: 14353601;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
ensTlds?: readonly string[] | undefined;
|
|
26
|
+
id: 1;
|
|
27
|
+
name: "Ethereum";
|
|
28
|
+
nativeCurrency: {
|
|
29
|
+
readonly name: "Ether";
|
|
30
|
+
readonly symbol: "ETH";
|
|
31
|
+
readonly decimals: 18;
|
|
32
|
+
};
|
|
33
|
+
experimental_preconfirmationTime?: number | undefined | undefined;
|
|
34
|
+
rpcUrls: {
|
|
35
|
+
readonly default: {
|
|
36
|
+
readonly http: readonly ["https://eth.merkle.io"];
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
sourceId?: number | undefined | undefined;
|
|
40
|
+
testnet?: boolean | undefined | undefined;
|
|
41
|
+
custom?: Record<string, unknown> | undefined;
|
|
42
|
+
fees?: import("viem").ChainFees<undefined> | undefined;
|
|
43
|
+
formatters?: undefined;
|
|
44
|
+
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
|
|
45
|
+
};
|
|
46
|
+
base: {
|
|
47
|
+
blockExplorers: {
|
|
48
|
+
readonly default: {
|
|
49
|
+
readonly name: "Basescan";
|
|
50
|
+
readonly url: "https://basescan.org";
|
|
51
|
+
readonly apiUrl: "https://api.basescan.org/api";
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
blockTime: 2000;
|
|
55
|
+
contracts: {
|
|
56
|
+
readonly disputeGameFactory: {
|
|
57
|
+
readonly 1: {
|
|
58
|
+
readonly address: "0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e";
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
readonly l2OutputOracle: {
|
|
62
|
+
readonly 1: {
|
|
63
|
+
readonly address: "0x56315b90c40730925ec5485cf004d835058518A0";
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
readonly multicall3: {
|
|
67
|
+
readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
|
|
68
|
+
readonly blockCreated: 5022;
|
|
69
|
+
};
|
|
70
|
+
readonly portal: {
|
|
71
|
+
readonly 1: {
|
|
72
|
+
readonly address: "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e";
|
|
73
|
+
readonly blockCreated: 17482143;
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
readonly l1StandardBridge: {
|
|
77
|
+
readonly 1: {
|
|
78
|
+
readonly address: "0x3154Cf16ccdb4C6d922629664174b904d80F2C35";
|
|
79
|
+
readonly blockCreated: 17482143;
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
readonly gasPriceOracle: {
|
|
83
|
+
readonly address: "0x420000000000000000000000000000000000000F";
|
|
84
|
+
};
|
|
85
|
+
readonly l1Block: {
|
|
86
|
+
readonly address: "0x4200000000000000000000000000000000000015";
|
|
87
|
+
};
|
|
88
|
+
readonly l2CrossDomainMessenger: {
|
|
89
|
+
readonly address: "0x4200000000000000000000000000000000000007";
|
|
90
|
+
};
|
|
91
|
+
readonly l2Erc721Bridge: {
|
|
92
|
+
readonly address: "0x4200000000000000000000000000000000000014";
|
|
93
|
+
};
|
|
94
|
+
readonly l2StandardBridge: {
|
|
95
|
+
readonly address: "0x4200000000000000000000000000000000000010";
|
|
96
|
+
};
|
|
97
|
+
readonly l2ToL1MessagePasser: {
|
|
98
|
+
readonly address: "0x4200000000000000000000000000000000000016";
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
ensTlds?: readonly string[] | undefined;
|
|
102
|
+
id: 8453;
|
|
103
|
+
name: "Base";
|
|
104
|
+
nativeCurrency: {
|
|
105
|
+
readonly name: "Ether";
|
|
106
|
+
readonly symbol: "ETH";
|
|
107
|
+
readonly decimals: 18;
|
|
108
|
+
};
|
|
109
|
+
experimental_preconfirmationTime?: number | undefined | undefined;
|
|
110
|
+
rpcUrls: {
|
|
111
|
+
readonly default: {
|
|
112
|
+
readonly http: readonly ["https://mainnet.base.org"];
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
sourceId: 1;
|
|
116
|
+
testnet?: boolean | undefined | undefined;
|
|
117
|
+
custom?: Record<string, unknown> | undefined;
|
|
118
|
+
fees?: import("viem").ChainFees<undefined> | undefined;
|
|
119
|
+
formatters: {
|
|
120
|
+
readonly block: {
|
|
121
|
+
exclude: [] | undefined;
|
|
122
|
+
format: (args: import("viem/chains").OpStackRpcBlock, action?: string | undefined) => {
|
|
123
|
+
baseFeePerGas: bigint | null;
|
|
124
|
+
blobGasUsed: bigint;
|
|
125
|
+
difficulty: bigint;
|
|
126
|
+
excessBlobGas: bigint;
|
|
127
|
+
extraData: import("viem").Hex;
|
|
128
|
+
gasLimit: bigint;
|
|
129
|
+
gasUsed: bigint;
|
|
130
|
+
hash: `0x${string}` | null;
|
|
131
|
+
logsBloom: `0x${string}` | null;
|
|
132
|
+
miner: import("viem").Address;
|
|
133
|
+
mixHash: import("viem").Hash;
|
|
134
|
+
nonce: `0x${string}` | null;
|
|
135
|
+
number: bigint | null;
|
|
136
|
+
parentBeaconBlockRoot?: `0x${string}` | undefined;
|
|
137
|
+
parentHash: import("viem").Hash;
|
|
138
|
+
receiptsRoot: import("viem").Hex;
|
|
139
|
+
sealFields: import("viem").Hex[];
|
|
140
|
+
sha3Uncles: import("viem").Hash;
|
|
141
|
+
size: bigint;
|
|
142
|
+
stateRoot: import("viem").Hash;
|
|
143
|
+
timestamp: bigint;
|
|
144
|
+
totalDifficulty: bigint | null;
|
|
145
|
+
transactions: `0x${string}`[] | import("viem/chains").OpStackTransaction<boolean>[];
|
|
146
|
+
transactionsRoot: import("viem").Hash;
|
|
147
|
+
uncles: import("viem").Hash[];
|
|
148
|
+
withdrawals?: import("viem").Withdrawal[] | undefined | undefined;
|
|
149
|
+
withdrawalsRoot?: `0x${string}` | undefined;
|
|
150
|
+
} & {};
|
|
151
|
+
type: "block";
|
|
152
|
+
};
|
|
153
|
+
readonly transaction: {
|
|
154
|
+
exclude: [] | undefined;
|
|
155
|
+
format: (args: import("viem/chains").OpStackRpcTransaction, action?: string | undefined) => ({
|
|
156
|
+
blockHash: `0x${string}` | null;
|
|
157
|
+
blockNumber: bigint | null;
|
|
158
|
+
from: import("viem").Address;
|
|
159
|
+
gas: bigint;
|
|
160
|
+
hash: import("viem").Hash;
|
|
161
|
+
input: import("viem").Hex;
|
|
162
|
+
nonce: number;
|
|
163
|
+
r: import("viem").Hex;
|
|
164
|
+
s: import("viem").Hex;
|
|
165
|
+
to: import("viem").Address | null;
|
|
166
|
+
transactionIndex: number | null;
|
|
167
|
+
typeHex: import("viem").Hex | null;
|
|
168
|
+
v: bigint;
|
|
169
|
+
value: bigint;
|
|
170
|
+
yParity: number;
|
|
171
|
+
gasPrice?: undefined | undefined;
|
|
172
|
+
maxFeePerBlobGas?: undefined | undefined;
|
|
173
|
+
maxFeePerGas: bigint;
|
|
174
|
+
maxPriorityFeePerGas: bigint;
|
|
175
|
+
isSystemTx?: boolean;
|
|
176
|
+
mint?: bigint | undefined | undefined;
|
|
177
|
+
sourceHash: import("viem").Hex;
|
|
178
|
+
type: "deposit";
|
|
179
|
+
} | {
|
|
180
|
+
r: import("viem").Hex;
|
|
181
|
+
s: import("viem").Hex;
|
|
182
|
+
v: bigint;
|
|
183
|
+
value: bigint;
|
|
184
|
+
gas: bigint;
|
|
185
|
+
to: import("viem").Address | null;
|
|
186
|
+
from: import("viem").Address;
|
|
187
|
+
nonce: number;
|
|
188
|
+
blockHash: `0x${string}` | null;
|
|
189
|
+
blockNumber: bigint | null;
|
|
190
|
+
transactionIndex: number | null;
|
|
191
|
+
hash: import("viem").Hash;
|
|
192
|
+
input: import("viem").Hex;
|
|
193
|
+
typeHex: import("viem").Hex | null;
|
|
194
|
+
accessList?: undefined | undefined;
|
|
195
|
+
authorizationList?: undefined | undefined;
|
|
196
|
+
blobVersionedHashes?: undefined | undefined;
|
|
197
|
+
chainId?: number | undefined;
|
|
198
|
+
yParity?: undefined | undefined;
|
|
199
|
+
type: "legacy";
|
|
200
|
+
gasPrice: bigint;
|
|
201
|
+
maxFeePerBlobGas?: undefined | undefined;
|
|
202
|
+
maxFeePerGas?: undefined | undefined;
|
|
203
|
+
maxPriorityFeePerGas?: undefined | undefined;
|
|
204
|
+
isSystemTx?: undefined | undefined;
|
|
205
|
+
mint?: undefined | undefined;
|
|
206
|
+
sourceHash?: undefined | undefined;
|
|
207
|
+
} | {
|
|
208
|
+
blockHash: `0x${string}` | null;
|
|
209
|
+
blockNumber: bigint | null;
|
|
210
|
+
from: import("viem").Address;
|
|
211
|
+
gas: bigint;
|
|
212
|
+
hash: import("viem").Hash;
|
|
213
|
+
input: import("viem").Hex;
|
|
214
|
+
nonce: number;
|
|
215
|
+
r: import("viem").Hex;
|
|
216
|
+
s: import("viem").Hex;
|
|
217
|
+
to: import("viem").Address | null;
|
|
218
|
+
transactionIndex: number | null;
|
|
219
|
+
typeHex: import("viem").Hex | null;
|
|
220
|
+
v: bigint;
|
|
221
|
+
value: bigint;
|
|
222
|
+
yParity: number;
|
|
223
|
+
accessList: import("viem").AccessList;
|
|
224
|
+
authorizationList?: undefined | undefined;
|
|
225
|
+
blobVersionedHashes?: undefined | undefined;
|
|
226
|
+
chainId: number;
|
|
227
|
+
type: "eip2930";
|
|
228
|
+
gasPrice: bigint;
|
|
229
|
+
maxFeePerBlobGas?: undefined | undefined;
|
|
230
|
+
maxFeePerGas?: undefined | undefined;
|
|
231
|
+
maxPriorityFeePerGas?: undefined | undefined;
|
|
232
|
+
isSystemTx?: undefined | undefined;
|
|
233
|
+
mint?: undefined | undefined;
|
|
234
|
+
sourceHash?: undefined | undefined;
|
|
235
|
+
} | {
|
|
236
|
+
blockHash: `0x${string}` | null;
|
|
237
|
+
blockNumber: bigint | null;
|
|
238
|
+
from: import("viem").Address;
|
|
239
|
+
gas: bigint;
|
|
240
|
+
hash: import("viem").Hash;
|
|
241
|
+
input: import("viem").Hex;
|
|
242
|
+
nonce: number;
|
|
243
|
+
r: import("viem").Hex;
|
|
244
|
+
s: import("viem").Hex;
|
|
245
|
+
to: import("viem").Address | null;
|
|
246
|
+
transactionIndex: number | null;
|
|
247
|
+
typeHex: import("viem").Hex | null;
|
|
248
|
+
v: bigint;
|
|
249
|
+
value: bigint;
|
|
250
|
+
yParity: number;
|
|
251
|
+
accessList: import("viem").AccessList;
|
|
252
|
+
authorizationList?: undefined | undefined;
|
|
253
|
+
blobVersionedHashes?: undefined | undefined;
|
|
254
|
+
chainId: number;
|
|
255
|
+
type: "eip1559";
|
|
256
|
+
gasPrice?: undefined | undefined;
|
|
257
|
+
maxFeePerBlobGas?: undefined | undefined;
|
|
258
|
+
maxFeePerGas: bigint;
|
|
259
|
+
maxPriorityFeePerGas: bigint;
|
|
260
|
+
isSystemTx?: undefined | undefined;
|
|
261
|
+
mint?: undefined | undefined;
|
|
262
|
+
sourceHash?: undefined | undefined;
|
|
263
|
+
} | {
|
|
264
|
+
blockHash: `0x${string}` | null;
|
|
265
|
+
blockNumber: bigint | null;
|
|
266
|
+
from: import("viem").Address;
|
|
267
|
+
gas: bigint;
|
|
268
|
+
hash: import("viem").Hash;
|
|
269
|
+
input: import("viem").Hex;
|
|
270
|
+
nonce: number;
|
|
271
|
+
r: import("viem").Hex;
|
|
272
|
+
s: import("viem").Hex;
|
|
273
|
+
to: import("viem").Address | null;
|
|
274
|
+
transactionIndex: number | null;
|
|
275
|
+
typeHex: import("viem").Hex | null;
|
|
276
|
+
v: bigint;
|
|
277
|
+
value: bigint;
|
|
278
|
+
yParity: number;
|
|
279
|
+
accessList: import("viem").AccessList;
|
|
280
|
+
authorizationList?: undefined | undefined;
|
|
281
|
+
blobVersionedHashes: readonly import("viem").Hex[];
|
|
282
|
+
chainId: number;
|
|
283
|
+
type: "eip4844";
|
|
284
|
+
gasPrice?: undefined | undefined;
|
|
285
|
+
maxFeePerBlobGas: bigint;
|
|
286
|
+
maxFeePerGas: bigint;
|
|
287
|
+
maxPriorityFeePerGas: bigint;
|
|
288
|
+
isSystemTx?: undefined | undefined;
|
|
289
|
+
mint?: undefined | undefined;
|
|
290
|
+
sourceHash?: undefined | undefined;
|
|
291
|
+
} | {
|
|
292
|
+
blockHash: `0x${string}` | null;
|
|
293
|
+
blockNumber: bigint | null;
|
|
294
|
+
from: import("viem").Address;
|
|
295
|
+
gas: bigint;
|
|
296
|
+
hash: import("viem").Hash;
|
|
297
|
+
input: import("viem").Hex;
|
|
298
|
+
nonce: number;
|
|
299
|
+
r: import("viem").Hex;
|
|
300
|
+
s: import("viem").Hex;
|
|
301
|
+
to: import("viem").Address | null;
|
|
302
|
+
transactionIndex: number | null;
|
|
303
|
+
typeHex: import("viem").Hex | null;
|
|
304
|
+
v: bigint;
|
|
305
|
+
value: bigint;
|
|
306
|
+
yParity: number;
|
|
307
|
+
accessList: import("viem").AccessList;
|
|
308
|
+
authorizationList: import("viem").SignedAuthorizationList;
|
|
309
|
+
blobVersionedHashes?: undefined | undefined;
|
|
310
|
+
chainId: number;
|
|
311
|
+
type: "eip7702";
|
|
312
|
+
gasPrice?: undefined | undefined;
|
|
313
|
+
maxFeePerBlobGas?: undefined | undefined;
|
|
314
|
+
maxFeePerGas: bigint;
|
|
315
|
+
maxPriorityFeePerGas: bigint;
|
|
316
|
+
isSystemTx?: undefined | undefined;
|
|
317
|
+
mint?: undefined | undefined;
|
|
318
|
+
sourceHash?: undefined | undefined;
|
|
319
|
+
}) & {};
|
|
320
|
+
type: "transaction";
|
|
321
|
+
};
|
|
322
|
+
readonly transactionReceipt: {
|
|
323
|
+
exclude: [] | undefined;
|
|
324
|
+
format: (args: import("viem/chains").OpStackRpcTransactionReceipt, action?: string | undefined) => {
|
|
325
|
+
blobGasPrice?: bigint | undefined;
|
|
326
|
+
blobGasUsed?: bigint | undefined;
|
|
327
|
+
blockHash: import("viem").Hash;
|
|
328
|
+
blockNumber: bigint;
|
|
329
|
+
contractAddress: import("viem").Address | null | undefined;
|
|
330
|
+
cumulativeGasUsed: bigint;
|
|
331
|
+
effectiveGasPrice: bigint;
|
|
332
|
+
from: import("viem").Address;
|
|
333
|
+
gasUsed: bigint;
|
|
334
|
+
logs: import("viem").Log<bigint, number, false>[];
|
|
335
|
+
logsBloom: import("viem").Hex;
|
|
336
|
+
root?: `0x${string}` | undefined;
|
|
337
|
+
status: "success" | "reverted";
|
|
338
|
+
to: import("viem").Address | null;
|
|
339
|
+
transactionHash: import("viem").Hash;
|
|
340
|
+
transactionIndex: number;
|
|
341
|
+
type: import("viem").TransactionType;
|
|
342
|
+
l1GasPrice: bigint | null;
|
|
343
|
+
l1GasUsed: bigint | null;
|
|
344
|
+
l1Fee: bigint | null;
|
|
345
|
+
l1FeeScalar: number | null;
|
|
346
|
+
} & {};
|
|
347
|
+
type: "transactionReceipt";
|
|
348
|
+
};
|
|
349
|
+
};
|
|
350
|
+
serializers: {
|
|
351
|
+
readonly transaction: typeof import("viem/chains").serializeTransactionOpStack;
|
|
352
|
+
};
|
|
353
|
+
};
|
|
5
354
|
sepolia: {
|
|
6
355
|
blockExplorers: {
|
|
7
356
|
readonly default: {
|
package/dist/cjs/viem.js
CHANGED
|
@@ -6,6 +6,8 @@ const chains_1 = require("viem/chains");
|
|
|
6
6
|
const chain_js_1 = require("./chain.js");
|
|
7
7
|
/** Map of supported chain short names to their viem chain objects. */
|
|
8
8
|
exports.chains = {
|
|
9
|
+
mainnet: chains_1.mainnet,
|
|
10
|
+
base: chains_1.base,
|
|
9
11
|
sepolia: chains_1.sepolia,
|
|
10
12
|
baseSepolia: chains_1.baseSepolia,
|
|
11
13
|
monadTestnet: chains_1.monadTestnet,
|
|
@@ -31,4 +33,4 @@ function getViemChain(chainish) {
|
|
|
31
33
|
}
|
|
32
34
|
return chain;
|
|
33
35
|
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmllbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92aWVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXVDQSxvQ0FPQztBQTdDRCx3Q0FTcUI7QUFDckIseUNBQXlEO0FBTXpELHNFQUFzRTtBQUN6RCxRQUFBLE1BQU0sR0FBRztJQUNwQixPQUFPLEVBQVAsZ0JBQU87SUFDUCxJQUFJLEVBQUosYUFBSTtJQUNKLE9BQU8sRUFBUCxnQkFBTztJQUNQLFdBQVcsRUFBWCxvQkFBVztJQUNYLFlBQVksRUFBWixxQkFBWTtJQUNaLGFBQWEsRUFBYixzQkFBYTtJQUNiLEtBQUssRUFBTCxjQUFLO0lBQ0wsaUJBQWlCLEVBQWpCLDBCQUFpQjtDQUNsQixDQUFDO0FBRUY7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBZ0IsWUFBWSxDQUFDLFFBQWtCO0lBQzdDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFBLDRCQUFpQixFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLE1BQU0sS0FBSyxHQUFHLGNBQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMifQ==
|
|
@@ -42,8 +42,8 @@ export interface SessionKeyAttestedComputeArgs {
|
|
|
42
42
|
rhsPlaintext: bigint | boolean;
|
|
43
43
|
requesterArgData?: Hex | undefined;
|
|
44
44
|
backoffConfig?: Partial<BackoffConfig> | undefined;
|
|
45
|
-
ethClient
|
|
46
|
-
executorAddress
|
|
45
|
+
ethClient: PublicClient<Transport, Chain>;
|
|
46
|
+
executorAddress: HexString;
|
|
47
47
|
reencryptPubKey?: Uint8Array | undefined;
|
|
48
48
|
reencryptKeypair?: XwingKeypair | undefined;
|
|
49
49
|
}
|
|
@@ -58,8 +58,8 @@ export interface SessionKeyAttestedDecryptArgs {
|
|
|
58
58
|
backoffConfig?: Partial<BackoffConfig> | undefined;
|
|
59
59
|
reencryptPubKey?: Uint8Array | undefined;
|
|
60
60
|
reencryptKeypair?: XwingKeypair | undefined;
|
|
61
|
-
ethClient
|
|
62
|
-
executorAddress
|
|
61
|
+
ethClient: PublicClient<Transport, Chain>;
|
|
62
|
+
executorAddress: HexString;
|
|
63
63
|
}
|
|
64
64
|
/**
|
|
65
65
|
* Performs attested decrypts using a voucher-backed session key.
|
|
@@ -3,12 +3,13 @@ import { bytesToHex, encodeAbiParameters, getContract, hexToBytes, toFunctionSel
|
|
|
3
3
|
import { abiHelperAbi, advancedAccessControlAbi, incoLightningAbi, sessionVerifierAbi, } from '../generated/abis/lightning.js';
|
|
4
4
|
import { incoVerifierAbi } from '../generated/abis/verifier.js';
|
|
5
5
|
import { bigintToBytes32 } from '../index.js';
|
|
6
|
-
import { ATTESTED_COMPUTE_DOMAIN_NAME, ATTESTED_DECRYPT_DOMAIN_NAME,
|
|
6
|
+
import { ATTESTED_COMPUTE_DOMAIN_NAME, ATTESTED_DECRYPT_DOMAIN_NAME, } from '../lite/index.js';
|
|
7
7
|
import { reencryptPublicKeysMatch } from '../lite/xwing.js';
|
|
8
8
|
import { createEIP712Payload } from '../reencryption/index.js';
|
|
9
9
|
import { AttestedComputeError, } from '../attestedcompute/types.js';
|
|
10
|
-
import { decryptEncryptedAttestations
|
|
10
|
+
import { decryptEncryptedAttestations } from '../attesteddecrypt/attested-decrypt.js';
|
|
11
11
|
import { AttestedDecryptError } from '../attesteddecrypt/types.js';
|
|
12
|
+
import { fetchEip712DomainVersion } from '../eip712/eip712.js';
|
|
12
13
|
import { AttestedComputeRequestSchema, AttestedDecryptRequestSchema, } from '../generated/es/inco/kms/lite/v1/kms_service_pb.js';
|
|
13
14
|
import { AllowanceProofSchema, AllowanceVoucherSchema, HandleWithProofSchema, IncoLiteAdvancedACLProofSchema, } from '../generated/es/inco/kms/lite/v1/types_pb.js';
|
|
14
15
|
// Given a sharer's wallet client, an incoLite contract address, and a
|
|
@@ -137,7 +138,7 @@ export async function sessionKeyAttestedCompute({ lhsHandle, op, rhsPlaintext, b
|
|
|
137
138
|
!reencryptPublicKeysMatch(reencryptPubKey, reencryptKeypair)) {
|
|
138
139
|
throw new AttestedComputeError('reencryptPubKey does not match reencryptKeypair public key');
|
|
139
140
|
}
|
|
140
|
-
const eip712DomainVersion = await fetchEip712DomainVersion(executorAddress,
|
|
141
|
+
const eip712DomainVersion = await fetchEip712DomainVersion(executorAddress, ethClient);
|
|
141
142
|
// Sign the EIP712 attesting that the requester has access to the private key
|
|
142
143
|
// corresponding to the ephemeral public key.
|
|
143
144
|
const eip712Payload = createEIP712Payload({
|
|
@@ -235,7 +236,7 @@ export async function sessionKeyAttestedDecrypt({ chainId, kmsQuorumClient, hand
|
|
|
235
236
|
!reencryptPublicKeysMatch(reencryptPubKey, reencryptKeypair)) {
|
|
236
237
|
throw new AttestedDecryptError('reencryptPubKey does not match reencryptKeypair public key');
|
|
237
238
|
}
|
|
238
|
-
const eip712DomainVersion = await fetchEip712DomainVersion(executorAddress,
|
|
239
|
+
const eip712DomainVersion = await fetchEip712DomainVersion(executorAddress, ethClient);
|
|
239
240
|
// Sign the EIP712 attesting that the requester has access to the private key
|
|
240
241
|
// corresponding to the ephemeral public key.
|
|
241
242
|
const eip712Payload = createEIP712Payload({
|
|
@@ -357,4 +358,4 @@ async function getIncoVerifier(incoLiteAddress, walletClient) {
|
|
|
357
358
|
client: walletClient,
|
|
358
359
|
});
|
|
359
360
|
}
|
|
360
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWR2YW5jZWRhY2wvc2Vzc2lvbi1rZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVDLE9BQU8sRUFHTCxVQUFVLEVBRVYsbUJBQW1CLEVBQ25CLFdBQVcsRUFFWCxVQUFVLEVBRVYsa0JBQWtCLEdBR25CLE1BQU0sTUFBTSxDQUFDO0FBV2QsT0FBTyxFQUNMLFlBQVksRUFDWix3QkFBd0IsRUFDeEIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixHQUNuQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFhLE1BQU0sYUFBYSxDQUFDO0FBTXpELE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsNEJBQTRCLEVBQzVCLHVDQUF1QyxFQUN2Qyx1Q0FBdUMsR0FDeEMsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsd0JBQXdCLEVBQXFCLE1BQU0sa0JBQWtCLENBQUM7QUFDL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJL0QsT0FBTyxFQUNMLG9CQUFvQixHQUVyQixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsd0JBQXdCLEdBQ3pCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkUsT0FBTyxFQUNMLDRCQUE0QixFQUM1Qiw0QkFBNEIsR0FDN0IsTUFBTSxvREFBb0QsQ0FBQztBQUM1RCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHNCQUFzQixFQUN0QixxQkFBcUIsRUFDckIsOEJBQThCLEdBQy9CLE1BQU0sOENBQThDLENBQUM7QUFrQnRE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
|
|
361
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWR2YW5jZWRhY2wvc2Vzc2lvbi1rZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVDLE9BQU8sRUFHTCxVQUFVLEVBRVYsbUJBQW1CLEVBQ25CLFdBQVcsRUFFWCxVQUFVLEVBRVYsa0JBQWtCLEdBR25CLE1BQU0sTUFBTSxDQUFDO0FBV2QsT0FBTyxFQUNMLFlBQVksRUFDWix3QkFBd0IsRUFDeEIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixHQUNuQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFhLE1BQU0sYUFBYSxDQUFDO0FBTXpELE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsNEJBQTRCLEdBQzdCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLHdCQUF3QixFQUFxQixNQUFNLGtCQUFrQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBSS9ELE9BQU8sRUFDTCxvQkFBb0IsR0FFckIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRCxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLDRCQUE0QixHQUM3QixNQUFNLG9EQUFvRCxDQUFDO0FBQzVELE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLHFCQUFxQixFQUNyQiw4QkFBOEIsR0FDL0IsTUFBTSw4Q0FBOEMsQ0FBQztB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
|
|
@@ -8,7 +8,6 @@ import { type XwingKeypair } from '../lite/xwing.js';
|
|
|
8
8
|
import type { BackoffConfig } from '../retry.js';
|
|
9
9
|
import { AttestedComputeOP } from './types.js';
|
|
10
10
|
export declare const ATTESTED_COMPUTE_DOMAIN_NAME = "IncoAttestedCompute";
|
|
11
|
-
export declare const DEFAULT_ATTESTED_COMPUTE_DOMAIN_VERSION = "2";
|
|
12
11
|
/**
|
|
13
12
|
* Arguments for creating an attested compute.
|
|
14
13
|
*/
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { create } from '@bufbuild/protobuf';
|
|
2
2
|
import { bytesToHex, hexToBytes } from 'viem';
|
|
3
|
-
import { decryptEncryptedAttestations,
|
|
3
|
+
import { decryptEncryptedAttestations, validateHandle, } from '../attesteddecrypt/attested-decrypt.js';
|
|
4
4
|
import { bigintToBytes32 } from '../binary.js';
|
|
5
|
+
import { fetchEip712DomainVersion } from '../eip712/eip712.js';
|
|
5
6
|
import { AttestedComputeRequestSchema, } from '../generated/es/inco/kms/lite/v1/kms_service_pb.js';
|
|
6
7
|
import { reencryptPublicKeysMatch } from '../lite/xwing.js';
|
|
7
8
|
import { createEIP712Payload } from '../reencryption/eip712.js';
|
|
8
9
|
import { AttestedComputeError } from './types.js';
|
|
9
10
|
export const ATTESTED_COMPUTE_DOMAIN_NAME = 'IncoAttestedCompute';
|
|
10
|
-
export const DEFAULT_ATTESTED_COMPUTE_DOMAIN_VERSION = '2';
|
|
11
11
|
export async function attestedCompute({ executorAddress, lhsHandle, op, rhsPlaintext, backoffConfig, walletClient, kmsQuorumClient, chainId, reencryptPubKey, reencryptKeypair, }) {
|
|
12
12
|
try {
|
|
13
13
|
validateHandle(lhsHandle);
|
|
@@ -21,7 +21,7 @@ export async function attestedCompute({ executorAddress, lhsHandle, op, rhsPlain
|
|
|
21
21
|
? 1n
|
|
22
22
|
: 0n
|
|
23
23
|
: BigInt(rhsPlaintext);
|
|
24
|
-
const eip712DomainVersion = await fetchEip712DomainVersion(executorAddress,
|
|
24
|
+
const eip712DomainVersion = await fetchEip712DomainVersion(executorAddress, walletClient);
|
|
25
25
|
// Create the EIP712 payload for the handles to decrypt
|
|
26
26
|
const eip712Payload = createEIP712Payload({
|
|
27
27
|
chainId: BigInt(chainId),
|
|
@@ -58,8 +58,7 @@ export async function attestedCompute({ executorAddress, lhsHandle, op, rhsPlain
|
|
|
58
58
|
},
|
|
59
59
|
});
|
|
60
60
|
// Envelope signatures are verified against the on-chain authorized signer set
|
|
61
|
-
|
|
62
|
-
let decryptionAttestation = await kmsQuorumClient.attestedCompute(attestedComputeRequest, backoffConfig, reencryptKeypair, isRealClient ? executorAddress : undefined, isRealClient ? walletClient : undefined);
|
|
61
|
+
let decryptionAttestation = await kmsQuorumClient.attestedCompute(attestedComputeRequest, backoffConfig, reencryptKeypair, executorAddress, walletClient);
|
|
63
62
|
// Decrypt encrypted attestations and verify inner DecryptionAttestation signatures
|
|
64
63
|
if (reencryptPubKey && reencryptKeypair) {
|
|
65
64
|
const [decryptedAttestation] = await decryptEncryptedAttestations([decryptionAttestation], reencryptKeypair);
|
|
@@ -74,4 +73,4 @@ export async function attestedCompute({ executorAddress, lhsHandle, op, rhsPlain
|
|
|
74
73
|
throw new AttestedComputeError('Failed to perform attested compute', error);
|
|
75
74
|
}
|
|
76
75
|
}
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0ZWQtY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdHRlc3RlZGNvbXB1dGUvYXR0ZXN0ZWQtY29tcHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUNMLDRCQUE0QixFQUM1QixjQUFjLEdBQ2YsTUFBTSx3Q0FBd0MsQ0FBQztBQUtoRCxPQUFPLEVBQUUsZUFBZSxFQUFhLE1BQU0sY0FBYyxDQUFDO0FBRTFELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSy9ELE9BQU8sRUFFTCw0QkFBNEIsR0FDN0IsTUFBTSxvREFBb0QsQ0FBQztBQUU1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQXFCLE1BQU0sa0JBQWtCLENBQUM7QUFDL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFxQixNQUFNLFlBQVksQ0FBQztBQUVyRSxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxxQkFBcUIsQ0FBQztBQThGbEUsTUFBTSxDQUFDLEtBQUssVUFBVSxlQUFlLENBQTZCLEVBQ2hFLGVBQWUsRUFDZixTQUFTLEVBQ1QsRUFBRSxFQUNGLFlBQVksRUFDWixhQUFhLEVBQ2IsWUFBWSxFQUNaLGVBQWUsRUFDZixPQUFPLEVBQ1AsZUFBZSxFQUNmLGdCQUFnQixHQVlqQjtJQUlDLElBQUksQ0FBQztRQUNILGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUxQixJQUNFLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsQ0FBQyx3QkFBd0IsQ0FBQyxlQUFlLEVBQUUsZ0JBQWdCLENBQUMsRUFDNUQsQ0FBQztZQUNELE1BQU0sSUFBSSxvQkFB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
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { Account, Chain,
|
|
1
|
+
import type { Account, Chain, Transport, WalletClient } from 'viem';
|
|
2
2
|
import { type HexString } from '../binary.js';
|
|
3
3
|
import { type SupportedChainId } from '../chain.js';
|
|
4
4
|
import { EncryptionScheme, type SupportedFheType } from '../encryption/encryption.js';
|
|
5
|
+
import { type HandleWithProof } from '../generated/es/inco/kms/lite/v1/types_pb.js';
|
|
5
6
|
import { validateHandle } from '../handle.js';
|
|
6
7
|
import { KmsQuorumClient } from '../kms/quorumClient.js';
|
|
7
8
|
import type { XwingKeypair } from '../lite/xwing.js';
|
|
@@ -9,8 +10,6 @@ import type { BackoffConfig } from '../retry.js';
|
|
|
9
10
|
import { type DecryptionAttestation, type EncryptedDecryptionAttestation } from './types.js';
|
|
10
11
|
export { validateHandle };
|
|
11
12
|
export declare const ATTESTED_DECRYPT_DOMAIN_NAME = "IncoAttestedDecrypt";
|
|
12
|
-
export declare const DEFAULT_ATTESTED_DECRYPT_DOMAIN_VERSION = "2";
|
|
13
|
-
export declare const TEST_RPC_URL = "UNUSED IN TEST";
|
|
14
13
|
/**
|
|
15
14
|
* Arguments for creating an attested decrypt request.
|
|
16
15
|
*/
|
|
@@ -58,5 +57,5 @@ export declare function attestedDecrypt({ handles, backoffConfig, walletClient,
|
|
|
58
57
|
kmsQuorumClient: KmsQuorumClient;
|
|
59
58
|
executorAddress: HexString;
|
|
60
59
|
}): Promise<Array<EncryptedDecryptionAttestation<EncryptionScheme, SupportedFheType>>>;
|
|
61
|
-
export declare function
|
|
60
|
+
export declare function buildHandlesWithProofs(handles: HexString[]): Array<HandleWithProof>;
|
|
62
61
|
export declare function decryptEncryptedAttestations(attestations: Array<DecryptionAttestation<EncryptionScheme, SupportedFheType> | EncryptedDecryptionAttestation<EncryptionScheme, SupportedFheType>>, reencryptKeypair: XwingKeypair): Promise<Array<DecryptionAttestation<EncryptionScheme, SupportedFheType>>>;
|