@centrifuge/sdk 0.0.0-alpha.17 → 0.0.0-alpha.19

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.
Files changed (61) hide show
  1. package/README.md +7 -0
  2. package/dist/Centrifuge.d.ts +31 -8
  3. package/dist/Centrifuge.d.ts.map +1 -1
  4. package/dist/Centrifuge.js +170 -50
  5. package/dist/Centrifuge.js.map +1 -1
  6. package/dist/Centrifuge.test.js +88 -10
  7. package/dist/Centrifuge.test.js.map +1 -1
  8. package/dist/abi/Accounting.abi.d.ts +1 -1
  9. package/dist/abi/Accounting.abi.d.ts.map +1 -1
  10. package/dist/abi/Accounting.abi.js +1 -0
  11. package/dist/abi/Accounting.abi.js.map +1 -1
  12. package/dist/abi/BalanceSheet.abi.d.ts +3 -0
  13. package/dist/abi/BalanceSheet.abi.d.ts.map +1 -0
  14. package/dist/abi/BalanceSheet.abi.js +55 -0
  15. package/dist/abi/BalanceSheet.abi.js.map +1 -0
  16. package/dist/abi/index.d.ts +27 -0
  17. package/dist/abi/index.d.ts.map +1 -1
  18. package/dist/abi/index.js +2 -0
  19. package/dist/abi/index.js.map +1 -1
  20. package/dist/entities/Investor.d.ts +1 -1
  21. package/dist/entities/Investor.d.ts.map +1 -1
  22. package/dist/entities/Investor.js.map +1 -1
  23. package/dist/entities/Pool.d.ts +23 -3
  24. package/dist/entities/Pool.d.ts.map +1 -1
  25. package/dist/entities/Pool.js +73 -3
  26. package/dist/entities/Pool.js.map +1 -1
  27. package/dist/entities/Pool.test.js +5 -3
  28. package/dist/entities/Pool.test.js.map +1 -1
  29. package/dist/entities/PoolNetwork.d.ts +31 -7
  30. package/dist/entities/PoolNetwork.d.ts.map +1 -1
  31. package/dist/entities/PoolNetwork.js +176 -39
  32. package/dist/entities/PoolNetwork.js.map +1 -1
  33. package/dist/entities/PoolNetwork.test.js +32 -35
  34. package/dist/entities/PoolNetwork.test.js.map +1 -1
  35. package/dist/entities/ShareClass.d.ts +48 -8
  36. package/dist/entities/ShareClass.d.ts.map +1 -1
  37. package/dist/entities/ShareClass.js +188 -16
  38. package/dist/entities/ShareClass.js.map +1 -1
  39. package/dist/entities/ShareClass.test.js +42 -2
  40. package/dist/entities/ShareClass.test.js.map +1 -1
  41. package/dist/entities/Vault.d.ts +2 -2
  42. package/dist/entities/Vault.d.ts.map +1 -1
  43. package/dist/entities/Vault.js +1 -1
  44. package/dist/entities/Vault.js.map +1 -1
  45. package/dist/tests/setup.js +2 -2
  46. package/dist/tests/setup.js.map +1 -1
  47. package/dist/types/index.d.ts +3 -3
  48. package/dist/types/index.d.ts.map +1 -1
  49. package/dist/types/poolInput.d.ts +4 -3
  50. package/dist/types/poolInput.d.ts.map +1 -1
  51. package/dist/types/poolMetadata.d.ts +8 -0
  52. package/dist/types/poolMetadata.d.ts.map +1 -1
  53. package/dist/utils/index.d.ts +2 -1
  54. package/dist/utils/index.d.ts.map +1 -1
  55. package/dist/utils/index.js +20 -0
  56. package/dist/utils/index.js.map +1 -1
  57. package/dist/utils/types.d.ts +7 -1
  58. package/dist/utils/types.d.ts.map +1 -1
  59. package/dist/utils/types.js +6 -0
  60. package/dist/utils/types.js.map +1 -1
  61. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { catchError, combineLatest, defer, map, of, switchMap, timeout } from 'rxjs';
2
- import { fromHex, toHex } from 'viem';
2
+ import { encodeFunctionData, fromHex, toHex } from 'viem';
3
3
  import { ABI } from '../abi/index.js';
4
4
  import { NATIONAL_CURRENCY_METADATA } from '../utils/currencies.js';
5
5
  import { repeatOnEvents } from '../utils/rx.js';
