@ensdomains/ensjs 3.0.0-alpha.40 → 3.0.0-alpha.42
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/cjs/contracts/getContractAddress.js +4 -4
- package/dist/cjs/functions/commitName.js +2 -3
- package/dist/cjs/functions/createSubname.js +2 -8
- package/dist/cjs/functions/getHistory.js +14 -7
- package/dist/cjs/functions/getNames.js +10 -6
- package/dist/cjs/functions/getOwner.js +25 -12
- package/dist/cjs/functions/getSpecificRecord.js +83 -0
- package/dist/cjs/functions/getWrapperData.js +3 -4
- package/dist/cjs/functions/renewNames.js +13 -20
- package/dist/cjs/functions/{burnFuses.js → setFuses.js} +24 -6
- package/dist/cjs/functions/wrapName.js +7 -23
- package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +6 -55
- package/dist/cjs/generated/factories/NameWrapper__factory.js +90 -69
- package/dist/cjs/generated/factories/PublicResolver__factory.js +83 -0
- package/dist/cjs/generated/factories/UniversalResolver__factory.js +67 -2
- package/dist/cjs/index.js +15 -4
- package/dist/cjs/utils/consts.js +3 -1
- package/dist/cjs/utils/fuses.js +218 -53
- package/dist/cjs/utils/normalise.js +2 -2
- package/dist/cjs/utils/recordHelpers.js +55 -0
- package/dist/cjs/utils/registerHelpers.js +9 -23
- package/dist/cjs/utils/subgraph-types.js +16 -0
- package/dist/cjs/utils/wrapper.js +2 -2
- package/dist/esm/contracts/getContractAddress.mjs +4 -4
- package/dist/esm/functions/commitName.mjs +2 -3
- package/dist/esm/functions/createSubname.mjs +2 -2
- package/dist/esm/functions/getHistory.mjs +14 -7
- package/dist/esm/functions/getNames.mjs +10 -6
- package/dist/esm/functions/getOwner.mjs +25 -12
- package/dist/esm/functions/getSpecificRecord.mjs +78 -1
- package/dist/esm/functions/getWrapperData.mjs +3 -4
- package/dist/esm/functions/renewNames.mjs +13 -20
- package/dist/esm/functions/setFuses.mjs +30 -0
- package/dist/esm/functions/wrapName.mjs +8 -18
- package/dist/esm/generated/factories/ETHRegistrarController__factory.mjs +6 -55
- package/dist/esm/generated/factories/NameWrapper__factory.mjs +90 -69
- package/dist/esm/generated/factories/PublicResolver__factory.mjs +83 -0
- package/dist/esm/generated/factories/UniversalResolver__factory.mjs +67 -2
- package/dist/esm/index.mjs +15 -4
- package/dist/esm/utils/consts.mjs +3 -1
- package/dist/esm/utils/fuses.mjs +218 -53
- package/dist/esm/utils/normalise.mjs +1 -1
- package/dist/esm/utils/recordHelpers.mjs +49 -0
- package/dist/esm/utils/registerHelpers.mjs +9 -17
- package/dist/esm/utils/subgraph-types.mjs +0 -0
- package/dist/esm/utils/wrapper.mjs +1 -1
- package/dist/types/functions/commitName.d.ts +5 -6
- package/dist/types/functions/createSubname.d.ts +3 -3
- package/dist/types/functions/deleteSubname.d.ts +1 -1
- package/dist/types/functions/getHistory.d.ts +1 -1
- package/dist/types/functions/getNames.d.ts +3 -3
- package/dist/types/functions/getOwner.d.ts +1 -0
- package/dist/types/functions/getSpecificRecord.d.ts +22 -0
- package/dist/types/functions/getWrapperData.d.ts +44 -5
- package/dist/types/functions/importDNSSECName.d.ts +1 -1
- package/dist/types/functions/registerName.d.ts +1 -1
- package/dist/types/functions/renewNames.d.ts +5 -6
- package/dist/types/functions/setFuses.d.ts +7 -0
- package/dist/types/functions/setName.d.ts +1 -1
- package/dist/types/functions/setRecord.d.ts +5 -1
- package/dist/types/functions/setRecords.d.ts +1 -1
- package/dist/types/functions/setResolver.d.ts +1 -1
- package/dist/types/functions/transferController.d.ts +1 -1
- package/dist/types/functions/transferName.d.ts +1 -1
- package/dist/types/functions/transferSubname.d.ts +1 -1
- package/dist/types/functions/types.d.ts +9 -5
- package/dist/types/functions/unwrapName.d.ts +1 -1
- package/dist/types/functions/wrapName.d.ts +4 -4
- package/dist/types/generated/ETHRegistrarController.d.ts +13 -36
- package/dist/types/generated/NameWrapper.d.ts +97 -52
- package/dist/types/generated/PublicResolver.d.ts +50 -1
- package/dist/types/generated/UniversalResolver.d.ts +79 -32
- package/dist/types/generated/factories/UniversalResolver__factory.d.ts +15 -0
- package/dist/types/index.d.ts +75 -11
- package/dist/types/utils/consts.d.ts +1 -0
- package/dist/types/utils/fuses.d.ts +115 -45
- package/dist/types/utils/recordHelpers.d.ts +14 -2
- package/dist/types/utils/registerHelpers.d.ts +7 -25
- package/dist/types/utils/subgraph-types.d.ts +284 -0
- package/dist/types/utils/writeTx.d.ts +5 -5
- package/package.json +8 -5
- package/src/@types/pako.d.ts +188 -0
- package/src/contracts/bulkRenewal.ts +1 -1
- package/src/contracts/getContractAddress.ts +4 -4
- package/src/functions/commitName.test.ts +0 -3
- package/src/functions/commitName.ts +1 -2
- package/src/functions/createSubname.ts +4 -5
- package/src/functions/getHistory.ts +59 -25
- package/src/functions/getNames.test.ts +1 -1
- package/src/functions/getNames.ts +26 -13
- package/src/functions/getOwner.test.ts +62 -3
- package/src/functions/getOwner.ts +31 -11
- package/src/functions/getSpecificRecord.test.ts +162 -0
- package/src/functions/getSpecificRecord.ts +95 -1
- package/src/functions/getWrapperData.test.ts +11 -45
- package/src/functions/getWrapperData.ts +7 -5
- package/src/functions/registerName.test.ts +3 -3
- package/src/functions/renewNames.ts +17 -23
- package/src/functions/setFuses.test.ts +240 -0
- package/src/functions/setFuses.ts +44 -0
- package/src/functions/setRecord.test.ts +147 -1
- package/src/functions/setRecord.ts +6 -1
- package/src/functions/types.ts +10 -4
- package/src/functions/wrapName.test.ts +8 -7
- package/src/functions/wrapName.ts +10 -24
- package/src/generated/ETHRegistrarController.ts +12 -79
- package/src/generated/NameWrapper.ts +155 -99
- package/src/generated/PublicResolver.ts +123 -0
- package/src/generated/UniversalResolver.ts +157 -16
- package/src/generated/factories/ETHRegistrarController__factory.ts +6 -55
- package/src/generated/factories/NameWrapper__factory.ts +90 -69
- package/src/generated/factories/PublicResolver__factory.ts +83 -0
- package/src/generated/factories/UniversalResolver__factory.ts +67 -2
- package/src/index.ts +23 -14
- package/src/utils/consts.ts +1 -0
- package/src/utils/fuses.ts +299 -102
- package/src/utils/normalise.ts +1 -1
- package/src/utils/recordHelpers.ts +64 -1
- package/src/utils/registerHelpers.ts +13 -41
- package/src/utils/subgraph-types.ts +312 -0
- package/src/utils/wrapper.ts +1 -1
- package/dist/cjs/utils/generateFuseInput.js +0 -40
- package/dist/esm/functions/burnFuses.mjs +0 -12
- package/dist/esm/utils/generateFuseInput.mjs +0 -15
- package/dist/types/functions/burnFuses.d.ts +0 -3
- package/dist/types/utils/generateFuseInput.d.ts +0 -3
- package/src/functions/burnFuses.test.ts +0 -148
- package/src/functions/burnFuses.ts +0 -16
- package/src/utils/generateFuseInput.ts +0 -13
|
@@ -37,19 +37,19 @@ const addresses = {
|
|
|
37
37
|
"1": "0x283af0b28c62c092c9727f1ee09c02ca627eb7f5",
|
|
38
38
|
"3": "0xa5627AB7Ae47063B533622C34FEBDb52d3281dF8",
|
|
39
39
|
"4": "0x283af0b28c62c092c9727f1ee09c02ca627eb7f5",
|
|
40
|
-
"5": "
|
|
40
|
+
"5": "0xb7A1f9e633fdeaAa2ec44bE00a61a7Db9a733D70"
|
|
41
41
|
},
|
|
42
42
|
Multicall: "0xcA11bde05977b3631167028862bE2a173976CA11",
|
|
43
43
|
NameWrapper: {
|
|
44
44
|
"1": "0x0000000000000000000000000000000000000000",
|
|
45
45
|
"3": "0xF82155e2a43Be0871821E9654Fc8Ae894FB8307C",
|
|
46
46
|
"4": "0x0000000000000000000000000000000000000000",
|
|
47
|
-
"5": "
|
|
47
|
+
"5": "0xEe1F756aCde7E81B2D8cC6aB3c8A1E2cE6db0F39"
|
|
48
48
|
},
|
|
49
49
|
PublicResolver: {
|
|
50
50
|
"1": "0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41",
|
|
51
51
|
"3": "0x13F0659Ee6bb7484C884FEeFb7F75C93951ef837",
|
|
52
|
-
"5": "
|
|
52
|
+
"5": "0x2800Ec5BAB9CE9226d19E0ad5BC607e3cfC4347E"
|
|
53
53
|
},
|
|
54
54
|
ENSRegistry: {
|
|
55
55
|
"1": "0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e",
|
|
@@ -60,7 +60,7 @@ const addresses = {
|
|
|
60
60
|
ReverseRegistrar: {
|
|
61
61
|
"1": "0x084b1c3C81545d370f3634392De611CaaBFf8148",
|
|
62
62
|
"3": "0x806246b52f8cB61655d3038c58D2f63Aa55d4edE",
|
|
63
|
-
"5": "
|
|
63
|
+
"5": "0x9a879320A9F7ad2BBb02063d67baF5551D6BD8B0"
|
|
64
64
|
},
|
|
65
65
|
UniversalResolver: {
|
|
66
66
|
"1": "0x74E20Bd2A1fE0cdbe45b9A1d89cb7e0a45b36376",
|
|
@@ -33,7 +33,7 @@ async function commitName_default({ contracts }, name, { resolverAddress, ...par
|
|
|
33
33
|
void 0,
|
|
34
34
|
resolverAddress
|
|
35
35
|
);
|
|
36
|
-
const { secret, commitment
|
|
36
|
+
const { secret, commitment } = (0, import_registerHelpers.makeCommitment)({
|
|
37
37
|
name,
|
|
38
38
|
resolver,
|
|
39
39
|
...params
|
|
@@ -42,8 +42,7 @@ async function commitName_default({ contracts }, name, { resolverAddress, ...par
|
|
|
42
42
|
...await controller.populateTransaction.commit(commitment),
|
|
43
43
|
customData: {
|
|
44
44
|
secret,
|
|
45
|
-
commitment
|
|
46
|
-
wrapperExpiry
|
|
45
|
+
commitment
|
|
47
46
|
}
|
|
48
47
|
};
|
|
49
48
|
}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
6
|
var __export = (target, all) => {
|
|
9
7
|
for (var name in all)
|
|
@@ -17,10 +15,6 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
15
|
}
|
|
18
16
|
return to;
|
|
19
17
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
-
mod
|
|
23
|
-
));
|
|
24
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
19
|
var createSubname_exports = {};
|
|
26
20
|
__export(createSubname_exports, {
|
|
@@ -28,7 +22,7 @@ __export(createSubname_exports, {
|
|
|
28
22
|
});
|
|
29
23
|
module.exports = __toCommonJS(createSubname_exports);
|
|
30
24
|
var import_solidity = require("@ethersproject/solidity");
|
|
31
|
-
var
|
|
25
|
+
var import_fuses = require("../utils/fuses");
|
|
32
26
|
var import_normalise = require("../utils/normalise");
|
|
33
27
|
var import_wrapper = require("../utils/wrapper");
|
|
34
28
|
async function createSubname_default({
|
|
@@ -68,7 +62,7 @@ async function createSubname_default({
|
|
|
68
62
|
name,
|
|
69
63
|
"expiry" in wrapperArgs ? wrapperArgs.expiry : void 0
|
|
70
64
|
);
|
|
71
|
-
const generatedFuses = "fuses" in wrapperArgs && wrapperArgs.fuses ? (0,
|
|
65
|
+
const generatedFuses = "fuses" in wrapperArgs && wrapperArgs.fuses ? (0, import_fuses.encodeFuses)(wrapperArgs.fuses) : 0;
|
|
72
66
|
return nameWrapper.populateTransaction.setSubnodeRecord(
|
|
73
67
|
parentNodehash,
|
|
74
68
|
label,
|
|
@@ -29,17 +29,20 @@ var import_normalise = require("../utils/normalise");
|
|
|
29
29
|
const eventFormat = {
|
|
30
30
|
Domain: {
|
|
31
31
|
NewOwner: (args) => ({ owner: args.owner.id }),
|
|
32
|
-
NewResolver: (args) => ({
|
|
32
|
+
NewResolver: (args) => ({
|
|
33
|
+
resolver: args.resolver.id.split("-")[0]
|
|
34
|
+
}),
|
|
33
35
|
Transfer: (args) => ({ owner: args.owner.id }),
|
|
34
36
|
NewTTL: (args) => ({ ttl: args.ttl }),
|
|
35
37
|
WrappedTransfer: (args) => ({ owner: args.owner.id }),
|
|
36
38
|
NameWrapped: (args) => ({
|
|
37
39
|
fuses: args.fuses,
|
|
38
40
|
owner: args.owner.id,
|
|
39
|
-
|
|
41
|
+
expiryDate: args.expiryDate
|
|
40
42
|
}),
|
|
41
43
|
NameUnwrapped: (args) => ({ owner: args.owner.id }),
|
|
42
|
-
FusesSet: (args) => ({ fuses: args.fuses
|
|
44
|
+
FusesSet: (args) => ({ fuses: args.fuses }),
|
|
45
|
+
ExpiryExtended: (args) => ({ expiryDate: args.expiryDate })
|
|
43
46
|
},
|
|
44
47
|
Registration: {
|
|
45
48
|
NameRegistered: (args) => ({
|
|
@@ -76,9 +79,11 @@ const eventFormat = {
|
|
|
76
79
|
AbiChanged: (args) => ({ contentType: args.contentType }),
|
|
77
80
|
PubkeyChanged: (args) => ({ x: args.x, y: args.y }),
|
|
78
81
|
TextChanged: (args) => ({ key: args.key, value: args.value }),
|
|
79
|
-
ContenthashChanged: (args) => ({
|
|
82
|
+
ContenthashChanged: (args) => ({
|
|
83
|
+
hash: (0, import_contentHash.decodeContenthash)(args.hash)
|
|
84
|
+
}),
|
|
80
85
|
InterfaceChanged: (args) => ({
|
|
81
|
-
interfaceId: args.
|
|
86
|
+
interfaceId: args.interfaceID,
|
|
82
87
|
implementer: args.implementer
|
|
83
88
|
}),
|
|
84
89
|
AuthorisationChanged: (args) => ({
|
|
@@ -133,7 +138,7 @@ async function getHistory({ gqlInstance }, name) {
|
|
|
133
138
|
}
|
|
134
139
|
...on NameWrapped {
|
|
135
140
|
fuses
|
|
136
|
-
|
|
141
|
+
expiryDate
|
|
137
142
|
owner {
|
|
138
143
|
id
|
|
139
144
|
}
|
|
@@ -145,7 +150,9 @@ async function getHistory({ gqlInstance }, name) {
|
|
|
145
150
|
}
|
|
146
151
|
...on FusesSet {
|
|
147
152
|
fuses
|
|
148
|
-
|
|
153
|
+
}
|
|
154
|
+
...on ExpiryExtended {
|
|
155
|
+
expiryDate
|
|
149
156
|
}
|
|
150
157
|
}
|
|
151
158
|
registration {
|
|
@@ -24,12 +24,12 @@ module.exports = __toCommonJS(getNames_exports);
|
|
|
24
24
|
var import_format = require("../utils/format");
|
|
25
25
|
var import_fuses = require("../utils/fuses");
|
|
26
26
|
var import_labels = require("../utils/labels");
|
|
27
|
-
const mapDomain = (domain) => {
|
|
28
|
-
const decrypted = (0, import_labels.decryptName)(
|
|
27
|
+
const mapDomain = ({ name, ...domain }) => {
|
|
28
|
+
const decrypted = name ? (0, import_labels.decryptName)(name) : void 0;
|
|
29
29
|
return {
|
|
30
30
|
...domain,
|
|
31
31
|
name: decrypted,
|
|
32
|
-
truncatedName: (0, import_format.truncateFormat)(decrypted),
|
|
32
|
+
truncatedName: decrypted ? (0, import_format.truncateFormat)(decrypted) : void 0,
|
|
33
33
|
createdAt: new Date(parseInt(domain.createdAt) * 1e3),
|
|
34
34
|
type: "domain"
|
|
35
35
|
};
|
|
@@ -38,8 +38,12 @@ const mapWrappedDomain = (wrappedDomain) => {
|
|
|
38
38
|
const domain = mapDomain(wrappedDomain.domain);
|
|
39
39
|
if (domain.registration) {
|
|
40
40
|
domain.registration = {
|
|
41
|
-
expiryDate: new Date(
|
|
42
|
-
|
|
41
|
+
expiryDate: new Date(
|
|
42
|
+
parseInt(domain.registration.expiryDate) * 1e3
|
|
43
|
+
),
|
|
44
|
+
registrationDate: new Date(
|
|
45
|
+
parseInt(domain.registration.registrationDate) * 1e3
|
|
46
|
+
)
|
|
43
47
|
};
|
|
44
48
|
}
|
|
45
49
|
return {
|
|
@@ -231,7 +235,7 @@ const getNames = async ({ gqlInstance }, {
|
|
|
231
235
|
id: address,
|
|
232
236
|
first: pageSize,
|
|
233
237
|
skip: (page || 0) * pageSize,
|
|
234
|
-
orderBy,
|
|
238
|
+
orderBy: orderBy === "labelName" ? "name" : orderBy,
|
|
235
239
|
orderDirection
|
|
236
240
|
};
|
|
237
241
|
}
|
|
@@ -134,27 +134,39 @@ const decode = async ({
|
|
|
134
134
|
const registryOwner = decodedData[0][0];
|
|
135
135
|
const nameWrapperOwner = decodedData[1][0];
|
|
136
136
|
let registrarOwner = (_b = decodedData[2]) == null ? void 0 : _b[0];
|
|
137
|
+
let baseReturnObject = {};
|
|
137
138
|
if (labels[labels.length - 1] === "eth") {
|
|
138
|
-
if (
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
139
|
+
if (labels.length === 2) {
|
|
140
|
+
if (!registrarOwner) {
|
|
141
|
+
const graphRegistrantResult = await gqlInstance.client.request(
|
|
142
|
+
registrantQuery,
|
|
143
|
+
{
|
|
144
|
+
namehash: (0, import_normalise.namehash)(name)
|
|
145
|
+
}
|
|
146
|
+
);
|
|
147
|
+
registrarOwner = (_e = (_d = (_c = graphRegistrantResult.domain) == null ? void 0 : _c.registration) == null ? void 0 : _d.registrant) == null ? void 0 : _e.id;
|
|
148
|
+
baseReturnObject = {
|
|
149
|
+
expired: true
|
|
150
|
+
};
|
|
151
|
+
} else {
|
|
152
|
+
baseReturnObject = {
|
|
153
|
+
expired: false
|
|
154
|
+
};
|
|
155
|
+
}
|
|
146
156
|
}
|
|
147
|
-
if (registrarOwner === nameWrapper.address) {
|
|
157
|
+
if ((registrarOwner == null ? void 0 : registrarOwner.toLowerCase()) === nameWrapper.address.toLowerCase()) {
|
|
148
158
|
return {
|
|
149
159
|
owner: nameWrapperOwner,
|
|
150
|
-
ownershipLevel: "nameWrapper"
|
|
160
|
+
ownershipLevel: "nameWrapper",
|
|
161
|
+
...baseReturnObject
|
|
151
162
|
};
|
|
152
163
|
}
|
|
153
164
|
if (registrarOwner) {
|
|
154
165
|
return {
|
|
155
166
|
registrant: registrarOwner,
|
|
156
167
|
owner: registryOwner,
|
|
157
|
-
ownershipLevel: "registrar"
|
|
168
|
+
ownershipLevel: "registrar",
|
|
169
|
+
...baseReturnObject
|
|
158
170
|
};
|
|
159
171
|
}
|
|
160
172
|
if ((0, import_bytes.hexStripZeros)(registryOwner) !== "0x") {
|
|
@@ -162,7 +174,8 @@ const decode = async ({
|
|
|
162
174
|
return {
|
|
163
175
|
registrant: void 0,
|
|
164
176
|
owner: registryOwner,
|
|
165
|
-
ownershipLevel: "registrar"
|
|
177
|
+
ownershipLevel: "registrar",
|
|
178
|
+
expired: true
|
|
166
179
|
};
|
|
167
180
|
}
|
|
168
181
|
if (registryOwner === nameWrapper.address && nameWrapperOwner && (0, import_bytes.hexStripZeros)(nameWrapperOwner) !== "0x") {
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
2
3
|
var __defProp = Object.defineProperty;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
5
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
8
|
var __export = (target, all) => {
|
|
7
9
|
for (var name in all)
|
|
@@ -15,12 +17,18 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
17
|
}
|
|
16
18
|
return to;
|
|
17
19
|
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
18
24
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
25
|
var getSpecificRecord_exports = {};
|
|
20
26
|
__export(getSpecificRecord_exports, {
|
|
27
|
+
_getABI: () => _getABI,
|
|
21
28
|
_getAddr: () => _getAddr,
|
|
22
29
|
_getContentHash: () => _getContentHash,
|
|
23
30
|
_getText: () => _getText,
|
|
31
|
+
getABI: () => getABI,
|
|
24
32
|
getAddr: () => getAddr,
|
|
25
33
|
getContentHash: () => getContentHash,
|
|
26
34
|
getText: () => getText
|
|
@@ -28,6 +36,7 @@ __export(getSpecificRecord_exports, {
|
|
|
28
36
|
module.exports = __toCommonJS(getSpecificRecord_exports);
|
|
29
37
|
var import_address_encoder = require("@ensdomains/address-encoder");
|
|
30
38
|
var import_bytes = require("@ethersproject/bytes");
|
|
39
|
+
var import_strings = require("@ethersproject/strings");
|
|
31
40
|
var import_contentHash = require("../utils/contentHash");
|
|
32
41
|
var import_normalise = require("../utils/normalise");
|
|
33
42
|
const _getContentHash = {
|
|
@@ -193,3 +202,77 @@ const getAddr = {
|
|
|
193
202
|
return _getAddr.decode({ contracts }, urData.data, _name, coinType);
|
|
194
203
|
}
|
|
195
204
|
};
|
|
205
|
+
const supportedContentTypes = "0xf";
|
|
206
|
+
const _getABI = {
|
|
207
|
+
raw: async ({ contracts }, name) => {
|
|
208
|
+
const publicResolver = await (contracts == null ? void 0 : contracts.getPublicResolver());
|
|
209
|
+
return {
|
|
210
|
+
to: "0x0000000000000000000000000000000000000000",
|
|
211
|
+
data: publicResolver.interface.encodeFunctionData("ABI", [
|
|
212
|
+
(0, import_normalise.namehash)(name),
|
|
213
|
+
supportedContentTypes
|
|
214
|
+
])
|
|
215
|
+
};
|
|
216
|
+
},
|
|
217
|
+
decode: async ({ contracts }, data) => {
|
|
218
|
+
const publicResolver = await (contracts == null ? void 0 : contracts.getPublicResolver());
|
|
219
|
+
const [bnContentType, encodedABIData] = publicResolver.interface.decodeFunctionResult("ABI", data);
|
|
220
|
+
if (!bnContentType || !data) {
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
const contentType = bnContentType.toNumber();
|
|
224
|
+
if (!contentType) {
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
let abiData;
|
|
228
|
+
let decoded = false;
|
|
229
|
+
switch (contentType) {
|
|
230
|
+
case 1:
|
|
231
|
+
abiData = JSON.parse((0, import_strings.toUtf8String)(encodedABIData));
|
|
232
|
+
decoded = true;
|
|
233
|
+
break;
|
|
234
|
+
case 2: {
|
|
235
|
+
const { inflate } = await import("pako/dist/pako_inflate.min.js");
|
|
236
|
+
abiData = JSON.parse(
|
|
237
|
+
inflate((0, import_bytes.arrayify)(encodedABIData), { to: "string" })
|
|
238
|
+
);
|
|
239
|
+
decoded = true;
|
|
240
|
+
break;
|
|
241
|
+
}
|
|
242
|
+
case 4: {
|
|
243
|
+
const { decodeFirst } = await import("cbor");
|
|
244
|
+
abiData = await decodeFirst((0, import_bytes.arrayify)(encodedABIData));
|
|
245
|
+
decoded = true;
|
|
246
|
+
break;
|
|
247
|
+
}
|
|
248
|
+
case 8:
|
|
249
|
+
abiData = (0, import_strings.toUtf8String)(encodedABIData);
|
|
250
|
+
decoded = false;
|
|
251
|
+
break;
|
|
252
|
+
default:
|
|
253
|
+
try {
|
|
254
|
+
abiData = (0, import_strings.toUtf8String)(encodedABIData);
|
|
255
|
+
} catch {
|
|
256
|
+
abiData = encodedABIData;
|
|
257
|
+
}
|
|
258
|
+
decoded = false;
|
|
259
|
+
}
|
|
260
|
+
return {
|
|
261
|
+
contentType,
|
|
262
|
+
decoded,
|
|
263
|
+
abi: abiData
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
};
|
|
267
|
+
const getABI = {
|
|
268
|
+
raw: async ({ contracts, universalWrapper }, name) => {
|
|
269
|
+
const prData = await _getABI.raw({ contracts }, name);
|
|
270
|
+
return universalWrapper.raw(name, prData.data);
|
|
271
|
+
},
|
|
272
|
+
decode: async ({ contracts, universalWrapper }, data) => {
|
|
273
|
+
const urData = await universalWrapper.decode(data);
|
|
274
|
+
if (!urData)
|
|
275
|
+
return;
|
|
276
|
+
return _getABI.decode({ contracts }, urData.data);
|
|
277
|
+
}
|
|
278
|
+
};
|
|
@@ -34,15 +34,14 @@ const raw = async ({ contracts }, name) => {
|
|
|
34
34
|
const decode = async ({ contracts }, data) => {
|
|
35
35
|
const nameWrapper = await (contracts == null ? void 0 : contracts.getNameWrapper());
|
|
36
36
|
try {
|
|
37
|
-
const [owner,
|
|
37
|
+
const [owner, fuses, expiry] = nameWrapper.interface.decodeFunctionResult(
|
|
38
38
|
"getData",
|
|
39
39
|
data
|
|
40
40
|
);
|
|
41
|
-
const fuses = import_bignumber.BigNumber.from(_fuses);
|
|
42
41
|
const fuseObj = (0, import_fuses.decodeFuses)(fuses);
|
|
43
|
-
const expiryDate = new Date(expiry
|
|
42
|
+
const expiryDate = expiry.gt(0) && expiry.lt(import_bignumber.BigNumber.from(2).pow(32)) ? new Date(expiry.mul(1e3).toString()) : void 0;
|
|
44
43
|
return {
|
|
45
|
-
fuseObj,
|
|
44
|
+
...fuseObj,
|
|
46
45
|
expiryDate,
|
|
47
46
|
rawFuses: fuses,
|
|
48
47
|
owner
|
|
@@ -19,29 +19,22 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
19
19
|
var renewNames_exports = {};
|
|
20
20
|
__export(renewNames_exports, {
|
|
21
21
|
default: () => renewNames_default,
|
|
22
|
-
|
|
22
|
+
extendWrappedName: () => extendWrappedName
|
|
23
23
|
});
|
|
24
24
|
module.exports = __toCommonJS(renewNames_exports);
|
|
25
|
-
var
|
|
26
|
-
var
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
fuses,
|
|
31
|
-
wrapperExpiry = import_registerHelpers.MAX_INT_64
|
|
32
|
-
}) {
|
|
25
|
+
var import_consts = require("../utils/consts");
|
|
26
|
+
var import_labels = require("../utils/labels");
|
|
27
|
+
var import_normalise = require("../utils/normalise");
|
|
28
|
+
async function extendWrappedName({ contracts }, name, options) {
|
|
29
|
+
const expiry = (options == null ? void 0 : options.duration) || import_consts.MAX_INT_64;
|
|
33
30
|
const labels = name.split(".");
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
duration,
|
|
42
|
-
encodedFuses,
|
|
43
|
-
wrapperExpiry,
|
|
44
|
-
{ value }
|
|
31
|
+
const labelHash = (0, import_labels.labelhash)(labels.shift());
|
|
32
|
+
const parentNode = (0, import_normalise.namehash)(labels.join("."));
|
|
33
|
+
const nameWrapper = await contracts.getNameWrapper();
|
|
34
|
+
return nameWrapper.populateTransaction.extendExpiry(
|
|
35
|
+
parentNode,
|
|
36
|
+
labelHash,
|
|
37
|
+
expiry
|
|
45
38
|
);
|
|
46
39
|
}
|
|
47
40
|
async function renewNames_default({ contracts }, nameOrNames, { duration, value }) {
|
|
@@ -16,15 +16,33 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
21
|
-
default: () =>
|
|
19
|
+
var setFuses_exports = {};
|
|
20
|
+
__export(setFuses_exports, {
|
|
21
|
+
default: () => setFuses_default,
|
|
22
|
+
setChildFuses: () => setChildFuses
|
|
22
23
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
24
|
+
module.exports = __toCommonJS(setFuses_exports);
|
|
24
25
|
var import_fuses = require("../utils/fuses");
|
|
26
|
+
var import_labels = require("../utils/labels");
|
|
25
27
|
var import_normalise = require("../utils/normalise");
|
|
26
|
-
async function
|
|
27
|
-
|
|
28
|
+
async function setChildFuses({ contracts, signer }, name, {
|
|
29
|
+
fuses,
|
|
30
|
+
expiry = 0
|
|
31
|
+
}) {
|
|
32
|
+
const encodedFuses = (0, import_fuses.encodeFuses)(fuses);
|
|
33
|
+
const labels = name.split(".");
|
|
34
|
+
const labelHash = (0, import_labels.labelhash)(labels.shift());
|
|
35
|
+
const parentNode = (0, import_normalise.namehash)(labels.join("."));
|
|
36
|
+
const nameWrapper = (await contracts.getNameWrapper()).connect(signer);
|
|
37
|
+
return nameWrapper.populateTransaction.setChildFuses(
|
|
38
|
+
parentNode,
|
|
39
|
+
labelHash,
|
|
40
|
+
encodedFuses,
|
|
41
|
+
expiry
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
async function setFuses_default({ contracts, signer }, name, props) {
|
|
45
|
+
const encodedFuses = (0, import_fuses.encodeFuses)(props, "child");
|
|
28
46
|
const nameWrapper = (await contracts.getNameWrapper()).connect(signer);
|
|
29
47
|
const hash = (0, import_normalise.namehash)(name);
|
|
30
48
|
return nameWrapper.populateTransaction.setFuses(hash, encodedFuses);
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
6
|
var __export = (target, all) => {
|
|
9
7
|
for (var name in all)
|
|
@@ -17,10 +15,6 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
15
|
}
|
|
18
16
|
return to;
|
|
19
17
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
-
mod
|
|
23
|
-
));
|
|
24
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
19
|
var wrapName_exports = {};
|
|
26
20
|
__export(wrapName_exports, {
|
|
@@ -29,16 +23,16 @@ __export(wrapName_exports, {
|
|
|
29
23
|
module.exports = __toCommonJS(wrapName_exports);
|
|
30
24
|
var import_abi_coder = require("@ethersproject/abi/lib/abi-coder");
|
|
31
25
|
var import_solidity = require("@ethersproject/solidity");
|
|
32
|
-
var
|
|
26
|
+
var import_fuses = require("../utils/fuses");
|
|
33
27
|
var import_hexEncodedName = require("../utils/hexEncodedName");
|
|
34
28
|
var import_wrapper = require("../utils/wrapper");
|
|
35
|
-
async function wrapETH({ contracts }, labels, wrappedOwner,
|
|
29
|
+
async function wrapETH({ contracts }, labels, wrappedOwner, decodedFuses, resolverAddress, signer, address) {
|
|
36
30
|
const nameWrapper = await (contracts == null ? void 0 : contracts.getNameWrapper());
|
|
37
31
|
const baseRegistrar = (await contracts.getBaseRegistrar()).connect(signer);
|
|
38
32
|
const labelhash = (0, import_solidity.keccak256)(["string"], [labels[0]]);
|
|
39
33
|
const data = import_abi_coder.defaultAbiCoder.encode(
|
|
40
|
-
["string", "address", "
|
|
41
|
-
[labels[0], wrappedOwner, decodedFuses,
|
|
34
|
+
["string", "address", "uint16", "address"],
|
|
35
|
+
[labels[0], wrappedOwner, decodedFuses, resolverAddress]
|
|
42
36
|
);
|
|
43
37
|
return baseRegistrar.populateTransaction["safeTransferFrom(address,address,uint256,bytes)"](address, nameWrapper.address, labelhash, data);
|
|
44
38
|
}
|
|
@@ -60,11 +54,7 @@ async function wrapOther({ contracts }, name, wrappedOwner, resolverAddress, add
|
|
|
60
54
|
resolverAddress
|
|
61
55
|
);
|
|
62
56
|
}
|
|
63
|
-
async function wrapName_default({
|
|
64
|
-
contracts,
|
|
65
|
-
signer,
|
|
66
|
-
getExpiry
|
|
67
|
-
}, name, {
|
|
57
|
+
async function wrapName_default({ contracts, signer }, name, {
|
|
68
58
|
wrappedOwner,
|
|
69
59
|
fuseOptions,
|
|
70
60
|
expiry,
|
|
@@ -80,31 +70,25 @@ async function wrapName_default({
|
|
|
80
70
|
if (labels.length === 2 && labels[1] === "eth") {
|
|
81
71
|
switch (typeof fuseOptions) {
|
|
82
72
|
case "object": {
|
|
83
|
-
decodedFuses = (0,
|
|
73
|
+
decodedFuses = (0, import_fuses.encodeFuses)(fuseOptions);
|
|
84
74
|
break;
|
|
85
75
|
}
|
|
86
76
|
case "number": {
|
|
87
|
-
decodedFuses = fuseOptions.toString(16);
|
|
88
|
-
break;
|
|
89
|
-
}
|
|
90
|
-
case "string": {
|
|
91
77
|
decodedFuses = fuseOptions;
|
|
92
78
|
break;
|
|
93
79
|
}
|
|
94
80
|
case "undefined": {
|
|
95
|
-
decodedFuses =
|
|
81
|
+
decodedFuses = 0;
|
|
96
82
|
break;
|
|
97
83
|
}
|
|
98
84
|
default: {
|
|
99
85
|
throw new Error(`Invalid fuseOptions type: ${typeof fuseOptions}`);
|
|
100
86
|
}
|
|
101
87
|
}
|
|
102
|
-
const expiryToUse = await (0, import_wrapper.makeExpiry)({ getExpiry }, name, expiry);
|
|
103
88
|
return wrapETH(
|
|
104
89
|
{ contracts },
|
|
105
90
|
labels,
|
|
106
91
|
wrappedOwner,
|
|
107
|
-
expiryToUse,
|
|
108
92
|
decodedFuses,
|
|
109
93
|
resolverAddress,
|
|
110
94
|
signer,
|
|
@@ -124,17 +124,6 @@ const _abi = [
|
|
|
124
124
|
name: "ResolverRequiredWhenDataSupplied",
|
|
125
125
|
type: "error"
|
|
126
126
|
},
|
|
127
|
-
{
|
|
128
|
-
inputs: [
|
|
129
|
-
{
|
|
130
|
-
internalType: "bytes32",
|
|
131
|
-
name: "node",
|
|
132
|
-
type: "bytes32"
|
|
133
|
-
}
|
|
134
|
-
],
|
|
135
|
-
name: "Unauthorised",
|
|
136
|
-
type: "error"
|
|
137
|
-
},
|
|
138
127
|
{
|
|
139
128
|
inputs: [
|
|
140
129
|
{
|
|
@@ -341,14 +330,9 @@ const _abi = [
|
|
|
341
330
|
type: "bool"
|
|
342
331
|
},
|
|
343
332
|
{
|
|
344
|
-
internalType: "
|
|
345
|
-
name: "
|
|
346
|
-
type: "
|
|
347
|
-
},
|
|
348
|
-
{
|
|
349
|
-
internalType: "uint64",
|
|
350
|
-
name: "wrapperExpiry",
|
|
351
|
-
type: "uint64"
|
|
333
|
+
internalType: "uint16",
|
|
334
|
+
name: "ownerControlledFuses",
|
|
335
|
+
type: "uint16"
|
|
352
336
|
}
|
|
353
337
|
],
|
|
354
338
|
name: "makeCommitment",
|
|
@@ -488,14 +472,9 @@ const _abi = [
|
|
|
488
472
|
type: "bool"
|
|
489
473
|
},
|
|
490
474
|
{
|
|
491
|
-
internalType: "
|
|
492
|
-
name: "
|
|
493
|
-
type: "
|
|
494
|
-
},
|
|
495
|
-
{
|
|
496
|
-
internalType: "uint64",
|
|
497
|
-
name: "wrapperExpiry",
|
|
498
|
-
type: "uint64"
|
|
475
|
+
internalType: "uint16",
|
|
476
|
+
name: "ownerControlledFuses",
|
|
477
|
+
type: "uint16"
|
|
499
478
|
}
|
|
500
479
|
],
|
|
501
480
|
name: "register",
|
|
@@ -521,34 +500,6 @@ const _abi = [
|
|
|
521
500
|
stateMutability: "payable",
|
|
522
501
|
type: "function"
|
|
523
502
|
},
|
|
524
|
-
{
|
|
525
|
-
inputs: [
|
|
526
|
-
{
|
|
527
|
-
internalType: "string",
|
|
528
|
-
name: "name",
|
|
529
|
-
type: "string"
|
|
530
|
-
},
|
|
531
|
-
{
|
|
532
|
-
internalType: "uint256",
|
|
533
|
-
name: "duration",
|
|
534
|
-
type: "uint256"
|
|
535
|
-
},
|
|
536
|
-
{
|
|
537
|
-
internalType: "uint32",
|
|
538
|
-
name: "fuses",
|
|
539
|
-
type: "uint32"
|
|
540
|
-
},
|
|
541
|
-
{
|
|
542
|
-
internalType: "uint64",
|
|
543
|
-
name: "wrapperExpiry",
|
|
544
|
-
type: "uint64"
|
|
545
|
-
}
|
|
546
|
-
],
|
|
547
|
-
name: "renewWithFuses",
|
|
548
|
-
outputs: [],
|
|
549
|
-
stateMutability: "payable",
|
|
550
|
-
type: "function"
|
|
551
|
-
},
|
|
552
503
|
{
|
|
553
504
|
inputs: [],
|
|
554
505
|
name: "renounceOwnership",
|