@ensnode/ensnode-sdk 0.0.0-next-20260413130953 → 0.0.0-next-20260414193807
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/index.cjs +33 -33
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +12 -22
- package/dist/index.d.ts +12 -22
- package/dist/index.js +21 -21
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.cjs
CHANGED
|
@@ -441,15 +441,15 @@ var makeDurationSchema = (valueLabel = "Value") => import_v4.z.number({
|
|
|
441
441
|
}).pipe(makeNonNegativeIntegerSchema(valueLabel));
|
|
442
442
|
var makeChainIdSchema = (valueLabel = "Chain ID") => makePositiveIntegerSchema(valueLabel).transform((val) => val);
|
|
443
443
|
var makeChainIdStringSchema = (valueLabel = "Chain ID String") => import_v4.z.string({ error: `${valueLabel} must be a string representing a chain ID.` }).pipe(import_v4.z.coerce.number({ error: `${valueLabel} must represent a positive integer (>0).` })).pipe(makeChainIdSchema(`The numeric value represented by ${valueLabel}`));
|
|
444
|
-
var
|
|
445
|
-
if (!(0, import_viem2.isAddress)(ctx.value)) {
|
|
444
|
+
var makeNormalizedAddressSchema = (valueLabel = "EVM address") => import_v4.z.string().check((ctx) => {
|
|
445
|
+
if (!(0, import_viem2.isAddress)(ctx.value, { strict: false })) {
|
|
446
446
|
ctx.issues.push({
|
|
447
447
|
code: "custom",
|
|
448
448
|
message: `${valueLabel} must be a valid EVM address`,
|
|
449
449
|
input: ctx.value
|
|
450
450
|
});
|
|
451
451
|
}
|
|
452
|
-
}).transform((val) => (0, import_enssdk.
|
|
452
|
+
}).transform((val) => (0, import_enssdk.toNormalizedAddress)(val));
|
|
453
453
|
var makeDatetimeSchema = (valueLabel = "Datetime string") => import_v4.z.iso.datetime({ error: `${valueLabel} must be a string in ISO 8601 format.` }).transform((v) => new Date(v));
|
|
454
454
|
var makeUnixTimestampSchema = (valueLabel = "Timestamp") => makeIntegerSchema(valueLabel);
|
|
455
455
|
var makeUrlSchema = (valueLabel = "Value") => import_v4.z.url({
|
|
@@ -487,7 +487,7 @@ var makePriceUsdcSchema = (valueLabel = "Price USDC") => makePriceCurrencySchema
|
|
|
487
487
|
var makePriceDaiSchema = (valueLabel = "Price DAI") => makePriceCurrencySchema(CurrencyIds.DAI, valueLabel).transform((v) => v);
|
|
488
488
|
var makeAccountIdSchema = (valueLabel = "AccountId") => import_v4.z.strictObject({
|
|
489
489
|
chainId: makeChainIdSchema(`${valueLabel} chain ID`),
|
|
490
|
-
address:
|
|
490
|
+
address: makeNormalizedAddressSchema(`${valueLabel} address`)
|
|
491
491
|
});
|
|
492
492
|
var makeAccountIdStringSchema = (valueLabel = "Account ID String") => import_v4.z.coerce.string().transform((v) => {
|
|
493
493
|
const result = new import_caip.AccountId(v);
|
|
@@ -2394,7 +2394,8 @@ function getNameTokenOwnership(namespaceId, name, owner) {
|
|
|
2394
2394
|
owner
|
|
2395
2395
|
};
|
|
2396
2396
|
}
|
|
2397
|
-
const parentName = (0, import_enssdk4.
|
|
2397
|
+
const parentName = (0, import_enssdk4.getParentInterpretedName)(name);
|
|
2398
|
+
if (parentName === null) throw new Error(`Invariant: '${name}' has no parent Name.`);
|
|
2398
2399
|
if (parentName === "eth") {
|
|
2399
2400
|
return {
|
|
2400
2401
|
ownershipType: NameTokenOwnershipTypes.FullyOnchain,
|
|
@@ -2610,13 +2611,14 @@ function serializeNameTokensResponse(response) {
|
|
|
2610
2611
|
var import_v427 = require("zod/v4");
|
|
2611
2612
|
|
|
2612
2613
|
// src/ensapi/api/registrar-actions/zod-schemas.ts
|
|
2613
|
-
var
|
|
2614
|
+
var import_enssdk7 = require("enssdk");
|
|
2614
2615
|
var import_v426 = require("zod/v4");
|
|
2615
2616
|
|
|
2616
2617
|
// src/registrars/zod-schemas.ts
|
|
2617
2618
|
var import_v424 = require("zod/v4");
|
|
2618
2619
|
|
|
2619
2620
|
// src/registrars/encoded-referrer.ts
|
|
2621
|
+
var import_enssdk6 = require("enssdk");
|
|
2620
2622
|
var import_viem7 = require("viem");
|
|
2621
2623
|
var ENCODED_REFERRER_BYTE_OFFSET = 12;
|
|
2622
2624
|
var ENCODED_REFERRER_BYTE_LENGTH = 32;
|
|
@@ -2629,8 +2631,8 @@ var ZERO_ENCODED_REFERRER = (0, import_viem7.pad)("0x", {
|
|
|
2629
2631
|
dir: "left"
|
|
2630
2632
|
});
|
|
2631
2633
|
function buildEncodedReferrer(address) {
|
|
2632
|
-
|
|
2633
|
-
return (0, import_viem7.pad)(
|
|
2634
|
+
if (!(0, import_enssdk6.isNormalizedAddress)(address)) throw new Error(`Address '${address}' is not normalized.`);
|
|
2635
|
+
return (0, import_viem7.pad)(address, { size: ENCODED_REFERRER_BYTE_LENGTH, dir: "left" });
|
|
2634
2636
|
}
|
|
2635
2637
|
function decodeEncodedReferrer(encodedReferrer) {
|
|
2636
2638
|
if ((0, import_viem7.size)(encodedReferrer) !== ENCODED_REFERRER_BYTE_LENGTH) {
|
|
@@ -2639,12 +2641,10 @@ function decodeEncodedReferrer(encodedReferrer) {
|
|
|
2639
2641
|
);
|
|
2640
2642
|
}
|
|
2641
2643
|
const padding = (0, import_viem7.slice)(encodedReferrer, 0, ENCODED_REFERRER_BYTE_OFFSET);
|
|
2642
|
-
if (padding !== EXPECTED_ENCODED_REFERRER_PADDING)
|
|
2643
|
-
return import_viem7.zeroAddress;
|
|
2644
|
-
}
|
|
2644
|
+
if (padding !== EXPECTED_ENCODED_REFERRER_PADDING) return import_viem7.zeroAddress;
|
|
2645
2645
|
const decodedReferrer = (0, import_viem7.slice)(encodedReferrer, ENCODED_REFERRER_BYTE_OFFSET);
|
|
2646
2646
|
try {
|
|
2647
|
-
return (0,
|
|
2647
|
+
return (0, import_enssdk6.toNormalizedAddress)(decodedReferrer);
|
|
2648
2648
|
} catch {
|
|
2649
2649
|
throw new Error(`Decoded referrer value must be a valid EVM address.`);
|
|
2650
2650
|
}
|
|
@@ -2726,7 +2726,7 @@ var makeRegistrarActionPricingSchema = (valueLabel = "Registrar Action Pricing")
|
|
|
2726
2726
|
function invariant_registrarActionDecodedReferrerBasedOnRawReferrer(ctx) {
|
|
2727
2727
|
const { encodedReferrer, decodedReferrer } = ctx.value;
|
|
2728
2728
|
try {
|
|
2729
|
-
const expectedDecodedReferrer = decodeEncodedReferrer(encodedReferrer)
|
|
2729
|
+
const expectedDecodedReferrer = decodeEncodedReferrer(encodedReferrer);
|
|
2730
2730
|
if (decodedReferrer !== expectedDecodedReferrer) {
|
|
2731
2731
|
ctx.issues.push({
|
|
2732
2732
|
code: "custom",
|
|
@@ -2750,7 +2750,7 @@ var makeRegistrarActionReferralSchema = (valueLabel = "Registrar Action Referral
|
|
|
2750
2750
|
{ bytesCount: ENCODED_REFERRER_BYTE_LENGTH },
|
|
2751
2751
|
`${valueLabel} Encoded Referrer`
|
|
2752
2752
|
),
|
|
2753
|
-
decodedReferrer:
|
|
2753
|
+
decodedReferrer: makeNormalizedAddressSchema(`${valueLabel} Decoded Referrer`)
|
|
2754
2754
|
}).check(invariant_registrarActionDecodedReferrerBasedOnRawReferrer),
|
|
2755
2755
|
// referral not applicable
|
|
2756
2756
|
import_v424.z.object({
|
|
@@ -2773,7 +2773,7 @@ var EventIdsSchema = import_v424.z.array(EventIdSchema).min(1).transform((v) =>
|
|
|
2773
2773
|
var makeBaseRegistrarActionSchema = (valueLabel = "Base Registrar Action") => import_v424.z.object({
|
|
2774
2774
|
id: EventIdSchema,
|
|
2775
2775
|
incrementalDuration: makeDurationSchema(`${valueLabel} Incremental Duration`),
|
|
2776
|
-
registrant:
|
|
2776
|
+
registrant: makeNormalizedAddressSchema(`${valueLabel} Registrant`),
|
|
2777
2777
|
registrationLifecycle: makeRegistrationLifecycleSchema(
|
|
2778
2778
|
`${valueLabel} Registration Lifecycle`
|
|
2779
2779
|
),
|
|
@@ -2879,7 +2879,7 @@ var RegistrarActionsResponseCodes = {
|
|
|
2879
2879
|
function invariant_registrationLifecycleNodeMatchesName(ctx) {
|
|
2880
2880
|
const { name, action } = ctx.value;
|
|
2881
2881
|
const expectedNode = action.registrationLifecycle.node;
|
|
2882
|
-
const actualNode = (0,
|
|
2882
|
+
const actualNode = (0, import_enssdk7.namehashInterpretedName)(name);
|
|
2883
2883
|
if (actualNode !== expectedNode) {
|
|
2884
2884
|
ctx.issues.push({
|
|
2885
2885
|
code: "custom",
|
|
@@ -4008,7 +4008,7 @@ function hasOmnigraphApiConfigSupport(config) {
|
|
|
4008
4008
|
}
|
|
4009
4009
|
|
|
4010
4010
|
// src/registrars/basenames-subregistry.ts
|
|
4011
|
-
var
|
|
4011
|
+
var import_enssdk8 = require("enssdk");
|
|
4012
4012
|
var import_datasources7 = require("@ensnode/datasources");
|
|
4013
4013
|
function getBasenamesSubregistryId(namespace) {
|
|
4014
4014
|
const datasource = (0, import_datasources7.maybeGetDatasource)(namespace, import_datasources7.DatasourceNames.Basenames);
|
|
@@ -4024,10 +4024,10 @@ function getBasenamesSubregistryId(namespace) {
|
|
|
4024
4024
|
function getBasenamesSubregistryManagedName(namespaceId) {
|
|
4025
4025
|
switch (namespaceId) {
|
|
4026
4026
|
case import_datasources7.ENSNamespaceIds.Mainnet:
|
|
4027
|
-
return (0,
|
|
4027
|
+
return (0, import_enssdk8.asInterpretedName)("base.eth");
|
|
4028
4028
|
case import_datasources7.ENSNamespaceIds.Sepolia:
|
|
4029
4029
|
case import_datasources7.ENSNamespaceIds.SepoliaV2:
|
|
4030
|
-
return (0,
|
|
4030
|
+
return (0, import_enssdk8.asInterpretedName)("basetest.eth");
|
|
4031
4031
|
case import_datasources7.ENSNamespaceIds.EnsTestEnv:
|
|
4032
4032
|
throw new Error(
|
|
4033
4033
|
`No registrar managed name is known for the 'basenames' subregistry within the "${namespaceId}" namespace.`
|
|
@@ -4036,7 +4036,7 @@ function getBasenamesSubregistryManagedName(namespaceId) {
|
|
|
4036
4036
|
}
|
|
4037
4037
|
|
|
4038
4038
|
// src/registrars/ethnames-subregistry.ts
|
|
4039
|
-
var
|
|
4039
|
+
var import_enssdk9 = require("enssdk");
|
|
4040
4040
|
var import_datasources8 = require("@ensnode/datasources");
|
|
4041
4041
|
function getEthnamesSubregistryId(namespace) {
|
|
4042
4042
|
const datasource = (0, import_datasources8.maybeGetDatasource)(namespace, import_datasources8.DatasourceNames.ENSRoot);
|
|
@@ -4055,12 +4055,12 @@ function getEthnamesSubregistryManagedName(namespaceId) {
|
|
|
4055
4055
|
case import_datasources8.ENSNamespaceIds.Sepolia:
|
|
4056
4056
|
case import_datasources8.ENSNamespaceIds.SepoliaV2:
|
|
4057
4057
|
case import_datasources8.ENSNamespaceIds.EnsTestEnv:
|
|
4058
|
-
return (0,
|
|
4058
|
+
return (0, import_enssdk9.asInterpretedName)("eth");
|
|
4059
4059
|
}
|
|
4060
4060
|
}
|
|
4061
4061
|
|
|
4062
4062
|
// src/registrars/lineanames-subregistry.ts
|
|
4063
|
-
var
|
|
4063
|
+
var import_enssdk10 = require("enssdk");
|
|
4064
4064
|
var import_datasources9 = require("@ensnode/datasources");
|
|
4065
4065
|
function getLineanamesSubregistryId(namespace) {
|
|
4066
4066
|
const datasource = (0, import_datasources9.maybeGetDatasource)(namespace, import_datasources9.DatasourceNames.Lineanames);
|
|
@@ -4076,10 +4076,10 @@ function getLineanamesSubregistryId(namespace) {
|
|
|
4076
4076
|
function getLineanamesSubregistryManagedName(namespaceId) {
|
|
4077
4077
|
switch (namespaceId) {
|
|
4078
4078
|
case import_datasources9.ENSNamespaceIds.Mainnet:
|
|
4079
|
-
return (0,
|
|
4079
|
+
return (0, import_enssdk10.asInterpretedName)("linea.eth");
|
|
4080
4080
|
case import_datasources9.ENSNamespaceIds.Sepolia:
|
|
4081
4081
|
case import_datasources9.ENSNamespaceIds.SepoliaV2:
|
|
4082
|
-
return (0,
|
|
4082
|
+
return (0, import_enssdk10.asInterpretedName)("linea-sepolia.eth");
|
|
4083
4083
|
case import_datasources9.ENSNamespaceIds.EnsTestEnv:
|
|
4084
4084
|
throw new Error(
|
|
4085
4085
|
`No registrar managed name is known for the 'Lineanames' subregistry within the "${namespaceId}" namespace.`
|
|
@@ -4103,7 +4103,7 @@ function isRegistrationInGracePeriod(info, now) {
|
|
|
4103
4103
|
}
|
|
4104
4104
|
|
|
4105
4105
|
// src/resolution/ensip19-chainid.ts
|
|
4106
|
-
var
|
|
4106
|
+
var import_enssdk11 = require("enssdk");
|
|
4107
4107
|
var import_chains = require("viem/chains");
|
|
4108
4108
|
var import_datasources10 = require("@ensnode/datasources");
|
|
4109
4109
|
var getResolvePrimaryNameChainIdParam = (chainId, namespaceId) => {
|
|
@@ -4111,7 +4111,7 @@ var getResolvePrimaryNameChainIdParam = (chainId, namespaceId) => {
|
|
|
4111
4111
|
return chainId === ensRootChainId ? import_chains.mainnet.id : chainId;
|
|
4112
4112
|
};
|
|
4113
4113
|
var translateDefaultableChainIdToChainId = (chainId, namespaceId) => {
|
|
4114
|
-
return chainId ===
|
|
4114
|
+
return chainId === import_enssdk11.DEFAULT_EVM_CHAIN_ID ? (0, import_datasources10.getENSRootChainId)(namespaceId) : chainId;
|
|
4115
4115
|
};
|
|
4116
4116
|
|
|
4117
4117
|
// src/resolution/resolver-records-selection.ts
|
|
@@ -4465,7 +4465,7 @@ var import_viem9 = require("viem");
|
|
|
4465
4465
|
var interpretAddress = (owner) => (0, import_viem9.isAddressEqual)(import_viem9.zeroAddress, owner) ? null : owner;
|
|
4466
4466
|
|
|
4467
4467
|
// src/shared/interpretation/interpret-record-values.ts
|
|
4468
|
-
var
|
|
4468
|
+
var import_enssdk12 = require("enssdk");
|
|
4469
4469
|
var import_viem10 = require("viem");
|
|
4470
4470
|
|
|
4471
4471
|
// src/shared/null-bytes.ts
|
|
@@ -4475,16 +4475,16 @@ var stripNullBytes = (value) => value.replaceAll("\0", "");
|
|
|
4475
4475
|
// src/shared/interpretation/interpret-record-values.ts
|
|
4476
4476
|
function interpretNameRecordValue(value) {
|
|
4477
4477
|
if (value === "") return null;
|
|
4478
|
-
if (!(0,
|
|
4478
|
+
if (!(0, import_enssdk12.isInterpretedName)(value)) return null;
|
|
4479
4479
|
return value;
|
|
4480
4480
|
}
|
|
4481
4481
|
function interpretAddressRecordValue(value) {
|
|
4482
4482
|
if (hasNullByte(value)) return null;
|
|
4483
4483
|
if (value === "") return null;
|
|
4484
4484
|
if (value === "0x") return null;
|
|
4485
|
-
if (!(0, import_viem10.isAddress)(value)) return value;
|
|
4485
|
+
if (!(0, import_viem10.isAddress)(value, { strict: false })) return value;
|
|
4486
4486
|
if ((0, import_viem10.isAddressEqual)(value, import_viem10.zeroAddress)) return null;
|
|
4487
|
-
return (0,
|
|
4487
|
+
return (0, import_enssdk12.toNormalizedAddress)(value);
|
|
4488
4488
|
}
|
|
4489
4489
|
function interpretTextRecordKey(key) {
|
|
4490
4490
|
if (hasNullByte(key)) return null;
|
|
@@ -4503,18 +4503,18 @@ function getNamespaceSpecificValue(namespace, value) {
|
|
|
4503
4503
|
}
|
|
4504
4504
|
|
|
4505
4505
|
// src/shared/root-registry.ts
|
|
4506
|
-
var
|
|
4506
|
+
var import_enssdk13 = require("enssdk");
|
|
4507
4507
|
var import_datasources12 = require("@ensnode/datasources");
|
|
4508
4508
|
var getENSv1Registry = (namespace) => getDatasourceContract(namespace, import_datasources12.DatasourceNames.ENSRoot, "ENSv1Registry");
|
|
4509
4509
|
var isENSv1Registry = (namespace, contract) => accountIdEqual(getENSv1Registry(namespace), contract);
|
|
4510
4510
|
var getENSv2RootRegistry = (namespace) => getDatasourceContract(namespace, import_datasources12.DatasourceNames.ENSv2Root, "RootRegistry");
|
|
4511
|
-
var getENSv2RootRegistryId = (namespace) => (0,
|
|
4511
|
+
var getENSv2RootRegistryId = (namespace) => (0, import_enssdk13.makeRegistryId)(getENSv2RootRegistry(namespace));
|
|
4512
4512
|
var isENSv2RootRegistry = (namespace, contract) => accountIdEqual(getENSv2RootRegistry(namespace), contract);
|
|
4513
4513
|
var maybeGetENSv2RootRegistry = (namespace) => maybeGetDatasourceContract(namespace, import_datasources12.DatasourceNames.ENSv2Root, "RootRegistry");
|
|
4514
4514
|
var maybeGetENSv2RootRegistryId = (namespace) => {
|
|
4515
4515
|
const root = maybeGetENSv2RootRegistry(namespace);
|
|
4516
4516
|
if (!root) return void 0;
|
|
4517
|
-
return (0,
|
|
4517
|
+
return (0, import_enssdk13.makeRegistryId)(root);
|
|
4518
4518
|
};
|
|
4519
4519
|
|
|
4520
4520
|
// src/shared/url.ts
|