@centrifuge/sdk 0.0.0-alpha.3 → 0.0.0-alpha.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -8
- package/dist/Centrifuge.d.ts +276 -424
- package/dist/Centrifuge.d.ts.map +1 -1
- package/dist/Centrifuge.js +564 -132
- package/dist/Centrifuge.js.map +1 -1
- package/dist/Centrifuge.test.d.ts +2 -0
- package/dist/Centrifuge.test.d.ts.map +1 -0
- package/dist/Centrifuge.test.js +514 -0
- package/dist/Centrifuge.test.js.map +1 -0
- package/dist/abi/Accounting.abi.d.ts +3 -0
- package/dist/abi/Accounting.abi.d.ts.map +1 -0
- package/dist/abi/Accounting.abi.js +33 -0
- package/dist/abi/Accounting.abi.js.map +1 -0
- package/dist/abi/AsyncRequestManager.abi.d.ts +3 -0
- package/dist/abi/AsyncRequestManager.abi.d.ts.map +1 -0
- package/dist/abi/AsyncRequestManager.abi.js +78 -0
- package/dist/abi/AsyncRequestManager.abi.js.map +1 -0
- package/dist/abi/AsyncVault.abi.d.ts +3 -0
- package/dist/abi/AsyncVault.abi.d.ts.map +1 -0
- package/dist/abi/AsyncVault.abi.js +101 -0
- package/dist/abi/AsyncVault.abi.js.map +1 -0
- package/dist/abi/BalanceSheet.abi.d.ts +3 -0
- package/dist/abi/BalanceSheet.abi.d.ts.map +1 -0
- package/dist/abi/BalanceSheet.abi.js +55 -0
- package/dist/abi/BalanceSheet.abi.js.map +1 -0
- package/dist/abi/Currency.abi.d.ts +3 -0
- package/dist/abi/Currency.abi.d.ts.map +1 -0
- package/dist/abi/Currency.abi.js +15 -0
- package/dist/abi/Currency.abi.js.map +1 -0
- package/dist/abi/ERC6909.abi.d.ts +3 -0
- package/dist/abi/ERC6909.abi.d.ts.map +1 -0
- package/dist/abi/ERC6909.abi.js +19 -0
- package/dist/abi/ERC6909.abi.js.map +1 -0
- package/dist/abi/GasService.abi.d.ts +3 -0
- package/dist/abi/GasService.abi.d.ts.map +1 -0
- package/dist/abi/GasService.abi.js +31 -0
- package/dist/abi/GasService.abi.js.map +1 -0
- package/dist/abi/Holdings.abi.d.ts +3 -0
- package/dist/abi/Holdings.abi.d.ts.map +1 -0
- package/dist/abi/Holdings.abi.js +43 -0
- package/dist/abi/Holdings.abi.js.map +1 -0
- package/dist/abi/Hub.abi.d.ts +3 -0
- package/dist/abi/Hub.abi.d.ts.map +1 -0
- package/dist/abi/Hub.abi.js +89 -0
- package/dist/abi/Hub.abi.js.map +1 -0
- package/dist/abi/HubRegistry.abi.d.ts +3 -0
- package/dist/abi/HubRegistry.abi.d.ts.map +1 -0
- package/dist/abi/HubRegistry.abi.js +39 -0
- package/dist/abi/HubRegistry.abi.js.map +1 -0
- package/dist/abi/MessageDispatcher.abi.d.ts +3 -0
- package/dist/abi/MessageDispatcher.abi.d.ts.map +1 -0
- package/dist/abi/MessageDispatcher.abi.js +49 -0
- package/dist/abi/MessageDispatcher.abi.js.map +1 -0
- package/dist/abi/MultiAdapter.abi.d.ts +3 -0
- package/dist/abi/MultiAdapter.abi.d.ts.map +1 -0
- package/dist/abi/MultiAdapter.abi.js +53 -0
- package/dist/abi/MultiAdapter.abi.js.map +1 -0
- package/dist/abi/RestrictionManager.abi.d.ts +3 -0
- package/dist/abi/RestrictionManager.abi.d.ts.map +1 -0
- package/dist/abi/RestrictionManager.abi.js +23 -0
- package/dist/abi/RestrictionManager.abi.js.map +1 -0
- package/dist/abi/ShareClassManager.abi.d.ts +3 -0
- package/dist/abi/ShareClassManager.abi.d.ts.map +1 -0
- package/dist/abi/ShareClassManager.abi.js +89 -0
- package/dist/abi/ShareClassManager.abi.js.map +1 -0
- package/dist/abi/Spoke.abi.d.ts +3 -0
- package/dist/abi/Spoke.abi.d.ts.map +1 -0
- package/dist/abi/Spoke.abi.js +90 -0
- package/dist/abi/Spoke.abi.js.map +1 -0
- package/dist/abi/SyncRequestManager.abi.d.ts +3 -0
- package/dist/abi/SyncRequestManager.abi.d.ts.map +1 -0
- package/dist/abi/SyncRequestManager.abi.js +61 -0
- package/dist/abi/SyncRequestManager.abi.js.map +1 -0
- package/dist/abi/Valuation.abi.d.ts +3 -0
- package/dist/abi/Valuation.abi.d.ts.map +1 -0
- package/dist/abi/Valuation.abi.js +2 -0
- package/dist/abi/Valuation.abi.js.map +1 -0
- package/dist/abi/VaultRouter.abi.d.ts +3 -0
- package/dist/abi/VaultRouter.abi.d.ts.map +1 -0
- package/dist/abi/VaultRouter.abi.js +51 -0
- package/dist/abi/VaultRouter.abi.js.map +1 -0
- package/dist/abi/index.d.ts +8510 -8
- package/dist/abi/index.d.ts.map +1 -1
- package/dist/abi/index.js +36 -16
- package/dist/abi/index.js.map +1 -1
- package/dist/config/chains.d.ts +184 -925
- package/dist/config/chains.d.ts.map +1 -1
- package/dist/config/chains.js +2 -2
- package/dist/config/chains.js.map +1 -1
- package/dist/config/protocol.d.ts +3 -0
- package/dist/config/protocol.d.ts.map +1 -0
- package/dist/config/protocol.js +7 -0
- package/dist/config/protocol.js.map +1 -0
- package/dist/entities/BalanceSheet.d.ts +47 -0
- package/dist/entities/BalanceSheet.d.ts.map +1 -0
- package/dist/entities/BalanceSheet.js +94 -0
- package/dist/entities/BalanceSheet.js.map +1 -0
- package/dist/entities/BalanceSheet.test.d.ts +2 -0
- package/dist/entities/BalanceSheet.test.d.ts.map +1 -0
- package/dist/entities/BalanceSheet.test.js +44 -0
- package/dist/entities/BalanceSheet.test.js.map +1 -0
- package/dist/entities/Entity.d.ts +8 -0
- package/dist/entities/Entity.d.ts.map +1 -0
- package/dist/{Entity.js → entities/Entity.js} +5 -3
- package/dist/entities/Entity.js.map +1 -0
- package/dist/entities/IndexerQueries/assetSnapshots.d.ts +69 -0
- package/dist/entities/IndexerQueries/assetSnapshots.d.ts.map +1 -0
- package/dist/entities/IndexerQueries/assetSnapshots.js +91 -0
- package/dist/entities/IndexerQueries/assetSnapshots.js.map +1 -0
- package/dist/entities/IndexerQueries/assetTransactions.d.ts +93 -0
- package/dist/entities/IndexerQueries/assetTransactions.d.ts.map +1 -0
- package/dist/entities/IndexerQueries/assetTransactions.js +75 -0
- package/dist/entities/IndexerQueries/assetTransactions.js.map +1 -0
- package/dist/entities/IndexerQueries/epochs.d.ts +45 -0
- package/dist/entities/IndexerQueries/epochs.d.ts.map +1 -0
- package/dist/entities/IndexerQueries/epochs.js +51 -0
- package/dist/entities/IndexerQueries/epochs.js.map +1 -0
- package/dist/entities/IndexerQueries/index.d.ts +40 -0
- package/dist/entities/IndexerQueries/index.d.ts.map +1 -0
- package/dist/entities/IndexerQueries/index.js +45 -0
- package/dist/entities/IndexerQueries/index.js.map +1 -0
- package/dist/entities/IndexerQueries/investorTransactions.d.ts +50 -0
- package/dist/entities/IndexerQueries/investorTransactions.d.ts.map +1 -0
- package/dist/entities/IndexerQueries/investorTransactions.js +55 -0
- package/dist/entities/IndexerQueries/investorTransactions.js.map +1 -0
- package/dist/{queries → entities/IndexerQueries}/poolFeeSnapshots.d.ts +8 -8
- package/dist/entities/IndexerQueries/poolFeeSnapshots.d.ts.map +1 -0
- package/dist/{queries → entities/IndexerQueries}/poolFeeSnapshots.js +8 -8
- package/dist/entities/IndexerQueries/poolFeeSnapshots.js.map +1 -0
- package/dist/entities/IndexerQueries/poolFeeTransactions.d.ts +34 -0
- package/dist/entities/IndexerQueries/poolFeeTransactions.d.ts.map +1 -0
- package/dist/entities/IndexerQueries/poolFeeTransactions.js +37 -0
- package/dist/entities/IndexerQueries/poolFeeTransactions.js.map +1 -0
- package/dist/{queries → entities/IndexerQueries}/poolSnapshots.d.ts +30 -24
- package/dist/entities/IndexerQueries/poolSnapshots.d.ts.map +1 -0
- package/dist/{queries → entities/IndexerQueries}/poolSnapshots.js +29 -23
- package/dist/entities/IndexerQueries/poolSnapshots.js.map +1 -0
- package/dist/entities/IndexerQueries/trancheCurrencyBalance.d.ts +76 -0
- package/dist/entities/IndexerQueries/trancheCurrencyBalance.d.ts.map +1 -0
- package/dist/entities/IndexerQueries/trancheCurrencyBalance.js +63 -0
- package/dist/entities/IndexerQueries/trancheCurrencyBalance.js.map +1 -0
- package/dist/{queries → entities/IndexerQueries}/trancheSnapshots.d.ts +7 -7
- package/dist/entities/IndexerQueries/trancheSnapshots.d.ts.map +1 -0
- package/dist/{queries → entities/IndexerQueries}/trancheSnapshots.js +7 -7
- package/dist/entities/IndexerQueries/trancheSnapshots.js.map +1 -0
- package/dist/entities/Investor.d.ts +33 -0
- package/dist/entities/Investor.d.ts.map +1 -0
- package/dist/entities/Investor.js +59 -0
- package/dist/entities/Investor.js.map +1 -0
- package/dist/entities/Investor.test.d.ts +2 -0
- package/dist/entities/Investor.test.d.ts.map +1 -0
- package/dist/entities/Investor.test.js +16 -0
- package/dist/entities/Investor.test.js.map +1 -0
- package/dist/entities/Pool.d.ts +138 -0
- package/dist/entities/Pool.d.ts.map +1 -0
- package/dist/entities/Pool.js +297 -0
- package/dist/entities/Pool.js.map +1 -0
- package/dist/entities/Pool.test.d.ts +2 -0
- package/dist/entities/Pool.test.d.ts.map +1 -0
- package/dist/entities/Pool.test.js +91 -0
- package/dist/entities/Pool.test.js.map +1 -0
- package/dist/entities/PoolNetwork.d.ts +64 -0
- package/dist/entities/PoolNetwork.d.ts.map +1 -0
- package/dist/entities/PoolNetwork.js +252 -0
- package/dist/entities/PoolNetwork.js.map +1 -0
- package/dist/entities/PoolNetwork.test.d.ts +2 -0
- package/dist/entities/PoolNetwork.test.d.ts.map +1 -0
- package/dist/entities/PoolNetwork.test.js +64 -0
- package/dist/entities/PoolNetwork.test.js.map +1 -0
- package/dist/entities/Reports/Processor.d.ts +46 -0
- package/dist/entities/Reports/Processor.d.ts.map +1 -0
- package/dist/entities/Reports/Processor.js +471 -0
- package/dist/entities/Reports/Processor.js.map +1 -0
- package/dist/entities/Reports/Processor.test.d.ts +2 -0
- package/dist/entities/Reports/Processor.test.d.ts.map +1 -0
- package/dist/entities/Reports/Processor.test.js +767 -0
- package/dist/entities/Reports/Processor.test.js.map +1 -0
- package/dist/entities/Reports/Reports.test.d.ts +2 -0
- package/dist/entities/Reports/Reports.test.d.ts.map +1 -0
- package/dist/entities/Reports/Reports.test.js +559 -0
- package/dist/entities/Reports/Reports.test.js.map +1 -0
- package/dist/entities/Reports/index.d.ts +21 -0
- package/dist/entities/Reports/index.d.ts.map +1 -0
- package/dist/entities/Reports/index.js +144 -0
- package/dist/entities/Reports/index.js.map +1 -0
- package/dist/entities/ShareClass.d.ts +186 -0
- package/dist/entities/ShareClass.d.ts.map +1 -0
- package/dist/entities/ShareClass.js +978 -0
- package/dist/entities/ShareClass.js.map +1 -0
- package/dist/entities/ShareClass.test.d.ts +2 -0
- package/dist/entities/ShareClass.test.d.ts.map +1 -0
- package/dist/entities/ShareClass.test.js +108 -0
- package/dist/entities/ShareClass.test.js.map +1 -0
- package/dist/entities/Vault.d.ts +85 -0
- package/dist/entities/Vault.d.ts.map +1 -0
- package/dist/entities/Vault.js +385 -0
- package/dist/entities/Vault.js.map +1 -0
- package/dist/entities/Vault.test.d.ts +2 -0
- package/dist/entities/Vault.test.d.ts.map +1 -0
- package/dist/entities/Vault.test.js +272 -0
- package/dist/entities/Vault.test.js.map +1 -0
- package/dist/index.d.ts +16 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -6
- package/dist/index.js.map +1 -1
- package/dist/tests/mocks/mockAssetSnapshots.d.ts +3 -0
- package/dist/tests/mocks/mockAssetSnapshots.d.ts.map +1 -0
- package/dist/tests/mocks/mockAssetSnapshots.js +56 -0
- package/dist/tests/mocks/mockAssetSnapshots.js.map +1 -0
- package/dist/tests/mocks/mockAssetTransactions.d.ts +3 -0
- package/dist/tests/mocks/mockAssetTransactions.d.ts.map +1 -0
- package/dist/tests/mocks/mockAssetTransactions.js +86 -0
- package/dist/tests/mocks/mockAssetTransactions.js.map +1 -0
- package/dist/tests/mocks/mockEpochs.d.ts +3 -0
- package/dist/tests/mocks/mockEpochs.d.ts.map +1 -0
- package/dist/tests/mocks/mockEpochs.js +26 -0
- package/dist/tests/mocks/mockEpochs.js.map +1 -0
- package/dist/tests/mocks/mockInvestorCurrencyBalance.d.ts +3 -0
- package/dist/tests/mocks/mockInvestorCurrencyBalance.d.ts.map +1 -0
- package/dist/tests/mocks/mockInvestorCurrencyBalance.js +29 -0
- package/dist/tests/mocks/mockInvestorCurrencyBalance.js.map +1 -0
- package/dist/tests/mocks/mockInvestorTransactions.d.ts +3 -0
- package/dist/tests/mocks/mockInvestorTransactions.d.ts.map +1 -0
- package/dist/tests/mocks/mockInvestorTransactions.js +35 -0
- package/dist/tests/mocks/mockInvestorTransactions.js.map +1 -0
- package/dist/tests/mocks/mockPoolFeeSnapshot.d.ts +1 -1
- package/dist/tests/mocks/mockPoolFeeSnapshot.d.ts.map +1 -1
- package/dist/tests/mocks/mockPoolFeeSnapshot.js +29 -29
- package/dist/tests/mocks/mockPoolFeeSnapshot.js.map +1 -1
- package/dist/tests/mocks/mockPoolFeeTransactions.d.ts +11 -0
- package/dist/tests/mocks/mockPoolFeeTransactions.d.ts.map +1 -0
- package/dist/tests/mocks/mockPoolFeeTransactions.js +20 -0
- package/dist/tests/mocks/mockPoolFeeTransactions.js.map +1 -0
- package/dist/tests/mocks/mockPoolMetadata.d.ts.map +1 -1
- package/dist/tests/mocks/mockPoolMetadata.js +7 -17
- package/dist/tests/mocks/mockPoolMetadata.js.map +1 -1
- package/dist/tests/mocks/mockPoolSnapshots.d.ts +1 -1
- package/dist/tests/mocks/mockPoolSnapshots.d.ts.map +1 -1
- package/dist/tests/mocks/mockPoolSnapshots.js +47 -45
- package/dist/tests/mocks/mockPoolSnapshots.js.map +1 -1
- package/dist/tests/mocks/mockTrancheSnapshots.d.ts +1 -1
- package/dist/tests/mocks/mockTrancheSnapshots.d.ts.map +1 -1
- package/dist/tests/mocks/mockTrancheSnapshots.js +21 -21
- package/dist/tests/mocks/mockTrancheSnapshots.js.map +1 -1
- package/dist/tests/setup.d.ts.map +1 -1
- package/dist/tests/setup.js +3 -2
- package/dist/tests/setup.js.map +1 -1
- package/dist/tests/tenderly.js +1 -1
- package/dist/tests/tenderly.js.map +1 -1
- package/dist/tests/utils.d.ts +3 -0
- package/dist/tests/utils.d.ts.map +1 -0
- package/dist/tests/utils.js +4 -0
- package/dist/tests/utils.js.map +1 -0
- package/dist/types/holdings.d.ts +9 -0
- package/dist/types/holdings.d.ts.map +1 -0
- package/dist/types/holdings.js +10 -0
- package/dist/types/holdings.js.map +1 -0
- package/dist/types/index.d.ts +63 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/poolInput.d.ts +71 -0
- package/dist/types/poolInput.d.ts.map +1 -0
- package/dist/types/poolInput.js +2 -0
- package/dist/types/poolInput.js.map +1 -0
- package/dist/types/poolMetadata.d.ts +14 -13
- package/dist/types/poolMetadata.d.ts.map +1 -1
- package/dist/types/reports.d.ts +336 -0
- package/dist/types/reports.d.ts.map +1 -0
- package/dist/types/reports.js +2 -0
- package/dist/types/reports.js.map +1 -0
- package/dist/types/transaction.d.ts +49 -2
- package/dist/types/transaction.d.ts.map +1 -1
- package/dist/types/transaction.js +40 -1
- package/dist/types/transaction.js.map +1 -1
- package/dist/utils/BigInt.d.ts +15 -34
- package/dist/utils/BigInt.d.ts.map +1 -1
- package/dist/utils/BigInt.js +16 -23
- package/dist/utils/BigInt.js.map +1 -1
- package/dist/utils/BigInt.test.d.ts +2 -0
- package/dist/utils/BigInt.test.d.ts.map +1 -0
- package/dist/utils/BigInt.test.js +298 -0
- package/dist/utils/BigInt.test.js.map +1 -0
- package/dist/utils/currencies.d.ts +5 -0
- package/dist/utils/currencies.d.ts.map +1 -0
- package/dist/utils/currencies.js +7 -0
- package/dist/utils/currencies.js.map +1 -0
- package/dist/utils/date.d.ts.map +1 -1
- package/dist/utils/date.js +5 -4
- package/dist/utils/date.js.map +1 -1
- package/dist/utils/decimal.d.ts +2 -2
- package/dist/utils/decimal.d.ts.map +1 -1
- package/dist/utils/decimal.js.map +1 -1
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +24 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/ipfs.d.ts +7 -0
- package/dist/utils/ipfs.d.ts.map +1 -0
- package/dist/utils/ipfs.js +64 -0
- package/dist/utils/ipfs.js.map +1 -0
- package/dist/utils/ipfs.test.d.ts +2 -0
- package/dist/utils/ipfs.test.d.ts.map +1 -0
- package/dist/utils/ipfs.test.js +54 -0
- package/dist/utils/ipfs.test.js.map +1 -0
- package/dist/utils/rx.d.ts +1 -1
- package/dist/utils/rx.d.ts.map +1 -1
- package/dist/utils/rx.js +4 -0
- package/dist/utils/rx.js.map +1 -1
- package/dist/utils/transaction.d.ts +14 -2
- package/dist/utils/transaction.d.ts.map +1 -1
- package/dist/utils/transaction.js +57 -5
- package/dist/utils/transaction.js.map +1 -1
- package/dist/utils/types.d.ts +39 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/utils/types.js +89 -0
- package/dist/utils/types.js.map +1 -0
- package/dist/utils/types.test.d.ts +2 -0
- package/dist/utils/types.test.d.ts.map +1 -0
- package/dist/utils/types.test.js +89 -0
- package/dist/utils/types.test.js.map +1 -0
- package/package.json +13 -8
- package/dist/Account.d.ts +0 -11
- package/dist/Account.d.ts.map +0 -1
- package/dist/Account.js +0 -46
- package/dist/Account.js.map +0 -1
- package/dist/Entity.d.ts +0 -12
- package/dist/Entity.d.ts.map +0 -1
- package/dist/Entity.js.map +0 -1
- package/dist/Pool.d.ts +0 -27
- package/dist/Pool.d.ts.map +0 -1
- package/dist/Pool.js +0 -76
- package/dist/Pool.js.map +0 -1
- package/dist/PoolNetwork.d.ts +0 -82
- package/dist/PoolNetwork.d.ts.map +0 -1
- package/dist/PoolNetwork.js +0 -236
- package/dist/PoolNetwork.js.map +0 -1
- package/dist/Reports/Processor.d.ts +0 -38
- package/dist/Reports/Processor.d.ts.map +0 -1
- package/dist/Reports/Processor.js +0 -167
- package/dist/Reports/Processor.js.map +0 -1
- package/dist/Reports/index.d.ts +0 -24
- package/dist/Reports/index.d.ts.map +0 -1
- package/dist/Reports/index.js +0 -68
- package/dist/Reports/index.js.map +0 -1
- package/dist/Reports/types.d.ts +0 -102
- package/dist/Reports/types.d.ts.map +0 -1
- package/dist/Reports/types.js +0 -2
- package/dist/Reports/types.js.map +0 -1
- package/dist/Vault.d.ts +0 -96
- package/dist/Vault.d.ts.map +0 -1
- package/dist/Vault.js +0 -330
- package/dist/Vault.js.map +0 -1
- package/dist/abi/CentrifugeRouter.abi.json +0 -43
- package/dist/abi/Currency.abi.json +0 -14
- package/dist/abi/Gateway.abi.json +0 -1
- package/dist/abi/InvestmentManager.abi.json +0 -4
- package/dist/abi/LiquidityPool.abi.json +0 -79
- package/dist/abi/PoolManager.abi.json +0 -55
- package/dist/abi/RestrictionManager.abi.json +0 -22
- package/dist/abi/Router.abi.json +0 -1
- package/dist/config/lp.d.ts +0 -17
- package/dist/config/lp.d.ts.map +0 -1
- package/dist/config/lp.js +0 -35
- package/dist/config/lp.js.map +0 -1
- package/dist/queries/poolFeeSnapshots.d.ts.map +0 -1
- package/dist/queries/poolFeeSnapshots.js.map +0 -1
- package/dist/queries/poolSnapshots.d.ts.map +0 -1
- package/dist/queries/poolSnapshots.js.map +0 -1
- package/dist/queries/trancheSnapshots.d.ts.map +0 -1
- package/dist/queries/trancheSnapshots.js.map +0 -1
- package/dist/utils/pinToApi.d.ts +0 -2
- package/dist/utils/pinToApi.d.ts.map +0 -1
- package/dist/utils/pinToApi.js +0 -10
- package/dist/utils/pinToApi.js.map +0 -1
package/dist/Centrifuge.js.map
CHANGED
|
@@ -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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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Centrifuge.test.d.ts","sourceRoot":"","sources":["../src/Centrifuge.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,514 @@
|
|
|
1
|
+
import { expect } from 'chai';
|
|
2
|
+
import { combineLatest, defer, firstValueFrom, interval, map, of, Subject, take, tap, toArray } from 'rxjs';
|
|
3
|
+
import sinon from 'sinon';
|
|
4
|
+
import { createClient, custom } from 'viem';
|
|
5
|
+
import { Centrifuge } from './Centrifuge.js';
|
|
6
|
+
import { Pool } from './entities/Pool.js';
|
|
7
|
+
import { context } from './tests/setup.js';
|
|
8
|
+
import { randomAddress } from './tests/utils.js';
|
|
9
|
+
import { MessageType } from './types/transaction.js';
|
|
10
|
+
import { Balance } from './utils/BigInt.js';
|
|
11
|
+
import { doSignMessage, doTransaction } from './utils/transaction.js';
|
|
12
|
+
import { AssetId, PoolId } from './utils/types.js';
|
|
13
|
+
const chainId = 11155111;
|
|
14
|
+
const poolId = PoolId.from(1, 1);
|
|
15
|
+
const assetId = AssetId.from(1, 1);
|
|
16
|
+
const poolManager = '0x423420Ae467df6e90291fd0252c0A8a637C1e03f';
|
|
17
|
+
const someErc20 = '0x3aaaa86458d576BafCB1B7eD290434F0696dA65c';
|
|
18
|
+
const publicClient = createClient({ transport: custom(mockProvider()) }).extend(() => ({
|
|
19
|
+
waitForTransactionReceipt: async () => ({}),
|
|
20
|
+
}));
|
|
21
|
+
describe('Centrifuge', () => {
|
|
22
|
+
let clock;
|
|
23
|
+
beforeEach(() => {
|
|
24
|
+
clock = sinon.useFakeTimers({ shouldAdvanceTime: true });
|
|
25
|
+
});
|
|
26
|
+
afterEach(() => {
|
|
27
|
+
clock.restore();
|
|
28
|
+
sinon.restore();
|
|
29
|
+
});
|
|
30
|
+
it('should be connected to sepolia', async () => {
|
|
31
|
+
const client = context.centrifuge.getClient(chainId);
|
|
32
|
+
expect(client?.chain.id).to.equal(chainId);
|
|
33
|
+
const chains = context.centrifuge.chains;
|
|
34
|
+
expect(chains).to.include(chainId);
|
|
35
|
+
});
|
|
36
|
+
it('should fetch protocol addresses for the demo chain (sepolia)', async () => {
|
|
37
|
+
const expectedContractKeys = [
|
|
38
|
+
'root',
|
|
39
|
+
'guardian',
|
|
40
|
+
'gasService',
|
|
41
|
+
'gateway',
|
|
42
|
+
'multiAdapter',
|
|
43
|
+
'messageProcessor',
|
|
44
|
+
'messageDispatcher',
|
|
45
|
+
'hubRegistry',
|
|
46
|
+
'accounting',
|
|
47
|
+
'holdings',
|
|
48
|
+
'shareClassManager',
|
|
49
|
+
'hub',
|
|
50
|
+
'identityValuation',
|
|
51
|
+
'poolEscrowFactory',
|
|
52
|
+
'routerEscrow',
|
|
53
|
+
'globalEscrow',
|
|
54
|
+
'freezeOnlyHook',
|
|
55
|
+
'redemptionRestrictionsHook',
|
|
56
|
+
'fullRestrictionsHook',
|
|
57
|
+
'tokenFactory',
|
|
58
|
+
'asyncRequestManager',
|
|
59
|
+
'syncManager',
|
|
60
|
+
'asyncVaultFactory',
|
|
61
|
+
'syncDepositVaultFactory',
|
|
62
|
+
'spoke',
|
|
63
|
+
'vaultRouter',
|
|
64
|
+
'balanceSheet',
|
|
65
|
+
];
|
|
66
|
+
const result = await context.centrifuge._protocolAddresses(chainId);
|
|
67
|
+
for (const key of expectedContractKeys) {
|
|
68
|
+
expect(result[key].startsWith('0x'), `Expected key ${key} to be a contract address`).to.be.true;
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
describe('Queries', () => {
|
|
72
|
+
it('should fetch a pool by id', async () => {
|
|
73
|
+
const pool = await context.centrifuge.pool(poolId);
|
|
74
|
+
expect(pool).to.exist;
|
|
75
|
+
});
|
|
76
|
+
it('should fetch a currency', async () => {
|
|
77
|
+
const currency = await context.centrifuge.currency(someErc20, chainId);
|
|
78
|
+
expect(currency.decimals).to.equal(6);
|
|
79
|
+
expect(currency.symbol).to.equal('USDC');
|
|
80
|
+
expect(currency.name).to.equal('USD Coin');
|
|
81
|
+
expect(currency.chainId).to.equal(chainId);
|
|
82
|
+
expect(currency.address.toLowerCase()).to.equal(someErc20.toLowerCase());
|
|
83
|
+
expect(currency.supportsPermit).to.be.true;
|
|
84
|
+
});
|
|
85
|
+
it('should fetch assets', async () => {
|
|
86
|
+
const assets = await context.centrifuge.assets(chainId);
|
|
87
|
+
expect(assets).to.be.an('array');
|
|
88
|
+
expect(assets.length).to.be.greaterThan(0);
|
|
89
|
+
expect(assets[0].id.centrifugeId).to.equal(1);
|
|
90
|
+
expect(assets[0].name).to.be.a('string');
|
|
91
|
+
expect(assets[0].symbol).to.be.a('string');
|
|
92
|
+
});
|
|
93
|
+
it('should fetch the asset decimals', async () => {
|
|
94
|
+
const decimals = await context.centrifuge.assetDecimals(assetId, 11155111);
|
|
95
|
+
expect(decimals).to.equal(6);
|
|
96
|
+
});
|
|
97
|
+
it('should estimate the gas for a bridge transaction', async () => {
|
|
98
|
+
const estimate = await context.centrifuge._estimate(chainId, { chainId }, MessageType.NotifyPool);
|
|
99
|
+
expect(estimate).to.equal(0n);
|
|
100
|
+
const estimate2 = await context.centrifuge._estimate(chainId, { centId: 2 }, MessageType.NotifyPool);
|
|
101
|
+
expect(typeof estimate2).to.equal('bigint');
|
|
102
|
+
});
|
|
103
|
+
it('should fetch the value of an asset in relation to another one', async () => {
|
|
104
|
+
const quote = await context.centrifuge._getQuote((await context.centrifuge._protocolAddresses(chainId)).identityValuation, Balance.fromFloat(100, 6), assetId, AssetId.fromIso(840), chainId);
|
|
105
|
+
expect(quote).to.instanceOf(Balance);
|
|
106
|
+
expect(quote.decimals).to.equal(18);
|
|
107
|
+
expect(quote.toFloat()).to.equal(100);
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
describe('Query', () => {
|
|
111
|
+
it('should return the first value when awaited', async () => {
|
|
112
|
+
const value = await context.centrifuge._query(null, () => of(1, 2, 3));
|
|
113
|
+
expect(value).to.equal(1);
|
|
114
|
+
});
|
|
115
|
+
it('should memoize the observable by key', async () => {
|
|
116
|
+
const object1 = {};
|
|
117
|
+
const object2 = {};
|
|
118
|
+
let secondObservableCalled = false;
|
|
119
|
+
const query1 = context.centrifuge._query(['key'], () => of(object1));
|
|
120
|
+
const query2 = context.centrifuge._query(['key'], () => of(object2).pipe(tap(() => (secondObservableCalled = true))));
|
|
121
|
+
const value1 = await query1;
|
|
122
|
+
const value2 = await query2;
|
|
123
|
+
expect(query1).to.equal(query2);
|
|
124
|
+
expect(value1).to.equal(value2);
|
|
125
|
+
expect(value1).to.equal(object1);
|
|
126
|
+
expect(secondObservableCalled).to.equal(false);
|
|
127
|
+
});
|
|
128
|
+
it("should't memoize observables with different keys", async () => {
|
|
129
|
+
const object1 = {};
|
|
130
|
+
const object2 = {};
|
|
131
|
+
const query1 = context.centrifuge._query(['key', 1], () => of(object1));
|
|
132
|
+
const query2 = context.centrifuge._query(['key', 2], () => of(object2));
|
|
133
|
+
const value1 = await query1;
|
|
134
|
+
const value2 = await query2;
|
|
135
|
+
expect(query1).to.not.equal(query2);
|
|
136
|
+
expect(value1).to.equal(object1);
|
|
137
|
+
expect(value2).to.equal(object2);
|
|
138
|
+
});
|
|
139
|
+
it("should't memoize the observable when no keys are passed", async () => {
|
|
140
|
+
const object1 = {};
|
|
141
|
+
const object2 = {};
|
|
142
|
+
const query1 = context.centrifuge._query(null, () => of(object1));
|
|
143
|
+
const query2 = context.centrifuge._query(null, () => of(object2));
|
|
144
|
+
const value1 = await query1;
|
|
145
|
+
const value2 = await query2;
|
|
146
|
+
expect(query1).to.not.equal(query2);
|
|
147
|
+
expect(value1).to.equal(object1);
|
|
148
|
+
expect(value2).to.equal(object2);
|
|
149
|
+
});
|
|
150
|
+
it('should cache the latest value by default', async () => {
|
|
151
|
+
let subscribedTimes = 0;
|
|
152
|
+
const query1 = context.centrifuge._query([Math.random()], () => defer(() => {
|
|
153
|
+
subscribedTimes++;
|
|
154
|
+
return lazy(1);
|
|
155
|
+
}));
|
|
156
|
+
const value1 = await query1;
|
|
157
|
+
const value2 = await query1;
|
|
158
|
+
const value3 = await firstValueFrom(query1);
|
|
159
|
+
expect(subscribedTimes).to.equal(1);
|
|
160
|
+
expect(value1).to.equal(1);
|
|
161
|
+
expect(value2).to.equal(1);
|
|
162
|
+
expect(value3).to.equal(1);
|
|
163
|
+
});
|
|
164
|
+
it("should't cache the value when no keys are passed", async () => {
|
|
165
|
+
let value = 0;
|
|
166
|
+
const query = context.centrifuge._query(null, () => defer(() => lazy(++value)));
|
|
167
|
+
const value1 = await query;
|
|
168
|
+
const value2 = await query;
|
|
169
|
+
expect(value1).to.equal(1);
|
|
170
|
+
expect(value2).to.equal(2);
|
|
171
|
+
});
|
|
172
|
+
it("should invalidate the cache when there's no subscribers for a while on an infinite observable", async () => {
|
|
173
|
+
const subject = new Subject();
|
|
174
|
+
const query1 = context.centrifuge._query([Math.random()], () => subject);
|
|
175
|
+
setTimeout(() => subject.next(1), 10);
|
|
176
|
+
const value1 = await query1;
|
|
177
|
+
setTimeout(() => subject.next(2), 10);
|
|
178
|
+
const value2 = await query1;
|
|
179
|
+
clock.tick(10);
|
|
180
|
+
const value3 = await query1;
|
|
181
|
+
clock.tick(60_000);
|
|
182
|
+
setTimeout(() => subject.next(3), 10);
|
|
183
|
+
const value4 = await query1;
|
|
184
|
+
expect(value1).to.equal(1);
|
|
185
|
+
expect(value2).to.equal(1);
|
|
186
|
+
expect(value3).to.equal(2);
|
|
187
|
+
expect(value4).to.equal(3);
|
|
188
|
+
});
|
|
189
|
+
it('should invalidate the cache when a finite observable completes, when given a `valueCacheTime`', async () => {
|
|
190
|
+
let value = 0;
|
|
191
|
+
const query1 = context.centrifuge._query([Math.random()], () => defer(() => lazy(++value)), { valueCacheTime: 1 });
|
|
192
|
+
const value1 = await query1;
|
|
193
|
+
const value2 = await query1;
|
|
194
|
+
clock.tick(1_000);
|
|
195
|
+
const value3 = await query1;
|
|
196
|
+
expect(value1).to.equal(1);
|
|
197
|
+
expect(value2).to.equal(1);
|
|
198
|
+
expect(value3).to.equal(2);
|
|
199
|
+
});
|
|
200
|
+
it("shouldn't cache the latest value when `cache` is `false` on the query", async () => {
|
|
201
|
+
let value = 0;
|
|
202
|
+
const query1 = context.centrifuge._query([Math.random()], () => defer(() => {
|
|
203
|
+
value++;
|
|
204
|
+
return lazy(value);
|
|
205
|
+
}), { cache: false });
|
|
206
|
+
const value1 = await query1;
|
|
207
|
+
const value2 = await query1;
|
|
208
|
+
const value3 = await firstValueFrom(query1);
|
|
209
|
+
expect(value1).to.equal(1);
|
|
210
|
+
expect(value2).to.equal(2);
|
|
211
|
+
expect(value3).to.equal(3);
|
|
212
|
+
});
|
|
213
|
+
it("shouldn't cache the latest value when `cache` is `false` on the Centrifuge instance", async () => {
|
|
214
|
+
const centrifuge = new Centrifuge({ environment: 'testnet', cache: false });
|
|
215
|
+
let value = 0;
|
|
216
|
+
const query1 = centrifuge._query([Math.random()], () => defer(() => {
|
|
217
|
+
value++;
|
|
218
|
+
return lazy(value);
|
|
219
|
+
}));
|
|
220
|
+
const value1 = await query1;
|
|
221
|
+
const value2 = await query1;
|
|
222
|
+
const value3 = await firstValueFrom(query1);
|
|
223
|
+
expect(value1).to.equal(1);
|
|
224
|
+
expect(value2).to.equal(2);
|
|
225
|
+
expect(value3).to.equal(3);
|
|
226
|
+
});
|
|
227
|
+
it("shouldn't reset the cache with a longer `observableCacheTime`", async () => {
|
|
228
|
+
let value = 0;
|
|
229
|
+
const query1 = context.centrifuge._query([Math.random()], () => defer(() => lazy(++value)), {
|
|
230
|
+
observableCacheTime: Infinity,
|
|
231
|
+
});
|
|
232
|
+
const value1 = await query1;
|
|
233
|
+
clock.tick(1_000_000_000);
|
|
234
|
+
const value2 = await query1;
|
|
235
|
+
expect(value1).to.equal(1);
|
|
236
|
+
expect(value2).to.equal(1);
|
|
237
|
+
});
|
|
238
|
+
it('should push new data for new subscribers to old subscribers', async () => {
|
|
239
|
+
let value = 0;
|
|
240
|
+
const query1 = context.centrifuge._query([Math.random()], () => defer(() => lazy(++value)), { valueCacheTime: 1 });
|
|
241
|
+
let lastValue = null;
|
|
242
|
+
const subscription = query1.subscribe((next) => (lastValue = next));
|
|
243
|
+
await query1;
|
|
244
|
+
clock.tick(60_000);
|
|
245
|
+
const value2 = await query1;
|
|
246
|
+
expect(value2).to.equal(2);
|
|
247
|
+
expect(lastValue).to.equal(2);
|
|
248
|
+
subscription.unsubscribe();
|
|
249
|
+
});
|
|
250
|
+
it('should cache nested queries', async () => {
|
|
251
|
+
const query1 = context.centrifuge._query([Math.random()], () => interval(50).pipe(map((i) => i + 1)));
|
|
252
|
+
const query2 = context.centrifuge._query([Math.random()], () => interval(50).pipe(map((i) => (i + 1) * 2)));
|
|
253
|
+
const query3 = context.centrifuge._query(null, () => combineLatest([query1, query2]).pipe(map(([v1, v2]) => v1 + v2)));
|
|
254
|
+
const value1 = await query3;
|
|
255
|
+
const value2 = await query3;
|
|
256
|
+
clock.tick(50);
|
|
257
|
+
const value3 = await query3;
|
|
258
|
+
expect(value1).to.equal(3);
|
|
259
|
+
expect(value2).to.equal(3);
|
|
260
|
+
expect(value3).to.equal(6);
|
|
261
|
+
});
|
|
262
|
+
it('should update dependant queries with values from dependencies', async () => {
|
|
263
|
+
let i = 0;
|
|
264
|
+
const query1 = context.centrifuge._query([Math.random()], () => of(++i), { valueCacheTime: 120 });
|
|
265
|
+
const query2 = context.centrifuge._query([Math.random()], () => query1.pipe(map((v1) => v1 * 10)));
|
|
266
|
+
const value1 = await query2;
|
|
267
|
+
clock.tick(150_000);
|
|
268
|
+
const value3 = await query2;
|
|
269
|
+
expect(value1).to.equal(10);
|
|
270
|
+
expect(value3).to.equal(20);
|
|
271
|
+
});
|
|
272
|
+
it('should recreate the shared observable when the cached value is expired', async () => {
|
|
273
|
+
let i = 0;
|
|
274
|
+
const query1 = context.centrifuge._query([Math.random()], () => defer(async function* () {
|
|
275
|
+
yield await lazy(`${++i}-A`);
|
|
276
|
+
yield await lazy(`${i}-B`, 5000);
|
|
277
|
+
}), { valueCacheTime: 1 });
|
|
278
|
+
let lastValue = '';
|
|
279
|
+
const subscription1 = query1.subscribe((next) => (lastValue = next));
|
|
280
|
+
const value1 = await query1;
|
|
281
|
+
clock.tick(2_000);
|
|
282
|
+
const value2 = await query1;
|
|
283
|
+
expect(value1).to.equal('1-A');
|
|
284
|
+
expect(value2).to.equal('2-A');
|
|
285
|
+
expect(lastValue).to.equal('2-A');
|
|
286
|
+
subscription1.unsubscribe();
|
|
287
|
+
});
|
|
288
|
+
it('should batch calls', async () => {
|
|
289
|
+
const fetchSpy = sinon.spy(globalThis, 'fetch');
|
|
290
|
+
const centrifuge = new Centrifuge({ environment: 'testnet' });
|
|
291
|
+
const tUSD = '0x8503b4452Bf6238cC76CdbEE223b46d7196b1c93';
|
|
292
|
+
const user = '0x423420Ae467df6e90291fd0252c0A8a637C1e03f';
|
|
293
|
+
await centrifuge.balance(tUSD, user, chainId);
|
|
294
|
+
// One call to get the metadata, one to get the balance, and one to poll events
|
|
295
|
+
expect(fetchSpy.getCalls().length).to.equal(3);
|
|
296
|
+
});
|
|
297
|
+
});
|
|
298
|
+
describe('Transact', () => {
|
|
299
|
+
it('should throw when no account is selected', async () => {
|
|
300
|
+
const cent = new Centrifuge({
|
|
301
|
+
environment: 'testnet',
|
|
302
|
+
});
|
|
303
|
+
cent.setSigner(mockProvider({ accounts: [] }));
|
|
304
|
+
const tx = cent._transact(async function* () {
|
|
305
|
+
yield* doTransaction('Test', publicClient, async () => '0x1');
|
|
306
|
+
}, chainId);
|
|
307
|
+
let error;
|
|
308
|
+
try {
|
|
309
|
+
await tx;
|
|
310
|
+
}
|
|
311
|
+
catch (e) {
|
|
312
|
+
error = e;
|
|
313
|
+
}
|
|
314
|
+
expect(error).to.instanceOf(Error);
|
|
315
|
+
});
|
|
316
|
+
it('should try to switch chains when the signer is connected to a different one', async () => {
|
|
317
|
+
const cent = new Centrifuge({
|
|
318
|
+
environment: 'testnet',
|
|
319
|
+
});
|
|
320
|
+
const signer = mockProvider({ chainId: 1 });
|
|
321
|
+
const spy = sinon.spy(signer, 'request');
|
|
322
|
+
cent.setSigner(signer);
|
|
323
|
+
const tx = cent._transact(async function* () {
|
|
324
|
+
yield* doTransaction('Test', publicClient, async () => '0x1');
|
|
325
|
+
}, chainId);
|
|
326
|
+
const statuses = await firstValueFrom(tx.pipe(take(2), toArray()));
|
|
327
|
+
expect(statuses[0]).to.eql({
|
|
328
|
+
type: 'SwitchingChain',
|
|
329
|
+
chainId,
|
|
330
|
+
});
|
|
331
|
+
expect(spy.thirdCall.args[0].method).to.equal('wallet_switchEthereumChain');
|
|
332
|
+
expect(Number(spy.thirdCall.args[0].params[0].chainId)).to.equal(chainId);
|
|
333
|
+
});
|
|
334
|
+
it("shouldn't try to switch chains when the signer is connected to the right chain", async () => {
|
|
335
|
+
const cent = new Centrifuge({
|
|
336
|
+
environment: 'testnet',
|
|
337
|
+
});
|
|
338
|
+
cent.setSigner(mockProvider());
|
|
339
|
+
const tx = cent._transact(async function* () {
|
|
340
|
+
yield* doTransaction('Test', publicClient, async () => '0x1');
|
|
341
|
+
}, chainId);
|
|
342
|
+
const status = await firstValueFrom(tx);
|
|
343
|
+
expect(status.type).to.equal('SigningTransaction');
|
|
344
|
+
expect(status.title).to.equal('Test');
|
|
345
|
+
});
|
|
346
|
+
it('should emit status updates', async () => {
|
|
347
|
+
const cent = new Centrifuge({
|
|
348
|
+
environment: 'testnet',
|
|
349
|
+
});
|
|
350
|
+
cent.setSigner(mockProvider());
|
|
351
|
+
const publicClient = createClient({ transport: custom(mockProvider()) }).extend(() => ({
|
|
352
|
+
waitForTransactionReceipt: async () => ({}),
|
|
353
|
+
}));
|
|
354
|
+
const tx = cent._transact(() => doTransaction('Test', publicClient, async () => '0x1'), chainId);
|
|
355
|
+
const statuses = await firstValueFrom(tx.pipe(toArray()));
|
|
356
|
+
expect(statuses).to.eql([
|
|
357
|
+
{ id: statuses[0].id, type: 'SigningTransaction', title: 'Test' },
|
|
358
|
+
{ id: statuses[0].id, type: 'TransactionPending', title: 'Test', hash: '0x1' },
|
|
359
|
+
{
|
|
360
|
+
id: statuses[0].id,
|
|
361
|
+
type: 'TransactionConfirmed',
|
|
362
|
+
title: 'Test',
|
|
363
|
+
hash: '0x1',
|
|
364
|
+
receipt: {},
|
|
365
|
+
},
|
|
366
|
+
]);
|
|
367
|
+
});
|
|
368
|
+
it('should emit status updates for a sequence of transactions', async () => {
|
|
369
|
+
const cent = new Centrifuge({
|
|
370
|
+
environment: 'testnet',
|
|
371
|
+
});
|
|
372
|
+
cent.setSigner(mockProvider());
|
|
373
|
+
const tx = cent._transact(async function* () {
|
|
374
|
+
yield* doSignMessage('Sign Permit', async () => '0x1');
|
|
375
|
+
yield* doTransaction('Test', publicClient, async () => '0x2');
|
|
376
|
+
}, chainId);
|
|
377
|
+
const statuses = await firstValueFrom(tx.pipe(toArray()));
|
|
378
|
+
expect(statuses).to.eql([
|
|
379
|
+
{
|
|
380
|
+
id: statuses[0].id,
|
|
381
|
+
type: 'SigningMessage',
|
|
382
|
+
title: 'Sign Permit',
|
|
383
|
+
},
|
|
384
|
+
{
|
|
385
|
+
id: statuses[0].id,
|
|
386
|
+
type: 'SignedMessage',
|
|
387
|
+
signed: '0x1',
|
|
388
|
+
title: 'Sign Permit',
|
|
389
|
+
},
|
|
390
|
+
{ id: statuses[2].id, type: 'SigningTransaction', title: 'Test' },
|
|
391
|
+
{ id: statuses[2].id, type: 'TransactionPending', title: 'Test', hash: '0x2' },
|
|
392
|
+
{
|
|
393
|
+
id: statuses[2].id,
|
|
394
|
+
type: 'TransactionConfirmed',
|
|
395
|
+
title: 'Test',
|
|
396
|
+
hash: '0x2',
|
|
397
|
+
receipt: {},
|
|
398
|
+
},
|
|
399
|
+
]);
|
|
400
|
+
});
|
|
401
|
+
});
|
|
402
|
+
describe('Batch', () => {
|
|
403
|
+
it('can batch transactions', async () => {
|
|
404
|
+
const { centrifuge } = context;
|
|
405
|
+
const pool = new Pool(centrifuge, poolId.raw, chainId);
|
|
406
|
+
context.tenderlyFork.impersonateAddress = poolManager;
|
|
407
|
+
context.centrifuge.setSigner(context.tenderlyFork.signer);
|
|
408
|
+
const newManager = randomAddress();
|
|
409
|
+
const newManager2 = randomAddress();
|
|
410
|
+
const result = await context.centrifuge._experimental_batch('Test', [
|
|
411
|
+
pool.updatePoolManagers([{ address: newManager, canManage: true }]),
|
|
412
|
+
pool.updateBalanceSheetManagers([{ chainId, address: newManager2, canManage: true }]),
|
|
413
|
+
]);
|
|
414
|
+
expect(result.type).to.equal('TransactionConfirmed');
|
|
415
|
+
expect(result.title).to.equal('Test');
|
|
416
|
+
const isNewManager = await pool.isPoolManager(newManager);
|
|
417
|
+
const isNewManager2 = await pool.isBalanceSheetManager(chainId, newManager2);
|
|
418
|
+
expect(isNewManager).to.be.true;
|
|
419
|
+
expect(isNewManager2).to.be.true;
|
|
420
|
+
});
|
|
421
|
+
});
|
|
422
|
+
describe('Transactions', () => {
|
|
423
|
+
it('should register an asset', async () => {
|
|
424
|
+
const centrifuge = new Centrifuge({
|
|
425
|
+
environment: 'testnet',
|
|
426
|
+
rpcUrls: {
|
|
427
|
+
11155111: context.tenderlyFork.rpcUrl,
|
|
428
|
+
},
|
|
429
|
+
});
|
|
430
|
+
const assetAddress = '0x86eb50b22dd226fe5d1f0753a40e247fd711ad6e';
|
|
431
|
+
context.tenderlyFork.impersonateAddress = poolManager;
|
|
432
|
+
centrifuge.setSigner(context.tenderlyFork.signer);
|
|
433
|
+
const result = await centrifuge.registerAsset(chainId, chainId, assetAddress);
|
|
434
|
+
expect(result.type).to.equal('TransactionConfirmed');
|
|
435
|
+
});
|
|
436
|
+
it('should create a pool', async () => {
|
|
437
|
+
const centrifugeWithPin = new Centrifuge({
|
|
438
|
+
environment: 'testnet',
|
|
439
|
+
pinJson: async () => {
|
|
440
|
+
return 'abc';
|
|
441
|
+
},
|
|
442
|
+
rpcUrls: {
|
|
443
|
+
11155111: context.tenderlyFork.rpcUrl,
|
|
444
|
+
},
|
|
445
|
+
});
|
|
446
|
+
context.tenderlyFork.impersonateAddress = poolManager;
|
|
447
|
+
centrifugeWithPin.setSigner(context.tenderlyFork.signer);
|
|
448
|
+
const result = await centrifugeWithPin.createPool({
|
|
449
|
+
assetClass: 'Public credit',
|
|
450
|
+
subAssetClass: 'Test Subclass',
|
|
451
|
+
poolName: 'Test Pool',
|
|
452
|
+
poolIcon: { uri: '', mime: '' },
|
|
453
|
+
investorType: 'Retail',
|
|
454
|
+
poolStructure: 'revolving',
|
|
455
|
+
poolType: 'open',
|
|
456
|
+
issuerName: 'Test Issuer',
|
|
457
|
+
issuerRepName: 'Test Rep',
|
|
458
|
+
issuerLogo: { uri: '', mime: '' },
|
|
459
|
+
issuerShortDescription: 'Test Description',
|
|
460
|
+
issuerDescription: 'Test Description',
|
|
461
|
+
website: '',
|
|
462
|
+
forum: '',
|
|
463
|
+
email: '',
|
|
464
|
+
report: null,
|
|
465
|
+
executiveSummary: null,
|
|
466
|
+
details: [],
|
|
467
|
+
issuerCategories: [],
|
|
468
|
+
poolRatings: [],
|
|
469
|
+
listed: false,
|
|
470
|
+
onboardingExperience: 'default',
|
|
471
|
+
shareClasses: [
|
|
472
|
+
{
|
|
473
|
+
tokenName: 'Test Token',
|
|
474
|
+
symbolName: 'TST',
|
|
475
|
+
minInvestment: 1000,
|
|
476
|
+
apyPercentage: 5,
|
|
477
|
+
apy: 'target',
|
|
478
|
+
defaultAccounts: {
|
|
479
|
+
asset: 1000,
|
|
480
|
+
equity: 1001,
|
|
481
|
+
gain: 1001,
|
|
482
|
+
loss: 1001,
|
|
483
|
+
expense: 1002,
|
|
484
|
+
liability: 1001,
|
|
485
|
+
},
|
|
486
|
+
},
|
|
487
|
+
],
|
|
488
|
+
}, 840, chainId);
|
|
489
|
+
expect(result.type).to.equal('TransactionConfirmed');
|
|
490
|
+
});
|
|
491
|
+
});
|
|
492
|
+
});
|
|
493
|
+
function lazy(value, t = 10) {
|
|
494
|
+
return new Promise((res) => setTimeout(() => res(value), t));
|
|
495
|
+
}
|
|
496
|
+
function lazyThrow(reason, t = 10) {
|
|
497
|
+
return new Promise((_, rej) => setTimeout(() => rej(reason), t));
|
|
498
|
+
}
|
|
499
|
+
function mockProvider({ chainId = 11155111, accounts = ['0x2'] } = {}) {
|
|
500
|
+
return {
|
|
501
|
+
async request({ method }) {
|
|
502
|
+
switch (method) {
|
|
503
|
+
case 'eth_accounts':
|
|
504
|
+
return accounts;
|
|
505
|
+
case 'eth_chainId':
|
|
506
|
+
return chainId;
|
|
507
|
+
case 'wallet_switchEthereumChain':
|
|
508
|
+
return true;
|
|
509
|
+
}
|
|
510
|
+
throw new Error(`Unknown method ${method}`);
|
|
511
|
+
},
|
|
512
|
+
};
|
|
513
|
+
}
|
|
514
|
+
//# sourceMappingURL=Centrifuge.test.js.map
|