@centrifuge/sdk 0.0.0-alpha.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.
Files changed (147) hide show
  1. package/LICENSE +165 -0
  2. package/README.md +149 -0
  3. package/dist/Account.d.ts +11 -0
  4. package/dist/Account.d.ts.map +1 -0
  5. package/dist/Account.js +46 -0
  6. package/dist/Account.js.map +1 -0
  7. package/dist/Centrifuge.d.ts +7117 -0
  8. package/dist/Centrifuge.d.ts.map +1 -0
  9. package/dist/Centrifuge.js +464 -0
  10. package/dist/Centrifuge.js.map +1 -0
  11. package/dist/Entity.d.ts +12 -0
  12. package/dist/Entity.d.ts.map +1 -0
  13. package/dist/Entity.js +16 -0
  14. package/dist/Entity.js.map +1 -0
  15. package/dist/Pool.d.ts +27 -0
  16. package/dist/Pool.d.ts.map +1 -0
  17. package/dist/Pool.js +73 -0
  18. package/dist/Pool.js.map +1 -0
  19. package/dist/PoolNetwork.d.ts +82 -0
  20. package/dist/PoolNetwork.d.ts.map +1 -0
  21. package/dist/PoolNetwork.js +235 -0
  22. package/dist/PoolNetwork.js.map +1 -0
  23. package/dist/Reports/Processor.d.ts +38 -0
  24. package/dist/Reports/Processor.d.ts.map +1 -0
  25. package/dist/Reports/Processor.js +167 -0
  26. package/dist/Reports/Processor.js.map +1 -0
  27. package/dist/Reports/index.d.ts +24 -0
  28. package/dist/Reports/index.d.ts.map +1 -0
  29. package/dist/Reports/index.js +68 -0
  30. package/dist/Reports/index.js.map +1 -0
  31. package/dist/Reports/types.d.ts +102 -0
  32. package/dist/Reports/types.d.ts.map +1 -0
  33. package/dist/Reports/types.js +2 -0
  34. package/dist/Reports/types.js.map +1 -0
  35. package/dist/Vault.d.ts +96 -0
  36. package/dist/Vault.d.ts.map +1 -0
  37. package/dist/Vault.js +330 -0
  38. package/dist/Vault.js.map +1 -0
  39. package/dist/abi/CentrifugeRouter.abi.json +43 -0
  40. package/dist/abi/Currency.abi.json +14 -0
  41. package/dist/abi/Gateway.abi.json +1 -0
  42. package/dist/abi/InvestmentManager.abi.json +4 -0
  43. package/dist/abi/LiquidityPool.abi.json +79 -0
  44. package/dist/abi/PoolManager.abi.json +55 -0
  45. package/dist/abi/RestrictionManager.abi.json +22 -0
  46. package/dist/abi/Router.abi.json +1 -0
  47. package/dist/abi/index.d.ts +11 -0
  48. package/dist/abi/index.d.ts.map +1 -0
  49. package/dist/abi/index.js +20 -0
  50. package/dist/abi/index.js.map +1 -0
  51. package/dist/config/chains.d.ts +1575 -0
  52. package/dist/config/chains.d.ts.map +1 -0
  53. package/dist/config/chains.js +3 -0
  54. package/dist/config/chains.js.map +1 -0
  55. package/dist/config/lp.d.ts +17 -0
  56. package/dist/config/lp.d.ts.map +1 -0
  57. package/dist/config/lp.js +35 -0
  58. package/dist/config/lp.js.map +1 -0
  59. package/dist/constants.d.ts +3 -0
  60. package/dist/constants.d.ts.map +1 -0
  61. package/dist/constants.js +3 -0
  62. package/dist/constants.js.map +1 -0
  63. package/dist/index.d.ts +9 -0
  64. package/dist/index.d.ts.map +1 -0
  65. package/dist/index.js +9 -0
  66. package/dist/index.js.map +1 -0
  67. package/dist/queries/poolFeeSnapshots.d.ts +48 -0
  68. package/dist/queries/poolFeeSnapshots.d.ts.map +1 -0
  69. package/dist/queries/poolFeeSnapshots.js +62 -0
  70. package/dist/queries/poolFeeSnapshots.js.map +1 -0
  71. package/dist/queries/poolSnapshots.d.ts +73 -0
  72. package/dist/queries/poolSnapshots.d.ts.map +1 -0
  73. package/dist/queries/poolSnapshots.js +106 -0
  74. package/dist/queries/poolSnapshots.js.map +1 -0
  75. package/dist/queries/trancheSnapshots.d.ts +70 -0
  76. package/dist/queries/trancheSnapshots.d.ts.map +1 -0
  77. package/dist/queries/trancheSnapshots.js +76 -0
  78. package/dist/queries/trancheSnapshots.js.map +1 -0
  79. package/dist/tests/mocks/mockPoolFeeSnapshot.d.ts +3 -0
  80. package/dist/tests/mocks/mockPoolFeeSnapshot.d.ts.map +1 -0
  81. package/dist/tests/mocks/mockPoolFeeSnapshot.js +68 -0
  82. package/dist/tests/mocks/mockPoolFeeSnapshot.js.map +1 -0
  83. package/dist/tests/mocks/mockPoolMetadata.d.ts +3 -0
  84. package/dist/tests/mocks/mockPoolMetadata.d.ts.map +1 -0
  85. package/dist/tests/mocks/mockPoolMetadata.js +118 -0
  86. package/dist/tests/mocks/mockPoolMetadata.js.map +1 -0
  87. package/dist/tests/mocks/mockPoolSnapshots.d.ts +3 -0
  88. package/dist/tests/mocks/mockPoolSnapshots.d.ts.map +1 -0
  89. package/dist/tests/mocks/mockPoolSnapshots.js +64 -0
  90. package/dist/tests/mocks/mockPoolSnapshots.js.map +1 -0
  91. package/dist/tests/mocks/mockTrancheSnapshots.d.ts +3 -0
  92. package/dist/tests/mocks/mockTrancheSnapshots.d.ts.map +1 -0
  93. package/dist/tests/mocks/mockTrancheSnapshots.js +112 -0
  94. package/dist/tests/mocks/mockTrancheSnapshots.js.map +1 -0
  95. package/dist/tests/setup.d.ts +16 -0
  96. package/dist/tests/setup.d.ts.map +1 -0
  97. package/dist/tests/setup.js +41 -0
  98. package/dist/tests/setup.js.map +1 -0
  99. package/dist/tests/tenderly.d.ts +76 -0
  100. package/dist/tests/tenderly.d.ts.map +1 -0
  101. package/dist/tests/tenderly.js +219 -0
  102. package/dist/tests/tenderly.js.map +1 -0
  103. package/dist/types/index.d.ts +2 -0
  104. package/dist/types/index.d.ts.map +1 -0
  105. package/dist/types/index.js +2 -0
  106. package/dist/types/index.js.map +1 -0
  107. package/dist/types/poolMetadata.d.ts +92 -0
  108. package/dist/types/poolMetadata.d.ts.map +1 -0
  109. package/dist/types/poolMetadata.js +2 -0
  110. package/dist/types/poolMetadata.js.map +1 -0
  111. package/dist/types/query.d.ts +11 -0
  112. package/dist/types/query.d.ts.map +1 -0
  113. package/dist/types/query.js +2 -0
  114. package/dist/types/query.js.map +1 -0
  115. package/dist/types/transaction.d.ts +47 -0
  116. package/dist/types/transaction.d.ts.map +1 -0
  117. package/dist/types/transaction.js +2 -0
  118. package/dist/types/transaction.js.map +1 -0
  119. package/dist/utils/BigInt.d.ts +80 -0
  120. package/dist/utils/BigInt.d.ts.map +1 -0
  121. package/dist/utils/BigInt.js +215 -0
  122. package/dist/utils/BigInt.js.map +1 -0
  123. package/dist/utils/date.d.ts +17 -0
  124. package/dist/utils/date.d.ts.map +1 -0
  125. package/dist/utils/date.js +36 -0
  126. package/dist/utils/date.js.map +1 -0
  127. package/dist/utils/decimal.d.ts +6 -0
  128. package/dist/utils/decimal.d.ts.map +1 -0
  129. package/dist/utils/decimal.js +13 -0
  130. package/dist/utils/decimal.js.map +1 -0
  131. package/dist/utils/pinToApi.d.ts +2 -0
  132. package/dist/utils/pinToApi.d.ts.map +1 -0
  133. package/dist/utils/pinToApi.js +10 -0
  134. package/dist/utils/pinToApi.js.map +1 -0
  135. package/dist/utils/query.d.ts +2 -0
  136. package/dist/utils/query.d.ts.map +1 -0
  137. package/dist/utils/query.js +37 -0
  138. package/dist/utils/query.js.map +1 -0
  139. package/dist/utils/rx.d.ts +19 -0
  140. package/dist/utils/rx.d.ts.map +1 -0
  141. package/dist/utils/rx.js +45 -0
  142. package/dist/utils/rx.js.map +1 -0
  143. package/dist/utils/transaction.d.ts +14 -0
  144. package/dist/utils/transaction.d.ts.map +1 -0
  145. package/dist/utils/transaction.js +33 -0
  146. package/dist/utils/transaction.js.map +1 -0
  147. package/package.json +72 -0
