@zhoujun_aptos/octopus-ts-sdk-min 0.22.4 → 0.22.6
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/common/index.d.ts +966 -0
- package/dist/common/index.js +4491 -0
- package/dist/common/index.js.map +1 -0
- package/dist/esm/index.d.mts +966 -0
- package/dist/esm/index.mjs +4449 -0
- package/dist/esm/index.mjs.map +1 -0
- package/package.json +22 -8
- package/dist/elgamal.d.ts +0 -31
- package/dist/elgamal.d.ts.map +0 -1
- package/dist/elgamal.js +0 -96
- package/dist/elgamal.js.map +0 -1
- package/dist/enc/index.d.ts +0 -42
- package/dist/enc/index.d.ts.map +0 -1
- package/dist/enc/index.js +0 -211
- package/dist/enc/index.js.map +0 -1
- package/dist/enc/simple_elgamal_ristretto255.d.ts +0 -28
- package/dist/enc/simple_elgamal_ristretto255.d.ts.map +0 -1
- package/dist/enc/simple_elgamal_ristretto255.js +0 -173
- package/dist/enc/simple_elgamal_ristretto255.js.map +0 -1
- package/dist/group.d.ts +0 -39
- package/dist/group.d.ts.map +0 -1
- package/dist/group.js +0 -165
- package/dist/group.js.map +0 -1
- package/dist/ibe/index.d.ts +0 -54
- package/dist/ibe/index.d.ts.map +0 -1
- package/dist/ibe/index.js +0 -280
- package/dist/ibe/index.js.map +0 -1
- package/dist/ibe/otp_hmac_boneh_franklin_bls12381_short_pk.d.ts +0 -38
- package/dist/ibe/otp_hmac_boneh_franklin_bls12381_short_pk.d.ts.map +0 -1
- package/dist/ibe/otp_hmac_boneh_franklin_bls12381_short_pk.js +0 -155
- package/dist/ibe/otp_hmac_boneh_franklin_bls12381_short_pk.js.map +0 -1
- package/dist/index.d.ts +0 -13
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -50
- package/dist/index.js.map +0 -1
- package/dist/shamir_gf256.d.ts +0 -61
- package/dist/shamir_gf256.d.ts.map +0 -1
- package/dist/shamir_gf256.js +0 -295
- package/dist/shamir_gf256.js.map +0 -1
- package/dist/sig/index.d.ts +0 -42
- package/dist/sig/index.d.ts.map +0 -1
- package/dist/sig/index.js +0 -212
- package/dist/sig/index.js.map +0 -1
- package/dist/sig/schnorr_ristretto255.d.ts +0 -29
- package/dist/sig/schnorr_ristretto255.d.ts.map +0 -1
- package/dist/sig/schnorr_ristretto255.js +0 -142
- package/dist/sig/schnorr_ristretto255.js.map +0 -1
- package/dist/silent_setup_encryption.d.ts +0 -93
- package/dist/silent_setup_encryption.d.ts.map +0 -1
- package/dist/silent_setup_encryption.js +0 -342
- package/dist/silent_setup_encryption.js.map +0 -1
- package/dist/silent_setup_encryption_xchain/aptos.d.ts +0 -40
- package/dist/silent_setup_encryption_xchain/aptos.d.ts.map +0 -1
- package/dist/silent_setup_encryption_xchain/aptos.js +0 -125
- package/dist/silent_setup_encryption_xchain/aptos.js.map +0 -1
- package/dist/silent_setup_encryption_xchain/index.d.ts +0 -116
- package/dist/silent_setup_encryption_xchain/index.d.ts.map +0 -1
- package/dist/silent_setup_encryption_xchain/index.js +0 -471
- package/dist/silent_setup_encryption_xchain/index.js.map +0 -1
- package/dist/silent_setup_encryption_xchain/solana.d.ts +0 -42
- package/dist/silent_setup_encryption_xchain/solana.d.ts.map +0 -1
- package/dist/silent_setup_encryption_xchain/solana.js +0 -145
- package/dist/silent_setup_encryption_xchain/solana.js.map +0 -1
- package/dist/sym/aes256gcm.d.ts +0 -27
- package/dist/sym/aes256gcm.d.ts.map +0 -1
- package/dist/sym/aes256gcm.js +0 -107
- package/dist/sym/aes256gcm.js.map +0 -1
- package/dist/sym/index.d.ts +0 -27
- package/dist/sym/index.d.ts.map +0 -1
- package/dist/sym/index.js +0 -154
- package/dist/sym/index.js.map +0 -1
- package/dist/threshold-ibe/aptos.d.ts +0 -42
- package/dist/threshold-ibe/aptos.d.ts.map +0 -1
- package/dist/threshold-ibe/aptos.js +0 -324
- package/dist/threshold-ibe/aptos.js.map +0 -1
- package/dist/threshold-ibe/index.d.ts +0 -147
- package/dist/threshold-ibe/index.d.ts.map +0 -1
- package/dist/threshold-ibe/index.js +0 -453
- package/dist/threshold-ibe/index.js.map +0 -1
- package/dist/threshold-ibe/solana.d.ts +0 -38
- package/dist/threshold-ibe/solana.d.ts.map +0 -1
- package/dist/threshold-ibe/solana.js +0 -197
- package/dist/threshold-ibe/solana.js.map +0 -1
- package/dist/utils.d.ts +0 -12
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -130
- package/dist/utils.js.map +0 -1
- package/dist/worker_config.d.ts +0 -30
- package/dist/worker_config.d.ts.map +0 -1
- package/dist/worker_config.js +0 -142
- package/dist/worker_config.js.map +0 -1
- package/dist/worker_task.d.ts +0 -29
- package/dist/worker_task.d.ts.map +0 -1
- package/dist/worker_task.js +0 -178
- package/dist/worker_task.js.map +0 -1
|
@@ -1,453 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @module threshold-ibe
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*/
|
|
7
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
-
if (k2 === undefined) k2 = k;
|
|
9
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
-
}
|
|
13
|
-
Object.defineProperty(o, k2, desc);
|
|
14
|
-
}) : (function(o, m, k, k2) {
|
|
15
|
-
if (k2 === undefined) k2 = k;
|
|
16
|
-
o[k2] = m[k];
|
|
17
|
-
}));
|
|
18
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
19
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
20
|
-
}) : function(o, v) {
|
|
21
|
-
o["default"] = v;
|
|
22
|
-
});
|
|
23
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
24
|
-
var ownKeys = function(o) {
|
|
25
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
26
|
-
var ar = [];
|
|
27
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
28
|
-
return ar;
|
|
29
|
-
};
|
|
30
|
-
return ownKeys(o);
|
|
31
|
-
};
|
|
32
|
-
return function (mod) {
|
|
33
|
-
if (mod && mod.__esModule) return mod;
|
|
34
|
-
var result = {};
|
|
35
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
36
|
-
__setModuleDefault(result, mod);
|
|
37
|
-
return result;
|
|
38
|
-
};
|
|
39
|
-
})();
|
|
40
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
-
exports.ProofOfPermission = exports.FullDecryptionDomain = exports.Ciphertext = exports.DecryptionKey = exports.EncryptionKey = exports.ContractID = exports.Committee = void 0;
|
|
42
|
-
exports.encrypt = encrypt;
|
|
43
|
-
exports.decrypt = decrypt;
|
|
44
|
-
exports.verifyAndExtract = verifyAndExtract;
|
|
45
|
-
const ts_sdk_1 = require("@aptos-labs/ts-sdk");
|
|
46
|
-
const utils_1 = require("@noble/hashes/utils");
|
|
47
|
-
const SolanaSDK = __importStar(require("@solana/web3.js"));
|
|
48
|
-
const __1 = require("..");
|
|
49
|
-
const IBE = __importStar(require("../ibe"));
|
|
50
|
-
const ShamirGF256 = __importStar(require("../shamir_gf256"));
|
|
51
|
-
const Sym = __importStar(require("../sym"));
|
|
52
|
-
const aptos_1 = require("./aptos");
|
|
53
|
-
const solana_1 = require("./solana");
|
|
54
|
-
class Committee {
|
|
55
|
-
workerEndpoints;
|
|
56
|
-
threshold;
|
|
57
|
-
constructor({ workerEndpoints, threshold }) {
|
|
58
|
-
if (workerEndpoints.length === 0)
|
|
59
|
-
throw new Error("workerEndpoints must be non-empty");
|
|
60
|
-
if (threshold === 0)
|
|
61
|
-
throw new Error("threshold must be greater than 0");
|
|
62
|
-
if (threshold > workerEndpoints.length)
|
|
63
|
-
throw new Error("threshold must be less than or equal to the number of workerEndpoints");
|
|
64
|
-
this.workerEndpoints = workerEndpoints;
|
|
65
|
-
this.threshold = threshold;
|
|
66
|
-
}
|
|
67
|
-
static dummy() {
|
|
68
|
-
return new Committee({ workerEndpoints: ['http://localhost:3000'], threshold: 1 });
|
|
69
|
-
}
|
|
70
|
-
static deserialize(deserializer) {
|
|
71
|
-
const numWorkerEndpoints = deserializer.deserializeUleb128AsU32();
|
|
72
|
-
const workerEndpoints = Array.from({ length: numWorkerEndpoints }, () => deserializer.deserializeStr());
|
|
73
|
-
const threshold = Number(deserializer.deserializeU64());
|
|
74
|
-
return new Committee({ workerEndpoints, threshold });
|
|
75
|
-
}
|
|
76
|
-
serialize(serializer) {
|
|
77
|
-
serializer.serializeU32AsUleb128(this.workerEndpoints.length);
|
|
78
|
-
this.workerEndpoints.forEach(workerEndpoint => serializer.serializeStr(workerEndpoint));
|
|
79
|
-
serializer.serializeU64(this.threshold);
|
|
80
|
-
}
|
|
81
|
-
toPrettyMessage(indent = 0) {
|
|
82
|
-
const pad = ' '.repeat(indent);
|
|
83
|
-
const endpoints = this.workerEndpoints.map(e => `\n${pad} - ${e}`).join('');
|
|
84
|
-
return `\n${pad}workerEndpoints:${endpoints}\n${pad}threshold: ${this.threshold}`;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
exports.Committee = Committee;
|
|
88
|
-
class ContractID {
|
|
89
|
-
static SCHEME_APTOS = 0;
|
|
90
|
-
static SCHEME_SOLANA = 1;
|
|
91
|
-
scheme;
|
|
92
|
-
inner;
|
|
93
|
-
constructor(scheme, inner) {
|
|
94
|
-
this.scheme = scheme;
|
|
95
|
-
this.inner = inner;
|
|
96
|
-
}
|
|
97
|
-
static newAptos({ chainId, moduleAddr, moduleName, functionName }) {
|
|
98
|
-
return new ContractID(ContractID.SCHEME_APTOS, new aptos_1.ContractID(chainId, moduleAddr, moduleName, functionName));
|
|
99
|
-
}
|
|
100
|
-
static newSolana({ knownChainName, programId }) {
|
|
101
|
-
return new ContractID(ContractID.SCHEME_SOLANA, new solana_1.ContractID({ knownChainName, programId }));
|
|
102
|
-
}
|
|
103
|
-
static dummy() {
|
|
104
|
-
return new ContractID(ContractID.SCHEME_APTOS, aptos_1.ContractID.dummy());
|
|
105
|
-
}
|
|
106
|
-
static deserialize(deserializer) {
|
|
107
|
-
const scheme = deserializer.deserializeU8();
|
|
108
|
-
if (scheme == ContractID.SCHEME_APTOS) {
|
|
109
|
-
return new ContractID(ContractID.SCHEME_APTOS, aptos_1.ContractID.deserialize(deserializer));
|
|
110
|
-
}
|
|
111
|
-
else if (scheme == ContractID.SCHEME_SOLANA) {
|
|
112
|
-
return new ContractID(ContractID.SCHEME_SOLANA, solana_1.ContractID.deserialize(deserializer));
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
throw new Error(`Unknown scheme: ${scheme}`);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
static fromBytes(bytes) {
|
|
119
|
-
const deserializer = new ts_sdk_1.Deserializer(bytes);
|
|
120
|
-
return ContractID.deserialize(deserializer);
|
|
121
|
-
}
|
|
122
|
-
static fromHex(hex) {
|
|
123
|
-
return ContractID.fromBytes((0, utils_1.hexToBytes)(hex));
|
|
124
|
-
}
|
|
125
|
-
serialize(serializer) {
|
|
126
|
-
serializer.serializeU8(this.scheme);
|
|
127
|
-
if (this.scheme == ContractID.SCHEME_APTOS) {
|
|
128
|
-
this.inner.serialize(serializer);
|
|
129
|
-
}
|
|
130
|
-
else if (this.scheme == ContractID.SCHEME_SOLANA) {
|
|
131
|
-
this.inner.serialize(serializer);
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
throw new Error(`Unknown scheme: ${this.scheme}`);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
toBytes() {
|
|
138
|
-
const serializer = new ts_sdk_1.Serializer();
|
|
139
|
-
this.serialize(serializer);
|
|
140
|
-
return serializer.toUint8Array();
|
|
141
|
-
}
|
|
142
|
-
toHex() {
|
|
143
|
-
return (0, utils_1.bytesToHex)(this.toBytes());
|
|
144
|
-
}
|
|
145
|
-
toPrettyMessage(indent = 0) {
|
|
146
|
-
const pad = ' '.repeat(indent);
|
|
147
|
-
const schemeName = this.scheme === ContractID.SCHEME_APTOS ? 'aptos' : 'solana';
|
|
148
|
-
const innerMsg = this.inner.toPrettyMessage(indent + 2);
|
|
149
|
-
return `\n${pad}scheme: ${schemeName}\n${pad}inner:${innerMsg}`;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
exports.ContractID = ContractID;
|
|
153
|
-
class EncryptionKey {
|
|
154
|
-
ibeMpks;
|
|
155
|
-
constructor({ ibeMpks }) {
|
|
156
|
-
this.ibeMpks = ibeMpks;
|
|
157
|
-
}
|
|
158
|
-
static async fetch({ committee }) {
|
|
159
|
-
const ibeMpks = await Promise.all(committee.workerEndpoints.map(async (endpoint) => {
|
|
160
|
-
const config = await __1.WorkerConfig.get(endpoint);
|
|
161
|
-
return config.ibeMpk;
|
|
162
|
-
}));
|
|
163
|
-
return new EncryptionKey({ ibeMpks });
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
exports.EncryptionKey = EncryptionKey;
|
|
167
|
-
class DecryptionKey {
|
|
168
|
-
ibeDecryptionKeys;
|
|
169
|
-
constructor(ibeDecryptionKeys) {
|
|
170
|
-
this.ibeDecryptionKeys = ibeDecryptionKeys;
|
|
171
|
-
}
|
|
172
|
-
static async fetch({ committee, contractId, domain, proof }) {
|
|
173
|
-
const decKeyLoadResults = await Promise.all(committee.workerEndpoints.map(async (workerEndpoint) => {
|
|
174
|
-
const task = __1.WorkerTask.newThresholdIbeDecryptionKey({ committee, contractId, domain, proof });
|
|
175
|
-
const controller = new AbortController();
|
|
176
|
-
const timeoutId = setTimeout(() => controller.abort(), 5000);
|
|
177
|
-
var response = null;
|
|
178
|
-
try {
|
|
179
|
-
response = await fetch(workerEndpoint, {
|
|
180
|
-
method: "POST",
|
|
181
|
-
body: task.toHex(),
|
|
182
|
-
signal: controller.signal
|
|
183
|
-
});
|
|
184
|
-
}
|
|
185
|
-
catch (error) {
|
|
186
|
-
clearTimeout(timeoutId);
|
|
187
|
-
}
|
|
188
|
-
if (response == null) {
|
|
189
|
-
return new WorkerTimedOut();
|
|
190
|
-
}
|
|
191
|
-
const responseBody = await response.text();
|
|
192
|
-
if (response.status !== 200) {
|
|
193
|
-
return new WorkerRejected(response.status, responseBody);
|
|
194
|
-
}
|
|
195
|
-
try {
|
|
196
|
-
return IBE.IdentityPrivateKey.fromHex(responseBody);
|
|
197
|
-
}
|
|
198
|
-
catch (error) {
|
|
199
|
-
return new CouldNotParseDecryptionKey(responseBody);
|
|
200
|
-
}
|
|
201
|
-
}));
|
|
202
|
-
const numSharesCollected = decKeyLoadResults.filter((loadResult) => loadResult instanceof IBE.IdentityPrivateKey).length;
|
|
203
|
-
if (numSharesCollected < committee.threshold) {
|
|
204
|
-
const workerResults = committee.workerEndpoints.map((workerEndpoint, i) => {
|
|
205
|
-
const result = decKeyLoadResults[i];
|
|
206
|
-
return `${workerEndpoint}: ${result instanceof IBE.IdentityPrivateKey ? 'Success' : result.toDisplayString()}`;
|
|
207
|
-
}).join(', ');
|
|
208
|
-
throw new Error(`Failed to collect enough shares to decrypt. Collected ${numSharesCollected} shares, but needed ${committee.threshold} shares. Worker results: ${workerResults}`);
|
|
209
|
-
}
|
|
210
|
-
const decKeys = decKeyLoadResults.map((loadResult) => loadResult instanceof IBE.IdentityPrivateKey ? loadResult : null);
|
|
211
|
-
return new DecryptionKey(decKeys);
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
exports.DecryptionKey = DecryptionKey;
|
|
215
|
-
class Ciphertext {
|
|
216
|
-
aesCiph;
|
|
217
|
-
ibeCiphs;
|
|
218
|
-
constructor(aesCiph, ibeCiphs) {
|
|
219
|
-
this.aesCiph = aesCiph;
|
|
220
|
-
this.ibeCiphs = ibeCiphs;
|
|
221
|
-
}
|
|
222
|
-
static dummy() {
|
|
223
|
-
return new Ciphertext(Sym.Ciphertext.dummy(), []);
|
|
224
|
-
}
|
|
225
|
-
static deserialize(deserializer) {
|
|
226
|
-
const aesCiph = Sym.Ciphertext.deserialize(deserializer);
|
|
227
|
-
const ibeCiphs = deserializer.deserializeVector(IBE.Ciphertext);
|
|
228
|
-
return new Ciphertext(aesCiph, ibeCiphs);
|
|
229
|
-
}
|
|
230
|
-
static fromBytes(bytes) {
|
|
231
|
-
const deserializer = new ts_sdk_1.Deserializer(bytes);
|
|
232
|
-
const ret = Ciphertext.deserialize(deserializer);
|
|
233
|
-
if (deserializer.remaining() !== 0) {
|
|
234
|
-
throw new Error("Ciphertext deserialization failed: extra bytes");
|
|
235
|
-
}
|
|
236
|
-
return ret;
|
|
237
|
-
}
|
|
238
|
-
static fromHex(hex) {
|
|
239
|
-
return Ciphertext.fromBytes((0, utils_1.hexToBytes)(hex));
|
|
240
|
-
}
|
|
241
|
-
serialize(serializer) {
|
|
242
|
-
this.aesCiph.serialize(serializer);
|
|
243
|
-
serializer.serializeU32AsUleb128(this.ibeCiphs.length);
|
|
244
|
-
this.ibeCiphs.forEach(ibeCiph => ibeCiph.serialize(serializer));
|
|
245
|
-
}
|
|
246
|
-
toBytes() {
|
|
247
|
-
const serializer = new ts_sdk_1.Serializer();
|
|
248
|
-
this.serialize(serializer);
|
|
249
|
-
return serializer.toUint8Array();
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
exports.Ciphertext = Ciphertext;
|
|
253
|
-
class FullDecryptionDomain {
|
|
254
|
-
committee;
|
|
255
|
-
contractId;
|
|
256
|
-
domain;
|
|
257
|
-
constructor({ committee, contractId, domain }) {
|
|
258
|
-
this.committee = committee;
|
|
259
|
-
this.contractId = contractId;
|
|
260
|
-
this.domain = domain;
|
|
261
|
-
}
|
|
262
|
-
static dummy() {
|
|
263
|
-
return new FullDecryptionDomain({
|
|
264
|
-
committee: Committee.dummy(),
|
|
265
|
-
contractId: ContractID.dummy(),
|
|
266
|
-
domain: new Uint8Array(0),
|
|
267
|
-
});
|
|
268
|
-
}
|
|
269
|
-
static deserialize(deserializer) {
|
|
270
|
-
const committee = Committee.deserialize(deserializer);
|
|
271
|
-
const contractId = ContractID.deserialize(deserializer);
|
|
272
|
-
const domain = deserializer.deserializeBytes();
|
|
273
|
-
return new FullDecryptionDomain({ committee, contractId, domain });
|
|
274
|
-
}
|
|
275
|
-
static fromBytes(bytes) {
|
|
276
|
-
const deserializer = new ts_sdk_1.Deserializer(bytes);
|
|
277
|
-
const ret = FullDecryptionDomain.deserialize(deserializer);
|
|
278
|
-
if (deserializer.remaining() !== 0) {
|
|
279
|
-
throw new Error("FullDecryptionDomain deserialization failed: extra bytes");
|
|
280
|
-
}
|
|
281
|
-
return ret;
|
|
282
|
-
}
|
|
283
|
-
static fromHex(hex) {
|
|
284
|
-
return FullDecryptionDomain.fromBytes((0, utils_1.hexToBytes)(hex));
|
|
285
|
-
}
|
|
286
|
-
serialize(serializer) {
|
|
287
|
-
this.committee.serialize(serializer);
|
|
288
|
-
this.contractId.serialize(serializer);
|
|
289
|
-
serializer.serializeBytes(this.domain);
|
|
290
|
-
}
|
|
291
|
-
toBytes() {
|
|
292
|
-
const serializer = new ts_sdk_1.Serializer();
|
|
293
|
-
this.serialize(serializer);
|
|
294
|
-
return serializer.toUint8Array();
|
|
295
|
-
}
|
|
296
|
-
toHex() {
|
|
297
|
-
return (0, utils_1.bytesToHex)(this.toBytes());
|
|
298
|
-
}
|
|
299
|
-
toPrettyMessage(indent = 0) {
|
|
300
|
-
const pad = ' '.repeat(indent);
|
|
301
|
-
return `\n${pad}committee:${this.committee.toPrettyMessage(indent + 1)}\n${pad}contractId:${this.contractId.toPrettyMessage(indent + 1)}\n${pad}domain: 0x${(0, utils_1.bytesToHex)(this.domain)}`;
|
|
302
|
-
}
|
|
303
|
-
getSolanaContractID() {
|
|
304
|
-
if (this.contractId.scheme != ContractID.SCHEME_SOLANA) {
|
|
305
|
-
throw new Error("ContractID is not a Solana contract ID");
|
|
306
|
-
}
|
|
307
|
-
return this.contractId.inner;
|
|
308
|
-
}
|
|
309
|
-
getAptosContractID() {
|
|
310
|
-
if (this.contractId.scheme != ContractID.SCHEME_APTOS) {
|
|
311
|
-
throw new Error("ContractID is not a Aptos contract ID");
|
|
312
|
-
}
|
|
313
|
-
return this.contractId.inner;
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
|
-
exports.FullDecryptionDomain = FullDecryptionDomain;
|
|
317
|
-
class ProofOfPermission {
|
|
318
|
-
static SCHEME_APTOS = 0;
|
|
319
|
-
static SCHEME_SOLANA = 1;
|
|
320
|
-
scheme;
|
|
321
|
-
inner;
|
|
322
|
-
constructor(scheme, inner) {
|
|
323
|
-
this.scheme = scheme;
|
|
324
|
-
this.inner = inner;
|
|
325
|
-
}
|
|
326
|
-
/** @deprecated Use `ProofOfPermission.createAptos()` instead */
|
|
327
|
-
static newAptos(id) {
|
|
328
|
-
return new ProofOfPermission(ProofOfPermission.SCHEME_APTOS, id);
|
|
329
|
-
}
|
|
330
|
-
/** @deprecated Use `ProofOfPermission.createSolana()` instead */
|
|
331
|
-
static newSolana(id) {
|
|
332
|
-
return new ProofOfPermission(ProofOfPermission.SCHEME_SOLANA, id);
|
|
333
|
-
}
|
|
334
|
-
static createAptos({ userAddr, publicKey, signature, fullMessage }) {
|
|
335
|
-
return new ProofOfPermission(ProofOfPermission.SCHEME_APTOS, new aptos_1.ProofOfPermission({ userAddr, publicKey, signature, fullMessage }));
|
|
336
|
-
}
|
|
337
|
-
static createSolana({ txn }) {
|
|
338
|
-
const solanaProof = txn instanceof SolanaSDK.VersionedTransaction
|
|
339
|
-
? solana_1.ProofOfPermission.newVersioned(txn)
|
|
340
|
-
: solana_1.ProofOfPermission.newUnversioned(txn);
|
|
341
|
-
return new ProofOfPermission(ProofOfPermission.SCHEME_SOLANA, solanaProof);
|
|
342
|
-
}
|
|
343
|
-
static deserialize(deserializer) {
|
|
344
|
-
const scheme = deserializer.deserializeU8();
|
|
345
|
-
if (scheme == ProofOfPermission.SCHEME_APTOS) {
|
|
346
|
-
return new ProofOfPermission(ProofOfPermission.SCHEME_APTOS, aptos_1.ProofOfPermission.deserialize(deserializer));
|
|
347
|
-
}
|
|
348
|
-
else if (scheme == ProofOfPermission.SCHEME_SOLANA) {
|
|
349
|
-
return new ProofOfPermission(ProofOfPermission.SCHEME_SOLANA, solana_1.ProofOfPermission.deserialize(deserializer));
|
|
350
|
-
}
|
|
351
|
-
else {
|
|
352
|
-
throw new Error(`Unknown scheme: ${scheme}`);
|
|
353
|
-
}
|
|
354
|
-
}
|
|
355
|
-
static fromBytes(bytes) {
|
|
356
|
-
const deserializer = new ts_sdk_1.Deserializer(bytes);
|
|
357
|
-
return ProofOfPermission.deserialize(deserializer);
|
|
358
|
-
}
|
|
359
|
-
static fromHex(hex) {
|
|
360
|
-
return ProofOfPermission.fromBytes((0, utils_1.hexToBytes)(hex));
|
|
361
|
-
}
|
|
362
|
-
serialize(serializer) {
|
|
363
|
-
serializer.serializeU8(this.scheme);
|
|
364
|
-
if (this.scheme == ProofOfPermission.SCHEME_APTOS) {
|
|
365
|
-
this.inner.serialize(serializer);
|
|
366
|
-
}
|
|
367
|
-
else if (this.scheme == ProofOfPermission.SCHEME_SOLANA) {
|
|
368
|
-
this.inner.serialize(serializer);
|
|
369
|
-
}
|
|
370
|
-
else {
|
|
371
|
-
throw new Error(`Unknown scheme: ${this.scheme}`);
|
|
372
|
-
}
|
|
373
|
-
}
|
|
374
|
-
toBytes() {
|
|
375
|
-
const serializer = new ts_sdk_1.Serializer();
|
|
376
|
-
this.serialize(serializer);
|
|
377
|
-
return serializer.toUint8Array();
|
|
378
|
-
}
|
|
379
|
-
toHex() {
|
|
380
|
-
return (0, utils_1.bytesToHex)(this.toBytes());
|
|
381
|
-
}
|
|
382
|
-
}
|
|
383
|
-
exports.ProofOfPermission = ProofOfPermission;
|
|
384
|
-
function encrypt({ committee, encryptionKey, contractId, domain, plaintext }) {
|
|
385
|
-
if (committee.workerEndpoints.length !== encryptionKey.ibeMpks.length) {
|
|
386
|
-
throw new Error("committee.workerEndpoints.length !== encryptionKey.ibeMpks.length");
|
|
387
|
-
}
|
|
388
|
-
const fullDecryptionDomain = new FullDecryptionDomain({
|
|
389
|
-
committee,
|
|
390
|
-
contractId: contractId,
|
|
391
|
-
domain: domain,
|
|
392
|
-
});
|
|
393
|
-
const symmKey = Sym.keygen();
|
|
394
|
-
const symmKeyShares = ShamirGF256.split(symmKey.toBytes(), committee.threshold, committee.workerEndpoints.length);
|
|
395
|
-
const symmCiph = Sym.encrypt(symmKey, plaintext);
|
|
396
|
-
const ibeCiphs = symmKeyShares.map((share, idx) => IBE.encrypt(encryptionKey.ibeMpks[idx], fullDecryptionDomain.toBytes(), share.payload));
|
|
397
|
-
return { fullDecryptionDomain, ciphertext: new Ciphertext(symmCiph, ibeCiphs) };
|
|
398
|
-
}
|
|
399
|
-
function decrypt({ decryptionKey, ciphertext }) {
|
|
400
|
-
if (decryptionKey.ibeDecryptionKeys.length !== ciphertext.ibeCiphs.length) {
|
|
401
|
-
throw new Error("decryptionKey.ibeDecryptionKeys.length !== ciphertext.ibeCiphs.length");
|
|
402
|
-
}
|
|
403
|
-
const symmKeyShares = ciphertext.ibeCiphs.map((ibeCiph, idx) => {
|
|
404
|
-
if (decryptionKey.ibeDecryptionKeys[idx] == null)
|
|
405
|
-
return null;
|
|
406
|
-
const sharePayload = IBE.decrypt(decryptionKey.ibeDecryptionKeys[idx], ibeCiph);
|
|
407
|
-
if (sharePayload == null)
|
|
408
|
-
return null;
|
|
409
|
-
return new ShamirGF256.Share(idx + 1, sharePayload);
|
|
410
|
-
}).filter((share) => share != null);
|
|
411
|
-
const symmKeyBytes = ShamirGF256.combine(symmKeyShares);
|
|
412
|
-
const symmKey = Sym.Key.fromBytes(symmKeyBytes);
|
|
413
|
-
return Sym.decrypt(symmKey, ciphertext.aesCiph);
|
|
414
|
-
}
|
|
415
|
-
async function verifyAndExtract({ ibeMsk, committee, contractId, domain, proof }) {
|
|
416
|
-
const decryptionContext = new FullDecryptionDomain({ committee, contractId, domain });
|
|
417
|
-
if (contractId.scheme == ContractID.SCHEME_APTOS && proof.scheme == ProofOfPermission.SCHEME_APTOS) {
|
|
418
|
-
await (0, aptos_1.verifyPermission)({ fullDecryptionDomain: decryptionContext, proof: proof.inner });
|
|
419
|
-
}
|
|
420
|
-
else if (contractId.scheme == ContractID.SCHEME_SOLANA && proof.scheme == ProofOfPermission.SCHEME_SOLANA) {
|
|
421
|
-
await (0, solana_1.verifyPermission)({ fullDecryptionDomain: decryptionContext, proof: proof.inner });
|
|
422
|
-
}
|
|
423
|
-
else {
|
|
424
|
-
throw new Error(`Unknown scheme: contractId=${contractId.scheme}, proof=${proof.scheme}`);
|
|
425
|
-
}
|
|
426
|
-
return IBE.extract(ibeMsk, decryptionContext.toBytes());
|
|
427
|
-
}
|
|
428
|
-
class WorkerTimedOut {
|
|
429
|
-
toDisplayString() {
|
|
430
|
-
return 'Timed out';
|
|
431
|
-
}
|
|
432
|
-
}
|
|
433
|
-
class WorkerRejected {
|
|
434
|
-
statusCode;
|
|
435
|
-
responseBody;
|
|
436
|
-
constructor(statusCode, responseBody) {
|
|
437
|
-
this.statusCode = statusCode;
|
|
438
|
-
this.responseBody = responseBody;
|
|
439
|
-
}
|
|
440
|
-
toDisplayString() {
|
|
441
|
-
return `Rejected: ${this.statusCode} ${this.responseBody}`;
|
|
442
|
-
}
|
|
443
|
-
}
|
|
444
|
-
class CouldNotParseDecryptionKey {
|
|
445
|
-
originalHex;
|
|
446
|
-
constructor(originalHex) {
|
|
447
|
-
this.originalHex = originalHex;
|
|
448
|
-
}
|
|
449
|
-
toDisplayString() {
|
|
450
|
-
return `Could not parse decryption key: ${this.originalHex}`;
|
|
451
|
-
}
|
|
452
|
-
}
|
|
453
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/threshold-ibe/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { Deserializer, Serializer } from "@aptos-labs/ts-sdk";
|
|
2
|
-
import { PublicKey, Transaction, VersionedTransaction } from "@solana/web3.js";
|
|
3
|
-
import { FullDecryptionDomain } from ".";
|
|
4
|
-
export declare class ContractID {
|
|
5
|
-
knownChainName: string;
|
|
6
|
-
programId: PublicKey;
|
|
7
|
-
constructor({ knownChainName, programId }: {
|
|
8
|
-
knownChainName: string;
|
|
9
|
-
programId: PublicKey;
|
|
10
|
-
});
|
|
11
|
-
static deserialize(deserializer: Deserializer): ContractID;
|
|
12
|
-
static fromBytes(bytes: Uint8Array): ContractID;
|
|
13
|
-
static fromHex(hex: string): ContractID;
|
|
14
|
-
serialize(serializer: Serializer): void;
|
|
15
|
-
toBytes(): Uint8Array;
|
|
16
|
-
toHex(): string;
|
|
17
|
-
toPrettyMessage(indent?: number): string;
|
|
18
|
-
}
|
|
19
|
-
export declare class ProofOfPermission {
|
|
20
|
-
static readonly SCHEME_UNVERSIONED = 0;
|
|
21
|
-
static readonly SCHEME_VERSIONED = 1;
|
|
22
|
-
scheme: number;
|
|
23
|
-
inner: Transaction | VersionedTransaction;
|
|
24
|
-
private constructor();
|
|
25
|
-
static newVersioned(txn: VersionedTransaction): ProofOfPermission;
|
|
26
|
-
static newUnversioned(txn: Transaction): ProofOfPermission;
|
|
27
|
-
static deserialize(deserializer: Deserializer): ProofOfPermission;
|
|
28
|
-
static fromBytes(bytes: Uint8Array): ProofOfPermission;
|
|
29
|
-
static fromHex(hex: string): ProofOfPermission;
|
|
30
|
-
serialize(serializer: Serializer): void;
|
|
31
|
-
toBytes(): Uint8Array;
|
|
32
|
-
toHex(): string;
|
|
33
|
-
}
|
|
34
|
-
export declare function verifyPermission({ fullDecryptionDomain, proof }: {
|
|
35
|
-
fullDecryptionDomain: FullDecryptionDomain;
|
|
36
|
-
proof: ProofOfPermission;
|
|
37
|
-
}): Promise<void>;
|
|
38
|
-
//# sourceMappingURL=solana.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../src/threshold-ibe/solana.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAc,SAAS,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,GAAG,CAAC;AAEzC,qBAAa,UAAU;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;gBAET,EAAC,cAAc,EAAE,SAAS,EAAC,EAAE;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,SAAS,CAAA;KAAC;IAKvF,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,GAAG,UAAU;IAM1D,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU;IAK/C,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;IAIvC,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAKvC,OAAO,IAAI,UAAU;IAMrB,KAAK,IAAI,MAAM;IAIf,eAAe,CAAC,MAAM,GAAE,MAAU,GAAG,MAAM;CAI9C;AAED,qBAAa,iBAAiB;IAC1B,MAAM,CAAC,QAAQ,CAAC,kBAAkB,KAAK;IACvC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,KAAK;IAErC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,WAAW,GAAG,oBAAoB,CAAC;IAE1C,OAAO;IAKP,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,oBAAoB,GAAG,iBAAiB;IAIjE,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,iBAAiB;IAI1D,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,GAAG,iBAAiB;IAcjE,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,iBAAiB;IAKtD,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB;IAI9C,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAWvC,OAAO,IAAI,UAAU;IAMrB,KAAK,IAAI,MAAM;CAGlB;AAED,wBAAsB,gBAAgB,CAAC,EAAC,oBAAoB,EAAE,KAAK,EAAC,EAAE;IAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAAC,KAAK,EAAE,iBAAiB,CAAA;CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAI3J"}
|