@centrifuge/sdk 0.4.1 → 0.4.3

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 CHANGED
@@ -1,198 +1,234 @@
1
1
  # Centrifuge SDK [![Codecov](https://codecov.io/gh/centrifuge/sdk/graph/badge.svg?token=Q2yU8QfefP)](https://codecov.io/gh/centrifuge/sdk) [![Build CI status](https://github.com/centrifuge/sdk/actions/workflows/build-test-report.yml/badge.svg)](https://github.com/centrifuge/sdk/actions/workflows/build-test-report.yml) [![Latest Release](https://img.shields.io/github/v/release/centrifuge/sdk?sort=semver)](https://github.com/centrifuge/sdk/releases/latest)
2
2
 
3
- The Centrifuge SDK is a JavaScript client for interacting with the [Centrifuge](https://centrifuge.io) ecosystem. It provides a comprehensive, fully typed library to integrate investments and redemptions, generate financial reports, manage pools, and much more.
3
+ A fully typed JavaScript client to interact with the [Centrifuge](https://centrifuge.io) ecosystem. Use it to manage pools, investments, redemptions, financial reports, and more.
4
+
5
+ ---
6
+
7
+ ## Table of Contents
8
+
9
+ 1. [Features](#features)
10
+ 2. [Installation](#installation)
11
+ 3. [Getting Started](#getting-started)
12
+ - [Initialization & Configuration](#initialization--configuration)
13
+ - [Queries](#queries)
14
+ - [Transactions](#transactions)
15
+ - [Investments](#investments)
16
+ - [Reports](#reports)
17
+ 4. [Developer Guide](#developer-guide)
18
+ - [Development Mode](#development-mode)
19
+ - [Building](#building)
20
+ - [Testing](#testing)
21
+ 5. [Contributing](#contributing)
22
+ - [Docs](#docs)
23
+ - [PR Conventions & Versioning](#pr-naming-convention--versioning)
24
+ 6. [License](#license)
25
+
26
+ ---
27
+
28
+ ## Features
29
+
30
+ - Typed JavaScript/TypeScript client
31
+ - Support for mainnet & testnet environments
32
+ - Full querying interface (readonly) + subscription support
33
+ - Transaction support (awaitable or observable for updates)
34
+ - Handling of share classes, vaults, and ERC-7540 tokenized vaults
35
+ - Reports: balance sheet, profit & loss, cash flow
36
+
37
+ ---
4
38
 
5
39
  ## Installation
6
40
 
7
41
  ```bash
8
- npm install --save @centrifuge/sdk
42
+ npm install @centrifuge/sdk
9
43
  ```
10
44
 
11
- ## Init and config
45
+ ## Getting Started
12
46
 
13
- Create an instance and pass optional configuration
47
+ ### Initialization & Configuration
14
48
 
15
- ```js
49
+ ```typescript
16
50
  import Centrifuge from '@centrifuge/sdk'
17
51
 
18
- const centrifuge = new Centrifuge()
19
- ```
20
-
21
- The following config options can be passed on initialization of the SDK:
22
-
23
- - `environment: 'mainnet' | 'testnet'`
24
- - Optional
25
- - Default value: `mainnet`
26
- - `rpcUrls: Record<number, string>`
27
- - Optional
28
- - A object mapping chain ids to RPC URLs
29
- - `indexerUrl: string`
30
- - Optional
31
- - A URL for the indexer
32
- - `ipfsUrl: string`
33
- - Optional
34
- - A URL for an IPFS gateway
35
- - Default value: `https://centrifuge.mypinata.cloud`
36
-
37
- ## Queries
38
-
39
- Queries return Promise-like [Observables](https://rxjs.dev/guide/observable). They can be either awaited to get a single value, or subscribed to to get fresh data whenever on-chain data changes.
40
-
41
- ```js
42
- try {
43
- const pool = await centrifuge.pools()
44
- } catch (error) {
45
- console.error(error)
46
- }
47
- ```
48
-
49
- ```js
50
- const subscription = centrifuge.pools().subscribe(
51
- (pool) => console.log(pool),
52
- (error) => console.error(error)
53
- )
54
- subscription.unsubscribe()
52
+ const centrifuge = new Centrifuge({
53
+ environment: 'mainnet' | 'testnet', // optional, defaults to 'mainnet'
54
+ rpcUrls?: { [chainId: number]: string }, // optional RPC endpoints
55
+ indexerUrl?: string, // optional indexer API URL
56
+ ipfsUrl?: string // optional IPFS gateway, default: https://centrifuge.mypinata.cloud
57
+ })
55
58
  ```
56
59
 
57
- The returned results are either immutable values, or entities that can be further queried.
58
-
59
- ## Transactions
60
-
61
- To perform transactions, you need to set a signer on the `centrifuge` instance.
60
+ ### Queries
62
61
 
63
- ```js
64
- centrifuge.setSigner(signer)
65
- ```
62
+ Queries return Observables (rxjs), which can be:
66
63
 
67
- `signer` can be either a [EIP1193](https://eips.ethereum.org/EIPS/eip-1193)-compatible provider or a Viem [LocalAccount](https://viem.sh/docs/accounts/local).
64
+ - awaited (for one value), or
65
+ - subscribed to (to receive updates when on-chain data changes)
68
66
 
69
- With this you can call transaction methods. Similar to queries they can be awaited to get their final result, or subscribed to get get status updates.
70
-
71
- ```js
72
- const pool = await centrifuge.pool('1')
73
- try {
74
- const status = await pool.closeEpoch()
75
- console.log(status)
76
- } catch (error) {
77
- console.error(error)
78
- }
79
- ```
67
+ ```typescript
68
+ const pools = await centrifuge.pools()
80
69
 
81
- ```js
82
- const pool = await centrifuge.pool('1')
83
- const subscription = pool.closeEpoch().subscribe(
84
- (status) => console.log(pool),
85
- (error) => console.error(error),
86
- () => console.log('complete')
70
+ // Or subscribe
71
+ const subscription = centrifuge.pools().subscribe(
72
+ (pools) => console.log(pools),
73
+ (error) => console.error(error)
87
74
  )
88
- ```
89
75
 
90
- ## Investments
91
-
92
- Investments for a pool are done via [ERC-7540 Tokenized Vaults](https://eips.ethereum.org/EIPS/eip-7540). Vaults can be deployed for a share class on any supported network, for any supported currency
93
-
94
- Retrieve a vault by querying it from the pool:
95
-
96
- ```js
97
- const pool = await centrifuge.pool('1')
98
- const vault = await pool.vault(1, '0xabc...', '0xdef...') // Chain ID, share class ID, investment currency address
76
+ // Later, to stop updates:
77
+ subscription.unsubscribe()
99
78
  ```
100
79
 
101
- Query the state of an investment on the vault for an investor:
102
-
103
- ```js
104
- const investment = await vault.investment('0x123...')
105
- // Will return an object containing:
106
- // isAllowedToInvest - Whether an investor is allowed to invest in the share class
107
- // investmentCurrency - The ERC20 token that is used to invest in the vault
108
- // investmentCurrencyBalance - The balance of the investor of the investment currency
109
- // investmentCurrencyAllowance - The allowance of the vault
110
- // shareCurrency - The ERC20 token that is issued to investors to account for their share in the share class
111
- // shareBalance - The number of shares the investor has in the share class
112
- // claimableInvestShares - The number of shares an investor can claim after their invest order has been processed (partially or not)
113
- // claimableInvestCurrencyEquivalent - The equivalent value of the claimable shares denominated in the invest currency
114
- // claimableRedeemCurrency - The amout of money an investor can claim after their redeem order has been processed (partially or not)
115
- // claimableRedeemSharesEquivalent - The amount of shares that have been redeemed for which the investor can claim money
116
- // pendingInvestCurrency - The amount of money that the investor wants to invest in the share class that has not been processed yet
117
- // pendingRedeemShares - The amount of shares that the investor wants to redeem from the share class that has not been processed yet
118
- // claimableCancelInvestCurrency - The amount of money an investor can claim after an invest order cancellation has been processed
119
- // claimableCancelRedeemShares - The amount of shares an investor can claim after a redeem order cancellation has been processed
120
- // hasPendingCancelInvestRequest - Whether the investor has an invest order that is in the process of being cancelled
121
- // hasPendingCancelRedeemRequest - Whether the investor has a redeem order that is in the process of being cancelled
122
- ```
80
+ ### Transactions
123
81
 
124
- Invest in a vault:
82
+ - Before calling transaction methods, set a signer on the centrifuge instance.
83
+ - The signer can be:
84
+ - An EIP-1193-compatible provider
85
+ - A Viem LocalAccount
86
+ - Transactions, like queries, support either awaiting for completion or subscribing for status updates.
125
87
 
126
- ```js
127
- const result = await vault.increaseInvestOrder(1000)
88
+ ```typescript
89
+ centrifuge.setSigner(signer)
90
+ const poolId = PoolId.from(1, 1)
91
+ const pool = await centrifuge.pool(poolId)
92
+ const tx = await pool.updatePoolManagers([
93
+ {
94
+ address: '0xAddress',
95
+ canManage: true,
96
+ },
97
+ ])
98
+ console.log(tx.hash)
99
+
100
+ // or, subscribe to transaction lifecycle:
101
+ const sub = pool.pool
102
+ .updatePoolManagers([
103
+ {
104
+ address: '0xAddress',
105
+ canManage: true,
106
+ },
107
+ ])
108
+ .subscribe(
109
+ (status) => console.log(status),
110
+ (error) => console.error(error),
111
+ () => console.log('Done')
112
+ )
113
+ ```
114
+
115
+ ### Investments
116
+
117
+ The SDK supports [ERC-7540](https://eips.ethereum.org/EIPS/eip-7540) tokenized vaults. Vaults are created per share class, chain, and currency.
118
+
119
+ ```typescript
120
+ const pool = await centrifuge.pool(poolId)
121
+ const scId = ShareClassId.from(poolId, 1)
122
+ const assetId = AssetId.from(centId, 1)
123
+ // Get a vault
124
+ const vault = await pool.vault(11155111, scId, assetId)
125
+ ```
126
+
127
+ #### Vault Types
128
+
129
+ Vaults can behave differently depending on how the pool is configured:
130
+
131
+ - Synchronous deposit vaults
132
+ These vaults follow a hybrid model using both ERC-4626 and ERC-7540. Deposits are executed instantly using ERC-4626 behavior, allowing users to receive shares immediately. However, redemptions are handled asynchronously through ERC-7540, using the Hub to queue and manage the withdrawal requests.
133
+
134
+ - Asynchronous vaults
135
+ Asynchronous vaults are fully request-based and follow the ERC-7540 standard. They allow both deposit and redemption actions to be handled through an asynchronous workflow, using the Centrifuge Hub to manage requests.
136
+
137
+ You can query an individual investor’s state:
138
+
139
+ ```typescript
140
+ const inv = await vault.investment('0xInvestorAddress')
141
+
142
+ // Example returned fields include:
143
+ //   isAllowedToInvest
144
+ //   investmentCurrency, investmentCurrencyBalance, investmentCurrencyAllowance
145
+ //   shareCurrency, shareBalance
146
+ //   claimableInvestShares, claimableInvestCurrencyEquivalent
147
+ //   claimableRedeemCurrency, claimableRedeemSharesEquivalent
148
+ //   pendingInvestCurrency, pendingRedeemShares
149
+ //   hasPendingCancelInvestRequest, hasPendingCancelRedeemRequest
150
+ ```
151
+
152
+ To invest:
153
+
154
+ ```typescript
155
+ const { investmentCurrency } = await vault.details()
156
+ const amount = Balance.fromFloat(1000, investmentCurrency.decimals)
157
+ const tx = await vault.increaseInvestOrder(amount)
128
158
  console.log(result.hash)
129
159
  ```
130
160
 
131
- Once an order has been processed, `claimableInvestShares` will positive and shares can be claimed with:
161
+ Once processed, any claimable shares or currencies can be claimed:
132
162
 
133
- ```js
134
- const result = await vault.claim()
163
+ ```typescript
164
+ const claimResult = await vault.claim()
135
165
  ```
136
166
 
137
- ## Reports
167
+ ### Reports
138
168
 
139
- Reports are generated from data from the Centrifuge API and are combined with pool metadata to provide a comprehensive view of the pool's financials.
169
+ You can generate financial reports for a pool based on on-chain + API data.
140
170
 
141
- Available reports are:
171
+ Available report types:
142
172
 
143
- - `balanceSheet`
144
- - `profitAndLoss`
145
- - `cashflow`
146
-
147
- ```ts
148
- const pool = await centrifuge.pool('<pool-id>')
149
- const balanceSheetReport = await pool.reports.balanceSheet()
150
- ```
173
+ - token price
151
174
 
152
- ### Report Filtering
175
+ Filtering is supported:
153
176
 
154
- Reports can be filtered using the `ReportFilter` type.
177
+ ```typescript
178
+ type ReportFilter = {
179
+ from?: string // e.g. '2024-01-01'
180
+ to?: string // e.g. '2024-01-31'
181
+ groupBy?: 'day' | 'month' | 'quarter' | 'year'
182
+ }
155
183
 
156
- ```ts
157
- type GroupBy = 'day' | 'month' | 'quarter' | 'year'
184
+ const fromNum = toUTCEpoch(filters.from, unit)
185
+ const toNum = toUTCEpoch(filters.to, unit)
158
186
 
159
- const balanceSheetReport = await pool.reports.balanceSheet({
160
- from: '2024-01-01',
161
- to: '2024-01-31',
162
- groupBy: 'month',
187
+ const report = await pool.reports.sharePrices({
188
+ from: fromNum,
189
+ to: toNum,
190
+ groupBy: 'day',
163
191
  })
164
192
  ```
165
193
 
166
- ## Developer Docs
194
+ ### Developer Guide
167
195
 
168
- ### Dev server
196
+ #### Development Mode
169
197
 
170
198
  ```bash
171
199
  yarn dev
172
200
  ```
173
201
 
174
- ### Build
202
+ #### Building
175
203
 
176
204
  ```bash
177
205
  yarn build
178
206
  ```
179
207
 
180
- ### Test
208
+ #### Testing
181
209
 
182
210
  ```bash
183
- yarn test
184
- yarn test:single <path-to-file>
185
- yarn test:simple:single <path-to-file> # without setup file, faster and without tenderly setup
211
+ yarn test # full test suite
212
+ yarn test:single <file> # test specific file
213
+ yarn test:simple:single <file>
214
+ # (runs faster excluding setup files)
186
215
  ```
187
216
 
188
- ## User Docs
217
+ ### Contributing
218
+
219
+ #### Docs
220
+
221
+ Detailed user & developer documentation is maintained in the [documentation repository](https://github.com/centrifuge/documentation/tree/main/docs/developer/centrifuge-sdk).
222
+
223
+ #### PR Naming Convention & Versioning
189
224
 
190
- User docs are written and maintained in the [sdk-docs](https://github.com/centrifuge/sdk-docs) repository.
225
+ PR titles & commits should follow Conventional Commits style.
191
226
 
192
- ### PR Naming Convention
227
+ Use semantic versioning: tags/releases should be one of major, minor, patch.
193
228
 
194
- PR naming should follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification.
229
+ If no release is needed, label as no-release.
195
230
 
196
- ### Semantic Versioning
231
+ ### License
197
232
 
198
- PRs should be marked with the appropriate type: `major`, `minor`, `patch`, `no-release`.
233
+ This project is licensed under LGPL-3.0.
234
+ See the [LICENSE](./LICENSE) file for details.
@@ -1 +1 @@
1
- {"version":3,"file":"Centrifuge.d.ts","sourceRoot":"","sources":["../src/Centrifuge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Centrifuge.d.ts","sourceRoot":"","sources":["../src/Centrifuge.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { combineLatest, concatWith, defaultIfEmpty, defer, filter, first, identity, isObservable, map, mergeMap, of, Subject, switchMap, timer, using, } from 'rxjs';
1
+ import { combineLatest, concatWith, defaultIfEmpty, defer, filter, first, identity, isObservable, map, mergeMap, of, Subject, switchMap, timer, share, Observable, } from 'rxjs';
2
2
  import { fromFetch } from 'rxjs/fetch';
3
3
  import { createPublicClient, createWalletClient, custom, encodeFunctionData, fallback, getContract, http, keccak256, parseAbi, toHex, } from 'viem';
4
4
  import { ABI } from './abi/index.js';
@@ -537,17 +537,14 @@ export class Centrifuge {
537
537
  * @internal
538
538
  */
539
539
  _events(chainId) {
540
- return this._query(['events', chainId], () => using(() => {
541
- const subject = new Subject();
542
- const unwatch = this.getClient(chainId).watchEvent({
543
- onLogs: (logs) => subject.next(logs),
544
- });
545
- return {
546
- unsubscribe: unwatch,
547
- subject,
548
- };
549
- }, ({ subject }) => subject), { cache: false } // Only emit new events
550
- ).pipe(filter((logs) => logs.length > 0));
540
+ return this._query(['events', chainId], () => {
541
+ return new Observable((subscriber) => {
542
+ const unwatch = this.getClient(chainId).watchEvent({
543
+ onLogs: (logs) => subscriber.next(logs),
544
+ });
545
+ return unwatch;
546
+ }).pipe(filter((logs) => logs.length > 0), share());
547
+ }, { cache: true });
551
548
  }
552
549
  /**
553
550
  * Returns an observable of events on a given chain, filtered by name(s) and address(es).
@@ -1 +1 @@
1
- {"version":3,"file":"Centrifuge.js","sourceRoot":"","sources":["../src/Centrifuge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Centrifuge.js","sourceRoot":"","sources":["../src/Centrifuge.ts"],"names":[],"mappings":"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"}