@kasufinance/kasu-sdk 2.7.1 → 2.10.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/README.md +162 -7
- package/dist/bundle.cjs.js +2292 -449
- package/dist/bundle.esm.js +2253 -451
- package/dist/domain/batch-proof.d.ts +210 -0
- package/dist/domain/batch-proof.js +384 -0
- package/dist/domain/batch-proof.js.map +1 -0
- package/dist/domain/explorer-urls.d.ts +33 -0
- package/dist/domain/explorer-urls.js +38 -0
- package/dist/domain/explorer-urls.js.map +1 -0
- package/dist/domain/fixed-term.d.ts +74 -0
- package/dist/domain/fixed-term.js +86 -0
- package/dist/domain/fixed-term.js.map +1 -0
- package/dist/domain/index.d.ts +12 -2
- package/dist/domain/index.js +7 -2
- package/dist/domain/index.js.map +1 -1
- package/dist/domain/partners.d.ts +29 -0
- package/dist/domain/partners.js +20 -0
- package/dist/domain/partners.js.map +1 -1
- package/dist/domain/requests.d.ts +24 -0
- package/dist/domain/requests.js +33 -0
- package/dist/domain/requests.js.map +1 -1
- package/dist/domain/sponsored-calls.d.ts +74 -0
- package/dist/domain/sponsored-calls.js +156 -0
- package/dist/domain/sponsored-calls.js.map +1 -0
- package/dist/domain/yields.d.ts +121 -0
- package/dist/domain/yields.js +151 -0
- package/dist/domain/yields.js.map +1 -0
- package/dist/facade/calls.d.ts +59 -0
- package/dist/facade/calls.js +89 -0
- package/dist/facade/calls.js.map +1 -0
- package/dist/facade/chain-configs.js +5 -0
- package/dist/facade/chain-configs.js.map +1 -1
- package/dist/facade/flows.d.ts +40 -3
- package/dist/facade/flows.js +36 -3
- package/dist/facade/flows.js.map +1 -1
- package/dist/facade/index.d.ts +3 -1
- package/dist/facade/index.js +1 -0
- package/dist/facade/index.js.map +1 -1
- package/dist/facade/kasu.d.ts +8 -2
- package/dist/facade/kasu.js +17 -4
- package/dist/facade/kasu.js.map +1 -1
- package/dist/facade/strategies.d.ts +43 -2
- package/dist/facade/strategies.js +80 -4
- package/dist/facade/strategies.js.map +1 -1
- package/dist/facade/types.d.ts +18 -0
- package/dist/flows/batch-errors.d.ts +74 -0
- package/dist/flows/batch-errors.js +83 -0
- package/dist/flows/batch-errors.js.map +1 -0
- package/dist/flows/batch-submission.d.ts +223 -0
- package/dist/flows/batch-submission.js +321 -0
- package/dist/flows/batch-submission.js.map +1 -0
- package/dist/flows/deposit-flow.d.ts +128 -4
- package/dist/flows/deposit-flow.js +233 -4
- package/dist/flows/deposit-flow.js.map +1 -1
- package/dist/flows/index.d.ts +6 -2
- package/dist/flows/index.js +3 -1
- package/dist/flows/index.js.map +1 -1
- package/dist/flows/withdraw-flow.d.ts +95 -4
- package/dist/flows/withdraw-flow.js +107 -2
- package/dist/flows/withdraw-flow.js.map +1 -1
- package/dist/services/DataService/queries.js +1 -0
- package/dist/services/DataService/queries.js.map +1 -1
- package/dist/services/UserLending/user-lending.d.ts +13 -0
- package/dist/services/UserLending/user-lending.js +25 -4
- package/dist/services/UserLending/user-lending.js.map +1 -1
- package/package.json +1 -1
- package/src/domain/batch-proof.ts +576 -0
- package/src/domain/explorer-urls.ts +74 -0
- package/src/domain/fixed-term.ts +115 -0
- package/src/domain/index.ts +56 -0
- package/src/domain/partners.ts +35 -0
- package/src/domain/requests.ts +37 -0
- package/src/domain/sponsored-calls.ts +213 -0
- package/src/domain/yields.ts +189 -0
- package/src/facade/calls.ts +135 -0
- package/src/facade/chain-configs.ts +5 -0
- package/src/facade/flows.ts +35 -2
- package/src/facade/index.ts +3 -0
- package/src/facade/kasu.ts +32 -2
- package/src/facade/strategies.ts +98 -7
- package/src/facade/types.ts +19 -0
- package/src/flows/batch-errors.ts +118 -0
- package/src/flows/batch-submission.ts +511 -0
- package/src/flows/deposit-flow.ts +379 -7
- package/src/flows/index.ts +34 -1
- package/src/flows/withdraw-flow.ts +219 -10
- package/src/services/DataService/queries.ts +1 -0
- package/src/services/UserLending/user-lending.ts +38 -10
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BigNumber } from 'ethers';
|
|
2
2
|
import { GenerateContractResponse } from '../domain/loan-contract';
|
|
3
3
|
import { DepositParams, KycParams } from '../facade/types';
|
|
4
|
+
import { BatchRevertedError } from './batch-errors';
|
|
4
5
|
import { Flow } from './flow';
|
|
5
6
|
import { WaitableTransaction } from './observable';
|
|
6
7
|
/**
|
|
@@ -45,6 +46,20 @@ import { WaitableTransaction } from './observable';
|
|
|
45
46
|
* 8. **`request-sign` / `request-confirm`** — KYC signature, then the deposit,
|
|
46
47
|
* then the receipt.
|
|
47
48
|
*
|
|
49
|
+
* ## The batch path
|
|
50
|
+
*
|
|
51
|
+
* A consumer that can submit several calls as ONE atomic transaction supplies
|
|
52
|
+
* the optional `depositBatch` port. When the allowance is short, that port is
|
|
53
|
+
* present and the stable token is known, steps 7 and 8 become one: the SDK
|
|
54
|
+
* encodes `approve(spender, amount)` and `requestDepositWithKyc(...)` itself
|
|
55
|
+
* and hands both to the port. Because a batch has no wallet prompt per call,
|
|
56
|
+
* the run first PARKS on `awaiting-authorise` until the consumer calls
|
|
57
|
+
* `authoriseTransfer()` (or `declineTransfer()`) — nothing moves money
|
|
58
|
+
* without an explicit authorisation. The TTL is checked again after it, and
|
|
59
|
+
* the KYC signature is fetched only then, because it carries a block
|
|
60
|
+
* expiration of its own. Without the port, or with the allowance already
|
|
61
|
+
* sufficient, the run is exactly the two-transaction pipeline above.
|
|
62
|
+
*
|
|
48
63
|
* ## Failure codes
|
|
49
64
|
*
|
|
50
65
|
* A wallet rejection (`isUserRejected`) is `'cancelled'` — the lender changed
|
|
@@ -79,7 +94,12 @@ import { WaitableTransaction } from './observable';
|
|
|
79
94
|
* Where the run is. `success`, `declined` and `error` are terminal; everything
|
|
80
95
|
* else is in flight.
|
|
81
96
|
*/
|
|
82
|
-
export type DepositPhase = 'idle' | 'generating-sign' | 'generating-fetch' | 'awaiting-accept' | 'accepting-sign' | 'approve'
|
|
97
|
+
export type DepositPhase = 'idle' | 'generating-sign' | 'generating-fetch' | 'awaiting-accept' | 'accepting-sign' | 'approve'
|
|
98
|
+
/**
|
|
99
|
+
* Batch path only: the run is PARKED until `authoriseTransfer()` or
|
|
100
|
+
* `declineTransfer()`. Step `request`.
|
|
101
|
+
*/
|
|
102
|
+
| 'awaiting-authorise' | 'request-sign' | 'request-confirm' | 'success' | 'declined' | 'error';
|
|
83
103
|
/**
|
|
84
104
|
* The four steps a lender sees as a badge. `approve` drops out of the sequence
|
|
85
105
|
* when the allowance already covers the deposit, which is why `stepIndex` and
|
|
@@ -123,8 +143,28 @@ export type DepositFailure = {
|
|
|
123
143
|
} | {
|
|
124
144
|
step: 'request';
|
|
125
145
|
reason: 'contract-expired';
|
|
146
|
+
} | {
|
|
147
|
+
step: 'request';
|
|
148
|
+
/**
|
|
149
|
+
* Batch path only — a `BatchSubmissionError` whose outcome is not
|
|
150
|
+
* `failed`. `pending`: the batch was, or may have been, accepted and
|
|
151
|
+
* nothing proves whether it deposited — NEVER render it as a
|
|
152
|
+
* failure, which invites a second deposit. `already-submitted`: an
|
|
153
|
+
* earlier submission was proven, so this one was refused.
|
|
154
|
+
*/
|
|
155
|
+
reason: 'pending' | 'already-submitted';
|
|
156
|
+
error: unknown;
|
|
126
157
|
};
|
|
127
158
|
export type { WaitableTransaction };
|
|
159
|
+
/**
|
|
160
|
+
* One call of an atomic batch: a target and its ABI-encoded calldata. No
|
|
161
|
+
* value — neither call the deposit batch makes sends the native token.
|
|
162
|
+
*/
|
|
163
|
+
export interface BatchCall {
|
|
164
|
+
to: string;
|
|
165
|
+
data: string;
|
|
166
|
+
}
|
|
167
|
+
export { BatchRevertedError };
|
|
128
168
|
/** What the KYC signing service hands back. */
|
|
129
169
|
export interface KycSignature {
|
|
130
170
|
signature: string;
|
|
@@ -217,10 +257,34 @@ export interface DepositPorts {
|
|
|
217
257
|
approve(spender: string, amount: BigNumber): Promise<WaitableTransaction>;
|
|
218
258
|
/** `requestDepositWithKyc`. Defaults to `kasu.deposits.deposit`. */
|
|
219
259
|
deposit(params: DepositParams): Promise<WaitableTransaction>;
|
|
260
|
+
/**
|
|
261
|
+
* OPTIONAL, and with no default: submit several calls as ONE atomic
|
|
262
|
+
* transaction — all of them apply, or none does. How is the consumer's
|
|
263
|
+
* business; the SDK owns what goes in and in which order.
|
|
264
|
+
*
|
|
265
|
+
* When supplied, the allowance is short and the flow knows the stable
|
|
266
|
+
* token (`DepositFlowOptions.stableAsset`), the run takes the batch path:
|
|
267
|
+
* it parks on `awaiting-authorise`, then hands this port exactly two calls
|
|
268
|
+
* —
|
|
269
|
+
*
|
|
270
|
+
* 0. `stableAsset.approve(spender, amount)` — the EXACT deposit amount,
|
|
271
|
+
* never `MaxUint256`;
|
|
272
|
+
* 1. `spender.requestDepositWithKyc(pool, tranche, amount, '0x',
|
|
273
|
+
* fixedTermConfigId, depositData, { blockExpiration, signature })` —
|
|
274
|
+
* the call the default `deposit` port makes.
|
|
275
|
+
*
|
|
276
|
+
* and neither `approve` nor `deposit` is called. Resolve with something
|
|
277
|
+
* whose `wait()` settles when the batch is mined. Throw
|
|
278
|
+
* `BatchRevertedError` when the batch is known to revert.
|
|
279
|
+
*/
|
|
280
|
+
depositBatch?(calls: BatchCall[]): Promise<WaitableTransaction>;
|
|
220
281
|
/** ms-epoch clock. Defaults to `Date.now`; injected so the TTL is testable. */
|
|
221
282
|
now?(): number;
|
|
222
283
|
}
|
|
223
|
-
/**
|
|
284
|
+
/**
|
|
285
|
+
* Construction options. `kasu.flows.deposit()` fills `spender` and
|
|
286
|
+
* `stableAsset` in.
|
|
287
|
+
*/
|
|
224
288
|
export interface DepositFlowOptions {
|
|
225
289
|
/** Agreement validity window; defaults to `CONTRACT_TTL_MS`. */
|
|
226
290
|
contractTtlMs?: number;
|
|
@@ -231,6 +295,17 @@ export interface DepositFlowOptions {
|
|
|
231
295
|
* deposit port calls.
|
|
232
296
|
*/
|
|
233
297
|
spender?: string;
|
|
298
|
+
/**
|
|
299
|
+
* The ERC-20 the deposit is paid in — the target of the batch path's
|
|
300
|
+
* approve call. `kasu.flows.deposit()` passes this chain's
|
|
301
|
+
* `stableAsset.address`.
|
|
302
|
+
*
|
|
303
|
+
* Without it the batch path is never taken, even when `depositBatch` is
|
|
304
|
+
* supplied: an approve encoded against a guessed token is an approval
|
|
305
|
+
* granted on the wrong contract inside a transaction that then reverts.
|
|
306
|
+
* The run falls back to the `approve` and `deposit` ports instead.
|
|
307
|
+
*/
|
|
308
|
+
stableAsset?: string;
|
|
234
309
|
}
|
|
235
310
|
export interface DepositFlowInput {
|
|
236
311
|
poolId: string;
|
|
@@ -268,10 +343,24 @@ export interface DepositState {
|
|
|
268
343
|
step: DepositStep | null;
|
|
269
344
|
/** 1-based badge position of `step`; `0` while idle. */
|
|
270
345
|
stepIndex: number;
|
|
271
|
-
/**
|
|
346
|
+
/**
|
|
347
|
+
* `4`, or `3` when the allowance already covers the deposit or the run
|
|
348
|
+
* is batched.
|
|
349
|
+
*/
|
|
272
350
|
stepTotal: number;
|
|
273
|
-
/**
|
|
351
|
+
/**
|
|
352
|
+
* Whether the separate approve STEP is in scope for this run. `false`
|
|
353
|
+
* on a batched run too: its approval rides inside the request step's
|
|
354
|
+
* single transaction, so it never enters `approve` and counts as a
|
|
355
|
+
* three-step run on every badge.
|
|
356
|
+
*/
|
|
274
357
|
approvalRequired: boolean;
|
|
358
|
+
/**
|
|
359
|
+
* Whether this run approves and deposits as ONE atomic batch through the
|
|
360
|
+
* `depositBatch` port. Decided by the allowance pre-check, before the
|
|
361
|
+
* first signature, and `false` on every two-transaction run.
|
|
362
|
+
*/
|
|
363
|
+
batched: boolean;
|
|
275
364
|
/** The generated agreement, from `generating-fetch` onwards. */
|
|
276
365
|
contract: GenerateContractResponse | null;
|
|
277
366
|
/** Set with `phase: 'error'`, cleared by `reset()`. */
|
|
@@ -289,6 +378,7 @@ export declare class DepositFlow extends Flow<DepositState, DepositFlowInput> {
|
|
|
289
378
|
private readonly _ports;
|
|
290
379
|
private readonly _ttlMs;
|
|
291
380
|
private readonly _defaultSpender;
|
|
381
|
+
private readonly _stableAsset;
|
|
292
382
|
private readonly _now;
|
|
293
383
|
/**
|
|
294
384
|
* The accept handshake. The run parks on this promise; `acceptContract`,
|
|
@@ -308,6 +398,12 @@ export declare class DepositFlow extends Flow<DepositState, DepositFlowInput> {
|
|
|
308
398
|
* A stale token simply is not the current generation.
|
|
309
399
|
*/
|
|
310
400
|
private _acceptingFor;
|
|
401
|
+
/**
|
|
402
|
+
* The batch path's authorisation handshake. Same shape and lifetime as
|
|
403
|
+
* `_accept`: the run parks on it, `authoriseTransfer`, `declineTransfer`
|
|
404
|
+
* and `reset` settle it, and it is cleared the moment it settles.
|
|
405
|
+
*/
|
|
406
|
+
private _authorise;
|
|
311
407
|
constructor(_ports: DepositPorts, opts?: DepositFlowOptions);
|
|
312
408
|
/**
|
|
313
409
|
* Sign the agreement and resume the parked run. A no-op when nothing is
|
|
@@ -323,10 +419,38 @@ export declare class DepositFlow extends Flow<DepositState, DepositFlowInput> {
|
|
|
323
419
|
* out of a prompt that never answers.
|
|
324
420
|
*/
|
|
325
421
|
declineContract(): void;
|
|
422
|
+
/**
|
|
423
|
+
* Batch path: authorise the single transaction that approves and deposits,
|
|
424
|
+
* and resume the parked run. A no-op when nothing is parked on
|
|
425
|
+
* `awaiting-authorise`, so a double tap cannot submit twice.
|
|
426
|
+
*
|
|
427
|
+
* The batch has no wallet prompt per call, so this is the lender's
|
|
428
|
+
* explicit consent to the transfer — call it only from their action.
|
|
429
|
+
*/
|
|
430
|
+
authoriseTransfer(): void;
|
|
431
|
+
/**
|
|
432
|
+
* Batch path: refuse the transfer. The run ends on `error` with `{ step:
|
|
433
|
+
* 'request', reason: 'cancelled' }` and nothing is submitted. A no-op when
|
|
434
|
+
* nothing is parked on `awaiting-authorise`.
|
|
435
|
+
*/
|
|
436
|
+
declineTransfer(): void;
|
|
326
437
|
/** True only while THIS generation is waiting on the acceptance signature. */
|
|
327
438
|
private _isAccepting;
|
|
328
439
|
/** `reset()`: unpark the abandoned run and drop its handshake. */
|
|
329
440
|
protected _onAbandon(): void;
|
|
330
441
|
protected _run(input: DepositFlowInput, token: number): Promise<void>;
|
|
442
|
+
/**
|
|
443
|
+
* The batch path, from the accepted agreement to the receipt.
|
|
444
|
+
*
|
|
445
|
+
* 1. PARK on `awaiting-authorise`. A batch puts no wallet prompt in front
|
|
446
|
+
* of each call, so the flow waits for an explicit authorisation before
|
|
447
|
+
* any money moves. `declineTransfer()` ends it as `cancelled`.
|
|
448
|
+
* 2. Re-check the TTL: the lender may have idled on the authorisation as
|
|
449
|
+
* long as they did on the agreement.
|
|
450
|
+
* 3. Only now fetch the KYC signature — it has a block expiration of its
|
|
451
|
+
* own, and an authorisation left open must not spend it.
|
|
452
|
+
* 4. Encode both calls and hand them to `depositBatch`; then the receipt.
|
|
453
|
+
*/
|
|
454
|
+
private _runBatch;
|
|
331
455
|
private _fail;
|
|
332
456
|
}
|
|
@@ -8,10 +8,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
10
|
import { utils } from 'ethers';
|
|
11
|
+
import { IERC20MetadataAbi__factory } from '../contracts/factories/IERC20MetadataAbi__factory';
|
|
12
|
+
import { ILendingPoolManagerAbi__factory } from '../contracts/factories/ILendingPoolManagerAbi__factory';
|
|
11
13
|
import { asContractType, buildLegacyContractRequestMessage, buildLoanAgreementSignMessage, encodeDepositData, } from '../domain/loan-contract';
|
|
12
14
|
import { decodeRevert } from '../domain/revert-errors';
|
|
13
15
|
import { classifyWalletFailure, isUnpredictableGas, } from '../domain/wallet-errors';
|
|
16
|
+
import { BatchRevertedError, BatchSubmissionError } from './batch-errors';
|
|
14
17
|
import { Flow } from './flow';
|
|
18
|
+
// `BatchRevertedError` lives in `./batch-errors` beside the submission
|
|
19
|
+
// errors, and is re-exported here so every existing import keeps working.
|
|
20
|
+
export { BatchRevertedError };
|
|
15
21
|
/** Generated agreements are valid for five minutes upstream. */
|
|
16
22
|
export const CONTRACT_TTL_MS = 5 * 60 * 1000;
|
|
17
23
|
/** What a run without a spender, from either source, fails with. */
|
|
@@ -38,9 +44,43 @@ const INITIAL = {
|
|
|
38
44
|
stepIndex: 0,
|
|
39
45
|
stepTotal: 4,
|
|
40
46
|
approvalRequired: true,
|
|
47
|
+
batched: false,
|
|
41
48
|
contract: null,
|
|
42
49
|
failure: null,
|
|
43
50
|
};
|
|
51
|
+
const ERC20 = IERC20MetadataAbi__factory.createInterface();
|
|
52
|
+
const LENDING_POOL_MANAGER = ILendingPoolManagerAbi__factory.createInterface();
|
|
53
|
+
/**
|
|
54
|
+
* The batch path's two calls, encoded by the SDK so no consumer has to: the
|
|
55
|
+
* EXACT-amount approve, then the very `requestDepositWithKyc` the default
|
|
56
|
+
* `deposit` port sends — `swapData` `'0x'`, no value. Both read `amount` from
|
|
57
|
+
* the same variable, so the batch cannot approve one figure and deposit
|
|
58
|
+
* another.
|
|
59
|
+
*/
|
|
60
|
+
function encodeDepositBatch(args) {
|
|
61
|
+
const { stableAsset, spender, input, depositData, kyc } = args;
|
|
62
|
+
return [
|
|
63
|
+
{
|
|
64
|
+
to: stableAsset,
|
|
65
|
+
data: ERC20.encodeFunctionData('approve', [spender, input.amount]),
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
to: spender,
|
|
69
|
+
data: LENDING_POOL_MANAGER.encodeFunctionData('requestDepositWithKyc', [
|
|
70
|
+
input.poolId,
|
|
71
|
+
input.trancheId,
|
|
72
|
+
input.amount,
|
|
73
|
+
'0x',
|
|
74
|
+
input.fixedTermConfigId,
|
|
75
|
+
depositData,
|
|
76
|
+
{
|
|
77
|
+
blockExpiration: kyc.blockExpiration,
|
|
78
|
+
signature: kyc.signature,
|
|
79
|
+
},
|
|
80
|
+
]),
|
|
81
|
+
},
|
|
82
|
+
];
|
|
83
|
+
}
|
|
44
84
|
/** 1-based badge position, with `approve` dropped when it is out of scope. */
|
|
45
85
|
function stepIndexOf(step, approvalRequired) {
|
|
46
86
|
const order = approvalRequired
|
|
@@ -86,6 +126,32 @@ function classifyRequest(err) {
|
|
|
86
126
|
}
|
|
87
127
|
return classifyWalletFailure('request', err);
|
|
88
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* A `depositBatch` rejection. A submitter that KNOWS the batch reverts says so
|
|
131
|
+
* with `BatchRevertedError`; anything else is read exactly as a direct
|
|
132
|
+
* deposit's throw is, so a non-wallet error can never become `cancelled`.
|
|
133
|
+
*/
|
|
134
|
+
function classifyBatch(err) {
|
|
135
|
+
// A submission outcome is read FIRST and taken at its word. It must never
|
|
136
|
+
// reach the revert-data walk below: that walk follows `cause`, and an
|
|
137
|
+
// ambiguous outcome whose cause happens to carry revert bytes would read
|
|
138
|
+
// as `reverted` or `insufficient-balance` — "nothing was deposited, try
|
|
139
|
+
// again" — on a batch that may have moved the money.
|
|
140
|
+
if (err instanceof BatchSubmissionError) {
|
|
141
|
+
return err.outcome === 'failed'
|
|
142
|
+
? { step: 'request', reason: 'failed', error: err }
|
|
143
|
+
: { step: 'request', reason: err.outcome, error: err };
|
|
144
|
+
}
|
|
145
|
+
if (err instanceof BatchRevertedError) {
|
|
146
|
+
return {
|
|
147
|
+
step: 'request',
|
|
148
|
+
reason: 'reverted',
|
|
149
|
+
revertError: err.revertError,
|
|
150
|
+
error: err,
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
return classifyRequest(err);
|
|
154
|
+
}
|
|
89
155
|
// ---------------------------------------------------------------------------
|
|
90
156
|
// The flow
|
|
91
157
|
// ---------------------------------------------------------------------------
|
|
@@ -112,8 +178,15 @@ export class DepositFlow extends Flow {
|
|
|
112
178
|
* A stale token simply is not the current generation.
|
|
113
179
|
*/
|
|
114
180
|
this._acceptingFor = null;
|
|
181
|
+
/**
|
|
182
|
+
* The batch path's authorisation handshake. Same shape and lifetime as
|
|
183
|
+
* `_accept`: the run parks on it, `authoriseTransfer`, `declineTransfer`
|
|
184
|
+
* and `reset` settle it, and it is cleared the moment it settles.
|
|
185
|
+
*/
|
|
186
|
+
this._authorise = null;
|
|
115
187
|
this._ttlMs = (_a = opts === null || opts === void 0 ? void 0 : opts.contractTtlMs) !== null && _a !== void 0 ? _a : CONTRACT_TTL_MS;
|
|
116
188
|
this._defaultSpender = opts === null || opts === void 0 ? void 0 : opts.spender;
|
|
189
|
+
this._stableAsset = opts === null || opts === void 0 ? void 0 : opts.stableAsset;
|
|
117
190
|
// Called through the ports object, never captured off it: a consumer
|
|
118
191
|
// whose clock is a method on its own object keeps its `this`.
|
|
119
192
|
this._now = () => { var _a, _b; return (_b = (_a = _ports.now) === null || _a === void 0 ? void 0 : _a.call(_ports)) !== null && _b !== void 0 ? _b : Date.now(); };
|
|
@@ -175,6 +248,33 @@ export class DepositFlow extends Flow {
|
|
|
175
248
|
this._accept = null;
|
|
176
249
|
bridge.settle({ kind: 'declined' });
|
|
177
250
|
}
|
|
251
|
+
/**
|
|
252
|
+
* Batch path: authorise the single transaction that approves and deposits,
|
|
253
|
+
* and resume the parked run. A no-op when nothing is parked on
|
|
254
|
+
* `awaiting-authorise`, so a double tap cannot submit twice.
|
|
255
|
+
*
|
|
256
|
+
* The batch has no wallet prompt per call, so this is the lender's
|
|
257
|
+
* explicit consent to the transfer — call it only from their action.
|
|
258
|
+
*/
|
|
259
|
+
authoriseTransfer() {
|
|
260
|
+
const bridge = this._authorise;
|
|
261
|
+
if (!bridge)
|
|
262
|
+
return;
|
|
263
|
+
this._authorise = null;
|
|
264
|
+
bridge.settle({ kind: 'authorised' });
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Batch path: refuse the transfer. The run ends on `error` with `{ step:
|
|
268
|
+
* 'request', reason: 'cancelled' }` and nothing is submitted. A no-op when
|
|
269
|
+
* nothing is parked on `awaiting-authorise`.
|
|
270
|
+
*/
|
|
271
|
+
declineTransfer() {
|
|
272
|
+
const bridge = this._authorise;
|
|
273
|
+
if (!bridge)
|
|
274
|
+
return;
|
|
275
|
+
this._authorise = null;
|
|
276
|
+
bridge.settle({ kind: 'declined' });
|
|
277
|
+
}
|
|
178
278
|
/** True only while THIS generation is waiting on the acceptance signature. */
|
|
179
279
|
_isAccepting() {
|
|
180
280
|
return (this._acceptingFor !== null &&
|
|
@@ -186,6 +286,9 @@ export class DepositFlow extends Flow {
|
|
|
186
286
|
this._accept = null;
|
|
187
287
|
this._acceptingFor = null;
|
|
188
288
|
bridge === null || bridge === void 0 ? void 0 : bridge.settle({ kind: 'abandoned' });
|
|
289
|
+
const authorise = this._authorise;
|
|
290
|
+
this._authorise = null;
|
|
291
|
+
authorise === null || authorise === void 0 ? void 0 : authorise.settle({ kind: 'abandoned' });
|
|
189
292
|
}
|
|
190
293
|
// -----------------------------------------------------------------------
|
|
191
294
|
_run(input, token) {
|
|
@@ -193,6 +296,7 @@ export class DepositFlow extends Flow {
|
|
|
193
296
|
var _a;
|
|
194
297
|
this._accept = null;
|
|
195
298
|
this._acceptingFor = null;
|
|
299
|
+
this._authorise = null;
|
|
196
300
|
const ports = this._ports;
|
|
197
301
|
const owner = input.userAddress.toLowerCase();
|
|
198
302
|
// 0. The spender, from the input or from the chain config the facade
|
|
@@ -213,21 +317,32 @@ export class DepositFlow extends Flow {
|
|
|
213
317
|
// live, never cached: an exact-amount approval is fully consumed by
|
|
214
318
|
// the deposit it paid for, so a stale allowance is exactly the value
|
|
215
319
|
// that would wrongly skip the approve and revert the deposit.
|
|
216
|
-
let
|
|
320
|
+
let allowanceShort = true;
|
|
217
321
|
try {
|
|
218
322
|
const allowance = yield ports.readAllowance(owner, spender);
|
|
219
|
-
|
|
323
|
+
allowanceShort = allowance.lt(input.amount);
|
|
220
324
|
}
|
|
221
325
|
catch (_b) {
|
|
222
326
|
// A read failure is not a reason to skip an approval. Assume one is
|
|
223
327
|
// needed: the cost is a redundant approve, the alternative is a
|
|
224
328
|
// reverted deposit.
|
|
225
|
-
|
|
329
|
+
allowanceShort = true;
|
|
226
330
|
}
|
|
227
331
|
if (!this._store.isCurrent(token))
|
|
228
332
|
return;
|
|
333
|
+
// The path is chosen HERE, with the allowance, so the badge is right
|
|
334
|
+
// from the first state the lender sees. Batch only when there is an
|
|
335
|
+
// approval to fold in, a port to submit it, and a known token to
|
|
336
|
+
// approve on — never a guessed one. A batched run never enters the
|
|
337
|
+
// `approve` step, so every badge counts it as a three-step run.
|
|
338
|
+
const stableAsset = this._stableAsset;
|
|
339
|
+
const batched = allowanceShort &&
|
|
340
|
+
typeof ports.depositBatch === 'function' &&
|
|
341
|
+
!!stableAsset;
|
|
342
|
+
const approvalRequired = allowanceShort && !batched;
|
|
229
343
|
// 2. Generate — sign the auth message.
|
|
230
|
-
this._store.patch(Object.assign({ approvalRequired,
|
|
344
|
+
this._store.patch(Object.assign({ approvalRequired,
|
|
345
|
+
batched, phase: 'generating-sign' }, badgeFor('generate', approvalRequired)), token);
|
|
231
346
|
const timestamp = this._now();
|
|
232
347
|
const signedMessage = buildAuthMessage(input, owner, timestamp);
|
|
233
348
|
let signature;
|
|
@@ -329,6 +444,18 @@ export class DepositFlow extends Flow {
|
|
|
329
444
|
});
|
|
330
445
|
return;
|
|
331
446
|
}
|
|
447
|
+
if (batched && stableAsset) {
|
|
448
|
+
yield this._runBatch({
|
|
449
|
+
token,
|
|
450
|
+
input,
|
|
451
|
+
owner,
|
|
452
|
+
spender,
|
|
453
|
+
stableAsset,
|
|
454
|
+
depositData,
|
|
455
|
+
contract,
|
|
456
|
+
});
|
|
457
|
+
return;
|
|
458
|
+
}
|
|
332
459
|
// 6. Approve — the EXACT amount, never `MaxUint256`. House rule: an
|
|
333
460
|
// unlimited allowance outlives the deposit it was granted for, and a
|
|
334
461
|
// later exploit of the spender would drain a wallet that has long
|
|
@@ -392,6 +519,108 @@ export class DepositFlow extends Flow {
|
|
|
392
519
|
this._store.patch(Object.assign({ phase: 'success' }, badgeFor('request', approvalRequired)), token);
|
|
393
520
|
});
|
|
394
521
|
}
|
|
522
|
+
/**
|
|
523
|
+
* The batch path, from the accepted agreement to the receipt.
|
|
524
|
+
*
|
|
525
|
+
* 1. PARK on `awaiting-authorise`. A batch puts no wallet prompt in front
|
|
526
|
+
* of each call, so the flow waits for an explicit authorisation before
|
|
527
|
+
* any money moves. `declineTransfer()` ends it as `cancelled`.
|
|
528
|
+
* 2. Re-check the TTL: the lender may have idled on the authorisation as
|
|
529
|
+
* long as they did on the agreement.
|
|
530
|
+
* 3. Only now fetch the KYC signature — it has a block expiration of its
|
|
531
|
+
* own, and an authorisation left open must not spend it.
|
|
532
|
+
* 4. Encode both calls and hand them to `depositBatch`; then the receipt.
|
|
533
|
+
*/
|
|
534
|
+
_runBatch(args) {
|
|
535
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
536
|
+
const { token, input, owner, spender, stableAsset, depositData } = args;
|
|
537
|
+
const ports = this._ports;
|
|
538
|
+
// A batched run is a three-step run on every badge.
|
|
539
|
+
const approvalRequired = false;
|
|
540
|
+
// Every settler clears the handshake before settling it, so there is
|
|
541
|
+
// nothing to clear here — and clearing it anyway could drop the
|
|
542
|
+
// handshake of a NEWER run that `reset(); start()` already parked.
|
|
543
|
+
const outcome = yield new Promise((resolve) => {
|
|
544
|
+
this._authorise = { settle: resolve };
|
|
545
|
+
this._store.patch(Object.assign({ phase: 'awaiting-authorise' }, badgeFor('request', approvalRequired)), token);
|
|
546
|
+
});
|
|
547
|
+
if (!this._store.isCurrent(token))
|
|
548
|
+
return;
|
|
549
|
+
if (outcome.kind === 'declined') {
|
|
550
|
+
this._fail(token, approvalRequired, {
|
|
551
|
+
step: 'request',
|
|
552
|
+
reason: 'cancelled',
|
|
553
|
+
});
|
|
554
|
+
return;
|
|
555
|
+
}
|
|
556
|
+
if (outcome.kind !== 'authorised')
|
|
557
|
+
return;
|
|
558
|
+
if (this._now() > args.contract.timestamp + this._ttlMs) {
|
|
559
|
+
this._fail(token, approvalRequired, {
|
|
560
|
+
step: 'request',
|
|
561
|
+
reason: 'contract-expired',
|
|
562
|
+
});
|
|
563
|
+
return;
|
|
564
|
+
}
|
|
565
|
+
this._store.patch(Object.assign({ phase: 'request-sign' }, badgeFor('request', approvalRequired)), token);
|
|
566
|
+
// The consumer's backend, so `failed` — never `cancelled` — exactly as
|
|
567
|
+
// on the two-transaction path.
|
|
568
|
+
let kyc;
|
|
569
|
+
try {
|
|
570
|
+
const kycParams = yield ports.buildKycParams(owner);
|
|
571
|
+
kyc = yield ports.getKycSignature(kycParams);
|
|
572
|
+
}
|
|
573
|
+
catch (err) {
|
|
574
|
+
this._fail(token, approvalRequired, {
|
|
575
|
+
step: 'request',
|
|
576
|
+
reason: 'failed',
|
|
577
|
+
error: err,
|
|
578
|
+
});
|
|
579
|
+
return;
|
|
580
|
+
}
|
|
581
|
+
if (!this._store.isCurrent(token))
|
|
582
|
+
return;
|
|
583
|
+
// Encoded from values a backend returned (the KYC signature), so a
|
|
584
|
+
// shape the coder refuses is a failure the consumer can render, not a
|
|
585
|
+
// rejection out of a `start()` that promises it has none.
|
|
586
|
+
let calls;
|
|
587
|
+
try {
|
|
588
|
+
calls = encodeDepositBatch({
|
|
589
|
+
stableAsset,
|
|
590
|
+
spender,
|
|
591
|
+
input,
|
|
592
|
+
depositData,
|
|
593
|
+
kyc,
|
|
594
|
+
});
|
|
595
|
+
}
|
|
596
|
+
catch (err) {
|
|
597
|
+
this._fail(token, approvalRequired, {
|
|
598
|
+
step: 'request',
|
|
599
|
+
reason: 'failed',
|
|
600
|
+
error: err,
|
|
601
|
+
});
|
|
602
|
+
return;
|
|
603
|
+
}
|
|
604
|
+
try {
|
|
605
|
+
// Called through the ports object, so a port that is a method
|
|
606
|
+
// keeps its `this`. Its presence decided the path; a consumer
|
|
607
|
+
// that removed it since gets a `failed`, not a crash.
|
|
608
|
+
if (typeof ports.depositBatch !== 'function') {
|
|
609
|
+
throw new Error('DepositFlow: the depositBatch port is gone');
|
|
610
|
+
}
|
|
611
|
+
const tx = yield ports.depositBatch(calls);
|
|
612
|
+
this._store.patch(Object.assign({ phase: 'request-confirm' }, badgeFor('request', approvalRequired)), token);
|
|
613
|
+
yield tx.wait();
|
|
614
|
+
}
|
|
615
|
+
catch (err) {
|
|
616
|
+
this._fail(token, approvalRequired, classifyBatch(err));
|
|
617
|
+
return;
|
|
618
|
+
}
|
|
619
|
+
if (!this._store.isCurrent(token))
|
|
620
|
+
return;
|
|
621
|
+
this._store.patch(Object.assign({ phase: 'success' }, badgeFor('request', approvalRequired)), token);
|
|
622
|
+
});
|
|
623
|
+
}
|
|
395
624
|
_fail(token, approvalRequired, failure) {
|
|
396
625
|
this._store.patch(Object.assign({ phase: 'error', failure }, badgeFor(failure.step, approvalRequired)), token);
|
|
397
626
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deposit-flow.js","sourceRoot":"","sources":["../../src/flows/deposit-flow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deposit-flow.js","sourceRoot":"","sources":["../../src/flows/deposit-flow.ts"],"names":[],"mappings":"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"}
|
package/dist/flows/index.d.ts
CHANGED
|
@@ -10,10 +10,14 @@
|
|
|
10
10
|
* Every application drove its own copy of the deposit pipeline before this, and
|
|
11
11
|
* the copies had already started to differ.
|
|
12
12
|
*/
|
|
13
|
+
export { BatchPendingError, BatchRevertedError, batchOutcomeOf, BatchSubmissionError, isDefinitivelyNotSubmitted, } from './batch-errors';
|
|
14
|
+
export type { BatchSubmissionOutcome } from './batch-errors';
|
|
15
|
+
export { checkBatchOutcome, DEFAULT_BATCH_POLLING_POLICY, submitBatch, submitSponsoredCall, } from './batch-submission';
|
|
16
|
+
export type { BatchPollingPolicy, BatchStatusRead, BatchSubmission, BatchSubmissionPorts, ExecutedCall, ProvenBatch, SponsoredCallSubmission, SponsoredCallSubmissionPorts, SubmitBatchCall, } from './batch-submission';
|
|
13
17
|
export { Flow } from './flow';
|
|
14
18
|
export { FlowStore } from './observable';
|
|
15
19
|
export type { WaitableTransaction } from './observable';
|
|
16
20
|
export { CONTRACT_TTL_MS, DepositFlow, INVALID_ACCEPTANCE_SIGNATURE_MESSAGE, INVALID_AUTH_SIGNATURE_MESSAGE, NO_SPENDER_MESSAGE, } from './deposit-flow';
|
|
17
|
-
export type { ContractMessageRequest, DepositFailure, DepositFlowInput, DepositFlowOptions, DepositPhase, DepositPorts, DepositState, DepositStep, GenerateContractRequest, KycSignature, LegacyContractRequest, LoanAgreementRequest, } from './deposit-flow';
|
|
18
|
-
export { NO_KYC_PARAMS_MESSAGE, WithdrawFlow } from './withdraw-flow';
|
|
21
|
+
export type { BatchCall, ContractMessageRequest, DepositFailure, DepositFlowInput, DepositFlowOptions, DepositPhase, DepositPorts, DepositState, DepositStep, GenerateContractRequest, KycSignature, LegacyContractRequest, LoanAgreementRequest, } from './deposit-flow';
|
|
22
|
+
export { NO_KYC_PARAMS_MESSAGE, NO_WITHDRAWAL_ENCODER_MESSAGE, NOT_A_WITHDRAWAL_CALL_MESSAGE, WithdrawFlow, } from './withdraw-flow';
|
|
19
23
|
export type { WithdrawFailure, WithdrawFlowInput, WithdrawPhase, WithdrawPorts, WithdrawState, WithdrawStep, } from './withdraw-flow';
|
package/dist/flows/index.js
CHANGED
|
@@ -10,8 +10,10 @@
|
|
|
10
10
|
* Every application drove its own copy of the deposit pipeline before this, and
|
|
11
11
|
* the copies had already started to differ.
|
|
12
12
|
*/
|
|
13
|
+
export { BatchPendingError, BatchRevertedError, batchOutcomeOf, BatchSubmissionError, isDefinitivelyNotSubmitted, } from './batch-errors';
|
|
14
|
+
export { checkBatchOutcome, DEFAULT_BATCH_POLLING_POLICY, submitBatch, submitSponsoredCall, } from './batch-submission';
|
|
13
15
|
export { Flow } from './flow';
|
|
14
16
|
export { FlowStore } from './observable';
|
|
15
17
|
export { CONTRACT_TTL_MS, DepositFlow, INVALID_ACCEPTANCE_SIGNATURE_MESSAGE, INVALID_AUTH_SIGNATURE_MESSAGE, NO_SPENDER_MESSAGE, } from './deposit-flow';
|
|
16
|
-
export { NO_KYC_PARAMS_MESSAGE, WithdrawFlow } from './withdraw-flow';
|
|
18
|
+
export { NO_KYC_PARAMS_MESSAGE, NO_WITHDRAWAL_ENCODER_MESSAGE, NOT_A_WITHDRAWAL_CALL_MESSAGE, WithdrawFlow, } from './withdraw-flow';
|
|
17
19
|
//# sourceMappingURL=index.js.map
|
package/dist/flows/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/flows/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EACH,eAAe,EACf,WAAW,EACX,oCAAoC,EACpC,8BAA8B,EAC9B,kBAAkB,GACrB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/flows/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EACH,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,0BAA0B,GAC7B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACH,iBAAiB,EACjB,4BAA4B,EAC5B,WAAW,EACX,mBAAmB,GACtB,MAAM,oBAAoB,CAAC;AAa5B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EACH,eAAe,EACf,WAAW,EACX,oCAAoC,EACpC,8BAA8B,EAC9B,kBAAkB,GACrB,MAAM,gBAAgB,CAAC;AAiBxB,OAAO,EACH,qBAAqB,EACrB,6BAA6B,EAC7B,6BAA6B,EAC7B,YAAY,GACf,MAAM,iBAAiB,CAAC"}
|