web3bio-profile-kit 0.1.25 → 0.1.27
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/hooks/index.cjs +2 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/useBaseQuery.cjs +1 -1
- package/dist/hooks/useBaseQuery.js +1 -1
- package/dist/hooks/useCredential.cjs +29 -0
- package/dist/hooks/useCredential.d.ts +16 -0
- package/dist/hooks/useCredential.js +27 -0
- package/dist/types/ceredential.cjs +1 -2
- package/dist/types/ceredential.d.ts +12 -16
- package/dist/types/ceredential.js +1 -2
- package/dist/types/hook.cjs +2 -0
- package/dist/types/hook.d.ts +5 -1
- package/dist/types/hook.js +2 -0
- package/dist/types/index.d.ts +2 -2
- package/dist/types/platform.cjs +2 -1
- package/dist/types/platform.d.ts +2 -1
- package/dist/types/platform.js +2 -1
- package/dist/types/source.cjs +1 -0
- package/dist/types/source.d.ts +2 -0
- package/dist/types/source.js +1 -0
- package/dist/utils/helpers.cjs +21 -0
- package/dist/utils/helpers.d.ts +14 -0
- package/dist/utils/helpers.js +21 -1
- package/dist/utils/index.cjs +1 -0
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/platform.cjs +9 -0
- package/dist/utils/platform.js +9 -0
- package/dist/utils/source.cjs +43 -0
- package/dist/utils/source.js +43 -0
- package/package.json +1 -1
package/dist/hooks/index.cjs
CHANGED
|
@@ -8,6 +8,7 @@ var useBatchProfile = require('./useBatchProfile.cjs');
|
|
|
8
8
|
var useBatchNS = require('./useBatchNS.cjs');
|
|
9
9
|
var useDomain = require('./useDomain.cjs');
|
|
10
10
|
var useBaseQuery = require('./useBaseQuery.cjs');
|
|
11
|
+
var useCredential = require('./useCredential.cjs');
|
|
11
12
|
|
|
12
13
|
|
|
13
14
|
|
|
@@ -19,3 +20,4 @@ exports.useBatchProfile = useBatchProfile.useBatchProfile;
|
|
|
19
20
|
exports.useBatchNS = useBatchNS.useBatchNS;
|
|
20
21
|
exports.useDomain = useDomain.useDomain;
|
|
21
22
|
exports.useBaseQuery = useBaseQuery.useBaseQuery;
|
|
23
|
+
exports.useCredential = useCredential.useCredential;
|
package/dist/hooks/index.d.ts
CHANGED
package/dist/hooks/index.js
CHANGED
|
@@ -22,7 +22,7 @@ const buildApiUrl = (identity, endpoint, universal) => {
|
|
|
22
22
|
const resolvedId = helpers.resolveIdentity(identity);
|
|
23
23
|
if (!resolvedId)
|
|
24
24
|
return null;
|
|
25
|
-
if (
|
|
25
|
+
if ([hook.QueryEndpoint.DOMAIN, hook.QueryEndpoint.CREDENTIAL].includes(endpoint)) {
|
|
26
26
|
return `${helpers.PROD_API_ENDPOINT}/${endpoint}/${resolvedId}`;
|
|
27
27
|
}
|
|
28
28
|
const [platform, handle] = resolvedId.split(",");
|
|
@@ -20,7 +20,7 @@ const buildApiUrl = (identity, endpoint, universal) => {
|
|
|
20
20
|
const resolvedId = resolveIdentity(identity);
|
|
21
21
|
if (!resolvedId)
|
|
22
22
|
return null;
|
|
23
|
-
if (
|
|
23
|
+
if ([QueryEndpoint.DOMAIN, QueryEndpoint.CREDENTIAL].includes(endpoint)) {
|
|
24
24
|
return `${PROD_API_ENDPOINT}/${endpoint}/${resolvedId}`;
|
|
25
25
|
}
|
|
26
26
|
const [platform, handle] = resolvedId.split(",");
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('../types/platform.cjs');
|
|
4
|
+
require('../types/network.cjs');
|
|
5
|
+
var hook = require('../types/hook.cjs');
|
|
6
|
+
require('../types/source.cjs');
|
|
7
|
+
require('../types/cointype.cjs');
|
|
8
|
+
require('../types/ceredential.cjs');
|
|
9
|
+
var useBaseQuery = require('./useBaseQuery.cjs');
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Hook to query Web3.bio credential service data by identity
|
|
13
|
+
*
|
|
14
|
+
* @param identity - Identity string
|
|
15
|
+
* @param options - Optional configuration options
|
|
16
|
+
* @returns Object containing credential data, loading state, and any errors
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* // Query by ENS name with universal lookup
|
|
20
|
+
* const { data, isLoading, error } = useCredential("ens,vitalik.eth");
|
|
21
|
+
*
|
|
22
|
+
* // Query by any identity type with universal lookup
|
|
23
|
+
* const { data } = useCredential("ggmonster.farcaster");
|
|
24
|
+
*/
|
|
25
|
+
function useCredential(identity, options = {}) {
|
|
26
|
+
return useBaseQuery.useBaseQuery(identity, hook.QueryEndpoint.CREDENTIAL, false, options);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
exports.useCredential = useCredential;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type QueryOptions, type IdentityString, CredentialResult } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* Hook to query Web3.bio credential service data by identity
|
|
4
|
+
*
|
|
5
|
+
* @param identity - Identity string
|
|
6
|
+
* @param options - Optional configuration options
|
|
7
|
+
* @returns Object containing credential data, loading state, and any errors
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* // Query by ENS name with universal lookup
|
|
11
|
+
* const { data, isLoading, error } = useCredential("ens,vitalik.eth");
|
|
12
|
+
*
|
|
13
|
+
* // Query by any identity type with universal lookup
|
|
14
|
+
* const { data } = useCredential("ggmonster.farcaster");
|
|
15
|
+
*/
|
|
16
|
+
export declare function useCredential(identity: IdentityString, options?: QueryOptions): CredentialResult;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import '../types/platform.js';
|
|
2
|
+
import '../types/network.js';
|
|
3
|
+
import { QueryEndpoint } from '../types/hook.js';
|
|
4
|
+
import '../types/source.js';
|
|
5
|
+
import '../types/cointype.js';
|
|
6
|
+
import '../types/ceredential.js';
|
|
7
|
+
import { useBaseQuery } from './useBaseQuery.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Hook to query Web3.bio credential service data by identity
|
|
11
|
+
*
|
|
12
|
+
* @param identity - Identity string
|
|
13
|
+
* @param options - Optional configuration options
|
|
14
|
+
* @returns Object containing credential data, loading state, and any errors
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* // Query by ENS name with universal lookup
|
|
18
|
+
* const { data, isLoading, error } = useCredential("ens,vitalik.eth");
|
|
19
|
+
*
|
|
20
|
+
* // Query by any identity type with universal lookup
|
|
21
|
+
* const { data } = useCredential("ggmonster.farcaster");
|
|
22
|
+
*/
|
|
23
|
+
function useCredential(identity, options = {}) {
|
|
24
|
+
return useBaseQuery(identity, QueryEndpoint.CREDENTIAL, false, options);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export { useCredential };
|
|
@@ -24,7 +24,6 @@ exports.CredentialSource = void 0;
|
|
|
24
24
|
CredentialSource["hacker"] = "hacker";
|
|
25
25
|
CredentialSource["hacked"] = "hacked";
|
|
26
26
|
CredentialSource["dmca"] = "dmca";
|
|
27
|
-
CredentialSource["google"] = "google";
|
|
28
27
|
// isSpam
|
|
29
|
-
CredentialSource["
|
|
28
|
+
CredentialSource["farcasterSpam"] = "farcaster-spam";
|
|
30
29
|
})(exports.CredentialSource || (exports.CredentialSource = {}));
|
|
@@ -19,27 +19,23 @@ export declare enum CredentialSource {
|
|
|
19
19
|
hacker = "hacker",
|
|
20
20
|
hacked = "hacked",
|
|
21
21
|
dmca = "dmca",
|
|
22
|
-
|
|
23
|
-
warpcast = "warpcast"
|
|
22
|
+
farcasterSpam = "farcaster-spam"
|
|
24
23
|
}
|
|
25
|
-
export interface
|
|
26
|
-
platform?: Platform;
|
|
27
|
-
description: string;
|
|
28
|
-
label: string;
|
|
29
|
-
icon: string;
|
|
30
|
-
}
|
|
31
|
-
export interface CredentialData extends CredentialMetaData {
|
|
24
|
+
export interface CredentialType {
|
|
32
25
|
id: string;
|
|
26
|
+
platform: Platform;
|
|
33
27
|
category: CredentialCategory;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
28
|
+
credentialSource: CredentialSource;
|
|
29
|
+
credentialType: string;
|
|
30
|
+
credentialValue: string;
|
|
31
|
+
label: string;
|
|
32
|
+
description: string;
|
|
33
|
+
link: string | null;
|
|
37
34
|
updatedAt: number | null;
|
|
38
35
|
expiredAt: number | null;
|
|
39
|
-
link: string | null;
|
|
40
36
|
}
|
|
41
37
|
export interface CredentialResponse {
|
|
42
|
-
[CredentialCategory.isHuman]:
|
|
43
|
-
[CredentialCategory.isRisky]:
|
|
44
|
-
[CredentialCategory.isSpam]:
|
|
38
|
+
[CredentialCategory.isHuman]: CredentialType[] | null;
|
|
39
|
+
[CredentialCategory.isRisky]: CredentialType[] | null;
|
|
40
|
+
[CredentialCategory.isSpam]: CredentialType[] | null;
|
|
45
41
|
}
|
|
@@ -22,9 +22,8 @@ var CredentialSource;
|
|
|
22
22
|
CredentialSource["hacker"] = "hacker";
|
|
23
23
|
CredentialSource["hacked"] = "hacked";
|
|
24
24
|
CredentialSource["dmca"] = "dmca";
|
|
25
|
-
CredentialSource["google"] = "google";
|
|
26
25
|
// isSpam
|
|
27
|
-
CredentialSource["
|
|
26
|
+
CredentialSource["farcasterSpam"] = "farcaster-spam";
|
|
28
27
|
})(CredentialSource || (CredentialSource = {}));
|
|
29
28
|
|
|
30
29
|
export { CredentialCategory, CredentialSource };
|
package/dist/types/hook.cjs
CHANGED
|
@@ -35,4 +35,6 @@ exports.QueryEndpoint = void 0;
|
|
|
35
35
|
QueryEndpoint["PROFILE"] = "profile";
|
|
36
36
|
/** Domain information endpoint */
|
|
37
37
|
QueryEndpoint["DOMAIN"] = "domain";
|
|
38
|
+
/** Credential information endpoint */
|
|
39
|
+
QueryEndpoint["CREDENTIAL"] = "credential";
|
|
38
40
|
})(exports.QueryEndpoint || (exports.QueryEndpoint = {}));
|
package/dist/types/hook.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CredentialResponse } from "./ceredential";
|
|
1
2
|
import type { Network } from "./network";
|
|
2
3
|
import type { Platform } from "./platform";
|
|
3
4
|
import type { Source } from "./source";
|
|
@@ -33,7 +34,9 @@ export declare enum QueryEndpoint {
|
|
|
33
34
|
/** Profile data endpoint */
|
|
34
35
|
PROFILE = "profile",
|
|
35
36
|
/** Domain information endpoint */
|
|
36
|
-
DOMAIN = "domain"
|
|
37
|
+
DOMAIN = "domain",
|
|
38
|
+
/** Credential information endpoint */
|
|
39
|
+
CREDENTIAL = "credential"
|
|
37
40
|
}
|
|
38
41
|
/**
|
|
39
42
|
* Represents a blockchain address record
|
|
@@ -195,3 +198,4 @@ export type NSBatchResult = QueryResult<NSResponse[]>;
|
|
|
195
198
|
export type ProfileUniversalResult = QueryResult<ProfileResponse[]>;
|
|
196
199
|
export type NSUniversalResult = QueryResult<NSResponse[]>;
|
|
197
200
|
export type DomainResult = QueryResult<DomainResponse>;
|
|
201
|
+
export type CredentialResult = QueryResult<CredentialResponse>;
|
package/dist/types/hook.js
CHANGED
|
@@ -33,6 +33,8 @@ var QueryEndpoint;
|
|
|
33
33
|
QueryEndpoint["PROFILE"] = "profile";
|
|
34
34
|
/** Domain information endpoint */
|
|
35
35
|
QueryEndpoint["DOMAIN"] = "domain";
|
|
36
|
+
/** Credential information endpoint */
|
|
37
|
+
QueryEndpoint["CREDENTIAL"] = "credential";
|
|
36
38
|
})(QueryEndpoint || (QueryEndpoint = {}));
|
|
37
39
|
|
|
38
40
|
export { ErrorMessages, QueryEndpoint };
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { Platform, type PlatformType } from "./platform";
|
|
2
2
|
export { Network, type NetworkType } from "./network";
|
|
3
|
-
export { ErrorMessages, QueryEndpoint, type AddressRecord, type SocialLinksItem, type SocialLinks, type SocialRecord, type ProfileResponse, type NSResponse, type DomainResponse, type QueryOptions, type IdentityString, type QueryResult, type ProfileResult, type NSResult, type ProfileBatchResult, type NSBatchResult, type ProfileUniversalResult, type NSUniversalResult, type DomainResult, } from "./hook";
|
|
3
|
+
export { ErrorMessages, QueryEndpoint, type AddressRecord, type SocialLinksItem, type SocialLinks, type SocialRecord, type ProfileResponse, type NSResponse, type DomainResponse, type QueryOptions, type IdentityString, type QueryResult, type ProfileResult, type CredentialResult, type NSResult, type ProfileBatchResult, type NSBatchResult, type ProfileUniversalResult, type NSUniversalResult, type DomainResult, } from "./hook";
|
|
4
4
|
export { Source, type SourceType } from "./source";
|
|
5
5
|
export { CoinType } from "./cointype";
|
|
6
|
-
export { type
|
|
6
|
+
export { type CredentialType, type CredentialResponse, CredentialSource, CredentialCategory, } from "./ceredential";
|
package/dist/types/platform.cjs
CHANGED
|
@@ -87,8 +87,9 @@ exports.Platform = void 0;
|
|
|
87
87
|
Platform["solana"] = "solana";
|
|
88
88
|
Platform["space_id"] = "space_id";
|
|
89
89
|
Platform["stacks"] = "stacks";
|
|
90
|
-
Platform["talent"] = "talentprotocol";
|
|
91
90
|
Platform["taiko"] = "taiko";
|
|
91
|
+
Platform["talent"] = "talentprotocol";
|
|
92
|
+
Platform["tally"] = "tally";
|
|
92
93
|
Platform["telegram"] = "telegram";
|
|
93
94
|
Platform["threads"] = "threads";
|
|
94
95
|
Platform["tiktok"] = "tiktok";
|
package/dist/types/platform.d.ts
CHANGED
|
@@ -84,8 +84,9 @@ export declare enum Platform {
|
|
|
84
84
|
solana = "solana",
|
|
85
85
|
space_id = "space_id",
|
|
86
86
|
stacks = "stacks",
|
|
87
|
-
talent = "talentprotocol",
|
|
88
87
|
taiko = "taiko",
|
|
88
|
+
talent = "talentprotocol",
|
|
89
|
+
tally = "tally",
|
|
89
90
|
telegram = "telegram",
|
|
90
91
|
threads = "threads",
|
|
91
92
|
tiktok = "tiktok",
|
package/dist/types/platform.js
CHANGED
|
@@ -85,8 +85,9 @@ var Platform;
|
|
|
85
85
|
Platform["solana"] = "solana";
|
|
86
86
|
Platform["space_id"] = "space_id";
|
|
87
87
|
Platform["stacks"] = "stacks";
|
|
88
|
-
Platform["talent"] = "talentprotocol";
|
|
89
88
|
Platform["taiko"] = "taiko";
|
|
89
|
+
Platform["talent"] = "talentprotocol";
|
|
90
|
+
Platform["tally"] = "tally";
|
|
90
91
|
Platform["telegram"] = "telegram";
|
|
91
92
|
Platform["threads"] = "threads";
|
|
92
93
|
Platform["tiktok"] = "tiktok";
|
package/dist/types/source.cjs
CHANGED
package/dist/types/source.d.ts
CHANGED
|
@@ -31,6 +31,7 @@ export declare enum Source {
|
|
|
31
31
|
opensea = "opensea",
|
|
32
32
|
paragraph = "paragraph",
|
|
33
33
|
particle = "particle",
|
|
34
|
+
polymarket = "polymarket",
|
|
34
35
|
rarible = "rarible",
|
|
35
36
|
rey = "rey",
|
|
36
37
|
rss3 = "rss3",
|
|
@@ -52,4 +53,5 @@ export declare enum Source {
|
|
|
52
53
|
export interface SourceType {
|
|
53
54
|
name: string;
|
|
54
55
|
description: string;
|
|
56
|
+
icon?: string;
|
|
55
57
|
}
|
package/dist/types/source.js
CHANGED
package/dist/utils/helpers.cjs
CHANGED
|
@@ -216,10 +216,31 @@ const isValidEthereumAddress = (address) => {
|
|
|
216
216
|
const isValidSolanaAddress = (address) => {
|
|
217
217
|
return regex.REGEX.SOLANA_ADDRESS.test(address);
|
|
218
218
|
};
|
|
219
|
+
/**
|
|
220
|
+
* Converts an identity string to a JSON object with platform and identity
|
|
221
|
+
* @param input The identity to convert
|
|
222
|
+
* @returns An object with platform and identity, or null if invalid
|
|
223
|
+
*
|
|
224
|
+
* @example
|
|
225
|
+
* idToJson("ens,sujiyan.eth") // { platform: "ens", identity: "sujiyan.eth" }
|
|
226
|
+
* idToJson("suji.farcaster") // { platform: "farcaster", identity: "suji" }
|
|
227
|
+
* idToJson("suji.base") // { platform: "basenames", identity: "suji.base.eth" }
|
|
228
|
+
*/
|
|
229
|
+
const idToJson = (input) => {
|
|
230
|
+
const id = resolveIdentity(input);
|
|
231
|
+
if (!id)
|
|
232
|
+
return null;
|
|
233
|
+
const [_platform, _idenitty] = id.split(",");
|
|
234
|
+
return {
|
|
235
|
+
platform: _platform,
|
|
236
|
+
identity: _idenitty,
|
|
237
|
+
};
|
|
238
|
+
};
|
|
219
239
|
|
|
220
240
|
exports.PROD_API_ENDPOINT = PROD_API_ENDPOINT;
|
|
221
241
|
exports.detectPlatform = detectPlatform;
|
|
222
242
|
exports.getApiKey = getApiKey;
|
|
243
|
+
exports.idToJson = idToJson;
|
|
223
244
|
exports.isSameAddress = isSameAddress;
|
|
224
245
|
exports.isSupportedPlatform = isSupportedPlatform;
|
|
225
246
|
exports.isValidEthereumAddress = isValidEthereumAddress;
|
package/dist/utils/helpers.d.ts
CHANGED
|
@@ -60,3 +60,17 @@ export declare const isValidEthereumAddress: (address: string) => boolean;
|
|
|
60
60
|
* @returns True if the string is a valid Solana address, false otherwise
|
|
61
61
|
*/
|
|
62
62
|
export declare const isValidSolanaAddress: (address: string) => boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Converts an identity string to a JSON object with platform and identity
|
|
65
|
+
* @param input The identity to convert
|
|
66
|
+
* @returns An object with platform and identity, or null if invalid
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* idToJson("ens,sujiyan.eth") // { platform: "ens", identity: "sujiyan.eth" }
|
|
70
|
+
* idToJson("suji.farcaster") // { platform: "farcaster", identity: "suji" }
|
|
71
|
+
* idToJson("suji.base") // { platform: "basenames", identity: "suji.base.eth" }
|
|
72
|
+
*/
|
|
73
|
+
export declare const idToJson: (input: string) => {
|
|
74
|
+
platform: Platform;
|
|
75
|
+
identity: string;
|
|
76
|
+
} | null;
|
package/dist/utils/helpers.js
CHANGED
|
@@ -214,5 +214,25 @@ const isValidEthereumAddress = (address) => {
|
|
|
214
214
|
const isValidSolanaAddress = (address) => {
|
|
215
215
|
return REGEX.SOLANA_ADDRESS.test(address);
|
|
216
216
|
};
|
|
217
|
+
/**
|
|
218
|
+
* Converts an identity string to a JSON object with platform and identity
|
|
219
|
+
* @param input The identity to convert
|
|
220
|
+
* @returns An object with platform and identity, or null if invalid
|
|
221
|
+
*
|
|
222
|
+
* @example
|
|
223
|
+
* idToJson("ens,sujiyan.eth") // { platform: "ens", identity: "sujiyan.eth" }
|
|
224
|
+
* idToJson("suji.farcaster") // { platform: "farcaster", identity: "suji" }
|
|
225
|
+
* idToJson("suji.base") // { platform: "basenames", identity: "suji.base.eth" }
|
|
226
|
+
*/
|
|
227
|
+
const idToJson = (input) => {
|
|
228
|
+
const id = resolveIdentity(input);
|
|
229
|
+
if (!id)
|
|
230
|
+
return null;
|
|
231
|
+
const [_platform, _idenitty] = id.split(",");
|
|
232
|
+
return {
|
|
233
|
+
platform: _platform,
|
|
234
|
+
identity: _idenitty,
|
|
235
|
+
};
|
|
236
|
+
};
|
|
217
237
|
|
|
218
|
-
export { PROD_API_ENDPOINT, detectPlatform, getApiKey, isSameAddress, isSupportedPlatform, isValidEthereumAddress, isValidSolanaAddress, isWeb3Address, prettify, resolveIdentity, uglify };
|
|
238
|
+
export { PROD_API_ENDPOINT, detectPlatform, getApiKey, idToJson, isSameAddress, isSupportedPlatform, isValidEthereumAddress, isValidSolanaAddress, isWeb3Address, prettify, resolveIdentity, uglify };
|
package/dist/utils/index.cjs
CHANGED
|
@@ -22,6 +22,7 @@ exports.getNetwork = network.getNetwork;
|
|
|
22
22
|
exports.SOURCE_DATA = source.SOURCE_DATA;
|
|
23
23
|
exports.getSource = source.getSource;
|
|
24
24
|
exports.detectPlatform = helpers.detectPlatform;
|
|
25
|
+
exports.idToJson = helpers.idToJson;
|
|
25
26
|
exports.isSameAddress = helpers.isSameAddress;
|
|
26
27
|
exports.isSupportedPlatform = helpers.isSupportedPlatform;
|
|
27
28
|
exports.isValidEthereumAddress = helpers.isValidEthereumAddress;
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -3,4 +3,4 @@ export { REGEX } from "./regex";
|
|
|
3
3
|
export { DEFAULT_PLATFORM, PLATFORM_DATA, getPlatform } from "./platform";
|
|
4
4
|
export { NETWORK_DATA, getNetwork } from "./network";
|
|
5
5
|
export { SOURCE_DATA, getSource } from "./source";
|
|
6
|
-
export { resolveIdentity, prettify, uglify, isSupportedPlatform, detectPlatform, isSameAddress, isWeb3Address, isValidEthereumAddress, isValidSolanaAddress, } from "./helpers";
|
|
6
|
+
export { resolveIdentity, idToJson, prettify, uglify, isSupportedPlatform, detectPlatform, isSameAddress, isWeb3Address, isValidEthereumAddress, isValidSolanaAddress, } from "./helpers";
|
package/dist/utils/index.js
CHANGED
|
@@ -3,4 +3,4 @@ export { REGEX } from './regex.js';
|
|
|
3
3
|
export { DEFAULT_PLATFORM, PLATFORM_DATA, getPlatform } from './platform.js';
|
|
4
4
|
export { NETWORK_DATA, getNetwork } from './network.js';
|
|
5
5
|
export { SOURCE_DATA, getSource } from './source.js';
|
|
6
|
-
export { detectPlatform, isSameAddress, isSupportedPlatform, isValidEthereumAddress, isValidSolanaAddress, isWeb3Address, prettify, resolveIdentity, uglify } from './helpers.js';
|
|
6
|
+
export { detectPlatform, idToJson, isSameAddress, isSupportedPlatform, isValidEthereumAddress, isValidSolanaAddress, isWeb3Address, prettify, resolveIdentity, uglify } from './helpers.js';
|
package/dist/utils/platform.cjs
CHANGED
|
@@ -799,6 +799,15 @@ const PLATFORM_DATA = new Map([
|
|
|
799
799
|
urlPrefix: "https://app.talentprotocol.com/",
|
|
800
800
|
},
|
|
801
801
|
],
|
|
802
|
+
[
|
|
803
|
+
platform.Platform.tally,
|
|
804
|
+
{
|
|
805
|
+
color: "#735BFF",
|
|
806
|
+
icon: "icons/icon-tally.svg",
|
|
807
|
+
label: "Tally",
|
|
808
|
+
urlPrefix: "https://www.tally.xyz/profile/",
|
|
809
|
+
},
|
|
810
|
+
],
|
|
802
811
|
[
|
|
803
812
|
platform.Platform.telegram,
|
|
804
813
|
{
|
package/dist/utils/platform.js
CHANGED
|
@@ -797,6 +797,15 @@ const PLATFORM_DATA = new Map([
|
|
|
797
797
|
urlPrefix: "https://app.talentprotocol.com/",
|
|
798
798
|
},
|
|
799
799
|
],
|
|
800
|
+
[
|
|
801
|
+
Platform.tally,
|
|
802
|
+
{
|
|
803
|
+
color: "#735BFF",
|
|
804
|
+
icon: "icons/icon-tally.svg",
|
|
805
|
+
label: "Tally",
|
|
806
|
+
urlPrefix: "https://www.tally.xyz/profile/",
|
|
807
|
+
},
|
|
808
|
+
],
|
|
800
809
|
[
|
|
801
810
|
Platform.telegram,
|
|
802
811
|
{
|
package/dist/utils/source.cjs
CHANGED
|
@@ -10,6 +10,7 @@ const SOURCE_DATA = {
|
|
|
10
10
|
[source.Source.basenames]: {
|
|
11
11
|
name: "Basenames",
|
|
12
12
|
description: "The domain system on Base",
|
|
13
|
+
icon: "icons/icon-base.svg",
|
|
13
14
|
},
|
|
14
15
|
[source.Source.camp_network]: {
|
|
15
16
|
name: "Camp Network",
|
|
@@ -18,6 +19,7 @@ const SOURCE_DATA = {
|
|
|
18
19
|
[source.Source.clusters]: {
|
|
19
20
|
name: "Clusters",
|
|
20
21
|
description: "On-chain social protocol",
|
|
22
|
+
icon: "icons/icon-clusters.svg",
|
|
21
23
|
},
|
|
22
24
|
[source.Source.crowdsourcing]: {
|
|
23
25
|
name: "Crowdsourcing",
|
|
@@ -26,146 +28,187 @@ const SOURCE_DATA = {
|
|
|
26
28
|
[source.Source.dentity]: {
|
|
27
29
|
name: "Dentity",
|
|
28
30
|
description: "Digital credentials",
|
|
31
|
+
icon: "icons/icon-dentity.svg",
|
|
29
32
|
},
|
|
30
33
|
[source.Source.dotbit]: {
|
|
31
34
|
name: ".bit",
|
|
32
35
|
description: "Decentralized cross-chain identity system",
|
|
36
|
+
icon: "icons/icon-dotbit.svg",
|
|
33
37
|
},
|
|
34
38
|
[source.Source.ens]: {
|
|
35
39
|
name: "ENS",
|
|
36
40
|
description: "Ethereum Name Service",
|
|
41
|
+
icon: "icons/icon-ens.svg",
|
|
37
42
|
},
|
|
38
43
|
[source.Source.ethereum]: {
|
|
39
44
|
name: "Ethereum",
|
|
40
45
|
description: "Ethereum",
|
|
46
|
+
icon: "icons/icon-ethereum.svg",
|
|
41
47
|
},
|
|
42
48
|
[source.Source.exchange_art]: {
|
|
43
49
|
name: "Exchange Art",
|
|
44
50
|
description: "A digital art marketplace",
|
|
51
|
+
icon: "icons/icon-exchangeArt.svg",
|
|
45
52
|
},
|
|
46
53
|
[source.Source.farcaster]: {
|
|
47
54
|
name: "Farcaster",
|
|
48
55
|
description: "Decentralized social network protocol",
|
|
56
|
+
icon: "icons/icon-farcaster.svg",
|
|
49
57
|
},
|
|
50
58
|
[source.Source.firefly]: {
|
|
51
59
|
name: "Firefly",
|
|
52
60
|
description: "Web3 social platform",
|
|
61
|
+
icon: "icons/icon-firefly.svg",
|
|
53
62
|
},
|
|
54
63
|
[source.Source.foundation]: {
|
|
55
64
|
name: "Foundation",
|
|
56
65
|
description: "NFT marketplace",
|
|
66
|
+
icon: "icons/icon-foundation.svg",
|
|
57
67
|
},
|
|
58
68
|
[source.Source.gallery]: {
|
|
59
69
|
name: "Gallery",
|
|
60
70
|
description: "Show your collection to the world",
|
|
71
|
+
icon: "icons/icon-gallery.svg",
|
|
61
72
|
},
|
|
62
73
|
[source.Source.gmgn]: {
|
|
63
74
|
name: "GMGN",
|
|
64
75
|
description: "Web3 social platform",
|
|
76
|
+
icon: "icons/icon-gmgn.svg",
|
|
65
77
|
},
|
|
66
78
|
[source.Source.icebreaker]: {
|
|
67
79
|
name: "Icebreaker",
|
|
68
80
|
description: "Open professional network",
|
|
81
|
+
icon: "icons/icon-icebreaker.svg",
|
|
69
82
|
},
|
|
70
83
|
[source.Source.justaname]: {
|
|
71
84
|
name: "JustaName",
|
|
72
85
|
description: "Identity infrastructure",
|
|
86
|
+
icon: "icons/icon-justaname.svg",
|
|
73
87
|
},
|
|
74
88
|
[source.Source.keybase]: {
|
|
75
89
|
name: "Keybase",
|
|
76
90
|
description: "Secure messaging and file-sharing",
|
|
91
|
+
icon: "icons/icon-keybase.svg",
|
|
77
92
|
},
|
|
78
93
|
[source.Source.lens]: {
|
|
79
94
|
name: "Lens",
|
|
80
95
|
description: "Web3 social graph protocol",
|
|
96
|
+
icon: "icons/icon-lens.svg",
|
|
81
97
|
},
|
|
82
98
|
[source.Source.linea]: {
|
|
83
99
|
name: "Linea",
|
|
84
100
|
description: "L2 based on ZK",
|
|
101
|
+
icon: "icons/icon-linea.svg",
|
|
85
102
|
},
|
|
86
103
|
[source.Source.metopia]: {
|
|
87
104
|
name: "Metopia",
|
|
88
105
|
description: "Web3 identity & learning platform",
|
|
106
|
+
icon: "icons/icon-metopia.svg",
|
|
89
107
|
},
|
|
90
108
|
[source.Source.mirror]: {
|
|
91
109
|
name: "Mirror",
|
|
92
110
|
description: "Decentralized publishing protocol",
|
|
111
|
+
icon: "icons/icon-mirror.svg",
|
|
93
112
|
},
|
|
94
113
|
[source.Source.nextid]: {
|
|
95
114
|
name: "Next.ID",
|
|
96
115
|
description: "Decentralized identity protocol",
|
|
116
|
+
icon: "icons/icon-nextid.svg",
|
|
97
117
|
},
|
|
98
118
|
[source.Source.nftd]: {
|
|
99
119
|
name: "NF.TD",
|
|
100
120
|
description: "Be your own checkmark",
|
|
121
|
+
icon: "icons/icon-nftd.svg",
|
|
101
122
|
},
|
|
102
123
|
[source.Source.nostr]: {
|
|
103
124
|
name: "Nostr",
|
|
104
125
|
description: "Web3 social platform",
|
|
126
|
+
icon: "icons/icon-nostr.svg",
|
|
105
127
|
},
|
|
106
128
|
[source.Source.opensea]: {
|
|
107
129
|
name: "OpenSea",
|
|
108
130
|
description: "NFT marketplace",
|
|
131
|
+
icon: "icons/icon-opensea.svg",
|
|
109
132
|
},
|
|
110
133
|
[source.Source.paragraph]: {
|
|
111
134
|
name: "Paragraph",
|
|
112
135
|
description: "Decentralized publishing protocol",
|
|
136
|
+
icon: "icons/icon-paragraph.svg",
|
|
113
137
|
},
|
|
114
138
|
[source.Source.particle]: {
|
|
115
139
|
name: "Particle",
|
|
116
140
|
description: "Particle",
|
|
141
|
+
icon: "icons/icon-particle.svg",
|
|
142
|
+
},
|
|
143
|
+
[source.Source.polymarket]: {
|
|
144
|
+
name: "Polymarket",
|
|
145
|
+
description: "Decentralized prediction market",
|
|
146
|
+
icon: "icons/icon-polymarket.svg",
|
|
117
147
|
},
|
|
118
148
|
[source.Source.rarible]: {
|
|
119
149
|
name: "Rarible",
|
|
120
150
|
description: "NFT marketplace",
|
|
151
|
+
icon: "icons/icon-rarible.svg",
|
|
121
152
|
},
|
|
122
153
|
[source.Source.rey]: {
|
|
123
154
|
name: "Rey",
|
|
124
155
|
description: "The world's attention marketplace",
|
|
156
|
+
icon: "icons/icon-rey.svg",
|
|
125
157
|
},
|
|
126
158
|
[source.Source.rss3]: {
|
|
127
159
|
name: "RSS3",
|
|
128
160
|
description: "Open information syndication protocol",
|
|
161
|
+
icon: "icons/icon-rss3.svg",
|
|
129
162
|
},
|
|
130
163
|
[source.Source.seekerid]: {
|
|
131
164
|
name: "Seeker ID",
|
|
132
165
|
description: "Solana Mobile Identity",
|
|
166
|
+
icon: "icons/icon-seekerid.svg",
|
|
133
167
|
},
|
|
134
168
|
[source.Source.sns]: {
|
|
135
169
|
name: "SNS",
|
|
136
170
|
description: "Solana Name Service",
|
|
171
|
+
icon: "icons/icon-sns.svg",
|
|
137
172
|
},
|
|
138
173
|
[source.Source.solana]: {
|
|
139
174
|
name: "Solana",
|
|
140
175
|
description: "High-performance blockchain",
|
|
176
|
+
icon: "icons/icon-solana.svg",
|
|
141
177
|
},
|
|
142
178
|
[source.Source.soundxyz]: {
|
|
143
179
|
name: "Sound.xyz",
|
|
144
180
|
description: "Decentralized audio platform",
|
|
181
|
+
icon: "icons/icon-soundxyz.svg",
|
|
145
182
|
},
|
|
146
183
|
[source.Source.space_id]: {
|
|
147
184
|
name: "SpaceID",
|
|
148
185
|
description: "Multi-chain name service",
|
|
186
|
+
icon: "icons/icon-spaceid.svg",
|
|
149
187
|
},
|
|
150
188
|
[source.Source.talentprotocol]: {
|
|
151
189
|
name: "Talent",
|
|
152
190
|
description: "Decentralized onchain passport",
|
|
191
|
+
icon: "icons/icon-talent.svg",
|
|
153
192
|
},
|
|
154
193
|
[source.Source.tally]: {
|
|
155
194
|
name: "Tally",
|
|
156
195
|
description: "Launch, manage, and grow the value of your token",
|
|
196
|
+
icon: "icons/icon-tally.svg",
|
|
157
197
|
},
|
|
158
198
|
[source.Source.twitter]: {
|
|
159
199
|
name: "Twitter (X)",
|
|
160
200
|
description: "Twitter (X) social platform",
|
|
201
|
+
icon: "icons/icon-x.svg",
|
|
161
202
|
},
|
|
162
203
|
[source.Source.unstoppabledomains]: {
|
|
163
204
|
name: "Unstoppable Domains",
|
|
164
205
|
description: "Blockchain domain name provider",
|
|
206
|
+
icon: "icons/icon-unstoppabledomains.svg",
|
|
165
207
|
},
|
|
166
208
|
[source.Source.zora]: {
|
|
167
209
|
name: "Zora",
|
|
168
210
|
description: "A social network where every post is a coin",
|
|
211
|
+
icon: "icons/icon-zora.svg",
|
|
169
212
|
},
|
|
170
213
|
};
|
|
171
214
|
/**
|
package/dist/utils/source.js
CHANGED
|
@@ -8,6 +8,7 @@ const SOURCE_DATA = {
|
|
|
8
8
|
[Source.basenames]: {
|
|
9
9
|
name: "Basenames",
|
|
10
10
|
description: "The domain system on Base",
|
|
11
|
+
icon: "icons/icon-base.svg",
|
|
11
12
|
},
|
|
12
13
|
[Source.camp_network]: {
|
|
13
14
|
name: "Camp Network",
|
|
@@ -16,6 +17,7 @@ const SOURCE_DATA = {
|
|
|
16
17
|
[Source.clusters]: {
|
|
17
18
|
name: "Clusters",
|
|
18
19
|
description: "On-chain social protocol",
|
|
20
|
+
icon: "icons/icon-clusters.svg",
|
|
19
21
|
},
|
|
20
22
|
[Source.crowdsourcing]: {
|
|
21
23
|
name: "Crowdsourcing",
|
|
@@ -24,146 +26,187 @@ const SOURCE_DATA = {
|
|
|
24
26
|
[Source.dentity]: {
|
|
25
27
|
name: "Dentity",
|
|
26
28
|
description: "Digital credentials",
|
|
29
|
+
icon: "icons/icon-dentity.svg",
|
|
27
30
|
},
|
|
28
31
|
[Source.dotbit]: {
|
|
29
32
|
name: ".bit",
|
|
30
33
|
description: "Decentralized cross-chain identity system",
|
|
34
|
+
icon: "icons/icon-dotbit.svg",
|
|
31
35
|
},
|
|
32
36
|
[Source.ens]: {
|
|
33
37
|
name: "ENS",
|
|
34
38
|
description: "Ethereum Name Service",
|
|
39
|
+
icon: "icons/icon-ens.svg",
|
|
35
40
|
},
|
|
36
41
|
[Source.ethereum]: {
|
|
37
42
|
name: "Ethereum",
|
|
38
43
|
description: "Ethereum",
|
|
44
|
+
icon: "icons/icon-ethereum.svg",
|
|
39
45
|
},
|
|
40
46
|
[Source.exchange_art]: {
|
|
41
47
|
name: "Exchange Art",
|
|
42
48
|
description: "A digital art marketplace",
|
|
49
|
+
icon: "icons/icon-exchangeArt.svg",
|
|
43
50
|
},
|
|
44
51
|
[Source.farcaster]: {
|
|
45
52
|
name: "Farcaster",
|
|
46
53
|
description: "Decentralized social network protocol",
|
|
54
|
+
icon: "icons/icon-farcaster.svg",
|
|
47
55
|
},
|
|
48
56
|
[Source.firefly]: {
|
|
49
57
|
name: "Firefly",
|
|
50
58
|
description: "Web3 social platform",
|
|
59
|
+
icon: "icons/icon-firefly.svg",
|
|
51
60
|
},
|
|
52
61
|
[Source.foundation]: {
|
|
53
62
|
name: "Foundation",
|
|
54
63
|
description: "NFT marketplace",
|
|
64
|
+
icon: "icons/icon-foundation.svg",
|
|
55
65
|
},
|
|
56
66
|
[Source.gallery]: {
|
|
57
67
|
name: "Gallery",
|
|
58
68
|
description: "Show your collection to the world",
|
|
69
|
+
icon: "icons/icon-gallery.svg",
|
|
59
70
|
},
|
|
60
71
|
[Source.gmgn]: {
|
|
61
72
|
name: "GMGN",
|
|
62
73
|
description: "Web3 social platform",
|
|
74
|
+
icon: "icons/icon-gmgn.svg",
|
|
63
75
|
},
|
|
64
76
|
[Source.icebreaker]: {
|
|
65
77
|
name: "Icebreaker",
|
|
66
78
|
description: "Open professional network",
|
|
79
|
+
icon: "icons/icon-icebreaker.svg",
|
|
67
80
|
},
|
|
68
81
|
[Source.justaname]: {
|
|
69
82
|
name: "JustaName",
|
|
70
83
|
description: "Identity infrastructure",
|
|
84
|
+
icon: "icons/icon-justaname.svg",
|
|
71
85
|
},
|
|
72
86
|
[Source.keybase]: {
|
|
73
87
|
name: "Keybase",
|
|
74
88
|
description: "Secure messaging and file-sharing",
|
|
89
|
+
icon: "icons/icon-keybase.svg",
|
|
75
90
|
},
|
|
76
91
|
[Source.lens]: {
|
|
77
92
|
name: "Lens",
|
|
78
93
|
description: "Web3 social graph protocol",
|
|
94
|
+
icon: "icons/icon-lens.svg",
|
|
79
95
|
},
|
|
80
96
|
[Source.linea]: {
|
|
81
97
|
name: "Linea",
|
|
82
98
|
description: "L2 based on ZK",
|
|
99
|
+
icon: "icons/icon-linea.svg",
|
|
83
100
|
},
|
|
84
101
|
[Source.metopia]: {
|
|
85
102
|
name: "Metopia",
|
|
86
103
|
description: "Web3 identity & learning platform",
|
|
104
|
+
icon: "icons/icon-metopia.svg",
|
|
87
105
|
},
|
|
88
106
|
[Source.mirror]: {
|
|
89
107
|
name: "Mirror",
|
|
90
108
|
description: "Decentralized publishing protocol",
|
|
109
|
+
icon: "icons/icon-mirror.svg",
|
|
91
110
|
},
|
|
92
111
|
[Source.nextid]: {
|
|
93
112
|
name: "Next.ID",
|
|
94
113
|
description: "Decentralized identity protocol",
|
|
114
|
+
icon: "icons/icon-nextid.svg",
|
|
95
115
|
},
|
|
96
116
|
[Source.nftd]: {
|
|
97
117
|
name: "NF.TD",
|
|
98
118
|
description: "Be your own checkmark",
|
|
119
|
+
icon: "icons/icon-nftd.svg",
|
|
99
120
|
},
|
|
100
121
|
[Source.nostr]: {
|
|
101
122
|
name: "Nostr",
|
|
102
123
|
description: "Web3 social platform",
|
|
124
|
+
icon: "icons/icon-nostr.svg",
|
|
103
125
|
},
|
|
104
126
|
[Source.opensea]: {
|
|
105
127
|
name: "OpenSea",
|
|
106
128
|
description: "NFT marketplace",
|
|
129
|
+
icon: "icons/icon-opensea.svg",
|
|
107
130
|
},
|
|
108
131
|
[Source.paragraph]: {
|
|
109
132
|
name: "Paragraph",
|
|
110
133
|
description: "Decentralized publishing protocol",
|
|
134
|
+
icon: "icons/icon-paragraph.svg",
|
|
111
135
|
},
|
|
112
136
|
[Source.particle]: {
|
|
113
137
|
name: "Particle",
|
|
114
138
|
description: "Particle",
|
|
139
|
+
icon: "icons/icon-particle.svg",
|
|
140
|
+
},
|
|
141
|
+
[Source.polymarket]: {
|
|
142
|
+
name: "Polymarket",
|
|
143
|
+
description: "Decentralized prediction market",
|
|
144
|
+
icon: "icons/icon-polymarket.svg",
|
|
115
145
|
},
|
|
116
146
|
[Source.rarible]: {
|
|
117
147
|
name: "Rarible",
|
|
118
148
|
description: "NFT marketplace",
|
|
149
|
+
icon: "icons/icon-rarible.svg",
|
|
119
150
|
},
|
|
120
151
|
[Source.rey]: {
|
|
121
152
|
name: "Rey",
|
|
122
153
|
description: "The world's attention marketplace",
|
|
154
|
+
icon: "icons/icon-rey.svg",
|
|
123
155
|
},
|
|
124
156
|
[Source.rss3]: {
|
|
125
157
|
name: "RSS3",
|
|
126
158
|
description: "Open information syndication protocol",
|
|
159
|
+
icon: "icons/icon-rss3.svg",
|
|
127
160
|
},
|
|
128
161
|
[Source.seekerid]: {
|
|
129
162
|
name: "Seeker ID",
|
|
130
163
|
description: "Solana Mobile Identity",
|
|
164
|
+
icon: "icons/icon-seekerid.svg",
|
|
131
165
|
},
|
|
132
166
|
[Source.sns]: {
|
|
133
167
|
name: "SNS",
|
|
134
168
|
description: "Solana Name Service",
|
|
169
|
+
icon: "icons/icon-sns.svg",
|
|
135
170
|
},
|
|
136
171
|
[Source.solana]: {
|
|
137
172
|
name: "Solana",
|
|
138
173
|
description: "High-performance blockchain",
|
|
174
|
+
icon: "icons/icon-solana.svg",
|
|
139
175
|
},
|
|
140
176
|
[Source.soundxyz]: {
|
|
141
177
|
name: "Sound.xyz",
|
|
142
178
|
description: "Decentralized audio platform",
|
|
179
|
+
icon: "icons/icon-soundxyz.svg",
|
|
143
180
|
},
|
|
144
181
|
[Source.space_id]: {
|
|
145
182
|
name: "SpaceID",
|
|
146
183
|
description: "Multi-chain name service",
|
|
184
|
+
icon: "icons/icon-spaceid.svg",
|
|
147
185
|
},
|
|
148
186
|
[Source.talentprotocol]: {
|
|
149
187
|
name: "Talent",
|
|
150
188
|
description: "Decentralized onchain passport",
|
|
189
|
+
icon: "icons/icon-talent.svg",
|
|
151
190
|
},
|
|
152
191
|
[Source.tally]: {
|
|
153
192
|
name: "Tally",
|
|
154
193
|
description: "Launch, manage, and grow the value of your token",
|
|
194
|
+
icon: "icons/icon-tally.svg",
|
|
155
195
|
},
|
|
156
196
|
[Source.twitter]: {
|
|
157
197
|
name: "Twitter (X)",
|
|
158
198
|
description: "Twitter (X) social platform",
|
|
199
|
+
icon: "icons/icon-x.svg",
|
|
159
200
|
},
|
|
160
201
|
[Source.unstoppabledomains]: {
|
|
161
202
|
name: "Unstoppable Domains",
|
|
162
203
|
description: "Blockchain domain name provider",
|
|
204
|
+
icon: "icons/icon-unstoppabledomains.svg",
|
|
163
205
|
},
|
|
164
206
|
[Source.zora]: {
|
|
165
207
|
name: "Zora",
|
|
166
208
|
description: "A social network where every post is a coin",
|
|
209
|
+
icon: "icons/icon-zora.svg",
|
|
167
210
|
},
|
|
168
211
|
};
|
|
169
212
|
/**
|