@inco/js 0.1.35 → 0.1.37
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 +20 -0
- package/dist/binary.js +32 -47
- package/dist/chain.js +7 -11
- package/dist/encryption/encryption.js +54 -62
- package/dist/encryption/index.cjs +24706 -0
- package/dist/encryption/index.js +2 -18
- package/dist/encryption/index.mjs +25787 -0
- package/dist/fhevm/fhe-environment.js +6 -9
- package/dist/fhevm/fhevm.js +34 -40
- package/dist/fhevm/index.cjs +87 -0
- package/dist/fhevm/index.js +2 -18
- package/dist/fhevm/index.mjs +90 -0
- package/dist/fhevm/reencrypt.js +33 -37
- package/dist/fhevm/tfhe.js +79 -87
- package/dist/fhevm/types.js +13 -16
- package/dist/generated/abis/addTwo.js +2 -5
- package/dist/generated/abis/inco-fhevm.js +47 -50
- package/dist/generated/abis/index.cjs +12493 -0
- package/dist/generated/abis/index.js +3 -19
- package/dist/generated/abis/index.mjs +12496 -0
- package/dist/generated/abis/lightning.d.ts +1361 -115
- package/dist/generated/abis/lightning.js +1043 -140
- package/dist/generated/es/cosmos/ics23/v1/proofs_pb.js +22 -25
- package/dist/generated/es/cosmos/msg/v1/msg_pb.js +6 -9
- package/dist/generated/es/cosmos_proto/cosmos_pb.js +18 -21
- package/dist/generated/es/google/api/annotations_pb.js +6 -9
- package/dist/generated/es/google/api/http_pb.js +6 -9
- package/dist/generated/es/inco/fhe/v1/events_pb.js +7 -10
- package/dist/generated/es/inco/fhe/v1/genesis_pb.js +12 -15
- package/dist/generated/es/inco/fhe/v1/query_pb.js +25 -28
- package/dist/generated/es/inco/fhe/v1/tx_pb.js +25 -28
- package/dist/generated/es/inco/fhe/v1/types_pb.js +19 -22
- package/dist/generated/es/inco/kms/lite/v1/kms_service_pb.js +11 -14
- package/dist/generated/es/inco/kms/lite/v1/types_pb.js +10 -13
- package/dist/generated/es/inco/preflight/v1/genesis_pb.js +6 -9
- package/dist/generated/es/inco/preflight/v1/query_pb.js +11 -14
- package/dist/generated/es/inco/preflight/v1/tx_pb.js +13 -16
- package/dist/generated/es/inco/preflight/v1/types_pb.js +8 -11
- package/dist/generated/es/kms/base_pb.js +35 -38
- package/dist/generated/es/sf/ethereum/type/v2/type_pb.js +43 -46
- package/dist/generated/fhe-environments.js +2 -5
- package/dist/generated/lightning.d.ts +21 -0
- package/dist/generated/lightning.js +24 -5
- package/dist/generated/local-node.js +2 -5
- package/dist/generated/ts/amino/amino.js +2 -5
- package/dist/generated/ts/cometbft/abci/v1/types.js +547 -563
- package/dist/generated/ts/cometbft/crypto/v1/keys.js +7 -10
- package/dist/generated/ts/cometbft/crypto/v1/proof.js +33 -36
- package/dist/generated/ts/cometbft/types/v1/params.js +95 -98
- package/dist/generated/ts/cometbft/types/v1/validator.js +40 -45
- package/dist/generated/ts/cosmos/app/v1alpha1/module.js +25 -28
- package/dist/generated/ts/cosmos/msg/v1/msg.js +2 -5
- package/dist/generated/ts/cosmos_proto/cosmos.js +15 -20
- package/dist/generated/ts/gogoproto/gogo.js +2 -5
- package/dist/generated/ts/google/api/annotations.js +2 -5
- package/dist/generated/ts/google/api/http.js +30 -33
- package/dist/generated/ts/google/protobuf/descriptor.js +468 -506
- package/dist/generated/ts/google/protobuf/duration.js +7 -10
- package/dist/generated/ts/google/protobuf/timestamp.js +7 -10
- package/dist/generated/ts/google/protobuf/wrappers.js +39 -42
- package/dist/generated/ts/inco/abci/v1/types.js +13 -16
- package/dist/generated/ts/inco/fhe/module/v1/module.js +7 -10
- package/dist/generated/ts/inco/fhe/v1/events.js +32 -35
- package/dist/generated/ts/inco/fhe/v1/genesis.js +127 -130
- package/dist/generated/ts/inco/fhe/v1/query.js +160 -163
- package/dist/generated/ts/inco/fhe/v1/tx.js +150 -153
- package/dist/generated/ts/inco/fhe/v1/types.js +70 -75
- package/dist/generated/ts/inco/originchain/module/v1/module.js +7 -10
- package/dist/generated/ts/inco/originchain/v1/abci.js +34 -37
- package/dist/generated/ts/inco/originchain/v1/events.js +11 -14
- package/dist/generated/ts/inco/originchain/v1/genesis.js +13 -16
- package/dist/generated/ts/inco/originchain/v1/query.js +41 -44
- package/dist/generated/ts/inco/originchain/v1/tx.js +24 -27
- package/dist/generated/ts/inco/originchain/v1/types.js +11 -14
- package/dist/generated/ts/inco/preflight/module/v1/module.js +7 -10
- package/dist/generated/ts/inco/preflight/v1/genesis.js +27 -30
- package/dist/generated/ts/inco/preflight/v1/query.js +41 -44
- package/dist/generated/ts/inco/preflight/v1/tx.js +53 -56
- package/dist/generated/ts/inco/preflight/v1/types.js +38 -41
- package/dist/handle.js +26 -33
- package/dist/index.cjs +24883 -0
- package/dist/index.js +6 -22
- package/dist/index.mjs +25964 -0
- package/dist/l1/client.js +19 -23
- package/dist/l1/index.js +3 -19
- package/dist/l1/preflight.js +13 -16
- package/dist/lite/deployments.js +9 -13
- package/dist/lite/ecies.js +37 -48
- package/dist/lite/hadu.js +21 -26
- package/dist/lite/index.cjs +52789 -0
- package/dist/lite/index.js +7 -23
- package/dist/lite/index.mjs +71691 -0
- package/dist/lite/lightning.js +31 -35
- package/dist/lite/reencrypt.d.ts +4 -4
- package/dist/lite/reencrypt.js +33 -44
- package/dist/local/index.cjs +24479 -0
- package/dist/local/index.js +2 -18
- package/dist/local/index.mjs +42864 -0
- package/dist/local/local-node.js +21 -25
- package/dist/reencryption/eip712.js +18 -21
- package/dist/reencryption/index.cjs +24681 -0
- package/dist/reencryption/index.js +3 -19
- package/dist/reencryption/index.mjs +24684 -0
- package/dist/reencryption/types.d.ts +6 -1
- package/dist/reencryption/types.js +1 -2
- package/dist/schema.js +6 -10
- package/dist/viem.js +7 -11
- package/package.json +1 -1
package/README.md
CHANGED
@@ -72,6 +72,26 @@ const resultPlaintext = await reencryptor({ handle: resultHandle });
|
|
72
72
|
console.log(resultPlaintext.value); // The decrypted value
|
73
73
|
```
|
74
74
|
|
75
|
+
Handles are processed asynchronously so you may need to wait for our covalidators to catch and compute the value. If you request a reencrypt before it has been processed you will get an error. To help ameliorate this the `reencryptor` has built-in retries, you can further customise by passing a `BackoffConfig` as a second argument:
|
76
|
+
|
77
|
+
```ts
|
78
|
+
type BackoffConfig = {
|
79
|
+
maxRetries: number;
|
80
|
+
baseDelayInMs: number;
|
81
|
+
backoffFactor: number;
|
82
|
+
};
|
83
|
+
|
84
|
+
const resultHandle = "0x..." as Hex;
|
85
|
+
const reencryptor = await zap.getReencryptor(walletClient);
|
86
|
+
// Default backoff config shown for reference
|
87
|
+
const backoffConfig: BackoffConfig = {
|
88
|
+
maxRetries: 10,
|
89
|
+
baseDelayInMs: 1000,
|
90
|
+
backoffFactor: 1.5,
|
91
|
+
};
|
92
|
+
const resultPlaintext = await reencryptor({ handle: resultHandle }, backoffConfig);
|
93
|
+
```
|
94
|
+
|
75
95
|
## License
|
76
96
|
|
77
97
|
See the [LICENSE](./LICENSE) file.
|
package/dist/binary.js
CHANGED
@@ -1,36 +1,21 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
exports.bigintToBytes32 = bigintToBytes32;
|
7
|
-
exports.padLeft = padLeft;
|
8
|
-
exports.bytes32ToBigint = bytes32ToBigint;
|
9
|
-
exports.bytesFromHexString = bytesFromHexString;
|
10
|
-
exports.mustBeHex = mustBeHex;
|
11
|
-
exports.normaliseToHex = normaliseToHex;
|
12
|
-
exports.bytesToHex = bytesToHex;
|
13
|
-
exports.asBytes32 = asBytes32;
|
14
|
-
exports.parseAddress = parseAddress;
|
15
|
-
exports.parseHex = parseHex;
|
16
|
-
const effect_1 = require("effect");
|
17
|
-
const viem_1 = require("viem");
|
18
|
-
const schema_1 = require("./schema");
|
19
|
-
exports.HexString = effect_1.Schema.TemplateLiteral('0x', effect_1.Schema.String);
|
20
|
-
function bytesToBigInt(byteArray) {
|
1
|
+
import { ParseResult, Schema } from 'effect';
|
2
|
+
import { isHex } from 'viem';
|
3
|
+
import { parse } from './schema';
|
4
|
+
export const HexString = Schema.TemplateLiteral('0x', Schema.String);
|
5
|
+
export function bytesToBigInt(byteArray) {
|
21
6
|
// Ugly but better than bigint-buffer that insists on writing junk to stderr if it doesn't have native bindings
|
22
7
|
return !byteArray?.length ? BigInt(0) : BigInt('0x' + Buffer.from(byteArray).toString('hex'));
|
23
8
|
}
|
24
|
-
function bufferToBigInt(buffer) {
|
9
|
+
export function bufferToBigInt(buffer) {
|
25
10
|
return bytesToBigInt(Uint8Array.from(buffer));
|
26
11
|
}
|
27
12
|
// Convert a bigint to a 32-byte array, left-padded if necessary. Note: it is
|
28
13
|
// caller's responsibility to ensure that the bigint is not too large to fit in
|
29
14
|
// 32 bytes, or else the result will be truncated.
|
30
|
-
function bigintToBytes32(value) {
|
31
|
-
return
|
15
|
+
export function bigintToBytes32(value) {
|
16
|
+
return parse(Bytes32, Buffer.from(value.toString(16).padStart(64, '0'), 'hex').toString('hex'));
|
32
17
|
}
|
33
|
-
function padLeft(bs, n) {
|
18
|
+
export function padLeft(bs, n) {
|
34
19
|
if (bs.length > n) {
|
35
20
|
throw new Error(`Cannot pad ${bs.length} bytes to ${n} - would truncate`);
|
36
21
|
}
|
@@ -38,45 +23,45 @@ function padLeft(bs, n) {
|
|
38
23
|
buf.set(bs, n - bs.length);
|
39
24
|
return buf;
|
40
25
|
}
|
41
|
-
function bytes32ToBigint(bs) {
|
26
|
+
export function bytes32ToBigint(bs) {
|
42
27
|
const bytes32 = asBytes32(bs);
|
43
28
|
return BigInt(bytes32);
|
44
29
|
}
|
45
|
-
function bytesFromHexString(hexString) {
|
30
|
+
export function bytesFromHexString(hexString) {
|
46
31
|
return Buffer.from(hexString.startsWith('0x') ? hexString.slice(2) : hexString, 'hex');
|
47
32
|
}
|
48
|
-
function mustBeHex(value) {
|
49
|
-
if (!
|
33
|
+
export function mustBeHex(value) {
|
34
|
+
if (!isHex(value)) {
|
50
35
|
throw new Error(`Expected hex string, got: ${value}`);
|
51
36
|
}
|
52
37
|
return value;
|
53
38
|
}
|
54
|
-
function normaliseToHex(value) {
|
39
|
+
export function normaliseToHex(value) {
|
55
40
|
return mustBeHex(value.startsWith('0x') ? value : `0x${value}`);
|
56
41
|
}
|
57
|
-
function bytesToHex(bs) {
|
42
|
+
export function bytesToHex(bs) {
|
58
43
|
return ('0x' + Buffer.from(bs).toString('hex'));
|
59
44
|
}
|
60
|
-
const ByteArray =
|
61
|
-
const BytesToHex =
|
45
|
+
const ByteArray = Schema.Object.pipe(Schema.filter((x) => x instanceof Uint8Array));
|
46
|
+
const BytesToHex = Schema.transformOrFail(Schema.Union(Schema.String, ByteArray), HexString, {
|
62
47
|
strict: true,
|
63
|
-
encode:
|
48
|
+
encode: ParseResult.succeed,
|
64
49
|
decode: (x) => x instanceof Uint8Array
|
65
|
-
?
|
66
|
-
: ((y) =>
|
67
|
-
?
|
68
|
-
:
|
50
|
+
? ParseResult.succeed(bytesToHex(x))
|
51
|
+
: ((y) => isHex(y)
|
52
|
+
? ParseResult.succeed(y)
|
53
|
+
: ParseResult.fail(new ParseResult.Unexpected(y, `'${y}' is not a hex string`)))(normaliseToHex(x)),
|
69
54
|
});
|
70
|
-
|
71
|
-
`Expected 32-byte hex string (66 characters with 0x prefix) but got ${x.length} character string`),
|
72
|
-
function asBytes32(x) {
|
73
|
-
return
|
55
|
+
export const Bytes32 = BytesToHex.pipe(Schema.filter((x) => x.length === 66 ||
|
56
|
+
`Expected 32-byte hex string (66 characters with 0x prefix) but got ${x.length} character string`), Schema.brand('Bytes32'));
|
57
|
+
export function asBytes32(x) {
|
58
|
+
return parse(Bytes32, x);
|
74
59
|
}
|
75
|
-
|
76
|
-
function parseAddress(address) {
|
77
|
-
return
|
60
|
+
export const Address = HexString.pipe(Schema.filter((s) => s.length === 42 || `Address must be a 20-byte '0x'-prefixed hex string, but got: ${s}`), Schema.brand('Address'));
|
61
|
+
export function parseAddress(address) {
|
62
|
+
return parse(Address, address);
|
78
63
|
}
|
79
|
-
function parseHex(hex) {
|
80
|
-
return
|
64
|
+
export function parseHex(hex) {
|
65
|
+
return parse(HexString, hex);
|
81
66
|
}
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2JpbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM3QyxPQUFPLEVBQU8sS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFakMsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQU1yRSxNQUFNLFVBQVUsYUFBYSxDQUFDLFNBQXFCO0lBQ2pELCtHQUErRztJQUMvRyxPQUFPLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDaEcsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsTUFBYztJQUMzQyxPQUFPLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDaEQsQ0FBQztBQUVELDZFQUE2RTtBQUM3RSwrRUFBK0U7QUFDL0Usa0RBQWtEO0FBQ2xELE1BQU0sVUFBVSxlQUFlLENBQUMsS0FBYTtJQUMzQyxPQUFPLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDbEcsQ0FBQztBQUVELE1BQU0s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
|
package/dist/chain.js
CHANGED
@@ -1,28 +1,24 @@
|
|
1
|
-
"use strict";
|
2
1
|
// No imports here to avoid issues with closures and modules across pulumi boundary
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
-
exports.fheSupportedChains = exports.supportedChains = void 0;
|
5
|
-
exports.getSupportedChain = getSupportedChain;
|
6
2
|
// This file can be seen as mirroring the functionality of viem changes without depending on it directly.
|
7
3
|
// It exists as a workaround for some very gnarly issues with code reuse between Pulumi and this module, partly
|
8
4
|
// relating to modules but also linked to Pulumi's ability to capture closures and serialise them.
|
9
|
-
|
5
|
+
export const supportedChains = {
|
10
6
|
baseSepolia: 84532,
|
11
7
|
sepolia: 11155111,
|
12
8
|
monadTestnet: 10143,
|
13
9
|
};
|
14
|
-
|
10
|
+
export const fheSupportedChains = { baseSepolia: 84532, sepolia: 11155111 };
|
15
11
|
// Get supportedChain either by its chain ID or the short name (lower pascal case)
|
16
|
-
function getSupportedChain(chainish) {
|
12
|
+
export function getSupportedChain(chainish) {
|
17
13
|
const found = typeof chainish === 'number' || typeof chainish === 'bigint'
|
18
|
-
? Object.entries(
|
14
|
+
? Object.entries(supportedChains).find(([, id]) => id === Number(chainish))
|
19
15
|
: typeof chainish === 'object'
|
20
|
-
? Object.entries(
|
21
|
-
: Object.entries(
|
16
|
+
? Object.entries(supportedChains).find(([, id]) => id === Number(chainish.id))
|
17
|
+
: Object.entries(supportedChains).find(([shortName]) => shortName === chainish);
|
22
18
|
if (!found) {
|
23
19
|
throw new Error(`Supported chain ${JSON.stringify(chainish)} not found`);
|
24
20
|
}
|
25
21
|
const [name, id] = found;
|
26
22
|
return { name: name, id };
|
27
23
|
}
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2hhaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUZBQW1GO0FBRW5GLHlHQUF5RztBQUN6RywrR0FBK0c7QUFDL0csa0dBQWtHO0FBRWxHLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUM3QixXQUFXLEVBQUUsS0FBSztJQUNsQixPQUFPLEVBQUUsUUFBUTtJQUNqQixZQUFZLEVBQUUsS0FBSztDQUNYLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBVyxDQUFDO0FBY3JGLGtGQUFrRjtBQUNsRixNQUFNLFVBQVUsaUJBQWlCLENBQUMsUUFBa0I7SUFDbEQsTUFBTSxLQUFLLEdBQ1QsT0FBTyxRQUFRLEtBQUssUUFBUSxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVE7UUFDMUQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNFLENBQUMsQ0FBQyxPQUFPLFFBQVEsS0FBSyxRQUFRO1lBQzVCLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDOUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxLQUFLLFFBQVEsQ0FBQyxDQUFDO0lBQ3RGLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFDRCxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUN6QixPQUFPLEVBQUUsSUFBSSxFQUFFLElBQTBCLEVBQUUsRUFBRSxFQUFFLENBQUM7QUFDbEQsQ0FBQyJ9
|
@@ -1,85 +1,77 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
exports.bytes32ToPlaintext = bytes32ToPlaintext;
|
9
|
-
const effect_1 = require("effect");
|
10
|
-
const binary_1 = require("../binary");
|
11
|
-
const handle_1 = require("../handle");
|
12
|
-
exports.supportedFheTypes = {
|
13
|
-
euint64: handle_1.handleTypes.euint64,
|
14
|
-
euint256: handle_1.handleTypes.euint256,
|
15
|
-
ebool: handle_1.handleTypes.ebool,
|
1
|
+
import { Schema } from 'effect';
|
2
|
+
import { bigintToBytes32, Bytes32, HexString } from '../binary';
|
3
|
+
import { handleTypes, InputContext } from '../handle';
|
4
|
+
export const supportedFheTypes = {
|
5
|
+
euint64: handleTypes.euint64,
|
6
|
+
euint256: handleTypes.euint256,
|
7
|
+
ebool: handleTypes.ebool,
|
16
8
|
};
|
17
|
-
const supportedFheTypeNames = Object.keys(
|
18
|
-
|
9
|
+
const supportedFheTypeNames = Object.keys(supportedFheTypes);
|
10
|
+
export const SupportedFheTypeName = Schema.Literal(...supportedFheTypeNames);
|
19
11
|
// TODO: extend to all types
|
20
|
-
|
21
|
-
|
12
|
+
export const SupportedFheType = Schema.Literal(...Object.values(supportedFheTypes));
|
13
|
+
export const encryptionSchemes = {
|
22
14
|
tfhe: 0,
|
23
15
|
ecies: 1,
|
24
16
|
cryptobox: 2,
|
25
17
|
};
|
26
|
-
function getEncryptionSchemeName(scheme) {
|
18
|
+
export function getEncryptionSchemeName(scheme) {
|
27
19
|
switch (scheme) {
|
28
|
-
case
|
20
|
+
case encryptionSchemes.tfhe:
|
29
21
|
return 'TFHE';
|
30
|
-
case
|
22
|
+
case encryptionSchemes.ecies:
|
31
23
|
return 'ECIES';
|
32
|
-
case
|
24
|
+
case encryptionSchemes.cryptobox:
|
33
25
|
return 'NACLCryptoBox';
|
34
26
|
default:
|
35
27
|
throw new Error(`Unknown encryption scheme: ${scheme}`);
|
36
28
|
}
|
37
29
|
}
|
38
|
-
|
39
|
-
|
30
|
+
export const EncryptionScheme = Schema.Literal(encryptionSchemes.tfhe, encryptionSchemes.ecies, encryptionSchemes.cryptobox);
|
31
|
+
export const ciphertextEnvelopes = {
|
40
32
|
none: 0,
|
41
33
|
hadu: 1,
|
42
34
|
};
|
43
|
-
|
44
|
-
|
45
|
-
scheme:
|
46
|
-
type:
|
47
|
-
value:
|
48
|
-
envelope:
|
35
|
+
export const CiphertextEnvelope = Schema.Literal(...Object.values(ciphertextEnvelopes));
|
36
|
+
export const Ciphertext = Schema.Struct({
|
37
|
+
scheme: EncryptionScheme,
|
38
|
+
type: SupportedFheType,
|
39
|
+
value: HexString,
|
40
|
+
envelope: Schema.optional(CiphertextEnvelope),
|
49
41
|
});
|
50
|
-
|
51
|
-
ciphertext:
|
52
|
-
context:
|
42
|
+
export const CiphertextWithContext = Schema.Struct({
|
43
|
+
ciphertext: Ciphertext,
|
44
|
+
context: InputContext,
|
53
45
|
});
|
54
|
-
|
55
|
-
ciphertext:
|
56
|
-
context:
|
57
|
-
prehandle:
|
58
|
-
handle:
|
46
|
+
export const EncryptResult = Schema.Struct({
|
47
|
+
ciphertext: Ciphertext,
|
48
|
+
context: InputContext,
|
49
|
+
prehandle: Bytes32,
|
50
|
+
handle: Bytes32,
|
59
51
|
});
|
60
|
-
|
61
|
-
scheme:
|
62
|
-
type:
|
63
|
-
value:
|
64
|
-
}),
|
65
|
-
scheme:
|
66
|
-
type:
|
67
|
-
value:
|
52
|
+
export const Plaintext = Schema.Union(Schema.Struct({
|
53
|
+
scheme: EncryptionScheme,
|
54
|
+
type: Schema.Literal(handleTypes.euint64, handleTypes.euint256),
|
55
|
+
value: Schema.BigInt,
|
56
|
+
}), Schema.Struct({
|
57
|
+
scheme: EncryptionScheme,
|
58
|
+
type: Schema.Literal(handleTypes.ebool),
|
59
|
+
value: Schema.Boolean,
|
68
60
|
}));
|
69
|
-
|
70
|
-
plaintext:
|
71
|
-
context:
|
61
|
+
export const PlaintextWithContext = Schema.Struct({
|
62
|
+
plaintext: Plaintext,
|
63
|
+
context: InputContext,
|
72
64
|
});
|
73
|
-
function bigintToPlaintext(scheme, type, bigPt) {
|
65
|
+
export function bigintToPlaintext(scheme, type, bigPt) {
|
74
66
|
switch (type) {
|
75
|
-
case
|
76
|
-
case
|
67
|
+
case handleTypes.euint64:
|
68
|
+
case handleTypes.euint256:
|
77
69
|
return {
|
78
70
|
scheme,
|
79
71
|
type,
|
80
72
|
value: bigPt,
|
81
73
|
};
|
82
|
-
case
|
74
|
+
case handleTypes.ebool:
|
83
75
|
return {
|
84
76
|
scheme,
|
85
77
|
type,
|
@@ -88,19 +80,19 @@ function bigintToPlaintext(scheme, type, bigPt) {
|
|
88
80
|
}
|
89
81
|
throw new Error(`Unsupported FHE type: ${type}`);
|
90
82
|
}
|
91
|
-
function plaintextToBigint(plaintext) {
|
83
|
+
export function plaintextToBigint(plaintext) {
|
92
84
|
switch (plaintext.type) {
|
93
|
-
case
|
94
|
-
case
|
85
|
+
case handleTypes.euint64:
|
86
|
+
case handleTypes.euint256:
|
95
87
|
return plaintext.value;
|
96
|
-
case
|
88
|
+
case handleTypes.ebool:
|
97
89
|
return plaintext.value ? 1n : 0n;
|
98
90
|
}
|
99
91
|
}
|
100
|
-
function plaintextToBytes32(plaintext) {
|
101
|
-
return
|
92
|
+
export function plaintextToBytes32(plaintext) {
|
93
|
+
return bigintToBytes32(plaintextToBigint(plaintext));
|
102
94
|
}
|
103
|
-
function bytes32ToPlaintext(plaintext, scheme, type) {
|
95
|
+
export function bytes32ToPlaintext(plaintext, scheme, type) {
|
104
96
|
return bigintToPlaintext(scheme, type, BigInt(plaintext));
|
105
97
|
}
|
106
|
-
//# sourceMappingURL=data:application/json;base64,
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbmNyeXB0aW9uL2VuY3J5cHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNoQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFhdEQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDL0IsT0FBTyxFQUFFLFdBQVcsQ0FBQyxPQUFPO0lBQzVCLFFBQVEsRUFBRSxXQUFXLENBQUMsUUFBUTtJQUM5QixLQUFLLEVBQUUsV0FBVyxDQUFDLEtBQUs7Q0FDaEIsQ0FBQztBQUVYLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBdUMsQ0FBQztBQUVuRyxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcscUJBQXFCLENBQUMsQ0FBQztBQUk3RSw0QkFBNEI7QUFDNUIsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0FBSXBGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLElBQUksRUFBRSxDQUFDO0lBQ1AsS0FBSyxFQUFFLENBQUM7SUFDUixTQUFTLEVBQUUsQ0FBQztDQUNKLENBQUM7QUFFWCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsTUFBYztJQUNwRCxRQUFRLE1BQU0sRUFBRSxDQUFDO1FBQ2YsS0FBSyxpQkFBaUIsQ0FBQyxJQUFJO1lBQ3pCLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLEtBQUssaUJBQWlCLENBQUMsS0FBSztZ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
|