@ensdomains/ensjs 3.0.0-alpha.15 → 3.0.0-alpha.18
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/GqlManager.d.ts +5 -3
- package/dist/cjs/GqlManager.js +99 -90
- package/dist/cjs/GqlManager.js.map +7 -0
- package/dist/cjs/contracts/baseRegistrar.d.ts +1 -1
- package/dist/cjs/contracts/baseRegistrar.js +25 -3
- package/dist/cjs/contracts/baseRegistrar.js.map +7 -0
- package/dist/cjs/contracts/ethRegistrarController.d.ts +1 -1
- package/dist/cjs/contracts/ethRegistrarController.js +25 -3
- package/dist/cjs/contracts/ethRegistrarController.js.map +7 -0
- package/dist/cjs/contracts/getContractAddress.js +62 -43
- package/dist/cjs/contracts/getContractAddress.js.map +7 -0
- package/dist/cjs/contracts/index.d.ts +8 -8
- package/dist/cjs/contracts/index.js +77 -32
- package/dist/cjs/contracts/index.js.map +7 -0
- package/dist/cjs/contracts/multicall.d.ts +1 -1
- package/dist/cjs/contracts/multicall.js +25 -21
- package/dist/cjs/contracts/multicall.js.map +7 -0
- package/dist/cjs/contracts/nameWrapper.d.ts +1 -1
- package/dist/cjs/contracts/nameWrapper.js +25 -3
- package/dist/cjs/contracts/nameWrapper.js.map +7 -0
- package/dist/cjs/contracts/publicResolver.d.ts +1 -1
- package/dist/cjs/contracts/publicResolver.js +25 -3
- package/dist/cjs/contracts/publicResolver.js.map +7 -0
- package/dist/cjs/contracts/registry.d.ts +1 -1
- package/dist/cjs/contracts/registry.js +25 -3
- package/dist/cjs/contracts/registry.js.map +7 -0
- package/dist/cjs/contracts/reverseRegistrar.d.ts +1 -1
- package/dist/cjs/contracts/reverseRegistrar.js +25 -3
- package/dist/cjs/contracts/reverseRegistrar.js.map +7 -0
- package/dist/cjs/contracts/types.js +16 -1
- package/dist/cjs/contracts/types.js.map +7 -0
- package/dist/cjs/contracts/universalResolver.d.ts +1 -1
- package/dist/cjs/contracts/universalResolver.js +25 -3
- package/dist/cjs/contracts/universalResolver.js.map +7 -0
- package/dist/cjs/functions/batch.js +43 -15
- package/dist/cjs/functions/batch.js.map +7 -0
- package/dist/cjs/functions/batchWrappers.d.ts +2 -2
- package/dist/cjs/functions/batchWrappers.js +98 -67
- package/dist/cjs/functions/batchWrappers.js.map +7 -0
- package/dist/cjs/functions/burnFuses.d.ts +7 -26
- package/dist/cjs/functions/burnFuses.js +63 -38
- package/dist/cjs/functions/burnFuses.js.map +7 -0
- package/dist/cjs/functions/commitName.js +46 -22
- package/dist/cjs/functions/commitName.js.map +7 -0
- package/dist/cjs/functions/createSubname.js +80 -36
- package/dist/cjs/functions/createSubname.js.map +7 -0
- package/dist/cjs/functions/deleteSubname.js +31 -8
- package/dist/cjs/functions/deleteSubname.js.map +7 -0
- package/dist/cjs/functions/getDNSOwner.js +74 -72
- package/dist/cjs/functions/getDNSOwner.js.map +7 -0
- package/dist/cjs/functions/getExpiry.js +98 -73
- package/dist/cjs/functions/getExpiry.js.map +7 -0
- package/dist/cjs/functions/getFuses.js +63 -37
- package/dist/cjs/functions/getFuses.js.map +7 -0
- package/dist/cjs/functions/getHistory.d.ts +19 -15
- package/dist/cjs/functions/getHistory.js +110 -77
- package/dist/cjs/functions/getHistory.js.map +7 -0
- package/dist/cjs/functions/getName.js +52 -28
- package/dist/cjs/functions/getName.js.map +7 -0
- package/dist/cjs/functions/getNames.js +119 -104
- package/dist/cjs/functions/getNames.js.map +7 -0
- package/dist/cjs/functions/getOwner.js +148 -125
- package/dist/cjs/functions/getOwner.js.map +7 -0
- package/dist/cjs/functions/getPrice.js +72 -43
- package/dist/cjs/functions/getPrice.js.map +7 -0
- package/dist/cjs/functions/getProfile.js +404 -291
- package/dist/cjs/functions/getProfile.js.map +7 -0
- package/dist/cjs/functions/getRecords.js +30 -9
- package/dist/cjs/functions/getRecords.js.map +7 -0
- package/dist/cjs/functions/getResolver.js +42 -19
- package/dist/cjs/functions/getResolver.js.map +7 -0
- package/dist/cjs/functions/getSpecificRecord.js +189 -268
- package/dist/cjs/functions/getSpecificRecord.js.map +7 -0
- package/dist/cjs/functions/getSubnames.js +84 -63
- package/dist/cjs/functions/getSubnames.js.map +7 -0
- package/dist/cjs/functions/initialGetters.js +47 -37
- package/dist/cjs/functions/initialGetters.js.map +7 -0
- package/dist/cjs/functions/registerName.js +41 -17
- package/dist/cjs/functions/registerName.js.map +7 -0
- package/dist/cjs/functions/renewName.js +32 -8
- package/dist/cjs/functions/renewName.js.map +7 -0
- package/dist/cjs/functions/setName.js +41 -10
- package/dist/cjs/functions/setName.js.map +7 -0
- package/dist/cjs/functions/setRecord.d.ts +2 -2
- package/dist/cjs/functions/setRecord.js +54 -25
- package/dist/cjs/functions/setRecord.js.map +7 -0
- package/dist/cjs/functions/setRecords.js +50 -22
- package/dist/cjs/functions/setRecords.js.map +7 -0
- package/dist/cjs/functions/setResolver.js +45 -18
- package/dist/cjs/functions/setResolver.js.map +7 -0
- package/dist/cjs/functions/transferName.js +62 -26
- package/dist/cjs/functions/transferName.js.map +7 -0
- package/dist/cjs/functions/transferSubname.js +62 -23
- package/dist/cjs/functions/transferSubname.js.map +7 -0
- package/dist/cjs/functions/unwrapName.js +50 -20
- package/dist/cjs/functions/unwrapName.js.map +7 -0
- package/dist/cjs/functions/wrapName.js +121 -58
- package/dist/cjs/functions/wrapName.js.map +7 -0
- package/dist/cjs/generated/BaseRegistrarImplementation.js +16 -1
- package/dist/cjs/generated/BaseRegistrarImplementation.js.map +7 -0
- package/dist/cjs/generated/DNSRegistrar.js +16 -1
- package/dist/cjs/generated/DNSRegistrar.js.map +7 -0
- package/dist/cjs/generated/DNSSECImpl.js +16 -1
- package/dist/cjs/generated/DNSSECImpl.js.map +7 -0
- package/dist/cjs/generated/DefaultReverseResolver.js +16 -1
- package/dist/cjs/generated/DefaultReverseResolver.js.map +7 -0
- package/dist/cjs/generated/ENSRegistry.js +16 -1
- package/dist/cjs/generated/ENSRegistry.js.map +7 -0
- package/dist/cjs/generated/ETHRegistrarController.js +16 -1
- package/dist/cjs/generated/ETHRegistrarController.js.map +7 -0
- package/dist/cjs/generated/Multicall.js +16 -1
- package/dist/cjs/generated/Multicall.js.map +7 -0
- package/dist/cjs/generated/NameWrapper.js +16 -1
- package/dist/cjs/generated/NameWrapper.js.map +7 -0
- package/dist/cjs/generated/P256SHA256Algorithm.js +16 -1
- package/dist/cjs/generated/P256SHA256Algorithm.js.map +7 -0
- package/dist/cjs/generated/PublicResolver.js +16 -1
- package/dist/cjs/generated/PublicResolver.js.map +7 -0
- package/dist/cjs/generated/RSASHA1Algorithm.js +16 -1
- package/dist/cjs/generated/RSASHA1Algorithm.js.map +7 -0
- package/dist/cjs/generated/RSASHA256Algorithm.js +16 -1
- package/dist/cjs/generated/RSASHA256Algorithm.js.map +7 -0
- package/dist/cjs/generated/ReverseRegistrar.js +16 -1
- package/dist/cjs/generated/ReverseRegistrar.js.map +7 -0
- package/dist/cjs/generated/Root.js +16 -1
- package/dist/cjs/generated/Root.js.map +7 -0
- package/dist/cjs/generated/SHA1Digest.js +16 -1
- package/dist/cjs/generated/SHA1Digest.js.map +7 -0
- package/dist/cjs/generated/SHA1NSEC3Digest.js +16 -1
- package/dist/cjs/generated/SHA1NSEC3Digest.js.map +7 -0
- package/dist/cjs/generated/SHA256Digest.js +16 -1
- package/dist/cjs/generated/SHA256Digest.js.map +7 -0
- package/dist/cjs/generated/StaticMetadataService.js +16 -1
- package/dist/cjs/generated/StaticMetadataService.js.map +7 -0
- package/dist/cjs/generated/TLDPublicSuffixList.js +16 -1
- package/dist/cjs/generated/TLDPublicSuffixList.js.map +7 -0
- package/dist/cjs/generated/UniversalResolver.js +16 -1
- package/dist/cjs/generated/UniversalResolver.js.map +7 -0
- package/dist/cjs/generated/common.js +16 -1
- package/dist/cjs/generated/common.js.map +7 -0
- package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.js +785 -764
- package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.js.map +7 -0
- package/dist/cjs/generated/factories/DNSRegistrar__factory.js +281 -264
- package/dist/cjs/generated/factories/DNSRegistrar__factory.js.map +7 -0
- package/dist/cjs/generated/factories/DNSSECImpl__factory.js +485 -468
- package/dist/cjs/generated/factories/DNSSECImpl__factory.js.map +7 -0
- package/dist/cjs/generated/factories/DefaultReverseResolver__factory.js +103 -82
- package/dist/cjs/generated/factories/DefaultReverseResolver__factory.js.map +7 -0
- package/dist/cjs/generated/factories/ENSRegistry__factory.js +448 -431
- package/dist/cjs/generated/factories/ENSRegistry__factory.js.map +7 -0
- package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +535 -514
- package/dist/cjs/generated/factories/ETHRegistrarController__factory.js.map +7 -0
- package/dist/cjs/generated/factories/Multicall__factory.js +458 -441
- package/dist/cjs/generated/factories/Multicall__factory.js.map +7 -0
- package/dist/cjs/generated/factories/NameWrapper__factory.js +1342 -1325
- package/dist/cjs/generated/factories/NameWrapper__factory.js.map +7 -0
- package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +60 -43
- package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js.map +7 -0
- package/dist/cjs/generated/factories/PublicResolver__factory.js +902 -885
- package/dist/cjs/generated/factories/PublicResolver__factory.js.map +7 -0
- package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +60 -43
- package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js.map +7 -0
- package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +60 -43
- package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js.map +7 -0
- package/dist/cjs/generated/factories/ReverseRegistrar__factory.js +350 -333
- package/dist/cjs/generated/factories/ReverseRegistrar__factory.js.map +7 -0
- package/dist/cjs/generated/factories/Root__factory.js +254 -237
- package/dist/cjs/generated/factories/Root__factory.js.map +7 -0
- package/dist/cjs/generated/factories/SHA1Digest__factory.js +55 -38
- package/dist/cjs/generated/factories/SHA1Digest__factory.js.map +7 -0
- package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +60 -43
- package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js.map +7 -0
- package/dist/cjs/generated/factories/SHA256Digest__factory.js +55 -38
- package/dist/cjs/generated/factories/SHA256Digest__factory.js.map +7 -0
- package/dist/cjs/generated/factories/StaticMetadataService__factory.js +65 -44
- package/dist/cjs/generated/factories/StaticMetadataService__factory.js.map +7 -0
- package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +50 -33
- package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js.map +7 -0
- package/dist/cjs/generated/factories/UniversalResolver__factory.js +216 -199
- package/dist/cjs/generated/factories/UniversalResolver__factory.js.map +7 -0
- package/dist/cjs/generated/factories/index.js +62 -45
- package/dist/cjs/generated/factories/index.js.map +7 -0
- package/dist/cjs/generated/index.js +69 -65
- package/dist/cjs/generated/index.js.map +7 -0
- package/dist/cjs/index.d.ts +21 -31
- package/dist/cjs/index.js +319 -243
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/utils/contentHash.js +146 -142
- package/dist/cjs/utils/contentHash.js.map +7 -0
- package/dist/cjs/utils/createReverseNode.js +24 -2
- package/dist/cjs/utils/createReverseNode.js.map +7 -0
- package/dist/cjs/utils/format.js +28 -8
- package/dist/cjs/utils/format.js.map +7 -0
- package/dist/cjs/utils/fuses.d.ts +19 -0
- package/dist/cjs/utils/fuses.js +63 -17
- package/dist/cjs/utils/fuses.js.map +7 -0
- package/dist/cjs/utils/generateFuseInput.js +38 -16
- package/dist/cjs/utils/generateFuseInput.js.map +7 -0
- package/dist/cjs/utils/hexEncodedName.js +30 -7
- package/dist/cjs/utils/hexEncodedName.js.map +7 -0
- package/dist/cjs/utils/labels.js +100 -84
- package/dist/cjs/utils/labels.js.map +7 -0
- package/dist/cjs/utils/makeHashIndexes.js +28 -6
- package/dist/cjs/utils/makeHashIndexes.js.map +7 -0
- package/dist/cjs/utils/normalise.js +49 -28
- package/dist/cjs/utils/normalise.js.map +7 -0
- package/dist/cjs/utils/recordHelpers.js +82 -63
- package/dist/cjs/utils/recordHelpers.js.map +7 -0
- package/dist/cjs/utils/registerHelpers.d.ts +1 -1
- package/dist/cjs/utils/registerHelpers.js +111 -70
- package/dist/cjs/utils/registerHelpers.js.map +7 -0
- package/dist/cjs/utils/singleCall.js +24 -6
- package/dist/cjs/utils/singleCall.js.map +7 -0
- package/dist/cjs/utils/validation.js +77 -63
- package/dist/cjs/utils/validation.js.map +7 -0
- package/dist/cjs/utils/wrapperExpiry.js +40 -25
- package/dist/cjs/utils/wrapperExpiry.js.map +7 -0
- package/dist/cjs/utils/writeTx.d.ts +1 -1
- package/dist/cjs/utils/writeTx.js +24 -4
- package/dist/cjs/utils/writeTx.js.map +7 -0
- package/dist/esm/GqlManager.d.mts +11 -0
- package/dist/esm/GqlManager.mjs +86 -0
- package/dist/esm/GqlManager.mjs.map +7 -0
- package/dist/esm/contracts/baseRegistrar.d.mts +3 -0
- package/dist/esm/contracts/baseRegistrar.mjs +7 -0
- package/dist/esm/contracts/baseRegistrar.mjs.map +7 -0
- package/dist/esm/contracts/ethRegistrarController.d.mts +3 -0
- package/dist/esm/contracts/ethRegistrarController.mjs +7 -0
- package/dist/esm/contracts/ethRegistrarController.mjs.map +7 -0
- package/dist/esm/contracts/{getContractAddress.d.ts → getContractAddress.d.mts} +0 -0
- package/dist/esm/contracts/getContractAddress.mjs +46 -0
- package/dist/esm/contracts/getContractAddress.mjs.map +7 -0
- package/dist/esm/contracts/{index.d.ts → index.d.mts} +8 -8
- package/dist/esm/contracts/index.mjs +57 -0
- package/dist/esm/contracts/index.mjs.map +7 -0
- package/dist/esm/contracts/{registry.d.ts → multicall.d.mts} +1 -1
- package/dist/esm/contracts/multicall.mjs +7 -0
- package/dist/esm/contracts/multicall.mjs.map +7 -0
- package/dist/esm/contracts/{ethRegistrarController.d.ts → nameWrapper.d.mts} +1 -1
- package/dist/esm/contracts/nameWrapper.mjs +7 -0
- package/dist/esm/contracts/nameWrapper.mjs.map +7 -0
- package/dist/esm/contracts/{baseRegistrar.d.ts → publicResolver.d.mts} +1 -1
- package/dist/esm/contracts/publicResolver.mjs +7 -0
- package/dist/esm/contracts/publicResolver.mjs.map +7 -0
- package/dist/esm/contracts/{multicall.d.ts → registry.d.mts} +1 -1
- package/dist/esm/contracts/registry.mjs +7 -0
- package/dist/esm/contracts/registry.mjs.map +7 -0
- package/dist/esm/contracts/{nameWrapper.d.ts → reverseRegistrar.d.mts} +1 -1
- package/dist/esm/contracts/reverseRegistrar.mjs +7 -0
- package/dist/esm/contracts/reverseRegistrar.mjs.map +7 -0
- package/dist/esm/contracts/{types.d.ts → types.d.mts} +0 -0
- package/dist/esm/contracts/types.mjs +1 -0
- package/dist/esm/contracts/types.mjs.map +7 -0
- package/dist/esm/contracts/universalResolver.d.mts +3 -0
- package/dist/esm/contracts/universalResolver.mjs +7 -0
- package/dist/esm/contracts/universalResolver.mjs.map +7 -0
- package/dist/esm/functions/{batch.d.ts → batch.d.mts} +0 -0
- package/dist/esm/functions/batch.mjs +30 -0
- package/dist/esm/functions/batch.mjs.map +7 -0
- package/dist/esm/functions/{batchWrappers.d.ts → batchWrappers.d.mts} +2 -2
- package/dist/esm/functions/batchWrappers.mjs +83 -0
- package/dist/esm/functions/batchWrappers.mjs.map +7 -0
- package/dist/esm/functions/burnFuses.d.mts +13 -0
- package/dist/esm/functions/burnFuses.mjs +53 -0
- package/dist/esm/functions/burnFuses.mjs.map +7 -0
- package/dist/esm/functions/{commitName.d.ts → commitName.d.mts} +0 -0
- package/dist/esm/functions/commitName.mjs +29 -0
- package/dist/esm/functions/commitName.mjs.map +7 -0
- package/dist/esm/functions/{createSubname.d.ts → createSubname.d.mts} +0 -0
- package/dist/esm/functions/createSubname.mjs +61 -0
- package/dist/esm/functions/createSubname.mjs.map +7 -0
- package/dist/esm/functions/{deleteSubname.d.ts → deleteSubname.d.mts} +0 -0
- package/dist/esm/functions/deleteSubname.mjs +14 -0
- package/dist/esm/functions/deleteSubname.mjs.map +7 -0
- package/dist/esm/functions/{getDNSOwner.d.ts → getDNSOwner.d.mts} +0 -0
- package/dist/esm/functions/getDNSOwner.mjs +58 -0
- package/dist/esm/functions/getDNSOwner.mjs.map +7 -0
- package/dist/esm/functions/{getExpiry.d.ts → getExpiry.d.mts} +0 -0
- package/dist/esm/functions/getExpiry.mjs +96 -0
- package/dist/esm/functions/getExpiry.mjs.map +7 -0
- package/dist/esm/functions/{getFuses.d.ts → getFuses.d.mts} +0 -0
- package/dist/esm/functions/getFuses.mjs +51 -0
- package/dist/esm/functions/getFuses.mjs.map +7 -0
- package/dist/esm/functions/getHistory.d.mts +28 -0
- package/dist/esm/functions/getHistory.mjs +197 -0
- package/dist/esm/functions/getHistory.mjs.map +7 -0
- package/dist/esm/functions/{getName.d.ts → getName.d.mts} +0 -0
- package/dist/esm/functions/getName.mjs +39 -0
- package/dist/esm/functions/getName.mjs.map +7 -0
- package/dist/esm/functions/{getNames.d.ts → getNames.d.mts} +0 -0
- package/dist/esm/functions/getNames.mjs +218 -0
- package/dist/esm/functions/getNames.mjs.map +7 -0
- package/dist/esm/functions/{getOwner.d.ts → getOwner.d.mts} +0 -0
- package/dist/esm/functions/getOwner.mjs +144 -0
- package/dist/esm/functions/getOwner.mjs.map +7 -0
- package/dist/esm/functions/{getPrice.d.ts → getPrice.d.mts} +0 -0
- package/dist/esm/functions/getPrice.mjs +60 -0
- package/dist/esm/functions/getPrice.mjs.map +7 -0
- package/dist/esm/functions/{getProfile.d.ts → getProfile.d.mts} +0 -0
- package/dist/esm/functions/getProfile.mjs +440 -0
- package/dist/esm/functions/getProfile.mjs.map +7 -0
- package/dist/esm/functions/{getRecords.d.ts → getRecords.d.mts} +0 -0
- package/dist/esm/functions/getRecords.mjs +13 -0
- package/dist/esm/functions/getRecords.mjs.map +7 -0
- package/dist/esm/functions/{getResolver.d.ts → getResolver.d.mts} +0 -0
- package/dist/esm/functions/getResolver.mjs +28 -0
- package/dist/esm/functions/getResolver.mjs.map +7 -0
- package/dist/esm/functions/{getSpecificRecord.d.ts → getSpecificRecord.d.mts} +0 -0
- package/dist/esm/functions/getSpecificRecord.mjs +177 -0
- package/dist/esm/functions/getSpecificRecord.mjs.map +7 -0
- package/dist/esm/functions/{getSubnames.d.ts → getSubnames.d.mts} +0 -0
- package/dist/esm/functions/getSubnames.mjs +156 -0
- package/dist/esm/functions/getSubnames.mjs.map +7 -0
- package/dist/esm/functions/{initialGetters.d.ts → initialGetters.d.mts} +0 -0
- package/dist/esm/functions/initialGetters.mjs +24 -0
- package/dist/esm/functions/initialGetters.mjs.map +7 -0
- package/dist/esm/functions/{registerName.d.ts → registerName.d.mts} +0 -0
- package/dist/esm/functions/registerName.mjs +26 -0
- package/dist/esm/functions/registerName.mjs.map +7 -0
- package/dist/esm/functions/{renewName.d.ts → renewName.d.mts} +0 -0
- package/dist/esm/functions/renewName.mjs +15 -0
- package/dist/esm/functions/renewName.mjs.map +7 -0
- package/dist/esm/functions/{setName.d.ts → setName.d.mts} +0 -0
- package/dist/esm/functions/setName.mjs +24 -0
- package/dist/esm/functions/setName.mjs.map +7 -0
- package/dist/esm/functions/{setRecord.d.ts → setRecord.d.mts} +2 -2
- package/dist/esm/functions/setRecord.mjs +37 -0
- package/dist/esm/functions/setRecord.mjs.map +7 -0
- package/dist/esm/functions/{setRecords.d.ts → setRecords.d.mts} +0 -0
- package/dist/esm/functions/setRecords.mjs +33 -0
- package/dist/esm/functions/setRecords.mjs.map +7 -0
- package/dist/esm/functions/{setResolver.d.ts → setResolver.d.mts} +0 -0
- package/dist/esm/functions/setResolver.mjs +30 -0
- package/dist/esm/functions/setResolver.mjs.map +7 -0
- package/dist/esm/functions/{transferName.d.ts → transferName.d.mts} +0 -0
- package/dist/esm/functions/transferName.mjs +46 -0
- package/dist/esm/functions/transferName.mjs.map +7 -0
- package/dist/esm/functions/{transferSubname.d.ts → transferSubname.d.mts} +0 -0
- package/dist/esm/functions/transferSubname.mjs +46 -0
- package/dist/esm/functions/transferSubname.mjs.map +7 -0
- package/dist/esm/functions/{unwrapName.d.ts → unwrapName.d.mts} +0 -0
- package/dist/esm/functions/unwrapName.mjs +34 -0
- package/dist/esm/functions/unwrapName.mjs.map +7 -0
- package/dist/esm/functions/{wrapName.d.ts → wrapName.d.mts} +0 -0
- package/dist/esm/functions/wrapName.mjs +104 -0
- package/dist/esm/functions/wrapName.mjs.map +7 -0
- package/dist/esm/generated/{BaseRegistrarImplementation.d.ts → BaseRegistrarImplementation.d.mts} +0 -0
- package/dist/esm/generated/BaseRegistrarImplementation.mjs +1 -0
- package/dist/esm/generated/BaseRegistrarImplementation.mjs.map +7 -0
- package/dist/esm/generated/{DNSRegistrar.d.ts → DNSRegistrar.d.mts} +0 -0
- package/dist/esm/generated/DNSRegistrar.mjs +1 -0
- package/dist/esm/generated/DNSRegistrar.mjs.map +7 -0
- package/dist/esm/generated/{DNSSECImpl.d.ts → DNSSECImpl.d.mts} +0 -0
- package/dist/esm/generated/DNSSECImpl.mjs +1 -0
- package/dist/esm/generated/DNSSECImpl.mjs.map +7 -0
- package/dist/esm/generated/{DefaultReverseResolver.d.ts → DefaultReverseResolver.d.mts} +0 -0
- package/dist/esm/generated/DefaultReverseResolver.mjs +1 -0
- package/dist/esm/generated/DefaultReverseResolver.mjs.map +7 -0
- package/dist/esm/generated/{ENSRegistry.d.ts → ENSRegistry.d.mts} +0 -0
- package/dist/esm/generated/ENSRegistry.mjs +1 -0
- package/dist/esm/generated/ENSRegistry.mjs.map +7 -0
- package/dist/esm/generated/{ETHRegistrarController.d.ts → ETHRegistrarController.d.mts} +0 -0
- package/dist/esm/generated/ETHRegistrarController.mjs +1 -0
- package/dist/esm/generated/ETHRegistrarController.mjs.map +7 -0
- package/dist/esm/generated/{Multicall.d.ts → Multicall.d.mts} +0 -0
- package/dist/esm/generated/Multicall.mjs +1 -0
- package/dist/esm/generated/Multicall.mjs.map +7 -0
- package/dist/esm/generated/{NameWrapper.d.ts → NameWrapper.d.mts} +0 -0
- package/dist/esm/generated/NameWrapper.mjs +1 -0
- package/dist/esm/generated/NameWrapper.mjs.map +7 -0
- package/dist/esm/generated/{P256SHA256Algorithm.d.ts → P256SHA256Algorithm.d.mts} +0 -0
- package/dist/esm/generated/P256SHA256Algorithm.mjs +1 -0
- package/dist/esm/generated/P256SHA256Algorithm.mjs.map +7 -0
- package/dist/esm/generated/{PublicResolver.d.ts → PublicResolver.d.mts} +0 -0
- package/dist/esm/generated/PublicResolver.mjs +1 -0
- package/dist/esm/generated/PublicResolver.mjs.map +7 -0
- package/dist/esm/generated/{RSASHA1Algorithm.d.ts → RSASHA1Algorithm.d.mts} +0 -0
- package/dist/esm/generated/RSASHA1Algorithm.mjs +1 -0
- package/dist/esm/generated/RSASHA1Algorithm.mjs.map +7 -0
- package/dist/esm/generated/{RSASHA256Algorithm.d.ts → RSASHA256Algorithm.d.mts} +0 -0
- package/dist/esm/generated/RSASHA256Algorithm.mjs +1 -0
- package/dist/esm/generated/RSASHA256Algorithm.mjs.map +7 -0
- package/dist/esm/generated/{ReverseRegistrar.d.ts → ReverseRegistrar.d.mts} +0 -0
- package/dist/esm/generated/ReverseRegistrar.mjs +1 -0
- package/dist/esm/generated/ReverseRegistrar.mjs.map +7 -0
- package/dist/esm/generated/{Root.d.ts → Root.d.mts} +0 -0
- package/dist/esm/generated/Root.mjs +1 -0
- package/dist/esm/generated/Root.mjs.map +7 -0
- package/dist/esm/generated/{SHA1Digest.d.ts → SHA1Digest.d.mts} +0 -0
- package/dist/esm/generated/SHA1Digest.mjs +1 -0
- package/dist/esm/generated/SHA1Digest.mjs.map +7 -0
- package/dist/esm/generated/{SHA1NSEC3Digest.d.ts → SHA1NSEC3Digest.d.mts} +0 -0
- package/dist/esm/generated/SHA1NSEC3Digest.mjs +1 -0
- package/dist/esm/generated/SHA1NSEC3Digest.mjs.map +7 -0
- package/dist/esm/generated/{SHA256Digest.d.ts → SHA256Digest.d.mts} +0 -0
- package/dist/esm/generated/SHA256Digest.mjs +1 -0
- package/dist/esm/generated/SHA256Digest.mjs.map +7 -0
- package/dist/esm/generated/{StaticMetadataService.d.ts → StaticMetadataService.d.mts} +0 -0
- package/dist/esm/generated/StaticMetadataService.mjs +1 -0
- package/dist/esm/generated/StaticMetadataService.mjs.map +7 -0
- package/dist/esm/generated/{TLDPublicSuffixList.d.ts → TLDPublicSuffixList.d.mts} +0 -0
- package/dist/esm/generated/TLDPublicSuffixList.mjs +1 -0
- package/dist/esm/generated/TLDPublicSuffixList.mjs.map +7 -0
- package/dist/esm/generated/{UniversalResolver.d.ts → UniversalResolver.d.mts} +0 -0
- package/dist/esm/generated/UniversalResolver.mjs +1 -0
- package/dist/esm/generated/UniversalResolver.mjs.map +7 -0
- package/dist/esm/generated/{common.d.ts → common.d.mts} +0 -0
- package/dist/esm/generated/common.mjs +1 -0
- package/dist/esm/generated/common.mjs.map +7 -0
- package/dist/esm/generated/factories/{BaseRegistrarImplementation__factory.d.ts → BaseRegistrarImplementation__factory.d.mts} +0 -0
- package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.mjs +779 -0
- package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.mjs.map +7 -0
- package/dist/esm/generated/factories/{DNSRegistrar__factory.d.ts → DNSRegistrar__factory.d.mts} +0 -0
- package/dist/esm/generated/factories/DNSRegistrar__factory.mjs +278 -0
- package/dist/esm/generated/factories/DNSRegistrar__factory.mjs.map +7 -0
- package/dist/esm/generated/factories/{DNSSECImpl__factory.d.ts → DNSSECImpl__factory.d.mts} +0 -0
- package/dist/esm/generated/factories/DNSSECImpl__factory.mjs +483 -0
- package/dist/esm/generated/factories/DNSSECImpl__factory.mjs.map +7 -0
- package/dist/esm/generated/factories/{DefaultReverseResolver__factory.d.ts → DefaultReverseResolver__factory.d.mts} +0 -0
- package/dist/esm/generated/factories/DefaultReverseResolver__factory.mjs +96 -0
- package/dist/esm/generated/factories/DefaultReverseResolver__factory.mjs.map +7 -0
- package/dist/esm/generated/factories/{ENSRegistry__factory.d.ts → ENSRegistry__factory.d.mts} +0 -0
- package/dist/esm/generated/factories/ENSRegistry__factory.mjs +444 -0
- package/dist/esm/generated/factories/ENSRegistry__factory.mjs.map +7 -0
- package/dist/esm/generated/factories/{ETHRegistrarController__factory.d.ts → ETHRegistrarController__factory.d.mts} +0 -0
- package/dist/esm/generated/factories/ETHRegistrarController__factory.mjs +530 -0
- package/dist/esm/generated/factories/ETHRegistrarController__factory.mjs.map +7 -0
- package/dist/esm/generated/factories/{Multicall__factory.d.ts → Multicall__factory.d.mts} +0 -0
- package/dist/esm/generated/factories/Multicall__factory.mjs +462 -0
- package/dist/esm/generated/factories/Multicall__factory.mjs.map +7 -0
- package/dist/esm/generated/factories/{NameWrapper__factory.d.ts → NameWrapper__factory.d.mts} +0 -0
- package/dist/esm/generated/factories/NameWrapper__factory.mjs +1336 -0
- package/dist/esm/generated/factories/NameWrapper__factory.mjs.map +7 -0
- package/dist/esm/generated/factories/{P256SHA256Algorithm__factory.d.ts → P256SHA256Algorithm__factory.d.mts} +0 -0
- package/dist/esm/generated/factories/P256SHA256Algorithm__factory.mjs +53 -0
- package/dist/esm/generated/factories/P256SHA256Algorithm__factory.mjs.map +7 -0
- package/dist/esm/generated/factories/{PublicResolver__factory.d.ts → PublicResolver__factory.d.mts} +0 -0
- package/dist/esm/generated/factories/PublicResolver__factory.mjs +897 -0
- package/dist/esm/generated/factories/PublicResolver__factory.mjs.map +7 -0
- package/dist/esm/generated/factories/{RSASHA1Algorithm__factory.d.ts → RSASHA1Algorithm__factory.d.mts} +0 -0
- package/dist/esm/generated/factories/RSASHA1Algorithm__factory.mjs +53 -0
- package/dist/esm/generated/factories/RSASHA1Algorithm__factory.mjs.map +7 -0
- package/dist/esm/generated/factories/{RSASHA256Algorithm__factory.d.ts → RSASHA256Algorithm__factory.d.mts} +0 -0
- package/dist/esm/generated/factories/RSASHA256Algorithm__factory.mjs +53 -0
- package/dist/esm/generated/factories/RSASHA256Algorithm__factory.mjs.map +7 -0
- package/dist/esm/generated/factories/{ReverseRegistrar__factory.d.ts → ReverseRegistrar__factory.d.mts} +0 -0
- package/dist/esm/generated/factories/ReverseRegistrar__factory.mjs +345 -0
- package/dist/esm/generated/factories/ReverseRegistrar__factory.mjs.map +7 -0
- package/dist/esm/generated/factories/{Root__factory.d.ts → Root__factory.d.mts} +0 -0
- package/dist/esm/generated/factories/Root__factory.mjs +248 -0
- package/dist/esm/generated/factories/Root__factory.mjs.map +7 -0
- package/dist/esm/generated/factories/{SHA1Digest__factory.d.ts → SHA1Digest__factory.d.mts} +0 -0
- package/dist/esm/generated/factories/SHA1Digest__factory.mjs +48 -0
- package/dist/esm/generated/factories/SHA1Digest__factory.mjs.map +7 -0
- package/dist/esm/generated/factories/{SHA1NSEC3Digest__factory.d.ts → SHA1NSEC3Digest__factory.d.mts} +0 -0
- package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.mjs +53 -0
- package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.mjs.map +7 -0
- package/dist/esm/generated/factories/{SHA256Digest__factory.d.ts → SHA256Digest__factory.d.mts} +0 -0
- package/dist/esm/generated/factories/SHA256Digest__factory.mjs +48 -0
- package/dist/esm/generated/factories/SHA256Digest__factory.mjs.map +7 -0
- package/dist/esm/generated/factories/{StaticMetadataService__factory.d.ts → StaticMetadataService__factory.d.mts} +0 -0
- package/dist/esm/generated/factories/StaticMetadataService__factory.mjs +58 -0
- package/dist/esm/generated/factories/StaticMetadataService__factory.mjs.map +7 -0
- package/dist/esm/generated/factories/{TLDPublicSuffixList__factory.d.ts → TLDPublicSuffixList__factory.d.mts} +0 -0
- package/dist/esm/generated/factories/TLDPublicSuffixList__factory.mjs +43 -0
- package/dist/esm/generated/factories/TLDPublicSuffixList__factory.mjs.map +7 -0
- package/dist/esm/generated/factories/{UniversalResolver__factory.d.ts → UniversalResolver__factory.d.mts} +0 -0
- package/dist/esm/generated/factories/UniversalResolver__factory.mjs +209 -0
- package/dist/esm/generated/factories/UniversalResolver__factory.mjs.map +7 -0
- package/dist/esm/generated/factories/{index.d.ts → index.d.mts} +0 -0
- package/dist/esm/generated/factories/index.mjs +44 -0
- package/dist/esm/generated/factories/index.mjs.map +7 -0
- package/dist/esm/generated/{index.d.ts → index.d.mts} +0 -0
- package/dist/esm/generated/index.mjs +46 -0
- package/dist/esm/generated/index.mjs.map +7 -0
- package/dist/esm/{index.d.ts → index.d.mts} +21 -31
- package/dist/esm/index.mjs +304 -0
- package/dist/esm/index.mjs.map +7 -0
- package/dist/esm/utils/{contentHash.d.ts → contentHash.d.mts} +0 -0
- package/dist/esm/utils/contentHash.mjs +143 -0
- package/dist/esm/utils/contentHash.mjs.map +7 -0
- package/dist/esm/utils/{createReverseNode.d.ts → createReverseNode.d.mts} +0 -0
- package/dist/esm/utils/createReverseNode.mjs +6 -0
- package/dist/esm/utils/createReverseNode.mjs.map +7 -0
- package/dist/esm/utils/{format.d.ts → format.d.mts} +0 -0
- package/dist/esm/utils/format.mjs +10 -0
- package/dist/esm/utils/format.mjs.map +7 -0
- package/dist/esm/utils/fuses.d.mts +40 -0
- package/dist/esm/utils/fuses.mjs +57 -0
- package/dist/esm/utils/fuses.mjs.map +7 -0
- package/dist/esm/utils/{generateFuseInput.d.ts → generateFuseInput.d.mts} +0 -0
- package/dist/esm/utils/generateFuseInput.mjs +16 -0
- package/dist/esm/utils/generateFuseInput.mjs.map +7 -0
- package/dist/esm/utils/{hexEncodedName.d.ts → hexEncodedName.d.mts} +0 -0
- package/dist/esm/utils/hexEncodedName.mjs +7 -0
- package/dist/esm/utils/hexEncodedName.mjs.map +7 -0
- package/dist/esm/utils/{labels.d.ts → labels.d.mts} +0 -0
- package/dist/esm/utils/labels.mjs +110 -0
- package/dist/esm/utils/labels.mjs.map +7 -0
- package/dist/esm/utils/{makeHashIndexes.d.ts → makeHashIndexes.d.mts} +0 -0
- package/dist/esm/utils/makeHashIndexes.mjs +11 -0
- package/dist/esm/utils/makeHashIndexes.mjs.map +7 -0
- package/dist/esm/utils/{normalise.d.ts → normalise.d.mts} +0 -0
- package/dist/esm/utils/normalise.mjs +31 -0
- package/dist/esm/utils/normalise.mjs.map +7 -0
- package/dist/esm/utils/{recordHelpers.d.ts → recordHelpers.d.mts} +0 -0
- package/dist/esm/utils/recordHelpers.mjs +71 -0
- package/dist/esm/utils/recordHelpers.mjs.map +7 -0
- package/dist/esm/utils/{registerHelpers.d.ts → registerHelpers.d.mts} +1 -1
- package/dist/esm/utils/registerHelpers.mjs +96 -0
- package/dist/esm/utils/registerHelpers.mjs.map +7 -0
- package/dist/esm/utils/{singleCall.d.ts → singleCall.d.mts} +0 -0
- package/dist/esm/utils/singleCall.mjs +6 -0
- package/dist/esm/utils/singleCall.mjs.map +7 -0
- package/dist/esm/utils/{validation.d.ts → validation.d.mts} +0 -0
- package/dist/esm/utils/validation.mjs +68 -0
- package/dist/esm/utils/validation.mjs.map +7 -0
- package/dist/esm/utils/{wrapperExpiry.d.ts → wrapperExpiry.d.mts} +0 -0
- package/dist/esm/utils/wrapperExpiry.mjs +26 -0
- package/dist/esm/utils/wrapperExpiry.mjs.map +7 -0
- package/dist/esm/utils/{writeTx.d.ts → writeTx.d.mts} +1 -1
- package/dist/esm/utils/writeTx.mjs +7 -0
- package/dist/esm/utils/writeTx.mjs.map +7 -0
- package/package.json +19 -5
- package/src/@types/@ensdomains/ens-contracts.d.ts +1 -1
- package/src/@types/dns-packet/index.d.ts +113 -113
- package/src/GqlManager.test.ts +8 -5
- package/src/GqlManager.ts +59 -36
- package/src/contracts/getContractAddress.ts +2 -0
- package/src/contracts/index.ts +8 -0
- package/src/contracts/multicall.ts +0 -19
- package/src/functions/batch.test.ts +8 -8
- package/src/functions/batch.ts +3 -3
- package/src/functions/batchWrappers.test.ts +11 -11
- package/src/functions/batchWrappers.ts +2 -2
- package/src/functions/burnFuses.test.ts +16 -16
- package/src/functions/burnFuses.ts +16 -49
- package/src/functions/commitName.test.ts +6 -6
- package/src/functions/createSubname.test.ts +6 -7
- package/src/functions/createSubname.ts +2 -2
- package/src/functions/deleteSubname.test.ts +6 -10
- package/src/functions/getDNSOwner.test.ts +11 -10
- package/src/functions/getDNSOwner.ts +1 -1
- package/src/functions/getExpiry.test.ts +6 -10
- package/src/functions/getExpiry.ts +1 -1
- package/src/functions/getFuses.test.ts +12 -16
- package/src/functions/getFuses.ts +3 -6
- package/src/functions/getHistory.test.ts +4 -4
- package/src/functions/getHistory.ts +25 -14
- package/src/functions/getName.test.ts +6 -6
- package/src/functions/getName.ts +1 -1
- package/src/functions/getNames.test.ts +22 -22
- package/src/functions/getNames.ts +25 -30
- package/src/functions/getOwner.test.ts +23 -14
- package/src/functions/getOwner.ts +16 -10
- package/src/functions/getPrice.ts +2 -2
- package/src/functions/getProfile.test.ts +14 -14
- package/src/functions/getProfile.ts +103 -101
- package/src/functions/getRecords.ts +1 -1
- package/src/functions/getResolver.test.ts +3 -3
- package/src/functions/getSpecificRecord.test.ts +12 -12
- package/src/functions/getSpecificRecord.ts +8 -143
- package/src/functions/getSubnames.test.ts +9 -9
- package/src/functions/getSubnames.ts +5 -12
- package/src/functions/makeCommitment.test.ts +4 -4
- package/src/functions/registerName.test.ts +6 -6
- package/src/functions/renewName.test.ts +5 -5
- package/src/functions/setName.test.ts +9 -9
- package/src/functions/setRecord.test.ts +11 -11
- package/src/functions/setRecord.ts +2 -6
- package/src/functions/setRecords.test.ts +5 -5
- package/src/functions/setResolver.test.ts +6 -8
- package/src/functions/setResolver.ts +1 -1
- package/src/functions/transferName.test.ts +8 -8
- package/src/functions/transferSubname.test.ts +6 -6
- package/src/functions/transferSubname.ts +2 -2
- package/src/functions/unwrapName.test.ts +6 -6
- package/src/functions/unwrapName.ts +10 -11
- package/src/functions/wrapName.test.ts +16 -17
- package/src/functions/wrapName.ts +18 -19
- package/src/index.ts +33 -20
- package/src/utils/contentHash.ts +24 -22
- package/src/utils/createReverseNode.ts +1 -1
- package/src/utils/fuses.ts +39 -0
- package/src/utils/normalise.ts +1 -1
- package/src/utils/recordHelpers.ts +12 -14
- package/src/utils/registerHelpers.ts +21 -20
- package/src/utils/validation.ts +8 -9
- package/src/utils/wrapperExpiry.ts +10 -12
- package/src/utils/writeTx.ts +1 -1
- package/dist/esm/GqlManager.d.ts +0 -9
- package/dist/esm/GqlManager.js +0 -74
- package/dist/esm/contracts/baseRegistrar.js +0 -2
- package/dist/esm/contracts/ethRegistrarController.js +0 -2
- package/dist/esm/contracts/getContractAddress.js +0 -42
- package/dist/esm/contracts/index.js +0 -29
- package/dist/esm/contracts/multicall.js +0 -20
- package/dist/esm/contracts/nameWrapper.js +0 -2
- package/dist/esm/contracts/publicResolver.d.ts +0 -3
- package/dist/esm/contracts/publicResolver.js +0 -2
- package/dist/esm/contracts/registry.js +0 -2
- package/dist/esm/contracts/reverseRegistrar.d.ts +0 -3
- package/dist/esm/contracts/reverseRegistrar.js +0 -2
- package/dist/esm/contracts/types.js +0 -1
- package/dist/esm/contracts/universalResolver.d.ts +0 -3
- package/dist/esm/contracts/universalResolver.js +0 -2
- package/dist/esm/functions/batch.js +0 -19
- package/dist/esm/functions/batchWrappers.js +0 -68
- package/dist/esm/functions/burnFuses.d.ts +0 -32
- package/dist/esm/functions/burnFuses.js +0 -41
- package/dist/esm/functions/commitName.js +0 -21
- package/dist/esm/functions/createSubname.js +0 -36
- package/dist/esm/functions/deleteSubname.js +0 -7
- package/dist/esm/functions/getDNSOwner.js +0 -51
- package/dist/esm/functions/getExpiry.js +0 -88
- package/dist/esm/functions/getFuses.js +0 -42
- package/dist/esm/functions/getHistory.d.ts +0 -24
- package/dist/esm/functions/getHistory.js +0 -179
- package/dist/esm/functions/getName.js +0 -32
- package/dist/esm/functions/getNames.js +0 -220
- package/dist/esm/functions/getOwner.js +0 -138
- package/dist/esm/functions/getPrice.js +0 -48
- package/dist/esm/functions/getProfile.js +0 -343
- package/dist/esm/functions/getRecords.js +0 -8
- package/dist/esm/functions/getResolver.js +0 -22
- package/dist/esm/functions/getSpecificRecord.js +0 -272
- package/dist/esm/functions/getSubnames.js +0 -152
- package/dist/esm/functions/initialGetters.js +0 -11
- package/dist/esm/functions/registerName.js +0 -16
- package/dist/esm/functions/renewName.js +0 -7
- package/dist/esm/functions/setName.js +0 -9
- package/dist/esm/functions/setRecord.js +0 -24
- package/dist/esm/functions/setRecords.js +0 -21
- package/dist/esm/functions/setResolver.js +0 -19
- package/dist/esm/functions/transferName.js +0 -26
- package/dist/esm/functions/transferSubname.js +0 -23
- package/dist/esm/functions/unwrapName.js +0 -20
- package/dist/esm/functions/wrapName.js +0 -60
- package/dist/esm/generated/BaseRegistrarImplementation.js +0 -1
- package/dist/esm/generated/DNSRegistrar.js +0 -1
- package/dist/esm/generated/DNSSECImpl.js +0 -1
- package/dist/esm/generated/DefaultReverseResolver.js +0 -1
- package/dist/esm/generated/ENSRegistry.js +0 -1
- package/dist/esm/generated/ETHRegistrarController.js +0 -1
- package/dist/esm/generated/Multicall.js +0 -1
- package/dist/esm/generated/NameWrapper.js +0 -1
- package/dist/esm/generated/P256SHA256Algorithm.js +0 -1
- package/dist/esm/generated/PublicResolver.js +0 -1
- package/dist/esm/generated/RSASHA1Algorithm.js +0 -1
- package/dist/esm/generated/RSASHA256Algorithm.js +0 -1
- package/dist/esm/generated/ReverseRegistrar.js +0 -1
- package/dist/esm/generated/Root.js +0 -1
- package/dist/esm/generated/SHA1Digest.js +0 -1
- package/dist/esm/generated/SHA1NSEC3Digest.js +0 -1
- package/dist/esm/generated/SHA256Digest.js +0 -1
- package/dist/esm/generated/StaticMetadataService.js +0 -1
- package/dist/esm/generated/TLDPublicSuffixList.js +0 -1
- package/dist/esm/generated/UniversalResolver.js +0 -1
- package/dist/esm/generated/common.js +0 -1
- package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.js +0 -766
- package/dist/esm/generated/factories/DNSRegistrar__factory.js +0 -269
- package/dist/esm/generated/factories/DNSSECImpl__factory.js +0 -474
- package/dist/esm/generated/factories/DefaultReverseResolver__factory.js +0 -83
- package/dist/esm/generated/factories/ENSRegistry__factory.js +0 -435
- package/dist/esm/generated/factories/ETHRegistrarController__factory.js +0 -517
- package/dist/esm/generated/factories/Multicall__factory.js +0 -453
- package/dist/esm/generated/factories/NameWrapper__factory.js +0 -1327
- package/dist/esm/generated/factories/P256SHA256Algorithm__factory.js +0 -44
- package/dist/esm/generated/factories/PublicResolver__factory.js +0 -888
- package/dist/esm/generated/factories/RSASHA1Algorithm__factory.js +0 -44
- package/dist/esm/generated/factories/RSASHA256Algorithm__factory.js +0 -44
- package/dist/esm/generated/factories/ReverseRegistrar__factory.js +0 -336
- package/dist/esm/generated/factories/Root__factory.js +0 -239
- package/dist/esm/generated/factories/SHA1Digest__factory.js +0 -39
- package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.js +0 -44
- package/dist/esm/generated/factories/SHA256Digest__factory.js +0 -39
- package/dist/esm/generated/factories/StaticMetadataService__factory.js +0 -45
- package/dist/esm/generated/factories/TLDPublicSuffixList__factory.js +0 -34
- package/dist/esm/generated/factories/UniversalResolver__factory.js +0 -200
- package/dist/esm/generated/factories/index.js +0 -23
- package/dist/esm/generated/index.js +0 -21
- package/dist/esm/index.js +0 -218
- package/dist/esm/utils/contentHash.js +0 -153
- package/dist/esm/utils/createReverseNode.js +0 -1
- package/dist/esm/utils/format.js +0 -3
- package/dist/esm/utils/fuses.d.ts +0 -21
- package/dist/esm/utils/fuses.js +0 -27
- package/dist/esm/utils/generateFuseInput.js +0 -14
- package/dist/esm/utils/hexEncodedName.js +0 -2
- package/dist/esm/utils/labels.js +0 -96
- package/dist/esm/utils/makeHashIndexes.js +0 -3
- package/dist/esm/utils/normalise.js +0 -27
- package/dist/esm/utils/recordHelpers.js +0 -65
- package/dist/esm/utils/registerHelpers.js +0 -69
- package/dist/esm/utils/singleCall.js +0 -5
- package/dist/esm/utils/validation.js +0 -67
- package/dist/esm/utils/wrapperExpiry.js +0 -26
- package/dist/esm/utils/writeTx.js +0 -4
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/fuses.ts"],
|
|
4
|
+
"sourcesContent": ["const CANNOT_UNWRAP = 1\nconst CANNOT_BURN_FUSES = 2\nconst CANNOT_TRANSFER = 4\nconst CANNOT_SET_RESOLVER = 8\nconst CANNOT_SET_TTL = 16\nconst CANNOT_CREATE_SUBDOMAIN = 32\nconst PARENT_CANNOT_CONTROL = 64\nconst CAN_DO_EVERYTHING = 0\n\nexport const fuseEnum = {\n CANNOT_UNWRAP,\n CANNOT_BURN_FUSES,\n CANNOT_TRANSFER,\n CANNOT_SET_RESOLVER,\n CANNOT_SET_TTL,\n CANNOT_CREATE_SUBDOMAIN,\n PARENT_CANNOT_CONTROL,\n} as const\n\nexport const unnamedFuses = [\n 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144,\n 524288, 1048576, 2097152, 4194304, 8388608, 16777216, 33554432, 67108864,\n 134217728, 268435456, 536870912, 1073741824, 2147483648, 4294967296,\n] as const\n\nconst fullFuseEnum = {\n ...fuseEnum,\n CAN_DO_EVERYTHING,\n}\n\nexport type FuseObj = typeof fuseEnum\nexport type UnnamedFuseType = typeof unnamedFuses\nexport type Fuse = keyof FuseObj\nexport type UnnamedFuseValues = UnnamedFuseType[number]\n\n// We need this type so that the following type isn't infinite. This type limits the max length of the fuse array to 7.\nexport type FuseArrayPossibilities =\n | [Fuse]\n | [Fuse, Fuse]\n | [Fuse, Fuse, Fuse]\n | [Fuse, Fuse, Fuse, Fuse]\n | [Fuse, Fuse, Fuse, Fuse, Fuse]\n | [Fuse, Fuse, Fuse, Fuse, Fuse, Fuse]\n | [Fuse, Fuse, Fuse, Fuse, Fuse, Fuse, Fuse]\n\n/**\n * This type creates a type error if there are any duplicate fuses.\n * It effectively works like a reduce function, starting with 0 included types, adding a type each time, and then checking for duplicates.\n *\n * @template A The array to check for duplicates.\n * @template B The union of all checked existing types.\n */\n// CLAUSE A: This extension unwraps the type as a fuse tuple.\ntype FusesWithoutDuplicates<A, B = never> = A extends FuseArrayPossibilities\n ? // CLAUSE A > TRUE: CLAUSE B: Pick out the first item in the current array, separating the current item from the rest.\n A extends [infer Head, ...infer Tail]\n ? // CLAUSE B > TRUE: CLAUSE C: Check if the current item is a duplicate based on the input union.\n Head extends B\n ? // CLAUSE C > TRUE: Duplicate found, return an empty array to throw a type error.\n []\n : // CLAUSE C > FALSE: Return a new array to continue the recursion, adds the current item type to the union.\n [Head, ...FusesWithoutDuplicates<Tail, Head | B>]\n : // CLAUSE B > FALSE: Return the input array as there is no more array elements to check.\n A\n : // CLAUSE A > FALSE: Return an empty array as it isn't a fuse tuple.\n []\n\nexport type NamedFusesToBurn = FusesWithoutDuplicates<FuseArrayPossibilities>\n\nexport default fullFuseEnum\n"],
|
|
5
|
+
"mappings": ";AAAA,IAAM,gBAAgB;AACtB,IAAM,oBAAoB;AAC1B,IAAM,kBAAkB;AACxB,IAAM,sBAAsB;AAC5B,IAAM,iBAAiB;AACvB,IAAM,0BAA0B;AAChC,IAAM,wBAAwB;AAC9B,IAAM,oBAAoB;AAEnB,IAAM,WAAW;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,eAAe;AAAA,EAC1B;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAM;AAAA,EAAM;AAAA,EAAM;AAAA,EAAM;AAAA,EAAO;AAAA,EAAO;AAAA,EAAO;AAAA,EAAQ;AAAA,EACpE;AAAA,EAAQ;AAAA,EAAS;AAAA,EAAS;AAAA,EAAS;AAAA,EAAS;AAAA,EAAU;AAAA,EAAU;AAAA,EAChE;AAAA,EAAW;AAAA,EAAW;AAAA,EAAW;AAAA,EAAY;AAAA,EAAY;AAC3D;AAEA,IAAM,eAAe;AAAA,EACnB,GAAG;AAAA,EACH;AACF;AAyCA,IAAO,gBAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// src/utils/generateFuseInput.ts
|
|
2
|
+
import { ethers } from "ethers";
|
|
3
|
+
import fuses from "./fuses.mjs";
|
|
4
|
+
var generateFuseInput_default = (fuseOptions) => {
|
|
5
|
+
const fuseKeys = Object.keys(fuseOptions).filter((opt) => fuseOptions[opt] === true).map(
|
|
6
|
+
(opt) => opt.split(/(?=[A-Z])/).join("_").toUpperCase()
|
|
7
|
+
);
|
|
8
|
+
const bigNumberFuses = fuseKeys.reduce((prev, curr) => {
|
|
9
|
+
return prev.or(fuses[curr]);
|
|
10
|
+
}, ethers.BigNumber.from(0));
|
|
11
|
+
return bigNumberFuses.toHexString();
|
|
12
|
+
};
|
|
13
|
+
export {
|
|
14
|
+
generateFuseInput_default as default
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=generateFuseInput.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/generateFuseInput.ts"],
|
|
4
|
+
"sourcesContent": ["import { ethers } from 'ethers'\nimport { FuseOptions } from '../@types/FuseOptions'\nimport fuses from './fuses'\n\nexport default (fuseOptions: FuseOptions) => {\n const fuseKeys = Object.keys(fuseOptions)\n .filter((opt) => fuseOptions[opt as keyof FuseOptions] === true)\n .map((opt) =>\n opt\n .split(/(?=[A-Z])/)\n .join('_')\n .toUpperCase(),\n )\n const bigNumberFuses = fuseKeys.reduce((prev, curr) => {\n return prev.or(fuses[curr as keyof typeof fuses])\n }, ethers.BigNumber.from(0))\n return bigNumberFuses.toHexString()\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,cAAc;AAEvB,OAAO,WAAW;AAElB,IAAO,4BAAQ,CAAC,gBAA6B;AAC3C,QAAM,WAAW,OAAO,KAAK,WAAW,EACrC,OAAO,CAAC,QAAQ,YAAY,SAA8B,IAAI,EAC9D;AAAA,IAAI,CAAC,QACJ,IACG,MAAM,WAAW,EACjB,KAAK,GAAG,EACR,YAAY;AAAA,EACjB;AACF,QAAM,iBAAiB,SAAS,OAAO,CAAC,MAAM,SAAS;AACrD,WAAO,KAAK,GAAG,MAAM,KAA2B;AAAA,EAClD,GAAG,OAAO,UAAU,KAAK,CAAC,CAAC;AAC3B,SAAO,eAAe,YAAY;AACpC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/hexEncodedName.ts"],
|
|
4
|
+
"sourcesContent": ["import packet from 'dns-packet'\n\nexport const hexEncodeName = (name: string) =>\n `0x${packet.name.encode(name).toString('hex')}`\n"],
|
|
5
|
+
"mappings": ";AAAA,OAAO,YAAY;AAEZ,IAAM,gBAAgB,CAAC,SAC5B,KAAK,OAAO,KAAK,OAAO,IAAI,EAAE,SAAS,KAAK;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
// src/utils/labels.ts
|
|
2
|
+
import { solidityKeccak256 } from "ethers/lib/utils";
|
|
3
|
+
import { truncateFormat } from "./format.mjs";
|
|
4
|
+
var hasLocalStorage = typeof localStorage !== "undefined";
|
|
5
|
+
var labelhash = (input) => solidityKeccak256(["string"], [input]);
|
|
6
|
+
var keccakFromString = (input) => labelhash(input);
|
|
7
|
+
function decodeLabelhash(hash) {
|
|
8
|
+
if (!(hash.startsWith("[") && hash.endsWith("]"))) {
|
|
9
|
+
throw Error(
|
|
10
|
+
"Expected encoded labelhash to start and end with square brackets"
|
|
11
|
+
);
|
|
12
|
+
}
|
|
13
|
+
if (hash.length !== 66) {
|
|
14
|
+
throw Error("Expected encoded labelhash to have a length of 66");
|
|
15
|
+
}
|
|
16
|
+
return `0x${hash.slice(1, -1)}`;
|
|
17
|
+
}
|
|
18
|
+
function encodeLabelhash(hash) {
|
|
19
|
+
if (!hash.startsWith("0x")) {
|
|
20
|
+
throw new Error("Expected label hash to start with 0x");
|
|
21
|
+
}
|
|
22
|
+
if (hash.length !== 66) {
|
|
23
|
+
throw new Error("Expected label hash to have a length of 66");
|
|
24
|
+
}
|
|
25
|
+
return `[${hash.slice(2)}]`;
|
|
26
|
+
}
|
|
27
|
+
function isEncodedLabelhash(hash) {
|
|
28
|
+
return hash.startsWith("[") && hash.endsWith("]") && hash.length === 66;
|
|
29
|
+
}
|
|
30
|
+
function getLabels() {
|
|
31
|
+
return hasLocalStorage ? JSON.parse(localStorage.getItem("ensjs:labels")) || {} : {};
|
|
32
|
+
}
|
|
33
|
+
function _saveLabel(hash, label) {
|
|
34
|
+
if (!hasLocalStorage)
|
|
35
|
+
return hash;
|
|
36
|
+
const labels = getLabels();
|
|
37
|
+
localStorage.setItem(
|
|
38
|
+
"ensjs:labels",
|
|
39
|
+
JSON.stringify({
|
|
40
|
+
...labels,
|
|
41
|
+
[hash]: label
|
|
42
|
+
})
|
|
43
|
+
);
|
|
44
|
+
return hash;
|
|
45
|
+
}
|
|
46
|
+
function saveLabel(label) {
|
|
47
|
+
const hash = `${labelhash(label.toLowerCase())}`;
|
|
48
|
+
return _saveLabel(hash, label);
|
|
49
|
+
}
|
|
50
|
+
function saveName(name) {
|
|
51
|
+
const nameArray = name.split(".");
|
|
52
|
+
nameArray.forEach((label) => {
|
|
53
|
+
saveLabel(label);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
function checkLabel(hash) {
|
|
57
|
+
const labels = getLabels();
|
|
58
|
+
if (isEncodedLabelhash(hash)) {
|
|
59
|
+
return labels[decodeLabelhash(hash)];
|
|
60
|
+
}
|
|
61
|
+
if (hash.startsWith("0x")) {
|
|
62
|
+
return labels[`${hash.slice(2)}`];
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
function encodeLabel(label) {
|
|
66
|
+
try {
|
|
67
|
+
return encodeLabelhash(label);
|
|
68
|
+
} catch {
|
|
69
|
+
return label;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
function parseName(name) {
|
|
73
|
+
const nameArray = name.split(".");
|
|
74
|
+
return nameArray.map((label) => encodeLabel(label)).join(".");
|
|
75
|
+
}
|
|
76
|
+
function checkIsDecrypted(string) {
|
|
77
|
+
return !string?.includes("[");
|
|
78
|
+
}
|
|
79
|
+
function decryptName(name) {
|
|
80
|
+
return name.split(".").map((label) => checkLabel(label) || label).join(".");
|
|
81
|
+
}
|
|
82
|
+
var truncateUndecryptedName = (name) => truncateFormat(name);
|
|
83
|
+
function checkLocalStorageSize() {
|
|
84
|
+
if (!hasLocalStorage)
|
|
85
|
+
return "Empty (0 KB)";
|
|
86
|
+
let allStrings = "";
|
|
87
|
+
for (const key in window.localStorage) {
|
|
88
|
+
if (Object.prototype.hasOwnProperty.call(window.localStorage, key)) {
|
|
89
|
+
allStrings += window.localStorage[key];
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return allStrings ? `${3 + allStrings.length * 16 / (8 * 1024)} KB` : "Empty (0 KB)";
|
|
93
|
+
}
|
|
94
|
+
export {
|
|
95
|
+
checkIsDecrypted,
|
|
96
|
+
checkLabel,
|
|
97
|
+
checkLocalStorageSize,
|
|
98
|
+
decodeLabelhash,
|
|
99
|
+
decryptName,
|
|
100
|
+
encodeLabel,
|
|
101
|
+
encodeLabelhash,
|
|
102
|
+
isEncodedLabelhash,
|
|
103
|
+
keccakFromString,
|
|
104
|
+
labelhash,
|
|
105
|
+
parseName,
|
|
106
|
+
saveLabel,
|
|
107
|
+
saveName,
|
|
108
|
+
truncateUndecryptedName
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=labels.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/labels.ts"],
|
|
4
|
+
"sourcesContent": ["import { solidityKeccak256 } from 'ethers/lib/utils'\nimport { truncateFormat } from './format'\n\nconst hasLocalStorage = typeof localStorage !== 'undefined'\n\nexport const labelhash = (input: string) =>\n solidityKeccak256(['string'], [input])\n\nexport const keccakFromString = (input: string) => labelhash(input)\n\nexport function decodeLabelhash(hash: string) {\n if (!(hash.startsWith('[') && hash.endsWith(']'))) {\n throw Error(\n 'Expected encoded labelhash to start and end with square brackets',\n )\n }\n\n if (hash.length !== 66) {\n throw Error('Expected encoded labelhash to have a length of 66')\n }\n\n return `0x${hash.slice(1, -1)}`\n}\n\nexport function encodeLabelhash(hash: string) {\n if (!hash.startsWith('0x')) {\n throw new Error('Expected label hash to start with 0x')\n }\n\n if (hash.length !== 66) {\n throw new Error('Expected label hash to have a length of 66')\n }\n\n return `[${hash.slice(2)}]`\n}\n\nexport function isEncodedLabelhash(hash: string) {\n return hash.startsWith('[') && hash.endsWith(']') && hash.length === 66\n}\n\nfunction getLabels() {\n return hasLocalStorage\n ? JSON.parse(localStorage.getItem('ensjs:labels') as string) || {}\n : {}\n}\n\nfunction _saveLabel(hash: string, label: any) {\n if (!hasLocalStorage) return hash\n const labels = getLabels()\n localStorage.setItem(\n 'ensjs:labels',\n JSON.stringify({\n ...labels,\n [hash]: label,\n }),\n )\n return hash\n}\n\nexport function saveLabel(label: string) {\n const hash = `${labelhash(label.toLowerCase())}`\n return _saveLabel(hash, label)\n}\n\nexport function saveName(name: string) {\n const nameArray = name.split('.')\n nameArray.forEach((label: any) => {\n saveLabel(label)\n })\n}\n\n// eslint-disable-next-line consistent-return\nexport function checkLabel(hash: string): string | undefined {\n const labels = getLabels()\n if (isEncodedLabelhash(hash)) {\n return labels[decodeLabelhash(hash)]\n }\n\n if (hash.startsWith('0x')) {\n return labels[`${hash.slice(2)}`]\n }\n}\n\nexport function encodeLabel(label: any) {\n try {\n return encodeLabelhash(label)\n } catch {\n return label\n }\n}\n\nexport function parseName(name: string) {\n const nameArray = name.split('.')\n return nameArray.map((label: any) => encodeLabel(label)).join('.')\n}\n\nexport function checkIsDecrypted(string: string | string[]) {\n return !string?.includes('[')\n}\n\nexport function decryptName(name: string) {\n return name\n .split('.')\n .map((label: any) => checkLabel(label) || label)\n .join('.')\n}\n\nexport const truncateUndecryptedName = (name: string) => truncateFormat(name)\n\nexport function checkLocalStorageSize() {\n if (!hasLocalStorage) return 'Empty (0 KB)'\n let allStrings = ''\n for (const key in window.localStorage) {\n if (Object.prototype.hasOwnProperty.call(window.localStorage, key)) {\n allStrings += window.localStorage[key]\n }\n }\n return allStrings\n ? `${3 + (allStrings.length * 16) / (8 * 1024)} KB`\n : 'Empty (0 KB)'\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,yBAAyB;AAClC,SAAS,sBAAsB;AAE/B,IAAM,kBAAkB,OAAO,iBAAiB;AAEzC,IAAM,YAAY,CAAC,UACxB,kBAAkB,CAAC,QAAQ,GAAG,CAAC,KAAK,CAAC;AAEhC,IAAM,mBAAmB,CAAC,UAAkB,UAAU,KAAK;AAE3D,SAAS,gBAAgB,MAAc;AAC5C,MAAI,EAAE,KAAK,WAAW,GAAG,KAAK,KAAK,SAAS,GAAG,IAAI;AACjD,UAAM;AAAA,MACJ;AAAA,IACF;AAAA,EACF;AAEA,MAAI,KAAK,WAAW,IAAI;AACtB,UAAM,MAAM,mDAAmD;AAAA,EACjE;AAEA,SAAO,KAAK,KAAK,MAAM,GAAG,EAAE;AAC9B;AAEO,SAAS,gBAAgB,MAAc;AAC5C,MAAI,CAAC,KAAK,WAAW,IAAI,GAAG;AAC1B,UAAM,IAAI,MAAM,sCAAsC;AAAA,EACxD;AAEA,MAAI,KAAK,WAAW,IAAI;AACtB,UAAM,IAAI,MAAM,4CAA4C;AAAA,EAC9D;AAEA,SAAO,IAAI,KAAK,MAAM,CAAC;AACzB;AAEO,SAAS,mBAAmB,MAAc;AAC/C,SAAO,KAAK,WAAW,GAAG,KAAK,KAAK,SAAS,GAAG,KAAK,KAAK,WAAW;AACvE;AAEA,SAAS,YAAY;AACnB,SAAO,kBACH,KAAK,MAAM,aAAa,QAAQ,cAAc,CAAW,KAAK,CAAC,IAC/D,CAAC;AACP;AAEA,SAAS,WAAW,MAAc,OAAY;AAC5C,MAAI,CAAC;AAAiB,WAAO;AAC7B,QAAM,SAAS,UAAU;AACzB,eAAa;AAAA,IACX;AAAA,IACA,KAAK,UAAU;AAAA,MACb,GAAG;AAAA,MACH,CAAC,OAAO;AAAA,IACV,CAAC;AAAA,EACH;AACA,SAAO;AACT;AAEO,SAAS,UAAU,OAAe;AACvC,QAAM,OAAO,GAAG,UAAU,MAAM,YAAY,CAAC;AAC7C,SAAO,WAAW,MAAM,KAAK;AAC/B;AAEO,SAAS,SAAS,MAAc;AACrC,QAAM,YAAY,KAAK,MAAM,GAAG;AAChC,YAAU,QAAQ,CAAC,UAAe;AAChC,cAAU,KAAK;AAAA,EACjB,CAAC;AACH;AAGO,SAAS,WAAW,MAAkC;AAC3D,QAAM,SAAS,UAAU;AACzB,MAAI,mBAAmB,IAAI,GAAG;AAC5B,WAAO,OAAO,gBAAgB,IAAI;AAAA,EACpC;AAEA,MAAI,KAAK,WAAW,IAAI,GAAG;AACzB,WAAO,OAAO,GAAG,KAAK,MAAM,CAAC;AAAA,EAC/B;AACF;AAEO,SAAS,YAAY,OAAY;AACtC,MAAI;AACF,WAAO,gBAAgB,KAAK;AAAA,EAC9B,QAAE;AACA,WAAO;AAAA,EACT;AACF;AAEO,SAAS,UAAU,MAAc;AACtC,QAAM,YAAY,KAAK,MAAM,GAAG;AAChC,SAAO,UAAU,IAAI,CAAC,UAAe,YAAY,KAAK,CAAC,EAAE,KAAK,GAAG;AACnE;AAEO,SAAS,iBAAiB,QAA2B;AAC1D,SAAO,CAAC,QAAQ,SAAS,GAAG;AAC9B;AAEO,SAAS,YAAY,MAAc;AACxC,SAAO,KACJ,MAAM,GAAG,EACT,IAAI,CAAC,UAAe,WAAW,KAAK,KAAK,KAAK,EAC9C,KAAK,GAAG;AACb;AAEO,IAAM,0BAA0B,CAAC,SAAiB,eAAe,IAAI;AAErE,SAAS,wBAAwB;AACtC,MAAI,CAAC;AAAiB,WAAO;AAC7B,MAAI,aAAa;AACjB,aAAW,OAAO,OAAO,cAAc;AACrC,QAAI,OAAO,UAAU,eAAe,KAAK,OAAO,cAAc,GAAG,GAAG;AAClE,oBAAc,OAAO,aAAa;AAAA,IACpC;AAAA,EACF;AACA,SAAO,aACH,GAAG,IAAK,WAAW,SAAS,MAAO,IAAI,aACvC;AACN;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// src/utils/makeHashIndexes.ts
|
|
2
|
+
import { namehash } from "./normalise.mjs";
|
|
3
|
+
var makeOtherIndexes = (data, findStr) => Array.from(data.matchAll(findStr)).map((x) => x.index / 2 - 1);
|
|
4
|
+
var makeNamehashIndexes = (data, name) => Array.from(data.matchAll(namehash(name).substring(2))).map(
|
|
5
|
+
(x) => x.index / 2 - 1
|
|
6
|
+
);
|
|
7
|
+
export {
|
|
8
|
+
makeNamehashIndexes,
|
|
9
|
+
makeOtherIndexes
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=makeHashIndexes.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/makeHashIndexes.ts"],
|
|
4
|
+
"sourcesContent": ["import { namehash } from './normalise'\n\nexport const makeOtherIndexes = (data: string, findStr: string) =>\n Array.from(data.matchAll(findStr as any)).map((x: any) => x.index / 2 - 1)\n\nexport const makeNamehashIndexes = (data: string, name: string) =>\n Array.from(data.matchAll(namehash(name).substring(2) as any)).map(\n (x: any) => x.index / 2 - 1,\n )\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,gBAAgB;AAElB,IAAM,mBAAmB,CAAC,MAAc,YAC7C,MAAM,KAAK,KAAK,SAAS,OAAc,CAAC,EAAE,IAAI,CAAC,MAAW,EAAE,QAAQ,IAAI,CAAC;AAEpE,IAAM,sBAAsB,CAAC,MAAc,SAChD,MAAM,KAAK,KAAK,SAAS,SAAS,IAAI,EAAE,UAAU,CAAC,CAAQ,CAAC,EAAE;AAAA,EAC5D,CAAC,MAAW,EAAE,QAAQ,IAAI;AAC5B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// src/utils/normalise.ts
|
|
2
|
+
import { concat, hexlify, keccak256, toUtf8Bytes } from "ethers/lib/utils";
|
|
3
|
+
import uts46 from "idna-uts46-hx/uts46bundle.js";
|
|
4
|
+
import { decodeLabelhash, isEncodedLabelhash } from "./labels.mjs";
|
|
5
|
+
var zeros = new Uint8Array(32);
|
|
6
|
+
zeros.fill(0);
|
|
7
|
+
var normalise = (name) => name ? uts46.toUnicode(name, { useStd3ASCII: true }) : name;
|
|
8
|
+
var namehash = (name) => {
|
|
9
|
+
let result = zeros;
|
|
10
|
+
if (name) {
|
|
11
|
+
const labels = name.split(".");
|
|
12
|
+
for (let i = labels.length - 1; i >= 0; i -= 1) {
|
|
13
|
+
let labelSha;
|
|
14
|
+
if (isEncodedLabelhash(labels[i])) {
|
|
15
|
+
labelSha = decodeLabelhash(labels[i]);
|
|
16
|
+
} else {
|
|
17
|
+
const normalised = normalise(labels[i]);
|
|
18
|
+
labelSha = keccak256(toUtf8Bytes(normalised));
|
|
19
|
+
}
|
|
20
|
+
result = keccak256(concat([result, labelSha]));
|
|
21
|
+
}
|
|
22
|
+
} else {
|
|
23
|
+
result = hexlify(zeros);
|
|
24
|
+
}
|
|
25
|
+
return result;
|
|
26
|
+
};
|
|
27
|
+
export {
|
|
28
|
+
namehash,
|
|
29
|
+
normalise
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=normalise.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/normalise.ts"],
|
|
4
|
+
"sourcesContent": ["import { concat, hexlify, keccak256, toUtf8Bytes } from 'ethers/lib/utils'\nimport uts46 from 'idna-uts46-hx/uts46bundle.js'\nimport { decodeLabelhash, isEncodedLabelhash } from './labels'\n\nconst zeros = new Uint8Array(32)\nzeros.fill(0)\n\nexport const normalise = (name: string) =>\n name ? uts46.toUnicode(name, { useStd3ASCII: true }) : name\n\nexport const namehash = (name: string): string => {\n let result: string | Uint8Array = zeros\n\n if (name) {\n const labels = name.split('.')\n\n for (let i = labels.length - 1; i >= 0; i -= 1) {\n let labelSha: string\n if (isEncodedLabelhash(labels[i])) {\n labelSha = decodeLabelhash(labels[i])\n } else {\n const normalised = normalise(labels[i])\n labelSha = keccak256(toUtf8Bytes(normalised))\n }\n\n result = keccak256(concat([result, labelSha]))\n }\n } else {\n result = hexlify(zeros)\n }\n\n return result as string\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,QAAQ,SAAS,WAAW,mBAAmB;AACxD,OAAO,WAAW;AAClB,SAAS,iBAAiB,0BAA0B;AAEpD,IAAM,QAAQ,IAAI,WAAW,EAAE;AAC/B,MAAM,KAAK,CAAC;AAEL,IAAM,YAAY,CAAC,SACxB,OAAO,MAAM,UAAU,MAAM,EAAE,cAAc,KAAK,CAAC,IAAI;AAElD,IAAM,WAAW,CAAC,SAAyB;AAChD,MAAI,SAA8B;AAElC,MAAI,MAAM;AACR,UAAM,SAAS,KAAK,MAAM,GAAG;AAE7B,aAAS,IAAI,OAAO,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG;AAC9C,UAAI;AACJ,UAAI,mBAAmB,OAAO,EAAE,GAAG;AACjC,mBAAW,gBAAgB,OAAO,EAAE;AAAA,MACtC,OAAO;AACL,cAAM,aAAa,UAAU,OAAO,EAAE;AACtC,mBAAW,UAAU,YAAY,UAAU,CAAC;AAAA,MAC9C;AAEA,eAAS,UAAU,OAAO,CAAC,QAAQ,QAAQ,CAAC,CAAC;AAAA,IAC/C;AAAA,EACF,OAAO;AACL,aAAS,QAAQ,KAAK;AAAA,EACxB;AAEA,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// src/utils/recordHelpers.ts
|
|
2
|
+
import { formatsByCoinType, formatsByName } from "@ensdomains/address-encoder";
|
|
3
|
+
import { encodeContenthash } from "./contentHash.mjs";
|
|
4
|
+
var generateSetAddr = (namehash, coinType, address, resolver) => {
|
|
5
|
+
let coinTypeInstance;
|
|
6
|
+
if (!Number.isNaN(parseInt(coinType))) {
|
|
7
|
+
coinTypeInstance = formatsByCoinType[parseInt(coinType)];
|
|
8
|
+
} else {
|
|
9
|
+
coinTypeInstance = formatsByName[coinType.toUpperCase()];
|
|
10
|
+
}
|
|
11
|
+
const inputCoinType = coinTypeInstance.coinType;
|
|
12
|
+
const encodedAddress = coinTypeInstance.decoder(address);
|
|
13
|
+
return resolver?.interface.encodeFunctionData(
|
|
14
|
+
"setAddr(bytes32,uint256,bytes)",
|
|
15
|
+
[namehash, inputCoinType, encodedAddress]
|
|
16
|
+
);
|
|
17
|
+
};
|
|
18
|
+
function generateSingleRecordCall(namehash, resolver, type) {
|
|
19
|
+
if (type === "contentHash") {
|
|
20
|
+
return (_r) => {
|
|
21
|
+
const record = _r;
|
|
22
|
+
let _contentHash = "";
|
|
23
|
+
if (record !== _contentHash) {
|
|
24
|
+
const encoded = encodeContenthash(record);
|
|
25
|
+
if (encoded.error)
|
|
26
|
+
throw new Error(encoded.error);
|
|
27
|
+
_contentHash = encoded.encoded;
|
|
28
|
+
}
|
|
29
|
+
return resolver.interface.encodeFunctionData("setContenthash", [
|
|
30
|
+
namehash,
|
|
31
|
+
_contentHash
|
|
32
|
+
]);
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
return (_r) => {
|
|
36
|
+
const record = _r;
|
|
37
|
+
if (type === "text") {
|
|
38
|
+
return resolver.interface.encodeFunctionData("setText", [
|
|
39
|
+
namehash,
|
|
40
|
+
record.key,
|
|
41
|
+
record.value
|
|
42
|
+
]);
|
|
43
|
+
}
|
|
44
|
+
return generateSetAddr(namehash, record.key, record.value, resolver);
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
var generateRecordCallArray = (namehash, records, resolver) => {
|
|
48
|
+
const calls = [];
|
|
49
|
+
if (records.contentHash) {
|
|
50
|
+
const data = generateSingleRecordCall(
|
|
51
|
+
namehash,
|
|
52
|
+
resolver,
|
|
53
|
+
"contentHash"
|
|
54
|
+
)(records.contentHash);
|
|
55
|
+
if (data)
|
|
56
|
+
calls.push(data);
|
|
57
|
+
}
|
|
58
|
+
if (records.texts && records.texts.length > 0) {
|
|
59
|
+
records.texts.map(generateSingleRecordCall(namehash, resolver, "text")).forEach((call) => calls.push(call));
|
|
60
|
+
}
|
|
61
|
+
if (records.coinTypes && records.coinTypes.length > 0) {
|
|
62
|
+
records.coinTypes.map(generateSingleRecordCall(namehash, resolver, "addr")).forEach((call) => calls.push(call));
|
|
63
|
+
}
|
|
64
|
+
return calls;
|
|
65
|
+
};
|
|
66
|
+
export {
|
|
67
|
+
generateRecordCallArray,
|
|
68
|
+
generateSetAddr,
|
|
69
|
+
generateSingleRecordCall
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=recordHelpers.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/recordHelpers.ts"],
|
|
4
|
+
"sourcesContent": ["import { formatsByCoinType, formatsByName } from '@ensdomains/address-encoder'\nimport type { PublicResolver } from '../generated'\nimport { encodeContenthash } from './contentHash'\n\ntype RecordItem = {\n key: string\n value: string\n}\n\nexport type RecordOptions = {\n contentHash?: string\n texts?: RecordItem[]\n coinTypes?: RecordItem[]\n}\n\nexport const generateSetAddr = (\n namehash: string,\n coinType: string,\n address: string,\n resolver: PublicResolver,\n) => {\n let coinTypeInstance\n if (!Number.isNaN(parseInt(coinType))) {\n coinTypeInstance = formatsByCoinType[parseInt(coinType)]\n } else {\n coinTypeInstance = formatsByName[coinType.toUpperCase()]\n }\n const inputCoinType = coinTypeInstance.coinType\n const encodedAddress = coinTypeInstance.decoder(address)\n return resolver?.interface.encodeFunctionData(\n 'setAddr(bytes32,uint256,bytes)',\n [namehash, inputCoinType, encodedAddress],\n )\n}\n\nexport type RecordTypes = 'contentHash' | 'text' | 'addr'\n\nexport type RecordInput<T extends RecordTypes> = T extends 'contentHash'\n ? string\n : RecordItem\n\nexport function generateSingleRecordCall<T extends RecordTypes>(\n namehash: string,\n resolver: PublicResolver,\n type: T,\n): (record: RecordInput<T>) => string {\n if (type === 'contentHash') {\n return (_r: RecordInput<T>) => {\n const record = _r as string\n let _contentHash = ''\n if (record !== _contentHash) {\n const encoded = encodeContenthash(record)\n if (encoded.error) throw new Error(encoded.error)\n _contentHash = encoded.encoded as string\n }\n return resolver.interface.encodeFunctionData('setContenthash', [\n namehash,\n _contentHash,\n ])\n }\n }\n return (_r: RecordInput<T>) => {\n const record = _r as RecordItem\n if (type === 'text') {\n return resolver.interface.encodeFunctionData('setText', [\n namehash,\n record.key,\n record.value,\n ])\n }\n return generateSetAddr(namehash, record.key, record.value, resolver)\n }\n}\n\nexport const generateRecordCallArray = (\n namehash: string,\n records: RecordOptions,\n resolver: PublicResolver,\n) => {\n const calls: string[] = []\n\n if (records.contentHash) {\n const data = generateSingleRecordCall(\n namehash,\n resolver,\n 'contentHash',\n )(records.contentHash)\n if (data) calls.push(data)\n }\n\n if (records.texts && records.texts.length > 0) {\n records.texts\n .map(generateSingleRecordCall(namehash, resolver, 'text'))\n .forEach((call) => calls.push(call))\n }\n\n if (records.coinTypes && records.coinTypes.length > 0) {\n records.coinTypes\n .map(generateSingleRecordCall(namehash, resolver, 'addr'))\n .forEach((call) => calls.push(call))\n }\n\n return calls\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,mBAAmB,qBAAqB;AAEjD,SAAS,yBAAyB;AAa3B,IAAM,kBAAkB,CAC7B,UACA,UACA,SACA,aACG;AACH,MAAI;AACJ,MAAI,CAAC,OAAO,MAAM,SAAS,QAAQ,CAAC,GAAG;AACrC,uBAAmB,kBAAkB,SAAS,QAAQ;AAAA,EACxD,OAAO;AACL,uBAAmB,cAAc,SAAS,YAAY;AAAA,EACxD;AACA,QAAM,gBAAgB,iBAAiB;AACvC,QAAM,iBAAiB,iBAAiB,QAAQ,OAAO;AACvD,SAAO,UAAU,UAAU;AAAA,IACzB;AAAA,IACA,CAAC,UAAU,eAAe,cAAc;AAAA,EAC1C;AACF;AAQO,SAAS,yBACd,UACA,UACA,MACoC;AACpC,MAAI,SAAS,eAAe;AAC1B,WAAO,CAAC,OAAuB;AAC7B,YAAM,SAAS;AACf,UAAI,eAAe;AACnB,UAAI,WAAW,cAAc;AAC3B,cAAM,UAAU,kBAAkB,MAAM;AACxC,YAAI,QAAQ;AAAO,gBAAM,IAAI,MAAM,QAAQ,KAAK;AAChD,uBAAe,QAAQ;AAAA,MACzB;AACA,aAAO,SAAS,UAAU,mBAAmB,kBAAkB;AAAA,QAC7D;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACA,SAAO,CAAC,OAAuB;AAC7B,UAAM,SAAS;AACf,QAAI,SAAS,QAAQ;AACnB,aAAO,SAAS,UAAU,mBAAmB,WAAW;AAAA,QACtD;AAAA,QACA,OAAO;AAAA,QACP,OAAO;AAAA,MACT,CAAC;AAAA,IACH;AACA,WAAO,gBAAgB,UAAU,OAAO,KAAK,OAAO,OAAO,QAAQ;AAAA,EACrE;AACF;AAEO,IAAM,0BAA0B,CACrC,UACA,SACA,aACG;AACH,QAAM,QAAkB,CAAC;AAEzB,MAAI,QAAQ,aAAa;AACvB,UAAM,OAAO;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,IACF,EAAE,QAAQ,WAAW;AACrB,QAAI;AAAM,YAAM,KAAK,IAAI;AAAA,EAC3B;AAEA,MAAI,QAAQ,SAAS,QAAQ,MAAM,SAAS,GAAG;AAC7C,YAAQ,MACL,IAAI,yBAAyB,UAAU,UAAU,MAAM,CAAC,EACxD,QAAQ,CAAC,SAAS,MAAM,KAAK,IAAI,CAAC;AAAA,EACvC;AAEA,MAAI,QAAQ,aAAa,QAAQ,UAAU,SAAS,GAAG;AACrD,YAAQ,UACL,IAAI,yBAAyB,UAAU,UAAU,MAAM,CAAC,EACxD,QAAQ,CAAC,SAAS,MAAM,KAAK,IAAI,CAAC;AAAA,EACvC;AAEA,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -46,9 +46,9 @@ export declare const makeCommitmentData: ({ name, owner, duration, resolver, rec
|
|
|
46
46
|
secret: string;
|
|
47
47
|
}) => CommitmentTuple;
|
|
48
48
|
export declare const makeRegistrationData: (params: RegistrationParams) => RegistrationTuple;
|
|
49
|
+
export declare const _makeCommitment: (params: CommitmentTuple) => string;
|
|
49
50
|
export declare const makeCommitment: ({ secret, ...inputParams }: CommitmentParams) => {
|
|
50
51
|
secret: string;
|
|
51
52
|
commitment: string;
|
|
52
53
|
wrapperExpiry: number;
|
|
53
54
|
};
|
|
54
|
-
export declare const _makeCommitment: (params: CommitmentTuple) => string;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
// src/utils/registerHelpers.ts
|
|
2
|
+
import { utils } from "ethers";
|
|
3
|
+
import generateFuseInput from "./generateFuseInput.mjs";
|
|
4
|
+
import { labelhash } from "./labels.mjs";
|
|
5
|
+
import { namehash } from "./normalise.mjs";
|
|
6
|
+
import { generateRecordCallArray } from "./recordHelpers.mjs";
|
|
7
|
+
var randomSecret = () => {
|
|
8
|
+
const bytes = Buffer.allocUnsafe(32);
|
|
9
|
+
return `0x${crypto.getRandomValues(bytes).toString("hex")}`;
|
|
10
|
+
};
|
|
11
|
+
var makeCommitmentData = ({
|
|
12
|
+
name,
|
|
13
|
+
owner,
|
|
14
|
+
duration,
|
|
15
|
+
resolver,
|
|
16
|
+
records,
|
|
17
|
+
reverseRecord,
|
|
18
|
+
fuses,
|
|
19
|
+
wrapperExpiry,
|
|
20
|
+
secret
|
|
21
|
+
}) => {
|
|
22
|
+
const label = labelhash(name.split(".")[0]);
|
|
23
|
+
const hash = namehash(name);
|
|
24
|
+
const resolverAddress = resolver.address;
|
|
25
|
+
const fuseData = fuses ? generateFuseInput(fuses) : "0";
|
|
26
|
+
if (reverseRecord) {
|
|
27
|
+
if (!records) {
|
|
28
|
+
records = { coinTypes: [{ key: "ETH", value: owner }] };
|
|
29
|
+
} else if (!records.coinTypes?.find((c) => c.key === "ETH")) {
|
|
30
|
+
if (!records.coinTypes)
|
|
31
|
+
records.coinTypes = [];
|
|
32
|
+
records.coinTypes.push({ key: "ETH", value: owner });
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
const data = records ? generateRecordCallArray(hash, records, resolver) : [];
|
|
36
|
+
return [
|
|
37
|
+
label,
|
|
38
|
+
owner,
|
|
39
|
+
duration,
|
|
40
|
+
resolverAddress,
|
|
41
|
+
data,
|
|
42
|
+
secret,
|
|
43
|
+
!!reverseRecord,
|
|
44
|
+
fuseData,
|
|
45
|
+
wrapperExpiry || Math.floor(Date.now() / 1e3) + duration
|
|
46
|
+
];
|
|
47
|
+
};
|
|
48
|
+
var makeRegistrationData = (params) => {
|
|
49
|
+
const commitmentData = makeCommitmentData(params);
|
|
50
|
+
const label = params.name.split(".")[0];
|
|
51
|
+
commitmentData[0] = label;
|
|
52
|
+
const secret = commitmentData.splice(5, 1)[0];
|
|
53
|
+
commitmentData.splice(3, 0, secret);
|
|
54
|
+
return commitmentData;
|
|
55
|
+
};
|
|
56
|
+
var _makeCommitment = (params) => {
|
|
57
|
+
return utils.keccak256(
|
|
58
|
+
utils.defaultAbiCoder.encode(
|
|
59
|
+
[
|
|
60
|
+
"bytes32",
|
|
61
|
+
"address",
|
|
62
|
+
"uint256",
|
|
63
|
+
"address",
|
|
64
|
+
"bytes[]",
|
|
65
|
+
"bytes32",
|
|
66
|
+
"bool",
|
|
67
|
+
"uint32",
|
|
68
|
+
"uint64"
|
|
69
|
+
],
|
|
70
|
+
params
|
|
71
|
+
)
|
|
72
|
+
);
|
|
73
|
+
};
|
|
74
|
+
var makeCommitment = ({
|
|
75
|
+
secret = randomSecret(),
|
|
76
|
+
...inputParams
|
|
77
|
+
}) => {
|
|
78
|
+
const generatedParams = makeCommitmentData({
|
|
79
|
+
...inputParams,
|
|
80
|
+
secret
|
|
81
|
+
});
|
|
82
|
+
const commitment = _makeCommitment(generatedParams);
|
|
83
|
+
return {
|
|
84
|
+
secret,
|
|
85
|
+
commitment,
|
|
86
|
+
wrapperExpiry: generatedParams[8]
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
export {
|
|
90
|
+
_makeCommitment,
|
|
91
|
+
makeCommitment,
|
|
92
|
+
makeCommitmentData,
|
|
93
|
+
makeRegistrationData,
|
|
94
|
+
randomSecret
|
|
95
|
+
};
|
|
96
|
+
//# sourceMappingURL=registerHelpers.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/registerHelpers.ts"],
|
|
4
|
+
"sourcesContent": ["import { utils } from 'ethers'\nimport type { FuseOptions } from '../@types/FuseOptions'\nimport type { PublicResolver } from '../generated'\nimport generateFuseInput from './generateFuseInput'\nimport { labelhash } from './labels'\nimport { namehash } from './normalise'\nimport { generateRecordCallArray, RecordOptions } from './recordHelpers'\n\nexport type RegistrationParams = {\n name: string\n owner: string\n duration: number\n secret: string\n resolver: PublicResolver\n records?: RecordOptions\n reverseRecord?: boolean\n fuses?: FuseOptions\n wrapperExpiry: number\n}\n\nexport type CommitmentParams = Omit<\n RegistrationParams,\n 'secret' | 'wrapperExpiry'\n> & {\n secret?: string\n wrapperExpiry?: number\n}\n\nexport type RegistrationTuple = [\n name: string,\n owner: string,\n duration: number,\n secret: string,\n resolver: string,\n data: string[],\n reverseRecord: boolean,\n fuses: string,\n wrapperExpiry: number,\n]\n\nexport type CommitmentTuple = [\n labelhash: string,\n owner: string,\n duration: number,\n resolver: string,\n data: string[],\n secret: string,\n reverseRecord: boolean,\n fuses: string,\n wrapperExpiry: number,\n]\n\nexport const randomSecret = () => {\n const bytes = Buffer.allocUnsafe(32)\n return `0x${crypto.getRandomValues(bytes).toString('hex')}`\n}\n\nexport const makeCommitmentData = ({\n name,\n owner,\n duration,\n resolver,\n records,\n reverseRecord,\n fuses,\n wrapperExpiry,\n secret,\n}: CommitmentParams & {\n secret: string\n}): CommitmentTuple => {\n const label = labelhash(name.split('.')[0])\n const hash = namehash(name)\n const resolverAddress = resolver.address\n const fuseData = fuses ? generateFuseInput(fuses) : '0'\n\n if (reverseRecord) {\n if (!records) {\n records = { coinTypes: [{ key: 'ETH', value: owner }] }\n } else if (!records.coinTypes?.find((c) => c.key === 'ETH')) {\n if (!records.coinTypes) records.coinTypes = []\n records.coinTypes.push({ key: 'ETH', value: owner })\n }\n }\n\n const data = records ? generateRecordCallArray(hash, records, resolver) : []\n\n return [\n label,\n owner,\n duration,\n resolverAddress,\n data,\n secret,\n !!reverseRecord,\n fuseData,\n wrapperExpiry || Math.floor(Date.now() / 1000) + duration,\n ]\n}\n\nexport const makeRegistrationData = (\n params: RegistrationParams,\n): RegistrationTuple => {\n const commitmentData = makeCommitmentData(params)\n const label = params.name.split('.')[0]\n commitmentData[0] = label\n const secret = commitmentData.splice(5, 1)[0]\n commitmentData.splice(3, 0, secret)\n return commitmentData as unknown as RegistrationTuple\n}\n\nexport const _makeCommitment = (params: CommitmentTuple) => {\n return utils.keccak256(\n utils.defaultAbiCoder.encode(\n [\n 'bytes32',\n 'address',\n 'uint256',\n 'address',\n 'bytes[]',\n 'bytes32',\n 'bool',\n 'uint32',\n 'uint64',\n ],\n params,\n ),\n )\n}\n\nexport const makeCommitment = ({\n secret = randomSecret(),\n ...inputParams\n}: CommitmentParams) => {\n const generatedParams = makeCommitmentData({\n ...inputParams,\n secret,\n })\n\n const commitment = _makeCommitment(generatedParams)\n\n return {\n secret,\n commitment,\n wrapperExpiry: generatedParams[8],\n }\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,aAAa;AAGtB,OAAO,uBAAuB;AAC9B,SAAS,iBAAiB;AAC1B,SAAS,gBAAgB;AACzB,SAAS,+BAA8C;AA8ChD,IAAM,eAAe,MAAM;AAChC,QAAM,QAAQ,OAAO,YAAY,EAAE;AACnC,SAAO,KAAK,OAAO,gBAAgB,KAAK,EAAE,SAAS,KAAK;AAC1D;AAEO,IAAM,qBAAqB,CAAC;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAEuB;AACrB,QAAM,QAAQ,UAAU,KAAK,MAAM,GAAG,EAAE,EAAE;AAC1C,QAAM,OAAO,SAAS,IAAI;AAC1B,QAAM,kBAAkB,SAAS;AACjC,QAAM,WAAW,QAAQ,kBAAkB,KAAK,IAAI;AAEpD,MAAI,eAAe;AACjB,QAAI,CAAC,SAAS;AACZ,gBAAU,EAAE,WAAW,CAAC,EAAE,KAAK,OAAO,OAAO,MAAM,CAAC,EAAE;AAAA,IACxD,WAAW,CAAC,QAAQ,WAAW,KAAK,CAAC,MAAM,EAAE,QAAQ,KAAK,GAAG;AAC3D,UAAI,CAAC,QAAQ;AAAW,gBAAQ,YAAY,CAAC;AAC7C,cAAQ,UAAU,KAAK,EAAE,KAAK,OAAO,OAAO,MAAM,CAAC;AAAA,IACrD;AAAA,EACF;AAEA,QAAM,OAAO,UAAU,wBAAwB,MAAM,SAAS,QAAQ,IAAI,CAAC;AAE3E,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,CAAC,CAAC;AAAA,IACF;AAAA,IACA,iBAAiB,KAAK,MAAM,KAAK,IAAI,IAAI,GAAI,IAAI;AAAA,EACnD;AACF;AAEO,IAAM,uBAAuB,CAClC,WACsB;AACtB,QAAM,iBAAiB,mBAAmB,MAAM;AAChD,QAAM,QAAQ,OAAO,KAAK,MAAM,GAAG,EAAE;AACrC,iBAAe,KAAK;AACpB,QAAM,SAAS,eAAe,OAAO,GAAG,CAAC,EAAE;AAC3C,iBAAe,OAAO,GAAG,GAAG,MAAM;AAClC,SAAO;AACT;AAEO,IAAM,kBAAkB,CAAC,WAA4B;AAC1D,SAAO,MAAM;AAAA,IACX,MAAM,gBAAgB;AAAA,MACpB;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,iBAAiB,CAAC;AAAA,EAC7B,SAAS,aAAa;AAAA,KACnB;AACL,MAAwB;AACtB,QAAM,kBAAkB,mBAAmB;AAAA,IACzC,GAAG;AAAA,IACH;AAAA,EACF,CAAC;AAED,QAAM,aAAa,gBAAgB,eAAe;AAElD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,eAAe,gBAAgB;AAAA,EACjC;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// src/utils/singleCall.ts
|
|
2
|
+
var singleCall_default = async (provider, ensData, func, ...data) => func.raw(ensData, ...data).then((rawData) => provider.call(rawData)).catch(() => null).then((ret) => func.decode(ensData, ret, ...data));
|
|
3
|
+
export {
|
|
4
|
+
singleCall_default as default
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=singleCall.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/singleCall.ts"],
|
|
4
|
+
"sourcesContent": ["import { ethers } from 'ethers'\n\nexport default async (\n provider: ethers.providers.Provider,\n ensData: any,\n func: {\n raw: (...args: any[]) => Promise<{ to: string; data: string }>\n decode: (...args: any[]) => Promise<any>\n },\n ...data: any[]\n) =>\n func\n .raw(ensData, ...data)\n .then((rawData) => provider.call(rawData))\n .catch(() => null)\n .then((ret) => func.decode(ensData, ret, ...data))\n"],
|
|
5
|
+
"mappings": ";AAEA,IAAO,qBAAQ,OACb,UACA,SACA,SAIG,SAEH,KACG,IAAI,SAAS,GAAG,IAAI,EACpB,KAAK,CAAC,YAAY,SAAS,KAAK,OAAO,CAAC,EACxC,MAAM,MAAM,IAAI,EAChB,KAAK,CAAC,QAAQ,KAAK,OAAO,SAAS,KAAK,GAAG,IAAI,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// src/utils/validation.ts
|
|
2
|
+
import { isAddress } from "ethers/lib/utils";
|
|
3
|
+
import { isEncodedLabelhash, saveName } from "./labels.mjs";
|
|
4
|
+
import { normalise } from "./normalise.mjs";
|
|
5
|
+
var validateName = (name) => {
|
|
6
|
+
const nameArray = name.split(".");
|
|
7
|
+
const hasEmptyLabels = nameArray.some((label) => label.length === 0);
|
|
8
|
+
if (hasEmptyLabels)
|
|
9
|
+
throw new Error("Name cannot have empty labels");
|
|
10
|
+
const normalizedArray = nameArray.map((label) => {
|
|
11
|
+
if (label === "[root]") {
|
|
12
|
+
return label;
|
|
13
|
+
}
|
|
14
|
+
return isEncodedLabelhash(label) ? label : normalise(label);
|
|
15
|
+
});
|
|
16
|
+
const normalizedName = normalizedArray.join(".");
|
|
17
|
+
saveName(normalizedName);
|
|
18
|
+
return normalizedName;
|
|
19
|
+
};
|
|
20
|
+
var validateTLD = (name) => {
|
|
21
|
+
const labels = name.split(".");
|
|
22
|
+
return validateName(labels[labels.length - 1]);
|
|
23
|
+
};
|
|
24
|
+
var parseInputType = (input) => {
|
|
25
|
+
const validTLD = validateTLD(input);
|
|
26
|
+
const regex = /[^.]+$/;
|
|
27
|
+
try {
|
|
28
|
+
validateName(input);
|
|
29
|
+
} catch (e) {
|
|
30
|
+
return {
|
|
31
|
+
type: "unknown"
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
if (input.indexOf(".") !== -1) {
|
|
35
|
+
const termArray = input.split(".");
|
|
36
|
+
const tld = input.match(regex) ? input.match(regex)[0] : "";
|
|
37
|
+
if (validTLD) {
|
|
38
|
+
if (tld === "eth" && [...termArray[termArray.length - 2]].length < 3) {
|
|
39
|
+
return {
|
|
40
|
+
type: "name",
|
|
41
|
+
info: "short"
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
type: "name",
|
|
46
|
+
info: "supported"
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
type: "name",
|
|
51
|
+
info: "unsupported"
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
if (isAddress(input)) {
|
|
55
|
+
return {
|
|
56
|
+
type: "address"
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
type: "label"
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
export {
|
|
64
|
+
parseInputType,
|
|
65
|
+
validateName,
|
|
66
|
+
validateTLD
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=validation.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/validation.ts"],
|
|
4
|
+
"sourcesContent": ["import { isAddress } from 'ethers/lib/utils'\nimport { isEncodedLabelhash, saveName } from './labels'\nimport { normalise } from './normalise'\n\nexport const validateName = (name: string) => {\n const nameArray = name.split('.')\n const hasEmptyLabels = nameArray.some((label) => label.length === 0)\n if (hasEmptyLabels) throw new Error('Name cannot have empty labels')\n const normalizedArray = nameArray.map((label) => {\n if (label === '[root]') {\n return label\n }\n return isEncodedLabelhash(label) ? label : normalise(label)\n })\n const normalizedName = normalizedArray.join('.')\n saveName(normalizedName)\n return normalizedName\n}\n\nexport const validateTLD = (name: string) => {\n const labels = name.split('.')\n return validateName(labels[labels.length - 1])\n}\n\ntype InputType = {\n type: 'name' | 'label' | 'address' | 'unknown'\n info?: 'short' | 'supported' | 'unsupported'\n}\n\nexport const parseInputType = (input: string): InputType => {\n const validTLD = validateTLD(input)\n const regex = /[^.]+$/\n\n try {\n validateName(input)\n } catch (e) {\n return {\n type: 'unknown',\n }\n }\n\n if (input.indexOf('.') !== -1) {\n const termArray = input.split('.')\n const tld = input.match(regex) ? input.match(regex)![0] : ''\n if (validTLD) {\n if (tld === 'eth' && [...termArray[termArray.length - 2]].length < 3) {\n // code-point length\n return {\n type: 'name',\n info: 'short',\n }\n }\n return {\n type: 'name',\n info: 'supported',\n }\n }\n\n return {\n type: 'name',\n info: 'unsupported',\n }\n }\n if (isAddress(input)) {\n return {\n type: 'address',\n }\n }\n return {\n type: 'label',\n }\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,iBAAiB;AAC1B,SAAS,oBAAoB,gBAAgB;AAC7C,SAAS,iBAAiB;AAEnB,IAAM,eAAe,CAAC,SAAiB;AAC5C,QAAM,YAAY,KAAK,MAAM,GAAG;AAChC,QAAM,iBAAiB,UAAU,KAAK,CAAC,UAAU,MAAM,WAAW,CAAC;AACnE,MAAI;AAAgB,UAAM,IAAI,MAAM,+BAA+B;AACnE,QAAM,kBAAkB,UAAU,IAAI,CAAC,UAAU;AAC/C,QAAI,UAAU,UAAU;AACtB,aAAO;AAAA,IACT;AACA,WAAO,mBAAmB,KAAK,IAAI,QAAQ,UAAU,KAAK;AAAA,EAC5D,CAAC;AACD,QAAM,iBAAiB,gBAAgB,KAAK,GAAG;AAC/C,WAAS,cAAc;AACvB,SAAO;AACT;AAEO,IAAM,cAAc,CAAC,SAAiB;AAC3C,QAAM,SAAS,KAAK,MAAM,GAAG;AAC7B,SAAO,aAAa,OAAO,OAAO,SAAS,EAAE;AAC/C;AAOO,IAAM,iBAAiB,CAAC,UAA6B;AAC1D,QAAM,WAAW,YAAY,KAAK;AAClC,QAAM,QAAQ;AAEd,MAAI;AACF,iBAAa,KAAK;AAAA,EACpB,SAAS,GAAP;AACA,WAAO;AAAA,MACL,MAAM;AAAA,IACR;AAAA,EACF;AAEA,MAAI,MAAM,QAAQ,GAAG,MAAM,IAAI;AAC7B,UAAM,YAAY,MAAM,MAAM,GAAG;AACjC,UAAM,MAAM,MAAM,MAAM,KAAK,IAAI,MAAM,MAAM,KAAK,EAAG,KAAK;AAC1D,QAAI,UAAU;AACZ,UAAI,QAAQ,SAAS,CAAC,GAAG,UAAU,UAAU,SAAS,EAAE,EAAE,SAAS,GAAG;AAEpE,eAAO;AAAA,UACL,MAAM;AAAA,UACN,MAAM;AAAA,QACR;AAAA,MACF;AACA,aAAO;AAAA,QACL,MAAM;AAAA,QACN,MAAM;AAAA,MACR;AAAA,IACF;AAEA,WAAO;AAAA,MACL,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,EACF;AACA,MAAI,UAAU,KAAK,GAAG;AACpB,WAAO;AAAA,MACL,MAAM;AAAA,IACR;AAAA,EACF;AACA,SAAO;AAAA,IACL,MAAM;AAAA,EACR;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// src/utils/wrapperExpiry.ts
|
|
2
|
+
import { BigNumber } from "ethers";
|
|
3
|
+
var MAX_EXPIRY = BigNumber.from(2).pow(64).sub(1);
|
|
4
|
+
var makeExpiry = async ({ getExpiry }, name, expiry) => {
|
|
5
|
+
if (expiry) {
|
|
6
|
+
if (expiry instanceof Date) {
|
|
7
|
+
return BigNumber.from(expiry.getTime() / 1e3);
|
|
8
|
+
}
|
|
9
|
+
if (expiry instanceof BigNumber) {
|
|
10
|
+
return expiry;
|
|
11
|
+
}
|
|
12
|
+
return BigNumber.from(expiry);
|
|
13
|
+
}
|
|
14
|
+
if (name.endsWith(".eth")) {
|
|
15
|
+
const expResponse = await getExpiry(name);
|
|
16
|
+
if (!expResponse?.expiry)
|
|
17
|
+
throw new Error("Couldn't get expiry for name, please provide one.");
|
|
18
|
+
return BigNumber.from(expResponse.expiry.getTime() / 1e3);
|
|
19
|
+
}
|
|
20
|
+
return MAX_EXPIRY;
|
|
21
|
+
};
|
|
22
|
+
export {
|
|
23
|
+
MAX_EXPIRY,
|
|
24
|
+
makeExpiry
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=wrapperExpiry.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/wrapperExpiry.ts"],
|
|
4
|
+
"sourcesContent": ["import { BigNumber } from 'ethers'\nimport { ENSArgs } from '..'\n\nexport type Expiry = string | number | Date | BigNumber\n\nexport const MAX_EXPIRY = BigNumber.from(2).pow(64).sub(1)\n\nexport const makeExpiry = async (\n { getExpiry }: ENSArgs<'getExpiry'>,\n name: string,\n expiry?: Expiry,\n) => {\n if (expiry) {\n if (expiry instanceof Date) {\n return BigNumber.from(expiry.getTime() / 1000)\n }\n if (expiry instanceof BigNumber) {\n return expiry\n }\n return BigNumber.from(expiry)\n }\n if (name.endsWith('.eth')) {\n const expResponse = await getExpiry(name)\n if (!expResponse?.expiry)\n throw new Error(\"Couldn't get expiry for name, please provide one.\")\n return BigNumber.from(expResponse.expiry.getTime() / 1000)\n }\n return MAX_EXPIRY\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,iBAAiB;AAKnB,IAAM,aAAa,UAAU,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC;AAElD,IAAM,aAAa,OACxB,EAAE,UAAU,GACZ,MACA,WACG;AACH,MAAI,QAAQ;AACV,QAAI,kBAAkB,MAAM;AAC1B,aAAO,UAAU,KAAK,OAAO,QAAQ,IAAI,GAAI;AAAA,IAC/C;AACA,QAAI,kBAAkB,WAAW;AAC/B,aAAO;AAAA,IACT;AACA,WAAO,UAAU,KAAK,MAAM;AAAA,EAC9B;AACA,MAAI,KAAK,SAAS,MAAM,GAAG;AACzB,UAAM,cAAc,MAAM,UAAU,IAAI;AACxC,QAAI,CAAC,aAAa;AAChB,YAAM,IAAI,MAAM,mDAAmD;AACrE,WAAO,UAAU,KAAK,YAAY,OAAO,QAAQ,IAAI,GAAI;AAAA,EAC3D;AACA,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { JsonRpcSigner } from '@ethersproject/providers';
|
|
1
|
+
import type { JsonRpcSigner } from '@ethersproject/providers';
|
|
2
2
|
import type { PopulatedTransaction } from 'ethers';
|
|
3
3
|
declare type CustomData = Record<string, any>;
|
|
4
4
|
declare const _default: (signer: JsonRpcSigner, populate: boolean) => ({ customData, ...tx }: PopulatedTransaction) => {
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// src/utils/writeTx.ts
|
|
2
|
+
var withCustomData = (tx, customData) => customData ? { ...tx, customData } : tx;
|
|
3
|
+
var writeTx_default = (signer, populate) => ({ customData, ...tx }) => populate ? withCustomData(tx, customData) : signer.sendTransaction(tx).then((r) => withCustomData(r, customData));
|
|
4
|
+
export {
|
|
5
|
+
writeTx_default as default
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=writeTx.mjs.map
|