@kasufinance/kasu-sdk 2.6.0 → 2.7.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/README.md +167 -4
- package/dist/bundle.cjs.js +1389 -257
- package/dist/bundle.esm.js +1375 -258
- package/dist/domain/index.d.ts +5 -2
- package/dist/domain/index.js +3 -2
- package/dist/domain/index.js.map +1 -1
- package/dist/domain/requests.d.ts +42 -4
- package/dist/domain/requests.js +20 -4
- package/dist/domain/requests.js.map +1 -1
- package/dist/domain/revert-errors.d.ts +59 -0
- package/dist/domain/revert-errors.js +190 -0
- package/dist/domain/revert-errors.js.map +1 -0
- package/dist/domain/wallet-errors.d.ts +63 -8
- package/dist/domain/wallet-errors.js +115 -16
- package/dist/domain/wallet-errors.js.map +1 -1
- package/dist/facade/deposits.js +2 -1
- package/dist/facade/deposits.js.map +1 -1
- package/dist/facade/flows.d.ts +95 -0
- package/dist/facade/flows.js +116 -0
- package/dist/facade/flows.js.map +1 -0
- package/dist/facade/index.d.ts +3 -0
- package/dist/facade/index.js +3 -0
- package/dist/facade/index.js.map +1 -1
- package/dist/facade/kasu.d.ts +6 -2
- package/dist/facade/kasu.js +28 -3
- package/dist/facade/kasu.js.map +1 -1
- package/dist/facade/read-only.d.ts +12 -0
- package/dist/facade/read-only.js +13 -0
- package/dist/facade/read-only.js.map +1 -0
- package/dist/flows/deposit-flow.d.ts +332 -0
- package/dist/flows/deposit-flow.js +436 -0
- package/dist/flows/deposit-flow.js.map +1 -0
- package/dist/flows/flow.d.ts +72 -0
- package/dist/flows/flow.js +110 -0
- package/dist/flows/flow.js.map +1 -0
- package/dist/flows/index.d.ts +19 -0
- package/dist/flows/index.js +17 -0
- package/dist/flows/index.js.map +1 -0
- package/dist/flows/observable.d.ts +59 -0
- package/dist/flows/observable.js +81 -0
- package/dist/flows/observable.js.map +1 -0
- package/dist/flows/withdraw-flow.d.ts +99 -0
- package/dist/flows/withdraw-flow.js +83 -0
- package/dist/flows/withdraw-flow.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/services/DataService/data-service.js +0 -1
- package/dist/services/DataService/data-service.js.map +1 -1
- package/package.json +8 -2
- package/src/domain/index.ts +10 -1
- package/src/domain/requests.ts +57 -4
- package/src/domain/revert-errors.ts +248 -0
- package/src/domain/wallet-errors.ts +135 -18
- package/src/facade/deposits.ts +2 -3
- package/src/facade/flows.ts +172 -0
- package/src/facade/index.ts +8 -0
- package/src/facade/kasu.ts +43 -3
- package/src/facade/read-only.ts +13 -0
- package/src/flows/deposit-flow.ts +884 -0
- package/src/flows/flow.ts +108 -0
- package/src/flows/index.ts +47 -0
- package/src/flows/observable.ts +97 -0
- package/src/flows/withdraw-flow.ts +210 -0
- package/src/index.ts +7 -0
- package/src/services/DataService/data-service.ts +0 -1
- package/dist/domain/au-minimum.test.d.ts +0 -1
- package/dist/domain/au-minimum.test.js +0 -202
- package/dist/domain/au-minimum.test.js.map +0 -1
- package/dist/domain/deposit-bounds.test.d.ts +0 -1
- package/dist/domain/deposit-bounds.test.js +0 -135
- package/dist/domain/deposit-bounds.test.js.map +0 -1
- package/dist/domain/loan-contract.test.d.ts +0 -1
- package/dist/domain/loan-contract.test.js +0 -255
- package/dist/domain/loan-contract.test.js.map +0 -1
- package/dist/domain/partners.test.d.ts +0 -1
- package/dist/domain/partners.test.js +0 -53
- package/dist/domain/partners.test.js.map +0 -1
- package/dist/domain/pools.test.d.ts +0 -1
- package/dist/domain/pools.test.js +0 -184
- package/dist/domain/pools.test.js.map +0 -1
- package/dist/domain/rates.test.d.ts +0 -1
- package/dist/domain/rates.test.js +0 -181
- package/dist/domain/rates.test.js.map +0 -1
- package/dist/domain/requests.test.d.ts +0 -1
- package/dist/domain/requests.test.js +0 -470
- package/dist/domain/requests.test.js.map +0 -1
- package/dist/domain/settlement.test.d.ts +0 -1
- package/dist/domain/settlement.test.js +0 -152
- package/dist/domain/settlement.test.js.map +0 -1
- package/dist/domain/tranche-display-name.test.d.ts +0 -1
- package/dist/domain/tranche-display-name.test.js +0 -58
- package/dist/domain/tranche-display-name.test.js.map +0 -1
- package/dist/domain/tranches.test.d.ts +0 -1
- package/dist/domain/tranches.test.js +0 -206
- package/dist/domain/tranches.test.js.map +0 -1
- package/dist/domain/wallet-errors.test.d.ts +0 -1
- package/dist/domain/wallet-errors.test.js +0 -71
- package/dist/domain/wallet-errors.test.js.map +0 -1
- package/dist/facade/config.test.d.ts +0 -1
- package/dist/facade/config.test.js +0 -216
- package/dist/facade/config.test.js.map +0 -1
- package/dist/facade/facade.test.d.ts +0 -1
- package/dist/facade/facade.test.js +0 -278
- package/dist/facade/facade.test.js.map +0 -1
- package/dist/services/Locking/calculate-apy.test.d.ts +0 -1
- package/dist/services/Locking/calculate-apy.test.js +0 -41
- package/dist/services/Locking/calculate-apy.test.js.map +0 -1
- package/dist/tests/sample.test.d.ts +0 -1
- package/dist/tests/sample.test.js +0 -59
- package/dist/tests/sample.test.js.map +0 -1
- package/src/domain/au-minimum.test.ts +0 -371
- package/src/domain/deposit-bounds.test.ts +0 -200
- package/src/domain/loan-contract.test.ts +0 -343
- package/src/domain/partners.test.ts +0 -83
- package/src/domain/pools.test.ts +0 -260
- package/src/domain/rates.test.ts +0 -254
- package/src/domain/requests.test.ts +0 -653
- package/src/domain/settlement.test.ts +0 -198
- package/src/domain/tranche-display-name.test.ts +0 -96
- package/src/domain/tranches.test.ts +0 -300
- package/src/domain/wallet-errors.test.ts +0 -100
- package/src/facade/config.test.ts +0 -265
- package/src/facade/facade.test.ts +0 -374
- package/src/services/Locking/calculate-apy.test.ts +0 -52
- package/src/tests/sample.test.ts +0 -63
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Flows: the headless money-path state machines.
|
|
3
|
+
*
|
|
4
|
+
* `domain/` holds rules that are pure functions. These are the same idea one
|
|
5
|
+
* level up — a rule that unfolds over time, with side effects the consumer
|
|
6
|
+
* injects as ports. They own the ORDER of a deposit and a withdrawal, the
|
|
7
|
+
* guards around them, and the codes that describe where a run got to. They own
|
|
8
|
+
* no UI, no framework, no network and no words.
|
|
9
|
+
*
|
|
10
|
+
* Every application drove its own copy of the deposit pipeline before this, and
|
|
11
|
+
* the copies had already started to differ.
|
|
12
|
+
*/
|
|
13
|
+
export { Flow } from './flow';
|
|
14
|
+
export { FlowStore } from './observable';
|
|
15
|
+
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';
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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;AAgBxB,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The tiny observable-state kernel both flows are built on.
|
|
3
|
+
*
|
|
4
|
+
* Deliberately not a framework store: no React, no signals, no dependency.
|
|
5
|
+
* A flow is a long asynchronous run that has to publish every transition to
|
|
6
|
+
* whatever is rendering it, and has to be able to abandon a run that the
|
|
7
|
+
* consumer walked away from. That is the whole requirement, and it is 60 lines.
|
|
8
|
+
*
|
|
9
|
+
* The `generation` counter is the abandonment mechanism. `reset()` bumps it;
|
|
10
|
+
* an in-flight run captured the previous value, so every later `patch` it
|
|
11
|
+
* attempts is dropped and every `isCurrent` checkpoint tells it to stop. It is
|
|
12
|
+
* what makes `reset()` safe to call mid-flight — the run cannot resurrect a
|
|
13
|
+
* dead state or, worse, drive the UI back into a phase the consumer has left.
|
|
14
|
+
*/
|
|
15
|
+
export declare class FlowStore<S> {
|
|
16
|
+
private readonly _initial;
|
|
17
|
+
private _state;
|
|
18
|
+
private _generation;
|
|
19
|
+
private readonly _listeners;
|
|
20
|
+
constructor(_initial: S);
|
|
21
|
+
get state(): S;
|
|
22
|
+
/** The run token an in-flight pipeline captures at `start()`. */
|
|
23
|
+
get generation(): number;
|
|
24
|
+
/** False once `reset()` (or a later `start()`) has superseded `token`. */
|
|
25
|
+
isCurrent(token: number): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Subscribe to every transition. Returns the unsubscribe function; calling
|
|
28
|
+
* it twice is harmless.
|
|
29
|
+
*
|
|
30
|
+
* Listeners are NOT called on subscribe — read `state` for the current
|
|
31
|
+
* value. A listener that throws is not allowed to break the pipeline or
|
|
32
|
+
* starve the listeners registered after it, so throws are swallowed.
|
|
33
|
+
*/
|
|
34
|
+
subscribe(listener: (state: S) => void): () => void;
|
|
35
|
+
/**
|
|
36
|
+
* Merge `next` into the state and notify, unless `token` names a
|
|
37
|
+
* superseded run.
|
|
38
|
+
*/
|
|
39
|
+
patch(next: Partial<S>, token?: number): void;
|
|
40
|
+
/**
|
|
41
|
+
* Back to the initial state, abandoning any in-flight run.
|
|
42
|
+
*
|
|
43
|
+
* Subscribers are kept: the consumer that was watching the last run is the
|
|
44
|
+
* one that will watch the next.
|
|
45
|
+
*/
|
|
46
|
+
reset(): void;
|
|
47
|
+
/** Claim the next run token. Any earlier run is abandoned. */
|
|
48
|
+
beginRun(): number;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Anything with a `wait()` — an ethers `ContractTransaction`, or a fake.
|
|
52
|
+
*
|
|
53
|
+
* Lives beside the store rather than in either flow: both submit transactions
|
|
54
|
+
* through their own ports, and neither of them should have to import the
|
|
55
|
+
* other's file to say so.
|
|
56
|
+
*/
|
|
57
|
+
export interface WaitableTransaction {
|
|
58
|
+
wait(): Promise<unknown>;
|
|
59
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The tiny observable-state kernel both flows are built on.
|
|
3
|
+
*
|
|
4
|
+
* Deliberately not a framework store: no React, no signals, no dependency.
|
|
5
|
+
* A flow is a long asynchronous run that has to publish every transition to
|
|
6
|
+
* whatever is rendering it, and has to be able to abandon a run that the
|
|
7
|
+
* consumer walked away from. That is the whole requirement, and it is 60 lines.
|
|
8
|
+
*
|
|
9
|
+
* The `generation` counter is the abandonment mechanism. `reset()` bumps it;
|
|
10
|
+
* an in-flight run captured the previous value, so every later `patch` it
|
|
11
|
+
* attempts is dropped and every `isCurrent` checkpoint tells it to stop. It is
|
|
12
|
+
* what makes `reset()` safe to call mid-flight — the run cannot resurrect a
|
|
13
|
+
* dead state or, worse, drive the UI back into a phase the consumer has left.
|
|
14
|
+
*/
|
|
15
|
+
export class FlowStore {
|
|
16
|
+
constructor(_initial) {
|
|
17
|
+
this._initial = _initial;
|
|
18
|
+
this._generation = 0;
|
|
19
|
+
this._listeners = new Set();
|
|
20
|
+
this._state = _initial;
|
|
21
|
+
}
|
|
22
|
+
get state() {
|
|
23
|
+
return this._state;
|
|
24
|
+
}
|
|
25
|
+
/** The run token an in-flight pipeline captures at `start()`. */
|
|
26
|
+
get generation() {
|
|
27
|
+
return this._generation;
|
|
28
|
+
}
|
|
29
|
+
/** False once `reset()` (or a later `start()`) has superseded `token`. */
|
|
30
|
+
isCurrent(token) {
|
|
31
|
+
return this._generation === token;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Subscribe to every transition. Returns the unsubscribe function; calling
|
|
35
|
+
* it twice is harmless.
|
|
36
|
+
*
|
|
37
|
+
* Listeners are NOT called on subscribe — read `state` for the current
|
|
38
|
+
* value. A listener that throws is not allowed to break the pipeline or
|
|
39
|
+
* starve the listeners registered after it, so throws are swallowed.
|
|
40
|
+
*/
|
|
41
|
+
subscribe(listener) {
|
|
42
|
+
this._listeners.add(listener);
|
|
43
|
+
return () => {
|
|
44
|
+
this._listeners.delete(listener);
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Merge `next` into the state and notify, unless `token` names a
|
|
49
|
+
* superseded run.
|
|
50
|
+
*/
|
|
51
|
+
patch(next, token) {
|
|
52
|
+
if (token !== undefined && !this.isCurrent(token))
|
|
53
|
+
return;
|
|
54
|
+
this._state = Object.assign(Object.assign({}, this._state), next);
|
|
55
|
+
for (const listener of [...this._listeners]) {
|
|
56
|
+
try {
|
|
57
|
+
listener(this._state);
|
|
58
|
+
}
|
|
59
|
+
catch (_a) {
|
|
60
|
+
// A consumer's rendering fault is its own problem; the pipeline
|
|
61
|
+
// owns real money and keeps going.
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Back to the initial state, abandoning any in-flight run.
|
|
67
|
+
*
|
|
68
|
+
* Subscribers are kept: the consumer that was watching the last run is the
|
|
69
|
+
* one that will watch the next.
|
|
70
|
+
*/
|
|
71
|
+
reset() {
|
|
72
|
+
this._generation += 1;
|
|
73
|
+
this.patch(this._initial);
|
|
74
|
+
}
|
|
75
|
+
/** Claim the next run token. Any earlier run is abandoned. */
|
|
76
|
+
beginRun() {
|
|
77
|
+
this._generation += 1;
|
|
78
|
+
return this._generation;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=observable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observable.js","sourceRoot":"","sources":["../../src/flows/observable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,SAAS;IAKlB,YAA6B,QAAW;QAAX,aAAQ,GAAR,QAAQ,CAAG;QAHhC,gBAAW,GAAG,CAAC,CAAC;QACP,eAAU,GAAG,IAAI,GAAG,EAAsB,CAAC;QAGxD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,iEAAiE;IACjE,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,0EAA0E;IAC1E,SAAS,CAAC,KAAa;QACnB,OAAO,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,QAA4B;QAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,GAAG,EAAE;YACR,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC,CAAC;IACN,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAgB,EAAE,KAAc;QAClC,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO;QAC1D,IAAI,CAAC,MAAM,mCAAQ,IAAI,CAAC,MAAM,GAAK,IAAI,CAAE,CAAC;QAC1C,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;YAAC,WAAM,CAAC;gBACL,gEAAgE;gBAChE,mCAAmC;YACvC,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK;QACD,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,8DAA8D;IAC9D,QAAQ;QACJ,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;CACJ"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { BigNumber } from 'ethers';
|
|
2
|
+
import { KycParams } from '../facade/types';
|
|
3
|
+
import { Flow } from './flow';
|
|
4
|
+
import { WaitableTransaction } from './observable';
|
|
5
|
+
/**
|
|
6
|
+
* The withdrawal pipeline, headless — the small sibling of `DepositFlow`.
|
|
7
|
+
*
|
|
8
|
+
* Much less happens here, and that is the point of it being separate: no loan
|
|
9
|
+
* agreement, no approval (the lender is handing tranche shares back, not
|
|
10
|
+
* granting a spend), no on-chain KYC payload. What survives is the shape both
|
|
11
|
+
* applications need — an observable phase, one `'max'`-aware submission, and
|
|
12
|
+
* the same `cancelled` / `failed` split, so a lender who pressed Reject is
|
|
13
|
+
* never told something broke.
|
|
14
|
+
*
|
|
15
|
+
* The run lifecycle — the re-entrancy guard, `state`, `isRunning`,
|
|
16
|
+
* `subscribe`, `reset` — is `Flow`'s, shared with the deposit pipeline. It was
|
|
17
|
+
* a second copy here until 2.7.0, which is two places for one guard to be
|
|
18
|
+
* wrong.
|
|
19
|
+
*
|
|
20
|
+
* Same house rules as the deposit flow: no React, no copy, no I/O of its own.
|
|
21
|
+
* `state` carries codes; the consumer owns every word a lender reads.
|
|
22
|
+
*
|
|
23
|
+
* ```ts
|
|
24
|
+
* const flow = new WithdrawFlow(ports);
|
|
25
|
+
* flow.subscribe(render);
|
|
26
|
+
* await flow.start({ poolId, trancheId, amount: 'max', userAddress });
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export type WithdrawPhase = 'idle' | 'checking-kyc' | 'request-sign' | 'request-confirm' | 'success' | 'error';
|
|
30
|
+
/**
|
|
31
|
+
* `kyc` only exists when the consumer supplies `getKycSignature`. kasu-mobile
|
|
32
|
+
* does, to fail early and legibly when a lender's KYC has lapsed rather than
|
|
33
|
+
* let the on-chain call revert; kasu-ui does not.
|
|
34
|
+
*/
|
|
35
|
+
export type WithdrawStep = 'kyc' | 'request';
|
|
36
|
+
export type WithdrawFailure = {
|
|
37
|
+
step: WithdrawStep;
|
|
38
|
+
reason: 'cancelled';
|
|
39
|
+
} | {
|
|
40
|
+
step: WithdrawStep;
|
|
41
|
+
reason: 'failed';
|
|
42
|
+
error: unknown;
|
|
43
|
+
};
|
|
44
|
+
export interface WithdrawPorts {
|
|
45
|
+
/**
|
|
46
|
+
* Build the Nexera KYC params for the pre-check. Defaults to
|
|
47
|
+
* `kasu.deposits.buildKycParams`, exactly as the deposit flow's does.
|
|
48
|
+
*/
|
|
49
|
+
buildKycParams?(userAddress: `0x${string}`): KycParams | Promise<KycParams>;
|
|
50
|
+
/**
|
|
51
|
+
* Exchange those params for a signature at the consumer's own backend, and
|
|
52
|
+
* so verify the lender's KYC BEFORE the wallet is opened — a lapsed one
|
|
53
|
+
* surfaces as `{ step: 'kyc' }` instead of an opaque revert. The
|
|
54
|
+
* withdrawal call itself does not carry the signature.
|
|
55
|
+
*
|
|
56
|
+
* Supplying this port is what turns the pre-check on; there is no default,
|
|
57
|
+
* because the SDK does not know the application's backend. This is the
|
|
58
|
+
* same pair the deposit flow uses, rather than the opaque `ensureKyc` of
|
|
59
|
+
* earlier drafts, so one KYC pre-check exists across both money paths.
|
|
60
|
+
*/
|
|
61
|
+
getKycSignature?(params: KycParams): Promise<unknown>;
|
|
62
|
+
/** `requestWithdrawalInAsset`. Defaults to `kasu.deposits.withdraw`. */
|
|
63
|
+
withdraw(params: {
|
|
64
|
+
poolId: string;
|
|
65
|
+
trancheId: string;
|
|
66
|
+
amount: BigNumber;
|
|
67
|
+
}): Promise<WaitableTransaction>;
|
|
68
|
+
/** `requestWithdrawalMax`. Defaults to `kasu.deposits.withdrawMax`. */
|
|
69
|
+
withdrawMax(poolId: string, trancheId: string, userAddress: string): Promise<WaitableTransaction>;
|
|
70
|
+
}
|
|
71
|
+
export interface WithdrawFlowInput {
|
|
72
|
+
poolId: string;
|
|
73
|
+
trancheId: string;
|
|
74
|
+
/**
|
|
75
|
+
* The amount in BASE units, or the literal `'max'`.
|
|
76
|
+
*
|
|
77
|
+
* `'max'` is not "the balance as I last read it": it routes to the
|
|
78
|
+
* all-shares contract call, which resolves the balance on chain at
|
|
79
|
+
* execution. Deciding max-ness from a number the consumer read a moment ago
|
|
80
|
+
* is how dust gets stranded in a tranche, so the decision is a code, made
|
|
81
|
+
* by the consumer, and carried here intact.
|
|
82
|
+
*/
|
|
83
|
+
amount: BigNumber | 'max';
|
|
84
|
+
userAddress: `0x${string}`;
|
|
85
|
+
}
|
|
86
|
+
export interface WithdrawState {
|
|
87
|
+
phase: WithdrawPhase;
|
|
88
|
+
step: WithdrawStep | null;
|
|
89
|
+
/** True when this run routed through the all-shares call. */
|
|
90
|
+
isMax: boolean;
|
|
91
|
+
failure: WithdrawFailure | null;
|
|
92
|
+
}
|
|
93
|
+
/** What a KYC pre-check with no `buildKycParams` to call fails with. */
|
|
94
|
+
export declare const NO_KYC_PARAMS_MESSAGE = "WithdrawFlow: getKycSignature was supplied without buildKycParams; build the flow with kasu.flows.withdraw() or pass both";
|
|
95
|
+
export declare class WithdrawFlow extends Flow<WithdrawState, WithdrawFlowInput> {
|
|
96
|
+
private readonly _ports;
|
|
97
|
+
constructor(_ports: WithdrawPorts);
|
|
98
|
+
protected _run(input: WithdrawFlowInput, token: number): Promise<void>;
|
|
99
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { classifyWalletFailure } from '../domain/wallet-errors';
|
|
11
|
+
import { Flow } from './flow';
|
|
12
|
+
const INITIAL = {
|
|
13
|
+
phase: 'idle',
|
|
14
|
+
step: null,
|
|
15
|
+
isMax: false,
|
|
16
|
+
failure: null,
|
|
17
|
+
};
|
|
18
|
+
/** What a KYC pre-check with no `buildKycParams` to call fails with. */
|
|
19
|
+
export const NO_KYC_PARAMS_MESSAGE = 'WithdrawFlow: getKycSignature was supplied without buildKycParams; build the flow with kasu.flows.withdraw() or pass both';
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
// The flow
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
export class WithdrawFlow extends Flow {
|
|
24
|
+
constructor(_ports) {
|
|
25
|
+
super(INITIAL);
|
|
26
|
+
this._ports = _ports;
|
|
27
|
+
}
|
|
28
|
+
_run(input, token) {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
const ports = this._ports;
|
|
31
|
+
const isMax = input.amount === 'max';
|
|
32
|
+
// 1. The optional KYC pre-check: build the params, exchange them for a
|
|
33
|
+
// signature. Both ports reach the application's own backend, so a
|
|
34
|
+
// throw here is ALWAYS `failed` — running it through the wallet
|
|
35
|
+
// rejection classifier would let a backend's "Declined" be reported
|
|
36
|
+
// to a lender as something they did, with the real error dropped.
|
|
37
|
+
if (ports.getKycSignature) {
|
|
38
|
+
this._store.patch({ phase: 'checking-kyc', step: 'kyc', isMax }, token);
|
|
39
|
+
try {
|
|
40
|
+
if (!ports.buildKycParams) {
|
|
41
|
+
throw new Error(NO_KYC_PARAMS_MESSAGE);
|
|
42
|
+
}
|
|
43
|
+
const params = yield ports.buildKycParams(input.userAddress);
|
|
44
|
+
yield ports.getKycSignature(params);
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
this._store.patch({
|
|
48
|
+
phase: 'error',
|
|
49
|
+
failure: { step: 'kyc', reason: 'failed', error: err },
|
|
50
|
+
}, token);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
if (!this._store.isCurrent(token))
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
// 2. The submission. This one IS a wallet call, so it keeps the
|
|
57
|
+
// `cancelled` / `failed` split.
|
|
58
|
+
this._store.patch({ phase: 'request-sign', step: 'request', isMax }, token);
|
|
59
|
+
try {
|
|
60
|
+
const tx = input.amount === 'max'
|
|
61
|
+
? yield ports.withdrawMax(input.poolId, input.trancheId, input.userAddress.toLowerCase())
|
|
62
|
+
: yield ports.withdraw({
|
|
63
|
+
poolId: input.poolId,
|
|
64
|
+
trancheId: input.trancheId,
|
|
65
|
+
amount: input.amount,
|
|
66
|
+
});
|
|
67
|
+
this._store.patch({ phase: 'request-confirm' }, token);
|
|
68
|
+
yield tx.wait();
|
|
69
|
+
}
|
|
70
|
+
catch (err) {
|
|
71
|
+
this._store.patch({
|
|
72
|
+
phase: 'error',
|
|
73
|
+
failure: classifyWalletFailure('request', err),
|
|
74
|
+
}, token);
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
if (!this._store.isCurrent(token))
|
|
78
|
+
return;
|
|
79
|
+
this._store.patch({ phase: 'success' }, token);
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=withdraw-flow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withdraw-flow.js","sourceRoot":"","sources":["../../src/flows/withdraw-flow.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -13,4 +13,10 @@ export * from './facade';
|
|
|
13
13
|
// only: no copy, no locale. See `src/domain/index.ts`.
|
|
14
14
|
// ---------------------------------------------------------------------------
|
|
15
15
|
export * from './domain';
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
// Flows — the headless deposit / withdraw state machines. No React, no copy,
|
|
18
|
+
// no I/O of their own: every side effect is an injected port and every
|
|
19
|
+
// observable state is a code. See `src/flows/index.ts`.
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
export * from './flows';
|
|
16
22
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4CAA4C;AAC5C,8EAA8E;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAMrC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAgDzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,8EAA8E;AAC9E,+CAA+C;AAC/C,8EAA8E;AAC9E,cAAc,UAAU,CAAC;AAEzB,8EAA8E;AAC9E,6EAA6E;AAC7E,uDAAuD;AACvD,8EAA8E;AAC9E,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4CAA4C;AAC5C,8EAA8E;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAMrC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAgDzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,8EAA8E;AAC9E,+CAA+C;AAC/C,8EAA8E;AAC9E,cAAc,UAAU,CAAC;AAEzB,8EAA8E;AAC9E,6EAA6E;AAC7E,uDAAuD;AACvD,8EAA8E;AAC9E,cAAc,UAAU,CAAC;AAEzB,8EAA8E;AAC9E,6EAA6E;AAC7E,uEAAuE;AACvE,wDAAwD;AACxD,8EAA8E;AAC9E,cAAc,SAAS,CAAC"}
|
|
@@ -326,7 +326,6 @@ export class DataService {
|
|
|
326
326
|
return __awaiter(this, void 0, void 0, function* () {
|
|
327
327
|
var _a;
|
|
328
328
|
const poolDelegateProfileAndHistoryDirectus = (yield this._directus.request(readItems('PoolDelegateProfileAndHistory', {
|
|
329
|
-
// @ts-ignore Directus' deep-fields typing is fragile across versions
|
|
330
329
|
fields: ['*', { otherPools: ['*'] }],
|
|
331
330
|
})));
|
|
332
331
|
const [poolNames, directusPoolNames] = yield Promise.all([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-service.js","sourceRoot":"","sources":["../../../src/services/DataService/data-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"data-service.js","sourceRoot":"","sources":["../../../src/services/DataService/data-service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kasufinance/kasu-sdk",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.7.1",
|
|
4
4
|
"description": "TypeScript SDK for the Kasu Finance protocol — pool data, portfolio analytics, and KYC-gated deposits and withdrawals on Base and XDC",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"kasu",
|
|
@@ -30,7 +30,13 @@
|
|
|
30
30
|
"src",
|
|
31
31
|
"abis",
|
|
32
32
|
"README.md",
|
|
33
|
-
"LICENSE"
|
|
33
|
+
"LICENSE",
|
|
34
|
+
"!src/**/*.test.ts",
|
|
35
|
+
"!src/tests",
|
|
36
|
+
"!dist/**/*.test.js",
|
|
37
|
+
"!dist/**/*.test.js.map",
|
|
38
|
+
"!dist/**/*.test.d.ts",
|
|
39
|
+
"!dist/tests"
|
|
34
40
|
],
|
|
35
41
|
"engines": {
|
|
36
42
|
"node": ">=18"
|
package/src/domain/index.ts
CHANGED
|
@@ -92,6 +92,7 @@ export {
|
|
|
92
92
|
deriveRequestState,
|
|
93
93
|
firstSubmissionTimestamp,
|
|
94
94
|
isCycleClosed,
|
|
95
|
+
lastEventTimestamp,
|
|
95
96
|
submissionEvents,
|
|
96
97
|
} from './requests';
|
|
97
98
|
export type {
|
|
@@ -100,6 +101,9 @@ export type {
|
|
|
100
101
|
RequestStatusCode,
|
|
101
102
|
} from './requests';
|
|
102
103
|
|
|
104
|
+
export { decodeRevert, extractRevertData } from './revert-errors';
|
|
105
|
+
export type { DecodedRevert, RevertFamily } from './revert-errors';
|
|
106
|
+
|
|
103
107
|
export {
|
|
104
108
|
CLEARING_WINDOW_SECONDS,
|
|
105
109
|
computeSettlementWindow,
|
|
@@ -131,4 +135,9 @@ export type {
|
|
|
131
135
|
TrancheCapacitySignal,
|
|
132
136
|
} from './tranches';
|
|
133
137
|
|
|
134
|
-
export {
|
|
138
|
+
export {
|
|
139
|
+
classifyWalletFailure,
|
|
140
|
+
isUnpredictableGas,
|
|
141
|
+
isUserRejected,
|
|
142
|
+
} from './wallet-errors';
|
|
143
|
+
export type { WalletFailure } from './wallet-errors';
|
package/src/domain/requests.ts
CHANGED
|
@@ -102,6 +102,36 @@ export interface RequestState {
|
|
|
102
102
|
* here.
|
|
103
103
|
*/
|
|
104
104
|
initiatedAmount: number | null;
|
|
105
|
+
/**
|
|
106
|
+
* The rejected figure the subgraph reported, parsed with the same `num`
|
|
107
|
+
* rule as the rest: an absent or unparseable value is 0. Unlike
|
|
108
|
+
* `acceptedAmount` this is NOT nullable — it feeds the partial-vs-complete
|
|
109
|
+
* branch, where "no figure" and "nothing rejected" mean the same thing.
|
|
110
|
+
*/
|
|
111
|
+
rejectedAmount: number;
|
|
112
|
+
/**
|
|
113
|
+
* `assetAmount` of the reallocation event, or 0 when the request was not
|
|
114
|
+
* reallocated. The amount that LEFT the requested tranche — which is not
|
|
115
|
+
* necessarily `acceptedAmount`, because a partly-filled request can be
|
|
116
|
+
* reallocated for only part of itself.
|
|
117
|
+
*/
|
|
118
|
+
reallocatedOutAmount: number;
|
|
119
|
+
/**
|
|
120
|
+
* RAW name of the tranche a reallocated deposit was accepted into, or
|
|
121
|
+
* `null` when there was no reallocation. RAW for the same reason
|
|
122
|
+
* `trancheName` is: the app calls `getTrancheDisplayName` on it at the
|
|
123
|
+
* view boundary, and a renamed value must never reach matching code.
|
|
124
|
+
*/
|
|
125
|
+
reallocationTargetTrancheName: string | null;
|
|
126
|
+
/**
|
|
127
|
+
* The row's highest-resolution timestamp: the LATEST event, or
|
|
128
|
+
* `request.timestamp` when the timeline is empty or older. Unix seconds.
|
|
129
|
+
*
|
|
130
|
+
* `firstSubmissionTimestamp` says when the lender asked; this says when
|
|
131
|
+
* anything last happened to the request, which is what a "last updated"
|
|
132
|
+
* column and a recency sort need.
|
|
133
|
+
*/
|
|
134
|
+
lastTimestamp: number;
|
|
105
135
|
/**
|
|
106
136
|
* The signed figure the row shows, chosen by the same branch logic
|
|
107
137
|
* kasu-ui uses: positive for an inflow, negative for an outflow, 0 for a
|
|
@@ -171,6 +201,23 @@ export function firstSubmissionTimestamp(
|
|
|
171
201
|
);
|
|
172
202
|
}
|
|
173
203
|
|
|
204
|
+
/**
|
|
205
|
+
* The LATEST event timestamp, or `fallback` when the timeline is empty — or
|
|
206
|
+
* when every event predates it, because `fallback` seeds the reduction. That
|
|
207
|
+
* seeding is deliberate and is kasu-ui's behaviour: `request.timestamp` is a
|
|
208
|
+
* fact about the request, and an event indexed with an earlier clock must not
|
|
209
|
+
* make the row look older than the request itself.
|
|
210
|
+
*/
|
|
211
|
+
export function lastEventTimestamp(
|
|
212
|
+
events: Pick<UserRequestEvent, 'timestamp'>[],
|
|
213
|
+
fallback: number,
|
|
214
|
+
): number {
|
|
215
|
+
return events.reduce(
|
|
216
|
+
(max, e) => (e.timestamp > max ? e.timestamp : max),
|
|
217
|
+
fallback,
|
|
218
|
+
);
|
|
219
|
+
}
|
|
220
|
+
|
|
174
221
|
/**
|
|
175
222
|
* Has THIS request's cycle closed? — the single open/closed signal behind the
|
|
176
223
|
* status vocabulary and behind Cancel.
|
|
@@ -273,10 +320,10 @@ const numOrNull = (str: string | null | undefined): number | null => {
|
|
|
273
320
|
* status would strand it.
|
|
274
321
|
*
|
|
275
322
|
* WHAT THE APPLICATION STILL OWNS: the status word and the detail line beneath
|
|
276
|
-
* it; the tranche display rename (`getTrancheDisplayName` on `trancheName
|
|
277
|
-
* and on
|
|
278
|
-
* split; the amount format. The "view loan agreement" affordance is
|
|
279
|
-
* it follows from two fields already here —
|
|
323
|
+
* it; the tranche display rename (`getTrancheDisplayName` on `trancheName`
|
|
324
|
+
* and on `reallocationTargetTrancheName`, both of which are RAW here); the
|
|
325
|
+
* pool-name split; the amount format. The "view loan agreement" affordance is
|
|
326
|
+
* a fact, and it follows from two fields already here —
|
|
280
327
|
* `requestType === 'Deposit' && statusCode !== 'cancelled' && statusCode !== 'rejected'`
|
|
281
328
|
* — because neither a cancelled nor a fully-rejected deposit ever issued one,
|
|
282
329
|
* and withdrawals sign no agreement at all.
|
|
@@ -313,6 +360,12 @@ export function deriveRequestState(request: UserRequest): RequestState {
|
|
|
313
360
|
initiatedAmount: initiated
|
|
314
361
|
? initiatedAmountOf(request.events)
|
|
315
362
|
: null,
|
|
363
|
+
rejectedAmount: rejected,
|
|
364
|
+
reallocatedOutAmount: reallocation ? num(reallocation.assetAmount) : 0,
|
|
365
|
+
reallocationTargetTrancheName: reallocation
|
|
366
|
+
? reallocation.trancheName
|
|
367
|
+
: null,
|
|
368
|
+
lastTimestamp: lastEventTimestamp(request.events, request.timestamp),
|
|
316
369
|
submissionCount: countSubmissions(request.events),
|
|
317
370
|
// `firstSubmissionTimestamp` needs a fallback it will never use here:
|
|
318
371
|
// the bundle is non-empty on every path that reaches the call.
|