@unlink-xyz/core 0.1.3-canary.fd5dddf → 0.1.4
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 +9 -0
- package/dist/account/account.d.ts +31 -2
- package/dist/account/account.d.ts.map +1 -1
- package/dist/account/accounts.d.ts +42 -0
- package/dist/account/accounts.d.ts.map +1 -0
- package/dist/account/seed.d.ts +45 -0
- package/dist/account/seed.d.ts.map +1 -0
- package/dist/account/serialization.d.ts +6 -0
- package/dist/account/serialization.d.ts.map +1 -0
- package/dist/browser/index.js +34424 -86406
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/wallet/index.js +55942 -0
- package/dist/browser/wallet/index.js.map +1 -0
- package/dist/clients/broadcaster.d.ts +1 -0
- package/dist/clients/broadcaster.d.ts.map +1 -1
- package/dist/clients/indexer.d.ts +5 -0
- package/dist/clients/indexer.d.ts.map +1 -1
- package/dist/config.d.ts +6 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/core.d.ts.map +1 -1
- package/dist/crypto/adapters/index.d.ts +17 -0
- package/dist/crypto/adapters/index.d.ts.map +1 -0
- package/dist/crypto/adapters/polyfills.d.ts +5 -0
- package/dist/crypto/adapters/polyfills.d.ts.map +1 -0
- package/dist/crypto/encrypt.d.ts +33 -0
- package/dist/crypto/encrypt.d.ts.map +1 -0
- package/dist/crypto/secure-memory.d.ts.map +1 -0
- package/dist/errors.d.ts +8 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6721 -23
- package/dist/index.js.map +1 -0
- package/dist/keys/derive.d.ts +2 -2
- package/dist/keys/derive.d.ts.map +1 -1
- package/dist/keys/hex.d.ts +1 -4
- package/dist/keys/hex.d.ts.map +1 -1
- package/dist/keys/mnemonic.d.ts +0 -2
- package/dist/keys/mnemonic.d.ts.map +1 -1
- package/dist/keys.d.ts +1 -0
- package/dist/keys.d.ts.map +1 -1
- package/dist/prover/config.d.ts +54 -9
- package/dist/prover/config.d.ts.map +1 -1
- package/dist/prover/integrity.d.ts +20 -0
- package/dist/prover/integrity.d.ts.map +1 -0
- package/dist/prover/prover.d.ts +16 -31
- package/dist/prover/prover.d.ts.map +1 -1
- package/dist/state/merkle/hydrator.d.ts +21 -19
- package/dist/state/merkle/hydrator.d.ts.map +1 -1
- package/dist/state/merkle/index.d.ts +1 -1
- package/dist/state/merkle/index.d.ts.map +1 -1
- package/dist/state/store/ciphertext-store.d.ts +7 -0
- package/dist/state/store/ciphertext-store.d.ts.map +1 -1
- package/dist/state/store/index.d.ts +1 -1
- package/dist/state/store/index.d.ts.map +1 -1
- package/dist/state/store/job-store.d.ts.map +1 -1
- package/dist/state/store/jobs.d.ts +14 -16
- package/dist/state/store/jobs.d.ts.map +1 -1
- package/dist/state/store/leaf-store.d.ts +4 -0
- package/dist/state/store/leaf-store.d.ts.map +1 -1
- package/dist/state/store/nullifier-store.d.ts.map +1 -1
- package/dist/state/store/records.d.ts +8 -0
- package/dist/state/store/records.d.ts.map +1 -1
- package/dist/state/store/store.d.ts +18 -0
- package/dist/state/store/store.d.ts.map +1 -1
- package/dist/storage/indexeddb.d.ts.map +1 -1
- package/dist/storage/memory.d.ts.map +1 -1
- package/dist/transactions/adapter.d.ts +31 -0
- package/dist/transactions/adapter.d.ts.map +1 -0
- package/dist/transactions/deposit.d.ts +1 -1
- package/dist/transactions/deposit.d.ts.map +1 -1
- package/dist/transactions/index.d.ts +4 -2
- package/dist/transactions/index.d.ts.map +1 -1
- package/dist/transactions/note-sync.d.ts +3 -3
- package/dist/transactions/note-sync.d.ts.map +1 -1
- package/dist/transactions/reconcile.d.ts +1 -1
- package/dist/transactions/reconcile.d.ts.map +1 -1
- package/dist/transactions/transact.d.ts +21 -2
- package/dist/transactions/transact.d.ts.map +1 -1
- package/dist/transactions/transaction-planner.d.ts +1 -1
- package/dist/transactions/transaction-planner.d.ts.map +1 -1
- package/dist/transactions/transfer-planner.d.ts +2 -1
- package/dist/transactions/transfer-planner.d.ts.map +1 -1
- package/dist/transactions/types/deposit.d.ts +3 -3
- package/dist/transactions/types/deposit.d.ts.map +1 -1
- package/dist/transactions/types/domain.d.ts +3 -0
- package/dist/transactions/types/domain.d.ts.map +1 -1
- package/dist/transactions/types/options.d.ts +14 -5
- package/dist/transactions/types/options.d.ts.map +1 -1
- package/dist/transactions/types/planning.d.ts +2 -0
- package/dist/transactions/types/planning.d.ts.map +1 -1
- package/dist/transactions/types/state-stores.d.ts +53 -5
- package/dist/transactions/types/state-stores.d.ts.map +1 -1
- package/dist/transactions/types/transact.d.ts +10 -3
- package/dist/transactions/types/transact.d.ts.map +1 -1
- package/dist/transactions/withdrawal-planner.d.ts +1 -1
- package/dist/transactions/withdrawal-planner.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/tsup.config.d.ts +8 -0
- package/dist/tsup.config.d.ts.map +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/amounts.d.ts +0 -13
- package/dist/utils/amounts.d.ts.map +1 -1
- package/dist/utils/async.js +37 -34
- package/dist/utils/async.js.map +1 -0
- package/dist/utils/bigint.d.ts +0 -2
- package/dist/utils/bigint.d.ts.map +1 -1
- package/dist/utils/random.d.ts +5 -0
- package/dist/utils/random.d.ts.map +1 -1
- package/dist/utils/validators.d.ts.map +1 -1
- package/dist/vitest.config.d.ts.map +1 -1
- package/dist/wallet/adapter.d.ts +21 -0
- package/dist/wallet/adapter.d.ts.map +1 -0
- package/dist/wallet/burner/service.d.ts +32 -0
- package/dist/wallet/burner/service.d.ts.map +1 -0
- package/dist/wallet/burner/types.d.ts +47 -0
- package/dist/wallet/burner/types.d.ts.map +1 -0
- package/dist/wallet/index.d.ts +20 -0
- package/dist/wallet/index.d.ts.map +1 -0
- package/dist/wallet/index.js +6462 -0
- package/dist/wallet/index.js.map +1 -0
- package/dist/wallet/sdk.d.ts +48 -0
- package/dist/wallet/sdk.d.ts.map +1 -0
- package/dist/wallet/types.d.ts +457 -0
- package/dist/wallet/types.d.ts.map +1 -0
- package/dist/wallet/unlink-wallet.d.ts +187 -0
- package/dist/wallet/unlink-wallet.d.ts.map +1 -0
- package/package.json +16 -6
- package/dist/account/account.js +0 -142
- package/dist/circuits.json +0 -74
- package/dist/clients/broadcaster.js +0 -30
- package/dist/clients/http.js +0 -72
- package/dist/clients/indexer.js +0 -94
- package/dist/config.js +0 -36
- package/dist/constants.js +0 -5
- package/dist/core.js +0 -15
- package/dist/crypto-adapters/auto-init.d.ts +0 -2
- package/dist/crypto-adapters/auto-init.d.ts.map +0 -1
- package/dist/crypto-adapters/auto-init.js +0 -7
- package/dist/crypto-adapters/index.d.ts +0 -22
- package/dist/crypto-adapters/index.d.ts.map +0 -1
- package/dist/crypto-adapters/index.js +0 -47
- package/dist/crypto-adapters/polyfills.d.ts +0 -5
- package/dist/crypto-adapters/polyfills.d.ts.map +0 -1
- package/dist/crypto-adapters/polyfills.js +0 -8
- package/dist/errors.js +0 -36
- package/dist/history/index.js +0 -2
- package/dist/history/service.js +0 -354
- package/dist/history/types.js +0 -1
- package/dist/keys/address.js +0 -55
- package/dist/keys/derive.js +0 -112
- package/dist/keys/hex.js +0 -66
- package/dist/keys/index.js +0 -4
- package/dist/keys/mnemonic.js +0 -23
- package/dist/keys.js +0 -45
- package/dist/prover/config.js +0 -70
- package/dist/prover/index.js +0 -1
- package/dist/prover/prover.js +0 -291
- package/dist/prover/registry.js +0 -18
- package/dist/schema.js +0 -14
- package/dist/state/index.js +0 -2
- package/dist/state/merkle/hydrator.js +0 -37
- package/dist/state/merkle/index.js +0 -2
- package/dist/state/merkle/merkle-tree.js +0 -113
- package/dist/state/store/ciphertext-store.js +0 -37
- package/dist/state/store/history-store.js +0 -53
- package/dist/state/store/index.js +0 -9
- package/dist/state/store/job-store.js +0 -144
- package/dist/state/store/jobs.js +0 -1
- package/dist/state/store/leaf-store.js +0 -32
- package/dist/state/store/note-store.js +0 -146
- package/dist/state/store/nullifier-store.js +0 -60
- package/dist/state/store/records.js +0 -1
- package/dist/state/store/root-store.js +0 -26
- package/dist/state/store/store.js +0 -113
- package/dist/storage/index.js +0 -2
- package/dist/storage/indexeddb.js +0 -205
- package/dist/storage/memory.js +0 -91
- package/dist/transactions/deposit.js +0 -220
- package/dist/transactions/index.js +0 -9
- package/dist/transactions/note-selection.js +0 -201
- package/dist/transactions/note-sync.js +0 -485
- package/dist/transactions/reconcile.js +0 -85
- package/dist/transactions/transact.js +0 -450
- package/dist/transactions/transaction-planner.js +0 -116
- package/dist/transactions/transfer-planner.js +0 -85
- package/dist/transactions/types/deposit.js +0 -1
- package/dist/transactions/types/domain.js +0 -4
- package/dist/transactions/types/index.js +0 -17
- package/dist/transactions/types/options.js +0 -1
- package/dist/transactions/types/planning.js +0 -1
- package/dist/transactions/types/state-stores.js +0 -1
- package/dist/transactions/types/transact.js +0 -1
- package/dist/transactions/withdrawal-planner.js +0 -128
- package/dist/tsup.browser.config.js +0 -34
- package/dist/types.js +0 -1
- package/dist/utils/amounts.js +0 -89
- package/dist/utils/bigint.js +0 -29
- package/dist/utils/crypto.d.ts +0 -18
- package/dist/utils/crypto.d.ts.map +0 -1
- package/dist/utils/crypto.js +0 -45
- package/dist/utils/format.js +0 -33
- package/dist/utils/json-codec.js +0 -25
- package/dist/utils/notes.js +0 -14
- package/dist/utils/polling.js +0 -11
- package/dist/utils/random.js +0 -27
- package/dist/utils/secure-memory.d.ts.map +0 -1
- package/dist/utils/secure-memory.js +0 -28
- package/dist/utils/signature.js +0 -14
- package/dist/utils/validators.js +0 -96
- package/dist/vitest.config.js +0 -13
- /package/dist/{utils → crypto}/secure-memory.d.ts +0 -0
package/dist/utils/validators.js
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { ValidationError } from "../errors.js";
|
|
2
|
-
import { decodeAddress } from "../keys/address.js";
|
|
3
|
-
import { assertNonNegative } from "./bigint.js";
|
|
4
|
-
export const SNARK_SCALAR_FIELD = 21888242871839275222246405745257275088548364400416034343698204186575808495617n;
|
|
5
|
-
export function ensurePositiveInt(label, value) {
|
|
6
|
-
if (!Number.isInteger(value) || value < 0) {
|
|
7
|
-
throw new ValidationError(`${label} must be a non-negative integer`);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
export function ensureChainId(chainId) {
|
|
11
|
-
if (!Number.isInteger(chainId) || chainId <= 0) {
|
|
12
|
-
throw new ValidationError("chainId must be a positive integer");
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
/** Guards master public key strings against empty values. */
|
|
16
|
-
export function ensureMpk(mpk) {
|
|
17
|
-
if (typeof mpk !== "string" || mpk.length === 0) {
|
|
18
|
-
throw new ValidationError("note mpk must be a non-empty string");
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
export function ensureBigIntString(label, value) {
|
|
22
|
-
let parsed;
|
|
23
|
-
try {
|
|
24
|
-
parsed = BigInt(value);
|
|
25
|
-
}
|
|
26
|
-
catch {
|
|
27
|
-
throw new ValidationError(`${label} must be a base-10 bigint string`);
|
|
28
|
-
}
|
|
29
|
-
if (parsed < 0n) {
|
|
30
|
-
throw new ValidationError(`${label} must be non-negative`);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
const ADDRESS_REGEX = /^0x[0-9a-fA-F]{40}$/;
|
|
34
|
-
export function ensureAddress(label, value) {
|
|
35
|
-
if (typeof value !== "string" || !ADDRESS_REGEX.test(value)) {
|
|
36
|
-
throw new ValidationError(`${label} must be a 0x-prefixed hex address, received: ${value}`);
|
|
37
|
-
}
|
|
38
|
-
return value.toLowerCase();
|
|
39
|
-
}
|
|
40
|
-
/** Confirms the bigint resides in the SNARK scalar field range. */
|
|
41
|
-
export function ensureFieldElement(label, value) {
|
|
42
|
-
if (value < 0n) {
|
|
43
|
-
throw new ValidationError(`${label} must be a non-negative field element`);
|
|
44
|
-
}
|
|
45
|
-
if (value >= SNARK_SCALAR_FIELD) {
|
|
46
|
-
throw new ValidationError(`${label} must be less than the SNARK scalar field`);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
/** Validates withdrawal note public data before encoding calldata. */
|
|
50
|
-
export function ensureWithdrawalInput(label, withdrawal) {
|
|
51
|
-
if (!withdrawal) {
|
|
52
|
-
return undefined;
|
|
53
|
-
}
|
|
54
|
-
assertNonNegative(`${label}.npk`, withdrawal.npk);
|
|
55
|
-
ensureFieldElement(`${label}.npk`, withdrawal.npk);
|
|
56
|
-
assertNonNegative(`${label}.amount`, withdrawal.amount);
|
|
57
|
-
// if (withdrawal.amount === 0n) {
|
|
58
|
-
// throw new ValidationError(`${label}.amount must be greater than zero`);
|
|
59
|
-
// }
|
|
60
|
-
ensureFieldElement(`${label}.amount`, withdrawal.amount);
|
|
61
|
-
ensureAddress(`${label}.token`, withdrawal.token);
|
|
62
|
-
return withdrawal;
|
|
63
|
-
}
|
|
64
|
-
/** Validates note parameters before producing a Poseidon commitment. */
|
|
65
|
-
export function ensureNoteCommitmentInput(label, note) {
|
|
66
|
-
assertNonNegative(`${label}.npk`, note.npk);
|
|
67
|
-
ensureFieldElement(`${label}.npk`, note.npk);
|
|
68
|
-
assertNonNegative(`${label}.amount`, note.amount);
|
|
69
|
-
if (note.amount === 0n) {
|
|
70
|
-
throw new ValidationError(`${label}.amount must be greater than zero`);
|
|
71
|
-
}
|
|
72
|
-
ensureFieldElement(`${label}.amount`, note.amount);
|
|
73
|
-
ensureAddress(`${label}.token`, note.token);
|
|
74
|
-
return note;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Parses a Bech32m ZK address (0zk1...) into its components.
|
|
78
|
-
*
|
|
79
|
-
* @param value - The Bech32m address string
|
|
80
|
-
* @returns Parsed address with masterPublicKey, viewingPublicKey, and optional chain
|
|
81
|
-
* @throws ValidationError if the address is invalid
|
|
82
|
-
*/
|
|
83
|
-
export function parseZkAddress(value) {
|
|
84
|
-
const trimmed = value.trim();
|
|
85
|
-
try {
|
|
86
|
-
const decoded = decodeAddress(trimmed);
|
|
87
|
-
return {
|
|
88
|
-
masterPublicKey: decoded.masterPublicKey,
|
|
89
|
-
viewingPublicKey: decoded.viewingPublicKey,
|
|
90
|
-
chain: decoded.chain,
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
catch (err) {
|
|
94
|
-
throw new ValidationError(`Invalid ZK address (expected 0zk1... format): ${err instanceof Error ? err.message : "unknown error"}`);
|
|
95
|
-
}
|
|
96
|
-
}
|
package/dist/vitest.config.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { defineConfig } from "vitest/config";
|
|
2
|
-
export default defineConfig({
|
|
3
|
-
test: {
|
|
4
|
-
globals: true,
|
|
5
|
-
setupFiles: ["./vitest.setup.ts"],
|
|
6
|
-
server: {
|
|
7
|
-
deps: {
|
|
8
|
-
// Transform CJS deps to support ESM named imports
|
|
9
|
-
inline: ["circomlibjs"],
|
|
10
|
-
},
|
|
11
|
-
},
|
|
12
|
-
},
|
|
13
|
-
});
|
|
File without changes
|