@sundaeswap/wallet-lite 0.0.16 → 0.0.17
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/dist/cjs/classes/WalletObserver.class.js +73 -32
- package/dist/cjs/classes/WalletObserver.class.js.map +1 -1
- package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +30 -10
- package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
- package/dist/cjs/react-components/contexts/observer/types.js.map +1 -1
- package/dist/cjs/react-components/hooks/useWalletObserver.js +2 -1
- package/dist/cjs/react-components/hooks/useWalletObserver.js.map +1 -1
- package/dist/esm/classes/WalletObserver.class.js +26 -1
- package/dist/esm/classes/WalletObserver.class.js.map +1 -1
- package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +12 -0
- package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
- package/dist/esm/react-components/contexts/observer/types.js.map +1 -1
- package/dist/esm/react-components/hooks/useWalletObserver.js +2 -1
- package/dist/esm/react-components/hooks/useWalletObserver.js.map +1 -1
- package/dist/types/classes/WalletObserver.class.d.ts +6 -0
- package/dist/types/classes/WalletObserver.class.d.ts.map +1 -1
- package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts +2 -0
- package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts.map +1 -1
- package/dist/types/react-components/contexts/observer/types.d.ts +3 -1
- package/dist/types/react-components/contexts/observer/types.d.ts.map +1 -1
- package/dist/types/react-components/hooks/useWalletObserver.d.ts.map +1 -1
- package/dist/types/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/classes/WalletObserver.class.ts +44 -7
- package/src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts +14 -0
- package/src/react-components/contexts/observer/types.ts +5 -0
- package/src/react-components/hooks/useWalletObserver.ts +2 -0
|
@@ -89,7 +89,7 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
|
|
|
89
89
|
* @returns {Promise<IWalletObserverSync>} - A promise that resolves to the wallet sync data.
|
|
90
90
|
*/
|
|
91
91
|
_defineProperty(_this, "sync", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
92
|
-
var newNetwork, _yield$Promise$all, _yield$Promise$all2, newBalanceMap, newUsedAddresses, newUnusedAddresses, newOutputs, result;
|
|
92
|
+
var newNetwork, _yield$Promise$all, _yield$Promise$all2, newBalanceMap, newUsedAddresses, newUnusedAddresses, newOutputs, newCollateral, result;
|
|
93
93
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
94
94
|
while (1) switch (_context.prev = _context.next) {
|
|
95
95
|
case 0:
|
|
@@ -129,25 +129,27 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
|
|
|
129
129
|
throw _context.t1;
|
|
130
130
|
case 25:
|
|
131
131
|
_context.next = 27;
|
|
132
|
-
return Promise.all([_this.getBalanceMap(), _this.getUsedAddresses(), _this.getUnusedAddresses(), _this.getUtxos()]);
|
|
132
|
+
return Promise.all([_this.getBalanceMap(), _this.getUsedAddresses(), _this.getUnusedAddresses(), _this.getUtxos(), _this.getCollateral()]);
|
|
133
133
|
case 27:
|
|
134
134
|
_yield$Promise$all = _context.sent;
|
|
135
|
-
_yield$Promise$all2 = _slicedToArray(_yield$Promise$all,
|
|
135
|
+
_yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 5);
|
|
136
136
|
newBalanceMap = _yield$Promise$all2[0];
|
|
137
137
|
newUsedAddresses = _yield$Promise$all2[1];
|
|
138
138
|
newUnusedAddresses = _yield$Promise$all2[2];
|
|
139
139
|
newOutputs = _yield$Promise$all2[3];
|
|
140
|
+
newCollateral = _yield$Promise$all2[4];
|
|
140
141
|
result = {
|
|
141
142
|
balanceMap: newBalanceMap,
|
|
142
143
|
usedAddresses: newUsedAddresses,
|
|
143
144
|
unusedAddresses: newUnusedAddresses,
|
|
144
145
|
utxos: newOutputs,
|
|
146
|
+
collateral: newCollateral,
|
|
145
147
|
network: newNetwork
|
|
146
148
|
};
|
|
147
149
|
_this.dispatch(_events.EWalletObserverEvents.SYNCING_WALLET_END, result);
|
|
148
150
|
_this._performingSync = false;
|
|
149
151
|
return _context.abrupt("return", result);
|
|
150
|
-
case
|
|
152
|
+
case 38:
|
|
151
153
|
case "end":
|
|
152
154
|
return _context.stop();
|
|
153
155
|
}
|
|
@@ -563,6 +565,45 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
|
|
|
563
565
|
}
|
|
564
566
|
}, _callee9);
|
|
565
567
|
})));
|
|
568
|
+
/**
|
|
569
|
+
* Gets a list of wallet UTXOs suitable for collateral.
|
|
570
|
+
*
|
|
571
|
+
* @returns {Promise<TransactionUnspentOutput[]>} The list of TransactionUnspentOutputs.
|
|
572
|
+
*/
|
|
573
|
+
_defineProperty(_this, "getCollateral", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10() {
|
|
574
|
+
var _yield$Promise$all11, _yield$Promise$all12, cbor, Serialization, typedHex, data;
|
|
575
|
+
return _regeneratorRuntime().wrap(function _callee10$(_context10) {
|
|
576
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
577
|
+
case 0:
|
|
578
|
+
if (_this.api) {
|
|
579
|
+
_context10.next = 2;
|
|
580
|
+
break;
|
|
581
|
+
}
|
|
582
|
+
throw new Error("Attempted to query UTXOs without an API instance.");
|
|
583
|
+
case 2:
|
|
584
|
+
_context10.next = 4;
|
|
585
|
+
return Promise.all([_this.api.getCollateral(), (0, _getLibs.getCardanoCore)(), (0, _getLibs.getCardanoUtil)()]);
|
|
586
|
+
case 4:
|
|
587
|
+
_yield$Promise$all11 = _context10.sent;
|
|
588
|
+
_yield$Promise$all12 = _slicedToArray(_yield$Promise$all11, 3);
|
|
589
|
+
cbor = _yield$Promise$all12[0];
|
|
590
|
+
Serialization = _yield$Promise$all12[1].Serialization;
|
|
591
|
+
typedHex = _yield$Promise$all12[2].typedHex;
|
|
592
|
+
data = cbor === null || cbor === void 0 ? void 0 : cbor.map(function (val) {
|
|
593
|
+
var txOutput = Serialization.TransactionUnspentOutput.fromCbor(typedHex(val));
|
|
594
|
+
|
|
595
|
+
// These methods must be bound to their initial creation instance.
|
|
596
|
+
txOutput.input = txOutput.input.bind(txOutput);
|
|
597
|
+
txOutput.output = txOutput.output.bind(txOutput);
|
|
598
|
+
return txOutput;
|
|
599
|
+
});
|
|
600
|
+
return _context10.abrupt("return", data);
|
|
601
|
+
case 11:
|
|
602
|
+
case "end":
|
|
603
|
+
return _context10.stop();
|
|
604
|
+
}
|
|
605
|
+
}, _callee10);
|
|
606
|
+
})));
|
|
566
607
|
/**
|
|
567
608
|
* Resolves metadata for the given asset IDs, using a cached version if available.
|
|
568
609
|
*
|
|
@@ -571,13 +612,13 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
|
|
|
571
612
|
* @returns {Promise<Map<string, AssetMetadata>>} - A promise that resolves to a map of asset metadata.
|
|
572
613
|
*/
|
|
573
614
|
_defineProperty(_this, "__metadataResolverWithCache", /*#__PURE__*/function () {
|
|
574
|
-
var
|
|
615
|
+
var _ref11 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee11(assetIds) {
|
|
575
616
|
var cachedKeys, inputKeys, newMetadata;
|
|
576
|
-
return _regeneratorRuntime().wrap(function
|
|
577
|
-
while (1) switch (
|
|
617
|
+
return _regeneratorRuntime().wrap(function _callee11$(_context11) {
|
|
618
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
578
619
|
case 0:
|
|
579
620
|
if (!_this._cachedMetadata) {
|
|
580
|
-
|
|
621
|
+
_context11.next = 5;
|
|
581
622
|
break;
|
|
582
623
|
}
|
|
583
624
|
cachedKeys = new Set(_this._cachedMetadata.keys());
|
|
@@ -585,25 +626,25 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
|
|
|
585
626
|
if (!(cachedKeys.size === inputKeys.size && _toConsumableArray(cachedKeys).every(function (key) {
|
|
586
627
|
return inputKeys.has(key);
|
|
587
628
|
}))) {
|
|
588
|
-
|
|
629
|
+
_context11.next = 5;
|
|
589
630
|
break;
|
|
590
631
|
}
|
|
591
|
-
return
|
|
632
|
+
return _context11.abrupt("return", _this._cachedMetadata);
|
|
592
633
|
case 5:
|
|
593
|
-
|
|
634
|
+
_context11.next = 7;
|
|
594
635
|
return _this._options.metadataResolver(assetIds);
|
|
595
636
|
case 7:
|
|
596
|
-
newMetadata =
|
|
637
|
+
newMetadata = _context11.sent;
|
|
597
638
|
_this._cachedMetadata = newMetadata;
|
|
598
|
-
return
|
|
639
|
+
return _context11.abrupt("return", newMetadata);
|
|
599
640
|
case 10:
|
|
600
641
|
case "end":
|
|
601
|
-
return
|
|
642
|
+
return _context11.stop();
|
|
602
643
|
}
|
|
603
|
-
},
|
|
644
|
+
}, _callee11);
|
|
604
645
|
}));
|
|
605
646
|
return function (_x3) {
|
|
606
|
-
return
|
|
647
|
+
return _ref11.apply(this, arguments);
|
|
607
648
|
};
|
|
608
649
|
}());
|
|
609
650
|
/**
|
|
@@ -612,10 +653,10 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
|
|
|
612
653
|
* @type {TMetadataResolverFunc<AssetMetadata>}
|
|
613
654
|
*/
|
|
614
655
|
_defineProperty(_this, "fallbackMetadataResolver", /*#__PURE__*/function () {
|
|
615
|
-
var
|
|
656
|
+
var _ref12 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee12(assetIds) {
|
|
616
657
|
var map;
|
|
617
|
-
return _regeneratorRuntime().wrap(function
|
|
618
|
-
while (1) switch (
|
|
658
|
+
return _regeneratorRuntime().wrap(function _callee12$(_context12) {
|
|
659
|
+
while (1) switch (_context12.prev = _context12.next) {
|
|
619
660
|
case 0:
|
|
620
661
|
map = new Map();
|
|
621
662
|
assetIds.forEach(function (id) {
|
|
@@ -624,15 +665,15 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
|
|
|
624
665
|
decimals: 6
|
|
625
666
|
});
|
|
626
667
|
});
|
|
627
|
-
return
|
|
668
|
+
return _context12.abrupt("return", map);
|
|
628
669
|
case 3:
|
|
629
670
|
case "end":
|
|
630
|
-
return
|
|
671
|
+
return _context12.stop();
|
|
631
672
|
}
|
|
632
|
-
},
|
|
673
|
+
}, _callee12);
|
|
633
674
|
}));
|
|
634
675
|
return function (_x4) {
|
|
635
|
-
return
|
|
676
|
+
return _ref12.apply(this, arguments);
|
|
636
677
|
};
|
|
637
678
|
}());
|
|
638
679
|
_this._options = (0, _merge["default"])({
|
|
@@ -698,25 +739,25 @@ var WalletObserver = exports.WalletObserver = /*#__PURE__*/function (_WalletObse
|
|
|
698
739
|
* @returns {Promise<WalletObserverUtils>} Resolves to a WalletObserverUtils class.
|
|
699
740
|
*/
|
|
700
741
|
function () {
|
|
701
|
-
var _getUtils = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
702
|
-
return _regeneratorRuntime().wrap(function
|
|
703
|
-
while (1) switch (
|
|
742
|
+
var _getUtils = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee13() {
|
|
743
|
+
return _regeneratorRuntime().wrap(function _callee13$(_context13) {
|
|
744
|
+
while (1) switch (_context13.prev = _context13.next) {
|
|
704
745
|
case 0:
|
|
705
746
|
if (this.utils) {
|
|
706
|
-
|
|
747
|
+
_context13.next = 4;
|
|
707
748
|
break;
|
|
708
749
|
}
|
|
709
|
-
|
|
750
|
+
_context13.next = 3;
|
|
710
751
|
return _WalletObserverUtilsClass.WalletObserverUtils["new"](this.network);
|
|
711
752
|
case 3:
|
|
712
|
-
this.utils =
|
|
753
|
+
this.utils = _context13.sent;
|
|
713
754
|
case 4:
|
|
714
|
-
return
|
|
755
|
+
return _context13.abrupt("return", this.utils);
|
|
715
756
|
case 5:
|
|
716
757
|
case "end":
|
|
717
|
-
return
|
|
758
|
+
return _context13.stop();
|
|
718
759
|
}
|
|
719
|
-
},
|
|
760
|
+
}, _callee13, this);
|
|
720
761
|
}));
|
|
721
762
|
function getUtils() {
|
|
722
763
|
return _getUtils.apply(this, arguments);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WalletObserver.class.js","names":["_asset","require","_merge","_interopRequireDefault","_events","_getLibs","_WalletBalanceMapClass","_WalletObserverEvent2","_WalletObserverUtilsClass","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_createForOfIteratorHelper","r","t","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","a","u","call","next","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","from","_arrayLikeToArray","_regeneratorRuntime","Object","hasOwnProperty","defineProperty","i","c","asyncIterator","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","test","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","bind","_inherits","_setPrototypeOf","_defineProperty","_toPrimitive","toPrimitive","String","Number","WalletObserver","exports","_WalletObserverEvent","options","_this","Map","_callee","newNetwork","_yield$Promise$all","_yield$Promise$all2","newBalanceMap","newUsedAddresses","newUnusedAddresses","newOutputs","result","_callee$","_context","api","_performingSync","dispatch","EWalletObserverEvents","SYNCING_WALLET_START","getNetwork","t0","syncApi","t1","SYNCING_WALLET_END","all","getBalanceMap","getUsedAddresses","getUnusedAddresses","getUtxos","balanceMap","usedAddresses","unusedAddresses","utxos","network","_ref2","_callee2","activeWallet","attempts","selectedWallet","_window$cardano","_callee2$","_context2","undefined","_activeWallet","window","cardano","enable","getNetworkId","res","setTimeout","_x","_options","_ref3","_callee3","extension","_window$cardano2","extensionObject","_this$peerConnectInst","_window$cardano3","seed","_callee3$","_context3","CONNECT_WALLET_START","includes","peerConnectInstance","shutdownServer","connectTimeout","persistence","localStorage","setItem","PERSISTENCE_CACHE_KEY","JSON","stringify","CONNECT_WALLET_END","_x2","_callee4","_yield$getPeerConnect","DAppPeerConnect","_callee4$","_context4","getPeerConnect","peerConnectArgs","dAppInfo","icon","getIdenticon","instance","_cachedMetadata","_supportedExtensions","removeItem","DISCONNECT","_callee5","_data$multiasset$keys","_data$multiasset","_data$multiasset$entr","_data$multiasset2","_yield$Promise$all3","_yield$Promise$all4","cbor","Serialization","typedHex","data","multiassetKeys","metadata","multiassetEntries","_iterator","_step","_step$value","id","amount","_callee5$","_context5","GET_BALANCE_MAP_START","getBalance","getCardanoCore","getCardanoUtil","Value","fromCbor","multiasset","__metadataResolverWithCache","ADA_ASSET_ID","concat","WalletBalanceMap","set","AssetAmount","coin","get","entries","err","GET_BALANCE_MAP_END","_callee6","val","_callee6$","_context6","_callee7","_yield$Promise$all5","_yield$Promise$all6","Cardano","_callee7$","_context7","map","Address","fromBytes","toBech32","_callee8","_yield$Promise$all7","_yield$Promise$all8","_callee8$","_context8","_callee9","_yield$Promise$all9","_yield$Promise$all10","_callee9$","_context9","txOutput","TransactionUnspentOutput","input","output","_ref10","_callee10","assetIds","cachedKeys","inputKeys","newMetadata","_callee10$","_context10","Set","size","every","has","metadataResolver","_x3","_ref11","_callee11","_callee11$","_context11","assetId","decimals","_x4","merge","fallbackMetadataResolver","url","location","hostname","onApiEject","address","_options$peerConnectA","_options$peerConnectA2","disconnect","onApiInject","_options$peerConnectA3","_options$peerConnectA4","connectWallet","verifyConnection","walletInfo","callback","_walletInfo$requestAu","requestAutoconnect","useWalletDiscovery","announce","savedWallet","getItem","parse","isSyncing","_getUtils","_callee12","_callee12$","_context12","utils","WalletObserverUtils","getUtils","WalletObserverEvent"],"sources":["../../../src/classes/WalletObserver.class.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/index.js\";\nimport type { Cip30WalletApi } from \"@cardano-sdk/dapp-connector\";\nimport { AssetAmount, type IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport merge from \"lodash/merge.js\";\n\nimport { EWalletObserverEvents } from \"../@types/events.js\";\nimport type {\n IResolvedWalletObserverOptions,\n IWalletObserverSeed,\n IWalletObserverSync,\n TMetadataResolverFunc,\n TSupportedWalletExtensions,\n TWalletObserverOptions,\n} from \"../@types/observer.js\";\nimport {\n getCardanoCore,\n getCardanoUtil,\n getPeerConnect,\n} from \"../utils/getLibs.js\";\nimport { WalletBalanceMap } from \"./WalletBalanceMap.class.js\";\nimport { WalletObserverEvent } from \"./WalletObserverEvent.js\";\nimport { WalletObserverUtils } from \"./WalletObserverUtils.class.js\";\n\n/**\n * Class representing the Wallet Observer. This is the main interface\n * for interacting with a wallet extension that is available in the\n * browser window. It handles all the deserialization required when\n * querying raw data from a CIP-30 API, and converts it to readable and\n * usable interfaces.\n *\n * Notably, it extends the WalletObserverEvent class which\n * acts as an internal event handler to hook into actions, such as connecting,\n * syncing, and disconnecting.\n *\n * @template AssetMetadata - Type extending IAssetAmountMetadata.\n * @extends {WalletObserverEvent}\n */\nexport class WalletObserver<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n> extends WalletObserverEvent {\n static PERSISTENCE_CACHE_KEY = \"walletObserver\";\n static ADA_ASSET_ID = \"ada.lovelace\";\n public network: number = 0;\n public api?: Cip30WalletApi;\n public utils?: WalletObserverUtils;\n public peerConnectInstance?: import(\"@fabianbormann/cardano-peer-connect\").DAppPeerConnect;\n\n private _performingSync: boolean = false;\n private _activeWallet?: TSupportedWalletExtensions;\n private _options: IResolvedWalletObserverOptions<AssetMetadata>;\n private _supportedExtensions: TSupportedWalletExtensions[] = [\n \"eternl\",\n \"lace\",\n \"typhon\",\n \"sorbet\",\n \"flint\",\n \"nami\",\n ];\n\n // Caching\n private _cachedMetadata: Map<string, AssetMetadata> = new Map();\n\n /**\n * Creates an instance of WalletObserver.\n *\n * @param {Partial<TWalletObserverOptions<AssetMetadata>>} [options] - Options for the wallet observer.\n */\n constructor(options?: Partial<TWalletObserverOptions<AssetMetadata>>) {\n super();\n\n // Set options.\n this._options = merge<IResolvedWalletObserverOptions, typeof options>(\n {\n metadataResolver: this.fallbackMetadataResolver,\n persistence: false,\n connectTimeout: 10000,\n peerConnectArgs: {\n dAppInfo: {\n name: \"Placeholder dApp Connecter Name\",\n url: window.location.hostname,\n },\n onApiEject: (name, address) => {\n options?.peerConnectArgs?.onApiEject?.(name, address);\n this.disconnect();\n },\n onApiInject: (name, address) => {\n options?.peerConnectArgs?.onApiInject?.(name, address);\n this.connectWallet(name as TSupportedWalletExtensions);\n },\n verifyConnection(walletInfo, callback) {\n return callback(true, walletInfo.requestAutoconnect ?? true);\n },\n useWalletDiscovery: true,\n announce: [\n \"wss://tracker.de-5.eternl.art\",\n \"wss://tracker.de-6.eternl.art\",\n \"wss://tracker.us-5.eternl.art\",\n ],\n },\n },\n options\n );\n\n if (!this._options.persistence) {\n return;\n }\n\n const savedWallet = window.localStorage.getItem(\n WalletObserver.PERSISTENCE_CACHE_KEY\n );\n\n if (!savedWallet) {\n return;\n }\n\n // Init connection\n const seed: IWalletObserverSeed = JSON.parse(savedWallet);\n this.connectWallet(seed.activeWallet);\n }\n\n /**\n * Synchronizes the wallet. This method handles syncing the class\n * against the currently selected active wallet. If the wallet has\n * changed networks, or if the account within the wallet has changed,\n * this method will automatically attempt to reconcile this error before\n * eventually throwing.\n *\n * In the event that a promise will not resolve due to external issues,\n * after 7 seconds, a timeout function will fire that resets the API and tries again.\n *\n * @returns {Promise<IWalletObserverSync>} - A promise that resolves to the wallet sync data.\n */\n sync = async (): Promise<IWalletObserverSync> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to perform a sync operation without a connected wallet.\"\n );\n }\n\n this._performingSync = true;\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_START);\n\n let newNetwork: number;\n try {\n newNetwork = await this.getNetwork();\n } catch (e) {\n try {\n await this.syncApi();\n newNetwork = await this.getNetwork();\n } catch (e) {\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END);\n this._performingSync = false;\n throw e;\n }\n }\n\n const [newBalanceMap, newUsedAddresses, newUnusedAddresses, newOutputs] =\n await Promise.all([\n this.getBalanceMap(),\n this.getUsedAddresses(),\n this.getUnusedAddresses(),\n this.getUtxos(),\n ]);\n\n const result = {\n balanceMap: newBalanceMap,\n usedAddresses: newUsedAddresses,\n unusedAddresses: newUnusedAddresses,\n utxos: newOutputs,\n network: newNetwork,\n };\n\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END, result);\n this._performingSync = false;\n\n return result;\n };\n\n /**\n * Helper method to check if the class is currently performing a sync\n * operation. This is useful to avoid duplicate calls, but does not\n * prevent it within the class.\n *\n * @returns {boolean}\n */\n isSyncing(): boolean {\n return this._performingSync;\n }\n\n /**\n * Synchronizes the API with the wallet. This is useful if the account has changed,\n * but the underlying intent has not.\n *\n * @param {TSupportedWalletExtensions} [activeWallet] - The wallet to sync with.\n * @returns {Promise<Cip30WalletApi>} - A promise that resolves to the API instance.\n */\n syncApi = async (activeWallet?: TSupportedWalletExtensions): Promise<any> => {\n let attempts = 0;\n this.api = undefined;\n if (!activeWallet && !this._activeWallet) {\n throw new Error(\n \"A wallet is required to be passed as a parameter, or to be defined in the class.\"\n );\n }\n\n const selectedWallet =\n activeWallet || (this._activeWallet as TSupportedWalletExtensions);\n\n while (!this.api) {\n if (attempts === 10) {\n throw new Error(\n \"Could not reconnect to the selected wallet. Please check your extension.\"\n );\n }\n\n try {\n const api = await window.cardano?.[selectedWallet]?.enable();\n\n if (!api) {\n throw Error;\n }\n\n this.api = api;\n this.network = await api.getNetworkId();\n } catch (e) {\n await new Promise((res) => setTimeout(res, 200));\n attempts++;\n }\n }\n\n return this.api;\n };\n\n /**\n * Gets the options for the wallet observer.\n *\n * @returns {TWalletObserverOptions} - The wallet observer options.\n */\n getOptions = (): TWalletObserverOptions => {\n return this._options;\n };\n\n /**\n * Attempts to connect a wallet using the global window\n * reference. If no reference is found, it will retry for\n * 10 seconds before throw an error.\n *\n * @param {string} extension The name of the extension to enable.\n * @return {Promise<void>}\n */\n connectWallet = async (\n extension: TSupportedWalletExtensions\n ): Promise<void> => {\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_START);\n\n let attempts = 0;\n let extensionObject = window.cardano?.[extension];\n\n // Disconnect any CIP45 connections.\n if (!extension?.includes(\"p2p\")) {\n this.peerConnectInstance?.shutdownServer();\n }\n\n while (typeof extensionObject === \"undefined\") {\n if (attempts === 40) {\n break;\n }\n\n await new Promise((res) =>\n setTimeout(res, (this._options.connectTimeout as number) / 40)\n );\n extensionObject = window.cardano?.[extension];\n attempts++;\n }\n\n if (!extensionObject) {\n throw new Error(\"Wallet extension not found in the global context.\");\n }\n\n await this.syncApi(extension);\n\n this._activeWallet = extension;\n if (this._options.persistence) {\n const seed: IWalletObserverSeed = {\n activeWallet: extension,\n };\n\n window.localStorage.setItem(\n WalletObserver.PERSISTENCE_CACHE_KEY,\n JSON.stringify(seed)\n );\n }\n\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_END, {\n extension,\n });\n };\n\n getCip45Instance = async () => {\n if (!this.peerConnectInstance) {\n const { DAppPeerConnect } = await getPeerConnect();\n this.peerConnectInstance = new DAppPeerConnect(\n this._options.peerConnectArgs\n );\n }\n\n return {\n name: this._options.peerConnectArgs.dAppInfo.name,\n icon: this.peerConnectInstance.getIdenticon(),\n instance: this.peerConnectInstance,\n };\n };\n\n /**\n * Helper function to retrieve currently active wallet connection, if present.\n *\n * @returns {TSupportedWalletExtensions | undefined}\n */\n getActiveWallet = (): TSupportedWalletExtensions | undefined => {\n return this._activeWallet;\n };\n\n /**\n * Helper function to retrieve the currently cached metadata.\n *\n * @returns {Map<string, AssetMetadata>}\n */\n getCachedAssetMetadata = (): Map<string, AssetMetadata> =>\n this._cachedMetadata;\n\n /**\n * Helper function to retrieve a list of supported wallet extensions.\n *\n * @returns {keyof TSupportedWalletExtensions[] | undefined}\n */\n getSupportedExtensions = (): TSupportedWalletExtensions[] => {\n return this._supportedExtensions;\n };\n\n /**\n * Helper function to restore the class instance to its initial state.\n *\n * @returns {void}\n */\n disconnect = (): void => {\n this._activeWallet = undefined;\n this.api = undefined;\n this._cachedMetadata = new Map();\n window.localStorage.removeItem(WalletObserver.PERSISTENCE_CACHE_KEY);\n this.dispatch(EWalletObserverEvents.DISCONNECT);\n };\n\n /**\n * Retrieves the balance of the wallet, including metadata for each asset.\n *\n * @returns {Promise<WalletBalanceMap<AssetMetadata>>} - A promise that resolves to a map of asset amounts keyed by asset IDs.\n */\n getBalanceMap = async (): Promise<WalletBalanceMap<AssetMetadata>> => {\n if (!this.api) {\n throw new Error(\"Attempted to query balance without an API instance.\");\n }\n\n this.dispatch(EWalletObserverEvents.GET_BALANCE_MAP_START);\n const [cbor, { Serialization }, { typedHex }] = await Promise.all([\n this.api.getBalance(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = Serialization.Value.fromCbor(typedHex(cbor));\n const multiassetKeys = data.multiasset()?.keys() ?? [];\n\n const metadata = await this.__metadataResolverWithCache([\n WalletObserver.ADA_ASSET_ID,\n ...multiassetKeys,\n ]);\n\n const balanceMap = new WalletBalanceMap<AssetMetadata>(this);\n balanceMap.set(\n WalletObserver.ADA_ASSET_ID,\n new AssetAmount(data.coin(), metadata.get(WalletObserver.ADA_ASSET_ID))\n );\n\n const multiassetEntries = data.multiasset()?.entries() ?? [];\n if (multiassetEntries) {\n for (const [id, amount] of multiassetEntries) {\n balanceMap.set(id, new AssetAmount(amount, metadata.get(id)));\n }\n }\n\n this.dispatch(EWalletObserverEvents.GET_BALANCE_MAP_END, {\n balanceMap,\n });\n\n return balanceMap;\n };\n\n /**\n * Gets the current network connection.\n *\n * @returns {Promise<number>} The network ID.\n */\n getNetwork = async (): Promise<number> => {\n if (!this.api) {\n throw new Error(\"Attempted to query network without an API instance.\");\n }\n\n const val = await this.api.getNetworkId();\n this.network = val;\n return val;\n };\n\n /**\n * Gets a list of used addresses, encoded as Bech32.\n *\n * @returns {Promise<string[]>} The list of addresses.\n */\n getUsedAddresses = async (): Promise<string[]> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query used addresses without an API instance.\"\n );\n }\n\n const [cbor, { Cardano }, { typedHex }] = await Promise.all([\n this.api.getUsedAddresses(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor.map((val) =>\n Cardano.Address.fromBytes(typedHex(val)).toBech32()\n );\n\n return data;\n };\n\n /**\n * Gets a list of unused addresses, encoded as Bech32.\n *\n * @returns {Promise<string[]>} The list of addresses.\n */\n getUnusedAddresses = async (): Promise<string[]> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query unused addresses without an API instance.\"\n );\n }\n\n const [cbor, { Cardano }, { typedHex }] = await Promise.all([\n this.api.getUnusedAddresses(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor.map((val) =>\n Cardano.Address.fromBytes(typedHex(val)).toBech32()\n );\n\n return data;\n };\n\n /**\n * Gets a list of wallet UTXOs.\n *\n * @returns {Promise<TransactionUnspentOutput[]>} The list of TransactionUnspentOutputs.\n */\n getUtxos = async (): Promise<TransactionUnspentOutput[] | undefined> => {\n if (!this.api) {\n throw new Error(\"Attempted to query UTXOs without an API instance.\");\n }\n\n const [cbor, { Serialization }, { typedHex }] = await Promise.all([\n this.api.getUtxos(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor?.map((val) => {\n let txOutput = Serialization.TransactionUnspentOutput.fromCbor(\n typedHex(val)\n );\n\n // These methods must be bound to their initial creation instance.\n txOutput.input = txOutput.input.bind(txOutput);\n txOutput.output = txOutput.output.bind(txOutput);\n return txOutput;\n });\n\n return data;\n };\n\n /**\n * Resolves metadata for the given asset IDs, using a cached version if available.\n *\n * @private\n * @param {string[]} assetIds - The IDs of the assets to resolve metadata for.\n * @returns {Promise<Map<string, AssetMetadata>>} - A promise that resolves to a map of asset metadata.\n */\n private __metadataResolverWithCache = async (\n assetIds: string[]\n ): Promise<Map<string, AssetMetadata>> => {\n if (this._cachedMetadata) {\n const cachedKeys = new Set(this._cachedMetadata.keys());\n const inputKeys = new Set(assetIds);\n\n if (\n cachedKeys.size === inputKeys.size &&\n [...cachedKeys].every((key) => inputKeys.has(key))\n ) {\n return this._cachedMetadata;\n }\n }\n\n const newMetadata = await this._options.metadataResolver(assetIds);\n this._cachedMetadata = newMetadata;\n return newMetadata;\n };\n\n /**\n * A fallback metadata resolver function that generates default metadata for given asset IDs.\n *\n * @type {TMetadataResolverFunc<AssetMetadata>}\n */\n public fallbackMetadataResolver: TMetadataResolverFunc<AssetMetadata> =\n async (assetIds) => {\n const map = new Map<string, AssetMetadata>();\n assetIds.forEach((id) =>\n map.set(id, {\n assetId: id,\n decimals: 6,\n } as AssetMetadata)\n );\n\n return map;\n };\n\n /**\n * Helper method to retrieve the cached utils instance.\n *\n * @returns {Promise<WalletObserverUtils>} Resolves to a WalletObserverUtils class.\n */\n public async getUtils(): Promise<WalletObserverUtils> {\n if (!this.utils) {\n this.utils = await WalletObserverUtils.new(this.network);\n }\n\n return this.utils;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"WalletObserver.class.js","names":["_asset","require","_merge","_interopRequireDefault","_events","_getLibs","_WalletBalanceMapClass","_WalletObserverEvent2","_WalletObserverUtilsClass","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_createForOfIteratorHelper","r","t","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","a","u","call","next","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","from","_arrayLikeToArray","_regeneratorRuntime","Object","hasOwnProperty","defineProperty","i","c","asyncIterator","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","test","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","bind","_inherits","_setPrototypeOf","_defineProperty","_toPrimitive","toPrimitive","String","Number","WalletObserver","exports","_WalletObserverEvent","options","_this","Map","_callee","newNetwork","_yield$Promise$all","_yield$Promise$all2","newBalanceMap","newUsedAddresses","newUnusedAddresses","newOutputs","newCollateral","result","_callee$","_context","api","_performingSync","dispatch","EWalletObserverEvents","SYNCING_WALLET_START","getNetwork","t0","syncApi","t1","SYNCING_WALLET_END","all","getBalanceMap","getUsedAddresses","getUnusedAddresses","getUtxos","getCollateral","balanceMap","usedAddresses","unusedAddresses","utxos","collateral","network","_ref2","_callee2","activeWallet","attempts","selectedWallet","_window$cardano","_callee2$","_context2","undefined","_activeWallet","window","cardano","enable","getNetworkId","res","setTimeout","_x","_options","_ref3","_callee3","extension","_window$cardano2","extensionObject","_this$peerConnectInst","_window$cardano3","seed","_callee3$","_context3","CONNECT_WALLET_START","includes","peerConnectInstance","shutdownServer","connectTimeout","persistence","localStorage","setItem","PERSISTENCE_CACHE_KEY","JSON","stringify","CONNECT_WALLET_END","_x2","_callee4","_yield$getPeerConnect","DAppPeerConnect","_callee4$","_context4","getPeerConnect","peerConnectArgs","dAppInfo","icon","getIdenticon","instance","_cachedMetadata","_supportedExtensions","removeItem","DISCONNECT","_callee5","_data$multiasset$keys","_data$multiasset","_data$multiasset$entr","_data$multiasset2","_yield$Promise$all3","_yield$Promise$all4","cbor","Serialization","typedHex","data","multiassetKeys","metadata","multiassetEntries","_iterator","_step","_step$value","id","amount","_callee5$","_context5","GET_BALANCE_MAP_START","getBalance","getCardanoCore","getCardanoUtil","Value","fromCbor","multiasset","__metadataResolverWithCache","ADA_ASSET_ID","concat","WalletBalanceMap","set","AssetAmount","coin","get","entries","err","GET_BALANCE_MAP_END","_callee6","val","_callee6$","_context6","_callee7","_yield$Promise$all5","_yield$Promise$all6","Cardano","_callee7$","_context7","map","Address","fromBytes","toBech32","_callee8","_yield$Promise$all7","_yield$Promise$all8","_callee8$","_context8","_callee9","_yield$Promise$all9","_yield$Promise$all10","_callee9$","_context9","txOutput","TransactionUnspentOutput","input","output","_callee10","_yield$Promise$all11","_yield$Promise$all12","_callee10$","_context10","_ref11","_callee11","assetIds","cachedKeys","inputKeys","newMetadata","_callee11$","_context11","Set","size","every","has","metadataResolver","_x3","_ref12","_callee12","_callee12$","_context12","assetId","decimals","_x4","merge","fallbackMetadataResolver","url","location","hostname","onApiEject","address","_options$peerConnectA","_options$peerConnectA2","disconnect","onApiInject","_options$peerConnectA3","_options$peerConnectA4","connectWallet","verifyConnection","walletInfo","callback","_walletInfo$requestAu","requestAutoconnect","useWalletDiscovery","announce","savedWallet","getItem","parse","isSyncing","_getUtils","_callee13","_callee13$","_context13","utils","WalletObserverUtils","getUtils","WalletObserverEvent"],"sources":["../../../src/classes/WalletObserver.class.ts"],"sourcesContent":["import type { TransactionUnspentOutput } from \"@cardano-sdk/core/dist/cjs/Serialization/index.js\";\nimport type { Cip30WalletApi } from \"@cardano-sdk/dapp-connector\";\nimport { AssetAmount, type IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport merge from \"lodash/merge.js\";\n\nimport { EWalletObserverEvents } from \"../@types/events.js\";\nimport type {\n IResolvedWalletObserverOptions,\n IWalletObserverSeed,\n IWalletObserverSync,\n TMetadataResolverFunc,\n TSupportedWalletExtensions,\n TWalletObserverOptions,\n} from \"../@types/observer.js\";\nimport {\n getCardanoCore,\n getCardanoUtil,\n getPeerConnect,\n} from \"../utils/getLibs.js\";\nimport { WalletBalanceMap } from \"./WalletBalanceMap.class.js\";\nimport { WalletObserverEvent } from \"./WalletObserverEvent.js\";\nimport { WalletObserverUtils } from \"./WalletObserverUtils.class.js\";\n\n/**\n * Class representing the Wallet Observer. This is the main interface\n * for interacting with a wallet extension that is available in the\n * browser window. It handles all the deserialization required when\n * querying raw data from a CIP-30 API, and converts it to readable and\n * usable interfaces.\n *\n * Notably, it extends the WalletObserverEvent class which\n * acts as an internal event handler to hook into actions, such as connecting,\n * syncing, and disconnecting.\n *\n * @template AssetMetadata - Type extending IAssetAmountMetadata.\n * @extends {WalletObserverEvent}\n */\nexport class WalletObserver<\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata\n> extends WalletObserverEvent {\n static PERSISTENCE_CACHE_KEY = \"walletObserver\";\n static ADA_ASSET_ID = \"ada.lovelace\";\n public network: number = 0;\n public api?: Cip30WalletApi;\n public utils?: WalletObserverUtils;\n public peerConnectInstance?: import(\"@fabianbormann/cardano-peer-connect\").DAppPeerConnect;\n\n private _performingSync: boolean = false;\n private _activeWallet?: TSupportedWalletExtensions;\n private _options: IResolvedWalletObserverOptions<AssetMetadata>;\n private _supportedExtensions: TSupportedWalletExtensions[] = [\n \"eternl\",\n \"lace\",\n \"typhon\",\n \"sorbet\",\n \"flint\",\n \"nami\",\n ];\n\n // Caching\n private _cachedMetadata: Map<string, AssetMetadata> = new Map();\n\n /**\n * Creates an instance of WalletObserver.\n *\n * @param {Partial<TWalletObserverOptions<AssetMetadata>>} [options] - Options for the wallet observer.\n */\n constructor(options?: Partial<TWalletObserverOptions<AssetMetadata>>) {\n super();\n\n // Set options.\n this._options = merge<IResolvedWalletObserverOptions, typeof options>(\n {\n metadataResolver: this.fallbackMetadataResolver,\n persistence: false,\n connectTimeout: 10000,\n peerConnectArgs: {\n dAppInfo: {\n name: \"Placeholder dApp Connecter Name\",\n url: window.location.hostname,\n },\n onApiEject: (name, address) => {\n options?.peerConnectArgs?.onApiEject?.(name, address);\n this.disconnect();\n },\n onApiInject: (name, address) => {\n options?.peerConnectArgs?.onApiInject?.(name, address);\n this.connectWallet(name as TSupportedWalletExtensions);\n },\n verifyConnection(walletInfo, callback) {\n return callback(true, walletInfo.requestAutoconnect ?? true);\n },\n useWalletDiscovery: true,\n announce: [\n \"wss://tracker.de-5.eternl.art\",\n \"wss://tracker.de-6.eternl.art\",\n \"wss://tracker.us-5.eternl.art\",\n ],\n },\n },\n options\n );\n\n if (!this._options.persistence) {\n return;\n }\n\n const savedWallet = window.localStorage.getItem(\n WalletObserver.PERSISTENCE_CACHE_KEY\n );\n\n if (!savedWallet) {\n return;\n }\n\n // Init connection\n const seed: IWalletObserverSeed = JSON.parse(savedWallet);\n this.connectWallet(seed.activeWallet);\n }\n\n /**\n * Synchronizes the wallet. This method handles syncing the class\n * against the currently selected active wallet. If the wallet has\n * changed networks, or if the account within the wallet has changed,\n * this method will automatically attempt to reconcile this error before\n * eventually throwing.\n *\n * In the event that a promise will not resolve due to external issues,\n * after 7 seconds, a timeout function will fire that resets the API and tries again.\n *\n * @returns {Promise<IWalletObserverSync>} - A promise that resolves to the wallet sync data.\n */\n sync = async (): Promise<IWalletObserverSync> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to perform a sync operation without a connected wallet.\"\n );\n }\n\n this._performingSync = true;\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_START);\n\n let newNetwork: number;\n try {\n newNetwork = await this.getNetwork();\n } catch (e) {\n try {\n await this.syncApi();\n newNetwork = await this.getNetwork();\n } catch (e) {\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END);\n this._performingSync = false;\n throw e;\n }\n }\n\n const [\n newBalanceMap,\n newUsedAddresses,\n newUnusedAddresses,\n newOutputs,\n newCollateral,\n ] = await Promise.all([\n this.getBalanceMap(),\n this.getUsedAddresses(),\n this.getUnusedAddresses(),\n this.getUtxos(),\n this.getCollateral(),\n ]);\n\n const result = {\n balanceMap: newBalanceMap,\n usedAddresses: newUsedAddresses,\n unusedAddresses: newUnusedAddresses,\n utxos: newOutputs,\n collateral: newCollateral,\n network: newNetwork,\n };\n\n this.dispatch(EWalletObserverEvents.SYNCING_WALLET_END, result);\n this._performingSync = false;\n\n return result;\n };\n\n /**\n * Helper method to check if the class is currently performing a sync\n * operation. This is useful to avoid duplicate calls, but does not\n * prevent it within the class.\n *\n * @returns {boolean}\n */\n isSyncing(): boolean {\n return this._performingSync;\n }\n\n /**\n * Synchronizes the API with the wallet. This is useful if the account has changed,\n * but the underlying intent has not.\n *\n * @param {TSupportedWalletExtensions} [activeWallet] - The wallet to sync with.\n * @returns {Promise<Cip30WalletApi>} - A promise that resolves to the API instance.\n */\n syncApi = async (activeWallet?: TSupportedWalletExtensions): Promise<any> => {\n let attempts = 0;\n this.api = undefined;\n if (!activeWallet && !this._activeWallet) {\n throw new Error(\n \"A wallet is required to be passed as a parameter, or to be defined in the class.\"\n );\n }\n\n const selectedWallet =\n activeWallet || (this._activeWallet as TSupportedWalletExtensions);\n\n while (!this.api) {\n if (attempts === 10) {\n throw new Error(\n \"Could not reconnect to the selected wallet. Please check your extension.\"\n );\n }\n\n try {\n const api = await window.cardano?.[selectedWallet]?.enable();\n\n if (!api) {\n throw Error;\n }\n\n this.api = api;\n this.network = await api.getNetworkId();\n } catch (e) {\n await new Promise((res) => setTimeout(res, 200));\n attempts++;\n }\n }\n\n return this.api;\n };\n\n /**\n * Gets the options for the wallet observer.\n *\n * @returns {TWalletObserverOptions} - The wallet observer options.\n */\n getOptions = (): TWalletObserverOptions => {\n return this._options;\n };\n\n /**\n * Attempts to connect a wallet using the global window\n * reference. If no reference is found, it will retry for\n * 10 seconds before throw an error.\n *\n * @param {string} extension The name of the extension to enable.\n * @return {Promise<void>}\n */\n connectWallet = async (\n extension: TSupportedWalletExtensions\n ): Promise<void> => {\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_START);\n\n let attempts = 0;\n let extensionObject = window.cardano?.[extension];\n\n // Disconnect any CIP45 connections.\n if (!extension?.includes(\"p2p\")) {\n this.peerConnectInstance?.shutdownServer();\n }\n\n while (typeof extensionObject === \"undefined\") {\n if (attempts === 40) {\n break;\n }\n\n await new Promise((res) =>\n setTimeout(res, (this._options.connectTimeout as number) / 40)\n );\n extensionObject = window.cardano?.[extension];\n attempts++;\n }\n\n if (!extensionObject) {\n throw new Error(\"Wallet extension not found in the global context.\");\n }\n\n await this.syncApi(extension);\n\n this._activeWallet = extension;\n if (this._options.persistence) {\n const seed: IWalletObserverSeed = {\n activeWallet: extension,\n };\n\n window.localStorage.setItem(\n WalletObserver.PERSISTENCE_CACHE_KEY,\n JSON.stringify(seed)\n );\n }\n\n this.dispatch(EWalletObserverEvents.CONNECT_WALLET_END, {\n extension,\n });\n };\n\n getCip45Instance = async () => {\n if (!this.peerConnectInstance) {\n const { DAppPeerConnect } = await getPeerConnect();\n this.peerConnectInstance = new DAppPeerConnect(\n this._options.peerConnectArgs\n );\n }\n\n return {\n name: this._options.peerConnectArgs.dAppInfo.name,\n icon: this.peerConnectInstance.getIdenticon(),\n instance: this.peerConnectInstance,\n };\n };\n\n /**\n * Helper function to retrieve currently active wallet connection, if present.\n *\n * @returns {TSupportedWalletExtensions | undefined}\n */\n getActiveWallet = (): TSupportedWalletExtensions | undefined => {\n return this._activeWallet;\n };\n\n /**\n * Helper function to retrieve the currently cached metadata.\n *\n * @returns {Map<string, AssetMetadata>}\n */\n getCachedAssetMetadata = (): Map<string, AssetMetadata> =>\n this._cachedMetadata;\n\n /**\n * Helper function to retrieve a list of supported wallet extensions.\n *\n * @returns {keyof TSupportedWalletExtensions[] | undefined}\n */\n getSupportedExtensions = (): TSupportedWalletExtensions[] => {\n return this._supportedExtensions;\n };\n\n /**\n * Helper function to restore the class instance to its initial state.\n *\n * @returns {void}\n */\n disconnect = (): void => {\n this._activeWallet = undefined;\n this.api = undefined;\n this._cachedMetadata = new Map();\n window.localStorage.removeItem(WalletObserver.PERSISTENCE_CACHE_KEY);\n this.dispatch(EWalletObserverEvents.DISCONNECT);\n };\n\n /**\n * Retrieves the balance of the wallet, including metadata for each asset.\n *\n * @returns {Promise<WalletBalanceMap<AssetMetadata>>} - A promise that resolves to a map of asset amounts keyed by asset IDs.\n */\n getBalanceMap = async (): Promise<WalletBalanceMap<AssetMetadata>> => {\n if (!this.api) {\n throw new Error(\"Attempted to query balance without an API instance.\");\n }\n\n this.dispatch(EWalletObserverEvents.GET_BALANCE_MAP_START);\n const [cbor, { Serialization }, { typedHex }] = await Promise.all([\n this.api.getBalance(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = Serialization.Value.fromCbor(typedHex(cbor));\n const multiassetKeys = data.multiasset()?.keys() ?? [];\n\n const metadata = await this.__metadataResolverWithCache([\n WalletObserver.ADA_ASSET_ID,\n ...multiassetKeys,\n ]);\n\n const balanceMap = new WalletBalanceMap<AssetMetadata>(this);\n balanceMap.set(\n WalletObserver.ADA_ASSET_ID,\n new AssetAmount(data.coin(), metadata.get(WalletObserver.ADA_ASSET_ID))\n );\n\n const multiassetEntries = data.multiasset()?.entries() ?? [];\n if (multiassetEntries) {\n for (const [id, amount] of multiassetEntries) {\n balanceMap.set(id, new AssetAmount(amount, metadata.get(id)));\n }\n }\n\n this.dispatch(EWalletObserverEvents.GET_BALANCE_MAP_END, {\n balanceMap,\n });\n\n return balanceMap;\n };\n\n /**\n * Gets the current network connection.\n *\n * @returns {Promise<number>} The network ID.\n */\n getNetwork = async (): Promise<number> => {\n if (!this.api) {\n throw new Error(\"Attempted to query network without an API instance.\");\n }\n\n const val = await this.api.getNetworkId();\n this.network = val;\n return val;\n };\n\n /**\n * Gets a list of used addresses, encoded as Bech32.\n *\n * @returns {Promise<string[]>} The list of addresses.\n */\n getUsedAddresses = async (): Promise<string[]> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query used addresses without an API instance.\"\n );\n }\n\n const [cbor, { Cardano }, { typedHex }] = await Promise.all([\n this.api.getUsedAddresses(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor.map((val) =>\n Cardano.Address.fromBytes(typedHex(val)).toBech32()\n );\n\n return data;\n };\n\n /**\n * Gets a list of unused addresses, encoded as Bech32.\n *\n * @returns {Promise<string[]>} The list of addresses.\n */\n getUnusedAddresses = async (): Promise<string[]> => {\n if (!this.api) {\n throw new Error(\n \"Attempted to query unused addresses without an API instance.\"\n );\n }\n\n const [cbor, { Cardano }, { typedHex }] = await Promise.all([\n this.api.getUnusedAddresses(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor.map((val) =>\n Cardano.Address.fromBytes(typedHex(val)).toBech32()\n );\n\n return data;\n };\n\n /**\n * Gets a list of wallet UTXOs.\n *\n * @returns {Promise<TransactionUnspentOutput[]>} The list of TransactionUnspentOutputs.\n */\n getUtxos = async (): Promise<TransactionUnspentOutput[] | undefined> => {\n if (!this.api) {\n throw new Error(\"Attempted to query UTXOs without an API instance.\");\n }\n\n const [cbor, { Serialization }, { typedHex }] = await Promise.all([\n this.api.getUtxos(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor?.map((val) => {\n let txOutput = Serialization.TransactionUnspentOutput.fromCbor(\n typedHex(val)\n );\n\n // These methods must be bound to their initial creation instance.\n txOutput.input = txOutput.input.bind(txOutput);\n txOutput.output = txOutput.output.bind(txOutput);\n return txOutput;\n });\n\n return data;\n };\n\n /**\n * Gets a list of wallet UTXOs suitable for collateral.\n *\n * @returns {Promise<TransactionUnspentOutput[]>} The list of TransactionUnspentOutputs.\n */\n getCollateral = async (): Promise<TransactionUnspentOutput[] | undefined> => {\n if (!this.api) {\n throw new Error(\"Attempted to query UTXOs without an API instance.\");\n }\n\n const [cbor, { Serialization }, { typedHex }] = await Promise.all([\n this.api.getCollateral(),\n getCardanoCore(),\n getCardanoUtil(),\n ]);\n\n const data = cbor?.map((val) => {\n let txOutput = Serialization.TransactionUnspentOutput.fromCbor(\n typedHex(val)\n );\n\n // These methods must be bound to their initial creation instance.\n txOutput.input = txOutput.input.bind(txOutput);\n txOutput.output = txOutput.output.bind(txOutput);\n return txOutput;\n });\n\n return data;\n };\n\n /**\n * Resolves metadata for the given asset IDs, using a cached version if available.\n *\n * @private\n * @param {string[]} assetIds - The IDs of the assets to resolve metadata for.\n * @returns {Promise<Map<string, AssetMetadata>>} - A promise that resolves to a map of asset metadata.\n */\n private __metadataResolverWithCache = async (\n assetIds: string[]\n ): Promise<Map<string, AssetMetadata>> => {\n if (this._cachedMetadata) {\n const cachedKeys = new Set(this._cachedMetadata.keys());\n const inputKeys = new Set(assetIds);\n\n if (\n cachedKeys.size === inputKeys.size &&\n [...cachedKeys].every((key) => inputKeys.has(key))\n ) {\n return this._cachedMetadata;\n }\n }\n\n const newMetadata = await this._options.metadataResolver(assetIds);\n this._cachedMetadata = newMetadata;\n return newMetadata;\n };\n\n /**\n * A fallback metadata resolver function that generates default metadata for given asset IDs.\n *\n * @type {TMetadataResolverFunc<AssetMetadata>}\n */\n public fallbackMetadataResolver: TMetadataResolverFunc<AssetMetadata> =\n async (assetIds) => {\n const map = new Map<string, AssetMetadata>();\n assetIds.forEach((id) =>\n map.set(id, {\n assetId: id,\n decimals: 6,\n } as AssetMetadata)\n );\n\n return map;\n };\n\n /**\n * Helper method to retrieve the cached utils instance.\n *\n * @returns {Promise<WalletObserverUtils>} Resolves to a WalletObserverUtils class.\n */\n public async getUtils(): Promise<WalletObserverUtils> {\n if (!this.utils) {\n this.utils = await WalletObserverUtils.new(this.network);\n }\n\n return this.utils;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -59,14 +59,18 @@ var useWalletObserverState = exports.useWalletObserverState = function useWallet
|
|
|
59
59
|
_useState16 = _slicedToArray(_useState15, 2),
|
|
60
60
|
utxos = _useState16[0],
|
|
61
61
|
setUtxos = _useState16[1];
|
|
62
|
-
var _useState17 = (0, _react.useState)(
|
|
62
|
+
var _useState17 = (0, _react.useState)(),
|
|
63
63
|
_useState18 = _slicedToArray(_useState17, 2),
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
collateral = _useState18[0],
|
|
65
|
+
setCollateral = _useState18[1];
|
|
66
66
|
var _useState19 = (0, _react.useState)(false),
|
|
67
67
|
_useState20 = _slicedToArray(_useState19, 2),
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
ready = _useState20[0],
|
|
69
|
+
setReady = _useState20[1];
|
|
70
|
+
var _useState21 = (0, _react.useState)(false),
|
|
71
|
+
_useState22 = _slicedToArray(_useState21, 2),
|
|
72
|
+
isCip45 = _useState22[0],
|
|
73
|
+
setIsCip45 = _useState22[1];
|
|
70
74
|
var syncWallet = (0, _react.useCallback)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
71
75
|
var newWallet, freshData, newAdaBalance;
|
|
72
76
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
@@ -80,7 +84,7 @@ var useWalletObserverState = exports.useWalletObserverState = function useWallet
|
|
|
80
84
|
case 2:
|
|
81
85
|
newWallet = observer.getActiveWallet();
|
|
82
86
|
if (newWallet) {
|
|
83
|
-
_context.next =
|
|
87
|
+
_context.next = 13;
|
|
84
88
|
break;
|
|
85
89
|
}
|
|
86
90
|
setAdaBalance(new _asset.AssetAmount(0n));
|
|
@@ -90,15 +94,16 @@ var useWalletObserverState = exports.useWalletObserverState = function useWallet
|
|
|
90
94
|
setActiveWallet(undefined);
|
|
91
95
|
setNetwork(undefined);
|
|
92
96
|
setUtxos(undefined);
|
|
97
|
+
setCollateral(undefined);
|
|
93
98
|
return _context.abrupt("return");
|
|
94
|
-
case
|
|
99
|
+
case 13:
|
|
95
100
|
prevActiveWallet.current = newWallet;
|
|
96
101
|
setActiveWallet(function (prevWallet) {
|
|
97
102
|
return newWallet === prevWallet ? prevWallet : newWallet;
|
|
98
103
|
});
|
|
99
|
-
_context.next =
|
|
104
|
+
_context.next = 17;
|
|
100
105
|
return observer.sync();
|
|
101
|
-
case
|
|
106
|
+
case 17:
|
|
102
107
|
freshData = _context.sent;
|
|
103
108
|
newAdaBalance = freshData.balanceMap.get(_WalletObserverClass.WalletObserver.ADA_ASSET_ID);
|
|
104
109
|
if (newAdaBalance) {
|
|
@@ -131,9 +136,22 @@ var useWalletObserverState = exports.useWalletObserverState = function useWallet
|
|
|
131
136
|
}
|
|
132
137
|
return prevValue;
|
|
133
138
|
});
|
|
139
|
+
setCollateral(function (prevValue) {
|
|
140
|
+
var _freshData$utxos2;
|
|
141
|
+
var prevValueRep = prevValue === null || prevValue === void 0 ? void 0 : prevValue.map(function (v) {
|
|
142
|
+
return v.toCbor();
|
|
143
|
+
});
|
|
144
|
+
var newValueRep = (_freshData$utxos2 = freshData.utxos) === null || _freshData$utxos2 === void 0 ? void 0 : _freshData$utxos2.map(function (v) {
|
|
145
|
+
return v.toCbor();
|
|
146
|
+
});
|
|
147
|
+
if (prevValueRep !== newValueRep) {
|
|
148
|
+
return freshData.utxos;
|
|
149
|
+
}
|
|
150
|
+
return prevValue;
|
|
151
|
+
});
|
|
134
152
|
setReady(true);
|
|
135
153
|
setIsCip45(newWallet.includes("p2p"));
|
|
136
|
-
case
|
|
154
|
+
case 28:
|
|
137
155
|
case "end":
|
|
138
156
|
return _context.stop();
|
|
139
157
|
}
|
|
@@ -158,6 +176,8 @@ var useWalletObserverState = exports.useWalletObserverState = function useWallet
|
|
|
158
176
|
setUsedAddresses: setUsedAddresses,
|
|
159
177
|
utxos: utxos,
|
|
160
178
|
setUtxos: setUtxos,
|
|
179
|
+
collateral: collateral,
|
|
180
|
+
setCollateral: setCollateral,
|
|
161
181
|
syncWallet: syncWallet,
|
|
162
182
|
ready: ready,
|
|
163
183
|
setReady: setReady
|