@metamask-previews/assets-controllers 53.1.0-preview-9b02be34 → 53.1.1-preview-4a9f2de
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/CHANGELOG.md +10 -1
- package/dist/index.cjs +1 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +0 -3
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +0 -3
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +0 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/DeFiPositionsController/DeFiPositionsController.cjs +0 -82
- package/dist/DeFiPositionsController/DeFiPositionsController.cjs.map +0 -1
- package/dist/DeFiPositionsController/DeFiPositionsController.d.cts +0 -55
- package/dist/DeFiPositionsController/DeFiPositionsController.d.cts.map +0 -1
- package/dist/DeFiPositionsController/DeFiPositionsController.d.mts +0 -55
- package/dist/DeFiPositionsController/DeFiPositionsController.d.mts.map +0 -1
- package/dist/DeFiPositionsController/DeFiPositionsController.mjs +0 -77
- package/dist/DeFiPositionsController/DeFiPositionsController.mjs.map +0 -1
- package/dist/DeFiPositionsController/fetch-positions.cjs +0 -22
- package/dist/DeFiPositionsController/fetch-positions.cjs.map +0 -1
- package/dist/DeFiPositionsController/fetch-positions.d.cts +0 -59
- package/dist/DeFiPositionsController/fetch-positions.d.cts.map +0 -1
- package/dist/DeFiPositionsController/fetch-positions.d.mts +0 -59
- package/dist/DeFiPositionsController/fetch-positions.d.mts.map +0 -1
- package/dist/DeFiPositionsController/fetch-positions.mjs +0 -18
- package/dist/DeFiPositionsController/fetch-positions.mjs.map +0 -1
- package/dist/DeFiPositionsController/group-positions.cjs +0 -99
- package/dist/DeFiPositionsController/group-positions.cjs.map +0 -1
- package/dist/DeFiPositionsController/group-positions.d.cts +0 -36
- package/dist/DeFiPositionsController/group-positions.d.cts.map +0 -1
- package/dist/DeFiPositionsController/group-positions.d.mts +0 -36
- package/dist/DeFiPositionsController/group-positions.d.mts.map +0 -1
- package/dist/DeFiPositionsController/group-positions.mjs +0 -96
- package/dist/DeFiPositionsController/group-positions.mjs.map +0 -1
- package/dist/DeFiPositionsController/mocks/mock-responses.cjs +0 -600
- package/dist/DeFiPositionsController/mocks/mock-responses.cjs.map +0 -1
- package/dist/DeFiPositionsController/mocks/mock-responses.d.cts +0 -22
- package/dist/DeFiPositionsController/mocks/mock-responses.d.cts.map +0 -1
- package/dist/DeFiPositionsController/mocks/mock-responses.d.mts +0 -22
- package/dist/DeFiPositionsController/mocks/mock-responses.d.mts.map +0 -1
- package/dist/DeFiPositionsController/mocks/mock-responses.mjs +0 -597
- package/dist/DeFiPositionsController/mocks/mock-responses.mjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [53.1.1]
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- Check if `KeyringController` is unlocked before processing account events in `MultichainBalancesController` ([#5473](https://github.com/MetaMask/core/pull/5473))
|
|
15
|
+
- This is needed since some Snaps might decrypt their state which needs the `KeyringController` to be unlocked.
|
|
16
|
+
- Fix runtime error in NFT detection when metadata is `null` ([#5455](https://github.com/MetaMask/core/pull/5455))
|
|
17
|
+
|
|
10
18
|
## [53.1.0]
|
|
11
19
|
|
|
12
20
|
### Added
|
|
@@ -1460,7 +1468,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
1460
1468
|
|
|
1461
1469
|
- Use Ethers for AssetsContractController ([#845](https://github.com/MetaMask/core/pull/845))
|
|
1462
1470
|
|
|
1463
|
-
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@53.1.
|
|
1471
|
+
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@53.1.1...HEAD
|
|
1472
|
+
[53.1.1]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@53.1.0...@metamask/assets-controllers@53.1.1
|
|
1464
1473
|
[53.1.0]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@53.0.0...@metamask/assets-controllers@53.1.0
|
|
1465
1474
|
[53.0.0]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@52.0.0...@metamask/assets-controllers@53.0.0
|
|
1466
1475
|
[52.0.0]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@51.0.2...@metamask/assets-controllers@52.0.0
|
package/dist/index.cjs
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
17
|
+
exports.TokenSearchDiscoveryDataController = exports.getDefaultMultichainAssetsRatesControllerState = exports.MultichainAssetsRatesController = exports.getDefaultMultichainAssetsControllerState = exports.MultichainAssetsController = exports.MultichainBalancesController = exports.Cryptocurrency = exports.RatesController = exports.getNativeTokenAddress = exports.SUPPORTED_CHAIN_IDS = exports.CodefiTokenPricesServiceV2 = exports.getKeyByValue = exports.fetchTokenContractExchangeRates = exports.getFormattedIpfsUrl = exports.formatIconUrlWithProxy = exports.isTokenDetectionSupportedForNetwork = exports.TokensController = exports.TokenRatesController = exports.getDefaultTokenRatesControllerState = exports.TokenListController = exports.TokenDetectionController = exports.TokenBalancesController = exports.NftDetectionController = exports.NftController = exports.getDefaultNftControllerState = exports.AssetsContractController = exports.SINGLE_CALL_BALANCES_ADDRESS_BY_CHAINID = exports.AccountTrackerController = void 0;
|
|
18
18
|
var AccountTrackerController_1 = require("./AccountTrackerController.cjs");
|
|
19
19
|
Object.defineProperty(exports, "AccountTrackerController", { enumerable: true, get: function () { return AccountTrackerController_1.AccountTrackerController; } });
|
|
20
20
|
var AssetsContractController_1 = require("./AssetsContractController.cjs");
|
|
@@ -60,6 +60,4 @@ Object.defineProperty(exports, "MultichainAssetsRatesController", { enumerable:
|
|
|
60
60
|
Object.defineProperty(exports, "getDefaultMultichainAssetsRatesControllerState", { enumerable: true, get: function () { return MultichainAssetsRatesController_1.getDefaultMultichainAssetsRatesControllerState; } });
|
|
61
61
|
var TokenSearchDiscoveryDataController_1 = require("./TokenSearchDiscoveryDataController/index.cjs");
|
|
62
62
|
Object.defineProperty(exports, "TokenSearchDiscoveryDataController", { enumerable: true, get: function () { return TokenSearchDiscoveryDataController_1.TokenSearchDiscoveryDataController; } });
|
|
63
|
-
var DeFiPositionsController_1 = require("./DeFiPositionsController/DeFiPositionsController.cjs");
|
|
64
|
-
Object.defineProperty(exports, "DeFiPositionsController", { enumerable: true, get: function () { return DeFiPositionsController_1.DeFiPositionsController; } });
|
|
65
63
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AASA,2EAAsE;AAA7D,oIAAA,wBAAwB,OAAA;AAuBjC,2EAGoC;AAFlC,mJAAA,uCAAuC,OAAA;AACvC,oIAAA,wBAAwB,OAAA;AAE1B,+DAAyC;AAYzC,qDAA8E;AAArE,6HAAA,4BAA4B,OAAA;AAAE,8GAAA,aAAa,OAAA;AAwBpD,uEAAkE;AAAzD,gIAAA,sBAAsB,OAAA;AAS/B,yEAAoE;AAA3D,kIAAA,uBAAuB,OAAA;AAQhC,2EAAsE;AAA7D,oIAAA,wBAAwB,OAAA;AAWjC,iEAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAa5B,mEAGgC;AAF9B,2IAAA,mCAAmC,OAAA;AACnC,4HAAA,oBAAoB,OAAA;AAWtB,2DAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,+CAMsB;AALpB,iIAAA,mCAAmC,OAAA;AACnC,oHAAA,sBAAsB,OAAA;AACtB,iHAAA,mBAAmB,OAAA;AACnB,6HAAA,+BAA+B,OAAA;AAC/B,2GAAA,aAAa,OAAA;AAEf,yEAIgC;AAH9B,kIAAA,0BAA0B,OAAA;AAC1B,2HAAA,mBAAmB,OAAA;AACnB,6HAAA,qBAAqB,OAAA;AAEvB,+DAAoE;AAA3D,kHAAA,eAAe,OAAA;AAAE,iHAAA,cAAc,OAAA;AAWxC,yFAA8E;AAArE,4IAAA,4BAA4B,OAAA;AAUrC,qFAGsC;AAFpC,wIAAA,0BAA0B,OAAA;AAC1B,uJAAA,yCAAyC,OAAA;AAY3C,+FAG2C;AAFzC,kJAAA,+BAA+B,OAAA;AAC/B,iKAAA,8CAA8C,OAAA;AAWhD,qGAA0F;AAAjF,wJAAA,kCAAkC,OAAA
|
|
1
|
+
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AASA,2EAAsE;AAA7D,oIAAA,wBAAwB,OAAA;AAuBjC,2EAGoC;AAFlC,mJAAA,uCAAuC,OAAA;AACvC,oIAAA,wBAAwB,OAAA;AAE1B,+DAAyC;AAYzC,qDAA8E;AAArE,6HAAA,4BAA4B,OAAA;AAAE,8GAAA,aAAa,OAAA;AAwBpD,uEAAkE;AAAzD,gIAAA,sBAAsB,OAAA;AAS/B,yEAAoE;AAA3D,kIAAA,uBAAuB,OAAA;AAQhC,2EAAsE;AAA7D,oIAAA,wBAAwB,OAAA;AAWjC,iEAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAa5B,mEAGgC;AAF9B,2IAAA,mCAAmC,OAAA;AACnC,4HAAA,oBAAoB,OAAA;AAWtB,2DAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,+CAMsB;AALpB,iIAAA,mCAAmC,OAAA;AACnC,oHAAA,sBAAsB,OAAA;AACtB,iHAAA,mBAAmB,OAAA;AACnB,6HAAA,+BAA+B,OAAA;AAC/B,2GAAA,aAAa,OAAA;AAEf,yEAIgC;AAH9B,kIAAA,0BAA0B,OAAA;AAC1B,2HAAA,mBAAmB,OAAA;AACnB,6HAAA,qBAAqB,OAAA;AAEvB,+DAAoE;AAA3D,kHAAA,eAAe,OAAA;AAAE,iHAAA,cAAc,OAAA;AAWxC,yFAA8E;AAArE,4IAAA,4BAA4B,OAAA;AAUrC,qFAGsC;AAFpC,wIAAA,0BAA0B,OAAA;AAC1B,uJAAA,yCAAyC,OAAA;AAY3C,+FAG2C;AAFzC,kJAAA,+BAA+B,OAAA;AAC/B,iKAAA,8CAA8C,OAAA;AAWhD,qGAA0F;AAAjF,wJAAA,kCAAkC,OAAA","sourcesContent":["export type {\n AccountInformation,\n AccountTrackerControllerMessenger,\n AccountTrackerControllerState,\n AccountTrackerControllerActions,\n AccountTrackerControllerGetStateAction,\n AccountTrackerControllerStateChangeEvent,\n AccountTrackerControllerEvents,\n} from './AccountTrackerController';\nexport { AccountTrackerController } from './AccountTrackerController';\nexport type {\n AssetsContractControllerActions,\n AssetsContractControllerEvents,\n AssetsContractControllerGetERC20StandardAction,\n AssetsContractControllerGetERC721StandardAction,\n AssetsContractControllerGetERC1155StandardAction,\n AssetsContractControllerGetERC20BalanceOfAction,\n AssetsContractControllerGetERC20TokenDecimalsAction,\n AssetsContractControllerGetERC20TokenNameAction,\n AssetsContractControllerGetERC721NftTokenIdAction,\n AssetsContractControllerGetERC721TokenURIAction,\n AssetsContractControllerGetERC721AssetNameAction,\n AssetsContractControllerGetERC721AssetSymbolAction,\n AssetsContractControllerGetERC721OwnerOfAction,\n AssetsContractControllerGetERC1155TokenURIAction,\n AssetsContractControllerGetERC1155BalanceOfAction,\n AssetsContractControllerTransferSingleERC1155Action,\n AssetsContractControllerGetTokenStandardAndDetailsAction,\n AssetsContractControllerGetBalancesInSingleCallAction,\n AssetsContractControllerMessenger,\n BalanceMap,\n} from './AssetsContractController';\nexport {\n SINGLE_CALL_BALANCES_ADDRESS_BY_CHAINID,\n AssetsContractController,\n} from './AssetsContractController';\nexport * from './CurrencyRateController';\nexport type {\n NftControllerState,\n NftControllerMessenger,\n NftControllerActions,\n NftControllerGetStateAction,\n NftControllerEvents,\n NftControllerStateChangeEvent,\n Nft,\n NftContract,\n NftMetadata,\n} from './NftController';\nexport { getDefaultNftControllerState, NftController } from './NftController';\nexport type {\n NftDetectionControllerMessenger,\n ApiNft,\n ApiNftContract,\n ApiNftLastSale,\n ApiNftCreator,\n ReservoirResponse,\n TokensResponse,\n BlockaidResultType,\n Blockaid,\n Market,\n TokenResponse,\n TopBid,\n LastSale,\n FeeBreakdown,\n Attributes,\n Collection,\n Royalties,\n Ownership,\n FloorAsk,\n Price,\n Metadata,\n} from './NftDetectionController';\nexport { NftDetectionController } from './NftDetectionController';\nexport type {\n TokenBalancesControllerMessenger,\n TokenBalancesControllerActions,\n TokenBalancesControllerGetStateAction,\n TokenBalancesControllerEvents,\n TokenBalancesControllerStateChangeEvent,\n TokenBalancesControllerState,\n} from './TokenBalancesController';\nexport { TokenBalancesController } from './TokenBalancesController';\nexport type {\n TokenDetectionControllerMessenger,\n TokenDetectionControllerActions,\n TokenDetectionControllerGetStateAction,\n TokenDetectionControllerEvents,\n TokenDetectionControllerStateChangeEvent,\n} from './TokenDetectionController';\nexport { TokenDetectionController } from './TokenDetectionController';\nexport type {\n TokenListState,\n TokenListToken,\n TokenListMap,\n TokenListStateChange,\n TokenListControllerEvents,\n GetTokenListState,\n TokenListControllerActions,\n TokenListControllerMessenger,\n} from './TokenListController';\nexport { TokenListController } from './TokenListController';\nexport type {\n ContractExchangeRates,\n ContractMarketData,\n Token,\n TokenRatesControllerActions,\n TokenRatesControllerEvents,\n TokenRatesControllerGetStateAction,\n TokenRatesControllerMessenger,\n TokenRatesControllerState,\n TokenRatesControllerStateChangeEvent,\n MarketDataDetails,\n} from './TokenRatesController';\nexport {\n getDefaultTokenRatesControllerState,\n TokenRatesController,\n} from './TokenRatesController';\nexport type {\n TokensControllerState,\n TokensControllerActions,\n TokensControllerGetStateAction,\n TokensControllerAddDetectedTokensAction,\n TokensControllerEvents,\n TokensControllerStateChangeEvent,\n TokensControllerMessenger,\n} from './TokensController';\nexport { TokensController } from './TokensController';\nexport {\n isTokenDetectionSupportedForNetwork,\n formatIconUrlWithProxy,\n getFormattedIpfsUrl,\n fetchTokenContractExchangeRates,\n getKeyByValue,\n} from './assetsUtil';\nexport {\n CodefiTokenPricesServiceV2,\n SUPPORTED_CHAIN_IDS,\n getNativeTokenAddress,\n} from './token-prices-service';\nexport { RatesController, Cryptocurrency } from './RatesController';\nexport type {\n RatesControllerState,\n RatesControllerEvents,\n RatesControllerActions,\n RatesControllerMessenger,\n RatesControllerGetStateAction,\n RatesControllerStateChangeEvent,\n RatesControllerPollingStartedEvent,\n RatesControllerPollingStoppedEvent,\n} from './RatesController';\nexport { MultichainBalancesController } from './MultichainBalancesController';\nexport type {\n MultichainBalancesControllerState,\n MultichainBalancesControllerGetStateAction,\n MultichainBalancesControllerStateChange,\n MultichainBalancesControllerActions,\n MultichainBalancesControllerEvents,\n MultichainBalancesControllerMessenger,\n} from './MultichainBalancesController';\n\nexport {\n MultichainAssetsController,\n getDefaultMultichainAssetsControllerState,\n} from './MultichainAssetsController';\n\nexport type {\n MultichainAssetsControllerState,\n MultichainAssetsControllerGetStateAction,\n MultichainAssetsControllerStateChangeEvent,\n MultichainAssetsControllerActions,\n MultichainAssetsControllerEvents,\n MultichainAssetsControllerMessenger,\n} from './MultichainAssetsController';\n\nexport {\n MultichainAssetsRatesController,\n getDefaultMultichainAssetsRatesControllerState,\n} from './MultichainAssetsRatesController';\n\nexport type {\n MultichainAssetsRatesControllerState,\n MultichainAssetsRatesControllerActions,\n MultichainAssetsRatesControllerEvents,\n MultichainAssetsRatesControllerGetStateAction,\n MultichainAssetsRatesControllerStateChange,\n MultichainAssetsRatesControllerMessenger,\n} from './MultichainAssetsRatesController';\nexport { TokenSearchDiscoveryDataController } from './TokenSearchDiscoveryDataController';\nexport type {\n TokenDisplayData,\n TokenSearchDiscoveryDataControllerState,\n TokenSearchDiscoveryDataControllerGetStateAction,\n TokenSearchDiscoveryDataControllerEvents,\n TokenSearchDiscoveryDataControllerStateChangeEvent,\n TokenSearchDiscoveryDataControllerActions,\n TokenSearchDiscoveryDataControllerMessenger,\n} from './TokenSearchDiscoveryDataController';\n"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -29,7 +29,4 @@ export { MultichainAssetsRatesController, getDefaultMultichainAssetsRatesControl
|
|
|
29
29
|
export type { MultichainAssetsRatesControllerState, MultichainAssetsRatesControllerActions, MultichainAssetsRatesControllerEvents, MultichainAssetsRatesControllerGetStateAction, MultichainAssetsRatesControllerStateChange, MultichainAssetsRatesControllerMessenger, } from "./MultichainAssetsRatesController/index.cjs";
|
|
30
30
|
export { TokenSearchDiscoveryDataController } from "./TokenSearchDiscoveryDataController/index.cjs";
|
|
31
31
|
export type { TokenDisplayData, TokenSearchDiscoveryDataControllerState, TokenSearchDiscoveryDataControllerGetStateAction, TokenSearchDiscoveryDataControllerEvents, TokenSearchDiscoveryDataControllerStateChangeEvent, TokenSearchDiscoveryDataControllerActions, TokenSearchDiscoveryDataControllerMessenger, } from "./TokenSearchDiscoveryDataController/index.cjs";
|
|
32
|
-
export { DeFiPositionsController } from "./DeFiPositionsController/DeFiPositionsController.cjs";
|
|
33
|
-
export type { DeFiPositionsControllerState, DeFiPositionsControllerActions, DeFiPositionsControllerEvents, DeFiPositionsControllerGetStateAction, DeFiPositionsControllerStateChangeEvent, DeFiPositionsControllerMessenger, } from "./DeFiPositionsController/DeFiPositionsController.cjs";
|
|
34
|
-
export type { GroupedPositions } from "./DeFiPositionsController/group-positions.cjs";
|
|
35
32
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,iCAAiC,EACjC,6BAA6B,EAC7B,+BAA+B,EAC/B,sCAAsC,EACtC,wCAAwC,EACxC,8BAA8B,GAC/B,uCAAmC;AACpC,OAAO,EAAE,wBAAwB,EAAE,uCAAmC;AACtE,YAAY,EACV,+BAA+B,EAC/B,8BAA8B,EAC9B,8CAA8C,EAC9C,+CAA+C,EAC/C,gDAAgD,EAChD,+CAA+C,EAC/C,mDAAmD,EACnD,+CAA+C,EAC/C,iDAAiD,EACjD,+CAA+C,EAC/C,gDAAgD,EAChD,kDAAkD,EAClD,8CAA8C,EAC9C,gDAAgD,EAChD,iDAAiD,EACjD,mDAAmD,EACnD,wDAAwD,EACxD,qDAAqD,EACrD,iCAAiC,EACjC,UAAU,GACX,uCAAmC;AACpC,OAAO,EACL,uCAAuC,EACvC,wBAAwB,GACzB,uCAAmC;AACpC,6CAAyC;AACzC,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,6BAA6B,EAC7B,GAAG,EACH,WAAW,EACX,WAAW,GACZ,4BAAwB;AACzB,OAAO,EAAE,4BAA4B,EAAE,aAAa,EAAE,4BAAwB;AAC9E,YAAY,EACV,+BAA+B,EAC/B,MAAM,EACN,cAAc,EACd,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,QAAQ,EACR,MAAM,EACN,aAAa,EACb,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,qCAAiC;AAClC,OAAO,EAAE,sBAAsB,EAAE,qCAAiC;AAClE,YAAY,EACV,gCAAgC,EAChC,8BAA8B,EAC9B,qCAAqC,EACrC,6BAA6B,EAC7B,uCAAuC,EACvC,4BAA4B,GAC7B,sCAAkC;AACnC,OAAO,EAAE,uBAAuB,EAAE,sCAAkC;AACpE,YAAY,EACV,iCAAiC,EACjC,+BAA+B,EAC/B,sCAAsC,EACtC,8BAA8B,EAC9B,wCAAwC,GACzC,uCAAmC;AACpC,OAAO,EAAE,wBAAwB,EAAE,uCAAmC;AACtE,YAAY,EACV,cAAc,EACd,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,yBAAyB,EACzB,iBAAiB,EACjB,0BAA0B,EAC1B,4BAA4B,GAC7B,kCAA8B;AAC/B,OAAO,EAAE,mBAAmB,EAAE,kCAA8B;AAC5D,YAAY,EACV,qBAAqB,EACrB,kBAAkB,EAClB,KAAK,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,kCAAkC,EAClC,6BAA6B,EAC7B,yBAAyB,EACzB,oCAAoC,EACpC,iBAAiB,GAClB,mCAA+B;AAChC,OAAO,EACL,mCAAmC,EACnC,oBAAoB,GACrB,mCAA+B;AAChC,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACvB,8BAA8B,EAC9B,uCAAuC,EACvC,sBAAsB,EACtB,gCAAgC,EAChC,yBAAyB,GAC1B,+BAA2B;AAC5B,OAAO,EAAE,gBAAgB,EAAE,+BAA2B;AACtD,OAAO,EACL,mCAAmC,EACnC,sBAAsB,EACtB,mBAAmB,EACnB,+BAA+B,EAC/B,aAAa,GACd,yBAAqB;AACtB,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,GACtB,yCAA+B;AAChC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,oCAA0B;AACpE,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,6BAA6B,EAC7B,+BAA+B,EAC/B,kCAAkC,EAClC,kCAAkC,GACnC,oCAA0B;AAC3B,OAAO,EAAE,4BAA4B,EAAE,iDAAuC;AAC9E,YAAY,EACV,iCAAiC,EACjC,0CAA0C,EAC1C,uCAAuC,EACvC,mCAAmC,EACnC,kCAAkC,EAClC,qCAAqC,GACtC,iDAAuC;AAExC,OAAO,EACL,0BAA0B,EAC1B,yCAAyC,GAC1C,+CAAqC;AAEtC,YAAY,EACV,+BAA+B,EAC/B,wCAAwC,EACxC,0CAA0C,EAC1C,iCAAiC,EACjC,gCAAgC,EAChC,mCAAmC,GACpC,+CAAqC;AAEtC,OAAO,EACL,+BAA+B,EAC/B,8CAA8C,GAC/C,oDAA0C;AAE3C,YAAY,EACV,oCAAoC,EACpC,sCAAsC,EACtC,qCAAqC,EACrC,6CAA6C,EAC7C,0CAA0C,EAC1C,wCAAwC,GACzC,oDAA0C;AAC3C,OAAO,EAAE,kCAAkC,EAAE,uDAA6C;AAC1F,YAAY,EACV,gBAAgB,EAChB,uCAAuC,EACvC,gDAAgD,EAChD,wCAAwC,EACxC,kDAAkD,EAClD,yCAAyC,EACzC,2CAA2C,GAC5C,uDAA6C"}
|
package/dist/index.d.mts
CHANGED
|
@@ -29,7 +29,4 @@ export { MultichainAssetsRatesController, getDefaultMultichainAssetsRatesControl
|
|
|
29
29
|
export type { MultichainAssetsRatesControllerState, MultichainAssetsRatesControllerActions, MultichainAssetsRatesControllerEvents, MultichainAssetsRatesControllerGetStateAction, MultichainAssetsRatesControllerStateChange, MultichainAssetsRatesControllerMessenger, } from "./MultichainAssetsRatesController/index.mjs";
|
|
30
30
|
export { TokenSearchDiscoveryDataController } from "./TokenSearchDiscoveryDataController/index.mjs";
|
|
31
31
|
export type { TokenDisplayData, TokenSearchDiscoveryDataControllerState, TokenSearchDiscoveryDataControllerGetStateAction, TokenSearchDiscoveryDataControllerEvents, TokenSearchDiscoveryDataControllerStateChangeEvent, TokenSearchDiscoveryDataControllerActions, TokenSearchDiscoveryDataControllerMessenger, } from "./TokenSearchDiscoveryDataController/index.mjs";
|
|
32
|
-
export { DeFiPositionsController } from "./DeFiPositionsController/DeFiPositionsController.mjs";
|
|
33
|
-
export type { DeFiPositionsControllerState, DeFiPositionsControllerActions, DeFiPositionsControllerEvents, DeFiPositionsControllerGetStateAction, DeFiPositionsControllerStateChangeEvent, DeFiPositionsControllerMessenger, } from "./DeFiPositionsController/DeFiPositionsController.mjs";
|
|
34
|
-
export type { GroupedPositions } from "./DeFiPositionsController/group-positions.mjs";
|
|
35
32
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,iCAAiC,EACjC,6BAA6B,EAC7B,+BAA+B,EAC/B,sCAAsC,EACtC,wCAAwC,EACxC,8BAA8B,GAC/B,uCAAmC;AACpC,OAAO,EAAE,wBAAwB,EAAE,uCAAmC;AACtE,YAAY,EACV,+BAA+B,EAC/B,8BAA8B,EAC9B,8CAA8C,EAC9C,+CAA+C,EAC/C,gDAAgD,EAChD,+CAA+C,EAC/C,mDAAmD,EACnD,+CAA+C,EAC/C,iDAAiD,EACjD,+CAA+C,EAC/C,gDAAgD,EAChD,kDAAkD,EAClD,8CAA8C,EAC9C,gDAAgD,EAChD,iDAAiD,EACjD,mDAAmD,EACnD,wDAAwD,EACxD,qDAAqD,EACrD,iCAAiC,EACjC,UAAU,GACX,uCAAmC;AACpC,OAAO,EACL,uCAAuC,EACvC,wBAAwB,GACzB,uCAAmC;AACpC,6CAAyC;AACzC,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,6BAA6B,EAC7B,GAAG,EACH,WAAW,EACX,WAAW,GACZ,4BAAwB;AACzB,OAAO,EAAE,4BAA4B,EAAE,aAAa,EAAE,4BAAwB;AAC9E,YAAY,EACV,+BAA+B,EAC/B,MAAM,EACN,cAAc,EACd,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,QAAQ,EACR,MAAM,EACN,aAAa,EACb,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,qCAAiC;AAClC,OAAO,EAAE,sBAAsB,EAAE,qCAAiC;AAClE,YAAY,EACV,gCAAgC,EAChC,8BAA8B,EAC9B,qCAAqC,EACrC,6BAA6B,EAC7B,uCAAuC,EACvC,4BAA4B,GAC7B,sCAAkC;AACnC,OAAO,EAAE,uBAAuB,EAAE,sCAAkC;AACpE,YAAY,EACV,iCAAiC,EACjC,+BAA+B,EAC/B,sCAAsC,EACtC,8BAA8B,EAC9B,wCAAwC,GACzC,uCAAmC;AACpC,OAAO,EAAE,wBAAwB,EAAE,uCAAmC;AACtE,YAAY,EACV,cAAc,EACd,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,yBAAyB,EACzB,iBAAiB,EACjB,0BAA0B,EAC1B,4BAA4B,GAC7B,kCAA8B;AAC/B,OAAO,EAAE,mBAAmB,EAAE,kCAA8B;AAC5D,YAAY,EACV,qBAAqB,EACrB,kBAAkB,EAClB,KAAK,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,kCAAkC,EAClC,6BAA6B,EAC7B,yBAAyB,EACzB,oCAAoC,EACpC,iBAAiB,GAClB,mCAA+B;AAChC,OAAO,EACL,mCAAmC,EACnC,oBAAoB,GACrB,mCAA+B;AAChC,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACvB,8BAA8B,EAC9B,uCAAuC,EACvC,sBAAsB,EACtB,gCAAgC,EAChC,yBAAyB,GAC1B,+BAA2B;AAC5B,OAAO,EAAE,gBAAgB,EAAE,+BAA2B;AACtD,OAAO,EACL,mCAAmC,EACnC,sBAAsB,EACtB,mBAAmB,EACnB,+BAA+B,EAC/B,aAAa,GACd,yBAAqB;AACtB,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,GACtB,yCAA+B;AAChC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,oCAA0B;AACpE,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,6BAA6B,EAC7B,+BAA+B,EAC/B,kCAAkC,EAClC,kCAAkC,GACnC,oCAA0B;AAC3B,OAAO,EAAE,4BAA4B,EAAE,iDAAuC;AAC9E,YAAY,EACV,iCAAiC,EACjC,0CAA0C,EAC1C,uCAAuC,EACvC,mCAAmC,EACnC,kCAAkC,EAClC,qCAAqC,GACtC,iDAAuC;AAExC,OAAO,EACL,0BAA0B,EAC1B,yCAAyC,GAC1C,+CAAqC;AAEtC,YAAY,EACV,+BAA+B,EAC/B,wCAAwC,EACxC,0CAA0C,EAC1C,iCAAiC,EACjC,gCAAgC,EAChC,mCAAmC,GACpC,+CAAqC;AAEtC,OAAO,EACL,+BAA+B,EAC/B,8CAA8C,GAC/C,oDAA0C;AAE3C,YAAY,EACV,oCAAoC,EACpC,sCAAsC,EACtC,qCAAqC,EACrC,6CAA6C,EAC7C,0CAA0C,EAC1C,wCAAwC,GACzC,oDAA0C;AAC3C,OAAO,EAAE,kCAAkC,EAAE,uDAA6C;AAC1F,YAAY,EACV,gBAAgB,EAChB,uCAAuC,EACvC,gDAAgD,EAChD,wCAAwC,EACxC,kDAAkD,EAClD,yCAAyC,EACzC,2CAA2C,GAC5C,uDAA6C"}
|
package/dist/index.mjs
CHANGED
|
@@ -15,5 +15,4 @@ export { MultichainBalancesController } from "./MultichainBalancesController/ind
|
|
|
15
15
|
export { MultichainAssetsController, getDefaultMultichainAssetsControllerState } from "./MultichainAssetsController/index.mjs";
|
|
16
16
|
export { MultichainAssetsRatesController, getDefaultMultichainAssetsRatesControllerState } from "./MultichainAssetsRatesController/index.mjs";
|
|
17
17
|
export { TokenSearchDiscoveryDataController } from "./TokenSearchDiscoveryDataController/index.mjs";
|
|
18
|
-
export { DeFiPositionsController } from "./DeFiPositionsController/DeFiPositionsController.mjs";
|
|
19
18
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,wBAAwB,EAAE,uCAAmC;AAuBtE,OAAO,EACL,uCAAuC,EACvC,wBAAwB,EACzB,uCAAmC;AACpC,6CAAyC;AAYzC,OAAO,EAAE,4BAA4B,EAAE,aAAa,EAAE,4BAAwB;AAwB9E,OAAO,EAAE,sBAAsB,EAAE,qCAAiC;AASlE,OAAO,EAAE,uBAAuB,EAAE,sCAAkC;AAQpE,OAAO,EAAE,wBAAwB,EAAE,uCAAmC;AAWtE,OAAO,EAAE,mBAAmB,EAAE,kCAA8B;AAa5D,OAAO,EACL,mCAAmC,EACnC,oBAAoB,EACrB,mCAA+B;AAUhC,OAAO,EAAE,gBAAgB,EAAE,+BAA2B;AACtD,OAAO,EACL,mCAAmC,EACnC,sBAAsB,EACtB,mBAAmB,EACnB,+BAA+B,EAC/B,aAAa,EACd,yBAAqB;AACtB,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,EACtB,yCAA+B;AAChC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,oCAA0B;AAWpE,OAAO,EAAE,4BAA4B,EAAE,iDAAuC;AAU9E,OAAO,EACL,0BAA0B,EAC1B,yCAAyC,EAC1C,+CAAqC;AAWtC,OAAO,EACL,+BAA+B,EAC/B,8CAA8C,EAC/C,oDAA0C;AAU3C,OAAO,EAAE,kCAAkC,EAAE,uDAA6C
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,wBAAwB,EAAE,uCAAmC;AAuBtE,OAAO,EACL,uCAAuC,EACvC,wBAAwB,EACzB,uCAAmC;AACpC,6CAAyC;AAYzC,OAAO,EAAE,4BAA4B,EAAE,aAAa,EAAE,4BAAwB;AAwB9E,OAAO,EAAE,sBAAsB,EAAE,qCAAiC;AASlE,OAAO,EAAE,uBAAuB,EAAE,sCAAkC;AAQpE,OAAO,EAAE,wBAAwB,EAAE,uCAAmC;AAWtE,OAAO,EAAE,mBAAmB,EAAE,kCAA8B;AAa5D,OAAO,EACL,mCAAmC,EACnC,oBAAoB,EACrB,mCAA+B;AAUhC,OAAO,EAAE,gBAAgB,EAAE,+BAA2B;AACtD,OAAO,EACL,mCAAmC,EACnC,sBAAsB,EACtB,mBAAmB,EACnB,+BAA+B,EAC/B,aAAa,EACd,yBAAqB;AACtB,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,EACtB,yCAA+B;AAChC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,oCAA0B;AAWpE,OAAO,EAAE,4BAA4B,EAAE,iDAAuC;AAU9E,OAAO,EACL,0BAA0B,EAC1B,yCAAyC,EAC1C,+CAAqC;AAWtC,OAAO,EACL,+BAA+B,EAC/B,8CAA8C,EAC/C,oDAA0C;AAU3C,OAAO,EAAE,kCAAkC,EAAE,uDAA6C","sourcesContent":["export type {\n AccountInformation,\n AccountTrackerControllerMessenger,\n AccountTrackerControllerState,\n AccountTrackerControllerActions,\n AccountTrackerControllerGetStateAction,\n AccountTrackerControllerStateChangeEvent,\n AccountTrackerControllerEvents,\n} from './AccountTrackerController';\nexport { AccountTrackerController } from './AccountTrackerController';\nexport type {\n AssetsContractControllerActions,\n AssetsContractControllerEvents,\n AssetsContractControllerGetERC20StandardAction,\n AssetsContractControllerGetERC721StandardAction,\n AssetsContractControllerGetERC1155StandardAction,\n AssetsContractControllerGetERC20BalanceOfAction,\n AssetsContractControllerGetERC20TokenDecimalsAction,\n AssetsContractControllerGetERC20TokenNameAction,\n AssetsContractControllerGetERC721NftTokenIdAction,\n AssetsContractControllerGetERC721TokenURIAction,\n AssetsContractControllerGetERC721AssetNameAction,\n AssetsContractControllerGetERC721AssetSymbolAction,\n AssetsContractControllerGetERC721OwnerOfAction,\n AssetsContractControllerGetERC1155TokenURIAction,\n AssetsContractControllerGetERC1155BalanceOfAction,\n AssetsContractControllerTransferSingleERC1155Action,\n AssetsContractControllerGetTokenStandardAndDetailsAction,\n AssetsContractControllerGetBalancesInSingleCallAction,\n AssetsContractControllerMessenger,\n BalanceMap,\n} from './AssetsContractController';\nexport {\n SINGLE_CALL_BALANCES_ADDRESS_BY_CHAINID,\n AssetsContractController,\n} from './AssetsContractController';\nexport * from './CurrencyRateController';\nexport type {\n NftControllerState,\n NftControllerMessenger,\n NftControllerActions,\n NftControllerGetStateAction,\n NftControllerEvents,\n NftControllerStateChangeEvent,\n Nft,\n NftContract,\n NftMetadata,\n} from './NftController';\nexport { getDefaultNftControllerState, NftController } from './NftController';\nexport type {\n NftDetectionControllerMessenger,\n ApiNft,\n ApiNftContract,\n ApiNftLastSale,\n ApiNftCreator,\n ReservoirResponse,\n TokensResponse,\n BlockaidResultType,\n Blockaid,\n Market,\n TokenResponse,\n TopBid,\n LastSale,\n FeeBreakdown,\n Attributes,\n Collection,\n Royalties,\n Ownership,\n FloorAsk,\n Price,\n Metadata,\n} from './NftDetectionController';\nexport { NftDetectionController } from './NftDetectionController';\nexport type {\n TokenBalancesControllerMessenger,\n TokenBalancesControllerActions,\n TokenBalancesControllerGetStateAction,\n TokenBalancesControllerEvents,\n TokenBalancesControllerStateChangeEvent,\n TokenBalancesControllerState,\n} from './TokenBalancesController';\nexport { TokenBalancesController } from './TokenBalancesController';\nexport type {\n TokenDetectionControllerMessenger,\n TokenDetectionControllerActions,\n TokenDetectionControllerGetStateAction,\n TokenDetectionControllerEvents,\n TokenDetectionControllerStateChangeEvent,\n} from './TokenDetectionController';\nexport { TokenDetectionController } from './TokenDetectionController';\nexport type {\n TokenListState,\n TokenListToken,\n TokenListMap,\n TokenListStateChange,\n TokenListControllerEvents,\n GetTokenListState,\n TokenListControllerActions,\n TokenListControllerMessenger,\n} from './TokenListController';\nexport { TokenListController } from './TokenListController';\nexport type {\n ContractExchangeRates,\n ContractMarketData,\n Token,\n TokenRatesControllerActions,\n TokenRatesControllerEvents,\n TokenRatesControllerGetStateAction,\n TokenRatesControllerMessenger,\n TokenRatesControllerState,\n TokenRatesControllerStateChangeEvent,\n MarketDataDetails,\n} from './TokenRatesController';\nexport {\n getDefaultTokenRatesControllerState,\n TokenRatesController,\n} from './TokenRatesController';\nexport type {\n TokensControllerState,\n TokensControllerActions,\n TokensControllerGetStateAction,\n TokensControllerAddDetectedTokensAction,\n TokensControllerEvents,\n TokensControllerStateChangeEvent,\n TokensControllerMessenger,\n} from './TokensController';\nexport { TokensController } from './TokensController';\nexport {\n isTokenDetectionSupportedForNetwork,\n formatIconUrlWithProxy,\n getFormattedIpfsUrl,\n fetchTokenContractExchangeRates,\n getKeyByValue,\n} from './assetsUtil';\nexport {\n CodefiTokenPricesServiceV2,\n SUPPORTED_CHAIN_IDS,\n getNativeTokenAddress,\n} from './token-prices-service';\nexport { RatesController, Cryptocurrency } from './RatesController';\nexport type {\n RatesControllerState,\n RatesControllerEvents,\n RatesControllerActions,\n RatesControllerMessenger,\n RatesControllerGetStateAction,\n RatesControllerStateChangeEvent,\n RatesControllerPollingStartedEvent,\n RatesControllerPollingStoppedEvent,\n} from './RatesController';\nexport { MultichainBalancesController } from './MultichainBalancesController';\nexport type {\n MultichainBalancesControllerState,\n MultichainBalancesControllerGetStateAction,\n MultichainBalancesControllerStateChange,\n MultichainBalancesControllerActions,\n MultichainBalancesControllerEvents,\n MultichainBalancesControllerMessenger,\n} from './MultichainBalancesController';\n\nexport {\n MultichainAssetsController,\n getDefaultMultichainAssetsControllerState,\n} from './MultichainAssetsController';\n\nexport type {\n MultichainAssetsControllerState,\n MultichainAssetsControllerGetStateAction,\n MultichainAssetsControllerStateChangeEvent,\n MultichainAssetsControllerActions,\n MultichainAssetsControllerEvents,\n MultichainAssetsControllerMessenger,\n} from './MultichainAssetsController';\n\nexport {\n MultichainAssetsRatesController,\n getDefaultMultichainAssetsRatesControllerState,\n} from './MultichainAssetsRatesController';\n\nexport type {\n MultichainAssetsRatesControllerState,\n MultichainAssetsRatesControllerActions,\n MultichainAssetsRatesControllerEvents,\n MultichainAssetsRatesControllerGetStateAction,\n MultichainAssetsRatesControllerStateChange,\n MultichainAssetsRatesControllerMessenger,\n} from './MultichainAssetsRatesController';\nexport { TokenSearchDiscoveryDataController } from './TokenSearchDiscoveryDataController';\nexport type {\n TokenDisplayData,\n TokenSearchDiscoveryDataControllerState,\n TokenSearchDiscoveryDataControllerGetStateAction,\n TokenSearchDiscoveryDataControllerEvents,\n TokenSearchDiscoveryDataControllerStateChangeEvent,\n TokenSearchDiscoveryDataControllerActions,\n TokenSearchDiscoveryDataControllerMessenger,\n} from './TokenSearchDiscoveryDataController';\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metamask-previews/assets-controllers",
|
|
3
|
-
"version": "53.1.
|
|
3
|
+
"version": "53.1.1-preview-4a9f2de",
|
|
4
4
|
"description": "Controllers which manage interactions involving ERC-20, ERC-721, and ERC-1155 tokens (including NFTs)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"MetaMask",
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
-
};
|
|
8
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
-
};
|
|
13
|
-
var _DeFiPositionsController_instances, _DeFiPositionsController_fetchPositions, _DeFiPositionsController_updateAccountPositions;
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.DeFiPositionsController = exports.getDefaultDefiPositionsControllerState = void 0;
|
|
16
|
-
const base_controller_1 = require("@metamask/base-controller");
|
|
17
|
-
const fetch_positions_1 = require("./fetch-positions.cjs");
|
|
18
|
-
const group_positions_1 = require("./group-positions.cjs");
|
|
19
|
-
const controllerName = 'DeFiPositionsController';
|
|
20
|
-
const controllerMetadata = {
|
|
21
|
-
allDeFiPositions: {
|
|
22
|
-
persist: false,
|
|
23
|
-
anonymous: false,
|
|
24
|
-
},
|
|
25
|
-
};
|
|
26
|
-
const getDefaultDefiPositionsControllerState = () => {
|
|
27
|
-
return {
|
|
28
|
-
allDeFiPositions: {},
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
exports.getDefaultDefiPositionsControllerState = getDefaultDefiPositionsControllerState;
|
|
32
|
-
/**
|
|
33
|
-
* Controller that stores assets and exposes convenience methods
|
|
34
|
-
*/
|
|
35
|
-
class DeFiPositionsController extends base_controller_1.BaseController {
|
|
36
|
-
/**
|
|
37
|
-
* Tokens controller options
|
|
38
|
-
*
|
|
39
|
-
* @param options - Constructor options.
|
|
40
|
-
* @param options.messenger - The controller messenger.
|
|
41
|
-
* @param options.state - Initial state to set on this controller.
|
|
42
|
-
* @param options.apiUrl - Override for theAPI URL to use for fetching DeFi positions.
|
|
43
|
-
*/
|
|
44
|
-
constructor({ messenger, state, apiUrl, }) {
|
|
45
|
-
super({
|
|
46
|
-
name: controllerName,
|
|
47
|
-
metadata: controllerMetadata,
|
|
48
|
-
messenger,
|
|
49
|
-
state: {
|
|
50
|
-
...(0, exports.getDefaultDefiPositionsControllerState)(),
|
|
51
|
-
...state,
|
|
52
|
-
},
|
|
53
|
-
});
|
|
54
|
-
_DeFiPositionsController_instances.add(this);
|
|
55
|
-
_DeFiPositionsController_fetchPositions.set(this, void 0);
|
|
56
|
-
__classPrivateFieldSet(this, _DeFiPositionsController_fetchPositions, (0, fetch_positions_1.buildPositionFetcher)(apiUrl), "f");
|
|
57
|
-
this.messagingSystem.subscribe('AccountsController:selectedAccountChange', async (selectedAccount) => {
|
|
58
|
-
console.log('DEFI POSITIONS CONTROLLER EVENT: AccountsController:selectedAccountChange', selectedAccount.address);
|
|
59
|
-
await __classPrivateFieldGet(this, _DeFiPositionsController_instances, "m", _DeFiPositionsController_updateAccountPositions).call(this, selectedAccount.address);
|
|
60
|
-
});
|
|
61
|
-
this.messagingSystem.subscribe('NetworkController:stateChange', async () => {
|
|
62
|
-
const { address } = this.messagingSystem.call('AccountsController:getSelectedAccount');
|
|
63
|
-
console.log('DEFI POSITIONS CONTROLLER EVENT: NetworkController:stateChange', address);
|
|
64
|
-
if (address) {
|
|
65
|
-
await __classPrivateFieldGet(this, _DeFiPositionsController_instances, "m", _DeFiPositionsController_updateAccountPositions).call(this, address);
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
exports.DeFiPositionsController = DeFiPositionsController;
|
|
71
|
-
_DeFiPositionsController_fetchPositions = new WeakMap(), _DeFiPositionsController_instances = new WeakSet(), _DeFiPositionsController_updateAccountPositions = async function _DeFiPositionsController_updateAccountPositions(accountAddress) {
|
|
72
|
-
// TODO: This is done to give the UI a loading effect. Probably not the best way to do this
|
|
73
|
-
this.update((state) => {
|
|
74
|
-
state.allDeFiPositions[accountAddress] = null;
|
|
75
|
-
});
|
|
76
|
-
const defiPositionsResponse = await __classPrivateFieldGet(this, _DeFiPositionsController_fetchPositions, "f").call(this, accountAddress);
|
|
77
|
-
const accountPositionsPerChain = (0, group_positions_1.groupPositions)(defiPositionsResponse);
|
|
78
|
-
this.update((state) => {
|
|
79
|
-
state.allDeFiPositions[accountAddress] = accountPositionsPerChain;
|
|
80
|
-
});
|
|
81
|
-
};
|
|
82
|
-
//# sourceMappingURL=DeFiPositionsController.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeFiPositionsController.cjs","sourceRoot":"","sources":["../../src/DeFiPositionsController/DeFiPositionsController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAUA,+DAA2D;AAK3D,2DAAyD;AACzD,2DAA0E;AAE1E,MAAM,cAAc,GAAG,yBAAyB,CAAC;AAWjD,MAAM,kBAAkB,GAAgD;IACtE,gBAAgB,EAAE;QAChB,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,KAAK;KACjB;CACF,CAAC;AAEK,MAAM,sCAAsC,GACjD,GAAiC,EAAE;IACjC,OAAO;QACL,gBAAgB,EAAE,EAAE;KACrB,CAAC;AACJ,CAAC,CAAC;AALS,QAAA,sCAAsC,0CAK/C;AA0CJ;;GAEG;AACH,MAAa,uBAAwB,SAAQ,gCAI5C;IAKC;;;;;;;OAOG;IACH,YAAY,EACV,SAAS,EACT,KAAK,EACL,MAAM,GAKP;QACC,KAAK,CAAC;YACJ,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,kBAAkB;YAC5B,SAAS;YACT,KAAK,EAAE;gBACL,GAAG,IAAA,8CAAsC,GAAE;gBAC3C,GAAG,KAAK;aACT;SACF,CAAC,CAAC;;QA7BI,0DAE4B;QA6BnC,uBAAA,IAAI,2CAAmB,IAAA,sCAAoB,EAAC,MAAM,CAAC,MAAA,CAAC;QAEpD,IAAI,CAAC,eAAe,CAAC,SAAS,CAC5B,0CAA0C,EAC1C,KAAK,EAAE,eAAe,EAAE,EAAE;YACxB,OAAO,CAAC,GAAG,CACT,2EAA2E,EAC3E,eAAe,CAAC,OAAO,CACxB,CAAC;YACF,MAAM,uBAAA,IAAI,2FAAwB,MAA5B,IAAI,EAAyB,eAAe,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,SAAS,CAC5B,+BAA+B,EAC/B,KAAK,IAAI,EAAE;YACT,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAC3C,uCAAuC,CACxC,CAAC;YACF,OAAO,CAAC,GAAG,CACT,gEAAgE,EAChE,OAAO,CACR,CAAC;YAEF,IAAI,OAAO,EAAE;gBACX,MAAM,uBAAA,IAAI,2FAAwB,MAA5B,IAAI,EAAyB,OAAO,CAAC,CAAC;aAC7C;QACH,CAAC,CACF,CAAC;IACJ,CAAC;CAgBF;AAjFD,0DAiFC;+JAdC,KAAK,0DAAyB,cAAsB;IAClD,2FAA2F;IAC3F,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACpB,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,MAAM,qBAAqB,GAAG,MAAM,uBAAA,IAAI,+CAAgB,MAApB,IAAI,EAAiB,cAAc,CAAC,CAAC;IAEzE,MAAM,wBAAwB,GAAG,IAAA,gCAAc,EAAC,qBAAqB,CAAC,CAAC;IAEvE,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACpB,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,GAAG,wBAAwB,CAAC;IACpE,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import type {\n AccountsControllerGetSelectedAccountAction,\n AccountsControllerSelectedAccountChangeEvent,\n} from '@metamask/accounts-controller';\nimport type {\n ControllerGetStateAction,\n ControllerStateChangeEvent,\n RestrictedMessenger,\n StateMetadata,\n} from '@metamask/base-controller';\nimport { BaseController } from '@metamask/base-controller';\nimport type { NetworkControllerStateChangeEvent } from '@metamask/network-controller';\nimport type { Hex } from '@metamask/utils';\n\nimport type { DefiPositionResponse } from './fetch-positions';\nimport { buildPositionFetcher } from './fetch-positions';\nimport { groupPositions, type GroupedPositions } from './group-positions';\n\nconst controllerName = 'DeFiPositionsController';\n\nexport type DeFiPositionsControllerState = {\n /**\n * Object containing DeFi positions per account and network\n */\n allDeFiPositions: {\n [accountAddress: string]: { [chain: Hex]: GroupedPositions } | null;\n };\n};\n\nconst controllerMetadata: StateMetadata<DeFiPositionsControllerState> = {\n allDeFiPositions: {\n persist: false,\n anonymous: false,\n },\n};\n\nexport const getDefaultDefiPositionsControllerState =\n (): DeFiPositionsControllerState => {\n return {\n allDeFiPositions: {},\n };\n };\n\nexport type DeFiPositionsControllerActions =\n DeFiPositionsControllerGetStateAction;\n\nexport type DeFiPositionsControllerGetStateAction = ControllerGetStateAction<\n typeof controllerName,\n DeFiPositionsControllerState\n>;\n\nexport type DeFiPositionsControllerEvents =\n DeFiPositionsControllerStateChangeEvent;\n\nexport type DeFiPositionsControllerStateChangeEvent =\n ControllerStateChangeEvent<\n typeof controllerName,\n DeFiPositionsControllerState\n >;\n\n/**\n * The external actions available to the {@link DeFiPositionsController}.\n */\nexport type AllowedActions = AccountsControllerGetSelectedAccountAction;\n\n/**\n * The external events available to the {@link DeFiPositionsController}.\n */\nexport type AllowedEvents =\n | NetworkControllerStateChangeEvent\n | AccountsControllerSelectedAccountChangeEvent;\n\n/**\n * The messenger of the {@link DeFiPositionsController}.\n */\nexport type DeFiPositionsControllerMessenger = RestrictedMessenger<\n typeof controllerName,\n DeFiPositionsControllerActions | AllowedActions,\n DeFiPositionsControllerEvents | AllowedEvents,\n AllowedActions['type'],\n AllowedEvents['type']\n>;\n\n/**\n * Controller that stores assets and exposes convenience methods\n */\nexport class DeFiPositionsController extends BaseController<\n typeof controllerName,\n DeFiPositionsControllerState,\n DeFiPositionsControllerMessenger\n> {\n readonly #fetchPositions: (\n accountAddress: string,\n ) => Promise<DefiPositionResponse[]>;\n\n /**\n * Tokens controller options\n *\n * @param options - Constructor options.\n * @param options.messenger - The controller messenger.\n * @param options.state - Initial state to set on this controller.\n * @param options.apiUrl - Override for theAPI URL to use for fetching DeFi positions.\n */\n constructor({\n messenger,\n state,\n apiUrl,\n }: {\n messenger: DeFiPositionsControllerMessenger;\n state?: Partial<DeFiPositionsControllerState>;\n apiUrl?: string;\n }) {\n super({\n name: controllerName,\n metadata: controllerMetadata,\n messenger,\n state: {\n ...getDefaultDefiPositionsControllerState(),\n ...state,\n },\n });\n\n this.#fetchPositions = buildPositionFetcher(apiUrl);\n\n this.messagingSystem.subscribe(\n 'AccountsController:selectedAccountChange',\n async (selectedAccount) => {\n console.log(\n 'DEFI POSITIONS CONTROLLER EVENT: AccountsController:selectedAccountChange',\n selectedAccount.address,\n );\n await this.#updateAccountPositions(selectedAccount.address);\n },\n );\n\n this.messagingSystem.subscribe(\n 'NetworkController:stateChange',\n async () => {\n const { address } = this.messagingSystem.call(\n 'AccountsController:getSelectedAccount',\n );\n console.log(\n 'DEFI POSITIONS CONTROLLER EVENT: NetworkController:stateChange',\n address,\n );\n\n if (address) {\n await this.#updateAccountPositions(address);\n }\n },\n );\n }\n\n async #updateAccountPositions(accountAddress: string) {\n // TODO: This is done to give the UI a loading effect. Probably not the best way to do this\n this.update((state) => {\n state.allDeFiPositions[accountAddress] = null;\n });\n\n const defiPositionsResponse = await this.#fetchPositions(accountAddress);\n\n const accountPositionsPerChain = groupPositions(defiPositionsResponse);\n\n this.update((state) => {\n state.allDeFiPositions[accountAddress] = accountPositionsPerChain;\n });\n }\n}\n"]}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import type { AccountsControllerGetSelectedAccountAction, AccountsControllerSelectedAccountChangeEvent } from "@metamask/accounts-controller";
|
|
2
|
-
import type { ControllerGetStateAction, ControllerStateChangeEvent, RestrictedMessenger } from "@metamask/base-controller";
|
|
3
|
-
import { BaseController } from "@metamask/base-controller";
|
|
4
|
-
import type { NetworkControllerStateChangeEvent } from "@metamask/network-controller";
|
|
5
|
-
import type { Hex } from "@metamask/utils";
|
|
6
|
-
import { type GroupedPositions } from "./group-positions.cjs";
|
|
7
|
-
declare const controllerName = "DeFiPositionsController";
|
|
8
|
-
export type DeFiPositionsControllerState = {
|
|
9
|
-
/**
|
|
10
|
-
* Object containing DeFi positions per account and network
|
|
11
|
-
*/
|
|
12
|
-
allDeFiPositions: {
|
|
13
|
-
[accountAddress: string]: {
|
|
14
|
-
[chain: Hex]: GroupedPositions;
|
|
15
|
-
} | null;
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
export declare const getDefaultDefiPositionsControllerState: () => DeFiPositionsControllerState;
|
|
19
|
-
export type DeFiPositionsControllerActions = DeFiPositionsControllerGetStateAction;
|
|
20
|
-
export type DeFiPositionsControllerGetStateAction = ControllerGetStateAction<typeof controllerName, DeFiPositionsControllerState>;
|
|
21
|
-
export type DeFiPositionsControllerEvents = DeFiPositionsControllerStateChangeEvent;
|
|
22
|
-
export type DeFiPositionsControllerStateChangeEvent = ControllerStateChangeEvent<typeof controllerName, DeFiPositionsControllerState>;
|
|
23
|
-
/**
|
|
24
|
-
* The external actions available to the {@link DeFiPositionsController}.
|
|
25
|
-
*/
|
|
26
|
-
export type AllowedActions = AccountsControllerGetSelectedAccountAction;
|
|
27
|
-
/**
|
|
28
|
-
* The external events available to the {@link DeFiPositionsController}.
|
|
29
|
-
*/
|
|
30
|
-
export type AllowedEvents = NetworkControllerStateChangeEvent | AccountsControllerSelectedAccountChangeEvent;
|
|
31
|
-
/**
|
|
32
|
-
* The messenger of the {@link DeFiPositionsController}.
|
|
33
|
-
*/
|
|
34
|
-
export type DeFiPositionsControllerMessenger = RestrictedMessenger<typeof controllerName, DeFiPositionsControllerActions | AllowedActions, DeFiPositionsControllerEvents | AllowedEvents, AllowedActions['type'], AllowedEvents['type']>;
|
|
35
|
-
/**
|
|
36
|
-
* Controller that stores assets and exposes convenience methods
|
|
37
|
-
*/
|
|
38
|
-
export declare class DeFiPositionsController extends BaseController<typeof controllerName, DeFiPositionsControllerState, DeFiPositionsControllerMessenger> {
|
|
39
|
-
#private;
|
|
40
|
-
/**
|
|
41
|
-
* Tokens controller options
|
|
42
|
-
*
|
|
43
|
-
* @param options - Constructor options.
|
|
44
|
-
* @param options.messenger - The controller messenger.
|
|
45
|
-
* @param options.state - Initial state to set on this controller.
|
|
46
|
-
* @param options.apiUrl - Override for theAPI URL to use for fetching DeFi positions.
|
|
47
|
-
*/
|
|
48
|
-
constructor({ messenger, state, apiUrl, }: {
|
|
49
|
-
messenger: DeFiPositionsControllerMessenger;
|
|
50
|
-
state?: Partial<DeFiPositionsControllerState>;
|
|
51
|
-
apiUrl?: string;
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
export {};
|
|
55
|
-
//# sourceMappingURL=DeFiPositionsController.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeFiPositionsController.d.cts","sourceRoot":"","sources":["../../src/DeFiPositionsController/DeFiPositionsController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0CAA0C,EAC1C,4CAA4C,EAC7C,sCAAsC;AACvC,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,EAEpB,kCAAkC;AACnC,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAC3D,OAAO,KAAK,EAAE,iCAAiC,EAAE,qCAAqC;AACtF,OAAO,KAAK,EAAE,GAAG,EAAE,wBAAwB;AAI3C,OAAO,EAAkB,KAAK,gBAAgB,EAAE,8BAA0B;AAE1E,QAAA,MAAM,cAAc,4BAA4B,CAAC;AAEjD,MAAM,MAAM,4BAA4B,GAAG;IACzC;;OAEG;IACH,gBAAgB,EAAE;QAChB,CAAC,cAAc,EAAE,MAAM,GAAG;YAAE,CAAC,KAAK,EAAE,GAAG,GAAG,gBAAgB,CAAA;SAAE,GAAG,IAAI,CAAC;KACrE,CAAC;CACH,CAAC;AASF,eAAO,MAAM,sCAAsC,QAC7C,4BAIH,CAAC;AAEJ,MAAM,MAAM,8BAA8B,GACxC,qCAAqC,CAAC;AAExC,MAAM,MAAM,qCAAqC,GAAG,wBAAwB,CAC1E,OAAO,cAAc,EACrB,4BAA4B,CAC7B,CAAC;AAEF,MAAM,MAAM,6BAA6B,GACvC,uCAAuC,CAAC;AAE1C,MAAM,MAAM,uCAAuC,GACjD,0BAA0B,CACxB,OAAO,cAAc,EACrB,4BAA4B,CAC7B,CAAC;AAEJ;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,0CAA0C,CAAC;AAExE;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,iCAAiC,GACjC,4CAA4C,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,gCAAgC,GAAG,mBAAmB,CAChE,OAAO,cAAc,EACrB,8BAA8B,GAAG,cAAc,EAC/C,6BAA6B,GAAG,aAAa,EAC7C,cAAc,CAAC,MAAM,CAAC,EACtB,aAAa,CAAC,MAAM,CAAC,CACtB,CAAC;AAEF;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,cAAc,CACzD,OAAO,cAAc,EACrB,4BAA4B,EAC5B,gCAAgC,CACjC;;IAKC;;;;;;;OAOG;gBACS,EACV,SAAS,EACT,KAAK,EACL,MAAM,GACP,EAAE;QACD,SAAS,EAAE,gCAAgC,CAAC;QAC5C,KAAK,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;CAwDF"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import type { AccountsControllerGetSelectedAccountAction, AccountsControllerSelectedAccountChangeEvent } from "@metamask/accounts-controller";
|
|
2
|
-
import type { ControllerGetStateAction, ControllerStateChangeEvent, RestrictedMessenger } from "@metamask/base-controller";
|
|
3
|
-
import { BaseController } from "@metamask/base-controller";
|
|
4
|
-
import type { NetworkControllerStateChangeEvent } from "@metamask/network-controller";
|
|
5
|
-
import type { Hex } from "@metamask/utils";
|
|
6
|
-
import { type GroupedPositions } from "./group-positions.mjs";
|
|
7
|
-
declare const controllerName = "DeFiPositionsController";
|
|
8
|
-
export type DeFiPositionsControllerState = {
|
|
9
|
-
/**
|
|
10
|
-
* Object containing DeFi positions per account and network
|
|
11
|
-
*/
|
|
12
|
-
allDeFiPositions: {
|
|
13
|
-
[accountAddress: string]: {
|
|
14
|
-
[chain: Hex]: GroupedPositions;
|
|
15
|
-
} | null;
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
export declare const getDefaultDefiPositionsControllerState: () => DeFiPositionsControllerState;
|
|
19
|
-
export type DeFiPositionsControllerActions = DeFiPositionsControllerGetStateAction;
|
|
20
|
-
export type DeFiPositionsControllerGetStateAction = ControllerGetStateAction<typeof controllerName, DeFiPositionsControllerState>;
|
|
21
|
-
export type DeFiPositionsControllerEvents = DeFiPositionsControllerStateChangeEvent;
|
|
22
|
-
export type DeFiPositionsControllerStateChangeEvent = ControllerStateChangeEvent<typeof controllerName, DeFiPositionsControllerState>;
|
|
23
|
-
/**
|
|
24
|
-
* The external actions available to the {@link DeFiPositionsController}.
|
|
25
|
-
*/
|
|
26
|
-
export type AllowedActions = AccountsControllerGetSelectedAccountAction;
|
|
27
|
-
/**
|
|
28
|
-
* The external events available to the {@link DeFiPositionsController}.
|
|
29
|
-
*/
|
|
30
|
-
export type AllowedEvents = NetworkControllerStateChangeEvent | AccountsControllerSelectedAccountChangeEvent;
|
|
31
|
-
/**
|
|
32
|
-
* The messenger of the {@link DeFiPositionsController}.
|
|
33
|
-
*/
|
|
34
|
-
export type DeFiPositionsControllerMessenger = RestrictedMessenger<typeof controllerName, DeFiPositionsControllerActions | AllowedActions, DeFiPositionsControllerEvents | AllowedEvents, AllowedActions['type'], AllowedEvents['type']>;
|
|
35
|
-
/**
|
|
36
|
-
* Controller that stores assets and exposes convenience methods
|
|
37
|
-
*/
|
|
38
|
-
export declare class DeFiPositionsController extends BaseController<typeof controllerName, DeFiPositionsControllerState, DeFiPositionsControllerMessenger> {
|
|
39
|
-
#private;
|
|
40
|
-
/**
|
|
41
|
-
* Tokens controller options
|
|
42
|
-
*
|
|
43
|
-
* @param options - Constructor options.
|
|
44
|
-
* @param options.messenger - The controller messenger.
|
|
45
|
-
* @param options.state - Initial state to set on this controller.
|
|
46
|
-
* @param options.apiUrl - Override for theAPI URL to use for fetching DeFi positions.
|
|
47
|
-
*/
|
|
48
|
-
constructor({ messenger, state, apiUrl, }: {
|
|
49
|
-
messenger: DeFiPositionsControllerMessenger;
|
|
50
|
-
state?: Partial<DeFiPositionsControllerState>;
|
|
51
|
-
apiUrl?: string;
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
export {};
|
|
55
|
-
//# sourceMappingURL=DeFiPositionsController.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeFiPositionsController.d.mts","sourceRoot":"","sources":["../../src/DeFiPositionsController/DeFiPositionsController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0CAA0C,EAC1C,4CAA4C,EAC7C,sCAAsC;AACvC,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,EAEpB,kCAAkC;AACnC,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAC3D,OAAO,KAAK,EAAE,iCAAiC,EAAE,qCAAqC;AACtF,OAAO,KAAK,EAAE,GAAG,EAAE,wBAAwB;AAI3C,OAAO,EAAkB,KAAK,gBAAgB,EAAE,8BAA0B;AAE1E,QAAA,MAAM,cAAc,4BAA4B,CAAC;AAEjD,MAAM,MAAM,4BAA4B,GAAG;IACzC;;OAEG;IACH,gBAAgB,EAAE;QAChB,CAAC,cAAc,EAAE,MAAM,GAAG;YAAE,CAAC,KAAK,EAAE,GAAG,GAAG,gBAAgB,CAAA;SAAE,GAAG,IAAI,CAAC;KACrE,CAAC;CACH,CAAC;AASF,eAAO,MAAM,sCAAsC,QAC7C,4BAIH,CAAC;AAEJ,MAAM,MAAM,8BAA8B,GACxC,qCAAqC,CAAC;AAExC,MAAM,MAAM,qCAAqC,GAAG,wBAAwB,CAC1E,OAAO,cAAc,EACrB,4BAA4B,CAC7B,CAAC;AAEF,MAAM,MAAM,6BAA6B,GACvC,uCAAuC,CAAC;AAE1C,MAAM,MAAM,uCAAuC,GACjD,0BAA0B,CACxB,OAAO,cAAc,EACrB,4BAA4B,CAC7B,CAAC;AAEJ;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,0CAA0C,CAAC;AAExE;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,iCAAiC,GACjC,4CAA4C,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,gCAAgC,GAAG,mBAAmB,CAChE,OAAO,cAAc,EACrB,8BAA8B,GAAG,cAAc,EAC/C,6BAA6B,GAAG,aAAa,EAC7C,cAAc,CAAC,MAAM,CAAC,EACtB,aAAa,CAAC,MAAM,CAAC,CACtB,CAAC;AAEF;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,cAAc,CACzD,OAAO,cAAc,EACrB,4BAA4B,EAC5B,gCAAgC,CACjC;;IAKC;;;;;;;OAOG;gBACS,EACV,SAAS,EACT,KAAK,EACL,MAAM,GACP,EAAE;QACD,SAAS,EAAE,gCAAgC,CAAC;QAC5C,KAAK,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;CAwDF"}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
-
};
|
|
7
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
-
};
|
|
12
|
-
var _DeFiPositionsController_instances, _DeFiPositionsController_fetchPositions, _DeFiPositionsController_updateAccountPositions;
|
|
13
|
-
import { BaseController } from "@metamask/base-controller";
|
|
14
|
-
import { buildPositionFetcher } from "./fetch-positions.mjs";
|
|
15
|
-
import { groupPositions } from "./group-positions.mjs";
|
|
16
|
-
const controllerName = 'DeFiPositionsController';
|
|
17
|
-
const controllerMetadata = {
|
|
18
|
-
allDeFiPositions: {
|
|
19
|
-
persist: false,
|
|
20
|
-
anonymous: false,
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
export const getDefaultDefiPositionsControllerState = () => {
|
|
24
|
-
return {
|
|
25
|
-
allDeFiPositions: {},
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
|
-
/**
|
|
29
|
-
* Controller that stores assets and exposes convenience methods
|
|
30
|
-
*/
|
|
31
|
-
export class DeFiPositionsController extends BaseController {
|
|
32
|
-
/**
|
|
33
|
-
* Tokens controller options
|
|
34
|
-
*
|
|
35
|
-
* @param options - Constructor options.
|
|
36
|
-
* @param options.messenger - The controller messenger.
|
|
37
|
-
* @param options.state - Initial state to set on this controller.
|
|
38
|
-
* @param options.apiUrl - Override for theAPI URL to use for fetching DeFi positions.
|
|
39
|
-
*/
|
|
40
|
-
constructor({ messenger, state, apiUrl, }) {
|
|
41
|
-
super({
|
|
42
|
-
name: controllerName,
|
|
43
|
-
metadata: controllerMetadata,
|
|
44
|
-
messenger,
|
|
45
|
-
state: {
|
|
46
|
-
...getDefaultDefiPositionsControllerState(),
|
|
47
|
-
...state,
|
|
48
|
-
},
|
|
49
|
-
});
|
|
50
|
-
_DeFiPositionsController_instances.add(this);
|
|
51
|
-
_DeFiPositionsController_fetchPositions.set(this, void 0);
|
|
52
|
-
__classPrivateFieldSet(this, _DeFiPositionsController_fetchPositions, buildPositionFetcher(apiUrl), "f");
|
|
53
|
-
this.messagingSystem.subscribe('AccountsController:selectedAccountChange', async (selectedAccount) => {
|
|
54
|
-
console.log('DEFI POSITIONS CONTROLLER EVENT: AccountsController:selectedAccountChange', selectedAccount.address);
|
|
55
|
-
await __classPrivateFieldGet(this, _DeFiPositionsController_instances, "m", _DeFiPositionsController_updateAccountPositions).call(this, selectedAccount.address);
|
|
56
|
-
});
|
|
57
|
-
this.messagingSystem.subscribe('NetworkController:stateChange', async () => {
|
|
58
|
-
const { address } = this.messagingSystem.call('AccountsController:getSelectedAccount');
|
|
59
|
-
console.log('DEFI POSITIONS CONTROLLER EVENT: NetworkController:stateChange', address);
|
|
60
|
-
if (address) {
|
|
61
|
-
await __classPrivateFieldGet(this, _DeFiPositionsController_instances, "m", _DeFiPositionsController_updateAccountPositions).call(this, address);
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
_DeFiPositionsController_fetchPositions = new WeakMap(), _DeFiPositionsController_instances = new WeakSet(), _DeFiPositionsController_updateAccountPositions = async function _DeFiPositionsController_updateAccountPositions(accountAddress) {
|
|
67
|
-
// TODO: This is done to give the UI a loading effect. Probably not the best way to do this
|
|
68
|
-
this.update((state) => {
|
|
69
|
-
state.allDeFiPositions[accountAddress] = null;
|
|
70
|
-
});
|
|
71
|
-
const defiPositionsResponse = await __classPrivateFieldGet(this, _DeFiPositionsController_fetchPositions, "f").call(this, accountAddress);
|
|
72
|
-
const accountPositionsPerChain = groupPositions(defiPositionsResponse);
|
|
73
|
-
this.update((state) => {
|
|
74
|
-
state.allDeFiPositions[accountAddress] = accountPositionsPerChain;
|
|
75
|
-
});
|
|
76
|
-
};
|
|
77
|
-
//# sourceMappingURL=DeFiPositionsController.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeFiPositionsController.mjs","sourceRoot":"","sources":["../../src/DeFiPositionsController/DeFiPositionsController.ts"],"names":[],"mappings":";;;;;;;;;;;;AAUA,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAK3D,OAAO,EAAE,oBAAoB,EAAE,8BAA0B;AACzD,OAAO,EAAE,cAAc,EAAyB,8BAA0B;AAE1E,MAAM,cAAc,GAAG,yBAAyB,CAAC;AAWjD,MAAM,kBAAkB,GAAgD;IACtE,gBAAgB,EAAE;QAChB,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,KAAK;KACjB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,sCAAsC,GACjD,GAAiC,EAAE;IACjC,OAAO;QACL,gBAAgB,EAAE,EAAE;KACrB,CAAC;AACJ,CAAC,CAAC;AA0CJ;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,cAI5C;IAKC;;;;;;;OAOG;IACH,YAAY,EACV,SAAS,EACT,KAAK,EACL,MAAM,GAKP;QACC,KAAK,CAAC;YACJ,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,kBAAkB;YAC5B,SAAS;YACT,KAAK,EAAE;gBACL,GAAG,sCAAsC,EAAE;gBAC3C,GAAG,KAAK;aACT;SACF,CAAC,CAAC;;QA7BI,0DAE4B;QA6BnC,uBAAA,IAAI,2CAAmB,oBAAoB,CAAC,MAAM,CAAC,MAAA,CAAC;QAEpD,IAAI,CAAC,eAAe,CAAC,SAAS,CAC5B,0CAA0C,EAC1C,KAAK,EAAE,eAAe,EAAE,EAAE;YACxB,OAAO,CAAC,GAAG,CACT,2EAA2E,EAC3E,eAAe,CAAC,OAAO,CACxB,CAAC;YACF,MAAM,uBAAA,IAAI,2FAAwB,MAA5B,IAAI,EAAyB,eAAe,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,SAAS,CAC5B,+BAA+B,EAC/B,KAAK,IAAI,EAAE;YACT,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAC3C,uCAAuC,CACxC,CAAC;YACF,OAAO,CAAC,GAAG,CACT,gEAAgE,EAChE,OAAO,CACR,CAAC;YAEF,IAAI,OAAO,EAAE;gBACX,MAAM,uBAAA,IAAI,2FAAwB,MAA5B,IAAI,EAAyB,OAAO,CAAC,CAAC;aAC7C;QACH,CAAC,CACF,CAAC;IACJ,CAAC;CAgBF;+JAdC,KAAK,0DAAyB,cAAsB;IAClD,2FAA2F;IAC3F,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACpB,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,MAAM,qBAAqB,GAAG,MAAM,uBAAA,IAAI,+CAAgB,MAApB,IAAI,EAAiB,cAAc,CAAC,CAAC;IAEzE,MAAM,wBAAwB,GAAG,cAAc,CAAC,qBAAqB,CAAC,CAAC;IAEvE,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACpB,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,GAAG,wBAAwB,CAAC;IACpE,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import type {\n AccountsControllerGetSelectedAccountAction,\n AccountsControllerSelectedAccountChangeEvent,\n} from '@metamask/accounts-controller';\nimport type {\n ControllerGetStateAction,\n ControllerStateChangeEvent,\n RestrictedMessenger,\n StateMetadata,\n} from '@metamask/base-controller';\nimport { BaseController } from '@metamask/base-controller';\nimport type { NetworkControllerStateChangeEvent } from '@metamask/network-controller';\nimport type { Hex } from '@metamask/utils';\n\nimport type { DefiPositionResponse } from './fetch-positions';\nimport { buildPositionFetcher } from './fetch-positions';\nimport { groupPositions, type GroupedPositions } from './group-positions';\n\nconst controllerName = 'DeFiPositionsController';\n\nexport type DeFiPositionsControllerState = {\n /**\n * Object containing DeFi positions per account and network\n */\n allDeFiPositions: {\n [accountAddress: string]: { [chain: Hex]: GroupedPositions } | null;\n };\n};\n\nconst controllerMetadata: StateMetadata<DeFiPositionsControllerState> = {\n allDeFiPositions: {\n persist: false,\n anonymous: false,\n },\n};\n\nexport const getDefaultDefiPositionsControllerState =\n (): DeFiPositionsControllerState => {\n return {\n allDeFiPositions: {},\n };\n };\n\nexport type DeFiPositionsControllerActions =\n DeFiPositionsControllerGetStateAction;\n\nexport type DeFiPositionsControllerGetStateAction = ControllerGetStateAction<\n typeof controllerName,\n DeFiPositionsControllerState\n>;\n\nexport type DeFiPositionsControllerEvents =\n DeFiPositionsControllerStateChangeEvent;\n\nexport type DeFiPositionsControllerStateChangeEvent =\n ControllerStateChangeEvent<\n typeof controllerName,\n DeFiPositionsControllerState\n >;\n\n/**\n * The external actions available to the {@link DeFiPositionsController}.\n */\nexport type AllowedActions = AccountsControllerGetSelectedAccountAction;\n\n/**\n * The external events available to the {@link DeFiPositionsController}.\n */\nexport type AllowedEvents =\n | NetworkControllerStateChangeEvent\n | AccountsControllerSelectedAccountChangeEvent;\n\n/**\n * The messenger of the {@link DeFiPositionsController}.\n */\nexport type DeFiPositionsControllerMessenger = RestrictedMessenger<\n typeof controllerName,\n DeFiPositionsControllerActions | AllowedActions,\n DeFiPositionsControllerEvents | AllowedEvents,\n AllowedActions['type'],\n AllowedEvents['type']\n>;\n\n/**\n * Controller that stores assets and exposes convenience methods\n */\nexport class DeFiPositionsController extends BaseController<\n typeof controllerName,\n DeFiPositionsControllerState,\n DeFiPositionsControllerMessenger\n> {\n readonly #fetchPositions: (\n accountAddress: string,\n ) => Promise<DefiPositionResponse[]>;\n\n /**\n * Tokens controller options\n *\n * @param options - Constructor options.\n * @param options.messenger - The controller messenger.\n * @param options.state - Initial state to set on this controller.\n * @param options.apiUrl - Override for theAPI URL to use for fetching DeFi positions.\n */\n constructor({\n messenger,\n state,\n apiUrl,\n }: {\n messenger: DeFiPositionsControllerMessenger;\n state?: Partial<DeFiPositionsControllerState>;\n apiUrl?: string;\n }) {\n super({\n name: controllerName,\n metadata: controllerMetadata,\n messenger,\n state: {\n ...getDefaultDefiPositionsControllerState(),\n ...state,\n },\n });\n\n this.#fetchPositions = buildPositionFetcher(apiUrl);\n\n this.messagingSystem.subscribe(\n 'AccountsController:selectedAccountChange',\n async (selectedAccount) => {\n console.log(\n 'DEFI POSITIONS CONTROLLER EVENT: AccountsController:selectedAccountChange',\n selectedAccount.address,\n );\n await this.#updateAccountPositions(selectedAccount.address);\n },\n );\n\n this.messagingSystem.subscribe(\n 'NetworkController:stateChange',\n async () => {\n const { address } = this.messagingSystem.call(\n 'AccountsController:getSelectedAccount',\n );\n console.log(\n 'DEFI POSITIONS CONTROLLER EVENT: NetworkController:stateChange',\n address,\n );\n\n if (address) {\n await this.#updateAccountPositions(address);\n }\n },\n );\n }\n\n async #updateAccountPositions(accountAddress: string) {\n // TODO: This is done to give the UI a loading effect. Probably not the best way to do this\n this.update((state) => {\n state.allDeFiPositions[accountAddress] = null;\n });\n\n const defiPositionsResponse = await this.#fetchPositions(accountAddress);\n\n const accountPositionsPerChain = groupPositions(defiPositionsResponse);\n\n this.update((state) => {\n state.allDeFiPositions[accountAddress] = accountPositionsPerChain;\n });\n }\n}\n"]}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.buildPositionFetcher = exports.DEFAULT_DEFI_POSITIONS_API_URL = void 0;
|
|
4
|
-
// TODO: Update with new API URL
|
|
5
|
-
exports.DEFAULT_DEFI_POSITIONS_API_URL = 'https://defi-services.metamask-institutional.io/defi-data/positions';
|
|
6
|
-
/**
|
|
7
|
-
* Builds a function that fetches DeFi positions for a given account address
|
|
8
|
-
*
|
|
9
|
-
* @param apiUrl - The URL of the API to fetch the DeFi positions from
|
|
10
|
-
* @returns A function that fetches DeFi positions for a given account address
|
|
11
|
-
*/
|
|
12
|
-
function buildPositionFetcher(apiUrl = exports.DEFAULT_DEFI_POSITIONS_API_URL) {
|
|
13
|
-
return async (accountAddress) => {
|
|
14
|
-
const defiPositionsResponse = await fetch(`${apiUrl}/${accountAddress}`);
|
|
15
|
-
if (defiPositionsResponse.status !== 200) {
|
|
16
|
-
throw new Error(`Unable to fetch defi positions - HTTP ${defiPositionsResponse.status}`);
|
|
17
|
-
}
|
|
18
|
-
return (await defiPositionsResponse.json()).data;
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
exports.buildPositionFetcher = buildPositionFetcher;
|
|
22
|
-
//# sourceMappingURL=fetch-positions.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-positions.cjs","sourceRoot":"","sources":["../../src/DeFiPositionsController/fetch-positions.ts"],"names":[],"mappings":";;;AAwDA,gCAAgC;AACnB,QAAA,8BAA8B,GACzC,qEAAqE,CAAC;AAExE;;;;;GAKG;AACH,SAAgB,oBAAoB,CAClC,SAAiB,sCAA8B;IAE/C,OAAO,KAAK,EAAE,cAAsB,EAAmC,EAAE;QACvE,MAAM,qBAAqB,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,IAAI,cAAc,EAAE,CAAC,CAAC;QAEzE,IAAI,qBAAqB,CAAC,MAAM,KAAK,GAAG,EAAE;YACxC,MAAM,IAAI,KAAK,CACb,yCAAyC,qBAAqB,CAAC,MAAM,EAAE,CACxE,CAAC;SACH;QAED,OAAO,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC,CAAC;AACJ,CAAC;AAdD,oDAcC","sourcesContent":["export type DefiPositionResponse = AdapterResponse<{\n tokens: ProtocolToken[];\n}>;\n\ntype ProtocolDetails = {\n chainId: number;\n protocolId: string;\n productId: string;\n name: string;\n description: string;\n iconUrl: string;\n siteUrl: string;\n positionType: PositionType;\n metadata?: {\n groupPositions?: boolean;\n };\n};\n\ntype AdapterResponse<ProtocolResponse> =\n | (ProtocolDetails & {\n chainName: string;\n } & (\n | (ProtocolResponse & { success: true })\n | (AdapterErrorResponse & { success: false })\n ))\n | (AdapterErrorResponse & { success: false });\n\ntype AdapterErrorResponse = {\n error: {\n message: string;\n };\n};\n\nexport type PositionType = 'supply' | 'borrow' | 'stake' | 'reward';\n\nexport type ProtocolToken = Balance & {\n type: 'protocol';\n tokenId?: string;\n};\n\nexport type Underlying = Balance & {\n type: 'underlying' | 'underlying-claimable';\n iconUrl: string;\n};\n\nexport type Balance = {\n address: string;\n name: string;\n symbol: string;\n decimals: number;\n balanceRaw: string;\n balance: number;\n price?: number; // TODO: Confirm this is the case\n tokens?: Underlying[];\n};\n\n// TODO: Update with new API URL\nexport const DEFAULT_DEFI_POSITIONS_API_URL =\n 'https://defi-services.metamask-institutional.io/defi-data/positions';\n\n/**\n * Builds a function that fetches DeFi positions for a given account address\n *\n * @param apiUrl - The URL of the API to fetch the DeFi positions from\n * @returns A function that fetches DeFi positions for a given account address\n */\nexport function buildPositionFetcher(\n apiUrl: string = DEFAULT_DEFI_POSITIONS_API_URL,\n) {\n return async (accountAddress: string): Promise<DefiPositionResponse[]> => {\n const defiPositionsResponse = await fetch(`${apiUrl}/${accountAddress}`);\n\n if (defiPositionsResponse.status !== 200) {\n throw new Error(\n `Unable to fetch defi positions - HTTP ${defiPositionsResponse.status}`,\n );\n }\n\n return (await defiPositionsResponse.json()).data;\n };\n}\n"]}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
export type DefiPositionResponse = AdapterResponse<{
|
|
2
|
-
tokens: ProtocolToken[];
|
|
3
|
-
}>;
|
|
4
|
-
type ProtocolDetails = {
|
|
5
|
-
chainId: number;
|
|
6
|
-
protocolId: string;
|
|
7
|
-
productId: string;
|
|
8
|
-
name: string;
|
|
9
|
-
description: string;
|
|
10
|
-
iconUrl: string;
|
|
11
|
-
siteUrl: string;
|
|
12
|
-
positionType: PositionType;
|
|
13
|
-
metadata?: {
|
|
14
|
-
groupPositions?: boolean;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
type AdapterResponse<ProtocolResponse> = (ProtocolDetails & {
|
|
18
|
-
chainName: string;
|
|
19
|
-
} & ((ProtocolResponse & {
|
|
20
|
-
success: true;
|
|
21
|
-
}) | (AdapterErrorResponse & {
|
|
22
|
-
success: false;
|
|
23
|
-
}))) | (AdapterErrorResponse & {
|
|
24
|
-
success: false;
|
|
25
|
-
});
|
|
26
|
-
type AdapterErrorResponse = {
|
|
27
|
-
error: {
|
|
28
|
-
message: string;
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
export type PositionType = 'supply' | 'borrow' | 'stake' | 'reward';
|
|
32
|
-
export type ProtocolToken = Balance & {
|
|
33
|
-
type: 'protocol';
|
|
34
|
-
tokenId?: string;
|
|
35
|
-
};
|
|
36
|
-
export type Underlying = Balance & {
|
|
37
|
-
type: 'underlying' | 'underlying-claimable';
|
|
38
|
-
iconUrl: string;
|
|
39
|
-
};
|
|
40
|
-
export type Balance = {
|
|
41
|
-
address: string;
|
|
42
|
-
name: string;
|
|
43
|
-
symbol: string;
|
|
44
|
-
decimals: number;
|
|
45
|
-
balanceRaw: string;
|
|
46
|
-
balance: number;
|
|
47
|
-
price?: number;
|
|
48
|
-
tokens?: Underlying[];
|
|
49
|
-
};
|
|
50
|
-
export declare const DEFAULT_DEFI_POSITIONS_API_URL = "https://defi-services.metamask-institutional.io/defi-data/positions";
|
|
51
|
-
/**
|
|
52
|
-
* Builds a function that fetches DeFi positions for a given account address
|
|
53
|
-
*
|
|
54
|
-
* @param apiUrl - The URL of the API to fetch the DeFi positions from
|
|
55
|
-
* @returns A function that fetches DeFi positions for a given account address
|
|
56
|
-
*/
|
|
57
|
-
export declare function buildPositionFetcher(apiUrl?: string): (accountAddress: string) => Promise<DefiPositionResponse[]>;
|
|
58
|
-
export {};
|
|
59
|
-
//# sourceMappingURL=fetch-positions.d.cts.map
|