@centrifuge/sdk 0.0.0-alpha.61 → 0.0.0-alpha.63

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 (34) hide show
  1. package/dist/Centrifuge.d.ts.map +1 -1
  2. package/dist/Centrifuge.js +1 -1
  3. package/dist/Centrifuge.js.map +1 -1
  4. package/dist/abi/OnOffRampManager.abi.d.ts +3 -0
  5. package/dist/abi/OnOffRampManager.abi.d.ts.map +1 -0
  6. package/dist/abi/OnOffRampManager.abi.js +31 -0
  7. package/dist/abi/OnOffRampManager.abi.js.map +1 -0
  8. package/dist/abi/OnOffRampManagerFactory.abi.d.ts +3 -0
  9. package/dist/abi/OnOffRampManagerFactory.abi.d.ts.map +1 -0
  10. package/dist/abi/OnOffRampManagerFactory.abi.js +2 -0
  11. package/dist/abi/OnOffRampManagerFactory.abi.js.map +1 -0
  12. package/dist/abi/index.d.ts +248 -0
  13. package/dist/abi/index.d.ts.map +1 -1
  14. package/dist/abi/index.js +4 -0
  15. package/dist/abi/index.js.map +1 -1
  16. package/dist/entities/OnOffRampManager.d.ts +34 -0
  17. package/dist/entities/OnOffRampManager.d.ts.map +1 -0
  18. package/dist/entities/OnOffRampManager.js +189 -0
  19. package/dist/entities/OnOffRampManager.js.map +1 -0
  20. package/dist/entities/OnOffRampManager.test.d.ts +2 -0
  21. package/dist/entities/OnOffRampManager.test.d.ts.map +1 -0
  22. package/dist/entities/OnOffRampManager.test.js +170 -0
  23. package/dist/entities/OnOffRampManager.test.js.map +1 -0
  24. package/dist/entities/PoolNetwork.d.ts +3 -1
  25. package/dist/entities/PoolNetwork.d.ts.map +1 -1
  26. package/dist/entities/PoolNetwork.js +39 -4
  27. package/dist/entities/PoolNetwork.js.map +1 -1
  28. package/dist/entities/PoolNetwork.test.js +54 -0
  29. package/dist/entities/PoolNetwork.test.js.map +1 -1
  30. package/dist/index.d.ts +4 -0
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +4 -0
  33. package/dist/index.js.map +1 -1
  34. package/package.json +1 -1
