@defdone/annon 0.0.0-stage → 0.1.0-alpha.1
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/CHANGELOG.md +63 -0
- package/CLI.md +378 -0
- package/LICENSE +201 -0
- package/NOTICE +7 -0
- package/README.md +591 -2
- package/dist/api/annon-types.d.ts +108 -0
- package/dist/api/annon-types.js +2 -0
- package/dist/api/annon.d.ts +117 -0
- package/dist/api/annon.js +1152 -0
- package/dist/api/hosted-record.d.ts +13 -0
- package/dist/api/hosted-record.js +149 -0
- package/dist/api/sharing-types.d.ts +109 -0
- package/dist/api/sharing-types.js +1 -0
- package/dist/api/sharing.d.ts +36 -0
- package/dist/api/sharing.js +879 -0
- package/dist/browser/download.d.ts +19 -0
- package/dist/browser/download.js +52 -0
- package/dist/browser/index.d.ts +23 -0
- package/dist/browser/index.js +22 -0
- package/dist/browser/login-bundle.js +151 -0
- package/dist/browser/login.d.ts +1 -0
- package/dist/browser/login.js +216 -0
- package/dist/browser/purchase-bundle.js +84 -0
- package/dist/browser/purchases.d.ts +98 -0
- package/dist/browser/purchases.js +735 -0
- package/dist/browser/record.d.ts +55 -0
- package/dist/browser/record.js +16 -0
- package/dist/browser/selling.d.ts +146 -0
- package/dist/browser/selling.js +418 -0
- package/dist/browser/wallets.d.ts +53 -0
- package/dist/browser/wallets.js +286 -0
- package/dist/bytes.d.ts +4 -0
- package/dist/bytes.js +16 -0
- package/dist/download/download.d.ts +59 -0
- package/dist/download/download.js +384 -0
- package/dist/download/host.d.ts +56 -0
- package/dist/download/host.js +161 -0
- package/dist/download/http.d.ts +23 -0
- package/dist/download/http.js +87 -0
- package/dist/download/proof.d.ts +20 -0
- package/dist/download/proof.js +79 -0
- package/dist/download/upload.d.ts +130 -0
- package/dist/download/upload.js +408 -0
- package/dist/envelope/evm.d.ts +4 -0
- package/dist/envelope/evm.js +32 -0
- package/dist/envelope/pay2.d.ts +176 -0
- package/dist/envelope/pay2.js +541 -0
- package/dist/envelope/replay.d.ts +45 -0
- package/dist/envelope/replay.js +186 -0
- package/dist/envelope/stream.d.ts +78 -0
- package/dist/envelope/stream.js +372 -0
- package/dist/errors.d.ts +21 -0
- package/dist/errors.js +300 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.js +23 -0
- package/dist/keys/near-ckd.d.ts +47 -0
- package/dist/keys/near-ckd.js +96 -0
- package/dist/limits.d.ts +4 -0
- package/dist/limits.js +4 -0
- package/dist/near/nep413.d.ts +22 -0
- package/dist/near/nep413.js +39 -0
- package/dist/near/rpc.d.ts +170 -0
- package/dist/near/rpc.js +423 -0
- package/dist/near/texts.d.ts +39 -0
- package/dist/near/texts.js +60 -0
- package/dist/net/ip.d.ts +7 -0
- package/dist/net/ip.js +62 -0
- package/dist/net/retry.d.ts +3 -0
- package/dist/net/retry.js +31 -0
- package/dist/node/adapter-checks.d.ts +6 -0
- package/dist/node/adapter-checks.js +13 -0
- package/dist/node/adapter.d.ts +8 -0
- package/dist/node/adapter.js +98 -0
- package/dist/node/agent.d.ts +49 -0
- package/dist/node/agent.js +266 -0
- package/dist/node/amounts.d.ts +2 -0
- package/dist/node/amounts.js +20 -0
- package/dist/node/browser-login.d.ts +25 -0
- package/dist/node/browser-login.js +219 -0
- package/dist/node/budget.d.ts +24 -0
- package/dist/node/budget.js +59 -0
- package/dist/node/buy-commands.d.ts +24 -0
- package/dist/node/buy-commands.js +301 -0
- package/dist/node/cli.d.ts +60 -0
- package/dist/node/cli.js +201 -0
- package/dist/node/command-context.d.ts +82 -0
- package/dist/node/command-context.js +77 -0
- package/dist/node/config.d.ts +37 -0
- package/dist/node/config.js +189 -0
- package/dist/node/core-adapter.d.ts +43 -0
- package/dist/node/core-adapter.js +122 -0
- package/dist/node/errors.d.ts +8 -0
- package/dist/node/errors.js +12 -0
- package/dist/node/index.d.ts +7 -0
- package/dist/node/index.js +5 -0
- package/dist/node/io.d.ts +13 -0
- package/dist/node/io.js +112 -0
- package/dist/node/keychain.d.ts +10 -0
- package/dist/node/keychain.js +67 -0
- package/dist/node/main.d.ts +2 -0
- package/dist/node/main.js +21 -0
- package/dist/node/offers.d.ts +16 -0
- package/dist/node/offers.js +91 -0
- package/dist/node/origin.d.ts +11 -0
- package/dist/node/origin.js +80 -0
- package/dist/node/paths.d.ts +3 -0
- package/dist/node/paths.js +71 -0
- package/dist/node/payment-terms.d.ts +26 -0
- package/dist/node/payment-terms.js +127 -0
- package/dist/node/purchase-commands.d.ts +16 -0
- package/dist/node/purchase-commands.js +237 -0
- package/dist/node/purchase-guard.d.ts +19 -0
- package/dist/node/purchase-guard.js +53 -0
- package/dist/node/relay-transport.d.ts +6 -0
- package/dist/node/relay-transport.js +173 -0
- package/dist/node/resources.d.ts +2 -0
- package/dist/node/resources.js +26 -0
- package/dist/node/retry-gate.d.ts +15 -0
- package/dist/node/retry-gate.js +53 -0
- package/dist/node/seller-commands.d.ts +12 -0
- package/dist/node/seller-commands.js +207 -0
- package/dist/node/sharing.d.ts +3 -0
- package/dist/node/sharing.js +28 -0
- package/dist/node/shops.d.ts +17 -0
- package/dist/node/shops.js +74 -0
- package/dist/node/signer-mock.d.ts +11 -0
- package/dist/node/signer-mock.js +79 -0
- package/dist/node/signer-wallet.d.ts +8 -0
- package/dist/node/signer-wallet.js +149 -0
- package/dist/node/signing.d.ts +29 -0
- package/dist/node/signing.js +200 -0
- package/dist/node/storage-commands.d.ts +11 -0
- package/dist/node/storage-commands.js +50 -0
- package/dist/node/sync-dir.d.ts +1 -0
- package/dist/node/sync-dir.js +11 -0
- package/dist/node/wallets.d.ts +13 -0
- package/dist/node/wallets.js +146 -0
- package/dist/oneclick/oneclick.d.ts +132 -0
- package/dist/oneclick/oneclick.js +342 -0
- package/dist/pay/backup.d.ts +70 -0
- package/dist/pay/backup.js +402 -0
- package/dist/pay/base.d.ts +135 -0
- package/dist/pay/base.js +386 -0
- package/dist/pay/eip3009.d.ts +59 -0
- package/dist/pay/eip3009.js +72 -0
- package/dist/pay/pay.d.ts +86 -0
- package/dist/pay/pay.js +297 -0
- package/dist/pay/purchase.d.ts +103 -0
- package/dist/pay/purchase.js +20 -0
- package/dist/pay/recover.d.ts +31 -0
- package/dist/pay/recover.js +34 -0
- package/dist/pay/seller.d.ts +130 -0
- package/dist/pay/seller.js +444 -0
- package/dist/pay/settle.d.ts +96 -0
- package/dist/pay/settle.js +308 -0
- package/dist/pay/split.d.ts +115 -0
- package/dist/pay/split.js +256 -0
- package/dist/pay/store-node.d.ts +8 -0
- package/dist/pay/store-node.js +224 -0
- package/dist/pay/store.d.ts +54 -0
- package/dist/pay/store.js +135 -0
- package/dist/pay/x402.d.ts +95 -0
- package/dist/pay/x402.js +136 -0
- package/dist/relay/admission.d.ts +8 -0
- package/dist/relay/admission.js +58 -0
- package/dist/relay/capabilities.d.ts +36 -0
- package/dist/relay/capabilities.js +232 -0
- package/dist/relay/fees.d.ts +17 -0
- package/dist/relay/fees.js +105 -0
- package/dist/relay/index.d.ts +10 -0
- package/dist/relay/index.js +8 -0
- package/dist/relay/keeper-balance.d.ts +17 -0
- package/dist/relay/keeper-balance.js +46 -0
- package/dist/relay/keeper-runner.d.ts +114 -0
- package/dist/relay/keeper-runner.js +703 -0
- package/dist/relay/keeper.d.ts +38 -0
- package/dist/relay/keeper.js +73 -0
- package/dist/relay/ledger.d.ts +155 -0
- package/dist/relay/ledger.js +392 -0
- package/dist/relay/relay-checks.d.ts +3 -0
- package/dist/relay/relay-checks.js +244 -0
- package/dist/relay/relay-reconciliation.d.ts +15 -0
- package/dist/relay/relay-reconciliation.js +293 -0
- package/dist/relay/relay-request.d.ts +6 -0
- package/dist/relay/relay-request.js +139 -0
- package/dist/relay/relay-transactions.d.ts +23 -0
- package/dist/relay/relay-transactions.js +182 -0
- package/dist/relay/relay-types.d.ts +128 -0
- package/dist/relay/relay-types.js +17 -0
- package/dist/relay/relay.d.ts +102 -0
- package/dist/relay/relay.js +426 -0
- package/dist/relay/reservation.d.ts +29 -0
- package/dist/relay/reservation.js +132 -0
- package/dist/relay/sponsorship.d.ts +42 -0
- package/dist/relay/sponsorship.js +184 -0
- package/dist/routes.d.ts +2 -0
- package/dist/routes.js +1 -0
- package/dist/settle-near/codec.d.ts +17 -0
- package/dist/settle-near/codec.js +86 -0
- package/dist/settle-near/identity.d.ts +27 -0
- package/dist/settle-near/identity.js +80 -0
- package/dist/settle-near/purchase.d.ts +40 -0
- package/dist/settle-near/purchase.js +153 -0
- package/dist/settle-near/terms.d.ts +37 -0
- package/dist/settle-near/terms.js +89 -0
- package/dist/shops/discovery.d.ts +95 -0
- package/dist/shops/discovery.js +384 -0
- package/dist/wallet/account-only.d.ts +11 -0
- package/dist/wallet/account-only.js +6 -0
- package/dist/wallet/uncertain.d.ts +8 -0
- package/dist/wallet/uncertain.js +13 -0
- package/dist/wallet/wallet.d.ts +100 -0
- package/dist/wallet/wallet.js +204 -0
- package/package.json +136 -3
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/** Options and results of the Annon client: construction, sell and buy. */
|
|
2
|
+
import type { SellData } from '../envelope/replay.js';
|
|
3
|
+
import type { Deposit, OneClick, OneClickQuote, Origin } from '../oneclick/oneclick.js';
|
|
4
|
+
import type { EncryptedRecord } from '../pay/backup.js';
|
|
5
|
+
import type { PurchaseRecord } from '../pay/purchase.js';
|
|
6
|
+
import type { SplitCall } from '../pay/split.js';
|
|
7
|
+
import type { Store } from '../pay/store.js';
|
|
8
|
+
import type { PaymentRequired } from '../pay/x402.js';
|
|
9
|
+
import type { BaseSponsorship } from '../relay/capabilities.js';
|
|
10
|
+
import type { ProtocolFee } from '../relay/fees.js';
|
|
11
|
+
import type { BuyRoute } from '../routes.js';
|
|
12
|
+
import type { Identity } from '../settle-near/identity.js';
|
|
13
|
+
import type { Terms } from '../settle-near/terms.js';
|
|
14
|
+
import type { IdentityWallet, NearWallet } from '../wallet/wallet.js';
|
|
15
|
+
import type { ShareHosting, ShareOptions } from './sharing.js';
|
|
16
|
+
export interface AnnonOptions {
|
|
17
|
+
relayer?: string;
|
|
18
|
+
fetch?: typeof fetch;
|
|
19
|
+
nearRpc: string;
|
|
20
|
+
baseRpc: string;
|
|
21
|
+
contractId: string;
|
|
22
|
+
network: string;
|
|
23
|
+
rawStore: Store<EncryptedRecord>;
|
|
24
|
+
backupSecret: Uint8Array;
|
|
25
|
+
/** Write the encrypted file durably (Node file, download, or an app's backup destination). */
|
|
26
|
+
writeBackup(name: string, encryptedFile: string): Promise<void>;
|
|
27
|
+
/** A transaction transport. Wait for final execution and return its decoded result/outcome. NEAR wallets can call directly when omitted. */
|
|
28
|
+
send?: (method: string, args: object, wallet?: NearWallet) => Promise<unknown>;
|
|
29
|
+
mpcKey?: string;
|
|
30
|
+
now?: () => number;
|
|
31
|
+
/** A relayer capability reader; only sponsored registrations apply its fee. */
|
|
32
|
+
sponsorship?: () => Promise<{
|
|
33
|
+
fee: ProtocolFee;
|
|
34
|
+
}>;
|
|
35
|
+
/** Maximum advertised fee, in USDC base units plus basis points. */
|
|
36
|
+
maxProtocolFee?: Pick<ProtocolFee, 'fixed' | 'bps'>;
|
|
37
|
+
}
|
|
38
|
+
export interface SellOptions<T extends SellData = Uint8Array> {
|
|
39
|
+
/** Hosted jobs use the shared reservation sequence; publish remains a post-registration callback. */
|
|
40
|
+
hosting?: ShareHosting & Pick<ShareOptions, 'listingStorage' | 'confirmBackup'>;
|
|
41
|
+
/** Attached yoctoNEAR for a self-funded listing. */
|
|
42
|
+
storageBudget?: bigint;
|
|
43
|
+
/** Called before registration or Base split transactions. */
|
|
44
|
+
onSplit?: (near: Terms['near'], fee?: ProtocolFee, aboveMaximum?: boolean) => void | Promise<void>;
|
|
45
|
+
data: T;
|
|
46
|
+
name: string;
|
|
47
|
+
mime: string;
|
|
48
|
+
seller: IdentityWallet;
|
|
49
|
+
near: {
|
|
50
|
+
price: string;
|
|
51
|
+
recipients: {
|
|
52
|
+
identity: Identity;
|
|
53
|
+
bps: number;
|
|
54
|
+
}[];
|
|
55
|
+
remainder: Identity;
|
|
56
|
+
};
|
|
57
|
+
base?: {
|
|
58
|
+
price: string;
|
|
59
|
+
kind?: 'push' | 'pull';
|
|
60
|
+
sendTransaction: (call: SplitCall) => Promise<void>;
|
|
61
|
+
};
|
|
62
|
+
moderator?: string;
|
|
63
|
+
fileId?: string;
|
|
64
|
+
previewLen?: number;
|
|
65
|
+
/** Store/host the encrypted file and its public header. Consume streamed files fully before resolving. Called after header authorization. */
|
|
66
|
+
publish: (file: {
|
|
67
|
+
file: import('../envelope/replay.js').SellFile<T>;
|
|
68
|
+
header: Uint8Array;
|
|
69
|
+
terms: Terms;
|
|
70
|
+
}) => Promise<void>;
|
|
71
|
+
}
|
|
72
|
+
export interface BuyOptions {
|
|
73
|
+
/** Explicit selection never falls back to another payment route. */
|
|
74
|
+
route?: BuyRoute;
|
|
75
|
+
baseUnlock?: 'relayer' | 'self';
|
|
76
|
+
baseSponsorship?: BaseSponsorship;
|
|
77
|
+
/** Persist the workflow association before an SDK write can become uncertain. */
|
|
78
|
+
beforeSave?: (record: PurchaseRecord) => Promise<void>;
|
|
79
|
+
/** Awaited after each durable purchase and backup write, before external effects. */
|
|
80
|
+
onSaved?: (record: PurchaseRecord) => Promise<void>;
|
|
81
|
+
/** Last durable UI checkpoint before payment submission or releasing deposit instructions. */
|
|
82
|
+
beforePayment?: (record: PurchaseRecord) => Promise<void>;
|
|
83
|
+
fileId: string;
|
|
84
|
+
header: Uint8Array;
|
|
85
|
+
recovery: IdentityWallet;
|
|
86
|
+
refund: Identity;
|
|
87
|
+
payer?: IdentityWallet;
|
|
88
|
+
maxPrice: bigint;
|
|
89
|
+
moderators?: readonly string[];
|
|
90
|
+
paymentRequired?: PaymentRequired;
|
|
91
|
+
url?: string;
|
|
92
|
+
oneClick?: Pick<OneClick, 'quote'>;
|
|
93
|
+
origin?: Origin;
|
|
94
|
+
/** Review the live 1Click quote after its encrypted backup is saved, before recovery proof and deposit instructions. */
|
|
95
|
+
onQuote?: (quote: OneClickQuote) => void | Promise<void>;
|
|
96
|
+
/** Submit the saved Base payload to the host/facilitator. Return only after its request completes. */
|
|
97
|
+
submitBase?: (header: string) => Promise<void>;
|
|
98
|
+
}
|
|
99
|
+
export interface Bought {
|
|
100
|
+
route: BuyRoute;
|
|
101
|
+
record: PurchaseRecord;
|
|
102
|
+
instructions?: Deposit;
|
|
103
|
+
uncertain?: {
|
|
104
|
+
purchaseId: string;
|
|
105
|
+
txHash: string;
|
|
106
|
+
};
|
|
107
|
+
payment?: string;
|
|
108
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { AnnonError } from '../errors.js';
|
|
2
|
+
import { HostedSelling, type ShareHosting, type ShareOptions } from './sharing.js';
|
|
3
|
+
import { type FileMeta } from '../envelope/pay2.js';
|
|
4
|
+
import { type ReplayableSource, type SellData, type Spool } from '../envelope/replay.js';
|
|
5
|
+
import { type RecoveryRecord } from '../pay/backup.js';
|
|
6
|
+
import { type PurchaseRecord } from '../pay/purchase.js';
|
|
7
|
+
import type { Store } from '../pay/store.js';
|
|
8
|
+
import { type Terms } from '../settle-near/terms.js';
|
|
9
|
+
import type { IdentityWallet, NearWallet } from '../wallet/wallet.js';
|
|
10
|
+
import type { AnnonOptions, Bought, BuyOptions, SellOptions } from './annon-types.js';
|
|
11
|
+
export type { BuyRoute } from '../routes.js';
|
|
12
|
+
export type { AnnonOptions, Bought, BuyOptions, SellOptions } from './annon-types.js';
|
|
13
|
+
export declare class SellError extends AnnonError {
|
|
14
|
+
readonly fileId: string;
|
|
15
|
+
readonly txHash?: string;
|
|
16
|
+
readonly retryAfterSeconds?: number;
|
|
17
|
+
constructor(fileId: string, options?: ErrorOptions);
|
|
18
|
+
}
|
|
19
|
+
export declare class Annon {
|
|
20
|
+
private readonly o;
|
|
21
|
+
readonly store: Store<PurchaseRecord>;
|
|
22
|
+
readonly hosted: HostedSelling;
|
|
23
|
+
private readonly sellerKeys;
|
|
24
|
+
private readonly sells;
|
|
25
|
+
private readonly recoveries;
|
|
26
|
+
private readonly selfUnlockWallets;
|
|
27
|
+
private readonly unlocked;
|
|
28
|
+
constructor(o: AnnonOptions);
|
|
29
|
+
private withBackup;
|
|
30
|
+
private now;
|
|
31
|
+
private auth;
|
|
32
|
+
private call;
|
|
33
|
+
/** Allocate file storage directly with NEAR, or request a seller-signed sponsored top-up. */
|
|
34
|
+
fund(fileId: string, amount: bigint, seller: IdentityWallet, options?: {
|
|
35
|
+
nonce?: string;
|
|
36
|
+
deadline?: number;
|
|
37
|
+
}): Promise<unknown>;
|
|
38
|
+
private answer;
|
|
39
|
+
private file;
|
|
40
|
+
/** Hosted sale with a pending backup saved before the first approval. */
|
|
41
|
+
private startShare;
|
|
42
|
+
share(options: ShareOptions): Promise<import("./sharing-types.js").Shared>;
|
|
43
|
+
resumeShare(options: Pick<ShareOptions, 'data' | 'seller' | 'hosting'> & {
|
|
44
|
+
fileId: string;
|
|
45
|
+
}): Promise<import("./sharing-types.js").Shared>;
|
|
46
|
+
private hostedFile;
|
|
47
|
+
sell<T extends SellData>(o: SellOptions<T>): Promise<{
|
|
48
|
+
file: import("../envelope/replay.js").SellFile<T>;
|
|
49
|
+
header: Uint8Array<ArrayBuffer>;
|
|
50
|
+
baseSplit?: {
|
|
51
|
+
address: string;
|
|
52
|
+
kind: "push" | "pull";
|
|
53
|
+
salt: string;
|
|
54
|
+
};
|
|
55
|
+
terms: Terms;
|
|
56
|
+
}>;
|
|
57
|
+
/** Resume with the original plaintext; the saved file key reproduces the registered cipher hash. */
|
|
58
|
+
resumeSell<T extends SellData>(o: {
|
|
59
|
+
fileId: string;
|
|
60
|
+
data: T;
|
|
61
|
+
seller: IdentityWallet;
|
|
62
|
+
publish: SellOptions<T>['publish'];
|
|
63
|
+
hosting?: ShareHosting;
|
|
64
|
+
}): Promise<{
|
|
65
|
+
file: import("../envelope/replay.js").SellFile<T>;
|
|
66
|
+
header: Uint8Array<ArrayBuffer>;
|
|
67
|
+
baseSplit?: {
|
|
68
|
+
address: string;
|
|
69
|
+
kind: "push" | "pull";
|
|
70
|
+
salt: string;
|
|
71
|
+
};
|
|
72
|
+
terms: Terms;
|
|
73
|
+
}>;
|
|
74
|
+
/** A new seller one-time key is backed up before the single-use reopen_seller call. */
|
|
75
|
+
reopenSeller(o: {
|
|
76
|
+
fileId: string;
|
|
77
|
+
seller: IdentityWallet;
|
|
78
|
+
}): Promise<Uint8Array>;
|
|
79
|
+
private finishSell;
|
|
80
|
+
buy(o: BuyOptions): Promise<Bought>;
|
|
81
|
+
/** Reprove the same saved purchase after reload, without preparing or submitting a payment. */
|
|
82
|
+
proveRecovery(record: PurchaseRecord, wallet: IdentityWallet): Promise<PurchaseRecord>;
|
|
83
|
+
/** Resume a paid Base purchase before any host download, which requires a final grant. */
|
|
84
|
+
accept(record: PurchaseRecord | undefined, id?: string | undefined, options?: {
|
|
85
|
+
unlockWallet?: NearWallet;
|
|
86
|
+
}): Promise<boolean>;
|
|
87
|
+
open(o: {
|
|
88
|
+
file: Uint8Array;
|
|
89
|
+
record?: PurchaseRecord;
|
|
90
|
+
recovery?: RecoveryRecord;
|
|
91
|
+
}): Promise<{
|
|
92
|
+
meta: FileMeta;
|
|
93
|
+
data: Uint8Array;
|
|
94
|
+
}>;
|
|
95
|
+
/** Replay PAY2 to a provisional sink; resolve after every check. Single-use streams require a ciphertext spool. */
|
|
96
|
+
openTo(o: {
|
|
97
|
+
file: ReplayableSource | ReadableStream<Uint8Array>;
|
|
98
|
+
sink: WritableStream<Uint8Array>;
|
|
99
|
+
spool?: Spool;
|
|
100
|
+
record?: PurchaseRecord;
|
|
101
|
+
recovery?: RecoveryRecord;
|
|
102
|
+
}): Promise<{
|
|
103
|
+
meta: FileMeta;
|
|
104
|
+
}>;
|
|
105
|
+
private openSource;
|
|
106
|
+
recover(o: {
|
|
107
|
+
wallet: IdentityWallet;
|
|
108
|
+
purchaseId?: string;
|
|
109
|
+
limit?: number;
|
|
110
|
+
/** Batch errors are isolated; an explicit purchase still rejects on failure. */
|
|
111
|
+
onError?: (purchaseId: string, error: unknown) => void;
|
|
112
|
+
}): Promise<RecoveryRecord[]>;
|
|
113
|
+
stop(o: {
|
|
114
|
+
fileId: string;
|
|
115
|
+
seller: IdentityWallet;
|
|
116
|
+
}): Promise<void>;
|
|
117
|
+
}
|