@pezkuwi/extension-chains 0.62.14 → 0.62.19
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/build/README.md +3 -0
- package/build/bundle.js +58 -0
- package/build/cjs/bundle.d.ts +7 -0
- package/build/cjs/bundle.js +66 -0
- package/build/cjs/index.js +4 -0
- package/build/cjs/packageInfo.js +4 -0
- package/build/cjs/types.js +2 -0
- package/build/index.d.ts +1 -0
- package/build/index.js +1 -0
- package/build/package.json +128 -0
- package/build/packageDetect.d.ts +1 -0
- package/build/packageDetect.js +4 -0
- package/build/packageInfo.d.ts +6 -0
- package/build/packageInfo.js +1 -0
- package/build/types.d.ts +16 -0
- package/build/types.js +1 -0
- package/build-tsc-cjs/packageDetect.js +6 -0
- package/{cjs → build-tsc-cjs}/packageInfo.js +1 -1
- package/{packageInfo.js → build-tsc-esm/packageInfo.js} +1 -1
- package/package.json +4 -98
- package/src/bundle.ts +87 -0
- package/src/index.ts +7 -0
- package/src/packageDetect.ts +12 -0
- package/src/packageInfo.ts +6 -0
- package/src/types.ts +20 -0
- package/tsconfig.build.json +11 -0
- package/tsconfig.build.tsbuildinfo +1 -0
- /package/{LICENSE → build/LICENSE} +0 -0
- /package/{cjs → build}/bundle.d.ts +0 -0
- /package/{index.d.ts → build/cjs/index.d.ts} +0 -0
- /package/{cjs → build/cjs}/package.json +0 -0
- /package/{packageDetect.d.ts → build/cjs/packageDetect.d.ts} +0 -0
- /package/{cjs → build/cjs}/packageDetect.js +0 -0
- /package/{packageInfo.d.ts → build/cjs/packageInfo.d.ts} +0 -0
- /package/{types.d.ts → build/cjs/types.d.ts} +0 -0
- /package/{bundle.d.ts → build-tsc/bundle.d.ts} +0 -0
- /package/{cjs → build-tsc}/index.d.ts +0 -0
- /package/{cjs → build-tsc}/packageDetect.d.ts +0 -0
- /package/{cjs → build-tsc}/packageInfo.d.ts +0 -0
- /package/{cjs → build-tsc}/types.d.ts +0 -0
- /package/{cjs → build-tsc-cjs}/bundle.js +0 -0
- /package/{cjs → build-tsc-cjs}/index.js +0 -0
- /package/{cjs → build-tsc-cjs}/types.js +0 -0
- /package/{bundle.js → build-tsc-esm/bundle.js} +0 -0
- /package/{index.js → build-tsc-esm/index.js} +0 -0
- /package/{packageDetect.js → build-tsc-esm/packageDetect.js} +0 -0
- /package/{types.js → build-tsc-esm/types.js} +0 -0
package/build/README.md
ADDED
package/build/bundle.js
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Metadata, TypeRegistry } from '@pezkuwi/types';
|
|
2
|
+
import { base64Decode } from '@pezkuwi/util-crypto';
|
|
3
|
+
export { packageInfo } from './packageInfo.js';
|
|
4
|
+
const definitions = new Map(
|
|
5
|
+
);
|
|
6
|
+
const expanded = new Map();
|
|
7
|
+
export function metadataExpand(definition, isPartial = false) {
|
|
8
|
+
const cached = expanded.get(definition.genesisHash);
|
|
9
|
+
if (cached && cached.specVersion === definition.specVersion) {
|
|
10
|
+
return cached;
|
|
11
|
+
}
|
|
12
|
+
const { chain, genesisHash, icon, metaCalls, specVersion, ss58Format, tokenDecimals, tokenSymbol, types, userExtensions } = definition;
|
|
13
|
+
const registry = new TypeRegistry();
|
|
14
|
+
if (!isPartial) {
|
|
15
|
+
registry.register(types);
|
|
16
|
+
}
|
|
17
|
+
registry.setChainProperties(registry.createType('ChainProperties', {
|
|
18
|
+
ss58Format,
|
|
19
|
+
tokenDecimals,
|
|
20
|
+
tokenSymbol
|
|
21
|
+
}));
|
|
22
|
+
const hasMetadata = !!metaCalls && !isPartial;
|
|
23
|
+
if (hasMetadata) {
|
|
24
|
+
registry.setMetadata(new Metadata(registry, base64Decode(metaCalls)), undefined, userExtensions);
|
|
25
|
+
}
|
|
26
|
+
const isUnknown = genesisHash === '0x';
|
|
27
|
+
const result = {
|
|
28
|
+
definition,
|
|
29
|
+
genesisHash: isUnknown
|
|
30
|
+
? undefined
|
|
31
|
+
: genesisHash,
|
|
32
|
+
hasMetadata,
|
|
33
|
+
icon: icon || 'bizinikiwi',
|
|
34
|
+
isUnknown,
|
|
35
|
+
name: chain,
|
|
36
|
+
registry,
|
|
37
|
+
specVersion,
|
|
38
|
+
ss58Format,
|
|
39
|
+
tokenDecimals,
|
|
40
|
+
tokenSymbol
|
|
41
|
+
};
|
|
42
|
+
if (result.genesisHash && !isPartial) {
|
|
43
|
+
expanded.set(result.genesisHash, result);
|
|
44
|
+
}
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
export function findChain(definitions, genesisHash) {
|
|
48
|
+
const def = definitions.find((def) => def.genesisHash === genesisHash);
|
|
49
|
+
return def
|
|
50
|
+
? metadataExpand(def)
|
|
51
|
+
: null;
|
|
52
|
+
}
|
|
53
|
+
export function addMetadata(def) {
|
|
54
|
+
definitions.set(def.genesisHash, def);
|
|
55
|
+
}
|
|
56
|
+
export function knownMetadata() {
|
|
57
|
+
return [...definitions.values()];
|
|
58
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { MetadataDef } from '@pezkuwi/extension-inject/types';
|
|
2
|
+
import type { Chain } from './types.js';
|
|
3
|
+
export { packageInfo } from './packageInfo.js';
|
|
4
|
+
export declare function metadataExpand(definition: MetadataDef, isPartial?: boolean): Chain;
|
|
5
|
+
export declare function findChain(definitions: MetadataDef[], genesisHash?: string | null): Chain | null;
|
|
6
|
+
export declare function addMetadata(def: MetadataDef): void;
|
|
7
|
+
export declare function knownMetadata(): MetadataDef[];
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.packageInfo = void 0;
|
|
4
|
+
exports.metadataExpand = metadataExpand;
|
|
5
|
+
exports.findChain = findChain;
|
|
6
|
+
exports.addMetadata = addMetadata;
|
|
7
|
+
exports.knownMetadata = knownMetadata;
|
|
8
|
+
const types_1 = require("@pezkuwi/types");
|
|
9
|
+
const util_crypto_1 = require("@pezkuwi/util-crypto");
|
|
10
|
+
var packageInfo_js_1 = require("./packageInfo.js");
|
|
11
|
+
Object.defineProperty(exports, "packageInfo", { enumerable: true, get: function () { return packageInfo_js_1.packageInfo; } });
|
|
12
|
+
const definitions = new Map(
|
|
13
|
+
);
|
|
14
|
+
const expanded = new Map();
|
|
15
|
+
function metadataExpand(definition, isPartial = false) {
|
|
16
|
+
const cached = expanded.get(definition.genesisHash);
|
|
17
|
+
if (cached && cached.specVersion === definition.specVersion) {
|
|
18
|
+
return cached;
|
|
19
|
+
}
|
|
20
|
+
const { chain, genesisHash, icon, metaCalls, specVersion, ss58Format, tokenDecimals, tokenSymbol, types, userExtensions } = definition;
|
|
21
|
+
const registry = new types_1.TypeRegistry();
|
|
22
|
+
if (!isPartial) {
|
|
23
|
+
registry.register(types);
|
|
24
|
+
}
|
|
25
|
+
registry.setChainProperties(registry.createType('ChainProperties', {
|
|
26
|
+
ss58Format,
|
|
27
|
+
tokenDecimals,
|
|
28
|
+
tokenSymbol
|
|
29
|
+
}));
|
|
30
|
+
const hasMetadata = !!metaCalls && !isPartial;
|
|
31
|
+
if (hasMetadata) {
|
|
32
|
+
registry.setMetadata(new types_1.Metadata(registry, (0, util_crypto_1.base64Decode)(metaCalls)), undefined, userExtensions);
|
|
33
|
+
}
|
|
34
|
+
const isUnknown = genesisHash === '0x';
|
|
35
|
+
const result = {
|
|
36
|
+
definition,
|
|
37
|
+
genesisHash: isUnknown
|
|
38
|
+
? undefined
|
|
39
|
+
: genesisHash,
|
|
40
|
+
hasMetadata,
|
|
41
|
+
icon: icon || 'bizinikiwi',
|
|
42
|
+
isUnknown,
|
|
43
|
+
name: chain,
|
|
44
|
+
registry,
|
|
45
|
+
specVersion,
|
|
46
|
+
ss58Format,
|
|
47
|
+
tokenDecimals,
|
|
48
|
+
tokenSymbol
|
|
49
|
+
};
|
|
50
|
+
if (result.genesisHash && !isPartial) {
|
|
51
|
+
expanded.set(result.genesisHash, result);
|
|
52
|
+
}
|
|
53
|
+
return result;
|
|
54
|
+
}
|
|
55
|
+
function findChain(definitions, genesisHash) {
|
|
56
|
+
const def = definitions.find((def) => def.genesisHash === genesisHash);
|
|
57
|
+
return def
|
|
58
|
+
? metadataExpand(def)
|
|
59
|
+
: null;
|
|
60
|
+
}
|
|
61
|
+
function addMetadata(def) {
|
|
62
|
+
definitions.set(def.genesisHash, def);
|
|
63
|
+
}
|
|
64
|
+
function knownMetadata() {
|
|
65
|
+
return [...definitions.values()];
|
|
66
|
+
}
|
package/build/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './bundle.js';
|
package/build/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './bundle.js';
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
{
|
|
2
|
+
"author": "Kurdistan Tech Institute <dev@pezkuwichain.io> & PezkuwiChain Team <team@pezkuwichain.io>",
|
|
3
|
+
"bugs": "https://github.com/pezkuwichain/pezkuwi-extension/issues",
|
|
4
|
+
"description": "Definitions for all known chains as exposed by the extension.",
|
|
5
|
+
"engines": {
|
|
6
|
+
"node": ">=18"
|
|
7
|
+
},
|
|
8
|
+
"homepage": "https://github.com/pezkuwichain/pezkuwi-extension/tree/master/packages/extension-chains#readme",
|
|
9
|
+
"license": "Apache-2.0",
|
|
10
|
+
"name": "@pezkuwi/extension-chains",
|
|
11
|
+
"repository": {
|
|
12
|
+
"directory": "packages/extension-chains",
|
|
13
|
+
"type": "git",
|
|
14
|
+
"url": "https://github.com/pezkuwichain/pezkuwi-extension.git"
|
|
15
|
+
},
|
|
16
|
+
"sideEffects": [
|
|
17
|
+
"./packageDetect.js",
|
|
18
|
+
"./cjs/packageDetect.js"
|
|
19
|
+
],
|
|
20
|
+
"type": "module",
|
|
21
|
+
"version": "0.62.19",
|
|
22
|
+
"main": "./cjs/index.js",
|
|
23
|
+
"module": "./index.js",
|
|
24
|
+
"types": "./index.d.ts",
|
|
25
|
+
"exports": {
|
|
26
|
+
"./cjs/package.json": "./cjs/package.json",
|
|
27
|
+
"./cjs/*": "./cjs/*.js",
|
|
28
|
+
".": {
|
|
29
|
+
"module": {
|
|
30
|
+
"types": "./index.d.ts",
|
|
31
|
+
"default": "./index.js"
|
|
32
|
+
},
|
|
33
|
+
"require": {
|
|
34
|
+
"types": "./cjs/index.d.ts",
|
|
35
|
+
"default": "./cjs/index.js"
|
|
36
|
+
},
|
|
37
|
+
"default": {
|
|
38
|
+
"types": "./index.d.ts",
|
|
39
|
+
"default": "./index.js"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"./bundle": {
|
|
43
|
+
"module": {
|
|
44
|
+
"types": "./bundle.d.ts",
|
|
45
|
+
"default": "./bundle.js"
|
|
46
|
+
},
|
|
47
|
+
"require": {
|
|
48
|
+
"types": "./cjs/bundle.d.ts",
|
|
49
|
+
"default": "./cjs/bundle.js"
|
|
50
|
+
},
|
|
51
|
+
"default": {
|
|
52
|
+
"types": "./bundle.d.ts",
|
|
53
|
+
"default": "./bundle.js"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"./package.json": {
|
|
57
|
+
"require": "./cjs/package.json",
|
|
58
|
+
"default": "./package.json"
|
|
59
|
+
},
|
|
60
|
+
"./packageDetect": {
|
|
61
|
+
"module": {
|
|
62
|
+
"types": "./packageDetect.d.ts",
|
|
63
|
+
"default": "./packageDetect.js"
|
|
64
|
+
},
|
|
65
|
+
"require": {
|
|
66
|
+
"types": "./cjs/packageDetect.d.ts",
|
|
67
|
+
"default": "./cjs/packageDetect.js"
|
|
68
|
+
},
|
|
69
|
+
"default": {
|
|
70
|
+
"types": "./packageDetect.d.ts",
|
|
71
|
+
"default": "./packageDetect.js"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"./packageInfo.js": {
|
|
75
|
+
"module": {
|
|
76
|
+
"types": "./packageInfo.d.ts",
|
|
77
|
+
"default": "./packageInfo.js"
|
|
78
|
+
},
|
|
79
|
+
"require": {
|
|
80
|
+
"types": "./cjs/packageInfo.d.ts",
|
|
81
|
+
"default": "./cjs/packageInfo.js"
|
|
82
|
+
},
|
|
83
|
+
"default": {
|
|
84
|
+
"types": "./packageInfo.d.ts",
|
|
85
|
+
"default": "./packageInfo.js"
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"./packageInfo": {
|
|
89
|
+
"module": {
|
|
90
|
+
"types": "./packageInfo.d.ts",
|
|
91
|
+
"default": "./packageInfo.js"
|
|
92
|
+
},
|
|
93
|
+
"require": {
|
|
94
|
+
"types": "./cjs/packageInfo.d.ts",
|
|
95
|
+
"default": "./cjs/packageInfo.js"
|
|
96
|
+
},
|
|
97
|
+
"default": {
|
|
98
|
+
"types": "./packageInfo.d.ts",
|
|
99
|
+
"default": "./packageInfo.js"
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
"./types": {
|
|
103
|
+
"module": {
|
|
104
|
+
"types": "./types.d.ts",
|
|
105
|
+
"default": "./types.js"
|
|
106
|
+
},
|
|
107
|
+
"require": {
|
|
108
|
+
"types": "./cjs/types.d.ts",
|
|
109
|
+
"default": "./cjs/types.js"
|
|
110
|
+
},
|
|
111
|
+
"default": {
|
|
112
|
+
"types": "./types.d.ts",
|
|
113
|
+
"default": "./types.js"
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"dependencies": {
|
|
118
|
+
"@pezkuwi/extension-inject": "workspace:*",
|
|
119
|
+
"@pezkuwi/networks": "^14.0.5",
|
|
120
|
+
"@pezkuwi/util": "^14.0.5",
|
|
121
|
+
"@pezkuwi/util-crypto": "^14.0.5",
|
|
122
|
+
"tslib": "^2.8.1"
|
|
123
|
+
},
|
|
124
|
+
"peerDependencies": {
|
|
125
|
+
"@pezkuwi/api": "*",
|
|
126
|
+
"@pezkuwi/types": "*"
|
|
127
|
+
}
|
|
128
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const packageInfo = { name: '@pezkuwi/extension-chains', path: (import.meta && import.meta.url) ? new URL(import.meta.url).pathname.substring(0, new URL(import.meta.url).pathname.lastIndexOf('/') + 1) : 'auto', type: 'esm', version: '0.62.19' };
|
package/build/types.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { MetadataDef } from '@pezkuwi/extension-inject/types';
|
|
2
|
+
import type { Registry } from '@pezkuwi/types/types';
|
|
3
|
+
export interface Chain {
|
|
4
|
+
definition: MetadataDef;
|
|
5
|
+
genesisHash?: string;
|
|
6
|
+
hasMetadata: boolean;
|
|
7
|
+
icon: string;
|
|
8
|
+
isEthereum?: boolean;
|
|
9
|
+
isUnknown?: boolean;
|
|
10
|
+
name: string;
|
|
11
|
+
registry: Registry;
|
|
12
|
+
specVersion: number;
|
|
13
|
+
ss58Format: number;
|
|
14
|
+
tokenDecimals: number;
|
|
15
|
+
tokenSymbol: string;
|
|
16
|
+
}
|
package/build/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const packageInfo_1 = require("@pezkuwi/extension-inject/packageInfo");
|
|
4
|
+
const util_1 = require("@pezkuwi/util");
|
|
5
|
+
const packageInfo_js_1 = require("./packageInfo.js");
|
|
6
|
+
(0, util_1.detectPackage)(packageInfo_js_1.packageInfo, null, [packageInfo_1.packageInfo]);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.packageInfo = void 0;
|
|
4
|
-
exports.packageInfo = { name: '@pezkuwi/extension-chains', path: typeof __dirname === 'string' ? __dirname : 'auto', type: 'cjs', version: '0.62.
|
|
4
|
+
exports.packageInfo = { name: '@pezkuwi/extension-chains', path: typeof __dirname === 'string' ? __dirname : 'auto', type: 'cjs', version: '0.62.19' };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const packageInfo = { name: '@pezkuwi/extension-chains', path: (import.meta && import.meta.url) ? new URL(import.meta.url).pathname.substring(0, new URL(import.meta.url).pathname.lastIndexOf('/') + 1) : 'auto', type: 'esm', version: '0.62.
|
|
1
|
+
export const packageInfo = { name: '@pezkuwi/extension-chains', path: (import.meta && import.meta.url) ? new URL(import.meta.url).pathname.substring(0, new URL(import.meta.url).pathname.lastIndexOf('/') + 1) : 'auto', type: 'esm', version: '0.62.19' };
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"author": "
|
|
2
|
+
"author": "Kurdistan Tech Institute <dev@pezkuwichain.io> & PezkuwiChain Team <team@pezkuwichain.io>",
|
|
3
3
|
"bugs": "https://github.com/pezkuwichain/pezkuwi-extension/issues",
|
|
4
4
|
"description": "Definitions for all known chains as exposed by the extension.",
|
|
5
5
|
"engines": {
|
|
@@ -15,105 +15,11 @@
|
|
|
15
15
|
},
|
|
16
16
|
"sideEffects": [
|
|
17
17
|
"./packageDetect.js",
|
|
18
|
-
"./
|
|
18
|
+
"./packageDetect.cjs"
|
|
19
19
|
],
|
|
20
20
|
"type": "module",
|
|
21
|
-
"version": "0.62.
|
|
22
|
-
"main": "
|
|
23
|
-
"module": "./index.js",
|
|
24
|
-
"types": "./index.d.ts",
|
|
25
|
-
"exports": {
|
|
26
|
-
"./cjs/package.json": "./cjs/package.json",
|
|
27
|
-
"./cjs/*": "./cjs/*.js",
|
|
28
|
-
".": {
|
|
29
|
-
"module": {
|
|
30
|
-
"types": "./index.d.ts",
|
|
31
|
-
"default": "./index.js"
|
|
32
|
-
},
|
|
33
|
-
"require": {
|
|
34
|
-
"types": "./cjs/index.d.ts",
|
|
35
|
-
"default": "./cjs/index.js"
|
|
36
|
-
},
|
|
37
|
-
"default": {
|
|
38
|
-
"types": "./index.d.ts",
|
|
39
|
-
"default": "./index.js"
|
|
40
|
-
}
|
|
41
|
-
},
|
|
42
|
-
"./bundle": {
|
|
43
|
-
"module": {
|
|
44
|
-
"types": "./bundle.d.ts",
|
|
45
|
-
"default": "./bundle.js"
|
|
46
|
-
},
|
|
47
|
-
"require": {
|
|
48
|
-
"types": "./cjs/bundle.d.ts",
|
|
49
|
-
"default": "./cjs/bundle.js"
|
|
50
|
-
},
|
|
51
|
-
"default": {
|
|
52
|
-
"types": "./bundle.d.ts",
|
|
53
|
-
"default": "./bundle.js"
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
"./package.json": {
|
|
57
|
-
"require": "./cjs/package.json",
|
|
58
|
-
"default": "./package.json"
|
|
59
|
-
},
|
|
60
|
-
"./packageDetect": {
|
|
61
|
-
"module": {
|
|
62
|
-
"types": "./packageDetect.d.ts",
|
|
63
|
-
"default": "./packageDetect.js"
|
|
64
|
-
},
|
|
65
|
-
"require": {
|
|
66
|
-
"types": "./cjs/packageDetect.d.ts",
|
|
67
|
-
"default": "./cjs/packageDetect.js"
|
|
68
|
-
},
|
|
69
|
-
"default": {
|
|
70
|
-
"types": "./packageDetect.d.ts",
|
|
71
|
-
"default": "./packageDetect.js"
|
|
72
|
-
}
|
|
73
|
-
},
|
|
74
|
-
"./packageInfo.js": {
|
|
75
|
-
"module": {
|
|
76
|
-
"types": "./packageInfo.d.ts",
|
|
77
|
-
"default": "./packageInfo.js"
|
|
78
|
-
},
|
|
79
|
-
"require": {
|
|
80
|
-
"types": "./cjs/packageInfo.d.ts",
|
|
81
|
-
"default": "./cjs/packageInfo.js"
|
|
82
|
-
},
|
|
83
|
-
"default": {
|
|
84
|
-
"types": "./packageInfo.d.ts",
|
|
85
|
-
"default": "./packageInfo.js"
|
|
86
|
-
}
|
|
87
|
-
},
|
|
88
|
-
"./packageInfo": {
|
|
89
|
-
"module": {
|
|
90
|
-
"types": "./packageInfo.d.ts",
|
|
91
|
-
"default": "./packageInfo.js"
|
|
92
|
-
},
|
|
93
|
-
"require": {
|
|
94
|
-
"types": "./cjs/packageInfo.d.ts",
|
|
95
|
-
"default": "./cjs/packageInfo.js"
|
|
96
|
-
},
|
|
97
|
-
"default": {
|
|
98
|
-
"types": "./packageInfo.d.ts",
|
|
99
|
-
"default": "./packageInfo.js"
|
|
100
|
-
}
|
|
101
|
-
},
|
|
102
|
-
"./types": {
|
|
103
|
-
"module": {
|
|
104
|
-
"types": "./types.d.ts",
|
|
105
|
-
"default": "./types.js"
|
|
106
|
-
},
|
|
107
|
-
"require": {
|
|
108
|
-
"types": "./cjs/types.d.ts",
|
|
109
|
-
"default": "./cjs/types.js"
|
|
110
|
-
},
|
|
111
|
-
"default": {
|
|
112
|
-
"types": "./types.d.ts",
|
|
113
|
-
"default": "./types.js"
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
},
|
|
21
|
+
"version": "0.62.19",
|
|
22
|
+
"main": "index.js",
|
|
117
23
|
"dependencies": {
|
|
118
24
|
"@pezkuwi/extension-inject": "workspace:*",
|
|
119
25
|
"@pezkuwi/networks": "^14.0.5",
|
package/src/bundle.ts
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// Copyright 2019-2026 @pezkuwi/extension-chains authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import type { MetadataDef } from '@pezkuwi/extension-inject/types';
|
|
5
|
+
import type { ChainProperties } from '@pezkuwi/types/interfaces';
|
|
6
|
+
import type { Chain } from './types.js';
|
|
7
|
+
|
|
8
|
+
import { Metadata, TypeRegistry } from '@pezkuwi/types';
|
|
9
|
+
import { base64Decode } from '@pezkuwi/util-crypto';
|
|
10
|
+
|
|
11
|
+
export { packageInfo } from './packageInfo.js';
|
|
12
|
+
|
|
13
|
+
// imports chain details, generally metadata. For the generation of these,
|
|
14
|
+
// inside the api, run `yarn chain:info --ws <url>`
|
|
15
|
+
|
|
16
|
+
const definitions = new Map<string, MetadataDef>(
|
|
17
|
+
// [kusama].map((def) => [def.genesisHash, def])
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
const expanded = new Map<string, Chain>();
|
|
21
|
+
|
|
22
|
+
export function metadataExpand (definition: MetadataDef, isPartial = false): Chain {
|
|
23
|
+
const cached = expanded.get(definition.genesisHash);
|
|
24
|
+
|
|
25
|
+
if (cached && cached.specVersion === definition.specVersion) {
|
|
26
|
+
return cached;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const { chain, genesisHash, icon, metaCalls, specVersion, ss58Format, tokenDecimals, tokenSymbol, types, userExtensions } = definition;
|
|
30
|
+
const registry = new TypeRegistry();
|
|
31
|
+
|
|
32
|
+
if (!isPartial) {
|
|
33
|
+
registry.register(types);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
registry.setChainProperties(registry.createType('ChainProperties', {
|
|
37
|
+
ss58Format,
|
|
38
|
+
tokenDecimals,
|
|
39
|
+
tokenSymbol
|
|
40
|
+
}) as unknown as ChainProperties);
|
|
41
|
+
|
|
42
|
+
const hasMetadata = !!metaCalls && !isPartial;
|
|
43
|
+
|
|
44
|
+
if (hasMetadata) {
|
|
45
|
+
registry.setMetadata(new Metadata(registry, base64Decode(metaCalls)), undefined, userExtensions);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const isUnknown = genesisHash === '0x';
|
|
49
|
+
|
|
50
|
+
const result = {
|
|
51
|
+
definition,
|
|
52
|
+
genesisHash: isUnknown
|
|
53
|
+
? undefined
|
|
54
|
+
: genesisHash,
|
|
55
|
+
hasMetadata,
|
|
56
|
+
icon: icon || 'bizinikiwi',
|
|
57
|
+
isUnknown,
|
|
58
|
+
name: chain,
|
|
59
|
+
registry,
|
|
60
|
+
specVersion,
|
|
61
|
+
ss58Format,
|
|
62
|
+
tokenDecimals,
|
|
63
|
+
tokenSymbol
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
if (result.genesisHash && !isPartial) {
|
|
67
|
+
expanded.set(result.genesisHash, result);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return result;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export function findChain (definitions: MetadataDef[], genesisHash?: string | null): Chain | null {
|
|
74
|
+
const def = definitions.find((def) => def.genesisHash === genesisHash);
|
|
75
|
+
|
|
76
|
+
return def
|
|
77
|
+
? metadataExpand(def)
|
|
78
|
+
: null;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export function addMetadata (def: MetadataDef): void {
|
|
82
|
+
definitions.set(def.genesisHash, def);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export function knownMetadata (): MetadataDef[] {
|
|
86
|
+
return [...definitions.values()];
|
|
87
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Copyright 2017-2026 @pezkuwi/extension-chains authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
// Do not edit, auto-generated by @pezkuwi/dev
|
|
5
|
+
// (packageInfo imports will be kept as-is, user-editable)
|
|
6
|
+
|
|
7
|
+
import { packageInfo as injectInfo } from '@pezkuwi/extension-inject/packageInfo';
|
|
8
|
+
import { detectPackage } from '@pezkuwi/util';
|
|
9
|
+
|
|
10
|
+
import { packageInfo } from './packageInfo.js';
|
|
11
|
+
|
|
12
|
+
detectPackage(packageInfo, null, [injectInfo]);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Copyright 2017-2026 @pezkuwi/extension-chains authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
// Do not edit, auto-generated by @pezkuwi/dev
|
|
5
|
+
|
|
6
|
+
export const packageInfo = { name: '@pezkuwi/extension-chains', path: 'auto', type: 'auto', version: '0.62.19' };
|
package/src/types.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// Copyright 2019-2026 @pezkuwi/extension-chains authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import type { MetadataDef } from '@pezkuwi/extension-inject/types';
|
|
5
|
+
import type { Registry } from '@pezkuwi/types/types';
|
|
6
|
+
|
|
7
|
+
export interface Chain {
|
|
8
|
+
definition: MetadataDef;
|
|
9
|
+
genesisHash?: string;
|
|
10
|
+
hasMetadata: boolean;
|
|
11
|
+
icon: string;
|
|
12
|
+
isEthereum?: boolean;
|
|
13
|
+
isUnknown?: boolean;
|
|
14
|
+
name: string;
|
|
15
|
+
registry: Registry;
|
|
16
|
+
specVersion: number;
|
|
17
|
+
ss58Format: number;
|
|
18
|
+
tokenDecimals: number;
|
|
19
|
+
tokenSymbol: string;
|
|
20
|
+
}
|