@@ -16,7 +16,7 @@ export class Pool extends Entity {
16
16
  constructor(_root, id, chainId) {
17
17
  super(_root, ['pool', String(id)]);
18
18
  this.chainId = chainId;
19
- this.id = new PoolId(id);
19
+ this.id = id instanceof PoolId ? id : new PoolId(id);
20
20
  }
21
21
  get reports() {
22
22
  return new Reports(this._root, this);
@@ -80,6 +80,23 @@ export class Pool extends Entity {
80
80
  }));
81
81
  });
82
82
  }
83
+ /**
84
+ * Check if an address is a manager of the pool.
85
+ * @param address - The address to check
86
+ * @returns True if the address is a manager, false otherwise
87
+ */
88
+ isManager(address) {
89
+ return this._query(['isManager', address], () => {
90
+ return this._root._protocolAddresses(this.chainId).pipe(switchMap(({ hubRegistry }) => {
91
+ return this._root.getClient(this.chainId).readContract({
92
+ address: hubRegistry,
93
+ abi: ABI.HubRegistry,
94
+ functionName: 'manager',
95
+ args: [this.id.raw, address],
96
+ });
97
+ }));
98
+ });
99
+ }
83
100
  /**
84
101
  * Get all networks where a pool can potentially be deployed.
85
102
  */
@@ -164,7 +181,60 @@ export class Pool extends Entity {
164
181
  args: [self.id.raw, toHex(cid)],
165
182
  value: 0n,
166
183
  }));
167
- }, self.chainId);
184
+ }, this.chainId);
185
+ }
186
+ /**
187
+ * Update pool managers.
188
+ */
189
+ updatePoolManagers(updates) {
190
+ const self = this;
191
+ return this._transactSequence(async function* ({ walletClient, publicClient }) {
192
+ const { hub } = await self._root._protocolAddresses(self.chainId);
193
+ const batch = updates.map(({ address, canManage }) => encodeFunctionData({
194
+ abi: ABI.Hub,
195
+ functionName: 'updateHubManager',
196
+ args: [self.id.raw, address, canManage],
197
+ }));
198
+ yield* doTransaction('Update manager', publicClient, () => {
199
+ if (batch.length === 1) {
200
+ return walletClient.sendTransaction({
201
+ data: batch[0],
202
+ to: hub,
203
+ });
204
+ }
205
+ return walletClient.writeContract({
206
+ address: hub,
207
+ abi: ABI.Hub,
208
+ functionName: 'multicall',
209
+ args: [batch],
210
+ });
211
+ });
212
+ }, this.chainId);
213
+ }
214
+ createAccounts(accounts) {
215
+ const self = this;
216
+ return this._transactSequence(async function* ({ walletClient, publicClient }) {
217
+ const { hub } = await self._root._protocolAddresses(self.chainId);
218
+ const txBatch = accounts.map(({ accountId, isDebitNormal }) => encodeFunctionData({
219
+ abi: ABI.Hub,
220
+ functionName: 'createAccount',
221
+ args: [self.id.raw, accountId, isDebitNormal],
222
+ }));
223
+ yield* doTransaction('Create accounts', publicClient, () => {
224
+ if (txBatch.length === 1) {
225
+ return walletClient.sendTransaction({
226
+ data: txBatch[0],
227
+ to: hub,
228
+ });
229
+ }
230
+ return walletClient.writeContract({
231
+ address: hub,
232
+ abi: ABI.Hub,
233
+ functionName: 'multicall',
234
+ args: [txBatch],
235
+ });
236
+ });
237
+ }, this.chainId);
168
238
  }