@@ -0,0 +1,189 @@
1
+ import { combineLatest, map, switchMap } from 'rxjs';
2
+ import { encodeFunctionData, encodePacked, toHex } from 'viem';
3
+ import { ABI } from '../abi/index.js';
4
+ import { addressToBytes32 } from '../utils/index.js';
5
+ import { doTransaction, wrapTransaction } from '../utils/transaction.js';
6
+ import { AssetId } from '../utils/types.js';
7
+ import { Entity } from './Entity.js';
8
+ export class OnOffRampManager extends Entity {
9
+ network;
10
+ shareClass;
11
+ onrampAddress;
12
+ /** @internal */
13
+ constructor(_root, network, shareClass, onrampAddress) {
14
+ super(_root, ['onofframpmanager', shareClass.id.toString(), network.chainId]);
15
+ this.network = network;
16
+ this.shareClass = shareClass;
17
+ this.onrampAddress = onrampAddress;
18
+ this.onrampAddress = onrampAddress;
19
+ }
20
+ receivers() {
21
+ return this._query(null, () => this._root.id(this.network.chainId).pipe(switchMap((centrifugeId) => this._root._queryIndexer(`query ($scId: String!, $centrifugeId: String!) {
22
+ offRampAddresss(where: { centrifugeId: $centrifugeId, tokenId: $scId }) {
23
+ items {
24
+ assetAddress
25
+ receiverAddress
26
+ asset {
27
+ id
28
+ }
29
+ }
30
+ }
31
+ }`, {
32
+ scId: this.shareClass.id.toString(),
33
+ centrifugeId: centrifugeId.toString(),
34
+ }, (data) => data.offRampAddresss.items.map((item) => ({
35
+ assetAddress: item.assetAddress,
36
+ receiverAddress: item.receiverAddress,
37
+ assetId: new AssetId(item.asset.id),
38
+ }))))));
39
+ }
40
+ relayers() {
41
+ return this._query(null, () => this._root.id(this.network.chainId).pipe(switchMap((centrifugeId) => this._root._queryIndexer(`query ($scId: String!, $centrifugeId: String!) {
42
+ offrampRelayers(where: { centrifugeId: $centrifugeId, tokenId: $scId }) {
43
+ items {
44
+ address
45
+ isEnabled
46
+ }
47
+ }
48
+ }`, {
49
+ scId: this.shareClass.id.toString(),
50
+ centrifugeId: centrifugeId.toString(),
51
+ }, (data) => data.offrampRelayers.items.map((item) => item)))));
52
+ }
53
+ assets() {
54
+ return this._query(null, () => this._root.id(this.network.chainId).pipe(switchMap((centrifugeId) => this._root._queryIndexer(`query ($scId: String!, $centrifugeId: String!) {
55
+ onRampAssets(where: { centrifugeId: $centrifugeId, tokenId: $scId }) {
56
+ items {
57
+ assetAddress
58
+ asset {
59
+ id
60
+ }
61
+ }
62
+ }
63
+ }`, {
64
+ scId: this.shareClass.id.toString(),
65
+ centrifugeId: centrifugeId.toString(),
66
+ }, (data) => data.onRampAssets.items.map((item) => ({
67
+ assetAddress: item.assetAddress,
68
+ assetId: new AssetId(item.asset.id),
69
+ }))))));
70
+ }
71
+ balances() {
72
+ return this._query(null, () => this.assets().pipe(switchMap((onRampAssets) => {
73
+ return combineLatest(onRampAssets.map((item) => this._root.balance(item.assetAddress, this.onrampAddress, this.network.chainId)));
74
+ }), map((balances) => balances.filter((b) => b.balance.gt(0n)))));
75
+ }
76
+ setReceiver(assetId, receiver) {
77
+ const self = this;
78
+ return this._transact(async function* (ctx) {
79
+ const [id, { hub }] = await Promise.all([
80
+ self._root.id(self.network.chainId),
81
+ self._root._protocolAddresses(self.network.chainId),
82
+ ]);
83
+ yield* wrapTransaction('Set Receiver', ctx, {
84
+ contract: hub,
85
+ data: encodeFunctionData({
86
+ abi: ABI.Hub,
87
+ functionName: 'updateContract',
88
+ args: [
89
+ self.network.pool.id.raw,
90
+ self.shareClass.id.raw,
91
+ id,
92
+ addressToBytes32(self.onrampAddress),
93
+ encodePacked(['uint8', 'bytes32', 'uint128', 'bytes32', 'bool'], [
94
+ /* UpdateContractType.UpdateAddress */ 3,
95
+ toHex('offramp', { size: 32 }),
96
+ assetId.raw,
97
+ addressToBytes32(receiver),
98
+ true,
99
+ ]),
100
+ 0n,
101
+ ],
102
+ }),
103
+ });
104
+ }, this.network.chainId);
105
+ }
106
+ setRelayer(relayer) {
107
+ const self = this;
108
+ return this._transact(async function* (ctx) {
109
+ const [id, { hub }] = await Promise.all([
110
+ self._root.id(self.network.chainId),
111
+ self._root._protocolAddresses(self.network.chainId),
112
+ ]);
113
+ yield* wrapTransaction('Set Relayer', ctx, {
114
+ contract: hub,
115
+ data: encodeFunctionData({
116
+ abi: ABI.Hub,
117
+ functionName: 'updateContract',
118
+ args: [
119
+ self.network.pool.id.raw,
120
+ self.shareClass.id.raw,
121
+ id,
122
+ addressToBytes32(self.onrampAddress),
123
+ encodePacked(['uint8', 'bytes32', 'uint128', 'bytes32', 'bool'], [
124
+ /* UpdateContractType.UpdateAddress */ 3,
125
+ toHex('relayer', { size: 32 }),
126
+ 0n,
127
+ addressToBytes32(relayer),
128
+ true,
129
+ ]),
130
+ 0n,
131
+ ],
132
+ }),
133
+ });
134
+ }, this.network.chainId);
135
+ }
136
+ setAsset(assetId) {
137
+ const self = this;
138
+ return this._transact(async function* (ctx) {
139
+ const [id, { hub }] = await Promise.all([
140
+ self._root.id(self.network.chainId),
141
+ self._root._protocolAddresses(self.network.chainId),
142
+ ]);
143
+ yield* wrapTransaction('Set Relayer', ctx, {
144
+ contract: hub,
145
+ data: encodeFunctionData({
146
+ abi: ABI.Hub,
147
+ functionName: 'updateContract',
148
+ args: [
149
+ self.network.pool.id.raw,
150
+ self.shareClass.id.raw,
151
+ id,
152
+ addressToBytes32(self.onrampAddress),
153
+ encodePacked(['uint8', 'bytes32', 'uint128', 'bytes32', 'bool'], [
154
+ /* UpdateContractType.UpdateAddress */ 3,
155
+ toHex('onramp', { size: 32 }),
156
+ assetId.raw,
157
+ toHex(0, { size: 32 }),
158
+ true,
159
+ ]),
160
+ 0n,
161
+ ],
162
+ }),
163
+ });
164
+ }, this.network.chainId);
165
+ }
166
+ deposit(assetAddress, amount, receiverAddress) {
167
+ const self = this;
168
+ return this._transact(async function* (ctx) {
169
+ yield* doTransaction('Deposit', ctx, () => ctx.walletClient.writeContract({
170
+ address: self.onrampAddress,
171
+ abi: ABI.OnOffRampManager,
172
+ functionName: 'deposit',
173
+ args: [assetAddress, 0n, amount.toBigInt(), receiverAddress],
174
+ }));
175
+ }, self.network.chainId);
176
+ }
177
+ withdraw(assetAddress, amount, receiverAddress) {
178
+ const self = this;
179
+ return this._transact(async function* (ctx) {
180
+ yield* doTransaction('Withdraw', ctx, () => ctx.walletClient.writeContract({
181
+ address: self.onrampAddress,
182
+ abi: ABI.OnOffRampManager,
183
+ functionName: 'withdraw',
184
+ args: [assetAddress, 0n, amount.toBigInt(), receiverAddress],
185
+ }));
186
+ }, self.network.chainId);
187
+ }
188
+ }
189
+ //# sourceMappingURL=OnOffRampManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnOffRampManager.js","sourceRoot":"","sources":["../../src/entities/OnOffRampManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=OnOffRampManager.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnOffRampManager.test.d.ts","sourceRoot":"","sources":["../../src/entities/OnOffRampManager.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,170 @@
1
+ import { expect } from 'chai';
2
+ import { ABI } from '../abi/index.js';
3
+ import { context } from '../tests/setup.js';
4
+ import { randomAddress } from '../tests/utils.js';
5
+ import { Balance } from '../utils/BigInt.js';
6
+ import { doTransaction } from '../utils/transaction.js';
7
+ import { AssetId, PoolId, ShareClassId } from '../utils/types.js';
8
+ import { OnOffRampManager } from './OnOffRampManager.js';
9
+ import { Pool } from './Pool.js';
10
+ import { PoolNetwork } from './PoolNetwork.js';
11
+ import { ShareClass } from './ShareClass.js';
12
+ const chainId = 11155111;
13
+ const centId = 1;
14
+ const poolId = PoolId.from(centId, 1);
15
+ const scId = ShareClassId.from(poolId, 1);
16
+ const assetId = AssetId.from(centId, 1);
17
+ const rampManager = '0x8c0E6DC2461c6190A3e5703B714942cacfCb3C14';
18
+ const fundManager = '0x423420Ae467df6e90291fd0252c0A8a637C1e03f';
19
+ const receiver = '0x0000000000000000000000000000a3df6c4f8fcf';
20
+ describe('OnOffRampManager', () => {
21
+ let pool;
22
+ let poolNetwork;
23
+ let shareClass;
24
+ let onOffRampManager;
25
+ before(async () => {
26
+ const { centrifuge } = context;
27
+ pool = new Pool(centrifuge, poolId.raw, chainId);
28
+ poolNetwork = new PoolNetwork(centrifuge, pool, 11155111);
29
+ shareClass = new ShareClass(centrifuge, pool, scId.raw);
30
+ context.tenderlyFork.impersonateAddress = fundManager;
31
+ context.centrifuge.setSigner(context.tenderlyFork.signer);
32
+ onOffRampManager = new OnOffRampManager(context.centrifuge, poolNetwork, shareClass, rampManager);
33
+ });
34
+ describe('receivers', () => {
35
+ it.skip('should return receivers', async () => {
36
+ const receivers = await onOffRampManager.receivers();
37
+ // TODO: assert once the data is available
38
+ console.log({ receivers });
39
+ });
40
+ it('should set receiver', async () => {
41
+ const address = randomAddress();
42
+ const result = await onOffRampManager.setReceiver(assetId, address);
43
+ expect(result.type).to.equal('TransactionConfirmed');
44
+ const setReceiver = await context.centrifuge.getClient(chainId).readContract({
45
+ address: rampManager,
46
+ abi: ABI.OnOffRampManager,
47
+ functionName: 'offramp',
48
+ args: ['0x3aaaa86458d576bafcb1b7ed290434f0696da65c', address],
49
+ });
50
+ expect(setReceiver).to.be.true;
51
+ });
52
+ });
53
+ describe('relayers', () => {
54
+ it('should return relayers', async () => {
55
+ const relayers = await onOffRampManager.relayers();
56
+ expect(relayers.length).to.equal(1);
57
+ expect(relayers[0].address).to.equal('0x000000000000000000000000000ffc2d83c1400c');
58
+ });
59
+ it('should set relayer', async () => {
60
+ const address = randomAddress();
61
+ const result = await onOffRampManager.setRelayer(address);
62
+ expect(result.type).to.equal('TransactionConfirmed');
63
+ const setRelayer = await context.centrifuge.getClient(chainId).readContract({
64
+ address: rampManager,
65
+ abi: ABI.OnOffRampManager,
66
+ functionName: 'onramp',
67
+ args: ['0x3aaaa86458d576bafcb1b7ed290434f0696da65c'],
68
+ });
69
+ expect(setRelayer).to.be.true;
70
+ });
71
+ });
72
+ describe('assets', () => {
73
+ it('should return assets', async () => {
74
+ const result = await onOffRampManager.assets();
75
+ expect(result.length).to.be.equal(1);
76
+ expect(result[0]).to.deep.equal({
77
+ assetAddress: '0x3aaaa86458d576bafcb1b7ed290434f0696da65c',
78
+ assetId: new AssetId('0x3aaaa86458d576bafcb1b7ed290434f0696da65c'),
79
+ });
80
+ });
81
+ it('should set asset', async () => {
82
+ const result = await onOffRampManager.setAsset(assetId);
83
+ expect(result.type).to.equal('TransactionConfirmed');
84
+ });
85
+ });
86
+ describe('balances', () => {
87
+ it.skip('should return balances per asset', async () => {
88
+ const result = await onOffRampManager.balances();
89
+ console.log({ result });
90
+ // TODO: assert once the data is available, with balance greater than 0
91
+ // Currently it returns only one balance with 0 value, which gets filtered out
92
+ // balance: Balance { value: 0n, decimals: 6 },
93
+ // currency: {
94
+ // address: '0x3aaaa86458d576bafcb1b7ed290434f0696da65c',
95
+ // tokenId: 0n,
96
+ // decimals: 6,
97
+ // name: 'USD Coin',
98
+ // symbol: 'USDC',
99
+ // chainId: 11155111,
100
+ // supportsPermit: true
101
+ // }
102
+ });
103
+ });
104
+ describe('deposit and withdraw', () => {
105
+ it('should deposit', async () => {
106
+ const assetAddress = '0x3aaaa86458d576bafcb1b7ed290434f0696da65c';
107
+ const allowance = new Balance(100n, 6);
108
+ const amount = new Balance(56n, 6);
109
+ await pool.updateBalanceSheetManagers([{ chainId, address: onOffRampManager.onrampAddress, canManage: true }]);
110
+ await context.centrifuge._transact(async function* (ctx) {
111
+ yield* doTransaction('Approve transfer', ctx, async () => {
112
+ return ctx.walletClient.writeContract({
113
+ address: assetAddress,
114
+ abi: ABI.Currency,
115
+ functionName: 'transfer',
116
+ args: [onOffRampManager.onrampAddress, allowance.toBigInt()],
117
+ });
118
+ });
119
+ }, chainId);
120
+ const result = await onOffRampManager.deposit(assetAddress, amount, receiver);
121
+ expect(result.type).to.equal('TransactionConfirmed');
122
+ const balance = await context.centrifuge.getClient(chainId).readContract({
123
+ address: assetAddress,
124
+ abi: ABI.Currency,
125
+ functionName: 'balanceOf',
126
+ args: [onOffRampManager.onrampAddress],
127
+ });
128
+ expect(balance).to.equal(allowance.sub(amount).toBigInt());
129
+ });
130
+ it('should withdraw', async () => {
131
+ const assetAddress = '0x3aaaa86458d576bafcb1b7ed290434f0696da65c';
132
+ const allowance = new Balance(100n, 6);
133
+ const amount = new Balance(56n, 6);
134
+ const relayer = randomAddress();
135
+ await context.centrifuge._transact(async function* (ctx) {
136
+ yield* doTransaction('Approve transfer', ctx, async () => {
137
+ return ctx.walletClient.writeContract({
138
+ address: assetAddress,
139
+ abi: ABI.Currency,
140
+ functionName: 'transfer',
141
+ args: [onOffRampManager.onrampAddress, allowance.toBigInt()],
142
+ });
143
+ });
144
+ }, chainId);
145
+ await context.tenderlyFork.fundAccountEth(relayer, 10n ** 18n);
146
+ await pool.updateBalanceSheetManagers([{ chainId, address: onOffRampManager.onrampAddress, canManage: true }]);
147
+ await onOffRampManager.setReceiver(assetId, receiver);
148
+ await onOffRampManager.setRelayer(relayer);
149
+ context.tenderlyFork.impersonateAddress = relayer;
150
+ context.centrifuge.setSigner(context.tenderlyFork.signer);
151
+ const receiverBalanceBefore = await context.centrifuge.getClient(chainId).readContract({
152
+ address: assetAddress,
153
+ abi: ABI.Currency,
154
+ functionName: 'balanceOf',
155
+ args: [receiver],
156
+ });
157
+ expect(receiverBalanceBefore).to.equal(0n);
158
+ const result = await onOffRampManager.withdraw(assetAddress, amount, receiver);
159
+ expect(result.type).to.equal('TransactionConfirmed');
160
+ const receiverBalanceAfter = await context.centrifuge.getClient(chainId).readContract({
161
+ address: assetAddress,
162
+ abi: ABI.Currency,
163
+ functionName: 'balanceOf',
164
+ args: [receiver],
165
+ });
166
+ expect(receiverBalanceAfter).to.equal(56n);
167
+ });
168
+ });
169
+ });
170
+ //# sourceMappingURL=OnOffRampManager.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnOffRampManager.test.js","sourceRoot":"","sources":["../../src/entities/OnOffRampManager.test.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { AssetId, ShareClassId } from '../utils/types.js';
3
3
  import { BalanceSheet } from './BalanceSheet.js';
