@metamask/name-controller 8.0.0 → 8.0.1
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 +26 -1
- package/dist/NameController.cjs +410 -0
- package/dist/NameController.cjs.map +1 -0
- package/dist/{types/NameController.d.ts → NameController.d.cts} +5 -5
- package/dist/NameController.d.cts.map +1 -0
- package/dist/NameController.d.mts +106 -0
- package/dist/NameController.d.mts.map +1 -0
- package/dist/NameController.mjs +404 -13
- package/dist/NameController.mjs.map +1 -1
- package/dist/constants.cjs +111 -0
- package/dist/constants.cjs.map +1 -0
- package/dist/{types/constants.d.ts → constants.d.cts} +1 -1
- package/dist/constants.d.cts.map +1 -0
- package/dist/constants.d.mts +105 -0
- package/dist/constants.d.mts.map +1 -0
- package/dist/constants.mjs +106 -8
- package/dist/constants.mjs.map +1 -1
- package/dist/index.cjs +23 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +7 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +7 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +6 -36
- package/dist/index.mjs.map +1 -1
- package/dist/logger.cjs +7 -0
- package/dist/logger.cjs.map +1 -0
- package/dist/{types/logger.d.ts → logger.d.cts} +2 -2
- package/dist/logger.d.cts.map +1 -0
- package/dist/logger.d.mts +5 -0
- package/dist/logger.d.mts.map +1 -0
- package/dist/logger.mjs +3 -9
- package/dist/logger.mjs.map +1 -1
- package/dist/providers/ens.cjs +65 -0
- package/dist/providers/ens.cjs.map +1 -0
- package/dist/{types/providers/ens.d.ts → providers/ens.d.cts} +2 -2
- package/dist/providers/ens.d.cts.map +1 -0
- package/dist/providers/ens.d.mts +12 -0
- package/dist/providers/ens.d.mts.map +1 -0
- package/dist/providers/ens.mjs +59 -8
- package/dist/providers/ens.mjs.map +1 -1
- package/dist/providers/etherscan.cjs +130 -0
- package/dist/providers/etherscan.cjs.map +1 -0
- package/dist/{types/providers/etherscan.d.ts → providers/etherscan.d.cts} +2 -2
- package/dist/providers/etherscan.d.cts.map +1 -0
- package/dist/providers/etherscan.d.mts +10 -0
- package/dist/providers/etherscan.d.mts.map +1 -0
- package/dist/providers/etherscan.mjs +124 -10
- package/dist/providers/etherscan.mjs.map +1 -1
- package/dist/providers/lens.cjs +77 -0
- package/dist/providers/lens.cjs.map +1 -0
- package/dist/{types/providers/lens.d.ts → providers/lens.d.cts} +2 -2
- package/dist/providers/lens.d.cts.map +1 -0
- package/dist/providers/lens.d.mts +10 -0
- package/dist/providers/lens.d.mts.map +1 -0
- package/dist/providers/lens.mjs +71 -9
- package/dist/providers/lens.mjs.map +1 -1
- package/dist/providers/token.cjs +68 -0
- package/dist/providers/token.cjs.map +1 -0
- package/dist/{types/providers/token.d.ts → providers/token.d.cts} +2 -2
- package/dist/providers/token.d.cts.map +1 -0
- package/dist/providers/token.d.mts +10 -0
- package/dist/providers/token.d.mts.map +1 -0
- package/dist/providers/token.mjs +62 -9
- package/dist/providers/token.mjs.map +1 -1
- package/dist/types.cjs +12 -0
- package/dist/types.cjs.map +1 -0
- package/dist/{types/types.d.ts → types.d.cts} +1 -1
- package/dist/types.d.cts.map +1 -0
- package/dist/types.d.mts +77 -0
- package/dist/types.d.mts.map +1 -0
- package/dist/types.mjs +8 -7
- package/dist/types.mjs.map +1 -1
- package/dist/util.cjs +76 -0
- package/dist/util.cjs.map +1 -0
- package/dist/{types/util.d.ts → util.d.cts} +1 -1
- package/dist/util.d.cts.map +1 -0
- package/dist/util.d.mts +35 -0
- package/dist/util.d.mts.map +1 -0
- package/dist/util.mjs +68 -13
- package/dist/util.mjs.map +1 -1
- package/package.json +21 -15
- package/dist/NameController.js +0 -15
- package/dist/NameController.js.map +0 -1
- package/dist/chunk-6AVJOVIX.mjs +0 -519
- package/dist/chunk-6AVJOVIX.mjs.map +0 -1
- package/dist/chunk-6W3DEAGA.mjs +0 -10
- package/dist/chunk-6W3DEAGA.mjs.map +0 -1
- package/dist/chunk-BLG7EQAA.mjs +0 -66
- package/dist/chunk-BLG7EQAA.mjs.map +0 -1
- package/dist/chunk-DSVOMJX6.mjs +0 -43
- package/dist/chunk-DSVOMJX6.mjs.map +0 -1
- package/dist/chunk-JHYBLEC5.js +0 -43
- package/dist/chunk-JHYBLEC5.js.map +0 -1
- package/dist/chunk-L244TFFU.mjs +0 -9
- package/dist/chunk-L244TFFU.mjs.map +0 -1
- package/dist/chunk-PL2KMW2Y.js +0 -519
- package/dist/chunk-PL2KMW2Y.js.map +0 -1
- package/dist/chunk-PL7IXD33.js +0 -10
- package/dist/chunk-PL7IXD33.js.map +0 -1
- package/dist/chunk-QBR7BSWB.js +0 -9
- package/dist/chunk-QBR7BSWB.js.map +0 -1
- package/dist/chunk-RYIUDJOI.js +0 -66
- package/dist/chunk-RYIUDJOI.js.map +0 -1
- package/dist/chunk-SHTSUEYM.mjs +0 -113
- package/dist/chunk-SHTSUEYM.mjs.map +0 -1
- package/dist/chunk-ST2ADXPO.js +0 -67
- package/dist/chunk-ST2ADXPO.js.map +0 -1
- package/dist/chunk-UALYD4SG.mjs +0 -138
- package/dist/chunk-UALYD4SG.mjs.map +0 -1
- package/dist/chunk-W64QIPGB.js +0 -80
- package/dist/chunk-W64QIPGB.js.map +0 -1
- package/dist/chunk-WHDNAWDA.mjs +0 -67
- package/dist/chunk-WHDNAWDA.mjs.map +0 -1
- package/dist/chunk-WSOVXHAC.mjs +0 -80
- package/dist/chunk-WSOVXHAC.mjs.map +0 -1
- package/dist/chunk-X55IV67M.js +0 -138
- package/dist/chunk-X55IV67M.js.map +0 -1
- package/dist/chunk-XQXO5QPM.js +0 -113
- package/dist/chunk-XQXO5QPM.js.map +0 -1
- package/dist/chunk-XUI43LEZ.mjs +0 -30
- package/dist/chunk-XUI43LEZ.mjs.map +0 -1
- package/dist/chunk-Z4BLTVTB.js +0 -30
- package/dist/chunk-Z4BLTVTB.js.map +0 -1
- package/dist/constants.js +0 -10
- package/dist/constants.js.map +0 -1
- package/dist/index.js +0 -37
- package/dist/index.js.map +0 -1
- package/dist/logger.js +0 -10
- package/dist/logger.js.map +0 -1
- package/dist/providers/ens.js +0 -10
- package/dist/providers/ens.js.map +0 -1
- package/dist/providers/etherscan.js +0 -12
- package/dist/providers/etherscan.js.map +0 -1
- package/dist/providers/lens.js +0 -11
- package/dist/providers/lens.js.map +0 -1
- package/dist/providers/token.js +0 -11
- package/dist/providers/token.js.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
- package/dist/types/NameController.d.ts.map +0 -1
- package/dist/types/constants.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -7
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/logger.d.ts.map +0 -1
- package/dist/types/providers/ens.d.ts.map +0 -1
- package/dist/types/providers/etherscan.d.ts.map +0 -1
- package/dist/types/providers/lens.d.ts.map +0 -1
- package/dist/types/providers/token.d.ts.map +0 -1
- package/dist/types/types.d.ts.map +0 -1
- package/dist/types/util.d.ts.map +0 -1
- package/dist/types.js +0 -8
- package/dist/types.js.map +0 -1
- package/dist/util.js +0 -14
- package/dist/util.js.map +0 -1
package/dist/chunk-RYIUDJOI.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var _chunkQBR7BSWBjs = require('./chunk-QBR7BSWB.js');
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var _chunkZ4BLTVTBjs = require('./chunk-Z4BLTVTB.js');
|
|
10
|
-
|
|
11
|
-
// src/providers/ens.ts
|
|
12
|
-
var ID = "ens";
|
|
13
|
-
var LABEL = "Ethereum Name Service (ENS)";
|
|
14
|
-
var log = _chunkQBR7BSWBjs.createModuleLogger.call(void 0, _chunkQBR7BSWBjs.projectLogger, "ens");
|
|
15
|
-
var _isEnabled, _reverseLookup;
|
|
16
|
-
var ENSNameProvider = class {
|
|
17
|
-
constructor({
|
|
18
|
-
isEnabled,
|
|
19
|
-
reverseLookup
|
|
20
|
-
}) {
|
|
21
|
-
_chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _isEnabled, void 0);
|
|
22
|
-
_chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _reverseLookup, void 0);
|
|
23
|
-
_chunkZ4BLTVTBjs.__privateSet.call(void 0, this, _isEnabled, isEnabled || (() => true));
|
|
24
|
-
_chunkZ4BLTVTBjs.__privateSet.call(void 0, this, _reverseLookup, reverseLookup);
|
|
25
|
-
}
|
|
26
|
-
getMetadata() {
|
|
27
|
-
return {
|
|
28
|
-
sourceIds: { ["ethereumAddress" /* ETHEREUM_ADDRESS */]: [ID] },
|
|
29
|
-
sourceLabels: { [ID]: LABEL }
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
async getProposedNames(request) {
|
|
33
|
-
if (!_chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _isEnabled).call(this)) {
|
|
34
|
-
log("Skipping request as disabled");
|
|
35
|
-
return {
|
|
36
|
-
results: {
|
|
37
|
-
[ID]: {
|
|
38
|
-
proposedNames: []
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
const { value, variation: chainId } = request;
|
|
44
|
-
log("Invoking callback", { value, chainId });
|
|
45
|
-
try {
|
|
46
|
-
const proposedName = await _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _reverseLookup).call(this, value, chainId);
|
|
47
|
-
const proposedNames = proposedName ? [proposedName] : [];
|
|
48
|
-
log("New proposed names", proposedNames);
|
|
49
|
-
return {
|
|
50
|
-
results: {
|
|
51
|
-
[ID]: { proposedNames }
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
} catch (error) {
|
|
55
|
-
log("Request failed", error);
|
|
56
|
-
throw error;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
_isEnabled = new WeakMap();
|
|
61
|
-
_reverseLookup = new WeakMap();
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
exports.ENSNameProvider = ENSNameProvider;
|
|
66
|
-
//# sourceMappingURL=chunk-RYIUDJOI.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/providers/ens.ts"],"names":[],"mappings":";;;;;;;;;;;AAcA,IAAM,KAAK;AACX,IAAM,QAAQ;AAEd,IAAM,MAAM,mBAAmB,eAAe,KAAK;AAjBnD;AAmBO,IAAM,kBAAN,MAA8C;AAAA,EAKnD,YAAY;AAAA,IACV;AAAA,IACA;AAAA,EACF,GAGG;AAVH;AAEA;AASE,uBAAK,YAAa,cAAc,MAAM;AACtC,uBAAK,gBAAiB;AAAA,EACxB;AAAA,EAEA,cAAoC;AAClC,WAAO;AAAA,MACL,WAAW,EAAE,yCAA0B,GAAG,CAAC,EAAE,EAAE;AAAA,MAC/C,cAAc,EAAE,CAAC,EAAE,GAAG,MAAM;AAAA,IAC9B;AAAA,EACF;AAAA,EAEA,MAAM,iBACJ,SAC6B;AAC7B,QAAI,CAAC,mBAAK,YAAL,YAAmB;AACtB,UAAI,8BAA8B;AAElC,aAAO;AAAA,QACL,SAAS;AAAA,UACP,CAAC,EAAE,GAAG;AAAA,YACJ,eAAe,CAAC;AAAA,UAClB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,UAAM,EAAE,OAAO,WAAW,QAAQ,IAAI;AAEtC,QAAI,qBAAqB,EAAE,OAAO,QAAQ,CAAC;AAE3C,QAAI;AACF,YAAM,eAAe,MAAM,mBAAK,gBAAL,WAAoB,OAAO;AACtD,YAAM,gBAAgB,eAAe,CAAC,YAAY,IAAI,CAAC;AAEvD,UAAI,sBAAsB,aAAa;AAEvC,aAAO;AAAA,QACL,SAAS;AAAA,UACP,CAAC,EAAE,GAAG,EAAE,cAAc;AAAA,QACxB;AAAA,MACF;AAAA,IACF,SAAS,OAAO;AACd,UAAI,kBAAkB,KAAK;AAC3B,YAAM;AAAA,IACR;AAAA,EACF;AACF;AAzDE;AAEA","sourcesContent":["import { projectLogger, createModuleLogger } from '../logger';\nimport type {\n NameProvider,\n NameProviderMetadata,\n NameProviderRequest,\n NameProviderResult,\n} from '../types';\nimport { NameType } from '../types';\n\nexport type ReverseLookupCallback = (\n address: string,\n chainId: string,\n) => Promise<string>;\n\nconst ID = 'ens';\nconst LABEL = 'Ethereum Name Service (ENS)';\n\nconst log = createModuleLogger(projectLogger, 'ens');\n\nexport class ENSNameProvider implements NameProvider {\n #isEnabled: () => boolean;\n\n #reverseLookup: ReverseLookupCallback;\n\n constructor({\n isEnabled,\n reverseLookup,\n }: {\n isEnabled?: () => boolean;\n reverseLookup: ReverseLookupCallback;\n }) {\n this.#isEnabled = isEnabled || (() => true);\n this.#reverseLookup = reverseLookup;\n }\n\n getMetadata(): NameProviderMetadata {\n return {\n sourceIds: { [NameType.ETHEREUM_ADDRESS]: [ID] },\n sourceLabels: { [ID]: LABEL },\n };\n }\n\n async getProposedNames(\n request: NameProviderRequest,\n ): Promise<NameProviderResult> {\n if (!this.#isEnabled()) {\n log('Skipping request as disabled');\n\n return {\n results: {\n [ID]: {\n proposedNames: [],\n },\n },\n };\n }\n\n const { value, variation: chainId } = request;\n\n log('Invoking callback', { value, chainId });\n\n try {\n const proposedName = await this.#reverseLookup(value, chainId);\n const proposedNames = proposedName ? [proposedName] : [];\n\n log('New proposed names', proposedNames);\n\n return {\n results: {\n [ID]: { proposedNames },\n },\n };\n } catch (error) {\n log('Request failed', error);\n throw error;\n }\n }\n}\n"]}
|
package/dist/chunk-SHTSUEYM.mjs
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
// src/constants.ts
|
|
2
|
-
var CHAIN_IDS = {
|
|
3
|
-
MAINNET: "0x1",
|
|
4
|
-
GOERLI: "0x5",
|
|
5
|
-
BSC: "0x38",
|
|
6
|
-
BSC_TESTNET: "0x61",
|
|
7
|
-
OPTIMISM: "0xa",
|
|
8
|
-
OPTIMISM_SEPOLIA: "0xaa37dc",
|
|
9
|
-
POLYGON: "0x89",
|
|
10
|
-
POLYGON_TESTNET: "0x13881",
|
|
11
|
-
AVALANCHE: "0xa86a",
|
|
12
|
-
AVALANCHE_TESTNET: "0xa869",
|
|
13
|
-
FANTOM: "0xfa",
|
|
14
|
-
FANTOM_TESTNET: "0xfa2",
|
|
15
|
-
SEPOLIA: "0xaa36a7",
|
|
16
|
-
LINEA_GOERLI: "0xe704",
|
|
17
|
-
LINEA_SEPOLIA: "0xe705",
|
|
18
|
-
LINEA_MAINNET: "0xe708",
|
|
19
|
-
MOONBEAM: "0x504",
|
|
20
|
-
MOONBEAM_TESTNET: "0x507",
|
|
21
|
-
MOONRIVER: "0x505",
|
|
22
|
-
GNOSIS: "0x64"
|
|
23
|
-
};
|
|
24
|
-
var DEFAULT_ETHERSCAN_DOMAIN = "etherscan.io";
|
|
25
|
-
var DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX = "api";
|
|
26
|
-
var ETHERSCAN_SUPPORTED_NETWORKS = {
|
|
27
|
-
[CHAIN_IDS.GOERLI]: {
|
|
28
|
-
domain: DEFAULT_ETHERSCAN_DOMAIN,
|
|
29
|
-
subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-goerli`
|
|
30
|
-
},
|
|
31
|
-
[CHAIN_IDS.MAINNET]: {
|
|
32
|
-
domain: DEFAULT_ETHERSCAN_DOMAIN,
|
|
33
|
-
subdomain: DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX
|
|
34
|
-
},
|
|
35
|
-
[CHAIN_IDS.SEPOLIA]: {
|
|
36
|
-
domain: DEFAULT_ETHERSCAN_DOMAIN,
|
|
37
|
-
subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-sepolia`
|
|
38
|
-
},
|
|
39
|
-
[CHAIN_IDS.LINEA_GOERLI]: {
|
|
40
|
-
domain: "lineascan.build",
|
|
41
|
-
subdomain: "goerli"
|
|
42
|
-
},
|
|
43
|
-
[CHAIN_IDS.LINEA_SEPOLIA]: {
|
|
44
|
-
domain: "lineascan.build",
|
|
45
|
-
subdomain: "sepolia"
|
|
46
|
-
},
|
|
47
|
-
[CHAIN_IDS.LINEA_MAINNET]: {
|
|
48
|
-
domain: "lineascan.build",
|
|
49
|
-
subdomain: DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX
|
|
50
|
-
},
|
|
51
|
-
[CHAIN_IDS.BSC]: {
|
|
52
|
-
domain: "bscscan.com",
|
|
53
|
-
subdomain: DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX
|
|
54
|
-
},
|
|
55
|
-
[CHAIN_IDS.BSC_TESTNET]: {
|
|
56
|
-
domain: "bscscan.com",
|
|
57
|
-
subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-testnet`
|
|
58
|
-
},
|
|
59
|
-
[CHAIN_IDS.OPTIMISM]: {
|
|
60
|
-
domain: DEFAULT_ETHERSCAN_DOMAIN,
|
|
61
|
-
subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-optimistic`
|
|
62
|
-
},
|
|
63
|
-
[CHAIN_IDS.OPTIMISM_SEPOLIA]: {
|
|
64
|
-
domain: DEFAULT_ETHERSCAN_DOMAIN,
|
|
65
|
-
subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-sepolia-optimistic`
|
|
66
|
-
},
|
|
67
|
-
[CHAIN_IDS.POLYGON]: {
|
|
68
|
-
domain: "polygonscan.com",
|
|
69
|
-
subdomain: DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX
|
|
70
|
-
},
|
|
71
|
-
[CHAIN_IDS.POLYGON_TESTNET]: {
|
|
72
|
-
domain: "polygonscan.com",
|
|
73
|
-
subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-mumbai`
|
|
74
|
-
},
|
|
75
|
-
[CHAIN_IDS.AVALANCHE]: {
|
|
76
|
-
domain: "snowtrace.io",
|
|
77
|
-
subdomain: DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX
|
|
78
|
-
},
|
|
79
|
-
[CHAIN_IDS.AVALANCHE_TESTNET]: {
|
|
80
|
-
domain: "snowtrace.io",
|
|
81
|
-
subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-testnet`
|
|
82
|
-
},
|
|
83
|
-
[CHAIN_IDS.FANTOM]: {
|
|
84
|
-
domain: "ftmscan.com",
|
|
85
|
-
subdomain: DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX
|
|
86
|
-
},
|
|
87
|
-
[CHAIN_IDS.FANTOM_TESTNET]: {
|
|
88
|
-
domain: "ftmscan.com",
|
|
89
|
-
subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-testnet`
|
|
90
|
-
},
|
|
91
|
-
[CHAIN_IDS.MOONBEAM]: {
|
|
92
|
-
domain: "moonscan.io",
|
|
93
|
-
subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-moonbeam`
|
|
94
|
-
},
|
|
95
|
-
[CHAIN_IDS.MOONBEAM_TESTNET]: {
|
|
96
|
-
domain: "moonscan.io",
|
|
97
|
-
subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-moonbase`
|
|
98
|
-
},
|
|
99
|
-
[CHAIN_IDS.MOONRIVER]: {
|
|
100
|
-
domain: "moonscan.io",
|
|
101
|
-
subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-moonriver`
|
|
102
|
-
},
|
|
103
|
-
[CHAIN_IDS.GNOSIS]: {
|
|
104
|
-
domain: "gnosisscan.io",
|
|
105
|
-
subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-gnosis`
|
|
106
|
-
}
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
export {
|
|
110
|
-
CHAIN_IDS,
|
|
111
|
-
ETHERSCAN_SUPPORTED_NETWORKS
|
|
112
|
-
};
|
|
113
|
-
//# sourceMappingURL=chunk-SHTSUEYM.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/constants.ts"],"sourcesContent":["// Below constants are intentionally copied from transaction-controller to avoid package dependency\n\nexport const CHAIN_IDS = {\n MAINNET: '0x1',\n GOERLI: '0x5',\n BSC: '0x38',\n BSC_TESTNET: '0x61',\n OPTIMISM: '0xa',\n OPTIMISM_SEPOLIA: '0xaa37dc',\n POLYGON: '0x89',\n POLYGON_TESTNET: '0x13881',\n AVALANCHE: '0xa86a',\n AVALANCHE_TESTNET: '0xa869',\n FANTOM: '0xfa',\n FANTOM_TESTNET: '0xfa2',\n SEPOLIA: '0xaa36a7',\n LINEA_GOERLI: '0xe704',\n LINEA_SEPOLIA: '0xe705',\n LINEA_MAINNET: '0xe708',\n MOONBEAM: '0x504',\n MOONBEAM_TESTNET: '0x507',\n MOONRIVER: '0x505',\n GNOSIS: '0x64',\n} as const;\n\nconst DEFAULT_ETHERSCAN_DOMAIN = 'etherscan.io';\nconst DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX = 'api';\n\nexport const ETHERSCAN_SUPPORTED_NETWORKS = {\n [CHAIN_IDS.GOERLI]: {\n domain: DEFAULT_ETHERSCAN_DOMAIN,\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-goerli`,\n },\n [CHAIN_IDS.MAINNET]: {\n domain: DEFAULT_ETHERSCAN_DOMAIN,\n subdomain: DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX,\n },\n [CHAIN_IDS.SEPOLIA]: {\n domain: DEFAULT_ETHERSCAN_DOMAIN,\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-sepolia`,\n },\n [CHAIN_IDS.LINEA_GOERLI]: {\n domain: 'lineascan.build',\n subdomain: 'goerli',\n },\n [CHAIN_IDS.LINEA_SEPOLIA]: {\n domain: 'lineascan.build',\n subdomain: 'sepolia',\n },\n [CHAIN_IDS.LINEA_MAINNET]: {\n domain: 'lineascan.build',\n subdomain: DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX,\n },\n [CHAIN_IDS.BSC]: {\n domain: 'bscscan.com',\n subdomain: DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX,\n },\n [CHAIN_IDS.BSC_TESTNET]: {\n domain: 'bscscan.com',\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-testnet`,\n },\n [CHAIN_IDS.OPTIMISM]: {\n domain: DEFAULT_ETHERSCAN_DOMAIN,\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-optimistic`,\n },\n [CHAIN_IDS.OPTIMISM_SEPOLIA]: {\n domain: DEFAULT_ETHERSCAN_DOMAIN,\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-sepolia-optimistic`,\n },\n [CHAIN_IDS.POLYGON]: {\n domain: 'polygonscan.com',\n subdomain: DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX,\n },\n [CHAIN_IDS.POLYGON_TESTNET]: {\n domain: 'polygonscan.com',\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-mumbai`,\n },\n [CHAIN_IDS.AVALANCHE]: {\n domain: 'snowtrace.io',\n subdomain: DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX,\n },\n [CHAIN_IDS.AVALANCHE_TESTNET]: {\n domain: 'snowtrace.io',\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-testnet`,\n },\n [CHAIN_IDS.FANTOM]: {\n domain: 'ftmscan.com',\n subdomain: DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX,\n },\n [CHAIN_IDS.FANTOM_TESTNET]: {\n domain: 'ftmscan.com',\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-testnet`,\n },\n [CHAIN_IDS.MOONBEAM]: {\n domain: 'moonscan.io',\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-moonbeam`,\n },\n [CHAIN_IDS.MOONBEAM_TESTNET]: {\n domain: 'moonscan.io',\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-moonbase`,\n },\n [CHAIN_IDS.MOONRIVER]: {\n domain: 'moonscan.io',\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-moonriver`,\n },\n [CHAIN_IDS.GNOSIS]: {\n domain: 'gnosisscan.io',\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-gnosis`,\n },\n};\n"],"mappings":";AAEO,IAAM,YAAY;AAAA,EACvB,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,aAAa;AAAA,EACb,UAAU;AAAA,EACV,kBAAkB;AAAA,EAClB,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,mBAAmB;AAAA,EACnB,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,SAAS;AAAA,EACT,cAAc;AAAA,EACd,eAAe;AAAA,EACf,eAAe;AAAA,EACf,UAAU;AAAA,EACV,kBAAkB;AAAA,EAClB,WAAW;AAAA,EACX,QAAQ;AACV;AAEA,IAAM,2BAA2B;AACjC,IAAM,qCAAqC;AAEpC,IAAM,+BAA+B;AAAA,EAC1C,CAAC,UAAU,MAAM,GAAG;AAAA,IAClB,QAAQ;AAAA,IACR,WAAW,GAAG,kCAAkC;AAAA,EAClD;AAAA,EACA,CAAC,UAAU,OAAO,GAAG;AAAA,IACnB,QAAQ;AAAA,IACR,WAAW;AAAA,EACb;AAAA,EACA,CAAC,UAAU,OAAO,GAAG;AAAA,IACnB,QAAQ;AAAA,IACR,WAAW,GAAG,kCAAkC;AAAA,EAClD;AAAA,EACA,CAAC,UAAU,YAAY,GAAG;AAAA,IACxB,QAAQ;AAAA,IACR,WAAW;AAAA,EACb;AAAA,EACA,CAAC,UAAU,aAAa,GAAG;AAAA,IACzB,QAAQ;AAAA,IACR,WAAW;AAAA,EACb;AAAA,EACA,CAAC,UAAU,aAAa,GAAG;AAAA,IACzB,QAAQ;AAAA,IACR,WAAW;AAAA,EACb;AAAA,EACA,CAAC,UAAU,GAAG,GAAG;AAAA,IACf,QAAQ;AAAA,IACR,WAAW;AAAA,EACb;AAAA,EACA,CAAC,UAAU,WAAW,GAAG;AAAA,IACvB,QAAQ;AAAA,IACR,WAAW,GAAG,kCAAkC;AAAA,EAClD;AAAA,EACA,CAAC,UAAU,QAAQ,GAAG;AAAA,IACpB,QAAQ;AAAA,IACR,WAAW,GAAG,kCAAkC;AAAA,EAClD;AAAA,EACA,CAAC,UAAU,gBAAgB,GAAG;AAAA,IAC5B,QAAQ;AAAA,IACR,WAAW,GAAG,kCAAkC;AAAA,EAClD;AAAA,EACA,CAAC,UAAU,OAAO,GAAG;AAAA,IACnB,QAAQ;AAAA,IACR,WAAW;AAAA,EACb;AAAA,EACA,CAAC,UAAU,eAAe,GAAG;AAAA,IAC3B,QAAQ;AAAA,IACR,WAAW,GAAG,kCAAkC;AAAA,EAClD;AAAA,EACA,CAAC,UAAU,SAAS,GAAG;AAAA,IACrB,QAAQ;AAAA,IACR,WAAW;AAAA,EACb;AAAA,EACA,CAAC,UAAU,iBAAiB,GAAG;AAAA,IAC7B,QAAQ;AAAA,IACR,WAAW,GAAG,kCAAkC;AAAA,EAClD;AAAA,EACA,CAAC,UAAU,MAAM,GAAG;AAAA,IAClB,QAAQ;AAAA,IACR,WAAW;AAAA,EACb;AAAA,EACA,CAAC,UAAU,cAAc,GAAG;AAAA,IAC1B,QAAQ;AAAA,IACR,WAAW,GAAG,kCAAkC;AAAA,EAClD;AAAA,EACA,CAAC,UAAU,QAAQ,GAAG;AAAA,IACpB,QAAQ;AAAA,IACR,WAAW,GAAG,kCAAkC;AAAA,EAClD;AAAA,EACA,CAAC,UAAU,gBAAgB,GAAG;AAAA,IAC5B,QAAQ;AAAA,IACR,WAAW,GAAG,kCAAkC;AAAA,EAClD;AAAA,EACA,CAAC,UAAU,SAAS,GAAG;AAAA,IACrB,QAAQ;AAAA,IACR,WAAW,GAAG,kCAAkC;AAAA,EAClD;AAAA,EACA,CAAC,UAAU,MAAM,GAAG;AAAA,IAClB,QAAQ;AAAA,IACR,WAAW,GAAG,kCAAkC;AAAA,EAClD;AACF;","names":[]}
|
package/dist/chunk-ST2ADXPO.js
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
-
|
|
3
|
-
var _chunkJHYBLEC5js = require('./chunk-JHYBLEC5.js');
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var _chunkQBR7BSWBjs = require('./chunk-QBR7BSWB.js');
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var _chunkZ4BLTVTBjs = require('./chunk-Z4BLTVTB.js');
|
|
13
|
-
|
|
14
|
-
// src/providers/token.ts
|
|
15
|
-
var ID = "token";
|
|
16
|
-
var LABEL = "Blockchain (Token Name)";
|
|
17
|
-
var log = _chunkQBR7BSWBjs.createModuleLogger.call(void 0, _chunkQBR7BSWBjs.projectLogger, "token");
|
|
18
|
-
var _isEnabled;
|
|
19
|
-
var TokenNameProvider = class {
|
|
20
|
-
constructor({ isEnabled } = {}) {
|
|
21
|
-
_chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _isEnabled, void 0);
|
|
22
|
-
_chunkZ4BLTVTBjs.__privateSet.call(void 0, this, _isEnabled, isEnabled || (() => true));
|
|
23
|
-
}
|
|
24
|
-
getMetadata() {
|
|
25
|
-
return {
|
|
26
|
-
sourceIds: { ["ethereumAddress" /* ETHEREUM_ADDRESS */]: [ID] },
|
|
27
|
-
sourceLabels: { [ID]: LABEL }
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
async getProposedNames(request) {
|
|
31
|
-
if (!_chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _isEnabled).call(this)) {
|
|
32
|
-
log("Skipping request as disabled");
|
|
33
|
-
return {
|
|
34
|
-
results: {
|
|
35
|
-
[ID]: {
|
|
36
|
-
proposedNames: []
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
const { value, variation: chainId } = request;
|
|
42
|
-
const url = `https://token.api.cx.metamask.io/token/${chainId}?address=${value}`;
|
|
43
|
-
log("Sending request", url);
|
|
44
|
-
try {
|
|
45
|
-
const responseData = await _chunkJHYBLEC5js.handleFetch.call(void 0, url);
|
|
46
|
-
const proposedName = responseData.name;
|
|
47
|
-
const proposedNames = proposedName ? [proposedName] : [];
|
|
48
|
-
log("New proposed names", proposedNames);
|
|
49
|
-
return {
|
|
50
|
-
results: {
|
|
51
|
-
[ID]: {
|
|
52
|
-
proposedNames
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
} catch (error) {
|
|
57
|
-
log("Request failed", error);
|
|
58
|
-
throw error;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
_isEnabled = new WeakMap();
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
exports.TokenNameProvider = TokenNameProvider;
|
|
67
|
-
//# sourceMappingURL=chunk-ST2ADXPO.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/providers/token.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAUA,IAAM,KAAK;AACX,IAAM,QAAQ;AAEd,IAAM,MAAM,mBAAmB,eAAe,OAAO;AAbrD;AAeO,IAAM,oBAAN,MAAgD;AAAA,EAGrD,YAAY,EAAE,UAAU,IAAmC,CAAC,GAAG;AAF/D;AAGE,uBAAK,YAAa,cAAc,MAAM;AAAA,EACxC;AAAA,EAEA,cAAoC;AAClC,WAAO;AAAA,MACL,WAAW,EAAE,yCAA0B,GAAG,CAAC,EAAE,EAAE;AAAA,MAC/C,cAAc,EAAE,CAAC,EAAE,GAAG,MAAM;AAAA,IAC9B;AAAA,EACF;AAAA,EAEA,MAAM,iBACJ,SAC6B;AAC7B,QAAI,CAAC,mBAAK,YAAL,YAAmB;AACtB,UAAI,8BAA8B;AAElC,aAAO;AAAA,QACL,SAAS;AAAA,UACP,CAAC,EAAE,GAAG;AAAA,YACJ,eAAe,CAAC;AAAA,UAClB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,UAAM,EAAE,OAAO,WAAW,QAAQ,IAAI;AACtC,UAAM,MAAM,0CAA0C,OAAO,YAAY,KAAK;AAE9E,QAAI,mBAAmB,GAAG;AAE1B,QAAI;AACF,YAAM,eAAe,MAAM,YAAY,GAAG;AAC1C,YAAM,eAAe,aAAa;AAClC,YAAM,gBAAgB,eAAe,CAAC,YAAY,IAAI,CAAC;AAEvD,UAAI,sBAAsB,aAAa;AAEvC,aAAO;AAAA,QACL,SAAS;AAAA,UACP,CAAC,EAAE,GAAG;AAAA,YACJ;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF,SAAS,OAAO;AACd,UAAI,kBAAkB,KAAK;AAC3B,YAAM;AAAA,IACR;AAAA,EACF;AACF;AApDE","sourcesContent":["import { createModuleLogger, projectLogger } from '../logger';\nimport type {\n NameProvider,\n NameProviderMetadata,\n NameProviderRequest,\n NameProviderResult,\n} from '../types';\nimport { NameType } from '../types';\nimport { handleFetch } from '../util';\n\nconst ID = 'token';\nconst LABEL = 'Blockchain (Token Name)';\n\nconst log = createModuleLogger(projectLogger, 'token');\n\nexport class TokenNameProvider implements NameProvider {\n #isEnabled: () => boolean;\n\n constructor({ isEnabled }: { isEnabled?: () => boolean } = {}) {\n this.#isEnabled = isEnabled || (() => true);\n }\n\n getMetadata(): NameProviderMetadata {\n return {\n sourceIds: { [NameType.ETHEREUM_ADDRESS]: [ID] },\n sourceLabels: { [ID]: LABEL },\n };\n }\n\n async getProposedNames(\n request: NameProviderRequest,\n ): Promise<NameProviderResult> {\n if (!this.#isEnabled()) {\n log('Skipping request as disabled');\n\n return {\n results: {\n [ID]: {\n proposedNames: [],\n },\n },\n };\n }\n\n const { value, variation: chainId } = request;\n const url = `https://token.api.cx.metamask.io/token/${chainId}?address=${value}`;\n\n log('Sending request', url);\n\n try {\n const responseData = await handleFetch(url);\n const proposedName = responseData.name;\n const proposedNames = proposedName ? [proposedName] : [];\n\n log('New proposed names', proposedNames);\n\n return {\n results: {\n [ID]: {\n proposedNames,\n },\n },\n };\n } catch (error) {\n log('Request failed', error);\n throw error;\n }\n }\n}\n"]}
|
package/dist/chunk-UALYD4SG.mjs
DELETED
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ETHERSCAN_SUPPORTED_NETWORKS
|
|
3
|
-
} from "./chunk-SHTSUEYM.mjs";
|
|
4
|
-
import {
|
|
5
|
-
assertIsError,
|
|
6
|
-
handleFetch
|
|
7
|
-
} from "./chunk-DSVOMJX6.mjs";
|
|
8
|
-
import {
|
|
9
|
-
createModuleLogger,
|
|
10
|
-
projectLogger
|
|
11
|
-
} from "./chunk-L244TFFU.mjs";
|
|
12
|
-
import {
|
|
13
|
-
__privateAdd,
|
|
14
|
-
__privateGet,
|
|
15
|
-
__privateMethod,
|
|
16
|
-
__privateSet
|
|
17
|
-
} from "./chunk-XUI43LEZ.mjs";
|
|
18
|
-
|
|
19
|
-
// src/providers/etherscan.ts
|
|
20
|
-
import { Mutex } from "async-mutex";
|
|
21
|
-
var ID = "etherscan";
|
|
22
|
-
var LABEL = "Etherscan (Verified Contract Name)";
|
|
23
|
-
var RATE_LIMIT_UPDATE_DELAY = 5;
|
|
24
|
-
var RATE_LIMIT_INTERVAL = RATE_LIMIT_UPDATE_DELAY * 1e3;
|
|
25
|
-
var log = createModuleLogger(projectLogger, "etherscan");
|
|
26
|
-
var _isEnabled, _lastRequestTime, _mutex, _sendRequest, sendRequest_fn, _getUrl, getUrl_fn;
|
|
27
|
-
var EtherscanNameProvider = class {
|
|
28
|
-
constructor({ isEnabled } = {}) {
|
|
29
|
-
__privateAdd(this, _sendRequest);
|
|
30
|
-
__privateAdd(this, _getUrl);
|
|
31
|
-
__privateAdd(this, _isEnabled, void 0);
|
|
32
|
-
__privateAdd(this, _lastRequestTime, 0);
|
|
33
|
-
__privateAdd(this, _mutex, new Mutex());
|
|
34
|
-
__privateSet(this, _isEnabled, isEnabled || (() => true));
|
|
35
|
-
}
|
|
36
|
-
getMetadata() {
|
|
37
|
-
return {
|
|
38
|
-
sourceIds: { ["ethereumAddress" /* ETHEREUM_ADDRESS */]: [ID] },
|
|
39
|
-
sourceLabels: { [ID]: LABEL }
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
async getProposedNames(request) {
|
|
43
|
-
if (!__privateGet(this, _isEnabled).call(this)) {
|
|
44
|
-
log("Skipping request as disabled");
|
|
45
|
-
return {
|
|
46
|
-
results: {
|
|
47
|
-
[ID]: {
|
|
48
|
-
proposedNames: []
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
const releaseLock = await __privateGet(this, _mutex).acquire();
|
|
54
|
-
try {
|
|
55
|
-
const { value, variation: chainId } = request;
|
|
56
|
-
const time = Date.now();
|
|
57
|
-
const timeSinceLastRequest = time - __privateGet(this, _lastRequestTime);
|
|
58
|
-
if (timeSinceLastRequest < RATE_LIMIT_INTERVAL) {
|
|
59
|
-
log("Skipping request to avoid rate limit");
|
|
60
|
-
return {
|
|
61
|
-
results: {
|
|
62
|
-
[ID]: {
|
|
63
|
-
updateDelay: RATE_LIMIT_UPDATE_DELAY
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
const url = __privateMethod(this, _getUrl, getUrl_fn).call(this, chainId, {
|
|
69
|
-
module: "contract",
|
|
70
|
-
action: "getsourcecode",
|
|
71
|
-
address: value
|
|
72
|
-
});
|
|
73
|
-
const { responseData, error } = await __privateMethod(this, _sendRequest, sendRequest_fn).call(this, url);
|
|
74
|
-
if (error) {
|
|
75
|
-
log("Request failed", error);
|
|
76
|
-
throw error;
|
|
77
|
-
}
|
|
78
|
-
if (responseData?.message === "NOTOK") {
|
|
79
|
-
log("Request warning", responseData.result);
|
|
80
|
-
return {
|
|
81
|
-
results: {
|
|
82
|
-
[ID]: {
|
|
83
|
-
updateDelay: RATE_LIMIT_UPDATE_DELAY
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
const results = responseData?.result ?? [];
|
|
89
|
-
const proposedNames = results.map((result) => result.ContractName);
|
|
90
|
-
log("New proposed names", proposedNames);
|
|
91
|
-
return {
|
|
92
|
-
results: {
|
|
93
|
-
[ID]: {
|
|
94
|
-
proposedNames
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
} finally {
|
|
99
|
-
releaseLock();
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
_isEnabled = new WeakMap();
|
|
104
|
-
_lastRequestTime = new WeakMap();
|
|
105
|
-
_mutex = new WeakMap();
|
|
106
|
-
_sendRequest = new WeakSet();
|
|
107
|
-
sendRequest_fn = async function(url) {
|
|
108
|
-
try {
|
|
109
|
-
log("Sending request", url);
|
|
110
|
-
const responseData = await handleFetch(
|
|
111
|
-
url
|
|
112
|
-
);
|
|
113
|
-
return { responseData };
|
|
114
|
-
} catch (error) {
|
|
115
|
-
assertIsError(error);
|
|
116
|
-
return { error };
|
|
117
|
-
} finally {
|
|
118
|
-
__privateSet(this, _lastRequestTime, Date.now());
|
|
119
|
-
}
|
|
120
|
-
};
|
|
121
|
-
_getUrl = new WeakSet();
|
|
122
|
-
getUrl_fn = function(chainId, params) {
|
|
123
|
-
const networkInfo = ETHERSCAN_SUPPORTED_NETWORKS[chainId];
|
|
124
|
-
if (!networkInfo) {
|
|
125
|
-
throw new Error(`Etherscan does not support chain with ID: ${chainId}`);
|
|
126
|
-
}
|
|
127
|
-
let url = `https://${networkInfo.subdomain}.${networkInfo.domain}/api`;
|
|
128
|
-
Object.keys(params).forEach((key, index) => {
|
|
129
|
-
const value = params[key];
|
|
130
|
-
url += `${index === 0 ? "?" : "&"}${key}=${value}`;
|
|
131
|
-
});
|
|
132
|
-
return url;
|
|
133
|
-
};
|
|
134
|
-
|
|
135
|
-
export {
|
|
136
|
-
EtherscanNameProvider
|
|
137
|
-
};
|
|
138
|
-
//# sourceMappingURL=chunk-UALYD4SG.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/providers/etherscan.ts"],"sourcesContent":["import { Mutex } from 'async-mutex';\n\nimport { ETHERSCAN_SUPPORTED_NETWORKS } from '../constants';\nimport { createModuleLogger, projectLogger } from '../logger';\nimport type {\n NameProvider,\n NameProviderMetadata,\n NameProviderRequest,\n NameProviderResult,\n} from '../types';\nimport { NameType } from '../types';\nimport { handleFetch, assertIsError } from '../util';\n\nconst ID = 'etherscan';\nconst LABEL = 'Etherscan (Verified Contract Name)';\nconst RATE_LIMIT_UPDATE_DELAY = 5; // 5 Seconds\nconst RATE_LIMIT_INTERVAL = RATE_LIMIT_UPDATE_DELAY * 1000;\n\nconst log = createModuleLogger(projectLogger, 'etherscan');\n\ntype EtherscanGetSourceCodeResponse = {\n status: '1' | '0';\n message: string;\n result: [\n {\n SourceCode: string;\n ABI: string;\n ContractName: string;\n CompilerVersion: string;\n OptimizationUsed: string;\n Runs: string;\n ConstructorArguments: string;\n Library: string;\n LicenseType: string;\n Proxy: string;\n Implementation: string;\n SwarmSource: string;\n },\n ];\n};\n\nexport class EtherscanNameProvider implements NameProvider {\n #isEnabled: () => boolean;\n\n #lastRequestTime = 0;\n\n #mutex = new Mutex();\n\n constructor({ isEnabled }: { isEnabled?: () => boolean } = {}) {\n this.#isEnabled = isEnabled || (() => true);\n }\n\n getMetadata(): NameProviderMetadata {\n return {\n sourceIds: { [NameType.ETHEREUM_ADDRESS]: [ID] },\n sourceLabels: { [ID]: LABEL },\n };\n }\n\n async getProposedNames(\n request: NameProviderRequest,\n ): Promise<NameProviderResult> {\n if (!this.#isEnabled()) {\n log('Skipping request as disabled');\n\n return {\n results: {\n [ID]: {\n proposedNames: [],\n },\n },\n };\n }\n\n const releaseLock = await this.#mutex.acquire();\n\n try {\n const { value, variation: chainId } = request;\n\n const time = Date.now();\n const timeSinceLastRequest = time - this.#lastRequestTime;\n\n if (timeSinceLastRequest < RATE_LIMIT_INTERVAL) {\n log('Skipping request to avoid rate limit');\n\n return {\n results: {\n [ID]: {\n updateDelay: RATE_LIMIT_UPDATE_DELAY,\n },\n },\n };\n }\n\n const url = this.#getUrl(chainId, {\n module: 'contract',\n action: 'getsourcecode',\n address: value,\n });\n\n const { responseData, error } = await this.#sendRequest(url);\n\n if (error) {\n log('Request failed', error);\n throw error;\n }\n\n if (responseData?.message === 'NOTOK') {\n log('Request warning', responseData.result);\n\n return {\n results: {\n [ID]: {\n updateDelay: RATE_LIMIT_UPDATE_DELAY,\n },\n },\n };\n }\n\n const results = responseData?.result ?? [];\n const proposedNames = results.map((result) => result.ContractName);\n\n log('New proposed names', proposedNames);\n\n return {\n results: {\n [ID]: {\n proposedNames,\n },\n },\n };\n } finally {\n releaseLock();\n }\n }\n\n async #sendRequest(url: string): Promise<{\n responseData?: EtherscanGetSourceCodeResponse;\n error?: Error;\n }> {\n try {\n log('Sending request', url);\n\n const responseData = (await handleFetch(\n url,\n )) as EtherscanGetSourceCodeResponse;\n\n return { responseData };\n } catch (error) {\n assertIsError(error);\n return { error };\n } finally {\n this.#lastRequestTime = Date.now();\n }\n }\n\n #getUrl(chainId: string, params: Record<string, string | undefined>): string {\n type SupportedChainId = keyof typeof ETHERSCAN_SUPPORTED_NETWORKS;\n\n const networkInfo =\n ETHERSCAN_SUPPORTED_NETWORKS[chainId as SupportedChainId];\n\n if (!networkInfo) {\n throw new Error(`Etherscan does not support chain with ID: ${chainId}`);\n }\n\n let url = `https://${networkInfo.subdomain}.${networkInfo.domain}/api`;\n\n Object.keys(params).forEach((key, index) => {\n const value = params[key];\n url += `${index === 0 ? '?' : '&'}${key}=${value}`;\n });\n\n return url;\n }\n}\n"],"mappings":"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","names":[]}
|
package/dist/chunk-W64QIPGB.js
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
-
|
|
3
|
-
var _chunkJHYBLEC5js = require('./chunk-JHYBLEC5.js');
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var _chunkQBR7BSWBjs = require('./chunk-QBR7BSWB.js');
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var _chunkZ4BLTVTBjs = require('./chunk-Z4BLTVTB.js');
|
|
13
|
-
|
|
14
|
-
// src/providers/lens.ts
|
|
15
|
-
var ID = "lens";
|
|
16
|
-
var LABEL = "Lens Protocol";
|
|
17
|
-
var LENS_URL = `https://api.lens.dev`;
|
|
18
|
-
var QUERY = `
|
|
19
|
-
query HandlesForAddress($address: EthereumAddress!) {
|
|
20
|
-
profiles(request: { ownedBy: [$address] }) {
|
|
21
|
-
items {
|
|
22
|
-
handle
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}`;
|
|
26
|
-
var log = _chunkQBR7BSWBjs.createModuleLogger.call(void 0, _chunkQBR7BSWBjs.projectLogger, "lens");
|
|
27
|
-
var _isEnabled;
|
|
28
|
-
var LensNameProvider = class {
|
|
29
|
-
constructor({ isEnabled } = {}) {
|
|
30
|
-
_chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _isEnabled, void 0);
|
|
31
|
-
_chunkZ4BLTVTBjs.__privateSet.call(void 0, this, _isEnabled, isEnabled || (() => true));
|
|
32
|
-
}
|
|
33
|
-
getMetadata() {
|
|
34
|
-
return {
|
|
35
|
-
sourceIds: { ["ethereumAddress" /* ETHEREUM_ADDRESS */]: [ID] },
|
|
36
|
-
sourceLabels: { [ID]: LABEL }
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
async getProposedNames(request) {
|
|
40
|
-
if (!_chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _isEnabled).call(this)) {
|
|
41
|
-
log("Skipping request as disabled");
|
|
42
|
-
return {
|
|
43
|
-
results: {
|
|
44
|
-
[ID]: {
|
|
45
|
-
proposedNames: []
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
const { value } = request;
|
|
51
|
-
const variables = { address: value };
|
|
52
|
-
log("Sending request", { variables });
|
|
53
|
-
try {
|
|
54
|
-
const responseData = await _chunkJHYBLEC5js.graphQL.call(void 0,
|
|
55
|
-
LENS_URL,
|
|
56
|
-
QUERY,
|
|
57
|
-
variables
|
|
58
|
-
);
|
|
59
|
-
const profiles = responseData?.profiles?.items ?? [];
|
|
60
|
-
const proposedNames = profiles.map((profile) => profile.handle);
|
|
61
|
-
log("New proposed names", proposedNames);
|
|
62
|
-
return {
|
|
63
|
-
results: {
|
|
64
|
-
[ID]: {
|
|
65
|
-
proposedNames
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
} catch (error) {
|
|
70
|
-
log("Request failed", error);
|
|
71
|
-
throw error;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
_isEnabled = new WeakMap();
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
exports.LensNameProvider = LensNameProvider;
|
|
80
|
-
//# sourceMappingURL=chunk-W64QIPGB.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/providers/lens.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAUA,IAAM,KAAK;AACX,IAAM,QAAQ;AACd,IAAM,WAAW;AAEjB,IAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASd,IAAM,MAAM,mBAAmB,eAAe,MAAM;AAvBpD;AAmCO,IAAM,mBAAN,MAA+C;AAAA,EAGpD,YAAY,EAAE,UAAU,IAAmC,CAAC,GAAG;AAF/D;AAGE,uBAAK,YAAa,cAAc,MAAM;AAAA,EACxC;AAAA,EAEA,cAAoC;AAClC,WAAO;AAAA,MACL,WAAW,EAAE,yCAA0B,GAAG,CAAC,EAAE,EAAE;AAAA,MAC/C,cAAc,EAAE,CAAC,EAAE,GAAG,MAAM;AAAA,IAC9B;AAAA,EACF;AAAA,EAEA,MAAM,iBACJ,SAC6B;AAC7B,QAAI,CAAC,mBAAK,YAAL,YAAmB;AACtB,UAAI,8BAA8B;AAElC,aAAO;AAAA,QACL,SAAS;AAAA,UACP,CAAC,EAAE,GAAG;AAAA,YACJ,eAAe,CAAC;AAAA,UAClB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,UAAM,EAAE,MAAM,IAAI;AAClB,UAAM,YAAY,EAAE,SAAS,MAAM;AAEnC,QAAI,mBAAmB,EAAE,UAAU,CAAC;AAEpC,QAAI;AACF,YAAM,eAAe,MAAM;AAAA,QACzB;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAEA,YAAM,WAAW,cAAc,UAAU,SAAS,CAAC;AACnD,YAAM,gBAAgB,SAAS,IAAI,CAAC,YAAY,QAAQ,MAAM;AAE9D,UAAI,sBAAsB,aAAa;AAEvC,aAAO;AAAA,QACL,SAAS;AAAA,UACP,CAAC,EAAE,GAAG;AAAA,YACJ;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF,SAAS,OAAO;AACd,UAAI,kBAAkB,KAAK;AAC3B,YAAM;AAAA,IACR;AAAA,EACF;AACF;AAzDE","sourcesContent":["import { createModuleLogger, projectLogger } from '../logger';\nimport type {\n NameProvider,\n NameProviderMetadata,\n NameProviderRequest,\n NameProviderResult,\n} from '../types';\nimport { NameType } from '../types';\nimport { graphQL } from '../util';\n\nconst ID = 'lens';\nconst LABEL = 'Lens Protocol';\nconst LENS_URL = `https://api.lens.dev`;\n\nconst QUERY = `\nquery HandlesForAddress($address: EthereumAddress!) {\n profiles(request: { ownedBy: [$address] }) {\n items {\n handle\n }\n }\n}`;\n\nconst log = createModuleLogger(projectLogger, 'lens');\n\ntype LensResponse = {\n profiles: {\n items: [\n {\n handle: string;\n },\n ];\n };\n};\n\nexport class LensNameProvider implements NameProvider {\n #isEnabled: () => boolean;\n\n constructor({ isEnabled }: { isEnabled?: () => boolean } = {}) {\n this.#isEnabled = isEnabled || (() => true);\n }\n\n getMetadata(): NameProviderMetadata {\n return {\n sourceIds: { [NameType.ETHEREUM_ADDRESS]: [ID] },\n sourceLabels: { [ID]: LABEL },\n };\n }\n\n async getProposedNames(\n request: NameProviderRequest,\n ): Promise<NameProviderResult> {\n if (!this.#isEnabled()) {\n log('Skipping request as disabled');\n\n return {\n results: {\n [ID]: {\n proposedNames: [],\n },\n },\n };\n }\n\n const { value } = request;\n const variables = { address: value };\n\n log('Sending request', { variables });\n\n try {\n const responseData = await graphQL<LensResponse>(\n LENS_URL,\n QUERY,\n variables,\n );\n\n const profiles = responseData?.profiles?.items ?? [];\n const proposedNames = profiles.map((profile) => profile.handle);\n\n log('New proposed names', proposedNames);\n\n return {\n results: {\n [ID]: {\n proposedNames,\n },\n },\n };\n } catch (error) {\n log('Request failed', error);\n throw error;\n }\n }\n}\n"]}
|
package/dist/chunk-WHDNAWDA.mjs
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
handleFetch
|
|
3
|
-
} from "./chunk-DSVOMJX6.mjs";
|
|
4
|
-
import {
|
|
5
|
-
createModuleLogger,
|
|
6
|
-
projectLogger
|
|
7
|
-
} from "./chunk-L244TFFU.mjs";
|
|
8
|
-
import {
|
|
9
|
-
__privateAdd,
|
|
10
|
-
__privateGet,
|
|
11
|
-
__privateSet
|
|
12
|
-
} from "./chunk-XUI43LEZ.mjs";
|
|
13
|
-
|
|
14
|
-
// src/providers/token.ts
|
|
15
|
-
var ID = "token";
|
|
16
|
-
var LABEL = "Blockchain (Token Name)";
|
|
17
|
-
var log = createModuleLogger(projectLogger, "token");
|
|
18
|
-
var _isEnabled;
|
|
19
|
-
var TokenNameProvider = class {
|
|
20
|
-
constructor({ isEnabled } = {}) {
|
|
21
|
-
__privateAdd(this, _isEnabled, void 0);
|
|
22
|
-
__privateSet(this, _isEnabled, isEnabled || (() => true));
|
|
23
|
-
}
|
|
24
|
-
getMetadata() {
|
|
25
|
-
return {
|
|
26
|
-
sourceIds: { ["ethereumAddress" /* ETHEREUM_ADDRESS */]: [ID] },
|
|
27
|
-
sourceLabels: { [ID]: LABEL }
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
async getProposedNames(request) {
|
|
31
|
-
if (!__privateGet(this, _isEnabled).call(this)) {
|
|
32
|
-
log("Skipping request as disabled");
|
|
33
|
-
return {
|
|
34
|
-
results: {
|
|
35
|
-
[ID]: {
|
|
36
|
-
proposedNames: []
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
const { value, variation: chainId } = request;
|
|
42
|
-
const url = `https://token.api.cx.metamask.io/token/${chainId}?address=${value}`;
|
|
43
|
-
log("Sending request", url);
|
|
44
|
-
try {
|
|
45
|
-
const responseData = await handleFetch(url);
|
|
46
|
-
const proposedName = responseData.name;
|
|
47
|
-
const proposedNames = proposedName ? [proposedName] : [];
|
|
48
|
-
log("New proposed names", proposedNames);
|
|
49
|
-
return {
|
|
50
|
-
results: {
|
|
51
|
-
[ID]: {
|
|
52
|
-
proposedNames
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
} catch (error) {
|
|
57
|
-
log("Request failed", error);
|
|
58
|
-
throw error;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
_isEnabled = new WeakMap();
|
|
63
|
-
|
|
64
|
-
export {
|
|
65
|
-
TokenNameProvider
|
|
66
|
-
};
|
|
67
|
-
//# sourceMappingURL=chunk-WHDNAWDA.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/providers/token.ts"],"sourcesContent":["import { createModuleLogger, projectLogger } from '../logger';\nimport type {\n NameProvider,\n NameProviderMetadata,\n NameProviderRequest,\n NameProviderResult,\n} from '../types';\nimport { NameType } from '../types';\nimport { handleFetch } from '../util';\n\nconst ID = 'token';\nconst LABEL = 'Blockchain (Token Name)';\n\nconst log = createModuleLogger(projectLogger, 'token');\n\nexport class TokenNameProvider implements NameProvider {\n #isEnabled: () => boolean;\n\n constructor({ isEnabled }: { isEnabled?: () => boolean } = {}) {\n this.#isEnabled = isEnabled || (() => true);\n }\n\n getMetadata(): NameProviderMetadata {\n return {\n sourceIds: { [NameType.ETHEREUM_ADDRESS]: [ID] },\n sourceLabels: { [ID]: LABEL },\n };\n }\n\n async getProposedNames(\n request: NameProviderRequest,\n ): Promise<NameProviderResult> {\n if (!this.#isEnabled()) {\n log('Skipping request as disabled');\n\n return {\n results: {\n [ID]: {\n proposedNames: [],\n },\n },\n };\n }\n\n const { value, variation: chainId } = request;\n const url = `https://token.api.cx.metamask.io/token/${chainId}?address=${value}`;\n\n log('Sending request', url);\n\n try {\n const responseData = await handleFetch(url);\n const proposedName = responseData.name;\n const proposedNames = proposedName ? [proposedName] : [];\n\n log('New proposed names', proposedNames);\n\n return {\n results: {\n [ID]: {\n proposedNames,\n },\n },\n };\n } catch (error) {\n log('Request failed', error);\n throw error;\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAUA,IAAM,KAAK;AACX,IAAM,QAAQ;AAEd,IAAM,MAAM,mBAAmB,eAAe,OAAO;AAbrD;AAeO,IAAM,oBAAN,MAAgD;AAAA,EAGrD,YAAY,EAAE,UAAU,IAAmC,CAAC,GAAG;AAF/D;AAGE,uBAAK,YAAa,cAAc,MAAM;AAAA,EACxC;AAAA,EAEA,cAAoC;AAClC,WAAO;AAAA,MACL,WAAW,EAAE,yCAA0B,GAAG,CAAC,EAAE,EAAE;AAAA,MAC/C,cAAc,EAAE,CAAC,EAAE,GAAG,MAAM;AAAA,IAC9B;AAAA,EACF;AAAA,EAEA,MAAM,iBACJ,SAC6B;AAC7B,QAAI,CAAC,mBAAK,YAAL,YAAmB;AACtB,UAAI,8BAA8B;AAElC,aAAO;AAAA,QACL,SAAS;AAAA,UACP,CAAC,EAAE,GAAG;AAAA,YACJ,eAAe,CAAC;AAAA,UAClB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,UAAM,EAAE,OAAO,WAAW,QAAQ,IAAI;AACtC,UAAM,MAAM,0CAA0C,OAAO,YAAY,KAAK;AAE9E,QAAI,mBAAmB,GAAG;AAE1B,QAAI;AACF,YAAM,eAAe,MAAM,YAAY,GAAG;AAC1C,YAAM,eAAe,aAAa;AAClC,YAAM,gBAAgB,eAAe,CAAC,YAAY,IAAI,CAAC;AAEvD,UAAI,sBAAsB,aAAa;AAEvC,aAAO;AAAA,QACL,SAAS;AAAA,UACP,CAAC,EAAE,GAAG;AAAA,YACJ;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF,SAAS,OAAO;AACd,UAAI,kBAAkB,KAAK;AAC3B,YAAM;AAAA,IACR;AAAA,EACF;AACF;AApDE;","names":[]}
|
package/dist/chunk-WSOVXHAC.mjs
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
graphQL
|
|
3
|
-
} from "./chunk-DSVOMJX6.mjs";
|
|
4
|
-
import {
|
|
5
|
-
createModuleLogger,
|
|
6
|
-
projectLogger
|
|
7
|
-
} from "./chunk-L244TFFU.mjs";
|
|
8
|
-
import {
|
|
9
|
-
__privateAdd,
|
|
10
|
-
__privateGet,
|
|
11
|
-
__privateSet
|
|
12
|
-
} from "./chunk-XUI43LEZ.mjs";
|
|
13
|
-
|
|
14
|
-
// src/providers/lens.ts
|
|
15
|
-
var ID = "lens";
|
|
16
|
-
var LABEL = "Lens Protocol";
|
|
17
|
-
var LENS_URL = `https://api.lens.dev`;
|
|
18
|
-
var QUERY = `
|
|
19
|
-
query HandlesForAddress($address: EthereumAddress!) {
|
|
20
|
-
profiles(request: { ownedBy: [$address] }) {
|
|
21
|
-
items {
|
|
22
|
-
handle
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}`;
|
|
26
|
-
var log = createModuleLogger(projectLogger, "lens");
|
|
27
|
-
var _isEnabled;
|
|
28
|
-
var LensNameProvider = class {
|
|
29
|
-
constructor({ isEnabled } = {}) {
|
|
30
|
-
__privateAdd(this, _isEnabled, void 0);
|
|
31
|
-
__privateSet(this, _isEnabled, isEnabled || (() => true));
|
|
32
|
-
}
|
|
33
|
-
getMetadata() {
|
|
34
|
-
return {
|
|
35
|
-
sourceIds: { ["ethereumAddress" /* ETHEREUM_ADDRESS */]: [ID] },
|
|
36
|
-
sourceLabels: { [ID]: LABEL }
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
async getProposedNames(request) {
|
|
40
|
-
if (!__privateGet(this, _isEnabled).call(this)) {
|
|
41
|
-
log("Skipping request as disabled");
|
|
42
|
-
return {
|
|
43
|
-
results: {
|
|
44
|
-
[ID]: {
|
|
45
|
-
proposedNames: []
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
const { value } = request;
|
|
51
|
-
const variables = { address: value };
|
|
52
|
-
log("Sending request", { variables });
|
|
53
|
-
try {
|
|
54
|
-
const responseData = await graphQL(
|
|
55
|
-
LENS_URL,
|
|
56
|
-
QUERY,
|
|
57
|
-
variables
|
|
58
|
-
);
|
|
59
|
-
const profiles = responseData?.profiles?.items ?? [];
|
|
60
|
-
const proposedNames = profiles.map((profile) => profile.handle);
|
|
61
|
-
log("New proposed names", proposedNames);
|
|
62
|
-
return {
|
|
63
|
-
results: {
|
|
64
|
-
[ID]: {
|
|
65
|
-
proposedNames
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
} catch (error) {
|
|
70
|
-
log("Request failed", error);
|
|
71
|
-
throw error;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
_isEnabled = new WeakMap();
|
|
76
|
-
|
|
77
|
-
export {
|
|
78
|
-
LensNameProvider
|
|
79
|
-
};
|
|
80
|
-
//# sourceMappingURL=chunk-WSOVXHAC.mjs.map
|