@bonfida/spl-name-service 0.1.51 β 0.1.52
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/constants.d.ts +4 -0
- package/dist/constants.js +5 -1
- package/dist/constants.js.map +1 -1
- package/dist/record.js +2 -1
- package/dist/record.js.map +1 -1
- package/dist/utils.d.ts +6 -0
- package/dist/utils.js +11 -1
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/constants.ts +5 -0
- package/src/record.ts +3 -1
- package/src/utils.ts +13 -1
- package/tests/records.test.ts +8 -0
- package/tests/resolve.test.ts +10 -2
package/dist/constants.d.ts
CHANGED
|
@@ -35,3 +35,7 @@ export declare const TWITTER_VERIFICATION_AUTHORITY: PublicKey;
|
|
|
35
35
|
* The `.twitter` TLD
|
|
36
36
|
*/
|
|
37
37
|
export declare const TWITTER_ROOT_PARENT_REGISTRY_KEY: PublicKey;
|
|
38
|
+
/**
|
|
39
|
+
* The length of the SOL record signature
|
|
40
|
+
*/
|
|
41
|
+
export declare const SOL_RECORD_SIG_LEN = 96;
|
package/dist/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TWITTER_ROOT_PARENT_REGISTRY_KEY = exports.TWITTER_VERIFICATION_AUTHORITY = exports.REVERSE_LOOKUP_CLASS = exports.BONFIDA_FIDA_BNB = exports.PYTH_FIDDA_PRICE_ACC = exports.REGISTER_PROGRAM_ID = exports.ROOT_DOMAIN_ACCOUNT = exports.HASH_PREFIX = exports.NAME_PROGRAM_ID = void 0;
|
|
3
|
+
exports.SOL_RECORD_SIG_LEN = exports.TWITTER_ROOT_PARENT_REGISTRY_KEY = exports.TWITTER_VERIFICATION_AUTHORITY = exports.REVERSE_LOOKUP_CLASS = exports.BONFIDA_FIDA_BNB = exports.PYTH_FIDDA_PRICE_ACC = exports.REGISTER_PROGRAM_ID = exports.ROOT_DOMAIN_ACCOUNT = exports.HASH_PREFIX = exports.NAME_PROGRAM_ID = void 0;
|
|
4
4
|
const web3_js_1 = require("@solana/web3.js");
|
|
5
5
|
/**
|
|
6
6
|
* The Solana Name Service program ID
|
|
@@ -38,4 +38,8 @@ exports.TWITTER_VERIFICATION_AUTHORITY = new web3_js_1.PublicKey("FvPH7PrVrLGKPf
|
|
|
38
38
|
* The `.twitter` TLD
|
|
39
39
|
*/
|
|
40
40
|
exports.TWITTER_ROOT_PARENT_REGISTRY_KEY = new web3_js_1.PublicKey("4YcexoW3r78zz16J2aqmukBLRwGq6rAvWzJpkYAXqebv");
|
|
41
|
+
/**
|
|
42
|
+
* The length of the SOL record signature
|
|
43
|
+
*/
|
|
44
|
+
exports.SOL_RECORD_SIG_LEN = 96;
|
|
41
45
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE5C;;GAEG;AACU,QAAA,eAAe,GAAG,IAAI,mBAAS,CAC1C,6CAA6C,CAC9C,CAAC;AAEF;;GAEG;AACU,QAAA,WAAW,GAAG,kBAAkB,CAAC;AAE9C;;GAEG;AACU,QAAA,mBAAmB,GAAG,IAAI,mBAAS,CAC9C,8CAA8C,CAC/C,CAAC;AAEF;;GAEG;AACU,QAAA,mBAAmB,GAAG,IAAI,mBAAS,CAC9C,6CAA6C,CAC9C,CAAC;AAEF;;GAEG;AACU,QAAA,oBAAoB,GAAG,IAAI,mBAAS,CAC/C,8CAA8C,CAC/C,CAAC;AAEF;;GAEG;AACU,QAAA,gBAAgB,GAAG,IAAI,mBAAS,CAC3C,8CAA8C,CAC/C,CAAC;AAEF;;GAEG;AACU,QAAA,oBAAoB,GAAG,IAAI,mBAAS,CAC/C,8CAA8C,CAC/C,CAAC;AAEF;;GAEG;AACU,QAAA,8BAA8B,GAAG,IAAI,mBAAS,CACzD,8CAA8C,CAC/C,CAAC;AAEF;;GAEG;AACU,QAAA,gCAAgC,GAAG,IAAI,mBAAS,CAC3D,8CAA8C,CAC/C,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE5C;;GAEG;AACU,QAAA,eAAe,GAAG,IAAI,mBAAS,CAC1C,6CAA6C,CAC9C,CAAC;AAEF;;GAEG;AACU,QAAA,WAAW,GAAG,kBAAkB,CAAC;AAE9C;;GAEG;AACU,QAAA,mBAAmB,GAAG,IAAI,mBAAS,CAC9C,8CAA8C,CAC/C,CAAC;AAEF;;GAEG;AACU,QAAA,mBAAmB,GAAG,IAAI,mBAAS,CAC9C,6CAA6C,CAC9C,CAAC;AAEF;;GAEG;AACU,QAAA,oBAAoB,GAAG,IAAI,mBAAS,CAC/C,8CAA8C,CAC/C,CAAC;AAEF;;GAEG;AACU,QAAA,gBAAgB,GAAG,IAAI,mBAAS,CAC3C,8CAA8C,CAC/C,CAAC;AAEF;;GAEG;AACU,QAAA,oBAAoB,GAAG,IAAI,mBAAS,CAC/C,8CAA8C,CAC/C,CAAC;AAEF;;GAEG;AACU,QAAA,8BAA8B,GAAG,IAAI,mBAAS,CACzD,8CAA8C,CAC/C,CAAC;AAEF;;GAEG;AACU,QAAA,gCAAgC,GAAG,IAAI,mBAAS,CAC3D,8CAA8C,CAC/C,CAAC;AAEF;;GAEG;AACU,QAAA,kBAAkB,GAAG,EAAE,CAAC"}
|
package/dist/record.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.getPointRecord = exports.getSolRecord = exports.getShdwRecord = exports.
|
|
|
4
4
|
const record_1 = require("./types/record");
|
|
5
5
|
const utils_1 = require("./utils");
|
|
6
6
|
const state_1 = require("./state");
|
|
7
|
+
const constants_1 = require("./constants");
|
|
7
8
|
/**
|
|
8
9
|
* This function can be used to retrieve a specified record for the given domain name
|
|
9
10
|
* @param connection The Solana RPC connection object
|
|
@@ -16,7 +17,7 @@ const getRecord = async (connection, domain, record) => {
|
|
|
16
17
|
const { pubkey } = await (0, utils_1.getDomainKey)(record + "." + domain, true);
|
|
17
18
|
let { registry } = await state_1.NameRegistryState.retrieve(connection, pubkey);
|
|
18
19
|
// Remove trailling 0s
|
|
19
|
-
const idx = (_a = registry.data) === null || _a === void 0 ? void 0 : _a.indexOf(0x00);
|
|
20
|
+
const idx = record === record_1.Record.SOL ? constants_1.SOL_RECORD_SIG_LEN : (_a = registry.data) === null || _a === void 0 ? void 0 : _a.indexOf(0x00);
|
|
20
21
|
registry.data = (_b = registry.data) === null || _b === void 0 ? void 0 : _b.slice(0, idx);
|
|
21
22
|
return registry;
|
|
22
23
|
};
|
package/dist/record.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAExC,mCAAuC;AACvC,mCAA4C;
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -27,6 +27,12 @@ export declare const getDomainKey: (domain: string, record?: boolean) => Promise
|
|
|
27
27
|
parent: PublicKey;
|
|
28
28
|
pubkey: PublicKey;
|
|
29
29
|
hashed: Buffer;
|
|
30
|
+
} | {
|
|
31
|
+
isSub: boolean;
|
|
32
|
+
parent: PublicKey;
|
|
33
|
+
isSubRecord: boolean;
|
|
34
|
+
pubkey: PublicKey;
|
|
35
|
+
hashed: Buffer;
|
|
30
36
|
} | {
|
|
31
37
|
isSub: boolean;
|
|
32
38
|
parent: undefined;
|
package/dist/utils.js
CHANGED
|
@@ -125,7 +125,17 @@ const getDomainKey = async (domain, record = false) => {
|
|
|
125
125
|
const result = await _derive(sub, parentKey);
|
|
126
126
|
return { ...result, isSub: true, parent: parentKey };
|
|
127
127
|
}
|
|
128
|
-
else if (splitted.length
|
|
128
|
+
else if (splitted.length === 3 && record) {
|
|
129
|
+
// Parent key
|
|
130
|
+
const { pubkey: parentKey } = await _derive(splitted[2]);
|
|
131
|
+
// Sub domain
|
|
132
|
+
const { pubkey: subKey } = await _derive("\0".concat(splitted[1]), parentKey);
|
|
133
|
+
// Sub record
|
|
134
|
+
const recordPrefix = Buffer.from([1]).toString();
|
|
135
|
+
const result = await _derive(recordPrefix.concat(splitted[0]), subKey);
|
|
136
|
+
return { ...result, isSub: true, parent: parentKey, isSubRecord: true };
|
|
137
|
+
}
|
|
138
|
+
else if (splitted.length >= 3) {
|
|
129
139
|
throw new Error("Invalid derivation input");
|
|
130
140
|
}
|
|
131
141
|
const result = await _derive(domain, constants_1.ROOT_DOMAIN_ACCOUNT);
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED
|
@@ -60,3 +60,8 @@ export const TWITTER_VERIFICATION_AUTHORITY = new PublicKey(
|
|
|
60
60
|
export const TWITTER_ROOT_PARENT_REGISTRY_KEY = new PublicKey(
|
|
61
61
|
"4YcexoW3r78zz16J2aqmukBLRwGq6rAvWzJpkYAXqebv"
|
|
62
62
|
);
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* The length of the SOL record signature
|
|
66
|
+
*/
|
|
67
|
+
export const SOL_RECORD_SIG_LEN = 96;
|
package/src/record.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { Record } from "./types/record";
|
|
|
2
2
|
import { Connection } from "@solana/web3.js";
|
|
3
3
|
import { getDomainKey } from "./utils";
|
|
4
4
|
import { NameRegistryState } from "./state";
|
|
5
|
+
import { SOL_RECORD_SIG_LEN } from "./constants";
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* This function can be used to retrieve a specified record for the given domain name
|
|
@@ -19,7 +20,8 @@ export const getRecord = async (
|
|
|
19
20
|
let { registry } = await NameRegistryState.retrieve(connection, pubkey);
|
|
20
21
|
|
|
21
22
|
// Remove trailling 0s
|
|
22
|
-
const idx =
|
|
23
|
+
const idx =
|
|
24
|
+
record === Record.SOL ? SOL_RECORD_SIG_LEN : registry.data?.indexOf(0x00);
|
|
23
25
|
registry.data = registry.data?.slice(0, idx);
|
|
24
26
|
|
|
25
27
|
return registry;
|
package/src/utils.ts
CHANGED
|
@@ -166,7 +166,19 @@ export const getDomainKey = async (domain: string, record = false) => {
|
|
|
166
166
|
const { pubkey: parentKey } = await _derive(splitted[1]);
|
|
167
167
|
const result = await _derive(sub, parentKey);
|
|
168
168
|
return { ...result, isSub: true, parent: parentKey };
|
|
169
|
-
} else if (splitted.length
|
|
169
|
+
} else if (splitted.length === 3 && record) {
|
|
170
|
+
// Parent key
|
|
171
|
+
const { pubkey: parentKey } = await _derive(splitted[2]);
|
|
172
|
+
// Sub domain
|
|
173
|
+
const { pubkey: subKey } = await _derive(
|
|
174
|
+
"\0".concat(splitted[1]),
|
|
175
|
+
parentKey
|
|
176
|
+
);
|
|
177
|
+
// Sub record
|
|
178
|
+
const recordPrefix = Buffer.from([1]).toString();
|
|
179
|
+
const result = await _derive(recordPrefix.concat(splitted[0]), subKey);
|
|
180
|
+
return { ...result, isSub: true, parent: parentKey, isSubRecord: true };
|
|
181
|
+
} else if (splitted.length >= 3) {
|
|
170
182
|
throw new Error("Invalid derivation input");
|
|
171
183
|
}
|
|
172
184
|
const result = await _derive(domain, ROOT_DOMAIN_ACCOUNT);
|
package/tests/records.test.ts
CHANGED
|
@@ -72,3 +72,11 @@ test("Records", async () => {
|
|
|
72
72
|
.getTelegramRecord(connection, domain)
|
|
73
73
|
.then((e) => expect(e.data?.toString()).toBe("@π-tg"));
|
|
74
74
|
});
|
|
75
|
+
|
|
76
|
+
const sub = "test.πΊπΈ.sol";
|
|
77
|
+
|
|
78
|
+
test("Sub records", async () => {
|
|
79
|
+
record
|
|
80
|
+
.getEmailRecord(connection, sub)
|
|
81
|
+
.then((e) => expect(e.data?.toString()).toBe("test@test.com"));
|
|
82
|
+
});
|
package/tests/resolve.test.ts
CHANGED
|
@@ -24,7 +24,15 @@ test("Resolve domains", async () => {
|
|
|
24
24
|
// owner = await resolve(connection, domain);
|
|
25
25
|
// expect(owner.toBase58()).toBe("J5TyWD7cozDdehGdjtrAF7sN5SVvqjfNCffKC6EgmRUU");
|
|
26
26
|
|
|
27
|
-
let domain = "
|
|
27
|
+
let domain = "10k-club.sol";
|
|
28
28
|
let owner = await resolve(connection, domain);
|
|
29
|
-
|
|
29
|
+
expect(owner.toBase58()).toBe("CnNHzcp7L4jKiA2Rsca3hZyVwSmoqXaT8wGwzS8WvvB2");
|
|
30
|
+
|
|
31
|
+
domain = "999-club.sol";
|
|
32
|
+
owner = await resolve(connection, domain);
|
|
33
|
+
expect(owner.toBase58()).toBe("CnNHzcp7L4jKiA2Rsca3hZyVwSmoqXaT8wGwzS8WvvB2");
|
|
34
|
+
|
|
35
|
+
domain = "test.πΊπΈ.sol";
|
|
36
|
+
owner = await resolve(connection, domain);
|
|
37
|
+
expect(owner.toBase58()).toBe("69b4seiMKUNheQpLh1siLx7njQLN8LYmRRmLVPZgGAeM");
|
|
30
38
|
});
|