@zerc20/wallet-sdk 0.4.0 → 0.6.0
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/LICENSE +17 -20
- package/README.md +2 -2
- package/dist/accountId.d.ts +5 -0
- package/dist/accountId.js +19 -0
- package/dist/accountId.js.map +1 -0
- package/dist/chain.d.ts +86 -9
- package/dist/chain.js +61 -33
- package/dist/chain.js.map +1 -1
- package/dist/context.d.ts +8 -2
- package/dist/context.js +15 -2
- package/dist/context.js.map +1 -1
- package/dist/core.d.ts +35 -5
- package/dist/core.js +98 -25
- package/dist/core.js.map +1 -1
- package/dist/errors.d.ts +20 -3
- package/dist/errors.js +7 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/network.d.ts +4 -2
- package/dist/network.js +3 -1
- package/dist/network.js.map +1 -1
- package/dist/pos.d.ts +10 -1
- package/dist/pos.js +219 -55
- package/dist/pos.js.map +1 -1
- package/dist/prove.d.ts +3 -0
- package/dist/prove.js +9 -0
- package/dist/prove.js.map +1 -1
- package/dist/rageExit.d.ts +27 -4
- package/dist/rageExit.js +160 -49
- package/dist/rageExit.js.map +1 -1
- package/dist/seed.d.ts +4 -0
- package/dist/seed.js +13 -1
- package/dist/seed.js.map +1 -1
- package/dist/servers.d.ts +5 -0
- package/dist/servers.js +2 -0
- package/dist/servers.js.map +1 -1
- package/dist/services.d.ts +14 -6
- package/dist/services.js +35 -14
- package/dist/services.js.map +1 -1
- package/dist/spend.d.ts +53 -11
- package/dist/spend.js +171 -65
- package/dist/spend.js.map +1 -1
- package/dist/state.d.ts +21 -0
- package/dist/state.js.map +1 -1
- package/dist/sync.d.ts +10 -5
- package/dist/sync.js +49 -18
- package/dist/sync.js.map +1 -1
- package/dist/wallet.d.ts +132 -21
- package/dist/wallet.js +342 -91
- package/dist/wallet.js.map +1 -1
- package/package.json +3 -3
- package/src/accountId.ts +22 -0
- package/src/chain.ts +101 -49
- package/src/context.ts +27 -3
- package/src/core.ts +112 -26
- package/src/errors.ts +15 -2
- package/src/index.ts +15 -2
- package/src/network.ts +6 -3
- package/src/pos.ts +247 -61
- package/src/prove.ts +10 -0
- package/src/rageExit.ts +237 -61
- package/src/seed.ts +24 -1
- package/src/servers.ts +9 -1
- package/src/services.ts +36 -22
- package/src/spend.ts +188 -75
- package/src/state.ts +25 -1
- package/src/sync.ts +54 -19
- package/src/wallet.ts +437 -109
- package/wasm/zerc20_wallet_core.d.ts +1 -1
- package/wasm/zerc20_wallet_core.js +1 -1
- package/wasm/zerc20_wallet_core_bg.wasm +0 -0
package/dist/core.js
CHANGED
|
@@ -19,25 +19,30 @@ export function initCore() {
|
|
|
19
19
|
export const core = wasm;
|
|
20
20
|
/** The `index`-th burn address of `publicKey` on a chain and token, and its salt, from `burnKey`: the wallet's own burn
|
|
21
21
|
* key, or a point of sale's (`wallet_keys::derive_burn_address`). About 2^16 hashes, spread over the device's cores
|
|
22
|
-
* (Web Workers in a browser, worker threads in Node) so that the app stays responsive; `signal` stops the search.
|
|
23
|
-
|
|
22
|
+
* (Web Workers in a browser, worker threads in Node) so that the app stays responsive; `signal` stops the search. One
|
|
23
|
+
* that nobody waits for, made ahead, is `urgent: false`: it gives way to those someone waits for. */
|
|
24
|
+
export const burnAddress = (burnKey, chainId, tokenId, index, publicKey, opts = {}) => search({ burnKey, chainId, tokenId, index, publicKey }, opts.urgent ?? true, opts.signal);
|
|
24
25
|
/** A burn address of someone else's `publicKey` (one they published to be paid), with a random salt that has the proof
|
|
25
26
|
* of work: about 2^16 hashes too, searched the same way. Only who holds the salt finds it: the payer, and the owner once
|
|
26
27
|
* told (`planSend` with `burn`). */
|
|
27
|
-
export const burnAddressFor = (chainId, publicKey, signal) => search({ chainId, publicKey }, signal);
|
|
28
|
+
export const burnAddressFor = (chainId, publicKey, signal) => search({ chainId, publicKey }, true, signal);
|
|
28
29
|
/** Counters per block: about 20 ms of hashing on a laptop, a few times that on a phone. */
|
|
29
30
|
const BLOCK = 512;
|
|
30
|
-
/**
|
|
31
|
-
*
|
|
32
|
-
export function
|
|
33
|
-
let burn;
|
|
31
|
+
/** A block's call. Its salts count up from a start: one the burn key derives, or for someone else's key a random one
|
|
32
|
+
* below 2^253, so that every salt is a field element. */
|
|
33
|
+
export function blockCall({ search: s, from, to }) {
|
|
34
34
|
if ('burnKey' in s)
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
35
|
+
return { ...s, from, to };
|
|
36
|
+
const start = crypto.getRandomValues(new Uint8Array(32));
|
|
37
|
+
start[0] = start[0] & 0x1f;
|
|
38
|
+
return { chainId: s.chainId, publicKey: s.publicKey, start: bytesToHex(start), count: to - from + 1 };
|
|
39
|
+
}
|
|
40
|
+
/** The address a block holds, if any. */
|
|
41
|
+
export function runBlock(b) {
|
|
42
|
+
const c = blockCall(b);
|
|
43
|
+
const burn = 'burnKey' in c
|
|
44
|
+
? core.burnBlock(c.burnKey, c.chainId, c.tokenId, c.index, c.publicKey, c.from, c.to)
|
|
45
|
+
: core.burnBlockFor(c.chainId, c.publicKey, c.start, c.count);
|
|
41
46
|
return burn ?? null;
|
|
42
47
|
}
|
|
43
48
|
/** A search in progress, in blocks `0, 1, …` of `BLOCK` counters. From a burn key, the address is the first block's
|
|
@@ -97,8 +102,17 @@ export class Search {
|
|
|
97
102
|
this.#settle(r);
|
|
98
103
|
}
|
|
99
104
|
}
|
|
100
|
-
/** Searches in progress
|
|
101
|
-
|
|
105
|
+
/** Searches in progress by owner (the burn key, or the key paid): those someone waits for, and those made ahead. Each
|
|
106
|
+
* owner in turn gets a block of its oldest search that has one, so that one owner's many searches hold up no other's,
|
|
107
|
+
* and each address it waits for comes as soon as its cores allow. */
|
|
108
|
+
// ponytail: fair per owner, so per point of sale; a merchant opening many accounts gets many turns, so cap each
|
|
109
|
+
// merchant's sales if that happens
|
|
110
|
+
const queues = { urgent: new Map(), later: new Map() };
|
|
111
|
+
/** One block in this many goes to the searches made ahead while some are waited for: a flood of urgent searches slows
|
|
112
|
+
* the making ahead, which keeps everyone else's sales from waiting, but does not stop it. */
|
|
113
|
+
const LATER_EVERY = 4;
|
|
114
|
+
/** Urgent blocks handed out in a row. */
|
|
115
|
+
let urgentRun = 0;
|
|
102
116
|
let threads = null;
|
|
103
117
|
let starting = false;
|
|
104
118
|
/** Workers do not run here (a page whose CSP forbids them, a bundler that left burnWorker.js out, tests run from
|
|
@@ -108,29 +122,56 @@ let runningHere = false;
|
|
|
108
122
|
let idle;
|
|
109
123
|
/** An idle pool stops after this long, freeing a wasm instance per core. */
|
|
110
124
|
const IDLE_MS = 30_000;
|
|
111
|
-
async function search(s, signal) {
|
|
125
|
+
async function search(s, urgent, signal) {
|
|
112
126
|
await initCore();
|
|
113
127
|
signal?.throwIfAborted();
|
|
128
|
+
const queue = urgent ? queues.urgent : queues.later;
|
|
129
|
+
const owner = 'burnKey' in s ? bytesToHex(s.burnKey) : s.publicKey;
|
|
114
130
|
return new Promise((resolve, reject) => {
|
|
115
131
|
const abort = () => one.fail(signal.reason);
|
|
116
132
|
const one = new Search(s, (r) => {
|
|
117
133
|
signal?.removeEventListener('abort', abort);
|
|
118
|
-
|
|
134
|
+
const mine = queue.get(owner);
|
|
135
|
+
mine.splice(mine.indexOf(one), 1);
|
|
136
|
+
if (!mine.length)
|
|
137
|
+
queue.delete(owner);
|
|
119
138
|
if ('burn' in r)
|
|
120
139
|
resolve(r.burn);
|
|
121
140
|
else
|
|
122
141
|
reject(r.error);
|
|
123
142
|
});
|
|
124
143
|
signal?.addEventListener('abort', abort, { once: true });
|
|
125
|
-
|
|
144
|
+
const mine = queue.get(owner);
|
|
145
|
+
if (mine)
|
|
146
|
+
mine.push(one);
|
|
147
|
+
else
|
|
148
|
+
queue.set(owner, [one]);
|
|
126
149
|
dispatch();
|
|
127
150
|
});
|
|
128
151
|
}
|
|
129
152
|
function nextJob() {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
153
|
+
const order = urgentRun >= LATER_EVERY - 1 ? [queues.later, queues.urgent] : [queues.urgent, queues.later];
|
|
154
|
+
for (const queue of order) {
|
|
155
|
+
const job = takeFrom(queue);
|
|
156
|
+
if (!job)
|
|
157
|
+
continue;
|
|
158
|
+
urgentRun = queue === queues.urgent ? urgentRun + 1 : 0;
|
|
159
|
+
return job;
|
|
160
|
+
}
|
|
161
|
+
return null;
|
|
162
|
+
}
|
|
163
|
+
/** A block of the first owner in line that has one, from its oldest search that does; that owner then goes to the back
|
|
164
|
+
* of the line. */
|
|
165
|
+
function takeFrom(queue) {
|
|
166
|
+
for (const [owner, mine] of queue) {
|
|
167
|
+
for (const search of mine) {
|
|
168
|
+
const block = search.take();
|
|
169
|
+
if (block === undefined)
|
|
170
|
+
continue;
|
|
171
|
+
queue.delete(owner);
|
|
172
|
+
queue.set(owner, mine);
|
|
133
173
|
return { search, block };
|
|
174
|
+
}
|
|
134
175
|
}
|
|
135
176
|
return null;
|
|
136
177
|
}
|
|
@@ -145,9 +186,40 @@ function deliver({ search, block }, a) {
|
|
|
145
186
|
else
|
|
146
187
|
search.finish(block, a.burn);
|
|
147
188
|
}
|
|
148
|
-
|
|
189
|
+
let runner = null;
|
|
190
|
+
/** Blocks the runner has and has not answered. */
|
|
191
|
+
const onRunner = new Set();
|
|
192
|
+
/** Runs every block from now on on `r`, or with null in this module's wasm again. The blocks the runner had are handed
|
|
193
|
+
* out again, and what it answers for them later is dropped. */
|
|
194
|
+
export function runBurnsOn(r) {
|
|
195
|
+
for (const job of onRunner)
|
|
196
|
+
job.search.drop(job.block);
|
|
197
|
+
onRunner.clear();
|
|
198
|
+
runner = r;
|
|
199
|
+
dispatch();
|
|
200
|
+
}
|
|
201
|
+
function feed(r) {
|
|
202
|
+
while (onRunner.size < r.slots) {
|
|
203
|
+
const job = nextJob();
|
|
204
|
+
if (!job)
|
|
205
|
+
return;
|
|
206
|
+
onRunner.add(job);
|
|
207
|
+
void r
|
|
208
|
+
.run(blockCall(blockOf(job)))
|
|
209
|
+
.then((burn) => ({ burn }), (e) => ({ error: e instanceof Error ? e.message : String(e) }))
|
|
210
|
+
.then((a) => {
|
|
211
|
+
if (!onRunner.delete(job))
|
|
212
|
+
return; // handed out again when the runner was taken away
|
|
213
|
+
deliver(job, a);
|
|
214
|
+
dispatch();
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
/** Hands blocks to the runner, or to idle threads, starting the pool if it is not running. */
|
|
149
219
|
function dispatch() {
|
|
150
220
|
clearTimeout(idle);
|
|
221
|
+
if (runner)
|
|
222
|
+
return feed(runner);
|
|
151
223
|
if (here)
|
|
152
224
|
return void runHere();
|
|
153
225
|
if (!threads)
|
|
@@ -162,7 +234,7 @@ function dispatch() {
|
|
|
162
234
|
t.busy(true);
|
|
163
235
|
t.send(blockOf(job));
|
|
164
236
|
}
|
|
165
|
-
if (!
|
|
237
|
+
if (!queues.urgent.size && !queues.later.size && threads.every((t) => !t.job)) {
|
|
166
238
|
idle = setTimeout(stop, IDLE_MS);
|
|
167
239
|
idle.unref?.(); // a process need not stay up for it
|
|
168
240
|
}
|
|
@@ -260,7 +332,8 @@ async function spawn(count) {
|
|
|
260
332
|
});
|
|
261
333
|
}
|
|
262
334
|
/** Runs the blocks on this thread, yielding to the event loop every ~100 ms, and no more often: each yield is a timer,
|
|
263
|
-
* which costs 4 ms in a visible tab and a whole second in a hidden one.
|
|
335
|
+
* which costs 4 ms in a visible tab and a whole second in a hidden one. A runner set meanwhile takes every block from
|
|
336
|
+
* the next on. */
|
|
264
337
|
async function runHere() {
|
|
265
338
|
if (!here) {
|
|
266
339
|
here = true;
|
|
@@ -270,7 +343,7 @@ async function runHere() {
|
|
|
270
343
|
return;
|
|
271
344
|
runningHere = true;
|
|
272
345
|
let since = Date.now();
|
|
273
|
-
for (let job; (job = nextJob());) {
|
|
346
|
+
for (let job; !runner && (job = nextJob());) {
|
|
274
347
|
let a;
|
|
275
348
|
try {
|
|
276
349
|
a = { burn: runBlock(blockOf(job)) };
|
package/dist/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { CoinInfo } from './wallet.js';
|
|
1
2
|
export type ErrorCode =
|
|
2
3
|
/** Not enough value for the amount and its fees, even counting what is still settling. */
|
|
3
4
|
'insufficient-funds'
|
|
@@ -5,10 +6,14 @@ export type ErrorCode =
|
|
|
5
6
|
* `fees({ kind: 'consolidate' })` tells how many rounds that takes. */
|
|
6
7
|
| 'needs-consolidation'
|
|
7
8
|
/** What is spendable now does not pay it, but notes or deposits are still settling (screening, awaiting
|
|
8
|
-
* a root, or the change of an operation in flight): pay again once `balances()` shows them spendable.
|
|
9
|
+
* a root, or the change of an operation in flight): pay again once `balances()` shows them spendable. The error's
|
|
10
|
+
* `waitsOn` tells which coin, where that is known. */
|
|
9
11
|
| 'funds-settling'
|
|
10
12
|
/** The fees are above the `maxFee` the caller allowed. */
|
|
11
13
|
| 'fee-too-high'
|
|
14
|
+
/** Another device of this wallet spent a note or deposit the operation was spending, first: each device locks its
|
|
15
|
+
* inputs in its own state. The operation cannot land and paid nothing: pay again. */
|
|
16
|
+
| 'spent-elsewhere'
|
|
12
17
|
/** The address never registered for private payments: pay it publicly or ask for a receive code. */
|
|
13
18
|
| 'recipient-not-registered'
|
|
14
19
|
/** The withdrawal's recipient (or a merge's fee recipient) fails the attester's AML screening: withdraw elsewhere. */
|
|
@@ -17,8 +22,12 @@ export type ErrorCode =
|
|
|
17
22
|
| 'unsupported-account'
|
|
18
23
|
/** The user declined a signature or a transaction in their wallet. */
|
|
19
24
|
| 'user-rejected'
|
|
20
|
-
/** The
|
|
25
|
+
/** The operation was cancelled (`cancel()`) before anything went to the relayer: it paid nothing. */
|
|
26
|
+
| 'cancelled'
|
|
27
|
+
/** The wallet is open in another tab or window: close it there (`close()`), or open it here with `take`. */
|
|
21
28
|
| 'wallet-in-use'
|
|
29
|
+
/** Another tab or window took this wallet (`taken`): open it again with `take` to take it back. */
|
|
30
|
+
| 'wallet-taken'
|
|
22
31
|
/** This wallet watches its account by its view key (`Wallet.watch`): it spends and writes nothing. */
|
|
23
32
|
| 'read-only'
|
|
24
33
|
/** This wallet object was closed (`close()`): open the wallet again to go on. */
|
|
@@ -33,7 +42,15 @@ export type ErrorCode =
|
|
|
33
42
|
| 'invalid';
|
|
34
43
|
export declare class WalletError extends Error {
|
|
35
44
|
readonly code: ErrorCode;
|
|
36
|
-
|
|
45
|
+
/** For `funds-settling`, the coin on its way whose turning spendable should let it pay: when, by its `readyBy`,
|
|
46
|
+
* and why, by its `state`. Null where it may wait on something with no estimate (a halted root, a note not
|
|
47
|
+
* confirmed yet, an operation in flight), or where what is on its way does not pay it either. */
|
|
48
|
+
readonly waitsOn: CoinInfo | null;
|
|
49
|
+
constructor(code: ErrorCode, message: string,
|
|
50
|
+
/** For `funds-settling`, the coin on its way whose turning spendable should let it pay: when, by its `readyBy`,
|
|
51
|
+
* and why, by its `state`. Null where it may wait on something with no estimate (a halted root, a note not
|
|
52
|
+
* confirmed yet, an operation in flight), or where what is on its way does not pay it either. */
|
|
53
|
+
waitsOn?: CoinInfo | null);
|
|
37
54
|
}
|
|
38
55
|
export declare const fail: (code: ErrorCode, message: string) => never;
|
|
39
56
|
/** Maps a declined wallet prompt to `user-rejected`, also where viem wraps it (a transaction's, in an execution error). */
|
package/dist/errors.js
CHANGED
|
@@ -2,9 +2,15 @@
|
|
|
2
2
|
import { BaseError, UserRejectedRequestError } from 'viem';
|
|
3
3
|
export class WalletError extends Error {
|
|
4
4
|
code;
|
|
5
|
-
|
|
5
|
+
waitsOn;
|
|
6
|
+
constructor(code, message,
|
|
7
|
+
/** For `funds-settling`, the coin on its way whose turning spendable should let it pay: when, by its `readyBy`,
|
|
8
|
+
* and why, by its `state`. Null where it may wait on something with no estimate (a halted root, a note not
|
|
9
|
+
* confirmed yet, an operation in flight), or where what is on its way does not pay it either. */
|
|
10
|
+
waitsOn = null) {
|
|
6
11
|
super(message);
|
|
7
12
|
this.code = code;
|
|
13
|
+
this.waitsOn = waitsOn;
|
|
8
14
|
this.name = 'WalletError';
|
|
9
15
|
}
|
|
10
16
|
}
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,MAAM,CAAC;AA6C3D,MAAM,OAAO,WAAY,SAAQ,KAAK;IAEzB;IAKA;IANX,YACW,IAAe,EACxB,OAAe;IACf;;qGAEiG;IACxF,UAA2B,IAAI;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QAPN,SAAI,GAAJ,IAAI,CAAW;QAKf,YAAO,GAAP,OAAO,CAAwB;QAGxC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,IAAe,EAAE,OAAe,EAAS,EAAE;IAC9D,MAAM,IAAI,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAE,EAAE,CAC9B,CAAC,YAAY,wBAAwB,IAAK,CAA8B,EAAE,IAAI,KAAK,IAAI,CAAC;AAE1F,2HAA2H;AAC3H,MAAM,CAAC,KAAK,UAAU,KAAK,CAAI,CAAa;IAC1C,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,CAAC;IACjB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7D,MAAM,IAAI,WAAW,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAC;QACnE,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { accountId, idAccount } from './accountId.js';
|
|
2
|
+
export { Chain, type Referrer, type Refund, type Token, MAX_REFERRAL_BPS, NATIVE, UNWRAP_INTENT, rpcTransport, } from './chain.js';
|
|
3
|
+
export { type Burn, type BurnCall, type BurnRunner, runBurnsOn } from './core.js';
|
|
2
4
|
export { type ErrorCode, WalletError } from './errors.js';
|
|
3
5
|
export { type AttesterTrust, type ChainConfig, type Circuit, type Network, NITRO_ROOT_SHA256, checkNetwork, networkFromJson, } from './network.js';
|
|
4
6
|
export { type Payment, PointOfSale, type PosToken, type Sale, type SaleStatus } from './pos.js';
|
|
5
7
|
export { accountKey, seedFromSignature } from './seed.js';
|
|
6
8
|
export { viewKeyAccount } from './viewKey.js';
|
|
7
|
-
export { type Activity, type Balance, type CoinInfo, type CoinState, type DepositInfo, type DepositStep, type FeeQuote, type OpenOptions, type Operation, type OperationKind, type OperationStatus, type PendingReason, Wallet, type WatchOptions, } from './wallet.js';
|
|
9
|
+
export { type Activity, type Balance, type CoinInfo, type CoinState, type DepositAddressInfo, type DepositInfo, type DepositStep, type FeeQuote, type MaxAmount, type OpenOptions, type Operation, type OperationKind, type OperationStatus, type PendingReason, Wallet, type WatchOptions, } from './wallet.js';
|
package/dist/index.js
CHANGED
|
@@ -5,13 +5,15 @@
|
|
|
5
5
|
// wallet.balances(); // spendable, and what is pending and why
|
|
6
6
|
// await (await wallet.deposit({ token, amount })).wait();
|
|
7
7
|
// const q = await wallet.fees({ kind: 'send', token, amount });
|
|
8
|
-
// await (await wallet.send({ to: '
|
|
8
|
+
// await (await wallet.send({ to: 'zerc20id1…', token, amount, maxFee: q.fee })).wait();
|
|
9
9
|
// const watching = await Wallet.watch({ network, viewKey: wallet.viewKey(), persist }); // elsewhere, spends nothing
|
|
10
10
|
//
|
|
11
11
|
// Nothing secret leaves the device unencrypted: JoinSplit proofs are made here, a merge's by the merge prover, and the
|
|
12
12
|
// attester and the prover get the witness sealed to an enclave whose measurement the wallet checks. Servers are only
|
|
13
13
|
// ever asked for what every wallet downloads.
|
|
14
|
-
export {
|
|
14
|
+
export { accountId, idAccount } from './accountId.js';
|
|
15
|
+
export { Chain, MAX_REFERRAL_BPS, NATIVE, UNWRAP_INTENT, rpcTransport, } from './chain.js';
|
|
16
|
+
export { runBurnsOn } from './core.js';
|
|
15
17
|
export { WalletError } from './errors.js';
|
|
16
18
|
export { NITRO_ROOT_SHA256, checkNetwork, networkFromJson, } from './network.js';
|
|
17
19
|
export { PointOfSale } from './pos.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,EAAE;AACF,gFAAgF;AAChF,2EAA2E;AAC3E,uFAAuF;AACvF,4DAA4D;AAC5D,kEAAkE;AAClE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,EAAE;AACF,gFAAgF;AAChF,2EAA2E;AAC3E,uFAAuF;AACvF,4DAA4D;AAC5D,kEAAkE;AAClE,0FAA0F;AAC1F,uHAAuH;AACvH,EAAE;AACF,uHAAuH;AACvH,qHAAqH;AACrH,8CAA8C;AAE9C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EACL,KAAK,EAIL,gBAAgB,EAChB,MAAM,EACN,aAAa,EACb,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAA6C,UAAU,EAAE,MAAM,WAAW,CAAC;AAClF,OAAO,EAAkB,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAKL,iBAAiB,EACjB,YAAY,EACZ,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAgB,WAAW,EAA6C,MAAM,UAAU,CAAC;AAChG,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAeL,MAAM,GAEP,MAAM,aAAa,CAAC"}
|
package/dist/network.d.ts
CHANGED
|
@@ -21,8 +21,10 @@ export type AttesterTrust =
|
|
|
21
21
|
export declare const NITRO_ROOT_SHA256 = "641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b";
|
|
22
22
|
export interface ChainConfig {
|
|
23
23
|
chainId: bigint;
|
|
24
|
-
/**
|
|
25
|
-
|
|
24
|
+
/** The chain's RPCs, in order, for every read and every wait on a receipt, never the wallet's own: a call goes on
|
|
25
|
+
* to the next one when one fails it, so one that a resolver, a firewall or an outage keeps from a device stops
|
|
26
|
+
* nothing. */
|
|
27
|
+
rpcUrls: string[];
|
|
26
28
|
verifier: Address;
|
|
27
29
|
depositAddressFactory: Address;
|
|
28
30
|
indexer: string;
|
package/dist/network.js
CHANGED
|
@@ -44,7 +44,9 @@ export function checkNetwork(n) {
|
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
46
|
for (const c of n.chains) {
|
|
47
|
-
|
|
47
|
+
if (!c.rpcUrls.length)
|
|
48
|
+
bad(`chain ${c.chainId} names no RPC`);
|
|
49
|
+
servers([...c.rpcUrls, c.indexer, c.asp, c.attester, c.transactRelayer, c.depositRelayer]);
|
|
48
50
|
trusted([c], 'attester', c.attesterTrust);
|
|
49
51
|
}
|
|
50
52
|
if (n.mergeProver) {
|
package/dist/network.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../src/network.ts"],"names":[],"mappings":"AAAA,8GAA8G;AAC9G,yCAAyC;AAGzC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAiBnC,0EAA0E;AAC1E,MAAM,CAAC,MAAM,iBAAiB,GAAG,kEAAkE,CAAC;
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../src/network.ts"],"names":[],"mappings":"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"}
|
package/dist/pos.d.ts
CHANGED
|
@@ -44,7 +44,8 @@ export declare class PointOfSale {
|
|
|
44
44
|
#private;
|
|
45
45
|
private constructor();
|
|
46
46
|
/** Opens the point of sale's saved state. It keeps which addresses it handed out: lose that, and it may hand one out
|
|
47
|
-
* twice. One state, one point of sale: two open on it would hand out the same addresses
|
|
47
|
+
* twice. One state, one point of sale: two open on it would hand out the same addresses, so `close` the one before
|
|
48
|
+
* opening it again. */
|
|
48
49
|
static open(opts: {
|
|
49
50
|
network: Network;
|
|
50
51
|
persist: {
|
|
@@ -53,11 +54,17 @@ export declare class PointOfSale {
|
|
|
53
54
|
};
|
|
54
55
|
refillWithinMs?: number;
|
|
55
56
|
}): Promise<PointOfSale>;
|
|
57
|
+
/** Whether `merchant` registered for private payments in storage, as `connect` needs: a server may ask before it keeps
|
|
58
|
+
* anything for an account, since storage admits registrations at a bounded rate and accounts cost nothing. */
|
|
59
|
+
static registered(network: Network, merchant: Address): Promise<boolean>;
|
|
56
60
|
get connected(): boolean;
|
|
57
61
|
/** Takes the key `merchant`'s wallet made for it (`Wallet.posKey`), and the public key `merchant` registered in
|
|
58
62
|
* storage, which every address it makes is under: whoever hands it a key cannot point sales at a key of its own. The
|
|
59
63
|
* same key again changes nothing. Another one starts over in that lane; the sales made so far are still followed. */
|
|
60
64
|
connect(merchant: Address, laneKey: Hex): Promise<void>;
|
|
65
|
+
/** Stops making and recording, then saves the state as it is: nothing is saved after, so the state may be opened
|
|
66
|
+
* again. A sale under way then fails rather than hand out an address it could not save. */
|
|
67
|
+
close(): Promise<void>;
|
|
61
68
|
/** Readies addresses of `token` ahead of its sales: an app calls it for each token it takes, as it starts and after
|
|
62
69
|
* sales. Nothing happens while enough are ready, or a refill is under way or due. */
|
|
63
70
|
prepare(token: PosToken): void;
|
|
@@ -79,6 +86,8 @@ export declare class PointOfSale {
|
|
|
79
86
|
refundTo?: Address;
|
|
80
87
|
}): Promise<Sale>;
|
|
81
88
|
sales(): Sale[];
|
|
89
|
+
/** Sale `id`. */
|
|
90
|
+
sale(id: Address): Sale;
|
|
82
91
|
/** What reached each of sales `ids`: every transfer to its burn address, with where each stands. One pass per chain
|
|
83
92
|
* for them all, reading only what every wallet downloads, so no server learns which addresses it asks about. A chain
|
|
84
93
|
* that fails keeps what was read before, and its error is returned. */
|