@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
package/README.md CHANGED
@@ -30,6 +30,13 @@ The following config options can be passed on initialization of the SDK:
30
30
  - `rpcUrls: Record<number, string>`
31
31
  - Optional
32
32
  - A object mapping chain ids to RPC URLs
33
+ - `indexerUrl: string`
34
+ - Optional
35
+ - A URL for the indexer
36
+ - `ipfsUrl: string`
37
+ - Optional
38
+ - A URL for an IPFS gateway
39
+ - Default value: `https://centrifuge.mypinata.cloud`
33
40
 
34
41
  ## Queries
35
42
 
@@ -1,3 +1,4 @@
1
+ import type { Observable } from 'rxjs';
1
2
  import { type Abi, type Account as AccountType, type Chain } from 'viem';
2
3
  import { Investor } from './entities/Investor.js';
3
4
  import { Pool } from './entities/Pool.js';
@@ -6893,31 +6894,52 @@ export declare class Centrifuge {
6893
6894
  * @param metadataInput - The metadata for the pool
6894
6895
  * @param currencyCode - The currency code for the pool
6895
6896
  * @param chainId - The chain ID to create the pool on
6897
+ * @param counter - The pool counter, used to create a unique pool ID (uint48)
6896
6898
  */
6897
- createPool(metadataInput: PoolMetadataInput, currencyCode: number | undefined, chainId: number, counter: number): Transaction;
6899
+ createPool(metadataInput: PoolMetadataInput, currencyCode: number | undefined, chainId: number, counter?: number | bigint): Transaction;
6898
6900
  id(chainId: number): Query<number>;
6899
6901
  /**
6900
6902
  * Get the existing pools on the different chains.
6901
6903
  */
6902
- pools(): Query<Pool[]>;
6904
+ pools(): Observable<Pool[]>;
6903
6905
  pool(id: PoolId): Query<Pool>;
6904
6906
  /**
6905
6907
  * Get the metadata for an ERC20 token
6906
6908
  * @param address - The token address
6907
6909
  * @param chainId - The chain ID
6908
6910
  */
6909
- currency(address: string, chainId: number): Query<CurrencyDetails>;
6910
- investor(address: string): Query<Investor>;
6911
+ currency(address: HexString, chainId: number): Query<CurrencyDetails>;
6912
+ investor(address: HexString): Query<Investor>;
6911
6913
  /**
6912
6914
  * Get the balance of an ERC20 token for a given owner.
6913
6915
  * @param currency - The token address
6914
6916
  * @param owner - The owner address
6915
6917
  * @param chainId - The chain ID
6916
6918
  */
6917
- balance(currency: string, owner: string, chainId: number): Query<{
6919
+ balance(currency: HexString, owner: HexString, chainId: number): Query<{
6918
6920
  balance: Balance;
6919
6921
  currency: CurrencyDetails;
6920
6922
  }>;
6923
+ /**
6924
+ * Get the assets that exist on a given spoke chain that have been registered on a given hub chain.
6925
+ * @param spokeChainId - The chain ID where the assets exist
6926
+ * @param hubChainId - The chain ID where the assets should optionally be registered
6927
+ */
6928
+ assets(spokeChainId: number, hubChainId?: number): Query<{
6929
+ registeredOnCentrifugeId: number;
6930
+ id: AssetId;
6931
+ address: `0x${string}`;
6932
+ name: string;
6933
+ symbol: string;
6934
+ }[]>;
6935
+ /**
6936
+ * Register an asset
6937
+ * @param originChainId - The chain ID where the asset exists
6938
+ * @param registerOnChainId - The chain ID where the asset should be registered
6939
+ * @param assetAddress - The address of the asset to register
6940
+ * @param tokenId - Optional token ID for ERC6909 assets
6941
+ */
6942
+ registerAsset(originChainId: number, registerOnChainId: number, assetAddress: HexString, tokenId?: number | bigint): Transaction;
6921
6943
  /**
6922
6944
  * Get the decimals of asset
6923
6945
  */
@@ -6926,7 +6948,6 @@ export declare class Centrifuge {
6926
6948
  _protocolAddresses(chainId: number): Query<{
6927
6949
  currencies: `0x${string}`[];
6928
6950
  root: HexString;
6929
- adminSafe: HexString;
6930
6951
  guardian: HexString;
6931
6952
  gasService: HexString;
6932
6953
  gateway: HexString;
@@ -6947,13 +6968,15 @@ export declare class Centrifuge {
6947
6968
  fullRestrictionsHook: HexString;
6948
6969
  tokenFactory: HexString;
6949
6970
  asyncRequestManager: HexString;
6950
- syncRequestManager: HexString;
6951
6971
  asyncVaultFactory: HexString;
6972
+ wormholeAdapter: HexString;
6973
+ syncManager: HexString;
6974
+ axelarAdapter: HexString;
6952
6975
  syncDepositVaultFactory: HexString;
6953
6976
  spoke: HexString;
6954
6977
  vaultRouter: HexString;
6955
6978
  balanceSheet: HexString;
6956
6979
  }>;
6957
- _getQuote(valuationAddress: string, baseAmount: Balance, baseAssetId: AssetId, quoteAssetId: AssetId, chainId: number): Query<Balance>;
6980
+ _getQuote(valuationAddress: HexString, baseAmount: Balance, baseAssetId: AssetId, quoteAssetId: AssetId, chainId: number): Query<Balance>;
6958
6981
  }
6959
6982
  //# sourceMappingURL=Centrifuge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Centrifuge.d.ts","sourceRoot":"","sources":["../src/Centrifuge.ts"],"names":[],"mappings":"AAiBA,OAAO,EASL,KAAK,GAAG,EACR,KAAK,OAAO,IAAI,WAAW,EAC3B,KAAK,KAAK,EAGX,MAAM,MAAM,CAAA;AAKb,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,KAAK,EAEV,eAAe,EACf,aAAa,EAEb,SAAS,EAET,kBAAkB,EACnB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAExD,OAAO,KAAK,EAA0B,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACrE,OAAO,KAAK,EAAmB,MAAM,EAAE,WAAW,EAA6B,MAAM,wBAAwB,CAAA;AAC7G,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAK3C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAyClD,qBAAa,UAAU;;IAErB,IAAI,MAAM,kBAET;IAGD,SAAS,CAAC,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;qrBAoQF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAwPrB,CAAA;uCA2BG,CAAJ;;;;;;;;;;;;;;;;6eAqOkmW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAzvBrmW,IAAI,MAAM,aAET;IACD,cAAc,CAAC,OAAO,EAAE,MAAM;IAK9B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAG/B,IAAI,MAAM,kBAET;gBAEW,MAAM,GAAE,kBAAuB;IAgC3C;;;;;OAKG;IACH,UAAU,CAAC,aAAa,EAAE,iBAAiB,EAAE,YAAY,oBAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IA4GjG,EAAE,CAAC,OAAO,EAAE,MAAM;IAclB;;OAEG;IACH,KAAK;IAgBL,IAAI,CAAC,EAAE,EAAE,MAAM;IAYf;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC;IA8BlE,QAAQ,CAAC,OAAO,EAAE,MAAM;IAIxB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;;;;IAsCxD;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;IAuF/C,aAAa,CAAC,MAAM,EAAE,MAAM,EAC1B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GACpC,KAAK,CAAC,MAAM,CAAC;IAqShB,kBAAkB,CAAC,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4BlC,SAAS,CACP,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,OAAO,EACnB,WAAW,EAAE,OAAO,EACpB,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE,MAAM;CAmDlB"}
1
+ {"version":3,"file":"Centrifuge.d.ts","sourceRoot":"","sources":["../src/Centrifuge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAiBtC,OAAO,EAUL,KAAK,GAAG,EACR,KAAK,OAAO,IAAI,WAAW,EAC3B,KAAK,KAAK,EAGX,MAAM,MAAM,CAAA;AAKb,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,KAAK,EAEV,eAAe,EACf,aAAa,EAEb,SAAS,EAET,kBAAkB,EACnB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAExD,OAAO,KAAK,EAA0B,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACrE,OAAO,KAAK,EAAmB,MAAM,EAAE,WAAW,EAA6B,MAAM,wBAAwB,CAAA;AAC7G,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAM3C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAgB,MAAM,kBAAkB,CAAA;AAiChE,qBAAa,UAAU;;IAErB,IAAI,MAAM,kBAET;IAGD,SAAS,CAAC,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;qrBAkQJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BA0PV,CAAC;uCAwCC,CAAC;;;;;;;;;;;;;;;;6eAsXsrJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAv5BtsJ,IAAI,MAAM,aAET;IACD,cAAc,CAAC,OAAO,EAAE,MAAM;IAK9B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAG/B,IAAI,MAAM,kBAET;gBAEW,MAAM,GAAE,kBAAuB;IAgC3C;;;;;;OAMG;IACH,UAAU,CAAC,aAAa,EAAE,iBAAiB,EAAE,YAAY,oBAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IA0I3G,EAAE,CAAC,OAAO,EAAE,MAAM;IAclB;;OAEG;IACH,KAAK;IAsBL,IAAI,CAAC,EAAE,EAAE,MAAM;IAYf;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC;IA8BrE,QAAQ,CAAC,OAAO,EAAE,SAAS;IAI3B;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM;;;;IAsC9D;;;;OAIG;IACH,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,SAAe;;;;;;;IAiDtD;;;;;;OAMG;IACH,aAAa,CACX,aAAa,EAAE,MAAM,EACrB,iBAAiB,EAAE,MAAM,EACzB,YAAY,EAAE,SAAS,EACvB,OAAO,GAAE,MAAM,GAAG,MAAU;IAqB9B;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;IAuF/C,aAAa,CAAC,MAAM,EAAE,MAAM,EAC1B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GACpC,KAAK,CAAC,MAAM,CAAC;IAqShB,kBAAkB,CAAC,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+DlC,SAAS,CACP,gBAAgB,EAAE,SAAS,EAC3B,UAAU,EAAE,OAAO,EACnB,WAAW,EAAE,OAAO,EACpB,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE,MAAM;CAmDlB"}
@@ -1,6 +1,6 @@
1
1
  import { combineLatest, concatWith, defaultIfEmpty, defer, filter, identity, isObservable, map, mergeMap, of, Subject, switchMap, using, } from 'rxjs';
2
2
  import { fromFetch } from 'rxjs/fetch';
3
- import { createPublicClient, createWalletClient, custom, getContract, http, parseAbi, parseEventLogs, toHex, } from 'viem';
3
+ import { createPublicClient, createWalletClient, custom, encodeFunctionData, getContract, http, parseAbi, parseEventLogs, toHex, } from 'viem';
4
4
  import { ABI } from './abi/index.js';
5
5
  import { chainIdToNetwork, chains } from './config/chains.js';
6
6
  import { currencies } from './config/protocol.js';
@@ -8,34 +8,32 @@ import { PERMIT_TYPEHASH } from './constants.js';
8
8
  import { Investor } from './entities/Investor.js';
9
9
  import { Pool } from './entities/Pool.js';
10
10
  import { Balance } from './utils/BigInt.js';
11
+ import { randomUint } from './utils/index.js';
11
12
  import { createPinning, getUrlFromHash } from './utils/ipfs.js';
12
13
  import { hashKey } from './utils/query.js';
13
14
  import { makeThenable, repeatOnEvents, shareReplayWithDelayedReset } from './utils/rx.js';
14
15
  import { doTransaction, isLocalAccount } from './utils/transaction.js';
15
- import { PoolId } from './utils/types.js';
16
+ import { AssetId, PoolId, ShareClassId } from './utils/types.js';
16
17
  const PINNING_API_DEMO = 'https://europe-central2-peak-vista-185616.cloudfunctions.net/pinning-api-demo';
17
18
  const envConfig = {
18
19
  mainnet: {
19
- indexerUrl: 'https://subql.embrio.tech/',
20
+ indexerUrl: 'https://api-v3-hitz.marble.live/graphql',
20
21
  alchemyKey: 'KNR-1LZhNqWOxZS2AN8AFeaiESBV10qZ',
21
22
  infuraKey: '8ed99a9a115349bbbc01dcf3a24edc96',
22
- defaultChain: 1,
23
23
  ipfsUrl: 'https://centrifuge.mypinata.cloud',
24
24
  ...createPinning(PINNING_API_DEMO),
25
25
  },
26
26
  demo: {
27
- indexerUrl: 'https://api.subquery.network/sq/centrifuge/pools-demo-multichain',
27
+ indexerUrl: 'https://api-v3-hitz.marble.live/graphql',
28
28
  alchemyKey: 'KNR-1LZhNqWOxZS2AN8AFeaiESBV10qZ',
29
29
  infuraKey: '8cd8e043ee8d4001b97a1c37e08fd9dd',
30
- defaultChain: 11155111,
31
30
  ipfsUrl: 'https://centrifuge.mypinata.cloud',
32
31
  ...createPinning(PINNING_API_DEMO),
33
32
  },
34
33
  dev: {
35
- indexerUrl: 'https://api.subquery.network/sq/centrifuge/pools-demo-multichain',
34
+ indexerUrl: 'http://localhost:42069/graphql',
36
35
  alchemyKey: 'KNR-1LZhNqWOxZS2AN8AFeaiESBV10qZ',
37
36
  infuraKey: '8cd8e043ee8d4001b97a1c37e08fd9dd',
38
- defaultChain: 11155111,
39
37
  ipfsUrl: 'https://centrifuge.mypinata.cloud',
40
38
  ...createPinning(PINNING_API_DEMO),
41
39
  },
@@ -44,10 +42,6 @@ const defaultConfig = {
44
42
  environment: 'mainnet',
45
43
  cache: true,
46
44
  };
47
- // Hardcoded pools until we have the indexer
48
- const TEMP_POOLS = {
49
- 11155111: [1, 2],
50
- };
51
45
  export class Centrifuge {
52
46
  #config;
53
47
  get config() {
@@ -103,37 +97,26 @@ export class Centrifuge {
103
97
  * @param metadataInput - The metadata for the pool
104
98
  * @param currencyCode - The currency code for the pool
105
99
  * @param chainId - The chain ID to create the pool on
100
+ * @param counter - The pool counter, used to create a unique pool ID (uint48)
106
101
  */
107
102
  createPool(metadataInput, currencyCode = 840, chainId, counter) {
108
103
  const self = this;
109
104
  return this._transactSequence(async function* ({ walletClient, signingAddress, publicClient }) {
110
105
  const [addresses, id] = await Promise.all([self._protocolAddresses(chainId), self.id(chainId)]);
111
- const result = yield* doTransaction('Create pool', publicClient, () => walletClient.writeContract({
112
- address: addresses.hubRegistry,
106
+ const poolId = PoolId.from(id, counter ?? randomUint(48));
107
+ const createPoolData = encodeFunctionData({
113
108
  abi: ABI.Hub,
114
109
  functionName: 'createPool',
115
- args: [PoolId.from(id, counter).raw, signingAddress, BigInt(currencyCode)],
116
- }));
117
- const logs = parseEventLogs({
118
- abi: ABI.HubRegistry,
119
- eventName: 'NewPool',
120
- logs: result.receipt.logs,
110
+ args: [poolId.raw, signingAddress, BigInt(currencyCode)],
121
111
  });
122
- const poolId = logs[0].args.poolId;
123
- const scIds = await Promise.all(Array.from({ length: metadataInput.shareClasses.length }, (_, i) => {
124
- return self.getClient(chainId).readContract({
125
- address: addresses.shareClassManager,
126
- abi: ABI.ShareClassManager,
127
- functionName: 'previewShareClassId',
128
- args: [poolId, i + 1],
129
- });
130
- }));
112
+ const scIds = Array.from({ length: metadataInput.shareClasses.length }, (_, i) => ShareClassId.from(poolId, i + 1));
131
113
  const shareClassesById = {};
132
114
  metadataInput.shareClasses.forEach((sc, index) => {
133
- shareClassesById[scIds[index]] = {
115
+ shareClassesById[scIds[index].raw] = {
134
116
  minInitialInvestment: Balance.fromFloat(sc.minInvestment, 18).toString(),
135
117
  apyPercentage: sc.apyPercentage,
136
118
  apy: sc.apy,
119
+ defaultAccounts: sc.defaultAccounts,
137
120
  };
138
121
  });
139
122
  const formattedMetadata = {
@@ -185,18 +168,55 @@ export class Centrifuge {
185
168
  externalOnboardingUrl: metadataInput.onboarding?.externalOnboardingUrl,
186
169
  },
187
170
  };
188
- console.log('poolId', poolId, formattedMetadata);
189
- // TODO: add metadata and share classes
190
- // const enableData = encodeFunctionData({
191
- // abi: ABI.Hub,
192
- // functionName: 'setMetadata',
193
- // args: ["IPFS_HASH"],
194
- // })
195
- // const requestData = encodeFunctionData({
196
- // abi: ABI.Hub,
197
- // functionName: 'addShareClass',
198
- // args: [SC_NAME, SC_SYMBOL, SC_SALT, ''],
199
- // })
171
+ const cid = await self.config.pinJson(formattedMetadata);
172
+ const setMetadataData = encodeFunctionData({
173
+ abi: ABI.Hub,
174
+ functionName: 'setPoolMetadata',
175
+ args: [poolId.raw, toHex(cid)],
176
+ });
177
+ const addScData = metadataInput.shareClasses.map((sc) => encodeFunctionData({
178
+ abi: ABI.Hub,
179
+ functionName: 'addShareClass',
180
+ args: [
181
+ poolId.raw,
182
+ sc.tokenName,
183
+ sc.symbolName,
184
+ sc.salt?.startsWith('0x') ? sc.salt : toHex(sc.salt ?? randomUint(256), { size: 32 }),
185
+ ],
186
+ }));
187
+ const accountIsDebitNormal = new Map();
188
+ const accountNumbers = [
189
+ ...new Set(metadataInput.shareClasses.flatMap((sc) => Object.entries(sc.defaultAccounts ?? {})
190
+ .filter(([k, v]) => {
191
+ if (!v)
192
+ return false;
193
+ if (['asset', 'expense'].includes(k)) {
194
+ if (accountIsDebitNormal.get(v) === false)
195
+ throw new Error(`Account "${v}" is set as both credit normal and debit normal.`);
196
+ accountIsDebitNormal.set(v, true);
197
+ }
198
+ else {
199
+ if (accountIsDebitNormal.get(v) === true)
200
+ throw new Error(`Account "${v}" is set as both credit normal and debit normal.`);
201
+ accountIsDebitNormal.set(v, false);
202
+ }
203
+ return true;
204
+ })
205
+ .map(([, v]) => v))),
206
+ ];
207
+ const createAccountsData = accountNumbers.map((account) => encodeFunctionData({
208
+ abi: ABI.Hub,
209
+ functionName: 'createAccount',
210
+ args: [poolId.raw, account, accountIsDebitNormal.get(account)],
211
+ }));
212
+ yield* doTransaction('Create pool', publicClient, () => {
213
+ return walletClient.writeContract({
214
+ address: addresses.hub,
215
+ abi: ABI.Hub,
216
+ functionName: 'multicall',
217
+ args: [[createPoolData, setMetadataData, ...addScData, ...createAccountsData]],
218
+ });
219
+ });
200
220
  }, chainId);
201
221
  }
202
222
  id(chainId) {
@@ -212,13 +232,21 @@ export class Centrifuge {
212
232
  * Get the existing pools on the different chains.
213
233
  */
214
234
  pools() {
215
- // TODO: fetch from indexer
216
- return this._query(['pools'], () => {
217
- return combineLatest(Object.entries(TEMP_POOLS).map(([cid, poolCounters]) => {
218
- const chainId = Number(cid);
219
- return this.id(chainId).pipe(map((centId) => poolCounters.map((counter) => new Pool(this, PoolId.from(centId, counter).toString(), chainId))));
220
- })).pipe(map((poolsPerChain) => poolsPerChain.flat()));
221
- });
235
+ return this._queryIndexer(`{
236
+ pools {
237
+ items {
238
+ id
239
+ blockchain {
240
+ id
241
+ }
242
+ }
243
+ }
244
+ }`).pipe(map((data) => {
245
+ return data.pools.items.map((pool) => {
246
+ const poolId = new PoolId(pool.id);
247
+ return new Pool(this, poolId.toString(), Number(pool.blockchain.id));
248
+ });
249
+ }));
222
250
  }
223
251
  pool(id) {
224
252
  return this._query(null, () => this.pools().pipe(map((pools) => {
@@ -295,6 +323,63 @@ export class Centrifuge {
295
323
  }, chainId))));
296
324
  });
297
325
  }
326
+ /**
327
+ * Get the assets that exist on a given spoke chain that have been registered on a given hub chain.
328
+ * @param spokeChainId - The chain ID where the assets exist
329
+ * @param hubChainId - The chain ID where the assets should optionally be registered
330
+ */
331
+ assets(spokeChainId, hubChainId = spokeChainId) {
332
+ return this._query(null, () => combineLatest([this.id(spokeChainId), this.id(hubChainId)]).pipe(switchMap(([spokeCentId, hubCentId]) => this._queryIndexer(`query ($hubCentId: String!) {
333
+ assetRegistrations(where: { centrifugeId: $hubCentId, decimals_gt: 0 }) {
334
+ items {
335
+ id
336
+ name
337
+ symbol
338
+ decimals
339
+ asset {
340
+ centrifugeId
341
+ address
342
+ }
343
+ }
344
+ }
345
+ }`, { hubCentId: String(hubCentId) }, (data) => {
346
+ return data.assetRegistrations.items
347
+ .filter((assetReg) => Number(assetReg.asset.centrifugeId) === spokeCentId)
348
+ .map((assetReg) => {
349
+ return {
350
+ registeredOnCentrifugeId: hubCentId,
351
+ id: new AssetId(assetReg.id),
352
+ address: assetReg.asset.address,
353
+ name: assetReg.name,
354
+ symbol: assetReg.symbol,
355
+ };
356
+ });
357
+ }))));
358
+ }
359
+ /**
360
+ * Register an asset
361
+ * @param originChainId - The chain ID where the asset exists
362
+ * @param registerOnChainId - The chain ID where the asset should be registered
363
+ * @param assetAddress - The address of the asset to register
364
+ * @param tokenId - Optional token ID for ERC6909 assets
365
+ */
366
+ registerAsset(originChainId, registerOnChainId, assetAddress, tokenId = 0) {
367
+ const self = this;
368
+ return this._transactSequence(async function* ({ walletClient, publicClient }) {
369
+ const [addresses, id, estimate] = await Promise.all([
370
+ self._protocolAddresses(originChainId),
371
+ self.id(registerOnChainId),
372
+ self._estimate(originChainId, { chainId: registerOnChainId }),
373
+ ]);
374
+ yield* doTransaction('Register asset', publicClient, () => walletClient.writeContract({
375
+ address: addresses.spoke,
376
+ abi: ABI.Spoke,
377
+ functionName: 'registerAsset',
378
+ args: [id, assetAddress, BigInt(tokenId)],
379
+ value: estimate,
380
+ }));
381
+ }, originChainId);
382
+ }
298
383
  /**
299
384
  * Get the decimals of asset
300
385
  */
@@ -634,7 +719,42 @@ export class Centrifuge {
634
719
  const url = `${baseUrl}/${branch}/${folder}/${network}.json`;
635
720
  return fromFetch(url).pipe(switchMap((response) => {
636
721
  if (response.ok) {
637
- return response.json();
722
+ return response.json().then(() => {
723
+ // TODO: Replace temp addresses
724
+ return {
725
+ contracts: {
726
+ root: '0x6453C75B87852Eec5bDB5257C2fcb6c233F9fd0E',
727
+ guardian: '0x79419e5a6bDd4b709C3c02b46B20483675099619',
728
+ gasService: '0x588c02283dd3Ba23C0389480533Cb331C3D72E28',
729
+ gateway: '0x353a317bB82C69C4f7575879370D63CB372d2B83',
730
+ multiAdapter: '0x587Ed28F7d5d71A6254848B0870C3b21AABb0dA7',
731
+ messageProcessor: '0xA659572D933864965351ca84188Df993321aDD98',
732
+ messageDispatcher: '0x889Df3907f37ba3639432280196fC08CB3aaAD01',
733
+ hubRegistry: '0xEaAaedd16eD9435E3796340228CEda296F630ef3',
734
+ accounting: '0x99ec67Edce4058381806029BaCe7005B37F9CfB0',
735
+ holdings: '0x7b2D7f8f961cdc3718E455899A3779Db1b60EB7C',
736
+ shareClassManager: '0x7a943883873B46639c3F8FE0B81ED010CF6cEA4b',
737
+ hub: '0xC4f701841c8d4FC948EDF1658cE800C2790350eb',
738
+ identityValuation: '0x6Bcb240d3e1f1C4321ECAFFDacB45691DC03bE5D',
739
+ poolEscrowFactory: '0xE0bf3dAFe2b546aE18608dE988AaE1439868ce4d',
740
+ routerEscrow: '0xfCa8e874b908B97b034f69A57720B7Ac317eFD4E',
741
+ globalEscrow: '0xc9C0A8fa02F10D790E47CF7ED17A2C4A8852b15D',
742
+ freezeOnlyHook: '0x6C37c8536DA3Bd73D7AF4d6dE2371F6c5Bf282a4',
743
+ redemptionRestrictionsHook: '0xa72ecE5FcB7D559dCe839293D89992Bd20997AeB',
744
+ fullRestrictionsHook: '0x37FE09A48bBDae5Dbc479DE0D85F3c3D8279FbF9',
745
+ tokenFactory: '0xa1cbc70C7b45870b403BfF70861f70CC52EdDEAd',
746
+ asyncRequestManager: '0xefA2aa579b83BC2bc70DE4E84e916B7942A739f1',
747
+ syncManager: '0x24fB7024B7289322cFd4A03c9dd66Eebc10e4dA7',
748
+ asyncVaultFactory: '0x1C5F039CBe2d8bc63d9fF9d1bFdE0561a3efA5b5',
749
+ syncDepositVaultFactory: '0x0394C7f38c0b0e1cC9d835dD166eCB49A53f31e8',
750
+ spoke: '0x2e5613B4D8275AbdC82249873375EBA353431635',
751
+ vaultRouter: '0x9ce2423c8d6d0fEbCD596Ec94e5406782345729c',
752
+ balanceSheet: '0xD9c60d4318Abe64Be4d137CAc08f24B51388A1E3',
753
+ wormholeAdapter: '0xA77DF260E79fC0E9E2baaf5Fa7c4E8234210cCaD',
754
+ axelarAdapter: '0x3a10D135D00747e36eBb61Cb1554aF29f59675b5',
755
+ },
756
+ };
757
+ });
638
758
  }
639
759
  throw new Error(`Error ${response.status}`);
640
760
  }), map((data) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"Centrifuge.js","sourceRoot":"","sources":["../src/Centrifuge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Centrifuge.js","sourceRoot":"","sources":["../src/Centrifuge.ts"],"names":[],"mappings":"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"}