@@ -0,0 +1,219 @@
1
+ import dotenv from 'dotenv';
2
+ import { createPublicClient, createWalletClient, http, rpcSchema, toHex, } from 'viem';
3
+ import { generatePrivateKey, privateKeyToAccount } from 'viem/accounts';
4
+ dotenv.config({ path: './src/tests/.env' });
5
+ const tUSD = '0x8503b4452Bf6238cC76CdbEE223b46d7196b1c93';
6
+ const TENDERLY_API_URL = 'https://api.tenderly.co/api/v1';
7
+ const TENDERLY_VNET_URL = 'https://virtual.sepolia.rpc.tenderly.co';
8
+ const PROJECT_SLUG = process.env.PROJECT_SLUG;
9
+ const ACCOUNT_SLUG = process.env.ACCOUNT_SLUG;
10
+ const TENDERLY_ACCESS_KEY = process.env.TENDERLY_ACCESS_KEY;
11
+ export class TenderlyFork {
12
+ chain;
13
+ vnetId;
14
+ _rpcUrl;
15
+ /**
16
+ * after impersonateAddress is set, centrifuge.setSigner() must be called again to update the signer
17
+ */
18
+ _impersonateAddress;
19
+ get impersonateAddress() {
20
+ return this._impersonateAddress;
21
+ }
22
+ set impersonateAddress(address) {
23
+ this._impersonateAddress = address;
24
+ this.setSigner();
25
+ }
26
+ forkedNetwork;
27
+ get rpcUrl() {
28
+ if (!this._rpcUrl) {
29
+ throw new Error('RPC URL is not initialized. Ensure forkNetwork() or TenderlyFork.create() has been called.');
30
+ }
31
+ return this._rpcUrl;
32
+ }
33
+ _publicClient;
34
+ get publicClient() {
35
+ return this._publicClient ?? this.setPublicClient();
36
+ }
37
+ _signer;
38
+ get signer() {
39
+ return this._signer ?? this.setSigner();
40
+ }
41
+ /**
42
+ * if no account is set, one will be created randomly
43
+ * if an impersonated address is set, a custom account will be created with that address which will override the fromAddress parameter in calls
44
+ */
45
+ _account;
46
+ get account() {
47
+ if (this.impersonateAddress)
48
+ return this.createCustomAccount(this.impersonateAddress);
49
+ if (this._account)
50
+ return this._account;
51
+ return this.createAccount();
52
+ }
53
+ constructor(chain, vnetId, rpcUrl) {
54
+ this.chain = chain;
55
+ this.vnetId = vnetId;
56
+ this._rpcUrl = rpcUrl;
57
+ }
58
+ static async create(chain, vnetId) {
59
+ let rpcUrl;
60
+ if (vnetId) {
61
+ rpcUrl = `${TENDERLY_VNET_URL}/${vnetId}`;
62
+ return new TenderlyFork(chain, vnetId, rpcUrl);
63
+ }
64
+ const instance = new TenderlyFork(chain);
65
+ const { vnetId: _vnetId, url } = await instance.forkNetwork();
66
+ return new TenderlyFork(chain, _vnetId, url);
67
+ }
68
+ setPublicClient() {
69
+ this._publicClient =
70
+ this._publicClient ??
71
+ createPublicClient({
72
+ chain: this.chain,
73
+ transport: http(this.rpcUrl),
74
+ rpcSchema: rpcSchema(),
75
+ });
76
+ return this._publicClient;
77
+ }
78
+ setSigner() {
79
+ const client = createWalletClient({
80
+ account: this.account,
81
+ transport: http(this.rpcUrl),
82
+ chain: this.chain,
83
+ rpcSchema: rpcSchema(),
84
+ });
85
+ const signer = {
86
+ ...client,
87
+ // Override the request method to use override from address with impersonated account
88
+ request: async (args) => {
89
+ switch (args.method) {
90
+ case 'eth_accounts':
91
+ return [this.account.address];
92
+ case 'eth_sendTransaction':
93
+ // @ts-expect-error
94
+ const impersonatedParams = args.params.map((arg) => ({ ...arg, from: this.account.address }));
95
+ return client.request({ method: args.method, params: impersonatedParams });
96
+ }
97
+ // @ts-expect-error
98
+ return client.request(args);
99
+ },
100
+ };
101
+ this._signer = signer;
102
+ return signer;
103
+ }
104
+ createAccount(privateKey) {
105
+ const key = privateKey ?? generatePrivateKey();
106
+ const walletAccount = privateKeyToAccount(key);
107
+ this._account = walletAccount;
108
+ return walletAccount;
109
+ }
110
+ createCustomAccount(address) {
111
+ return {
112
+ address,
113
+ type: 'local',
114
+ source: 'custom',
115
+ signMessage: async () => '0x',
116
+ signTransaction: async () => '0x',
117
+ signTypedData: async () => '0x',
118
+ publicKey: '0x',
119
+ };
120
+ }
121
+ async forkNetwork() {
122
+ try {
123
+ const tenderlyApi = `${TENDERLY_API_URL}/account/${ACCOUNT_SLUG}/project/${PROJECT_SLUG}/vnets`;
124
+ const timestamp = Date.now();
125
+ const response = await fetch(tenderlyApi, {
126
+ method: 'POST',
127
+ headers: {
128
+ 'X-Access-Key': TENDERLY_ACCESS_KEY,
129
+ },
130
+ body: JSON.stringify({
131
+ slug: `centrifuge-sepolia-fork-${timestamp}`,
132
+ display_name: `Centrifuge Sepolia Fork ${timestamp}`,
133
+ fork_config: {
134
+ network_id: this.chain.id,
135
+ block_number: '7116950',
136
+ },
137
+ virtual_network_config: {
138
+ chain_config: {
139
+ chain_id: this.chain.id,
140
+ },
141
+ },
142
+ sync_state_config: {
143
+ enabled: false,
144
+ },
145
+ explorer_page_config: {
146
+ enabled: false,
147
+ verification_visibility: 'bytecode',
148
+ },
149
+ }),
150
+ });
151
+ const virtualNetwork = await response.json();
152
+ if ('error' in virtualNetwork) {
153
+ throw new Error(JSON.stringify(virtualNetwork.error));
154
+ }
155
+ const forkedRpc = virtualNetwork.rpcs.find((rpc) => rpc.name === 'Admin RPC');
156
+ if (!forkedRpc?.url) {
157
+ throw new Error('Failed to find forked RPC URL');
158
+ }
159
+ console.log('Created Tenderly RPC endpoint', virtualNetwork.id);
160
+ this.forkedNetwork = virtualNetwork;
161
+ this.vnetId = virtualNetwork.id;
162
+ this._rpcUrl = forkedRpc.url;
163
+ return { url: forkedRpc.url, vnetId: virtualNetwork.id };
164
+ }
165
+ catch (error) {
166
+ throw error;
167
+ }
168
+ }
169
+ async deleteTenderlyRpcEndpoint() {
170
+ try {
171
+ const tenderlyApi = `${TENDERLY_API_URL}/account/${ACCOUNT_SLUG}/project/${PROJECT_SLUG}/vnets/${this.vnetId}`;
172
+ const response = await fetch(tenderlyApi, {
173
+ method: 'DELETE',
174
+ headers: {
175
+ 'X-Access-Key': TENDERLY_ACCESS_KEY,
176
+ },
177
+ });
178
+ if (response.status !== 204) {
179
+ console.error('Failed to delete Tenderly RPC endpoint', this.vnetId);
180
+ throw new Error(JSON.stringify(await response.json()));
181
+ }
182
+ console.log('Deleted Tenderly RPC endpoint', this.vnetId);
183
+ return response.status === 204;
184
+ }
185
+ catch (error) {
186
+ console.error('Failed to delete Tenderly RPC endpoint', this.vnetId);
187
+ throw error;
188
+ }
189
+ }
190
+ async fundAccountEth(address, amount) {
191
+ try {
192
+ const ethResult = await this.publicClient.request({
193
+ jsonrpc: '2.0',
194
+ method: 'tenderly_setBalance',
195
+ params: [address, toHex(amount)],
196
+ id: '1234',
197
+ });
198
+ return ethResult;
199
+ }
200
+ catch (error) {
201
+ throw error;
202
+ }
203
+ }
204
+ async fundAccountERC20(address, amount) {
205
+ try {
206
+ const erc20Result = await this.publicClient.request({
207
+ jsonrpc: '2.0',
208
+ method: 'tenderly_setErc20Balance',
209
+ params: [tUSD, address, toHex(amount)],
210
+ id: '1234',
211
+ });
212
+ return erc20Result;
213
+ }
214
+ catch (error) {
215
+ throw error;
216
+ }
217
+ }
218
+ }
219
+ //# sourceMappingURL=tenderly.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenderly.js","sourceRoot":"","sources":["../../src/tests/tenderly.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,IAAI,EACJ,SAAS,EACT,KAAK,GAQN,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACvE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAA;AAiD3C,MAAM,IAAI,GAAG,4CAA4C,CAAA;AAEzD,MAAM,gBAAgB,GAAG,gCAAgC,CAAA;AACzD,MAAM,iBAAiB,GAAG,yCAAyC,CAAA;AACnE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAA;AAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAA;AAC7C,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,mBAA6B,CAAA;AAErE,MAAM,OAAO,YAAY;IACvB,KAAK,CAAO;IACZ,MAAM,CAAS;IACf,OAAO,CAAS;IAChB;;OAEG;IACK,mBAAmB,CAAgB;IAC3C,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAA;IACjC,CAAC;IACD,IAAI,kBAAkB,CAAC,OAAkC;QACvD,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAA;QAClC,IAAI,CAAC,SAAS,EAAE,CAAA;IAClB,CAAC;IACD,aAAa,CAAyB;IACtC,IAAI,MAAM;QACR,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,4FAA4F,CAAC,CAAA;QAC/G,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IACO,aAAa,CAA2D;IAChF,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,eAAe,EAAE,CAAA;IACrD,CAAC;IACO,OAAO,CAAe;IAC9B,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,CAAA;IACzC,CAAC;IACD;;;OAGG;IACK,QAAQ,CAAe;IAC/B,IAAI,OAAO;QACT,IAAI,IAAI,CAAC,kBAAkB;YAAE,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QACrF,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAA;QACvC,OAAO,IAAI,CAAC,aAAa,EAAE,CAAA;IAC7B,CAAC;IAED,YAAY,KAAY,EAAE,MAAe,EAAE,MAAe;QACxD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAY,EAAE,MAAe;QACtD,IAAI,MAAc,CAAA;QAClB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,iBAAiB,IAAI,MAAM,EAAE,CAAA;YACzC,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;QAChD,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAA;QACxC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAA;QAC7D,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;IAC9C,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,aAAa;YAChB,IAAI,CAAC,aAAa;gBAClB,kBAAkB,CAAC;oBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC5B,SAAS,EAAE,SAAS,EAAK;iBAC1B,CAAC,CAAA;QACJ,OAAO,IAAI,CAAC,aAAc,CAAA;IAC5B,CAAC;IAEO,SAAS;QACf,MAAM,MAAM,GAAG,kBAAkB,CAAC;YAChC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAC5B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,SAAS,EAAmB;SACxC,CAAC,CAAA;QAEF,MAAM,MAAM,GAA0C;YACpD,GAAG,MAAM;YACT,qFAAqF;YACrF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;oBACpB,KAAK,cAAc;wBACjB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;oBAC/B,KAAK,qBAAqB;wBACxB,mBAAmB;wBACnB,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;wBAClG,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAA;gBAC9E,CAAC;gBACD,mBAAmB;gBACnB,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC7B,CAAC;SACc,CAAA;QACjB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,aAAa,CAAC,UAAgB;QAC5B,MAAM,GAAG,GAAG,UAAU,IAAI,kBAAkB,EAAE,CAAA;QAC9C,MAAM,aAAa,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAA;QAC9C,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAA;QAC7B,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,mBAAmB,CAAC,OAAsB;QACxC,OAAO;YACL,OAAO;YACP,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;YAC7B,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;YACjC,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;YAC/B,SAAS,EAAE,IAAI;SAChB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,GAAG,gBAAgB,YAAY,YAAY,YAAY,YAAY,QAAQ,CAAA;YAC/F,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAC5B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;gBACxC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,mBAAmB;iBACpC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,IAAI,EAAE,2BAA2B,SAAS,EAAE;oBAC5C,YAAY,EAAE,2BAA2B,SAAS,EAAE;oBACpD,WAAW,EAAE;wBACX,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;wBACzB,YAAY,EAAE,SAAS;qBACxB;oBACD,sBAAsB,EAAE;wBACtB,YAAY,EAAE;4BACZ,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;yBACxB;qBACF;oBACD,iBAAiB,EAAE;wBACjB,OAAO,EAAE,KAAK;qBACf;oBACD,oBAAoB,EAAE;wBACpB,OAAO,EAAE,KAAK;wBACd,uBAAuB,EAAE,UAAU;qBACpC;iBACF,CAAC;aACH,CAAC,CAAA;YAEF,MAAM,cAAc,GAA2C,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YACpF,IAAI,OAAO,IAAI,cAAc,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;YACvD,CAAC;YACD,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,CAAA;YAC7E,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;YAClD,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,cAAc,CAAC,EAAE,CAAC,CAAA;YAC/D,IAAI,CAAC,aAAa,GAAG,cAAc,CAAA;YACnC,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,EAAE,CAAA;YAC/B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,CAAA;YAC5B,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,EAAE,CAAA;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,GAAG,gBAAgB,YAAY,YAAY,YAAY,YAAY,UAAU,IAAI,CAAC,MAAM,EAAE,CAAA;YAC9G,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;gBACxC,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE;oBACP,cAAc,EAAE,mBAA6B;iBAC9C;aACF,CAAC,CAAA;YACF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;gBACpE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YACxD,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YACzD,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAA;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YACpE,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,MAAc;QAClD,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;gBAChD,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,qBAAqB;gBAC7B,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAChC,EAAE,EAAE,MAAM;aACX,CAAC,CAAA;YAEF,OAAO,SAAS,CAAA;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAe,EAAE,MAAc;QACpD,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;gBAClD,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,0BAA0B;gBAClC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACtC,EAAE,EAAE,MAAM;aACX,CAAC,CAAA;YAEF,OAAO,WAAW,CAAA;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export type HexString = `0x${string}`;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,KAAK,MAAM,EAAE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,92 @@
1
+ export type FileType = {
2
+ uri: string;
3
+ mime: string;
4
+ };
5
+ export type PoolMetadata = {
6
+ version?: number;
7
+ pool: {
8
+ name: string;
9
+ icon: FileType | null;
10
+ asset: {
11
+ class: 'Public credit' | 'Private credit';
12
+ subClass: string;
13
+ };
14
+ investorType: string;
15
+ poolStructure: string;
16
+ poolFees?: {
17
+ id: number;
18
+ name: string;
19
+ feePosition: 'Top of waterfall';
20
+ feeType?: string;
21
+ }[];
22
+ newInvestmentsStatus?: Record<string, 'closed' | 'request' | 'open'>;
23
+ issuer: {
24
+ repName: string;
25
+ name: string;
26
+ description: string;
27
+ email: string;
28
+ logo?: FileType | null;
29
+ shortDescription: string;
30
+ categories: {
31
+ type: string;
32
+ value: string;
33
+ customType?: string;
34
+ }[];
35
+ };
36
+ links: {
37
+ executiveSummary: FileType | null;
38
+ forum?: string;
39
+ website?: string;
40
+ };
41
+ details?: {
42
+ title: string;
43
+ body: string;
44
+ }[];
45
+ status: 'open' | 'upcoming' | 'hidden';
46
+ listed: boolean;
47
+ reports?: {
48
+ author: {
49
+ name: string;
50
+ title: string;
51
+ avatar: FileType | null;
52
+ };
53
+ uri: string;
54
+ }[];
55
+ poolRatings?: {
56
+ agency?: string;
57
+ value?: string;
58
+ reportUrl?: string;
59
+ reportFile?: FileType | null;
60
+ }[];
61
+ };
62
+ pod?: {
63
+ indexer?: string | null;
64
+ };
65
+ tranches: Record<string, {
66
+ icon?: FileType | null;
67
+ minInitialInvestment?: string;
68
+ targetAPY?: string;
69
+ }>;
70
+ loanTemplates?: {
71
+ id: string;
72
+ createdAt: string;
73
+ }[];
74
+ adminMultisig?: {
75
+ signers: string[];
76
+ threshold: number;
77
+ };
78
+ onboarding?: {
79
+ kybRestrictedCountries?: string[];
80
+ kycRestrictedCountries?: string[];
81
+ externalOnboardingUrl?: string;
82
+ tranches: {
83
+ [trancheId: string]: {
84
+ agreement: FileType | undefined;
85
+ openForOnboarding: boolean;
86
+ };
87
+ };
88
+ podReadAccess?: boolean;
89
+ taxInfoRequired?: boolean;
90
+ };
91
+ };
92
+ //# sourceMappingURL=poolMetadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poolMetadata.d.ts","sourceRoot":"","sources":["../../src/types/poolMetadata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=poolMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poolMetadata.js","sourceRoot":"","sources":["../../src/types/poolMetadata.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import type { Observable } from 'rxjs';
2
+ export type CentrifugeQueryOptions = {
3
+ observableCacheTime?: number;
4
+ valueCacheTime?: number;
5
+ cache?: boolean;
6
+ };
7
+ export type Query<T> = PromiseLike<T> & Observable<T> & {
8
+ toPromise: () => Promise<T>;
9
+ };
10
+ export type QueryFn = <T>(keys: (string | number)[] | null, cb: () => Observable<T>, options?: CentrifugeQueryOptions) => Query<T>;
11
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/types/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAEtC,MAAM,MAAM,sBAAsB,GAAG;IAGnC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAG5B,cAAc,CAAC,EAAE,MAAM,CAAA;IAGvB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG;IAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,CAAA;AACvF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,EACtB,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,EAChC,EAAE,EAAE,MAAM,UAAU,CAAC,CAAC,CAAC,EACvB,OAAO,CAAC,EAAE,sBAAsB,KAC7B,KAAK,CAAC,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/types/query.ts"],"names":[],"mappings":""}
@@ -0,0 +1,47 @@
1
+ import type { Account, Chain, LocalAccount, PublicClient, TransactionReceipt, WalletClient } from 'viem';
2
+ import type { HexString } from './index.js';
3
+ import type { Query } from './query.js';
4
+ export type OperationStatusType = 'SwitchingChain' | 'SigningTransaction' | 'SigningMessage' | 'SignedMessage' | 'TransactionPending' | 'TransactionConfirmed';
5
+ export type OperationSigningStatus = {
6
+ type: 'SigningTransaction';
7
+ title: string;
8
+ };
9
+ export type OperationSigningMessageStatus = {
10
+ type: 'SigningMessage';
11
+ title: string;
12
+ };
13
+ export type OperationSignedMessageStatus = {
14
+ type: 'SignedMessage';
15
+ title: string;
16
+ signed: any;
17
+ };
18
+ export type OperationPendingStatus = {
19
+ type: 'TransactionPending';
20
+ title: string;
21
+ hash: HexString;
22
+ };
23
+ export type OperationConfirmedStatus = {
24
+ type: 'TransactionConfirmed';
25
+ title: string;
26
+ hash: HexString;
27
+ receipt: TransactionReceipt;
28
+ };
29
+ export type OperationSwitchChainStatus = {
30
+ type: 'SwitchingChain';
31
+ chainId: number;
32
+ };
33
+ export type OperationStatus = OperationSigningStatus | OperationSigningMessageStatus | OperationSignedMessageStatus | OperationPendingStatus | OperationConfirmedStatus | OperationSwitchChainStatus;
34
+ export type EIP1193ProviderLike = {
35
+ request(...args: any): Promise<any>;
36
+ };
37
+ export type Signer = EIP1193ProviderLike | LocalAccount;
38
+ export type TransactionCallbackParams = {
39
+ signingAddress: HexString;
40
+ chain: Chain;
41
+ chainId: number;
42
+ publicClient: PublicClient;
43
+ walletClient: WalletClient<any, Chain, Account>;
44
+ signer: Signer;
45
+ };
46
+ export type Transaction = Query<OperationStatus>;
47
+ //# sourceMappingURL=transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/types/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACxG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,MAAM,MAAM,mBAAmB,GAC3B,gBAAgB,GAChB,oBAAoB,GACpB,gBAAgB,GAChB,eAAe,GACf,oBAAoB,GACpB,sBAAsB,CAAA;AAE1B,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,oBAAoB,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AACD,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,gBAAgB,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AACD,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,eAAe,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,GAAG,CAAA;CACZ,CAAA;AACD,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,oBAAoB,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,SAAS,CAAA;CAChB,CAAA;AACD,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,sBAAsB,CAAA;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,EAAE,kBAAkB,CAAA;CAC5B,CAAA;AACD,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,gBAAgB,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,eAAe,GACvB,sBAAsB,GACtB,6BAA6B,GAC7B,4BAA4B,GAC5B,sBAAsB,GACtB,wBAAwB,GACxB,0BAA0B,CAAA;AAE9B,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;CACpC,CAAA;AACD,MAAM,MAAM,MAAM,GAAG,mBAAmB,GAAG,YAAY,CAAA;AAEvD,MAAM,MAAM,yBAAyB,GAAG;IACtC,cAAc,EAAE,SAAS,CAAA;IACzB,KAAK,EAAE,KAAK,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,YAAY,CAAA;IAC1B,YAAY,EAAE,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IAC/C,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/types/transaction.ts"],"names":[],"mappings":""}
@@ -0,0 +1,80 @@
1
+ import { type Numeric } from './decimal.js';
2
+ export declare abstract class BigIntWrapper {
3
+ protected value: bigint;
4
+ constructor(value: Numeric | bigint);
5
+ toString(): string;
6
+ toBigInt(): bigint;
7
+ }
8
+ export declare class DecimalWrapper extends BigIntWrapper {
9
+ readonly decimals: number;
10
+ constructor(value: Numeric | bigint, decimals: number);
11
+ static _fromFloat<T extends DecimalWrapper>(num: Numeric, decimals: number): T;
12
+ toDecimal(): import("decimal.js-light").default;
13
+ toFloat(): number;
14
+ _add<T>(value: bigint | (T extends DecimalWrapper ? T : never)): T;
15
+ _sub<T>(value: bigint | (T extends DecimalWrapper ? T : never)): T;
16
+ /**
17
+ * a._mul(b) will preserve the decimals of a
18
+ * @example
19
+ * Currency.fromFloat(1, 6).mul(Price.fromFloat(1.01))
20
+ * // Price has 18 decimals
21
+ * // returns Currency with 6 decimals (1_010_000n or 1.01)
22
+ */
23
+ _mul<T>(value: bigint | (T extends DecimalWrapper ? T : never)): T;
24
+ _div<T>(value: bigint | (T extends BigIntWrapper ? T : never)): T;
25
+ lt<T>(value: bigint | (T extends BigIntWrapper ? T : never)): boolean;
26
+ lte<T>(value: bigint | (T extends BigIntWrapper ? T : never)): boolean;
27
+ gt<T>(value: bigint | (T extends BigIntWrapper ? T : never)): boolean;
28
+ gte<T>(value: bigint | (T extends BigIntWrapper ? T : never)): boolean;
29
+ eq<T>(value: bigint | (T extends BigIntWrapper ? T : never)): boolean;
30
+ isZero(): boolean;
31
+ }
32
+ export declare class Currency extends DecimalWrapper {
33
+ static fromFloat(num: Numeric, decimals: number): Currency;
34
+ static ZERO: Currency;
35
+ add(value: bigint | Currency): Currency;
36
+ sub(value: bigint | Currency): Currency;
37
+ mul(value: bigint | Currency | Price): Currency;
38
+ div(value: bigint | Currency): Currency;
39
+ }
40
+ export declare class Token extends Currency {
41
+ static fromFloat(number: Numeric, decimals: number): Token;
42
+ static ZERO: Token;
43
+ add(value: bigint | Token): Token;
44
+ sub(value: bigint | Token): Token;
45
+ mul(value: bigint | Token): Token;
46
+ div(value: bigint | Token): Token;
47
+ }
48
+ /**
49
+ * @deprecated
50
+ */
51
+ export declare class Rate extends DecimalWrapper {
52
+ static decimals: number;
53
+ static fromFloat(number: Numeric): Rate;
54
+ static fromPercent(number: Numeric): Rate;
55
+ static fromApr(apr: Numeric): Rate;
56
+ static fromAprPercent(apr: Numeric): Rate;
57
+ toPercent(): import("decimal.js-light").default;
58
+ toApr(): import("decimal.js-light").default;
59
+ toAprPercent(): import("decimal.js-light").default;
60
+ }
61
+ export declare class Price extends DecimalWrapper {
62
+ static decimals: number;
63
+ constructor(value: Numeric | bigint);
64
+ static fromFloat(number: Numeric): Price;
65
+ add(value: bigint | Price): Price;
66
+ sub(value: bigint | Price): Price;
67
+ mul(value: bigint | Price): Price;
68
+ div(value: bigint | Price): Price;
69
+ }
70
+ /**
71
+ * @deprecated
72
+ */
73
+ export declare class Perquintill extends DecimalWrapper {
74
+ static decimals: number;
75
+ constructor(value: Numeric | bigint);
76
+ static fromFloat(number: Numeric): Perquintill;
77
+ static fromPercent(number: Numeric): Perquintill;
78
+ toPercent(): import("decimal.js-light").default;
79
+ }
80
+ //# sourceMappingURL=BigInt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BigInt.d.ts","sourceRoot":"","sources":["../../src/utils/BigInt.ts"],"names":[],"mappings":"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"}