@kasufinance/kasu-sdk 2.5.0 → 2.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/README.md +17 -5
- package/dist/bundle.cjs.js +797 -16
- package/dist/bundle.esm.js +771 -17
- package/dist/domain/au-minimum.d.ts +135 -0
- package/dist/domain/au-minimum.js +154 -0
- package/dist/domain/au-minimum.js.map +1 -0
- package/dist/domain/au-minimum.test.d.ts +1 -0
- package/dist/domain/au-minimum.test.js +202 -0
- package/dist/domain/au-minimum.test.js.map +1 -0
- package/dist/domain/index.d.ts +17 -3
- package/dist/domain/index.js +13 -3
- package/dist/domain/index.js.map +1 -1
- package/dist/domain/loan-contract.d.ts +174 -0
- package/dist/domain/loan-contract.js +160 -0
- package/dist/domain/loan-contract.js.map +1 -0
- package/dist/domain/loan-contract.test.d.ts +1 -0
- package/dist/domain/loan-contract.test.js +255 -0
- package/dist/domain/loan-contract.test.js.map +1 -0
- package/dist/domain/requests.d.ts +181 -0
- package/dist/domain/requests.js +202 -0
- package/dist/domain/requests.js.map +1 -0
- package/dist/domain/requests.test.d.ts +1 -0
- package/dist/domain/requests.test.js +470 -0
- package/dist/domain/requests.test.js.map +1 -0
- package/dist/domain/settlement.d.ts +97 -0
- package/dist/domain/settlement.js +117 -0
- package/dist/domain/settlement.js.map +1 -0
- package/dist/domain/settlement.test.d.ts +1 -0
- package/dist/domain/settlement.test.js +152 -0
- package/dist/domain/settlement.test.js.map +1 -0
- package/dist/domain/wallet-errors.d.ts +37 -0
- package/dist/domain/wallet-errors.js +56 -0
- package/dist/domain/wallet-errors.js.map +1 -0
- package/dist/domain/wallet-errors.test.d.ts +1 -0
- package/dist/domain/wallet-errors.test.js +71 -0
- package/dist/domain/wallet-errors.test.js.map +1 -0
- package/dist/facade/chain-configs.js +7 -1
- package/dist/facade/chain-configs.js.map +1 -1
- package/dist/facade/facade.test.js +82 -5
- package/dist/facade/facade.test.js.map +1 -1
- package/dist/facade/user-portfolio.d.ts +18 -0
- package/dist/facade/user-portfolio.js +23 -0
- package/dist/facade/user-portfolio.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/services/DataService/data-service.js +3 -10
- package/dist/services/DataService/data-service.js.map +1 -1
- package/dist/services/DataService/directus-client.d.ts +26 -0
- package/dist/services/DataService/directus-client.js +38 -0
- package/dist/services/DataService/directus-client.js.map +1 -0
- package/dist/services/UserLending/user-lending.js +11 -7
- package/dist/services/UserLending/user-lending.js.map +1 -1
- package/package.json +1 -1
- package/src/domain/au-minimum.test.ts +371 -0
- package/src/domain/au-minimum.ts +192 -0
- package/src/domain/index.ts +67 -3
- package/src/domain/loan-contract.test.ts +343 -0
- package/src/domain/loan-contract.ts +275 -0
- package/src/domain/requests.test.ts +653 -0
- package/src/domain/requests.ts +414 -0
- package/src/domain/settlement.test.ts +198 -0
- package/src/domain/settlement.ts +161 -0
- package/src/domain/wallet-errors.test.ts +100 -0
- package/src/domain/wallet-errors.ts +56 -0
- package/src/facade/chain-configs.ts +7 -1
- package/src/facade/facade.test.ts +124 -0
- package/src/facade/user-portfolio.ts +24 -0
- package/src/index.ts +2 -0
- package/src/services/DataService/data-service.ts +7 -24
- package/src/services/DataService/directus-client.ts +54 -0
- package/src/services/UserLending/user-lending.ts +17 -21
package/README.md
CHANGED
|
@@ -116,7 +116,7 @@ You can also pass a whole `ChainConfigEntry` instead of a chain key.
|
|
|
116
116
|
| ----------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------------------------- |
|
|
117
117
|
| `kasu.strategies` | `getAll()`, `getVisible()`, `getById()`, `getPlatformStats()`, `getPerformanceFeePercent()`, `calculateDepositLimits()` | Browse pools, APY, capacity |
|
|
118
118
|
| `kasu.deposits` | `deposit()`, `withdraw()`, `withdrawMax()`, `buildKycParams()`, `isClearingPending()` | Submit transactions |
|
|
119
|
-
| `kasu.portfolio` | `getPositions()`, `getTransactionHistory()`
|
|
119
|
+
| `kasu.portfolio` | `getPositions()`, `getTransactionHistory()`, `getRequestStates()` | Lender balances, yield, history |
|
|
120
120
|
|
|
121
121
|
On the instance itself: `kasu.connect(signer)`, `kasu.isReadOnly`,
|
|
122
122
|
`kasu.provider`, `kasu.chainConfig`, `kasu.isLiteDeployment`, and
|
|
@@ -142,9 +142,20 @@ application formats them in its own design system and language.
|
|
|
142
142
|
| Pools | `selectVisiblePools`, `poolMaxApy`, `pickHighestYieldTranche`, `maxNetRateCeiling` |
|
|
143
143
|
| Partners | `getCreditOriginator`, `getInstitutionalLender`, `APXIUM`, `INVOICEMATE`, `RIXON_CAPITAL` |
|
|
144
144
|
| Tranche display name | `getTrancheDisplayName`, `UPPER_MEZZANINE` |
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
145
|
+
| Requests | `deriveRequestState`, `submissionEvents`, `countSubmissions`, `firstSubmissionTimestamp`, `isCycleClosed` |
|
|
146
|
+
| Settlement | `computeSettlementWindow`, `nextCycleBoundary`, `deriveCycleDates`, `CLEARING_WINDOW_SECONDS` |
|
|
147
|
+
| Loan contract | `encodeDepositData`, `buildContractVersionType`, `buildLoanAgreementSignMessage`, `buildLegacyContractRequestMessage`, `buildFullNameRequestMessage`, `formatSignTimestampUtc`, `parseFormattedMessage`, `asContractType` |
|
|
148
|
+
| Wallet errors | `isUserRejected`, `isUnpredictableGas` |
|
|
149
|
+
| AU minimum | `auMinimumRemaining`, `isAustralianKyc`, `auThresholdFor`, `isAuMinimumExempt`, `parseMinorUnits`, `AU_ALPHA3`, `AU_MIN_CUMULATIVE_BY_STABLE` |
|
|
150
|
+
|
|
151
|
+
Three rules worth knowing:
|
|
152
|
+
|
|
153
|
+
- **Protocol strings are the exception to "never copy".** The messages
|
|
154
|
+
`loan-contract` builds are reconstructed byte-for-byte by the Kasu backend to
|
|
155
|
+
verify a lender's signature, and `encodeDepositData` produces bytes that go
|
|
156
|
+
on chain. They are not text to translate or tidy: a changed word, separator
|
|
157
|
+
or date format stops signatures verifying. Everything else in this layer is
|
|
158
|
+
numbers and codes.
|
|
148
159
|
- **Rates fail closed.** `netEffectiveApy`, `netTrancheApyBounds` and
|
|
149
160
|
`maxNetRateCeiling` return `NaN` / `null` rather than a plausible-looking
|
|
150
161
|
wrong number when an input is out of domain. Render that as "no rate", never
|
|
@@ -153,7 +164,8 @@ Two rules worth knowing:
|
|
|
153
164
|
- **The tranche rename is display-only.** `getTrancheDisplayName` maps the
|
|
154
165
|
`Senior` tranche to "Upper Mezzanine" on Apxium strategies, because the true
|
|
155
166
|
senior position is held by an institutional lender. Call it at the view
|
|
156
|
-
boundary only: ranking, matching and sorting keep the raw on-chain name
|
|
167
|
+
boundary only: ranking, matching and sorting keep the raw on-chain name —
|
|
168
|
+
which is why `deriveRequestState` returns `trancheName` raw.
|
|
157
169
|
|
|
158
170
|
## Low-level `KasuSdk`
|
|
159
171
|
|