4
4
  import { Entity } from './Entity.js';
5
5
  import { MerkleProofManager } from './MerkleProofManager.js';
6
+ import { OnOffRampManager } from './OnOffRampManager.js';
6
7
  import type { Pool } from './Pool.js';
7
8
  import { ShareClass } from './ShareClass.js';
8
9
  /**
@@ -49,7 +50,8 @@ export declare class PoolNetwork extends Entity {
49
50
  * and doesn't indicate whether any vaults have been deployed.
50
51
  */
51
52
  isActive(): import("../index.js").Query<boolean>;
52
- merkleProofManager(): import("../index.js").Query<MerkleProofManager>;
53
+ merkleProofManager(): import("../index.js").Query<import("rxjs").Observable<MerkleProofManager>>;
54
+ onOfframpManager(scId: ShareClassId): import("../index.js").Query<OnOffRampManager>;
53
55
  /**
54
56
  * Enable and deploy share classes/vaults.
55
57
  * @param shareClasses - An array of share classes to enable
@@ -1 +1 @@
1
- {"version":3,"file":"PoolNetwork.d.ts","sourceRoot":"","sources":["../../src/entities/PoolNetwork.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAK7C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C;;GAEG;AACH,qBAAa,WAAY,SAAQ,MAAM;IAI5B,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,MAAM;IAKxB;;;;OAIG;IACH,OAAO;;;;;;;;;IA8BP,YAAY,CAAC,IAAI,EAAE,YAAY;IAM/B;;;OAGG;IACH,aAAa,CAAC,IAAI,EAAE,YAAY;IAMhC;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,eAAe,UAAQ;IASlD;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO;IAgBpD;;;OAGG;IACH,QAAQ;IAgCR,kBAAkB;IAOlB;;;;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;IAuJhG;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE;QAAE,YAAY,EAAE,YAAY,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,EAAE;CA6GxE"}
1
+ {"version":3,"file":"PoolNetwork.d.ts","sourceRoot":"","sources":["../../src/entities/PoolNetwork.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAK7C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C;;GAEG;AACH,qBAAa,WAAY,SAAQ,MAAM;IAI5B,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,MAAM;IAKxB;;;;OAIG;IACH,OAAO;;;;;;;;;IA8BP,YAAY,CAAC,IAAI,EAAE,YAAY;IAM/B;;;OAGG;IACH,aAAa,CAAC,IAAI,EAAE,YAAY;IAMhC;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,eAAe,UAAQ;IASlD;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO;IAgBpD;;;OAGG;IACH,QAAQ;IAgCR,kBAAkB;IAkClB,gBAAgB,CAAC,IAAI,EAAE,YAAY;IAuDnC;;;;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;IAuJhG;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE;QAAE,YAAY,EAAE,YAAY,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,EAAE;CA6GxE"}
@@ -9,6 +9,7 @@ import { wrapTransaction } from '../utils/transaction.js';
9
9
  import { BalanceSheet } from './BalanceSheet.js';
10
10
  import { Entity } from './Entity.js';
11
11
  import { MerkleProofManager } from './MerkleProofManager.js';
12
+ import { OnOffRampManager } from './OnOffRampManager.js';
12
13
  import { ShareClass } from './ShareClass.js';
13
14
  /**
14
15
  * Query and interact with a pool on a specific network.
@@ -109,10 +110,44 @@ export class PoolNetwork extends Entity {
109
110
  })));
110
111
  }
111
112
  merkleProofManager() {
112
- return this._query(['merkleProofManager'], () => {
113
- // TODO: Get Merkle Proof Manager address from indexer
114
- return of(new MerkleProofManager(this._root, this, '0x0'));
115
- });
113
+ return this._query(['merkleProofManager'], () => this._root.id(this.chainId).pipe(switchMap((centrifugeId) => this._root._queryIndexer(`query ($poolId: BigInt!, $centrifugeId: String!) {
114
+ merkleProofManagers(where: {poolId: $poolId, centrifugeId: $centrifugeId}) {
115
+ items {
116
+ address
117
+ }
118
+ }
119
+ }`, { poolId: this.pool.id.toString(), centrifugeId: centrifugeId.toString() }, (data) => {
120
+ const manager = data.merkleProofManagers.items[0];
121
+ if (!manager) {
122
+ throw new Error('MerkleProofManager not found');
123
+ }
124
+ return of(new MerkleProofManager(this._root, this, manager.address));
125
+ }))));
126
+ }
127
+ onOfframpManager(scId) {
128
+ return this._query(null, () => combineLatest([
129
+ this._root.id(this.chainId).pipe(switchMap((centrifugeId) => this._root._queryIndexer(`query ($scId: String!, $centrifugeId: String!) {
130
+ onOffRampManagers(where: {tokenId: $scId, centrifugeId: $centrifugeId}) {
131
+ items {
132
+ address
133
+ }
134
+ }
135
+ }`, {
136
+ scId: scId.toString(),
137
+ centrifugeId: centrifugeId.toString(),
138
+ }, (data) => data.onOffRampManagers.items))),
139
+ this.pool.balanceSheetManagers(),
140
+ ]).pipe(map(([deployedOnOffRampManager, balanceSheetManagers]) => {
141
+ const onoffRampManager = deployedOnOffRampManager[0];
142
+ if (!onoffRampManager) {
143
+ throw new Error('OnOffRampManager not found');
144
+ }
145
+ const verifiedManager = balanceSheetManagers.find((manager) => manager.address.toLowerCase() === onoffRampManager.address.toLowerCase());
146
+ if (!verifiedManager) {
147
+ throw new Error('OnOffRampManager not found in balance sheet managers');
148
+ }
149
+ return new OnOffRampManager(this._root, this, new ShareClass(this._root, this.pool, scId.raw), verifiedManager.address);
150
+ })));
116
151
  }
117
152
  /**
118
153
  * Enable and deploy share classes/vaults.
@@ -1 +1 @@
1
- {"version":3,"file":"PoolNetwork.js","sourceRoot":"","sources":["../../src/entities/PoolNetwork.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAChF,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAErC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,OAAO,EAAE,WAAW,EAA0B,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,MAAM;IAI5B;IACA;IAJT,gBAAgB;IAChB,YACE,KAAiB,EACV,IAAU,EACV,OAAe;QAEtB,KAAK,CAAC,KAAK,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;QAHnD,SAAI,GAAJ,IAAI,CAAM;QACV,YAAO,GAAP,OAAO,CAAQ;IAGxB,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,CAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAC3B,SAAS,CAAC,CAAC,YAAY,EAAE,EAAE;YACzB,OAAO,aAAa,CAAC;gBACnB,IAAI,CAAC,QAAQ,EAAE;gBACf,IAAI,CAAC,mBAAmB,EAAE;gBAC1B,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;aACvD,CAAC,CAAC,IAAI,CACL,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,kBAAkB,EAAE,GAAG,WAAW,CAAC,EAAE,EAAE;gBACrD,OAAO;oBACL,QAAQ;oBACR,kBAAkB,EAAE,YAAY;yBAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC;yBACjD,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;wBACb,OAAO;4BACL,UAAU,EAAE,EAAE;4BACd,EAAE,EAAE,EAAE,CAAC,EAAE;4BACT,UAAU,EAAE,WAAW,CAAC,CAAC,CAAE;4BAC3B,MAAM,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE;yBAC5C,CAAA;oBACH,CAAC,CAAC;iBACL,CAAA;YACH,CAAC,CAAC,CACH,CAAA;QACH,CAAC,CAAC,CACH,CACF,CAAA;IACH,CAAC;IAED,YAAY,CAAC,IAAkB;QAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,CAC5B,EAAE,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CACxF,CAAA;IACH,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,IAAkB;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,CAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CACvF,CAAA;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAkB,EAAE,eAAe,GAAG,KAAK;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,CAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAChC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAC1C,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAC5E,CACF,CAAA;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAkB,EAAE,KAA0B;QAClD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,CAC5B,aAAa,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACjB,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC;SAClG,CAAC,CAAC,IAAI,CACL,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;YAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;YAClC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAA;YACnD,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;YAC9C,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CACH,CACF,CAAA;IACH,CAAC;IAED;;;OAGG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,CACpC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAC9C,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YACtB,OAAO,KAAK,CACV,GAAG,EAAE,CACH,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC;gBAC9C,OAAO,EAAE,KAAK;gBACd,GAAG,EAAE,GAAG,CAAC,KAAK;gBACd,YAAY,EAAE,cAAc;gBAC5B,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;aACzB,CAAqB,CACzB,CAAC,IAAI,CACJ,cAAc,CACZ,IAAI,CAAC,KAAK,EACV;gBACE,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,SAAS;gBACpB,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;oBACjB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;wBAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;oBAC3C,CAAC,CAAC,CAAA;gBACJ,CAAC;aACF,EACD,IAAI,CAAC,OAAO,CACb,CACF,CAAA;QACH,CAAC,CAAC,CACH,CACF,CAAA;IACH,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,EAAE,GAAG,EAAE;YAC9C,sDAAsD;YACtD,OAAO,EAAE,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;QAC5D,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACH,MAAM,CACJ,eAAwD,EAAE,EAC1D,SAA4F,EAAE;QAE9F,MAAM,IAAI,GAAG,IAAI,CAAA;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC,EAAE,GAAG;YACxC,MAAM,CACJ,EAAE,GAAG,EAAE,EACP,EAAE,YAAY,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,WAAW,EAAE,mBAAmB,EAAE,EAC9F,EAAE,EACF,OAAO,EACR,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACpB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;gBAChD,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC3C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC3B,IAAI,CAAC,OAAO,EAAE;aACf,CAAC,CAAA;YAEF,MAAM,oBAAoB,GAAG,WAAW,CAAC;gBACvC,MAAM,EAAE,GAAG,CAAC,YAAY;gBACxB,OAAO,EAAE,YAAY;gBACrB,GAAG,EAAE,GAAG,CAAC,YAAY;aACtB,CAAC,CAAA;YACF,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC9D,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;gBAC1E,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;aACnE,CAAC,CAAA;YAEF,MAAM,KAAK,GAAgB,EAAE,CAAA;YAC7B,MAAM,YAAY,GAA6B,EAAE,CAAA;YAEjD,kEAAkE;YAClE,+EAA+E;YAC/E,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CACR,kBAAkB,CAAC;oBACjB,GAAG,EAAE,GAAG,CAAC,GAAG;oBACZ,YAAY,EAAE,2BAA2B;oBACzC,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,IAAI,CAAC;iBAC1E,CAAC,CACH,CAAA;gBACD,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAA;YAC1D,CAAC;YACD,IAAI,CAAC,gBAAgB,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,EAAE,CAAC;gBACtE,KAAK,CAAC,IAAI,CACR,kBAAkB,CAAC;oBACjB,GAAG,EAAE,GAAG,CAAC,GAAG;oBACZ,YAAY,EAAE,2BAA2B;oBACzC,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,gBAAgB,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC;iBAClE,CAAC,CACH,CAAA;gBACD,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAA;YAC1D,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACtB,KAAK,CAAC,IAAI,CACR,kBAAkB,CAAC;oBACjB,GAAG,EAAE,GAAG,CAAC,GAAG;oBACZ,YAAY,EAAE,YAAY;oBAC1B,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;iBAC7B,CAAC,CACH,CAAA;gBACD,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;YAC3C,CAAC;YAED,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;YAEtF,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;gBAC9B,IAAI,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBACjF,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,gCAAgC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;oBAClF,SAAQ;gBACV,CAAC;gBACD,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;gBAClC,KAAK,CAAC,IAAI,CACR,kBAAkB,CAAC;oBACjB,GAAG,EAAE,GAAG,CAAC,GAAG;oBACZ,YAAY,EAAE,kBAAkB;oBAChC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;iBACnE,CAAC,CACH,CAAA;gBACD,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;YACjD,CAAC;YAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrD,MAAM,IAAI,KAAK,CAAC,gBAAgB,KAAK,CAAC,YAAY,CAAC,GAAG,6BAA6B,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAA;gBACzG,CAAC;gBAED,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBACjC,KAAK,CAAC,IAAI,CACR,kBAAkB,CAAC;wBACjB,GAAG,EAAE,GAAG,CAAC,GAAG;wBACZ,YAAY,EAAE,gBAAgB;wBAC9B,IAAI,EAAE;4BACJ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;4BAChB,KAAK,CAAC,YAAY,CAAC,GAAG;4BACtB,EAAE;4BACF,gBAAgB,CAAC,WAAW,CAAC;4BAC7B,YAAY,CACV,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,EAC/B,CAAC,8CAA8C,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAClF;4BACD,EAAE;yBACH;qBACF,CAAC,CACH,CAAA;gBACH,CAAC;gBAED,KAAK,CAAC,IAAI;gBACR,kHAAkH;gBAClH,yDAAyD;gBACzD,8FAA8F;gBAC9F,kBAAkB,CAAC;oBACjB,GAAG,EAAE,GAAG,CAAC,GAAG;oBACZ,YAAY,EAAE,mBAAmB;oBACjC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;iBAC3G,CAAC,EACF,kBAAkB,CAAC;oBACjB,GAAG,EAAE,GAAG,CAAC,GAAG;oBACZ,YAAY,EAAE,kBAAkB;oBAChC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;iBACpE,CAAC,EACF,kBAAkB,CAAC;oBACjB,GAAG,EAAE,GAAG,CAAC,GAAG;oBACZ,YAAY,EAAE,aAAa;oBAC3B,IAAI,EAAE;wBACJ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;wBAChB,KAAK,CAAC,YAAY,CAAC,GAAG;wBACtB,KAAK,CAAC,OAAO,CAAC,GAAG;wBACjB,gBAAgB,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,iBAAiB,CAAC;wBAC5F,eAAe,CAAC,aAAa;wBAC7B,EAAE,EAAE,YAAY;qBACjB;iBACF,CAAC,CACH,CAAA;gBACD,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,WAAW,CAAC,uBAAuB,EAAE;oBACpF,IAAI,EAAE,WAAW,CAAC,WAAW;oBAC7B,OAAO,EAAE,eAAe,CAAC,aAAa;iBACvC,CAAC,CAAA;YACJ,CAAC;YAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;YACxD,CAAC;YAED,KAAK,CAAC,CAAC,eAAe,CAAC,iCAAiC,EAAE,GAAG,EAAE;gBAC7D,IAAI,EAAE,KAAK;gBACX,QAAQ,EAAE,GAAG;gBACb,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE;aACjC,CAAC,CAAA;QACJ,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACvB,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,MAA0D;QACrE,MAAM,IAAI,GAAG,IAAI,CAAA;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC,EAAE,GAAG;YACxC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;YACxC,CAAC;YAED,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC/C,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;gBAChD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC3B,IAAI,CAAC,OAAO,EAAE;aACf,CAAC,CAAA;YAEF,MAAM,KAAK,GAAgB,EAAE,CAAA;YAC7B,MAAM,YAAY,GAA6B,EAAE,CAAA;YAEjD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAA;gBAC5F,MAAM,aAAa,GAAG,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;gBACrF,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,MAAM,IAAI,KAAK,CACb,0BAA0B,KAAK,CAAC,YAAY,CAAC,GAAG,mBAAmB,KAAK,CAAC,OAAO,CAAC,GAAG,aAAa,CAClG,CAAA;gBACH,CAAC;gBAED,KAAK,CAAC,IAAI,CACR,kBAAkB,CAAC;oBACjB,GAAG,EAAE,GAAG,CAAC,GAAG;oBACZ,YAAY,EAAE,aAAa;oBAC3B,IAAI,EAAE;wBACJ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;wBAChB,KAAK,CAAC,YAAY,CAAC,GAAG;wBACtB,KAAK,CAAC,OAAO,CAAC,GAAG;wBACjB,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC;wBACvC,eAAe,CAAC,MAAM;wBACtB,EAAE,EAAE,YAAY;qBACjB;iBACF,CAAC,CACH,CAAA;gBACD,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,WAAW,EAAE,OAAO,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAA,CAAC,EAAE;YAC1F,CAAC;YAED,KAAK,CAAC,CAAC,eAAe,CAAC,eAAe,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE;gBACxE,IAAI,EAAE,KAAK;gBACX,QAAQ,EAAE,GAAG;gBACb,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE;aACjC,CAAC,CAAA;QACJ,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACvB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,IAAkB,EAAE,kBAAkB,GAAG,IAAI;QAClD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,CAClD,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAC9C,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACtB,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC;oBACpE,OAAO,EAAE,KAAK;oBACd,GAAG,EAAE,GAAG,CAAC,KAAK;oBACd,YAAY,EAAE,YAAY;oBAC1B,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;iBACnC,CAAC,CAAA;gBACF,OAAO,OAAO,CAAC,WAAW,EAAe,CAAA;YAC3C,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,kBAAkB,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,uBAAuB,IAAI,CAAC,IAAI,CAAC,EAAE,aAAa,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;gBACpG,CAAC;gBACD,OAAO,YAAY,CAAA;YACrB,CAAC;QACH,CAAC,CAAC,CAAC,IAAI,CACL,cAAc,CACZ,IAAI,CAAC,KAAK,EACV;YACE,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,eAAe;YAC1B,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;gBACjB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAA;YACvG,CAAC;SACF,EACD,IAAI,CAAC,OAAO,CACb,CACF,CACF,CACF,CACF,CAAA;IACH,CAAC;IAED;;;;OAIG;IACH,mBAAmB;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,CAC5B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAC7B,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YAClB,OAAO,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAC/D,GAAG,CAAC,CAAC,mBAAmB,EAAE,EAAE,CAC1B,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAC5F,CACF,CAAA;QACH,CAAC,CAAC,CACH,CACF,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"PoolNetwork.js","sourceRoot":"","sources":["../../src/entities/PoolNetwork.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { AssetId, PoolId, ShareClassId } from '../utils/types.js';
8
8
  import { Pool } from './Pool.js';
9
9
  import { PoolNetwork } from './PoolNetwork.js';
10
10
  import { Vault } from './Vault.js';
11
+ import { MerkleProofManager } from './MerkleProofManager.js';
11
12
  const poolId = PoolId.from(1, 1);
12
13
  const scId = ShareClassId.from(poolId, 1);
13
14
  const chainId = 11155111;
@@ -108,5 +109,58 @@ describe('PoolNetwork', () => {
108
109
  });
109
110
  expect(vaultAddr2).to.equal(NULL_ADDRESS);
110
111
  });
112
+ describe('merkleProofManager', () => {
113
+ it('should return merkleProofManager', async () => {
114
+ const result = await poolNetwork.merkleProofManager();
115
+ expect(result).to.be.instanceOf(MerkleProofManager);
116
+ });
117
+ it('should throw when it does not find merkleProofManager', async () => {
118
+ const poolId = PoolId.from(1, 10);
119
+ const { centrifuge } = context;
120
+ const pool = new Pool(centrifuge, poolId.raw, 11155111);
121
+ const poolNetwork = new PoolNetwork(centrifuge, pool, 11155111);
122
+ try {
123
+ await poolNetwork.merkleProofManager();
124
+ }
125
+ catch (error) {
126
+ expect(error.message).to.equal('MerkleProofManager not found');
127
+ }
128
+ });
129
+ });
130
+ describe('onOfframpManager', () => {
131
+ it.skip('returns onOfframpManager', async () => {
132
+ context.tenderlyFork.impersonateAddress = poolManager;
133
+ context.centrifuge.setSigner(context.tenderlyFork.signer);
134
+ await context.tenderlyFork.fundAccountEth(poolManager, 10n ** 18n);
135
+ await poolNetwork.pool.updateBalanceSheetManagers([
136
+ { chainId, address: '0x8c0E6DC2461c6190A3e5703B714942cacfCb3C14', canManage: true },
137
+ ]);
138
+ // TODO: Needs data in indexer for manager to be balance sheet manager
139
+ await poolNetwork.onOfframpManager(ShareClassId.from(poolId, 1));
140
+ // expect(result).to.be.instanceOf(OnOffRampManager)
141
+ });
142
+ it('should throw when it does not find onOfframpManager', async () => {
143
+ try {
144
+ await poolNetwork.onOfframpManager(ShareClassId.from(poolId, 10));
145
+ }
146
+ catch (error) {
147
+ expect(error.message).to.equal('OnOffRampManager not found');
148
+ }
149
+ });
150
+ it('should throw when onOfframpManager is not balance sheet manager', async () => {
151
+ context.tenderlyFork.impersonateAddress = poolManager;
152
+ context.centrifuge.setSigner(context.tenderlyFork.signer);
153
+ await context.tenderlyFork.fundAccountEth(poolManager, 10n ** 18n);
154
+ await poolNetwork.pool.updateBalanceSheetManagers([
155
+ { chainId, address: '0x8c0E6DC2461c6190A3e5703B714942cacfCb3C14', canManage: true },
156
+ ]);
157
+ try {
158
+ await poolNetwork.onOfframpManager(ShareClassId.from(poolId, 1));
159
+ }
160
+ catch (error) {
161
+ expect(error.message).to.equal('OnOffRampManager not found in balance sheet managers');
162
+ }
163
+ });
164
+ });
111
165
  });
112
166
  //# sourceMappingURL=PoolNetwork.test.js.map