@dialectlabs/identity-dialect-dapps
Advanced tools
+11
| export interface Dapp { | ||
| publicKey: string; | ||
| name: string; | ||
| description?: string; | ||
| avatarUrl?: string; | ||
| verified: boolean; | ||
| } | ||
| export async function fetchAllDapps(baseUrl: string): Promise<Dapp[]> { | ||
| return fetch(`${baseUrl}/api/v1/dapps?verified=true`).then((it) => it.json()); | ||
| } |
| import type { | ||
| AccountAddress, | ||
| Identity, | ||
| IdentityResolver, | ||
| } from '@dialectlabs/sdk'; | ||
| import { Dapp, fetchAllDapps } from './api'; | ||
| export class DialectDappsIdentityResolver implements IdentityResolver { | ||
| // public key to identity | ||
| dappsCached?: Record<string, Identity>; | ||
| dappsData?: Promise<Dapp[]>; | ||
| constructor(private readonly baseUrl: string = 'https://dialectapi.to') {} | ||
| get type(): string { | ||
| return 'DIALECT_DAPPS'; | ||
| } | ||
| async resolve(address: AccountAddress): Promise<Identity | null> { | ||
| if (!this.dappsCached) { | ||
| if (this.dappsData) { | ||
| await this.dappsData; | ||
| } else { | ||
| this.dappsData = fetchAllDapps(this.baseUrl); | ||
| } | ||
| this.dappsCached = (await this.dappsData).reduce((acc, it) => { | ||
| acc[it.publicKey] = { | ||
| type: this.type, | ||
| address: it.publicKey, | ||
| name: it.name, | ||
| additionals: { | ||
| avatarUrl: it.avatarUrl, | ||
| description: it.description, | ||
| verified: it.verified, | ||
| }, | ||
| }; | ||
| return acc; | ||
| }, {} as Record<string, Identity>); | ||
| } | ||
| return this.dappsCached[address] || null; | ||
| } | ||
| async resolveReverse(domainName: string): Promise<Identity | null> { | ||
| return null; | ||
| } | ||
| } |
| export * from './identity-dialect-dapps'; |
@@ -5,3 +5,2 @@ "use strict"; | ||
| const tslib_1 = require("tslib"); | ||
| const web3_js_1 = require("@solana/web3.js"); | ||
| const api_1 = require("./api"); | ||
@@ -15,3 +14,3 @@ class DialectDappsIdentityResolver { | ||
| } | ||
| resolve(publicKey) { | ||
| resolve(address) { | ||
| return tslib_1.__awaiter(this, void 0, void 0, function* () { | ||
@@ -28,3 +27,3 @@ if (!this.dappsCached) { | ||
| type: this.type, | ||
| publicKey: new web3_js_1.PublicKey(it.publicKey), | ||
| address: it.publicKey, | ||
| name: it.name, | ||
@@ -40,3 +39,3 @@ additionals: { | ||
| } | ||
| return this.dappsCached[publicKey.toString()] || null; | ||
| return this.dappsCached[address] || null; | ||
| }); | ||
@@ -43,0 +42,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"identity-dialect-dapps.js","sourceRoot":"","sources":["../../src/identity-dialect-dapps.ts"],"names":[],"mappings":";;;;AACA,6CAA4C;AAC5C,+BAA4C;AAE5C,MAAa,4BAA4B;IAKvC,YAA6B,UAAkB,uBAAuB;QAAzC,YAAO,GAAP,OAAO,CAAkC;IAAG,CAAC;IAE1E,IAAI,IAAI;QACN,OAAO,eAAe,CAAC;IACzB,CAAC;IAEK,OAAO,CAAC,SAAoB;;YAChC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,IAAI,IAAI,CAAC,SAAS,EAAE;oBAClB,MAAM,IAAI,CAAC,SAAS,CAAC;iBACtB;qBAAM;oBACL,IAAI,CAAC,SAAS,GAAG,IAAA,mBAAa,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC9C;gBACD,IAAI,CAAC,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;oBAC3D,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG;wBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,SAAS,EAAE,IAAI,mBAAS,CAAC,EAAE,CAAC,SAAS,CAAC;wBACtC,IAAI,EAAE,EAAE,CAAC,IAAI;wBACb,WAAW,EAAE;4BACX,SAAS,EAAE,EAAE,CAAC,SAAS;4BACvB,WAAW,EAAE,EAAE,CAAC,WAAW;4BAC3B,QAAQ,EAAE,EAAE,CAAC,QAAQ;yBACtB;qBACF,CAAC;oBACF,OAAO,GAAG,CAAC;gBACb,CAAC,EAAE,EAA8B,CAAC,CAAC;aACpC;YACD,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC;QACxD,CAAC;KAAA;IAEK,cAAc,CAAC,UAAkB;;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;CACF;AAtCD,oEAsCC","sourcesContent":["import type { Identity, IdentityResolver } from '@dialectlabs/sdk';\nimport { PublicKey } from '@solana/web3.js';\nimport { Dapp, fetchAllDapps } from './api';\n\nexport class DialectDappsIdentityResolver implements IdentityResolver {\n // public key to identity\n dappsCached?: Record<string, Identity>;\n dappsData?: Promise<Dapp[]>;\n\n constructor(private readonly baseUrl: string = 'https://dialectapi.to') {}\n\n get type(): string {\n return 'DIALECT_DAPPS';\n }\n\n async resolve(publicKey: PublicKey): Promise<Identity | null> {\n if (!this.dappsCached) {\n if (this.dappsData) {\n await this.dappsData;\n } else {\n this.dappsData = fetchAllDapps(this.baseUrl);\n }\n this.dappsCached = (await this.dappsData).reduce((acc, it) => {\n acc[it.publicKey] = {\n type: this.type,\n publicKey: new PublicKey(it.publicKey),\n name: it.name,\n additionals: {\n avatarUrl: it.avatarUrl,\n description: it.description,\n verified: it.verified,\n },\n };\n return acc;\n }, {} as Record<string, Identity>);\n }\n return this.dappsCached[publicKey.toString()] || null;\n }\n\n async resolveReverse(domainName: string): Promise<Identity | null> {\n return null;\n }\n}\n"]} | ||
| {"version":3,"file":"identity-dialect-dapps.js","sourceRoot":"","sources":["../../src/identity-dialect-dapps.ts"],"names":[],"mappings":";;;;AAKA,+BAA4C;AAE5C,MAAa,4BAA4B;IAKvC,YAA6B,UAAkB,uBAAuB;QAAzC,YAAO,GAAP,OAAO,CAAkC;IAAG,CAAC;IAE1E,IAAI,IAAI;QACN,OAAO,eAAe,CAAC;IACzB,CAAC;IAEK,OAAO,CAAC,OAAuB;;YACnC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,IAAI,IAAI,CAAC,SAAS,EAAE;oBAClB,MAAM,IAAI,CAAC,SAAS,CAAC;iBACtB;qBAAM;oBACL,IAAI,CAAC,SAAS,GAAG,IAAA,mBAAa,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC9C;gBACD,IAAI,CAAC,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;oBAC3D,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG;wBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,OAAO,EAAE,EAAE,CAAC,SAAS;wBACrB,IAAI,EAAE,EAAE,CAAC,IAAI;wBACb,WAAW,EAAE;4BACX,SAAS,EAAE,EAAE,CAAC,SAAS;4BACvB,WAAW,EAAE,EAAE,CAAC,WAAW;4BAC3B,QAAQ,EAAE,EAAE,CAAC,QAAQ;yBACtB;qBACF,CAAC;oBACF,OAAO,GAAG,CAAC;gBACb,CAAC,EAAE,EAA8B,CAAC,CAAC;aACpC;YACD,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;QAC3C,CAAC;KAAA;IAEK,cAAc,CAAC,UAAkB;;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;CACF;AAtCD,oEAsCC","sourcesContent":["import type {\n AccountAddress,\n Identity,\n IdentityResolver,\n} from '@dialectlabs/sdk';\nimport { Dapp, fetchAllDapps } from './api';\n\nexport class DialectDappsIdentityResolver implements IdentityResolver {\n // public key to identity\n dappsCached?: Record<string, Identity>;\n dappsData?: Promise<Dapp[]>;\n\n constructor(private readonly baseUrl: string = 'https://dialectapi.to') {}\n\n get type(): string {\n return 'DIALECT_DAPPS';\n }\n\n async resolve(address: AccountAddress): Promise<Identity | null> {\n if (!this.dappsCached) {\n if (this.dappsData) {\n await this.dappsData;\n } else {\n this.dappsData = fetchAllDapps(this.baseUrl);\n }\n this.dappsCached = (await this.dappsData).reduce((acc, it) => {\n acc[it.publicKey] = {\n type: this.type,\n address: it.publicKey,\n name: it.name,\n additionals: {\n avatarUrl: it.avatarUrl,\n description: it.description,\n verified: it.verified,\n },\n };\n return acc;\n }, {} as Record<string, Identity>);\n }\n return this.dappsCached[address] || null;\n }\n\n async resolveReverse(domainName: string): Promise<Identity | null> {\n return null;\n }\n}\n"]} |
@@ -1,2 +0,1 @@ | ||
| import { PublicKey } from '@solana/web3.js'; | ||
| import { fetchAllDapps } from './api'; | ||
@@ -10,3 +9,3 @@ export class DialectDappsIdentityResolver { | ||
| } | ||
| async resolve(publicKey) { | ||
| async resolve(address) { | ||
| if (!this.dappsCached) { | ||
@@ -22,3 +21,3 @@ if (this.dappsData) { | ||
| type: this.type, | ||
| publicKey: new PublicKey(it.publicKey), | ||
| address: it.publicKey, | ||
| name: it.name, | ||
@@ -34,3 +33,3 @@ additionals: { | ||
| } | ||
| return this.dappsCached[publicKey.toString()] || null; | ||
| return this.dappsCached[address] || null; | ||
| } | ||
@@ -37,0 +36,0 @@ async resolveReverse(domainName) { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"identity-dialect-dapps.js","sourceRoot":"","sources":["../../src/identity-dialect-dapps.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAQ,aAAa,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,OAAO,4BAA4B;IAKvC,YAA6B,UAAkB,uBAAuB;QAAzC,YAAO,GAAP,OAAO,CAAkC;IAAG,CAAC;IAE1E,IAAI,IAAI;QACN,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAoB;QAChC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,MAAM,IAAI,CAAC,SAAS,CAAC;aACtB;iBAAM;gBACL,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC9C;YACD,IAAI,CAAC,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;gBAC3D,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG;oBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,SAAS,EAAE,IAAI,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC;oBACtC,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,WAAW,EAAE;wBACX,SAAS,EAAE,EAAE,CAAC,SAAS;wBACvB,WAAW,EAAE,EAAE,CAAC,WAAW;wBAC3B,QAAQ,EAAE,EAAE,CAAC,QAAQ;qBACtB;iBACF,CAAC;gBACF,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAA8B,CAAC,CAAC;SACpC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,UAAkB;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;CACF","sourcesContent":["import type { Identity, IdentityResolver } from '@dialectlabs/sdk';\nimport { PublicKey } from '@solana/web3.js';\nimport { Dapp, fetchAllDapps } from './api';\n\nexport class DialectDappsIdentityResolver implements IdentityResolver {\n // public key to identity\n dappsCached?: Record<string, Identity>;\n dappsData?: Promise<Dapp[]>;\n\n constructor(private readonly baseUrl: string = 'https://dialectapi.to') {}\n\n get type(): string {\n return 'DIALECT_DAPPS';\n }\n\n async resolve(publicKey: PublicKey): Promise<Identity | null> {\n if (!this.dappsCached) {\n if (this.dappsData) {\n await this.dappsData;\n } else {\n this.dappsData = fetchAllDapps(this.baseUrl);\n }\n this.dappsCached = (await this.dappsData).reduce((acc, it) => {\n acc[it.publicKey] = {\n type: this.type,\n publicKey: new PublicKey(it.publicKey),\n name: it.name,\n additionals: {\n avatarUrl: it.avatarUrl,\n description: it.description,\n verified: it.verified,\n },\n };\n return acc;\n }, {} as Record<string, Identity>);\n }\n return this.dappsCached[publicKey.toString()] || null;\n }\n\n async resolveReverse(domainName: string): Promise<Identity | null> {\n return null;\n }\n}\n"]} | ||
| {"version":3,"file":"identity-dialect-dapps.js","sourceRoot":"","sources":["../../src/identity-dialect-dapps.ts"],"names":[],"mappings":"AAKA,OAAO,EAAQ,aAAa,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,OAAO,4BAA4B;IAKvC,YAA6B,UAAkB,uBAAuB;QAAzC,YAAO,GAAP,OAAO,CAAkC;IAAG,CAAC;IAE1E,IAAI,IAAI;QACN,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,MAAM,IAAI,CAAC,SAAS,CAAC;aACtB;iBAAM;gBACL,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC9C;YACD,IAAI,CAAC,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;gBAC3D,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG;oBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,OAAO,EAAE,EAAE,CAAC,SAAS;oBACrB,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,WAAW,EAAE;wBACX,SAAS,EAAE,EAAE,CAAC,SAAS;wBACvB,WAAW,EAAE,EAAE,CAAC,WAAW;wBAC3B,QAAQ,EAAE,EAAE,CAAC,QAAQ;qBACtB;iBACF,CAAC;gBACF,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAA8B,CAAC,CAAC;SACpC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,UAAkB;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;CACF","sourcesContent":["import type {\n AccountAddress,\n Identity,\n IdentityResolver,\n} from '@dialectlabs/sdk';\nimport { Dapp, fetchAllDapps } from './api';\n\nexport class DialectDappsIdentityResolver implements IdentityResolver {\n // public key to identity\n dappsCached?: Record<string, Identity>;\n dappsData?: Promise<Dapp[]>;\n\n constructor(private readonly baseUrl: string = 'https://dialectapi.to') {}\n\n get type(): string {\n return 'DIALECT_DAPPS';\n }\n\n async resolve(address: AccountAddress): Promise<Identity | null> {\n if (!this.dappsCached) {\n if (this.dappsData) {\n await this.dappsData;\n } else {\n this.dappsData = fetchAllDapps(this.baseUrl);\n }\n this.dappsCached = (await this.dappsData).reduce((acc, it) => {\n acc[it.publicKey] = {\n type: this.type,\n address: it.publicKey,\n name: it.name,\n additionals: {\n avatarUrl: it.avatarUrl,\n description: it.description,\n verified: it.verified,\n },\n };\n return acc;\n }, {} as Record<string, Identity>);\n }\n return this.dappsCached[address] || null;\n }\n\n async resolveReverse(domainName: string): Promise<Identity | null> {\n return null;\n }\n}\n"]} |
@@ -1,3 +0,2 @@ | ||
| import type { Identity, IdentityResolver } from '@dialectlabs/sdk'; | ||
| import { PublicKey } from '@solana/web3.js'; | ||
| import type { AccountAddress, Identity, IdentityResolver } from '@dialectlabs/sdk'; | ||
| import { Dapp } from './api'; | ||
@@ -10,5 +9,5 @@ export declare class DialectDappsIdentityResolver implements IdentityResolver { | ||
| get type(): string; | ||
| resolve(publicKey: PublicKey): Promise<Identity | null>; | ||
| resolve(address: AccountAddress): Promise<Identity | null>; | ||
| resolveReverse(domainName: string): Promise<Identity | null>; | ||
| } | ||
| //# sourceMappingURL=identity-dialect-dapps.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"identity-dialect-dapps.d.ts","sourceRoot":"","sources":["../../src/identity-dialect-dapps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAiB,MAAM,OAAO,CAAC;AAE5C,qBAAa,4BAA6B,YAAW,gBAAgB;IAKvD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBAEC,OAAO,GAAE,MAAgC;IAEtE,IAAI,IAAI,IAAI,MAAM,CAEjB;IAEK,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAwBvD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAGnE"} | ||
| {"version":3,"file":"identity-dialect-dapps.d.ts","sourceRoot":"","sources":["../../src/identity-dialect-dapps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,QAAQ,EACR,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAiB,MAAM,OAAO,CAAC;AAE5C,qBAAa,4BAA6B,YAAW,gBAAgB;IAKvD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBAEC,OAAO,GAAE,MAAgC;IAEtE,IAAI,IAAI,IAAI,MAAM,CAEjB;IAEK,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAwB1D,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAGnE"} |
+3
-2
| { | ||
| "name": "@dialectlabs/identity-dialect-dapps", | ||
| "version": "0.0.1", | ||
| "version": "1.0.0-beta.1", | ||
| "repository": "git@github.com:dialectlabs/sdk.git", | ||
@@ -21,3 +21,4 @@ "author": "dialectlabs", | ||
| "build:esm:watch": "concurrently \"tsc --project tsconfig.esm.json --watch\"", | ||
| "dev": "yarn clean && concurrently \"npm:build:cjs:watch\" \"npm:build:esm:watch\"" | ||
| "dev": "yarn clean && concurrently \"npm:build:cjs:watch\" \"npm:build:esm:watch\"", | ||
| "test": "jest --passWithNoTests" | ||
| }, | ||
@@ -24,0 +25,0 @@ "peerDependencies": { |
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
15293
8.28%25
13.64%214
29.7%4
100%