169
239
  /**
170
240
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"Pool.js","sourceRoot":"","sources":["../../src/entities/Pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Pool.js","sourceRoot":"","sources":["../../src/entities/Pool.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,10 @@ describe('Pool', () => {
18
18
  const { centrifuge } = context;
19
19
  pool = new Pool(centrifuge, poolId.raw, chainId);
20
20
  });
21
+ it('gets whether an address is manager', async () => {
22
+ const isManager = await pool.isManager(poolManager);
23
+ expect(isManager).to.be.true;
24
+ });
21
25
  it('gets active networks of a pool', async () => {
22
26
  const networks = await pool.activeNetworks();
23
27
  expect(networks).to.have.length(1);
@@ -36,7 +40,7 @@ describe('Pool', () => {
36
40
  it('should update the pool metadata', async () => {
37
41
  const fakeHash = 'QmPdzJkZ4PVJ21HfBXMJbGopSpUP9C9fqu3A1f9ZVhtRY2';
38
42
  const centrifugeWithPin = new Centrifuge({
39
- environment: 'demo',
43
+ environment: 'dev',
40
44
  pinJson: async (data) => {
41
45
  expect(data).to.deep.equal(mockPoolMetadata);
42
46
  return fakeHash;
@@ -58,7 +62,6 @@ describe('Pool', () => {
58
62
  expect(detailsAfter.metadata?.pool.asset.class).to.equal('Private credit');
59
63
  });
60
64
  it('should return the currency of the pool', async () => {
61
- const pool = await context.centrifuge.pool(poolId);
62
65
  const currency = await pool.currency();
63
66
  expect(currency).to.have.property('id');
64
67
  expect(currency).to.have.property('name');
@@ -66,7 +69,6 @@ describe('Pool', () => {
66
69
  expect(currency).to.have.property('decimals');
67
70
  });
68
71
  it('should return a pool with details', async () => {
69
- const pool = await context.centrifuge.pool(poolId);
70
72
  const details = await pool.details();
71
73
  expect(details.id.raw).to.equal(poolId.raw);
72
74
  expect(details.metadata).to.not.be.undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Pool.test.js","sourceRoot":"","sources":["../../src/entities/Pool.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Pool.test.js","sourceRoot":"","sources":["../../src/entities/Pool.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
- import { ShareClassId } from '../utils/types.js';
1
+ import { HexString } from '../types/index.js';
2
+ import { AssetId, ShareClassId } from '../utils/types.js';
2
3
  import { Entity } from './Entity.js';
3
4
  import type { Pool } from './Pool.js';
5
+ import { ShareClass } from './ShareClass.js';
4
6
  import { Vault } from './Vault.js';
5
7
  /**
6
8
  * Query and interact with a pool on a specific network.
@@ -8,6 +10,20 @@ import { Vault } from './Vault.js';
8
10
  export declare class PoolNetwork extends Entity {
9
11
  pool: Pool;
10
12
  chainId: number;
13
+ /**
14
+ * Query the details of the pool on a network.
15
+ * @returns The details, including whether the pool is active, whether any of the share classes have been deployed,
16
+ * and any deployed vaults.
17
+ */
18
+ details(): import("../index.js").Query<{
19
+ isActive: boolean;
20
+ activeShareClasses: {
21
+ shareClass: ShareClass;
22
+ id: ShareClassId;
23
+ shareToken: `0x${string}`;
24
+ vaults: Vault[];
25
+ }[];
26
+ }>;
11
27
  /**
12
28
  * Get the details of the share token.
13
29
  * @param scId - The share class ID
@@ -19,21 +35,29 @@ export declare class PoolNetwork extends Entity {
19
35
  * @param scId - The share class ID
20
36
  */
21
37
  vaults(scId: ShareClassId): import("../index.js").Query<Vault[]>;
22
- /**
23
- * Get all Vaults for all share classes in the pool.
24
- * @returns An object of share class ID to Vault.
25
- */
26
- vaultsByShareClass(): import("../index.js").Query<Record<string, Vault>>;
27
38
  /**
28
39
  * Get a specific Vault for a given share class and investment currency.
29
40
  * @param scId - The share class ID
30
41
  * @param asset - The investment currency address
31
42
  */
32
- vault(scId: ShareClassId, asset: string): import("../index.js").Query<Vault>;
43
+ vault(scId: ShareClassId, asset: HexString): import("../index.js").Query<Vault>;
33
44
  /**
34
45
  * Get whether the pool is active on this network. It's a prerequisite for deploying vaults,
35
46
  * and doesn't indicate whether any vaults have been deployed.
36
47
  */
37
48
  isActive(): import("../index.js").Query<boolean>;
49
+ /**
50
+ * Enable and deploy share classes/vaults.
51
+ * @param shareClasses - An array of share classes to enable
52
+ * @param vaults - An array of vaults to deploy
53
+ */
54
+ deploy(shareClasses?: {
55
+ id: ShareClassId;
56
+ hook: HexString;
57
+ }[], vaults?: {
58
+ shareClassId: ShareClassId;
59
+ assetId: AssetId;
60
+ kind: 'async' | 'syncDeposit';
61
+ }[]): import("../index.js").Transaction;
38
62
  }
