@ensdomains/ensjs 2.1.0 → 3.0.0-alpha.3
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/LICENSE +21 -0
- package/README.md +651 -99
- package/dist/cjs/GqlManager.d.ts +6 -0
- package/dist/cjs/GqlManager.js +42 -0
- package/dist/cjs/contracts/baseRegistrar.d.ts +3 -0
- package/dist/cjs/contracts/baseRegistrar.js +4 -0
- package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +3 -0
- package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.js +4 -0
- package/dist/cjs/contracts/ethRegistrarController.d.ts +3 -0
- package/dist/cjs/contracts/ethRegistrarController.js +4 -0
- package/dist/cjs/contracts/getContractAddress.d.ts +3 -0
- package/dist/cjs/contracts/getContractAddress.js +46 -0
- package/dist/cjs/contracts/index.d.ts +16 -0
- package/dist/cjs/contracts/index.js +37 -0
- package/dist/cjs/contracts/multicall.d.ts +3 -0
- package/dist/cjs/contracts/multicall.js +22 -0
- package/dist/cjs/contracts/nameWrapper.d.ts +3 -0
- package/dist/cjs/contracts/nameWrapper.js +4 -0
- package/dist/cjs/contracts/publicResolver.d.ts +3 -0
- package/dist/cjs/contracts/publicResolver.js +4 -0
- package/dist/cjs/contracts/registry.d.ts +3 -0
- package/dist/cjs/contracts/registry.js +4 -0
- package/dist/cjs/contracts/reverseRegistrar.d.ts +3 -0
- package/dist/cjs/contracts/reverseRegistrar.js +4 -0
- package/dist/cjs/contracts/types.d.ts +2 -0
- package/dist/cjs/contracts/types.js +2 -0
- package/dist/cjs/contracts/universalResolver.d.ts +3 -0
- package/dist/cjs/contracts/universalResolver.js +4 -0
- package/dist/cjs/functions/batch.d.ts +9 -0
- package/dist/cjs/functions/batch.js +21 -0
- package/dist/cjs/functions/batchWrappers.d.ts +29 -0
- package/dist/cjs/functions/batchWrappers.js +71 -0
- package/dist/cjs/functions/burnFuses.d.ts +3 -0
- package/dist/cjs/functions/burnFuses.js +18 -0
- package/dist/cjs/functions/createSubname.d.ts +19 -0
- package/dist/cjs/functions/createSubname.js +44 -0
- package/dist/cjs/functions/deleteSubname.d.ts +4 -0
- package/dist/cjs/functions/deleteSubname.js +6 -0
- package/dist/cjs/functions/getDNSOwner.d.ts +7 -0
- package/dist/cjs/functions/getDNSOwner.js +81 -0
- package/dist/cjs/functions/getExpiry.d.ts +12 -0
- package/dist/cjs/functions/getExpiry.js +45 -0
- package/dist/cjs/functions/getFuses.d.ts +17 -0
- package/dist/cjs/functions/getFuses.js +62 -0
- package/dist/cjs/functions/getHistory.d.ts +54 -0
- package/dist/cjs/functions/getHistory.js +279 -0
- package/dist/cjs/functions/getName.d.ts +19 -0
- package/dist/cjs/functions/getName.js +34 -0
- package/dist/cjs/functions/getNames.d.ts +40 -0
- package/dist/cjs/functions/getNames.js +222 -0
- package/dist/cjs/functions/getOwner.d.ts +14 -0
- package/dist/cjs/functions/getOwner.js +140 -0
- package/dist/cjs/functions/getPrice.d.ts +13 -0
- package/dist/cjs/functions/getPrice.js +50 -0
- package/dist/cjs/functions/getProfile.d.ts +30 -0
- package/dist/cjs/functions/getProfile.js +302 -0
- package/dist/cjs/functions/getRecords.d.ts +32 -0
- package/dist/cjs/functions/getRecords.js +11 -0
- package/dist/cjs/functions/getResolver.d.ts +9 -0
- package/dist/cjs/functions/getResolver.js +24 -0
- package/dist/cjs/functions/getSpecificRecord.d.ts +73 -0
- package/dist/cjs/functions/getSpecificRecord.js +268 -0
- package/dist/cjs/functions/getSubnames.d.ts +26 -0
- package/dist/cjs/functions/getSubnames.js +154 -0
- package/dist/cjs/functions/initialGetters.d.ts +11 -0
- package/dist/cjs/functions/initialGetters.js +40 -0
- package/dist/cjs/functions/setName.d.ts +4 -0
- package/dist/cjs/functions/setName.js +17 -0
- package/dist/cjs/functions/setRecords.d.ts +3 -0
- package/dist/cjs/functions/setRecords.js +22 -0
- package/dist/cjs/functions/setResolver.d.ts +4 -0
- package/dist/cjs/functions/setResolver.js +28 -0
- package/dist/cjs/functions/transferName.d.ts +5 -0
- package/dist/cjs/functions/transferName.js +34 -0
- package/dist/cjs/functions/transferSubname.d.ts +5 -0
- package/dist/cjs/functions/transferSubname.js +28 -0
- package/dist/cjs/functions/unwrapName.d.ts +4 -0
- package/dist/cjs/functions/unwrapName.js +28 -0
- package/dist/cjs/functions/wrapName.d.ts +6 -0
- package/dist/cjs/functions/wrapName.js +64 -0
- package/dist/cjs/generated/BaseRegistrarImplementation.d.ts +487 -0
- package/dist/cjs/generated/BaseRegistrarImplementation.js +2 -0
- package/dist/cjs/generated/DNSRegistrar.d.ts +220 -0
- package/dist/cjs/generated/DNSRegistrar.js +2 -0
- package/dist/cjs/generated/DNSSECImpl.d.ts +402 -0
- package/dist/cjs/generated/DNSSECImpl.js +2 -0
- package/dist/cjs/generated/DefaultReverseResolver.d.ts +66 -0
- package/dist/cjs/generated/DefaultReverseResolver.js +2 -0
- package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +144 -0
- package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.js +2 -0
- package/dist/cjs/generated/ENSRegistry.d.ts +259 -0
- package/dist/cjs/generated/ENSRegistry.js +2 -0
- package/dist/cjs/generated/ETHRegistrarController.d.ts +319 -0
- package/dist/cjs/generated/ETHRegistrarController.js +2 -0
- package/dist/cjs/generated/Multicall.d.ts +292 -0
- package/dist/cjs/generated/Multicall.js +2 -0
- package/dist/cjs/generated/NameWrapper.d.ts +675 -0
- package/dist/cjs/generated/NameWrapper.js +2 -0
- package/dist/cjs/generated/P256SHA256Algorithm.d.ts +72 -0
- package/dist/cjs/generated/P256SHA256Algorithm.js +2 -0
- package/dist/cjs/generated/PublicResolver.d.ts +542 -0
- package/dist/cjs/generated/PublicResolver.js +2 -0
- package/dist/cjs/generated/RSASHA1Algorithm.d.ts +42 -0
- package/dist/cjs/generated/RSASHA1Algorithm.js +2 -0
- package/dist/cjs/generated/RSASHA256Algorithm.d.ts +42 -0
- package/dist/cjs/generated/RSASHA256Algorithm.js +2 -0
- package/dist/cjs/generated/ReverseRegistrar.d.ts +259 -0
- package/dist/cjs/generated/ReverseRegistrar.js +2 -0
- package/dist/cjs/generated/Root.d.ts +173 -0
- package/dist/cjs/generated/Root.js +2 -0
- package/dist/cjs/generated/SHA1Digest.d.ts +67 -0
- package/dist/cjs/generated/SHA1Digest.js +2 -0
- package/dist/cjs/generated/SHA1NSEC3Digest.d.ts +72 -0
- package/dist/cjs/generated/SHA1NSEC3Digest.js +2 -0
- package/dist/cjs/generated/SHA256Digest.d.ts +67 -0
- package/dist/cjs/generated/SHA256Digest.js +2 -0
- package/dist/cjs/generated/StaticMetadataService.d.ts +42 -0
- package/dist/cjs/generated/StaticMetadataService.js +2 -0
- package/dist/cjs/generated/TLDPublicSuffixList.d.ts +42 -0
- package/dist/cjs/generated/TLDPublicSuffixList.js +2 -0
- package/dist/cjs/generated/UniversalResolver.d.ts +82 -0
- package/dist/cjs/generated/UniversalResolver.js +2 -0
- package/dist/cjs/generated/common.d.ts +21 -0
- package/dist/cjs/generated/common.js +2 -0
- package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.d.ts +52 -0
- package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.js +770 -0
- package/dist/cjs/generated/factories/DNSRegistrar__factory.d.ts +79 -0
- package/dist/cjs/generated/factories/DNSRegistrar__factory.js +296 -0
- package/dist/cjs/generated/factories/DNSSECImpl__factory.d.ts +68 -0
- package/dist/cjs/generated/factories/DNSSECImpl__factory.js +501 -0
- package/dist/cjs/generated/factories/DefaultReverseResolver__factory.d.ts +36 -0
- package/dist/cjs/generated/factories/DefaultReverseResolver__factory.js +87 -0
- package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts +56 -0
- package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +171 -0
- package/dist/cjs/generated/factories/ENSRegistry__factory.d.ts +52 -0
- package/dist/cjs/generated/factories/ENSRegistry__factory.js +439 -0
- package/dist/cjs/generated/factories/ETHRegistrarController__factory.d.ts +66 -0
- package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +511 -0
- package/dist/cjs/generated/factories/Multicall__factory.d.ts +42 -0
- package/dist/cjs/generated/factories/Multicall__factory.js +457 -0
- package/dist/cjs/generated/factories/NameWrapper__factory.d.ts +57 -0
- package/dist/cjs/generated/factories/NameWrapper__factory.js +1200 -0
- package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.d.ts +34 -0
- package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +71 -0
- package/dist/cjs/generated/factories/PublicResolver__factory.d.ts +46 -0
- package/dist/cjs/generated/factories/PublicResolver__factory.js +892 -0
- package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.d.ts +34 -0
- package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +71 -0
- package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.d.ts +34 -0
- package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +71 -0
- package/dist/cjs/generated/factories/ReverseRegistrar__factory.d.ts +46 -0
- package/dist/cjs/generated/factories/ReverseRegistrar__factory.js +340 -0
- package/dist/cjs/generated/factories/Root__factory.d.ts +52 -0
- package/dist/cjs/generated/factories/Root__factory.js +243 -0
- package/dist/cjs/generated/factories/SHA1Digest__factory.d.ts +34 -0
- package/dist/cjs/generated/factories/SHA1Digest__factory.js +66 -0
- package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.d.ts +34 -0
- package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +71 -0
- package/dist/cjs/generated/factories/SHA256Digest__factory.d.ts +34 -0
- package/dist/cjs/generated/factories/SHA256Digest__factory.js +66 -0
- package/dist/cjs/generated/factories/StaticMetadataService__factory.d.ts +32 -0
- package/dist/cjs/generated/factories/StaticMetadataService__factory.js +49 -0
- package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.d.ts +34 -0
- package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +61 -0
- package/dist/cjs/generated/factories/UniversalResolver__factory.d.ts +42 -0
- package/dist/cjs/generated/factories/UniversalResolver__factory.js +204 -0
- package/dist/cjs/generated/factories/index.d.ts +6 -0
- package/dist/cjs/generated/factories/index.js +18 -0
- package/dist/cjs/generated/index.d.ts +13 -0
- package/dist/cjs/generated/index.js +39 -0
- package/dist/cjs/index.d.ts +471 -0
- package/dist/cjs/index.js +228 -0
- package/dist/cjs/utils/contentHash.d.ts +28 -0
- package/dist/cjs/utils/contentHash.js +164 -0
- package/dist/cjs/utils/createReverseNode.d.ts +2 -0
- package/dist/cjs/utils/createReverseNode.js +3 -0
- package/dist/cjs/utils/format.d.ts +3 -0
- package/dist/cjs/utils/format.js +9 -0
- package/dist/cjs/utils/fuses.d.ts +20 -0
- package/dist/cjs/utils/fuses.js +24 -0
- package/dist/cjs/utils/generateFuseInput.d.ts +3 -0
- package/dist/cjs/utils/generateFuseInput.js +19 -0
- package/dist/cjs/utils/hexEncodedName.d.ts +1 -0
- package/dist/cjs/utils/hexEncodedName.js +9 -0
- package/dist/cjs/utils/labels.d.ts +14 -0
- package/dist/cjs/utils/labels.js +112 -0
- package/dist/cjs/utils/makeHashIndexes.d.ts +2 -0
- package/dist/cjs/utils/makeHashIndexes.js +8 -0
- package/dist/cjs/utils/normalise.d.ts +2 -0
- package/dist/cjs/utils/normalise.js +28 -0
- package/dist/cjs/utils/recordHelpers.d.ts +13 -0
- package/dist/cjs/utils/recordHelpers.js +44 -0
- package/dist/cjs/utils/registerHelpers.d.ts +26 -0
- package/dist/cjs/utils/registerHelpers.js +52 -0
- package/dist/cjs/utils/singleCall.d.ts +9 -0
- package/dist/cjs/utils/singleCall.js +7 -0
- package/dist/cjs/utils/validation.d.ts +8 -0
- package/dist/cjs/utils/validation.js +73 -0
- package/dist/esm/GqlManager.d.ts +6 -0
- package/dist/esm/GqlManager.js +18 -0
- package/dist/esm/contracts/baseRegistrar.d.ts +3 -0
- package/dist/esm/contracts/baseRegistrar.js +2 -0
- package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +3 -0
- package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.js +2 -0
- package/dist/esm/contracts/ethRegistrarController.d.ts +3 -0
- package/dist/esm/contracts/ethRegistrarController.js +2 -0
- package/dist/esm/contracts/getContractAddress.d.ts +3 -0
- package/dist/esm/contracts/getContractAddress.js +42 -0
- package/dist/esm/contracts/index.d.ts +16 -0
- package/dist/esm/contracts/index.js +29 -0
- package/dist/esm/contracts/multicall.d.ts +3 -0
- package/dist/esm/contracts/multicall.js +20 -0
- package/dist/esm/contracts/nameWrapper.d.ts +3 -0
- package/dist/esm/contracts/nameWrapper.js +2 -0
- package/dist/esm/contracts/publicResolver.d.ts +3 -0
- package/dist/esm/contracts/publicResolver.js +2 -0
- package/dist/esm/contracts/registry.d.ts +3 -0
- package/dist/esm/contracts/registry.js +2 -0
- package/dist/esm/contracts/reverseRegistrar.d.ts +3 -0
- package/dist/esm/contracts/reverseRegistrar.js +2 -0
- package/dist/esm/contracts/types.d.ts +2 -0
- package/dist/esm/contracts/types.js +1 -0
- package/dist/esm/contracts/universalResolver.d.ts +3 -0
- package/dist/esm/contracts/universalResolver.js +2 -0
- package/dist/esm/functions/batch.d.ts +9 -0
- package/dist/esm/functions/batch.js +19 -0
- package/dist/esm/functions/batchWrappers.d.ts +29 -0
- package/dist/esm/functions/batchWrappers.js +68 -0
- package/dist/esm/functions/burnFuses.d.ts +3 -0
- package/dist/esm/functions/burnFuses.js +12 -0
- package/dist/esm/functions/createSubname.d.ts +19 -0
- package/dist/esm/functions/createSubname.js +38 -0
- package/dist/esm/functions/deleteSubname.d.ts +4 -0
- package/dist/esm/functions/deleteSubname.js +3 -0
- package/dist/esm/functions/getDNSOwner.d.ts +7 -0
- package/dist/esm/functions/getDNSOwner.js +51 -0
- package/dist/esm/functions/getExpiry.d.ts +12 -0
- package/dist/esm/functions/getExpiry.js +43 -0
- package/dist/esm/functions/getFuses.d.ts +17 -0
- package/dist/esm/functions/getFuses.js +60 -0
- package/dist/esm/functions/getHistory.d.ts +54 -0
- package/dist/esm/functions/getHistory.js +273 -0
- package/dist/esm/functions/getName.d.ts +19 -0
- package/dist/esm/functions/getName.js +32 -0
- package/dist/esm/functions/getNames.d.ts +40 -0
- package/dist/esm/functions/getNames.js +220 -0
- package/dist/esm/functions/getOwner.d.ts +14 -0
- package/dist/esm/functions/getOwner.js +138 -0
- package/dist/esm/functions/getPrice.d.ts +13 -0
- package/dist/esm/functions/getPrice.js +48 -0
- package/dist/esm/functions/getProfile.d.ts +30 -0
- package/dist/esm/functions/getProfile.js +299 -0
- package/dist/esm/functions/getRecords.d.ts +32 -0
- package/dist/esm/functions/getRecords.js +8 -0
- package/dist/esm/functions/getResolver.d.ts +9 -0
- package/dist/esm/functions/getResolver.js +22 -0
- package/dist/esm/functions/getSpecificRecord.d.ts +73 -0
- package/dist/esm/functions/getSpecificRecord.js +265 -0
- package/dist/esm/functions/getSubnames.d.ts +26 -0
- package/dist/esm/functions/getSubnames.js +152 -0
- package/dist/esm/functions/initialGetters.d.ts +11 -0
- package/dist/esm/functions/initialGetters.js +11 -0
- package/dist/esm/functions/setName.d.ts +4 -0
- package/dist/esm/functions/setName.js +14 -0
- package/dist/esm/functions/setRecords.d.ts +3 -0
- package/dist/esm/functions/setRecords.js +19 -0
- package/dist/esm/functions/setResolver.d.ts +4 -0
- package/dist/esm/functions/setResolver.js +25 -0
- package/dist/esm/functions/transferName.d.ts +5 -0
- package/dist/esm/functions/transferName.js +31 -0
- package/dist/esm/functions/transferSubname.d.ts +5 -0
- package/dist/esm/functions/transferSubname.js +25 -0
- package/dist/esm/functions/unwrapName.d.ts +4 -0
- package/dist/esm/functions/unwrapName.js +25 -0
- package/dist/esm/functions/wrapName.d.ts +6 -0
- package/dist/esm/functions/wrapName.js +58 -0
- package/dist/esm/generated/BaseRegistrarImplementation.d.ts +487 -0
- package/dist/esm/generated/BaseRegistrarImplementation.js +1 -0
- package/dist/esm/generated/DNSRegistrar.d.ts +220 -0
- package/dist/esm/generated/DNSRegistrar.js +1 -0
- package/dist/esm/generated/DNSSECImpl.d.ts +402 -0
- package/dist/esm/generated/DNSSECImpl.js +1 -0
- package/dist/esm/generated/DefaultReverseResolver.d.ts +66 -0
- package/dist/esm/generated/DefaultReverseResolver.js +1 -0
- package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +144 -0
- package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.js +1 -0
- package/dist/esm/generated/ENSRegistry.d.ts +259 -0
- package/dist/esm/generated/ENSRegistry.js +1 -0
- package/dist/esm/generated/ETHRegistrarController.d.ts +319 -0
- package/dist/esm/generated/ETHRegistrarController.js +1 -0
- package/dist/esm/generated/Multicall.d.ts +292 -0
- package/dist/esm/generated/Multicall.js +1 -0
- package/dist/esm/generated/NameWrapper.d.ts +675 -0
- package/dist/esm/generated/NameWrapper.js +1 -0
- package/dist/esm/generated/P256SHA256Algorithm.d.ts +72 -0
- package/dist/esm/generated/P256SHA256Algorithm.js +1 -0
- package/dist/esm/generated/PublicResolver.d.ts +542 -0
- package/dist/esm/generated/PublicResolver.js +1 -0
- package/dist/esm/generated/RSASHA1Algorithm.d.ts +42 -0
- package/dist/esm/generated/RSASHA1Algorithm.js +1 -0
- package/dist/esm/generated/RSASHA256Algorithm.d.ts +42 -0
- package/dist/esm/generated/RSASHA256Algorithm.js +1 -0
- package/dist/esm/generated/ReverseRegistrar.d.ts +259 -0
- package/dist/esm/generated/ReverseRegistrar.js +1 -0
- package/dist/esm/generated/Root.d.ts +173 -0
- package/dist/esm/generated/Root.js +1 -0
- package/dist/esm/generated/SHA1Digest.d.ts +67 -0
- package/dist/esm/generated/SHA1Digest.js +1 -0
- package/dist/esm/generated/SHA1NSEC3Digest.d.ts +72 -0
- package/dist/esm/generated/SHA1NSEC3Digest.js +1 -0
- package/dist/esm/generated/SHA256Digest.d.ts +67 -0
- package/dist/esm/generated/SHA256Digest.js +1 -0
- package/dist/esm/generated/StaticMetadataService.d.ts +42 -0
- package/dist/esm/generated/StaticMetadataService.js +1 -0
- package/dist/esm/generated/TLDPublicSuffixList.d.ts +42 -0
- package/dist/esm/generated/TLDPublicSuffixList.js +1 -0
- package/dist/esm/generated/UniversalResolver.d.ts +82 -0
- package/dist/esm/generated/UniversalResolver.js +1 -0
- package/dist/esm/generated/common.d.ts +21 -0
- package/dist/esm/generated/common.js +1 -0
- package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.d.ts +52 -0
- package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.js +766 -0
- package/dist/esm/generated/factories/DNSRegistrar__factory.d.ts +79 -0
- package/dist/esm/generated/factories/DNSRegistrar__factory.js +292 -0
- package/dist/esm/generated/factories/DNSSECImpl__factory.d.ts +68 -0
- package/dist/esm/generated/factories/DNSSECImpl__factory.js +497 -0
- package/dist/esm/generated/factories/DefaultReverseResolver__factory.d.ts +36 -0
- package/dist/esm/generated/factories/DefaultReverseResolver__factory.js +83 -0
- package/dist/esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts +56 -0
- package/dist/esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +167 -0
- package/dist/esm/generated/factories/ENSRegistry__factory.d.ts +52 -0
- package/dist/esm/generated/factories/ENSRegistry__factory.js +435 -0
- package/dist/esm/generated/factories/ETHRegistrarController__factory.d.ts +66 -0
- package/dist/esm/generated/factories/ETHRegistrarController__factory.js +507 -0
- package/dist/esm/generated/factories/Multicall__factory.d.ts +42 -0
- package/dist/esm/generated/factories/Multicall__factory.js +453 -0
- package/dist/esm/generated/factories/NameWrapper__factory.d.ts +57 -0
- package/dist/esm/generated/factories/NameWrapper__factory.js +1196 -0
- package/dist/esm/generated/factories/P256SHA256Algorithm__factory.d.ts +34 -0
- package/dist/esm/generated/factories/P256SHA256Algorithm__factory.js +67 -0
- package/dist/esm/generated/factories/PublicResolver__factory.d.ts +46 -0
- package/dist/esm/generated/factories/PublicResolver__factory.js +888 -0
- package/dist/esm/generated/factories/RSASHA1Algorithm__factory.d.ts +34 -0
- package/dist/esm/generated/factories/RSASHA1Algorithm__factory.js +67 -0
- package/dist/esm/generated/factories/RSASHA256Algorithm__factory.d.ts +34 -0
- package/dist/esm/generated/factories/RSASHA256Algorithm__factory.js +67 -0
- package/dist/esm/generated/factories/ReverseRegistrar__factory.d.ts +46 -0
- package/dist/esm/generated/factories/ReverseRegistrar__factory.js +336 -0
- package/dist/esm/generated/factories/Root__factory.d.ts +52 -0
- package/dist/esm/generated/factories/Root__factory.js +239 -0
- package/dist/esm/generated/factories/SHA1Digest__factory.d.ts +34 -0
- package/dist/esm/generated/factories/SHA1Digest__factory.js +62 -0
- package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.d.ts +34 -0
- package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.js +67 -0
- package/dist/esm/generated/factories/SHA256Digest__factory.d.ts +34 -0
- package/dist/esm/generated/factories/SHA256Digest__factory.js +62 -0
- package/dist/esm/generated/factories/StaticMetadataService__factory.d.ts +32 -0
- package/dist/esm/generated/factories/StaticMetadataService__factory.js +45 -0
- package/dist/esm/generated/factories/TLDPublicSuffixList__factory.d.ts +34 -0
- package/dist/esm/generated/factories/TLDPublicSuffixList__factory.js +57 -0
- package/dist/esm/generated/factories/UniversalResolver__factory.d.ts +42 -0
- package/dist/esm/generated/factories/UniversalResolver__factory.js +200 -0
- package/dist/esm/generated/factories/index.d.ts +6 -0
- package/dist/esm/generated/factories/index.js +9 -0
- package/dist/esm/generated/index.d.ts +13 -0
- package/dist/esm/generated/index.js +7 -0
- package/dist/esm/index.d.ts +471 -0
- package/dist/esm/index.js +193 -0
- package/dist/esm/utils/contentHash.d.ts +28 -0
- package/dist/esm/utils/contentHash.js +153 -0
- package/dist/esm/utils/createReverseNode.d.ts +2 -0
- package/dist/esm/utils/createReverseNode.js +1 -0
- package/dist/esm/utils/format.d.ts +3 -0
- package/dist/esm/utils/format.js +3 -0
- package/dist/esm/utils/fuses.d.ts +20 -0
- package/dist/esm/utils/fuses.js +21 -0
- package/dist/esm/utils/generateFuseInput.d.ts +3 -0
- package/dist/esm/utils/generateFuseInput.js +14 -0
- package/dist/esm/utils/hexEncodedName.d.ts +1 -0
- package/dist/esm/utils/hexEncodedName.js +2 -0
- package/dist/esm/utils/labels.d.ts +14 -0
- package/dist/esm/utils/labels.js +95 -0
- package/dist/esm/utils/makeHashIndexes.d.ts +2 -0
- package/dist/esm/utils/makeHashIndexes.js +3 -0
- package/dist/esm/utils/normalise.d.ts +2 -0
- package/dist/esm/utils/normalise.js +20 -0
- package/dist/esm/utils/recordHelpers.d.ts +13 -0
- package/dist/esm/utils/recordHelpers.js +39 -0
- package/dist/esm/utils/registerHelpers.d.ts +26 -0
- package/dist/esm/utils/registerHelpers.js +43 -0
- package/dist/esm/utils/singleCall.d.ts +9 -0
- package/dist/esm/utils/singleCall.js +5 -0
- package/dist/esm/utils/validation.d.ts +8 -0
- package/dist/esm/utils/validation.js +67 -0
- package/package.json +77 -49
- package/src/@types/@ensdomains/content-hash.d.ts +1 -0
- package/src/@types/@ensdomains/ens-contracts.d.ts +1 -0
- package/src/@types/FuseOptions.d.ts +9 -0
- package/src/@types/dns-packet/index.d.ts +114 -0
- package/src/@types/dns-packet.d.ts +1 -0
- package/src/@types/idna-uts46-hx.d.ts +1 -0
- package/src/ABIs/ETHRegistrarController.json +494 -0
- package/src/ABIs/NameWrapper.json +1183 -0
- package/src/ABIs/PublicResolver.json +875 -0
- package/src/ABIs/ReverseRegistrar.json +323 -0
- package/src/ABIs/StaticMetadataService.json +32 -0
- package/src/ABIs/UniversalResolver.json +187 -0
- package/src/GqlManager.ts +18 -0
- package/src/contracts/baseRegistrar.ts +5 -0
- package/src/contracts/doNotCallOnChainUniversalResolverProxy.ts +5 -0
- package/src/contracts/ethRegistrarController.ts +5 -0
- package/src/contracts/getContractAddress.ts +52 -0
- package/src/contracts/index.ts +68 -0
- package/src/contracts/multicall.ts +24 -0
- package/src/contracts/nameWrapper.ts +5 -0
- package/src/contracts/publicResolver.ts +5 -0
- package/src/contracts/registry.ts +5 -0
- package/src/contracts/reverseRegistrar.ts +5 -0
- package/src/contracts/types.ts +11 -0
- package/src/contracts/universalResolver.ts +5 -0
- package/src/functions/batch.test.ts +36 -0
- package/src/functions/batch.ts +36 -0
- package/src/functions/batchWrappers.test.ts +31 -0
- package/src/functions/batchWrappers.ts +91 -0
- package/src/functions/burnFuses.test.ts +44 -0
- package/src/functions/burnFuses.ts +23 -0
- package/src/functions/createSubname.test.ts +58 -0
- package/src/functions/createSubname.ts +83 -0
- package/src/functions/deleteSubname.test.ts +71 -0
- package/src/functions/deleteSubname.ts +19 -0
- package/src/functions/getDNSOwner.test.ts +122 -0
- package/src/functions/getDNSOwner.ts +61 -0
- package/src/functions/getExpiry.test.ts +37 -0
- package/src/functions/getExpiry.ts +63 -0
- package/src/functions/getFuses.test.ts +103 -0
- package/src/functions/getFuses.ts +76 -0
- package/src/functions/getHistory.test.ts +101 -0
- package/src/functions/getHistory.ts +347 -0
- package/src/functions/getName.test.ts +47 -0
- package/src/functions/getName.ts +41 -0
- package/src/functions/getNames.test.ts +247 -0
- package/src/functions/getNames.ts +275 -0
- package/src/functions/getOwner.test.ts +71 -0
- package/src/functions/getOwner.ts +202 -0
- package/src/functions/getPrice.ts +71 -0
- package/src/functions/getProfile.test.ts +120 -0
- package/src/functions/getProfile.ts +543 -0
- package/src/functions/getRecords.ts +22 -0
- package/src/functions/getResolver.test.ts +19 -0
- package/src/functions/getResolver.ts +32 -0
- package/src/functions/getSpecificRecord.test.ts +76 -0
- package/src/functions/getSpecificRecord.ts +365 -0
- package/src/functions/getSubnames.test.ts +31 -0
- package/src/functions/getSubnames.ts +190 -0
- package/src/functions/initialGetters.ts +11 -0
- package/src/functions/makeCommitment.test.ts +23 -0
- package/src/functions/normalise.test.ts +22 -0
- package/src/functions/setName.test.ts +58 -0
- package/src/functions/setName.ts +34 -0
- package/src/functions/setRecords.test.ts +58 -0
- package/src/functions/setRecords.ts +38 -0
- package/src/functions/setResolver.test.ts +60 -0
- package/src/functions/setResolver.ts +40 -0
- package/src/functions/transferName.test.ts +81 -0
- package/src/functions/transferName.ts +57 -0
- package/src/functions/transferSubname.test.ts +73 -0
- package/src/functions/transferSubname.ts +38 -0
- package/src/functions/unwrapName.test.ts +68 -0
- package/src/functions/unwrapName.ts +39 -0
- package/src/functions/wrapName.test.ts +64 -0
- package/src/functions/wrapName.ts +128 -0
- package/src/generated/BaseRegistrarImplementation.ts +1122 -0
- package/src/generated/DNSRegistrar.ts +445 -0
- package/src/generated/DNSSECImpl.ts +770 -0
- package/src/generated/DefaultReverseResolver.ts +137 -0
- package/src/generated/DoNotCallOnChainUniversalResolverProxy.ts +285 -0
- package/src/generated/ENSRegistry.ts +618 -0
- package/src/generated/ETHRegistrarController.ts +743 -0
- package/src/generated/Multicall.ts +582 -0
- package/src/generated/NameWrapper.ts +1694 -0
- package/src/generated/P256SHA256Algorithm.ts +139 -0
- package/src/generated/PublicResolver.ts +1326 -0
- package/src/generated/RSASHA1Algorithm.ts +109 -0
- package/src/generated/RSASHA256Algorithm.ts +109 -0
- package/src/generated/ReverseRegistrar.ts +556 -0
- package/src/generated/Root.ts +377 -0
- package/src/generated/SHA1Digest.ts +129 -0
- package/src/generated/SHA1NSEC3Digest.ts +140 -0
- package/src/generated/SHA256Digest.ts +129 -0
- package/src/generated/StaticMetadataService.ts +85 -0
- package/src/generated/TLDPublicSuffixList.ts +99 -0
- package/src/generated/UniversalResolver.ts +260 -0
- package/src/generated/common.ts +44 -0
- package/src/generated/factories/BaseRegistrarImplementation__factory.ts +781 -0
- package/src/generated/factories/DNSRegistrar__factory.ts +329 -0
- package/src/generated/factories/DNSSECImpl__factory.ts +527 -0
- package/src/generated/factories/DefaultReverseResolver__factory.ts +98 -0
- package/src/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.ts +186 -0
- package/src/generated/factories/ENSRegistry__factory.ts +443 -0
- package/src/generated/factories/ETHRegistrarController__factory.ts +522 -0
- package/src/generated/factories/Multicall__factory.ts +461 -0
- package/src/generated/factories/NameWrapper__factory.ts +1204 -0
- package/src/generated/factories/P256SHA256Algorithm__factory.ts +91 -0
- package/src/generated/factories/PublicResolver__factory.ts +899 -0
- package/src/generated/factories/RSASHA1Algorithm__factory.ts +91 -0
- package/src/generated/factories/RSASHA256Algorithm__factory.ts +91 -0
- package/src/generated/factories/ReverseRegistrar__factory.ts +347 -0
- package/src/generated/factories/Root__factory.ts +244 -0
- package/src/generated/factories/SHA1Digest__factory.ts +83 -0
- package/src/generated/factories/SHA1NSEC3Digest__factory.ts +91 -0
- package/src/generated/factories/SHA256Digest__factory.ts +83 -0
- package/src/generated/factories/StaticMetadataService__factory.ts +60 -0
- package/src/generated/factories/TLDPublicSuffixList__factory.ts +81 -0
- package/src/generated/factories/UniversalResolver__factory.ts +211 -0
- package/src/generated/factories/index.ts +9 -0
- package/src/generated/index.ts +16 -0
- package/src/index.ts +516 -0
- package/src/tests/setup.ts +53 -0
- package/src/tests/withProvider.test.ts +28 -0
- package/src/utils/contentHash.ts +151 -0
- package/src/utils/createReverseNode.ts +2 -0
- package/src/utils/format.ts +8 -0
- package/src/utils/fuses.ts +23 -0
- package/src/utils/generateFuseInput.ts +18 -0
- package/src/utils/hexEncodedName.ts +4 -0
- package/src/utils/labels.ts +119 -0
- package/src/utils/makeHashIndexes.ts +9 -0
- package/src/utils/normalise.ts +27 -0
- package/src/utils/recordHelpers.ts +72 -0
- package/src/utils/registerHelpers.ts +87 -0
- package/src/utils/singleCall.ts +16 -0
- package/src/utils/validation.ts +73 -0
- package/dist/constants/interfaces.js +0 -13
- package/dist/index.js +0 -1135
- package/dist/utils/contents.js +0 -126
- package/dist/utils/index.js +0 -192
- package/dist/utils/labelhash.js +0 -55
- package/dist/utils/namehash.js +0 -39
- package/dist/utils/records.js +0 -56
package/src/index.ts
ADDED
|
@@ -0,0 +1,516 @@
|
|
|
1
|
+
import { ethers } from 'ethers'
|
|
2
|
+
import ContractManager from './contracts'
|
|
3
|
+
import { getContractAddress as _getContractAddress } from './contracts/getContractAddress'
|
|
4
|
+
import { SupportedNetworkId } from './contracts/types'
|
|
5
|
+
import type batch from './functions/batch'
|
|
6
|
+
import type {
|
|
7
|
+
multicallWrapper,
|
|
8
|
+
resolverMulticallWrapper,
|
|
9
|
+
universalWrapper,
|
|
10
|
+
} from './functions/batchWrappers'
|
|
11
|
+
import type burnFuses from './functions/burnFuses'
|
|
12
|
+
import type createSubname from './functions/createSubname'
|
|
13
|
+
import type deleteSubname from './functions/deleteSubname'
|
|
14
|
+
import type getExpiry from './functions/getExpiry'
|
|
15
|
+
import type getFuses from './functions/getFuses'
|
|
16
|
+
import type {
|
|
17
|
+
getHistory,
|
|
18
|
+
getHistoryDetailForTransactionHash,
|
|
19
|
+
getHistoryWithDetail,
|
|
20
|
+
} from './functions/getHistory'
|
|
21
|
+
import type getName from './functions/getName'
|
|
22
|
+
import type getNames from './functions/getNames'
|
|
23
|
+
import type getOwner from './functions/getOwner'
|
|
24
|
+
import type getPrice from './functions/getPrice'
|
|
25
|
+
import type getProfile from './functions/getProfile'
|
|
26
|
+
import type getRecords from './functions/getRecords'
|
|
27
|
+
import type getResolver from './functions/getResolver'
|
|
28
|
+
import type {
|
|
29
|
+
getAddr,
|
|
30
|
+
getContentHash,
|
|
31
|
+
getText,
|
|
32
|
+
_getAddr,
|
|
33
|
+
_getContentHash,
|
|
34
|
+
_getText,
|
|
35
|
+
} from './functions/getSpecificRecord'
|
|
36
|
+
import type getSubnames from './functions/getSubnames'
|
|
37
|
+
import type setName from './functions/setName'
|
|
38
|
+
import type setRecords from './functions/setRecords'
|
|
39
|
+
import type setResolver from './functions/setResolver'
|
|
40
|
+
import type transferName from './functions/transferName'
|
|
41
|
+
import type transferSubname from './functions/transferSubname'
|
|
42
|
+
import type unwrapName from './functions/unwrapName'
|
|
43
|
+
import type wrapName from './functions/wrapName'
|
|
44
|
+
import type getDNSOwner from './functions/getDNSOwner'
|
|
45
|
+
import GqlManager from './GqlManager'
|
|
46
|
+
import singleCall from './utils/singleCall'
|
|
47
|
+
|
|
48
|
+
type ENSOptions = {
|
|
49
|
+
graphURI?: string | null
|
|
50
|
+
getContractAddress?: typeof _getContractAddress
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export type InternalENS = {
|
|
54
|
+
options?: ENSOptions
|
|
55
|
+
provider?: ethers.providers.Provider
|
|
56
|
+
graphURI?: string | null
|
|
57
|
+
} & ENS
|
|
58
|
+
|
|
59
|
+
export type ENSArgs<K extends keyof InternalENS> = {
|
|
60
|
+
[P in K]: InternalENS[P]
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
type OmitFirstArg<F> = F extends (x: any, ...args: infer P) => infer R
|
|
64
|
+
? (...args: P) => R
|
|
65
|
+
: never
|
|
66
|
+
|
|
67
|
+
type OmitFirstTwoArgs<F> = F extends (
|
|
68
|
+
x: any,
|
|
69
|
+
y: any,
|
|
70
|
+
...args: infer P
|
|
71
|
+
) => infer R
|
|
72
|
+
? (...args: P) => R
|
|
73
|
+
: never
|
|
74
|
+
|
|
75
|
+
type FirstArg<F> = F extends (x: infer A, ...args: any[]) => any ? A : never
|
|
76
|
+
|
|
77
|
+
type FunctionDeps<F> = Extract<keyof FirstArg<F>, string>[]
|
|
78
|
+
|
|
79
|
+
const graphURIEndpoints: Record<string, string> = {
|
|
80
|
+
1: 'https://api.thegraph.com/subgraphs/name/ensdomains/ens',
|
|
81
|
+
3: 'https://api.thegraph.com/subgraphs/name/ensdomains/ensropsten',
|
|
82
|
+
4: 'https://api.thegraph.com/subgraphs/name/ensdomains/ensrinkeby',
|
|
83
|
+
5: 'https://api.thegraph.com/subgraphs/name/ensdomains/ensgoerli',
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export type RawFunction = {
|
|
87
|
+
raw: (...args: any[]) => Promise<{ to: string; data: string }>
|
|
88
|
+
decode: (...args: any[]) => Promise<any>
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export type BatchFunctionResult<F extends RawFunction> = {
|
|
92
|
+
args: Parameters<OmitFirstArg<F['raw']>>
|
|
93
|
+
raw: F['raw']
|
|
94
|
+
decode: F['decode']
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
type BatchFunction<F extends RawFunction> = (
|
|
98
|
+
...args: Parameters<OmitFirstArg<F['raw']>>
|
|
99
|
+
) => BatchFunctionResult<F>
|
|
100
|
+
|
|
101
|
+
export type RawFunctionWithBatch = {
|
|
102
|
+
batch: BatchFunction<any>
|
|
103
|
+
} & RawFunction
|
|
104
|
+
|
|
105
|
+
interface GeneratedRawFunction<F extends RawFunction>
|
|
106
|
+
extends Function,
|
|
107
|
+
RawFunction {
|
|
108
|
+
(...args: Parameters<OmitFirstArg<F['raw']>>): ReturnType<
|
|
109
|
+
OmitFirstTwoArgs<F['decode']>
|
|
110
|
+
>
|
|
111
|
+
batch: BatchFunction<F>
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
type CombineFunctionDeps<F> = F extends RawFunction
|
|
115
|
+
? FunctionDeps<F['raw']> | FunctionDeps<F['decode']>
|
|
116
|
+
: never
|
|
117
|
+
|
|
118
|
+
export interface GenericGeneratedRawFunction
|
|
119
|
+
extends Function,
|
|
120
|
+
RawFunctionWithBatch {}
|
|
121
|
+
|
|
122
|
+
export class ENS {
|
|
123
|
+
[x: string]: any
|
|
124
|
+
protected options?: ENSOptions
|
|
125
|
+
protected provider?: ethers.providers.JsonRpcProvider
|
|
126
|
+
protected graphURI?: string | null
|
|
127
|
+
protected initialProvider?: ethers.providers.JsonRpcProvider
|
|
128
|
+
contracts?: ContractManager
|
|
129
|
+
getContractAddress = _getContractAddress
|
|
130
|
+
gqlInstance = new GqlManager()
|
|
131
|
+
|
|
132
|
+
constructor(options?: ENSOptions) {
|
|
133
|
+
this.options = options
|
|
134
|
+
this.getContractAddress = options?.getContractAddress || _getContractAddress
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Checks for an initial provider and if it exists, sets it as the provider
|
|
139
|
+
* @returns {Promise<void>} - A promise that resolves when the provider is checked, and set if needed
|
|
140
|
+
*/
|
|
141
|
+
private checkInitialProvider = async (): Promise<void> => {
|
|
142
|
+
if (!this.initialProvider) {
|
|
143
|
+
return
|
|
144
|
+
}
|
|
145
|
+
await this.setProvider(this.initialProvider)
|
|
146
|
+
return
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Creates an object of ENS properties from an array
|
|
151
|
+
* @param {FunctionDeps} dependencies - An array of ENS properties
|
|
152
|
+
* @returns {Object} - An object of ENS properties
|
|
153
|
+
*/
|
|
154
|
+
private forwardDependenciesFromArray = <F>(
|
|
155
|
+
dependencies: FunctionDeps<F>,
|
|
156
|
+
): object =>
|
|
157
|
+
// Creates an object from entries of the array
|
|
158
|
+
Object.fromEntries(
|
|
159
|
+
// Maps over dependencies and create arrays for each, e.g. ['contracts', contractObj]
|
|
160
|
+
dependencies.map((dep) => [dep, this[dep as keyof InternalENS]]),
|
|
161
|
+
)
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Creates a wrapper for a function to be dynamically imported, with the correct dependencies passed in
|
|
165
|
+
* @param {string} path - The path of the exported function
|
|
166
|
+
* @param {FunctionDeps} dependencies - An array of ENS properties
|
|
167
|
+
* @param {string} exportName - The export name of the target function
|
|
168
|
+
* @param {string} subFunc - The type of function being imported
|
|
169
|
+
* @returns {Function} - The generated wrapped function
|
|
170
|
+
*/
|
|
171
|
+
private importGenerator = <F>(
|
|
172
|
+
path: string,
|
|
173
|
+
dependencies: FunctionDeps<F>,
|
|
174
|
+
exportName: string = 'default',
|
|
175
|
+
subFunc?: 'raw' | 'decode' | 'combine' | 'batch',
|
|
176
|
+
passthrough?: RawFunction,
|
|
177
|
+
): Function => {
|
|
178
|
+
// if batch is specified, create batch func
|
|
179
|
+
if (subFunc === 'batch') {
|
|
180
|
+
return (...args: any[]) => ({ args, ...passthrough })
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
const thisRef = this
|
|
184
|
+
const mainFunc = async function (...args: any[]) {
|
|
185
|
+
// check the initial provider and set if it exists
|
|
186
|
+
await thisRef.checkInitialProvider()
|
|
187
|
+
// import the module dynamically
|
|
188
|
+
const mod = await import(
|
|
189
|
+
/* webpackMode: "lazy", webpackChunkName: "[request]", webpackPreload: true */
|
|
190
|
+
`./functions/${path}`
|
|
191
|
+
)
|
|
192
|
+
|
|
193
|
+
// if combine isn't specified, run normally
|
|
194
|
+
// otherwise, create a function from the raw and decode functions
|
|
195
|
+
if (subFunc !== 'combine') {
|
|
196
|
+
// get the function to call
|
|
197
|
+
const func = subFunc ? mod[exportName][subFunc] : mod[exportName]
|
|
198
|
+
if(dependencies.length === 0) {
|
|
199
|
+
return func(...args)
|
|
200
|
+
}
|
|
201
|
+
// get the dependencies to forward to the function as the first arg
|
|
202
|
+
const dependenciesToForward =
|
|
203
|
+
thisRef.forwardDependenciesFromArray<F>(dependencies)
|
|
204
|
+
// return the function with the dependencies forwarded
|
|
205
|
+
return func(dependenciesToForward, ...args)
|
|
206
|
+
} else {
|
|
207
|
+
// get the dependencies to forward from raw and decode functions
|
|
208
|
+
const dependenciesToForward = thisRef.forwardDependenciesFromArray<
|
|
209
|
+
CombineFunctionDeps<F>
|
|
210
|
+
>(dependencies as any)
|
|
211
|
+
|
|
212
|
+
// return singleCall function with dependencies forwarded
|
|
213
|
+
return singleCall(
|
|
214
|
+
thisRef.provider!,
|
|
215
|
+
dependenciesToForward,
|
|
216
|
+
mod[exportName],
|
|
217
|
+
...args,
|
|
218
|
+
)
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
// if subfunc is combine, add raw and decode property methods to the function
|
|
223
|
+
if (subFunc === 'combine') {
|
|
224
|
+
mainFunc.raw = this.importGenerator<F>(
|
|
225
|
+
path,
|
|
226
|
+
dependencies,
|
|
227
|
+
exportName,
|
|
228
|
+
'raw',
|
|
229
|
+
)
|
|
230
|
+
mainFunc.decode = this.importGenerator<F>(
|
|
231
|
+
path,
|
|
232
|
+
dependencies,
|
|
233
|
+
exportName,
|
|
234
|
+
'decode',
|
|
235
|
+
) as (data: any, ...args: any[]) => Promise<any>
|
|
236
|
+
mainFunc.batch = this.importGenerator<F>(
|
|
237
|
+
path,
|
|
238
|
+
dependencies,
|
|
239
|
+
exportName,
|
|
240
|
+
'batch',
|
|
241
|
+
{ raw: mainFunc.raw as any, decode: mainFunc.decode as any },
|
|
242
|
+
)
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
return mainFunc as Function
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Generates a normal wrapped function
|
|
250
|
+
* @param {string} path - The path of the exported function
|
|
251
|
+
* @param {FunctionDeps} dependencies - An array of ENS properties
|
|
252
|
+
* @param {string} exportName - The export name of the target function
|
|
253
|
+
* @returns {OmitFirstArg} - The generated wrapped function
|
|
254
|
+
*/
|
|
255
|
+
private generateFunction = <F>(
|
|
256
|
+
path: string,
|
|
257
|
+
dependencies: FunctionDeps<F>,
|
|
258
|
+
exportName: string = 'default',
|
|
259
|
+
): OmitFirstArg<F> =>
|
|
260
|
+
this.importGenerator<F>(path, dependencies, exportName) as OmitFirstArg<F>
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* Generates a wrapped function from raw and decode exports
|
|
264
|
+
* @param {string} path - The path of the exported function
|
|
265
|
+
* @param {FunctionDeps} dependencies - An array of ENS properties
|
|
266
|
+
* @param {string} exportName - The export name of the target function
|
|
267
|
+
* @returns {GeneratedRawFunction} - The generated wrapped function
|
|
268
|
+
*/
|
|
269
|
+
private generateRawFunction = <F extends RawFunction>(
|
|
270
|
+
path: string,
|
|
271
|
+
dependencies: FunctionDeps<F['raw']> | FunctionDeps<F['decode']>,
|
|
272
|
+
exportName: string = 'default',
|
|
273
|
+
): GeneratedRawFunction<F> =>
|
|
274
|
+
this.importGenerator<F>(
|
|
275
|
+
path,
|
|
276
|
+
dependencies as any,
|
|
277
|
+
exportName,
|
|
278
|
+
'combine',
|
|
279
|
+
) as GeneratedRawFunction<F>
|
|
280
|
+
|
|
281
|
+
/**
|
|
282
|
+
* Sets the provider for the ENS class
|
|
283
|
+
* @param {ethers.providers.JsonRpcProvider} provider - The provider to set
|
|
284
|
+
* @returns {Promise<void>} - A promise that resolves when the provider is set
|
|
285
|
+
*/
|
|
286
|
+
public setProvider = async (
|
|
287
|
+
provider: ethers.providers.JsonRpcProvider,
|
|
288
|
+
): Promise<void> => {
|
|
289
|
+
this.provider = provider
|
|
290
|
+
const network = (await this.provider.getNetwork()).chainId
|
|
291
|
+
if (this.options && this.options.graphURI) {
|
|
292
|
+
this.graphURI = this.options.graphURI
|
|
293
|
+
} else {
|
|
294
|
+
this.graphURI = graphURIEndpoints[network]
|
|
295
|
+
}
|
|
296
|
+
await this.gqlInstance.setUrl(this.graphURI)
|
|
297
|
+
this.contracts = new ContractManager(
|
|
298
|
+
this.provider,
|
|
299
|
+
this.getContractAddress(String(network) as SupportedNetworkId),
|
|
300
|
+
)
|
|
301
|
+
return
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
/**
|
|
305
|
+
* Creates a new ENS instance with a different provider, ideally should be used individually with any given function
|
|
306
|
+
* @param {ethers.providers.JsonRpcProvider} provider - The provider to use
|
|
307
|
+
* @returns {ENS} - A new ENS instance with the given provider
|
|
308
|
+
*/
|
|
309
|
+
public withProvider = (provider: ethers.providers.JsonRpcProvider): ENS => {
|
|
310
|
+
const newENS = new ENS(this.options)
|
|
311
|
+
newENS.initialProvider = provider
|
|
312
|
+
return newENS
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
public batch = this.generateRawFunction<typeof batch>(
|
|
316
|
+
'initialGetters',
|
|
317
|
+
['multicallWrapper'],
|
|
318
|
+
'batch',
|
|
319
|
+
)
|
|
320
|
+
|
|
321
|
+
public getProfile = this.generateFunction<typeof getProfile>(
|
|
322
|
+
'initialGetters',
|
|
323
|
+
[
|
|
324
|
+
'contracts',
|
|
325
|
+
'gqlInstance',
|
|
326
|
+
'getName',
|
|
327
|
+
'resolverMulticallWrapper',
|
|
328
|
+
'multicallWrapper',
|
|
329
|
+
'_getAddr',
|
|
330
|
+
'_getContentHash',
|
|
331
|
+
'_getText',
|
|
332
|
+
],
|
|
333
|
+
'getProfile',
|
|
334
|
+
)
|
|
335
|
+
|
|
336
|
+
public getRecords = this.generateFunction<typeof getRecords>(
|
|
337
|
+
'initialGetters',
|
|
338
|
+
['getProfile'],
|
|
339
|
+
'getRecords',
|
|
340
|
+
)
|
|
341
|
+
|
|
342
|
+
public getName = this.generateRawFunction<typeof getName>(
|
|
343
|
+
'initialGetters',
|
|
344
|
+
['contracts'],
|
|
345
|
+
'getName',
|
|
346
|
+
)
|
|
347
|
+
|
|
348
|
+
public getResolver = this.generateRawFunction<typeof getResolver>(
|
|
349
|
+
'getResolver',
|
|
350
|
+
['contracts'],
|
|
351
|
+
)
|
|
352
|
+
|
|
353
|
+
public getFuses = this.generateRawFunction<typeof getFuses>('getFuses', [
|
|
354
|
+
'contracts',
|
|
355
|
+
])
|
|
356
|
+
|
|
357
|
+
public getHistory = this.generateFunction<typeof getHistory>(
|
|
358
|
+
'getHistory',
|
|
359
|
+
['gqlInstance'],
|
|
360
|
+
'getHistory',
|
|
361
|
+
)
|
|
362
|
+
|
|
363
|
+
public getHistoryWithDetail = this.generateFunction<
|
|
364
|
+
typeof getHistoryWithDetail
|
|
365
|
+
>(
|
|
366
|
+
'getHistory',
|
|
367
|
+
['contracts', 'gqlInstance', 'provider'],
|
|
368
|
+
'getHistoryWithDetail',
|
|
369
|
+
)
|
|
370
|
+
|
|
371
|
+
public getHistoryDetailForTransactionHash = this.generateFunction<
|
|
372
|
+
typeof getHistoryDetailForTransactionHash
|
|
373
|
+
>(
|
|
374
|
+
'getHistory',
|
|
375
|
+
['contracts', 'provider'],
|
|
376
|
+
'getHistoryDetailForTransactionHash',
|
|
377
|
+
)
|
|
378
|
+
|
|
379
|
+
public getContentHash = this.generateRawFunction<typeof getContentHash>(
|
|
380
|
+
'initialGetters',
|
|
381
|
+
['contracts', 'universalWrapper'],
|
|
382
|
+
'getContentHash',
|
|
383
|
+
)
|
|
384
|
+
|
|
385
|
+
public _getContentHash = this.generateRawFunction<typeof _getContentHash>(
|
|
386
|
+
'initialGetters',
|
|
387
|
+
['contracts'],
|
|
388
|
+
'_getContentHash',
|
|
389
|
+
)
|
|
390
|
+
|
|
391
|
+
public getAddr = this.generateRawFunction<typeof getAddr>(
|
|
392
|
+
'initialGetters',
|
|
393
|
+
['contracts', 'universalWrapper'],
|
|
394
|
+
'getAddr',
|
|
395
|
+
)
|
|
396
|
+
|
|
397
|
+
public _getAddr = this.generateRawFunction<typeof _getAddr>(
|
|
398
|
+
'initialGetters',
|
|
399
|
+
['contracts'],
|
|
400
|
+
'_getAddr',
|
|
401
|
+
)
|
|
402
|
+
|
|
403
|
+
public getText = this.generateRawFunction<typeof getText>(
|
|
404
|
+
'initialGetters',
|
|
405
|
+
['contracts', 'universalWrapper'],
|
|
406
|
+
'getText',
|
|
407
|
+
)
|
|
408
|
+
|
|
409
|
+
public _getText = this.generateRawFunction<typeof _getText>(
|
|
410
|
+
'initialGetters',
|
|
411
|
+
['contracts'],
|
|
412
|
+
'_getText',
|
|
413
|
+
)
|
|
414
|
+
|
|
415
|
+
public getOwner = this.generateRawFunction<typeof getOwner>(
|
|
416
|
+
'initialGetters',
|
|
417
|
+
['contracts', 'multicallWrapper'],
|
|
418
|
+
'getOwner',
|
|
419
|
+
)
|
|
420
|
+
|
|
421
|
+
public getExpiry = this.generateRawFunction<typeof getExpiry>(
|
|
422
|
+
'initialGetters',
|
|
423
|
+
['contracts', 'multicallWrapper'],
|
|
424
|
+
'getExpiry',
|
|
425
|
+
)
|
|
426
|
+
|
|
427
|
+
public getSubnames = this.generateFunction<typeof getSubnames>(
|
|
428
|
+
'initialGetters',
|
|
429
|
+
['gqlInstance'],
|
|
430
|
+
'getSubnames',
|
|
431
|
+
)
|
|
432
|
+
|
|
433
|
+
public getNames = this.generateFunction<typeof getNames>(
|
|
434
|
+
'initialGetters',
|
|
435
|
+
['gqlInstance'],
|
|
436
|
+
'getNames',
|
|
437
|
+
)
|
|
438
|
+
|
|
439
|
+
public getPrice = this.generateRawFunction<typeof getPrice>(
|
|
440
|
+
'initialGetters',
|
|
441
|
+
['contracts', 'multicallWrapper'],
|
|
442
|
+
'getPrice',
|
|
443
|
+
)
|
|
444
|
+
|
|
445
|
+
public universalWrapper = this.generateRawFunction<typeof universalWrapper>(
|
|
446
|
+
'initialGetters',
|
|
447
|
+
['contracts'],
|
|
448
|
+
'universalWrapper',
|
|
449
|
+
)
|
|
450
|
+
|
|
451
|
+
public resolverMulticallWrapper = this.generateRawFunction<
|
|
452
|
+
typeof resolverMulticallWrapper
|
|
453
|
+
>('initialGetters', ['contracts'], 'resolverMulticallWrapper')
|
|
454
|
+
|
|
455
|
+
public multicallWrapper = this.generateRawFunction<typeof multicallWrapper>(
|
|
456
|
+
'initialGetters',
|
|
457
|
+
['contracts'],
|
|
458
|
+
'multicallWrapper',
|
|
459
|
+
)
|
|
460
|
+
|
|
461
|
+
public setName = this.generateFunction<typeof setName>('setName', [
|
|
462
|
+
'contracts',
|
|
463
|
+
'provider',
|
|
464
|
+
])
|
|
465
|
+
|
|
466
|
+
public setRecords = this.generateFunction<typeof setRecords>('setRecords', [
|
|
467
|
+
'contracts',
|
|
468
|
+
'provider',
|
|
469
|
+
'getResolver',
|
|
470
|
+
])
|
|
471
|
+
|
|
472
|
+
public setResolver = this.generateFunction<typeof setResolver>(
|
|
473
|
+
'setResolver',
|
|
474
|
+
['contracts', 'provider'],
|
|
475
|
+
)
|
|
476
|
+
|
|
477
|
+
public transferName = this.generateFunction<typeof transferName>(
|
|
478
|
+
'transferName',
|
|
479
|
+
['contracts', 'provider'],
|
|
480
|
+
)
|
|
481
|
+
|
|
482
|
+
public wrapName = this.generateFunction<typeof wrapName>('wrapName', [
|
|
483
|
+
'contracts',
|
|
484
|
+
'provider',
|
|
485
|
+
])
|
|
486
|
+
|
|
487
|
+
public unwrapName = this.generateFunction<typeof unwrapName>('unwrapName', [
|
|
488
|
+
'contracts',
|
|
489
|
+
'provider',
|
|
490
|
+
])
|
|
491
|
+
|
|
492
|
+
public burnFuses = this.generateFunction<typeof burnFuses>('burnFuses', [
|
|
493
|
+
'contracts',
|
|
494
|
+
'provider',
|
|
495
|
+
])
|
|
496
|
+
|
|
497
|
+
public createSubname = this.generateFunction<typeof createSubname>(
|
|
498
|
+
'createSubname',
|
|
499
|
+
['contracts', 'provider'],
|
|
500
|
+
)
|
|
501
|
+
|
|
502
|
+
public deleteSubname = this.generateFunction<typeof deleteSubname>(
|
|
503
|
+
'deleteSubname',
|
|
504
|
+
['contracts', 'provider', 'transferSubname'],
|
|
505
|
+
)
|
|
506
|
+
|
|
507
|
+
public transferSubname = this.generateFunction<typeof transferSubname>(
|
|
508
|
+
'transferSubname',
|
|
509
|
+
['contracts', 'provider'],
|
|
510
|
+
)
|
|
511
|
+
|
|
512
|
+
public getDNSOwner = this.generateFunction<typeof getDNSOwner>(
|
|
513
|
+
'getDNSOwner',
|
|
514
|
+
[],
|
|
515
|
+
)
|
|
516
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ethers } from 'ethers'
|
|
2
|
+
import { ENS } from '../'
|
|
3
|
+
import { ContractName, SupportedNetworkId } from '../contracts/types'
|
|
4
|
+
|
|
5
|
+
const addresses = {
|
|
6
|
+
BaseRegistrarImplementation: '0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85',
|
|
7
|
+
Multicall: '0xcA11bde05977b3631167028862bE2a173976CA11',
|
|
8
|
+
NameWrapper: '0xD7D9C568Bc4C2343ab286096e1F851D33eEf49Af',
|
|
9
|
+
PublicResolver: '0x3bAa5F3ea7bFCC8948c4140f233d72c11eBF0bdB',
|
|
10
|
+
ENSRegistryWithFallback: '0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e',
|
|
11
|
+
ReverseRegistrar: '0x4696E2f7D9f4CA187155ff50D93C00172181ddd5',
|
|
12
|
+
UniversalResolver: '0xAbCd01ddDa102B0C32e8C5a371D7480dFA559DC3',
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const createENS = (graphURI: string) =>
|
|
16
|
+
new ENS({
|
|
17
|
+
graphURI,
|
|
18
|
+
getContractAddress:
|
|
19
|
+
(_: SupportedNetworkId) => (contractName: ContractName) =>
|
|
20
|
+
addresses[contractName],
|
|
21
|
+
})
|
|
22
|
+
|
|
23
|
+
export default async (useReal?: boolean) => {
|
|
24
|
+
const graphURI = useReal
|
|
25
|
+
? 'https://api.thegraph.com/subgraphs/name/ensdomains/ensropsten'
|
|
26
|
+
: 'http://localhost:8000/subgraphs/name/graphprotocol/ens'
|
|
27
|
+
|
|
28
|
+
const provider = new ethers.providers.JsonRpcProvider(
|
|
29
|
+
'http://localhost:8545',
|
|
30
|
+
'ropsten',
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
let ENSInstance = createENS(graphURI)
|
|
34
|
+
await ENSInstance.setProvider(provider)
|
|
35
|
+
|
|
36
|
+
let snapshot = await provider.send('evm_snapshot', [])
|
|
37
|
+
|
|
38
|
+
const revert = async (customSnapshot?: any) => {
|
|
39
|
+
const snapshotToUse = customSnapshot || snapshot
|
|
40
|
+
await provider.send('evm_revert', [snapshotToUse])
|
|
41
|
+
if (parseInt(snapshot, 16) >= parseInt(snapshotToUse, 16)) {
|
|
42
|
+
snapshot = await provider.send('evm_snapshot', [])
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
ENSInstance = createENS(graphURI)
|
|
46
|
+
await ENSInstance.setProvider(provider)
|
|
47
|
+
return
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const createSnapshot = async () => await provider.send('evm_snapshot', [])
|
|
51
|
+
|
|
52
|
+
return { ENSInstance, revert, createSnapshot, provider }
|
|
53
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ethers } from 'ethers'
|
|
2
|
+
import { ENS } from '..'
|
|
3
|
+
import setup from '../tests/setup'
|
|
4
|
+
|
|
5
|
+
let ENSInstance: ENS
|
|
6
|
+
let providerFake: ethers.providers.JsonRpcProvider
|
|
7
|
+
|
|
8
|
+
beforeAll(async () => {
|
|
9
|
+
;({ ENSInstance } = await setup())
|
|
10
|
+
providerFake = new ethers.providers.JsonRpcProvider(
|
|
11
|
+
'http://localhost:34023',
|
|
12
|
+
'ropsten',
|
|
13
|
+
)
|
|
14
|
+
})
|
|
15
|
+
|
|
16
|
+
describe('withProvider', () => {
|
|
17
|
+
it('should be able to use a new provider', async () => {
|
|
18
|
+
const addr = await ENSInstance.getAddr('jefflau.eth')
|
|
19
|
+
expect(addr).toBeTruthy()
|
|
20
|
+
|
|
21
|
+
try {
|
|
22
|
+
await ENSInstance.withProvider(providerFake).getOwner('jefflau.eth')
|
|
23
|
+
expect(false).toBeTruthy()
|
|
24
|
+
} catch {
|
|
25
|
+
expect(true).toBeTruthy()
|
|
26
|
+
}
|
|
27
|
+
})
|
|
28
|
+
})
|