@intent-engine/core 0.1.42 → 0.1.43
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/generated/client/accounts/config.d.ts +4 -0
- package/dist/generated/client/accounts/config.js +5 -1
- package/dist/generated/client/accounts/config.js.map +1 -1
- package/dist/generated/client/accounts/intent.d.ts +6 -2
- package/dist/generated/client/accounts/intent.js +8 -4
- package/dist/generated/client/accounts/intent.js.map +1 -1
- package/dist/generated/client/accounts/mintCap.d.ts +6 -0
- package/dist/generated/client/accounts/mintCap.js +8 -2
- package/dist/generated/client/accounts/mintCap.js.map +1 -1
- package/dist/generated/client/accounts/profile.d.ts +2 -2
- package/dist/generated/client/accounts/profile.js +2 -2
- package/dist/generated/client/accounts/profile.js.map +1 -1
- package/dist/generated/client/accounts/standby.d.ts +2 -0
- package/dist/generated/client/accounts/standby.js +4 -2
- package/dist/generated/client/accounts/standby.js.map +1 -1
- package/dist/generated/client/errors/intentEngine.d.ts +25 -1
- package/dist/generated/client/errors/intentEngine.js +36 -0
- package/dist/generated/client/errors/intentEngine.js.map +1 -1
- package/dist/generated/client/events/accountMigrated.d.ts +38 -0
- package/dist/generated/client/events/accountMigrated.js +50 -0
- package/dist/generated/client/events/accountMigrated.js.map +1 -0
- package/dist/generated/client/events/committeeFloorSet.d.ts +26 -0
- package/dist/generated/client/events/committeeFloorSet.js +38 -0
- package/dist/generated/client/events/committeeFloorSet.js.map +1 -0
- package/dist/generated/client/events/index.d.ts +3 -0
- package/dist/generated/client/events/index.js +3 -0
- package/dist/generated/client/events/index.js.map +1 -1
- package/dist/generated/client/events/legacyClosed.d.ts +30 -0
- package/dist/generated/client/events/legacyClosed.js +42 -0
- package/dist/generated/client/events/legacyClosed.js.map +1 -0
- package/dist/generated/client/events/mintCapSet.d.ts +4 -0
- package/dist/generated/client/events/mintCapSet.js +4 -0
- package/dist/generated/client/events/mintCapSet.js.map +1 -1
- package/dist/generated/client/events/profileSet.d.ts +1 -0
- package/dist/generated/client/events/profileSet.js +2 -0
- package/dist/generated/client/events/profileSet.js.map +1 -1
- package/dist/generated/client/instructions/beginFill.d.ts +13 -9
- package/dist/generated/client/instructions/beginFill.js +15 -2
- package/dist/generated/client/instructions/beginFill.js.map +1 -1
- package/dist/generated/client/instructions/cancelIntent.d.ts +13 -9
- package/dist/generated/client/instructions/cancelIntent.js +15 -2
- package/dist/generated/client/instructions/cancelIntent.js.map +1 -1
- package/dist/generated/client/instructions/claimJob.d.ts +13 -9
- package/dist/generated/client/instructions/claimJob.js +15 -2
- package/dist/generated/client/instructions/claimJob.js.map +1 -1
- package/dist/generated/client/instructions/closeIntent.d.ts +13 -9
- package/dist/generated/client/instructions/closeIntent.js +21 -2
- package/dist/generated/client/instructions/closeIntent.js.map +1 -1
- package/dist/generated/client/instructions/closeLegacy.d.ts +61 -0
- package/dist/generated/client/instructions/closeLegacy.js +113 -0
- package/dist/generated/client/instructions/closeLegacy.js.map +1 -0
- package/dist/generated/client/instructions/createIntent.d.ts +14 -10
- package/dist/generated/client/instructions/createIntent.js +15 -2
- package/dist/generated/client/instructions/createIntent.js.map +1 -1
- package/dist/generated/client/instructions/createIntentSigned.d.ts +14 -10
- package/dist/generated/client/instructions/createIntentSigned.js +15 -2
- package/dist/generated/client/instructions/createIntentSigned.js.map +1 -1
- package/dist/generated/client/instructions/expireIntent.d.ts +13 -9
- package/dist/generated/client/instructions/expireIntent.js +21 -2
- package/dist/generated/client/instructions/expireIntent.js.map +1 -1
- package/dist/generated/client/instructions/fillAttested.d.ts +13 -9
- package/dist/generated/client/instructions/fillAttested.js +15 -2
- package/dist/generated/client/instructions/fillAttested.js.map +1 -1
- package/dist/generated/client/instructions/fillAttestedCommittee.d.ts +13 -9
- package/dist/generated/client/instructions/fillAttestedCommittee.js +15 -2
- package/dist/generated/client/instructions/fillAttestedCommittee.js.map +1 -1
- package/dist/generated/client/instructions/fillAttestedSplit.d.ts +13 -9
- package/dist/generated/client/instructions/fillAttestedSplit.js +15 -2
- package/dist/generated/client/instructions/fillAttestedSplit.js.map +1 -1
- package/dist/generated/client/instructions/fillAttestedSplitCommittee.d.ts +13 -9
- package/dist/generated/client/instructions/fillAttestedSplitCommittee.js +15 -2
- package/dist/generated/client/instructions/fillAttestedSplitCommittee.js.map +1 -1
- package/dist/generated/client/instructions/fillIntent.d.ts +13 -9
- package/dist/generated/client/instructions/fillIntent.js +15 -2
- package/dist/generated/client/instructions/fillIntent.js.map +1 -1
- package/dist/generated/client/instructions/index.d.ts +3 -0
- package/dist/generated/client/instructions/index.js +3 -0
- package/dist/generated/client/instructions/index.js.map +1 -1
- package/dist/generated/client/instructions/migrate.d.ts +52 -0
- package/dist/generated/client/instructions/migrate.js +109 -0
- package/dist/generated/client/instructions/migrate.js.map +1 -0
- package/dist/generated/client/instructions/setCommitteeFloor.d.ts +53 -0
- package/dist/generated/client/instructions/setCommitteeFloor.js +96 -0
- package/dist/generated/client/instructions/setCommitteeFloor.js.map +1 -0
- package/dist/generated/client/instructions/setMintCap.d.ts +4 -0
- package/dist/generated/client/instructions/setMintCap.js +2 -0
- package/dist/generated/client/instructions/setMintCap.js.map +1 -1
- package/dist/generated/client/instructions/standBy.d.ts +13 -9
- package/dist/generated/client/instructions/standBy.js +15 -2
- package/dist/generated/client/instructions/standBy.js.map +1 -1
- package/dist/generated/client/programs/intentEngine.d.ts +158 -137
- package/dist/generated/client/programs/intentEngine.js +194 -137
- package/dist/generated/client/programs/intentEngine.js.map +1 -1
- package/dist/generated/client/types/profileFields.d.ts +1 -0
- package/dist/generated/client/types/profileFields.js +2 -0
- package/dist/generated/client/types/profileFields.js.map +1 -1
- package/dist/src/claims.d.ts +2 -2
- package/dist/src/committee-floors.d.ts +21 -0
- package/dist/src/committee-floors.js +27 -0
- package/dist/src/committee-floors.js.map +1 -0
- package/dist/src/committee.d.ts +4 -4
- package/dist/src/committee.js +14 -17
- package/dist/src/committee.js.map +1 -1
- package/dist/src/encryption-key.d.ts +28 -0
- package/dist/src/encryption-key.js +94 -0
- package/dist/src/encryption-key.js.map +1 -0
- package/dist/src/events.d.ts +4 -1
- package/dist/src/events.js +5 -1
- package/dist/src/events.js.map +1 -1
- package/dist/src/fill-builders.d.ts +7 -5
- package/dist/src/fill-builders.js +4 -0
- package/dist/src/fill-builders.js.map +1 -1
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.js +4 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/intent-builders.d.ts +8 -6
- package/dist/src/intent-builders.js +6 -1
- package/dist/src/intent-builders.js.map +1 -1
- package/dist/src/memo.d.ts +7 -1
- package/dist/src/memo.js +18 -4
- package/dist/src/memo.js.map +1 -1
- package/dist/src/migrate.d.ts +25 -0
- package/dist/src/migrate.js +46 -0
- package/dist/src/migrate.js.map +1 -0
- package/dist/src/mint-caps.d.ts +5 -1
- package/dist/src/mint-caps.js +13 -2
- package/dist/src/mint-caps.js.map +1 -1
- package/dist/src/profile.d.ts +2 -0
- package/dist/src/profile.js +13 -4
- package/dist/src/profile.js.map +1 -1
- package/dist/src/sealed-delivery.d.ts +54 -10
- package/dist/src/sealed-delivery.js +183 -55
- package/dist/src/sealed-delivery.js.map +1 -1
- package/dist/src/sealed.d.ts +1 -0
- package/dist/src/sealed.js +2 -2
- package/dist/src/sealed.js.map +1 -1
- package/dist/src/sig.d.ts +17 -4
- package/dist/src/sig.js +80 -10
- package/dist/src/sig.js.map +1 -1
- package/dist/src/state.d.ts +3 -3
- package/dist/src/state.js +3 -3
- package/dist/src/versions.d.ts +56 -0
- package/dist/src/versions.js +126 -0
- package/dist/src/versions.js.map +1 -0
- package/generated/idl.json +567 -6
- package/package.json +2 -1
|
@@ -1,63 +1,126 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getAddressEncoder, getBase58Encoder, isAddress } from "@solana/kit";
|
|
2
2
|
import { PRODUCT_SLUG } from "../generated/identity.js";
|
|
3
3
|
import { MAX_COMMITTEE_MEMBERS } from "./committee.js";
|
|
4
4
|
import { isMemoUrl, isSha256Hex, MAX_MEMO_URL, MEMO_URL_RULE } from "./memo.js";
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
export const
|
|
8
|
-
export const
|
|
9
|
-
export const
|
|
5
|
+
import { deliveryKeyOf, ENCRYPTION_KEY_BYTES } from "./encryption-key.js";
|
|
6
|
+
import { SealedError, wrapKey, x25519PublicOf } from "./sealed.js";
|
|
7
|
+
export const DELIVERY_MEMO_MARK = `${PRODUCT_SLUG}-delivery3`;
|
|
8
|
+
export const DELIVERY_MEMO_PREFIX = `${DELIVERY_MEMO_MARK}:`;
|
|
9
|
+
export const OPENING_MEMO_PREFIX = `${DELIVERY_MEMO_MARK}-open:`;
|
|
10
|
+
export const COMMITMENT_TAG = `${PRODUCT_SLUG}-delivery-v3`;
|
|
11
|
+
export const SALT_TAG = `${PRODUCT_SLUG}-delivery-salt-v3`;
|
|
12
|
+
export const SALT_CHECK_TAG = `${PRODUCT_SLUG}-delivery-check-v3`;
|
|
13
|
+
export const SALT_BYTES = 16;
|
|
14
|
+
export const SEALED_URL_VERSION = 3;
|
|
15
|
+
export const MAX_DELIVERY_MEMO = 960;
|
|
16
|
+
export const MAX_OPENING_MEMO = MAX_DELIVERY_MEMO;
|
|
10
17
|
export const MAX_SEALED_URL_RECIPIENTS = MAX_COMMITTEE_MEMBERS;
|
|
11
|
-
const
|
|
18
|
+
export const UNOPENED = "-";
|
|
19
|
+
const INFO = new TextEncoder().encode(`${PRODUCT_SLUG}-sealed-url-v2`);
|
|
12
20
|
const KEY_BYTES = 32;
|
|
13
21
|
const IV_BYTES = 12;
|
|
14
22
|
const TAG_BYTES = 16;
|
|
15
23
|
const WRAPPED_BYTES = KEY_BYTES + TAG_BYTES;
|
|
16
24
|
const EPK_BYTES = 32;
|
|
17
|
-
const HEAD_BYTES =
|
|
25
|
+
const HEAD_BYTES = 3;
|
|
26
|
+
export const FINGERPRINT_BYTES = 8;
|
|
27
|
+
export const FINGERPRINT_TAG = `${PRODUCT_SLUG}-delivery-key-v3`;
|
|
28
|
+
const SIGNATURE_BYTES = 64;
|
|
18
29
|
const BASE64 = /^[A-Za-z0-9+/]+={0,2}$/;
|
|
30
|
+
const SALT_HEX = /^[0-9a-f]{32}$/;
|
|
31
|
+
const BASE58_SIGNATURE = /^[1-9A-HJ-NP-Za-km-z]{64,88}$/;
|
|
19
32
|
const ADDRESS_CHARS = 44;
|
|
20
|
-
const
|
|
33
|
+
const MEMO_SEPARATORS = 3;
|
|
34
|
+
const FIXED_MEMO = DELIVERY_MEMO_PREFIX.length + ADDRESS_CHARS + MEMO_SEPARATORS + 64 + 2 * SALT_BYTES;
|
|
35
|
+
const OPENED_CHARS = 2 * SALT_BYTES + 1;
|
|
21
36
|
const ZERO_IV = new Uint8Array(IV_BYTES);
|
|
37
|
+
export const MAX_OPENED_SALTS = Math.floor((MAX_OPENING_MEMO - OPENING_MEMO_PREFIX.length - ADDRESS_CHARS) / OPENED_CHARS);
|
|
22
38
|
const toBase64 = (bytes) => btoa(String.fromCharCode(...bytes));
|
|
23
39
|
const fromBase64 = (text) => Uint8Array.from(atob(text), (c) => c.charCodeAt(0));
|
|
24
40
|
const base64Length = (bytes) => 4 * Math.ceil(bytes / 3);
|
|
25
|
-
const
|
|
41
|
+
const headBytes = (recipients) => HEAD_BYTES + recipients * FINGERPRINT_BYTES;
|
|
42
|
+
const sealedBytes = (recipients, url, head = headBytes(recipients)) => head + EPK_BYTES + recipients * WRAPPED_BYTES + IV_BYTES + SALT_BYTES + url + TAG_BYTES;
|
|
43
|
+
const hex = (bytes) => Array.from(bytes, (b) => b.toString(16).padStart(2, "0")).join("");
|
|
44
|
+
const unhex = (text) => Array.from({ length: text.length / 2 }, (_, i) => Number.parseInt(text.slice(2 * i, 2 * i + 2), 16));
|
|
45
|
+
const digest = async (bytes) => new Uint8Array(await crypto.subtle.digest("SHA-256", bytes));
|
|
46
|
+
const SALT_RULE = `${2 * SALT_BYTES} lowercase hex digits`;
|
|
47
|
+
export const isSaltHex = (text) => SALT_HEX.test(text);
|
|
26
48
|
export function maxSealedUrl(recipients) {
|
|
27
49
|
let url = MAX_MEMO_URL;
|
|
28
|
-
while (url > 0 && FIXED_MEMO + base64Length(sealedBytes(recipients, url)) >
|
|
50
|
+
while (url > 0 && FIXED_MEMO + base64Length(sealedBytes(recipients, url)) > MAX_DELIVERY_MEMO) {
|
|
29
51
|
url -= 1;
|
|
30
52
|
}
|
|
31
53
|
return url;
|
|
32
54
|
}
|
|
33
|
-
export const sealedUrlTooLong = (length, recipients) => `the work url has ${length} characters, but sealed to ${recipients} ${recipients === 1 ? "wallet" : "wallets"} it may have at most ${maxSealedUrl(recipients)}, so that the delivery memo stays within ${
|
|
34
|
-
export function
|
|
55
|
+
export const sealedUrlTooLong = (length, recipients) => `the work url has ${length} characters, but sealed to ${recipients} ${recipients === 1 ? "wallet" : "wallets"} it may have at most ${maxSealedUrl(recipients)}, so that the delivery memo stays within ${MAX_DELIVERY_MEMO} bytes and fits one transaction; nothing was sent`;
|
|
56
|
+
export function saltMessage(intent, sha256) {
|
|
57
|
+
if (!isSha256Hex(sha256)) {
|
|
58
|
+
throw new RangeError("a salt binds a sha256 of 64 lowercase hex digits");
|
|
59
|
+
}
|
|
60
|
+
return Uint8Array.from([...new TextEncoder().encode(SALT_TAG), ...getAddressEncoder().encode(intent), ...unhex(sha256)]);
|
|
61
|
+
}
|
|
62
|
+
export function saltPreimage(signature) {
|
|
63
|
+
if (signature.length !== SIGNATURE_BYTES) {
|
|
64
|
+
throw new RangeError(`a salt is derived from a ${SIGNATURE_BYTES}-byte ed25519 signature`);
|
|
65
|
+
}
|
|
66
|
+
return Uint8Array.from([...new TextEncoder().encode(SALT_TAG), ...signature]);
|
|
67
|
+
}
|
|
68
|
+
export async function saltOfSignature(signature) {
|
|
69
|
+
return hex((await digest(saltPreimage(signature))).slice(0, SALT_BYTES));
|
|
70
|
+
}
|
|
71
|
+
export function saltCheckPreimage(salt) {
|
|
72
|
+
if (!isSaltHex(salt)) {
|
|
73
|
+
throw new RangeError(`a salt is ${SALT_RULE}`);
|
|
74
|
+
}
|
|
75
|
+
return Uint8Array.from([...new TextEncoder().encode(SALT_CHECK_TAG), ...unhex(salt)]);
|
|
76
|
+
}
|
|
77
|
+
export async function saltCheck(salt) {
|
|
78
|
+
return hex((await digest(saltCheckPreimage(salt))).slice(0, SALT_BYTES));
|
|
79
|
+
}
|
|
80
|
+
export function commitmentPreimage({ intent, worker, salt, sha256 }) {
|
|
35
81
|
if (!isSha256Hex(sha256)) {
|
|
36
82
|
throw new RangeError("a commitment binds a sha256 of 64 lowercase hex digits");
|
|
37
83
|
}
|
|
84
|
+
if (!isSaltHex(salt)) {
|
|
85
|
+
throw new RangeError(`a commitment binds a salt of ${SALT_RULE}`);
|
|
86
|
+
}
|
|
38
87
|
const encoder = getAddressEncoder();
|
|
39
|
-
return Uint8Array.from([
|
|
40
|
-
...new TextEncoder().encode(COMMITMENT_TAG),
|
|
41
|
-
...encoder.encode(intent),
|
|
42
|
-
...encoder.encode(worker),
|
|
43
|
-
...Array.from({ length: 32 }, (_, i) => Number.parseInt(sha256.slice(2 * i, 2 * i + 2), 16)),
|
|
44
|
-
]);
|
|
88
|
+
return Uint8Array.from([...new TextEncoder().encode(COMMITMENT_TAG), ...encoder.encode(intent), ...encoder.encode(worker), ...unhex(salt), ...unhex(sha256)]);
|
|
45
89
|
}
|
|
46
|
-
const hex = (bytes) => Array.from(bytes, (b) => b.toString(16).padStart(2, "0")).join("");
|
|
47
90
|
export async function deliveryCommitment(commitment) {
|
|
48
|
-
return hex(
|
|
91
|
+
return hex(await digest(commitmentPreimage(commitment)));
|
|
49
92
|
}
|
|
50
93
|
const random = (length) => crypto.getRandomValues(new Uint8Array(new ArrayBuffer(length)));
|
|
51
|
-
const aad = (intent) => Uint8Array.from([...INFO, ...getAddressEncoder().encode(intent)]);
|
|
94
|
+
const aad = (intent, head) => Uint8Array.from([...INFO, ...getAddressEncoder().encode(intent), ...head]);
|
|
95
|
+
export async function keyFingerprint(publicKey) {
|
|
96
|
+
return hex((await digest(Uint8Array.from([...new TextEncoder().encode(FINGERPRINT_TAG), ...publicKey]))).slice(0, FINGERPRINT_BYTES));
|
|
97
|
+
}
|
|
98
|
+
function recipientsOf(recipients) {
|
|
99
|
+
const keys = new Map();
|
|
100
|
+
for (const recipient of recipients) {
|
|
101
|
+
const [wallet, key] = typeof recipient === "string" ? [recipient, null] : [recipient.wallet, recipient.encryptionKey];
|
|
102
|
+
if (key !== null && key.length !== ENCRYPTION_KEY_BYTES) {
|
|
103
|
+
throw new SealedError(`${wallet}'s encryption key is not ${ENCRYPTION_KEY_BYTES} bytes`);
|
|
104
|
+
}
|
|
105
|
+
if (!keys.has(wallet) || (keys.get(wallet) === null && key !== null)) {
|
|
106
|
+
keys.set(wallet, key);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return keys;
|
|
110
|
+
}
|
|
52
111
|
async function sharedWith(peer, mine) {
|
|
53
112
|
const key = await crypto.subtle.importKey("raw", peer.slice(), { name: "X25519" }, false, []);
|
|
54
113
|
return new Uint8Array(await crypto.subtle.deriveBits({ name: "X25519", public: key }, mine, 256));
|
|
55
114
|
}
|
|
56
|
-
export async function
|
|
57
|
-
const
|
|
115
|
+
export async function sealDelivery({ salt, url }, recipients, intent) {
|
|
116
|
+
const keys = recipientsOf(recipients);
|
|
117
|
+
const wallets = [...keys.keys()];
|
|
58
118
|
if (wallets.length === 0 || wallets.length > MAX_SEALED_URL_RECIPIENTS) {
|
|
59
119
|
throw new SealedError(`seal a work url to between 1 and ${MAX_SEALED_URL_RECIPIENTS} wallets`);
|
|
60
120
|
}
|
|
121
|
+
if (!isSaltHex(salt)) {
|
|
122
|
+
throw new RangeError(`a sealed delivery carries a salt of ${SALT_RULE}`);
|
|
123
|
+
}
|
|
61
124
|
if (!isMemoUrl(url)) {
|
|
62
125
|
throw new RangeError(`a delivery url must be ${MEMO_URL_RULE}`);
|
|
63
126
|
}
|
|
@@ -66,19 +129,27 @@ export async function sealUrl(url, recipients, intent) {
|
|
|
66
129
|
}
|
|
67
130
|
const contentKey = random(KEY_BYTES);
|
|
68
131
|
const iv = random(IV_BYTES);
|
|
69
|
-
const ephemeral = (await crypto.subtle.generateKey({ name: "X25519" },
|
|
132
|
+
const ephemeral = (await crypto.subtle.generateKey({ name: "X25519" }, false, ["deriveBits"]));
|
|
70
133
|
const epk = new Uint8Array(await crypto.subtle.exportKey("raw", ephemeral.publicKey));
|
|
71
134
|
const wrapped = [];
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
135
|
+
let mask = 0;
|
|
136
|
+
const fingerprints = [];
|
|
137
|
+
for (const [at, wallet] of wallets.entries()) {
|
|
138
|
+
const profileKey = keys.get(wallet) ?? null;
|
|
139
|
+
const usable = profileKey === null ? null : await sharedWith(profileKey, ephemeral.privateKey).catch(() => null);
|
|
140
|
+
const theirs = profileKey === null || usable === null ? x25519PublicOf(wallet) : Uint8Array.from(profileKey);
|
|
141
|
+
mask |= usable === null ? 0 : 1 << at;
|
|
142
|
+
fingerprints.push(...unhex(await keyFingerprint(theirs)));
|
|
143
|
+
const wrapping = await wrapKey(usable ?? (await sharedWith(theirs, ephemeral.privateKey)), Uint8Array.from([...epk, ...theirs]), INFO);
|
|
75
144
|
wrapped.push(...new Uint8Array(await crypto.subtle.encrypt({ name: "AES-GCM", iv: ZERO_IV, additionalData: INFO }, wrapping, contentKey)));
|
|
76
145
|
}
|
|
77
146
|
const content = await crypto.subtle.importKey("raw", contentKey, "AES-GCM", false, ["encrypt"]);
|
|
78
|
-
const
|
|
79
|
-
|
|
147
|
+
const plain = Uint8Array.from([...unhex(salt), ...new TextEncoder().encode(url)]);
|
|
148
|
+
const head = Uint8Array.from([SEALED_URL_VERSION, wallets.length, mask, ...fingerprints]);
|
|
149
|
+
const data = new Uint8Array(await crypto.subtle.encrypt({ name: "AES-GCM", iv, additionalData: aad(intent, head) }, content, plain));
|
|
150
|
+
return toBase64(Uint8Array.from([...head, ...epk, ...wrapped, ...iv, ...data]));
|
|
80
151
|
}
|
|
81
|
-
|
|
152
|
+
function layoutOf(blob) {
|
|
82
153
|
if (!BASE64.test(blob)) {
|
|
83
154
|
return null;
|
|
84
155
|
}
|
|
@@ -89,21 +160,39 @@ export function sealedUrlRecipients(blob) {
|
|
|
89
160
|
catch {
|
|
90
161
|
return null;
|
|
91
162
|
}
|
|
163
|
+
const version = bytes[0];
|
|
92
164
|
const count = bytes[1] ?? 0;
|
|
93
|
-
|
|
165
|
+
const head = headBytes(count);
|
|
166
|
+
const mask = bytes[2] ?? 0;
|
|
167
|
+
if (toBase64(bytes) !== blob || version !== SEALED_URL_VERSION || count < 1 || count > MAX_SEALED_URL_RECIPIENTS || mask >> count !== 0) {
|
|
94
168
|
return null;
|
|
95
169
|
}
|
|
96
|
-
return bytes.length > sealedBytes(count, 0) ? count : null;
|
|
170
|
+
return bytes.length > sealedBytes(count, 0, head) ? { head, count, mask } : null;
|
|
171
|
+
}
|
|
172
|
+
export function sealedUrlRecipients(blob) {
|
|
173
|
+
return layoutOf(blob)?.count ?? null;
|
|
97
174
|
}
|
|
98
|
-
export
|
|
99
|
-
const
|
|
100
|
-
|
|
175
|
+
export function sealedKeys(blob) {
|
|
176
|
+
const layout = layoutOf(blob);
|
|
177
|
+
return layout === null ? null : Array.from({ length: layout.count }, (_, at) => ((layout.mask >> at) & 1 ? "profile" : "wallet"));
|
|
178
|
+
}
|
|
179
|
+
export function sealedFingerprints(blob) {
|
|
180
|
+
const layout = layoutOf(blob);
|
|
181
|
+
if (layout === null) {
|
|
182
|
+
return null;
|
|
183
|
+
}
|
|
184
|
+
const bytes = fromBase64(blob);
|
|
185
|
+
return Array.from({ length: layout.count }, (_, at) => hex(bytes.slice(HEAD_BYTES + at * FINGERPRINT_BYTES, HEAD_BYTES + (at + 1) * FINGERPRINT_BYTES)));
|
|
186
|
+
}
|
|
187
|
+
export async function openDelivery(blob, opener, intent) {
|
|
188
|
+
const layout = layoutOf(blob);
|
|
189
|
+
if (layout === null) {
|
|
101
190
|
return null;
|
|
102
191
|
}
|
|
192
|
+
const { head, count } = layout;
|
|
103
193
|
const bytes = fromBase64(blob);
|
|
104
|
-
const epk = bytes.slice(
|
|
105
|
-
const mine = await
|
|
106
|
-
const ours = x25519PublicOf(getAddressDecoder().decode(keypair.slice(32)));
|
|
194
|
+
const epk = bytes.slice(head, head + EPK_BYTES);
|
|
195
|
+
const { publicKey: ours, secret: mine } = await deliveryKeyOf(opener);
|
|
107
196
|
let wrapping;
|
|
108
197
|
try {
|
|
109
198
|
wrapping = await wrapKey(await sharedWith(epk, mine), Uint8Array.from([...epk, ...ours]), INFO);
|
|
@@ -111,12 +200,11 @@ export async function openUrl(blob, keypair, intent) {
|
|
|
111
200
|
catch {
|
|
112
201
|
return null;
|
|
113
202
|
}
|
|
114
|
-
const keysAt =
|
|
203
|
+
const keysAt = head + EPK_BYTES;
|
|
115
204
|
const ivAt = keysAt + count * WRAPPED_BYTES;
|
|
116
|
-
for (
|
|
205
|
+
for (const start of Array.from({ length: count }, (_, at) => keysAt + at * WRAPPED_BYTES)) {
|
|
117
206
|
let contentKey;
|
|
118
207
|
try {
|
|
119
|
-
const start = keysAt + at * WRAPPED_BYTES;
|
|
120
208
|
contentKey = new Uint8Array(await crypto.subtle.decrypt({ name: "AES-GCM", iv: ZERO_IV, additionalData: INFO }, wrapping, bytes.slice(start, start + WRAPPED_BYTES)));
|
|
121
209
|
}
|
|
122
210
|
catch {
|
|
@@ -124,9 +212,10 @@ export async function openUrl(blob, keypair, intent) {
|
|
|
124
212
|
}
|
|
125
213
|
try {
|
|
126
214
|
const content = await crypto.subtle.importKey("raw", contentKey, "AES-GCM", false, ["decrypt"]);
|
|
127
|
-
const
|
|
128
|
-
const
|
|
129
|
-
|
|
215
|
+
const iv = bytes.slice(ivAt, ivAt + IV_BYTES);
|
|
216
|
+
const plain = new Uint8Array(await crypto.subtle.decrypt({ name: "AES-GCM", iv, additionalData: aad(intent, bytes.slice(0, head)) }, content, bytes.slice(ivAt + IV_BYTES)));
|
|
217
|
+
const url = new TextDecoder().decode(plain.slice(SALT_BYTES));
|
|
218
|
+
return isMemoUrl(url) ? { salt: hex(plain.slice(0, SALT_BYTES)), url } : null;
|
|
130
219
|
}
|
|
131
220
|
catch {
|
|
132
221
|
return null;
|
|
@@ -134,30 +223,69 @@ export async function openUrl(blob, keypair, intent) {
|
|
|
134
223
|
}
|
|
135
224
|
return null;
|
|
136
225
|
}
|
|
137
|
-
export function
|
|
226
|
+
export function deliveryMemo({ intent, commitment, check, blob }) {
|
|
138
227
|
if (!isAddress(intent)) {
|
|
139
228
|
throw new RangeError("a delivery names its intent by a base58 address");
|
|
140
229
|
}
|
|
141
230
|
if (!isSha256Hex(commitment)) {
|
|
142
231
|
throw new RangeError("a delivery's commitment must be 64 lowercase hex digits");
|
|
143
232
|
}
|
|
233
|
+
if (!isSaltHex(check)) {
|
|
234
|
+
throw new RangeError(`a delivery's salt check must be ${SALT_RULE}`);
|
|
235
|
+
}
|
|
144
236
|
if (sealedUrlRecipients(blob) === null) {
|
|
145
|
-
throw new RangeError("a delivery's sealed url must be the base64 a
|
|
237
|
+
throw new RangeError("a delivery's sealed url must be the base64 a sealDelivery call returns");
|
|
146
238
|
}
|
|
147
|
-
const memo = `${
|
|
148
|
-
if (memo.length >
|
|
149
|
-
throw new RangeError(`a delivery memo may have at most ${
|
|
239
|
+
const memo = `${DELIVERY_MEMO_PREFIX}${intent}:${commitment}:${check}:${blob}`;
|
|
240
|
+
if (memo.length > MAX_DELIVERY_MEMO) {
|
|
241
|
+
throw new RangeError(`a delivery memo may have at most ${MAX_DELIVERY_MEMO} bytes, so that it fits one transaction`);
|
|
150
242
|
}
|
|
151
243
|
return memo;
|
|
152
244
|
}
|
|
153
|
-
export function
|
|
154
|
-
if (text.length >
|
|
245
|
+
export function parseDeliveryMemo(text) {
|
|
246
|
+
if (text.length > MAX_DELIVERY_MEMO || !text.startsWith(DELIVERY_MEMO_PREFIX)) {
|
|
247
|
+
return null;
|
|
248
|
+
}
|
|
249
|
+
const [intent = "", commitment = "", check = "", blob = "", ...rest] = text.slice(DELIVERY_MEMO_PREFIX.length).split(":");
|
|
250
|
+
if (rest.length > 0 || !isAddress(intent) || !isSha256Hex(commitment) || !isSaltHex(check) || !BASE64.test(blob)) {
|
|
251
|
+
return null;
|
|
252
|
+
}
|
|
253
|
+
return { intent, commitment, check, blob };
|
|
254
|
+
}
|
|
255
|
+
export function isSignatureText(text) {
|
|
256
|
+
return BASE58_SIGNATURE.test(text) && getBase58Encoder().encode(text).length === SIGNATURE_BYTES;
|
|
257
|
+
}
|
|
258
|
+
export function openingMemo(opening) {
|
|
259
|
+
if (!isAddress(opening.intent)) {
|
|
260
|
+
throw new RangeError("an opening names its intent by a base58 address");
|
|
261
|
+
}
|
|
262
|
+
if ("announcement" in opening) {
|
|
263
|
+
if (!isSignatureText(opening.announcement) || !isSaltHex(opening.salt)) {
|
|
264
|
+
throw new RangeError(`an opening names its announcement by a base58 signature and gives its salt as ${SALT_RULE}`);
|
|
265
|
+
}
|
|
266
|
+
return `${OPENING_MEMO_PREFIX}${opening.intent}:${opening.announcement}:${opening.salt}`;
|
|
267
|
+
}
|
|
268
|
+
const { salts } = opening;
|
|
269
|
+
if (salts.length === 0 || salts.length > MAX_OPENED_SALTS || salts.some((salt) => salt !== null && !isSaltHex(salt))) {
|
|
270
|
+
throw new RangeError(`an opening lists from 1 to ${MAX_OPENED_SALTS} salts, each ${SALT_RULE} or ${UNOPENED} for one it could not open`);
|
|
271
|
+
}
|
|
272
|
+
return `${OPENING_MEMO_PREFIX}${opening.intent}:${salts.map((salt) => salt ?? UNOPENED).join(",")}`;
|
|
273
|
+
}
|
|
274
|
+
export function parseOpeningMemo(text) {
|
|
275
|
+
if (!text.startsWith(OPENING_MEMO_PREFIX)) {
|
|
155
276
|
return null;
|
|
156
277
|
}
|
|
157
|
-
const [intent = "",
|
|
158
|
-
if (rest.length > 0 || !isAddress(intent)
|
|
278
|
+
const [intent = "", first = "", second, ...rest] = text.slice(OPENING_MEMO_PREFIX.length).split(":");
|
|
279
|
+
if (rest.length > 0 || !isAddress(intent)) {
|
|
280
|
+
return null;
|
|
281
|
+
}
|
|
282
|
+
if (second !== undefined) {
|
|
283
|
+
return isSignatureText(first) && isSaltHex(second) ? { intent, announcement: first, salt: second } : null;
|
|
284
|
+
}
|
|
285
|
+
const listed = first.split(",");
|
|
286
|
+
if (listed.length > MAX_OPENED_SALTS || listed.some((salt) => salt !== UNOPENED && !isSaltHex(salt))) {
|
|
159
287
|
return null;
|
|
160
288
|
}
|
|
161
|
-
return { intent,
|
|
289
|
+
return { intent, salts: listed.map((salt) => (salt === UNOPENED ? null : salt)) };
|
|
162
290
|
}
|
|
163
291
|
//# sourceMappingURL=sealed-delivery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sealed-delivery.js","sourceRoot":"","sources":["../../src/sealed-delivery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sealed-delivery.js","sourceRoot":"","sources":["../../src/sealed-delivery.ts"],"names":[],"mappings":"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"}
|
package/dist/src/sealed.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { type Address } from "@solana/kit";
|
|
|
2
2
|
export declare const SEALED_VERSION = 1;
|
|
3
3
|
export declare const SEALED_TAG = "solive-sealed";
|
|
4
4
|
export declare const MAX_SEALED_RECIPIENTS = 32;
|
|
5
|
+
export declare const PKCS8_X25519: Uint8Array<ArrayBuffer>;
|
|
5
6
|
export declare class SealedError extends Error {
|
|
6
7
|
constructor(message: string);
|
|
7
8
|
}
|
package/dist/src/sealed.js
CHANGED
|
@@ -4,7 +4,7 @@ export const SEALED_TAG = "solive-sealed";
|
|
|
4
4
|
export const MAX_SEALED_RECIPIENTS = 32;
|
|
5
5
|
const INFO = new TextEncoder().encode("solive-sealed-v1");
|
|
6
6
|
const P = 2n ** 255n - 19n;
|
|
7
|
-
const PKCS8_X25519 = Uint8Array.from([0x30, 0x2e, 0x02, 0x01, 0x00, 0x30, 0x05, 0x06, 0x03, 0x2b, 0x65, 0x6e, 0x04, 0x22, 0x04, 0x20]);
|
|
7
|
+
export const PKCS8_X25519 = Uint8Array.from([0x30, 0x2e, 0x02, 0x01, 0x00, 0x30, 0x05, 0x06, 0x03, 0x2b, 0x65, 0x6e, 0x04, 0x22, 0x04, 0x20]);
|
|
8
8
|
const IV_BYTES = 12;
|
|
9
9
|
const KEY_BYTES = 32;
|
|
10
10
|
export class SealedError extends Error {
|
|
@@ -76,7 +76,7 @@ export async function seal(plain, recipients) {
|
|
|
76
76
|
const to = [];
|
|
77
77
|
for (const wallet of wallets) {
|
|
78
78
|
const theirs = x25519PublicOf(wallet);
|
|
79
|
-
const ephemeral = (await crypto.subtle.generateKey({ name: "X25519" },
|
|
79
|
+
const ephemeral = (await crypto.subtle.generateKey({ name: "X25519" }, false, ["deriveBits"]));
|
|
80
80
|
const epk = new Uint8Array(await crypto.subtle.exportKey("raw", ephemeral.publicKey));
|
|
81
81
|
const peer = await crypto.subtle.importKey("raw", theirs, { name: "X25519" }, false, []);
|
|
82
82
|
const shared = new Uint8Array(await crypto.subtle.deriveBits({ name: "X25519", public: peer }, ephemeral.privateKey, 256));
|
package/dist/src/sealed.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sealed.js","sourceRoot":"","sources":["../../src/sealed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEjF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAChC,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAC;AAC1C,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAExC,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAC1D,MAAM,CAAC,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,CAAC;AAC3B,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"sealed.js","sourceRoot":"","sources":["../../src/sealed.ts"],"names":[],"mappings":"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"}
|
package/dist/src/sig.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Address, type Instruction, type
|
|
1
|
+
import { type Address, type Instruction, type MessagePartialSigner } from "@solana/kit";
|
|
2
2
|
export declare const ED25519_PROGRAM_ADDRESS: Address<"Ed25519SigVerify111111111111111111111111111">;
|
|
3
3
|
export declare const INTENT_TAG: NodeJS.NonSharedUint8Array;
|
|
4
4
|
export declare const ATTEST_TAG: NodeJS.NonSharedUint8Array;
|
|
@@ -11,6 +11,8 @@ export declare const ENVELOPE_LEN = 114;
|
|
|
11
11
|
export declare const ATTEST_PREIMAGE_LEN = 206;
|
|
12
12
|
export declare const ATTEST_PROOF_PREIMAGE_LEN = 238;
|
|
13
13
|
export declare const ATTEST_SPLIT_PREIMAGE_LEN = 238;
|
|
14
|
+
export declare const MAX_COSIGNERS = 16;
|
|
15
|
+
export declare const COSIGN_KEYS_AT = 18;
|
|
14
16
|
export type SignedIntentFields = {
|
|
15
17
|
domain: Uint8Array;
|
|
16
18
|
owner: Address;
|
|
@@ -31,7 +33,10 @@ export type SignedIntentFields = {
|
|
|
31
33
|
};
|
|
32
34
|
export declare function signedIntentPreimage(f: SignedIntentFields): Promise<Uint8Array>;
|
|
33
35
|
export declare function offchainEnvelope(signer: Address, digest: Uint8Array): Uint8Array;
|
|
34
|
-
export declare function
|
|
36
|
+
export declare function cosignerSet(keys: readonly Address[]): Address[];
|
|
37
|
+
export declare function cosignEnvelope(keys: readonly Address[], digest: Uint8Array): Uint8Array;
|
|
38
|
+
export declare function splitCosignEnvelope(digest: Uint8Array, cosigners: readonly Address[]): Uint8Array;
|
|
39
|
+
export declare function signMessageBytes(signer: MessagePartialSigner, message: Uint8Array): Promise<Uint8Array>;
|
|
35
40
|
export declare function checkSignable(f: SignedIntentFields): SignedIntentFields;
|
|
36
41
|
export declare function signedIntentMessage(f: SignedIntentFields): Promise<Uint8Array>;
|
|
37
42
|
export type AttestedFillFields = {
|
|
@@ -59,14 +64,15 @@ export type AttestedSplitFields = Omit<AttestedFillFields, "payee"> & {
|
|
|
59
64
|
splitHash: Uint8Array;
|
|
60
65
|
};
|
|
61
66
|
export declare function attestedSplitPreimage(f: AttestedSplitFields): Promise<Uint8Array>;
|
|
62
|
-
export declare function
|
|
67
|
+
export declare function attestedSplitDigest(f: AttestedSplitFields): Promise<Uint8Array>;
|
|
68
|
+
export declare function attestedSplitMessage(f: AttestedSplitFields, cosigners: readonly Address[]): Promise<Uint8Array>;
|
|
63
69
|
export declare function ed25519Header(messageLength: number): Uint8Array;
|
|
64
70
|
export declare function buildEd25519Instruction(input: {
|
|
65
71
|
publicKey: Address;
|
|
66
72
|
signature: Uint8Array;
|
|
67
73
|
message: Uint8Array;
|
|
68
74
|
}): Instruction;
|
|
69
|
-
export declare function signEd25519Instruction(signer:
|
|
75
|
+
export declare function signEd25519Instruction(signer: MessagePartialSigner, message: Uint8Array): Promise<Instruction>;
|
|
70
76
|
export declare const MAX_ED25519_BATCH = 255;
|
|
71
77
|
export declare function buildEd25519BatchInstruction(input: {
|
|
72
78
|
entries: {
|
|
@@ -75,3 +81,10 @@ export declare function buildEd25519BatchInstruction(input: {
|
|
|
75
81
|
}[];
|
|
76
82
|
message: Uint8Array;
|
|
77
83
|
}): Instruction;
|
|
84
|
+
export declare function buildEd25519CosignInstruction(input: {
|
|
85
|
+
entries: {
|
|
86
|
+
publicKey: Address;
|
|
87
|
+
signature: Uint8Array;
|
|
88
|
+
}[];
|
|
89
|
+
message: Uint8Array;
|
|
90
|
+
}): Instruction;
|