39
63
  //# sourceMappingURL=PoolNetwork.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PoolNetwork.d.ts","sourceRoot":"","sources":["../../src/entities/PoolNetwork.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAErC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC;;GAEG;AACH,qBAAa,WAAY,SAAQ,MAAM;IAI5B,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,MAAM;IAiDxB;;;OAGG;IACH,aAAa,CAAC,IAAI,EAAE,YAAY;IAMhC;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,YAAY;IAyCzB;;;OAGG;IACH,kBAAkB;IAYlB;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM;IAavC;;;OAGG;IACH,QAAQ;CA+GT"}
1
+ {"version":3,"file":"PoolNetwork.d.ts","sourceRoot":"","sources":["../../src/entities/PoolNetwork.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAI7C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC;;GAEG;AACH,qBAAa,WAAY,SAAQ,MAAM;IAI5B,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,MAAM;IAKxB;;;;OAIG;IACH,OAAO;;;;;;;;;IA8BP;;;OAGG;IACH,aAAa,CAAC,IAAI,EAAE,YAAY;IAMhC;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,YAAY;IAwCzB;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS;IAa1C;;;OAGG;IACH,QAAQ;IAiCR;;;;OAIG;IACH,MAAM,CACJ,YAAY,GAAE;QAAE,EAAE,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE,EAAO,EAC1D,MAAM,GAAE;QAAE,YAAY,EAAE,YAAY,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,GAAG,aAAa,CAAA;KAAE,EAAO;CA+LjG"}
@@ -1,8 +1,10 @@
1
1
  import { combineLatest, defer, map, switchMap } from 'rxjs';
2
- import { getContract } from 'viem';
2
+ import { encodeFunctionData, getContract } from 'viem';
3
3
  import { ABI } from '../abi/index.js';
4
4
  import { NULL_ADDRESS } from '../constants.js';
5
+ import { addressToBytes32 } from '../utils/index.js';
5
6
  import { repeatOnEvents } from '../utils/rx.js';
7
+ import { doTransaction } from '../utils/transaction.js';
6
8
  import { Entity } from './Entity.js';
7
9
  import { ShareClass } from './ShareClass.js';
8
10
  import { Vault } from './Vault.js';
@@ -19,34 +21,32 @@ export class PoolNetwork extends Entity {
19
21
  this.chainId = chainId;
20
22
  }
21
23
  /**
22
- * Estimates the gas cost needed to bridge the message from the Vaults side to the Pool side,
23
- * that results from a transaction
24
- * @internal
25
- */
26
- _estimate() {
27
- return this._query(null, () => this._root._estimate(this.chainId, { chainId: this.pool.chainId }));
28
- }
29
- /**
30
- * Get the contract address of the share token.
31
- * @internal
24
+ * Query the details of the pool on a network.
25
+ * @returns The details, including whether the pool is active, whether any of the share classes have been deployed,
26
+ * and any deployed vaults.
32
27
  */
33
- _share(scId) {
34
- return this._query(['share'], () => this._root._protocolAddresses(this.chainId).pipe(switchMap(({ spoke }) => defer(async () => {
35
- const address = await this._root.getClient(this.chainId).readContract({
36
- address: spoke,
37
- abi: ABI.Spoke,
38
- functionName: 'shareToken',
39
- args: [this.pool.id.raw, scId.raw],
40
- });
41
- return address.toLowerCase();
42
- }).pipe(repeatOnEvents(this._root, {
43
- address: spoke,
44
- abi: ABI.Spoke,
45
- eventName: 'AddShareClass',
46
- filter: (events) => {
47
- return events.some((event) => event.args.poolId === this.pool.id.raw && event.args.scId === scId.raw);
48
- },
49
- }, this.chainId)))));
28
+ details() {
29
+ return this._query(null, () => this.pool.shareClasses().pipe(switchMap((shareClasses) => {
30
+ return combineLatest([
31
+ this.isActive(),
32
+ this._vaultsByShareClass(),
33
+ ...shareClasses.map((sc) => this._share(sc.id, false)),
34
+ ]).pipe(map(([isActive, vaultsByShareClass, ...shareTokens]) => {
35
+ return {
36
+ isActive,
37
+ activeShareClasses: shareClasses
38
+ .filter((_, i) => shareTokens[i] !== NULL_ADDRESS)
39
+ .map((sc, i) => {
40
+ return {
41
+ shareClass: sc,
42
+ id: sc.id,
43
+ shareToken: shareTokens[i],
44
+ vaults: vaultsByShareClass[sc.id.raw] ?? [],
45
+ };
46
+ }),
47
+ };
48
+ }));
49
+ })));
50
50
  }
51
51
  /**
52
52
  * Get the details of the share token.
@@ -72,8 +72,7 @@ export class PoolNetwork extends Entity {
72
72
  const results = await Promise.allSettled(currencies.map(async (curAddr) => {
73
73
  const vaultAddr = await contract.read.getVault([this.pool.id.raw, scId.raw, curAddr]);
74
74
  if (vaultAddr === NULL_ADDRESS) {
75
- console.warn(`Vault not found for Pool: ${this.pool.id}, Share Class: ${scId}, Currency: ${curAddr}`);
76
- throw new Error('Vault not found');
75
+ throw new Error();
77
76
  }
78
77
  return new Vault(this._root, this, new ShareClass(this._root, this.pool, scId.raw), curAddr, vaultAddr);
79
78
  }));
@@ -87,15 +86,6 @@ export class PoolNetwork extends Entity {
87
86
  },
88
87
  }, this.chainId)))));
89
88
  }
90
- /**
91
- * Get all Vaults for all share classes in the pool.
92
- * @returns An object of share class ID to Vault.
93
- */
94
- vaultsByShareClass() {
95
- return this._query(null, () => this.pool._shareClassIds().pipe(switchMap((scIds) => {
96
- return combineLatest(scIds.map((scId) => this.vaults(scId))).pipe(map((vaults) => Object.fromEntries(vaults.flat().map((vault, index) => [scIds[index], vault]))));
97
- })));
98
- }
99
89
  /**
100
90
  * Get a specific Vault for a given share class and investment currency.
101
91
  * @param scId - The share class ID
@@ -133,5 +123,152 @@ export class PoolNetwork extends Entity {
133
123
  }, this.chainId));
134
124
  })));
135
125
  }
126
+ /**
127
+ * Enable and deploy share classes/vaults.
128
+ * @param shareClasses - An array of share classes to enable
129
+ * @param vaults - An array of vaults to deploy
130
+ */
131
+ deploy(shareClasses = [], vaults = []) {
132
+ const self = this;
133
+ return this._transactSequence(async function* ({ walletClient, publicClient }) {
134
+ const [{ hub }, { balanceSheet, syncDepositVaultFactory, asyncVaultFactory, syncManager, asyncRequestManager }, id, estimate, details,] = await Promise.all([
135
+ self._root._protocolAddresses(self.pool.chainId),
136
+ self._root._protocolAddresses(self.chainId),
137
+ self._root.id(self.chainId),
138
+ self._root._estimate(self.pool.chainId, { chainId: self.chainId }),
139
+ self.details(),
140
+ ]);
141
+ const balanceSheetContract = getContract({
142
+ client: publicClient,
143
+ address: balanceSheet,
144
+ abi: ABI.BalanceSheet,
145
+ });
146
+ const [isAsyncManagerSet, isSyncManagerSet] = await Promise.all([
147
+ balanceSheetContract.read.manager([self.pool.id.raw, asyncRequestManager]),
148
+ balanceSheetContract.read.manager([self.pool.id.raw, syncManager]),
149
+ ]);
150
+ const batch = [];
151
+ // TODO: Set async request manager if not already set.
152
+ // Can't currently query whether it is set on the Spoke contract. Needs a view method.
153
+ if (!isAsyncManagerSet && vaults.some((v) => v.kind === 'async')) {
154
+ batch.push(encodeFunctionData({
155
+ abi: ABI.Hub,
156
+ functionName: 'updateBalanceSheetManager',
157
+ args: [id, self.pool.id.raw, addressToBytes32(asyncRequestManager), true],
158
+ }));
159
+ }
160
+ if (!isSyncManagerSet && vaults.some((v) => v.kind === 'syncDeposit')) {
161
+ batch.push(encodeFunctionData({
162
+ abi: ABI.Hub,
163
+ functionName: 'updateBalanceSheetManager',
164
+ args: [id, self.pool.id.raw, addressToBytes32(syncManager), true],
165
+ }));
166
+ }
167
+ if (!details.isActive) {
168
+ batch.push(encodeFunctionData({
169
+ abi: ABI.Hub,
170
+ functionName: 'notifyPool',
171
+ args: [self.pool.id.raw, id],
172
+ }));
173
+ }
174
+ const enabledShareClasses = new Set(details.activeShareClasses.map((sc) => sc.id.raw));
175
+ for (const sc of shareClasses) {
176
+ if (details.activeShareClasses.some((activeSc) => activeSc.id.equals(sc.id.raw))) {
177
+ console.warn(`Share class "${sc.id}" is already active in pool "${self.pool.id}"`);
178
+ continue;
179
+ }
180
+ enabledShareClasses.add(sc.id.raw);
181
+ batch.push(encodeFunctionData({
182
+ abi: ABI.Hub,
183
+ functionName: 'notifyShareClass',
184
+ args: [self.pool.id.raw, sc.id.raw, id, addressToBytes32(sc.hook)],
185
+ }));
186
+ }
187
+ for (const vault of vaults) {
188
+ if (!enabledShareClasses.has(vault.shareClassId.raw)) {
189
+ throw new Error(`Share class "${vault.shareClassId.raw}" is not enabled in pool "${self.pool.id.raw}"`);
190
+ }
191
+ batch.push(encodeFunctionData({
192
+ abi: ABI.Hub,
193
+ functionName: 'updateVault',
194
+ args: [
195
+ self.pool.id.raw,
196
+ vault.shareClassId.raw,
197
+ vault.assetId.raw,
198
+ addressToBytes32(vault.kind === 'syncDeposit' ? syncDepositVaultFactory : asyncVaultFactory),
199
+ 0, // VaultUpdateKind.DeployAndLink
200
+ 1000000n, // gas limit
201
+ ],
202
+ }));
203
+ }
204
+ if (batch.length === 0) {
205
+ throw new Error('No share classes / vaults to deploy');
206
+ }
207
+ yield* doTransaction('Deploy share classes and vaults', publicClient, () => {
208
+ if (batch.length === 1) {
209
+ return walletClient.sendTransaction({
210
+ data: batch[0],
211
+ to: hub,
212
+ value: estimate,
213
+ });
214
+ }
215
+ return walletClient.writeContract({
216
+ address: hub,
217
+ abi: ABI.Hub,
218
+ functionName: 'multicall',
219
+ args: [batch],
220
+ value: estimate * BigInt(batch.length),
221
+ });
222
+ });
223
+ }, this.pool.chainId);
224
+ }
225
+ /**
226
+ * Get the contract address of the share token.
227
+ * @internal
228
+ */
229
+ _share(scId, throwOnNullAddress = true) {
230
+ return this._query(['share', scId.toString()], () => this._root._protocolAddresses(this.chainId).pipe(switchMap(({ spoke }) => defer(async () => {
231
+ try {
232
+ const address = await this._root.getClient(this.chainId).readContract({
233
+ address: spoke,
234
+ abi: ABI.Spoke,
235
+ functionName: 'shareToken',
236
+ args: [this.pool.id.raw, scId.raw],
237
+ });
238
+ return address.toLowerCase();
239
+ }
240
+ catch {
241
+ if (throwOnNullAddress) {
242
+ throw new Error(`Share class ${scId} not found for pool ${this.pool.id} on chain ${this.chainId}`);
243
+ }
244
+ return NULL_ADDRESS;
245
+ }
246
+ }).pipe(repeatOnEvents(this._root, {
247
+ address: spoke,
248
+ abi: ABI.Spoke,
249
+ eventName: 'AddShareClass',
250
+ filter: (events) => {
251
+ return events.some((event) => event.args.poolId === this.pool.id.raw && event.args.scId === scId.raw);
252
+ },
253
+ }, this.chainId)))));
254
+ }
255
+ /**
256
+ * Get all Vaults for all share classes in the pool.
257
+ * @returns An object of share class ID to Vault.
258
+ * @internal
259
+ */
260
+ _vaultsByShareClass() {
261
+ return this._query(null, () => this.pool._shareClassIds().pipe(switchMap((scIds) => {
262
+ return combineLatest(scIds.map((scId) => this.vaults(scId))).pipe(map((vaultsShareClassArr) => Object.fromEntries(vaultsShareClassArr.map((vaults, index) => [scIds[index].raw, vaults]))));
263
+ })));
264
+ }
265
+ /**
266
+ * Estimates the gas cost needed to bridge the message from the Vaults side to the Pool side,
267
+ * that results from a transaction
268
+ * @internal
269
+ */
270
+ _estimate() {
271
+ return this._query(null, () => this._root._estimate(this.chainId, { chainId: this.pool.chainId }));
272
+ }
136
273
  }
137
274
  //# sourceMappingURL=PoolNetwork.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PoolNetwork.js","sourceRoot":"","sources":["../../src/entities/PoolNetwork.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PoolNetwork.js","sourceRoot":"","sources":["../../src/entities/PoolNetwork.ts"],"names":[],"mappings":"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"}