@ensdomains/ensjs 2.0.1 → 3.0.0-alpha.10
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 +9 -0
- package/dist/cjs/GqlManager.js +102 -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 +5 -0
- package/dist/cjs/functions/burnFuses.js +14 -0
- package/dist/cjs/functions/createSubname.d.ts +15 -0
- package/dist/cjs/functions/createSubname.js +40 -0
- package/dist/cjs/functions/deleteSubname.d.ts +4 -0
- package/dist/cjs/functions/deleteSubname.js +9 -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 +33 -0
- package/dist/cjs/functions/getProfile.js +346 -0
- package/dist/cjs/functions/getRecords.d.ts +33 -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 +5 -0
- package/dist/cjs/functions/setName.js +12 -0
- package/dist/cjs/functions/setRecord.d.ts +18 -0
- package/dist/cjs/functions/setRecord.js +27 -0
- package/dist/cjs/functions/setRecords.d.ts +6 -0
- package/dist/cjs/functions/setRecords.js +24 -0
- package/dist/cjs/functions/setResolver.d.ts +5 -0
- package/dist/cjs/functions/setResolver.js +22 -0
- package/dist/cjs/functions/transferName.d.ts +6 -0
- package/dist/cjs/functions/transferName.js +29 -0
- package/dist/cjs/functions/transferSubname.d.ts +6 -0
- package/dist/cjs/functions/transferSubname.js +24 -0
- package/dist/cjs/functions/unwrapName.d.ts +5 -0
- package/dist/cjs/functions/unwrapName.js +23 -0
- package/dist/cjs/functions/wrapName.d.ts +8 -0
- package/dist/cjs/functions/wrapName.js +60 -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 +472 -0
- package/dist/cjs/index.js +247 -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 +113 -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 +35 -0
- package/dist/cjs/utils/recordHelpers.d.ts +16 -0
- package/dist/cjs/utils/recordHelpers.js +71 -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/cjs/utils/writeTx.d.ts +4 -0
- package/dist/cjs/utils/writeTx.js +3 -0
- package/dist/esm/GqlManager.d.ts +9 -0
- package/dist/esm/GqlManager.js +74 -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 +5 -0
- package/dist/esm/functions/burnFuses.js +8 -0
- package/dist/esm/functions/createSubname.d.ts +15 -0
- package/dist/esm/functions/createSubname.js +34 -0
- package/dist/esm/functions/deleteSubname.d.ts +4 -0
- package/dist/esm/functions/deleteSubname.js +6 -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 +33 -0
- package/dist/esm/functions/getProfile.js +343 -0
- package/dist/esm/functions/getRecords.d.ts +33 -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 +5 -0
- package/dist/esm/functions/setName.js +9 -0
- package/dist/esm/functions/setRecord.d.ts +18 -0
- package/dist/esm/functions/setRecord.js +24 -0
- package/dist/esm/functions/setRecords.d.ts +6 -0
- package/dist/esm/functions/setRecords.js +21 -0
- package/dist/esm/functions/setResolver.d.ts +5 -0
- package/dist/esm/functions/setResolver.js +19 -0
- package/dist/esm/functions/transferName.d.ts +6 -0
- package/dist/esm/functions/transferName.js +26 -0
- package/dist/esm/functions/transferSubname.d.ts +6 -0
- package/dist/esm/functions/transferSubname.js +21 -0
- package/dist/esm/functions/unwrapName.d.ts +5 -0
- package/dist/esm/functions/unwrapName.js +20 -0
- package/dist/esm/functions/wrapName.d.ts +8 -0
- package/dist/esm/functions/wrapName.js +54 -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 +472 -0
- package/dist/esm/index.js +212 -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 +96 -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 +27 -0
- package/dist/esm/utils/recordHelpers.d.ts +16 -0
- package/dist/esm/utils/recordHelpers.js +65 -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/dist/esm/utils/writeTx.d.ts +4 -0
- package/dist/esm/utils/writeTx.js +1 -0
- package/package.json +79 -48
- 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.test.ts +170 -0
- package/src/GqlManager.ts +83 -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 +45 -0
- package/src/functions/burnFuses.ts +21 -0
- package/src/functions/createSubname.test.ts +55 -0
- package/src/functions/createSubname.ts +76 -0
- package/src/functions/deleteSubname.test.ts +72 -0
- package/src/functions/deleteSubname.ts +16 -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 +105 -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 +73 -0
- package/src/functions/getOwner.ts +202 -0
- package/src/functions/getPrice.ts +71 -0
- package/src/functions/getProfile.test.ts +135 -0
- package/src/functions/getProfile.ts +606 -0
- package/src/functions/getRecords.ts +23 -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 +59 -0
- package/src/functions/setName.ts +32 -0
- package/src/functions/setRecord.test.ts +100 -0
- package/src/functions/setRecord.ts +63 -0
- package/src/functions/setRecords.test.ts +60 -0
- package/src/functions/setRecords.ts +44 -0
- package/src/functions/setResolver.test.ts +57 -0
- package/src/functions/setResolver.ts +35 -0
- package/src/functions/transferName.test.ts +79 -0
- package/src/functions/transferName.ts +53 -0
- package/src/functions/transferSubname.test.ts +74 -0
- package/src/functions/transferSubname.ts +45 -0
- package/src/functions/unwrapName.test.ts +68 -0
- package/src/functions/unwrapName.ts +43 -0
- package/src/functions/wrapName.test.ts +67 -0
- package/src/functions/wrapName.ts +126 -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 +595 -0
- package/src/tests/populateTransaction.test.ts +40 -0
- package/src/tests/setup.ts +53 -0
- package/src/tests/signerInjection.test.ts +46 -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 +121 -0
- package/src/utils/makeHashIndexes.ts +9 -0
- package/src/utils/normalise.ts +33 -0
- package/src/utils/recordHelpers.ts +106 -0
- package/src/utils/registerHelpers.ts +87 -0
- package/src/utils/singleCall.ts +16 -0
- package/src/utils/validation.ts +73 -0
- package/src/utils/writeTx.ts +6 -0
- package/dist/constants/interfaces.js +0 -13
- package/dist/index.js +0 -1191
- package/dist/utils/contents.js +0 -126
- package/dist/utils/index.js +0 -189
- 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,595 @@
|
|
|
1
|
+
import { JsonRpcSigner } from '@ethersproject/providers'
|
|
2
|
+
import { ContractTransaction, ethers, PopulatedTransaction } from 'ethers'
|
|
3
|
+
import ContractManager from './contracts'
|
|
4
|
+
import { getContractAddress as _getContractAddress } from './contracts/getContractAddress'
|
|
5
|
+
import { SupportedNetworkId } from './contracts/types'
|
|
6
|
+
import type batch from './functions/batch'
|
|
7
|
+
import type {
|
|
8
|
+
multicallWrapper,
|
|
9
|
+
resolverMulticallWrapper,
|
|
10
|
+
universalWrapper,
|
|
11
|
+
} from './functions/batchWrappers'
|
|
12
|
+
import type burnFuses from './functions/burnFuses'
|
|
13
|
+
import type createSubname from './functions/createSubname'
|
|
14
|
+
import type deleteSubname from './functions/deleteSubname'
|
|
15
|
+
import type getDNSOwner from './functions/getDNSOwner'
|
|
16
|
+
import type getExpiry from './functions/getExpiry'
|
|
17
|
+
import type getFuses from './functions/getFuses'
|
|
18
|
+
import type {
|
|
19
|
+
getHistory,
|
|
20
|
+
getHistoryDetailForTransactionHash,
|
|
21
|
+
getHistoryWithDetail,
|
|
22
|
+
} from './functions/getHistory'
|
|
23
|
+
import type getName from './functions/getName'
|
|
24
|
+
import type getNames from './functions/getNames'
|
|
25
|
+
import type getOwner from './functions/getOwner'
|
|
26
|
+
import type getPrice from './functions/getPrice'
|
|
27
|
+
import type getProfile from './functions/getProfile'
|
|
28
|
+
import type getRecords from './functions/getRecords'
|
|
29
|
+
import type getResolver from './functions/getResolver'
|
|
30
|
+
import type {
|
|
31
|
+
getAddr,
|
|
32
|
+
getContentHash,
|
|
33
|
+
getText,
|
|
34
|
+
_getAddr,
|
|
35
|
+
_getContentHash,
|
|
36
|
+
_getText,
|
|
37
|
+
} from './functions/getSpecificRecord'
|
|
38
|
+
import type getSubnames from './functions/getSubnames'
|
|
39
|
+
import type setName from './functions/setName'
|
|
40
|
+
import type setRecord from './functions/setRecord'
|
|
41
|
+
import type setRecords from './functions/setRecords'
|
|
42
|
+
import type setResolver from './functions/setResolver'
|
|
43
|
+
import type transferName from './functions/transferName'
|
|
44
|
+
import type transferSubname from './functions/transferSubname'
|
|
45
|
+
import type unwrapName from './functions/unwrapName'
|
|
46
|
+
import type wrapName from './functions/wrapName'
|
|
47
|
+
import GqlManager from './GqlManager'
|
|
48
|
+
import singleCall from './utils/singleCall'
|
|
49
|
+
import writeTx from './utils/writeTx'
|
|
50
|
+
|
|
51
|
+
type ENSOptions = {
|
|
52
|
+
graphURI?: string | null
|
|
53
|
+
getContractAddress?: typeof _getContractAddress
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export type InternalENS = {
|
|
57
|
+
options?: ENSOptions
|
|
58
|
+
provider?: ethers.providers.Provider
|
|
59
|
+
signer: JsonRpcSigner
|
|
60
|
+
graphURI?: string | null
|
|
61
|
+
} & ENS
|
|
62
|
+
|
|
63
|
+
export type ENSArgs<K extends keyof InternalENS> = {
|
|
64
|
+
[P in K]: InternalENS[P]
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
type OmitFirstArg<F> = F extends (x: any, ...args: infer P) => infer R
|
|
68
|
+
? (...args: P) => R
|
|
69
|
+
: never
|
|
70
|
+
|
|
71
|
+
type OmitFirstTwoArgs<F> = F extends (
|
|
72
|
+
x: any,
|
|
73
|
+
y: any,
|
|
74
|
+
...args: infer P
|
|
75
|
+
) => infer R
|
|
76
|
+
? (...args: P) => R
|
|
77
|
+
: never
|
|
78
|
+
|
|
79
|
+
type FirstArg<F> = F extends (x: infer A, ...args: any[]) => any ? A : never
|
|
80
|
+
|
|
81
|
+
type FunctionDeps<F> = Extract<keyof FirstArg<F>, string>[]
|
|
82
|
+
|
|
83
|
+
type WriteOptions = {
|
|
84
|
+
addressOrIndex?: string | number
|
|
85
|
+
signer?: JsonRpcSigner
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
type OptionalWriteOptions<F> = F extends (
|
|
89
|
+
x: any,
|
|
90
|
+
arg_0: infer Z,
|
|
91
|
+
options?: infer P,
|
|
92
|
+
) => infer R
|
|
93
|
+
? (name: Z, options?: P & WriteOptions) => R
|
|
94
|
+
: F extends (x: any, arg_0: infer Z, options: infer P) => infer R
|
|
95
|
+
? (name: Z, options: P & WriteOptions) => R
|
|
96
|
+
: never
|
|
97
|
+
|
|
98
|
+
interface WriteFunction<F extends (...args: any) => any> extends Function {
|
|
99
|
+
(...args: Parameters<OptionalWriteOptions<F>>): Promise<ContractTransaction>
|
|
100
|
+
populateTransaction: (
|
|
101
|
+
...args: Parameters<OptionalWriteOptions<F>>
|
|
102
|
+
) => Promise<PopulatedTransaction>
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
const graphURIEndpoints: Record<string, string> = {
|
|
106
|
+
1: 'https://api.thegraph.com/subgraphs/name/ensdomains/ens',
|
|
107
|
+
3: 'https://api.thegraph.com/subgraphs/name/ensdomains/ensropsten',
|
|
108
|
+
4: 'https://api.thegraph.com/subgraphs/name/ensdomains/ensrinkeby',
|
|
109
|
+
5: 'https://api.thegraph.com/subgraphs/name/ensdomains/ensgoerli',
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export type RawFunction = {
|
|
113
|
+
raw: (...args: any[]) => Promise<{ to: string; data: string }>
|
|
114
|
+
decode: (...args: any[]) => Promise<any>
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
export type BatchFunctionResult<F extends RawFunction> = {
|
|
118
|
+
args: Parameters<OmitFirstArg<F['raw']>>
|
|
119
|
+
raw: F['raw']
|
|
120
|
+
decode: F['decode']
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
type BatchFunction<F extends RawFunction> = (
|
|
124
|
+
...args: Parameters<OmitFirstArg<F['raw']>>
|
|
125
|
+
) => BatchFunctionResult<F>
|
|
126
|
+
|
|
127
|
+
export type RawFunctionWithBatch = {
|
|
128
|
+
batch: BatchFunction<any>
|
|
129
|
+
} & RawFunction
|
|
130
|
+
|
|
131
|
+
interface GeneratedRawFunction<F extends RawFunction>
|
|
132
|
+
extends Function,
|
|
133
|
+
RawFunction {
|
|
134
|
+
(...args: Parameters<OmitFirstArg<F['raw']>>): ReturnType<
|
|
135
|
+
OmitFirstTwoArgs<F['decode']>
|
|
136
|
+
>
|
|
137
|
+
batch: BatchFunction<F>
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
type CombineFunctionDeps<F> = F extends RawFunction
|
|
141
|
+
? FunctionDeps<F['raw']> | FunctionDeps<F['decode']>
|
|
142
|
+
: never
|
|
143
|
+
|
|
144
|
+
export interface GenericGeneratedRawFunction
|
|
145
|
+
extends Function,
|
|
146
|
+
RawFunctionWithBatch {}
|
|
147
|
+
|
|
148
|
+
export class ENS {
|
|
149
|
+
[x: string]: any
|
|
150
|
+
protected options?: ENSOptions
|
|
151
|
+
protected provider?: ethers.providers.JsonRpcProvider
|
|
152
|
+
protected graphURI?: string | null
|
|
153
|
+
protected initialProvider?: ethers.providers.JsonRpcProvider
|
|
154
|
+
contracts?: ContractManager
|
|
155
|
+
getContractAddress = _getContractAddress
|
|
156
|
+
gqlInstance = new GqlManager()
|
|
157
|
+
|
|
158
|
+
constructor(options?: ENSOptions) {
|
|
159
|
+
this.options = options
|
|
160
|
+
this.getContractAddress = options?.getContractAddress || _getContractAddress
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Checks for an initial provider and if it exists, sets it as the provider
|
|
165
|
+
* @returns {Promise<void>} - A promise that resolves when the provider is checked, and set if needed
|
|
166
|
+
*/
|
|
167
|
+
private checkInitialProvider = async (): Promise<void> => {
|
|
168
|
+
if (!this.initialProvider) {
|
|
169
|
+
return
|
|
170
|
+
}
|
|
171
|
+
await this.setProvider(this.initialProvider)
|
|
172
|
+
return
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* Creates an object of ENS properties from an array
|
|
177
|
+
* @param {FunctionDeps} dependencies - An array of ENS properties
|
|
178
|
+
* @returns {Object} - An object of ENS properties
|
|
179
|
+
*/
|
|
180
|
+
private forwardDependenciesFromArray = <F>(
|
|
181
|
+
dependencies: FunctionDeps<F>,
|
|
182
|
+
): object =>
|
|
183
|
+
// Creates an object from entries of the array
|
|
184
|
+
Object.fromEntries(
|
|
185
|
+
// Maps over dependencies and create arrays for each, e.g. ['contracts', contractObj]
|
|
186
|
+
dependencies.map((dep) => [dep, this[dep as keyof InternalENS]]),
|
|
187
|
+
)
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Creates a wrapper for a function to be dynamically imported, with the correct dependencies passed in
|
|
191
|
+
* @param {string} path - The path of the exported function
|
|
192
|
+
* @param {FunctionDeps} dependencies - An array of ENS properties
|
|
193
|
+
* @param {string} exportName - The export name of the target function
|
|
194
|
+
* @param {string} subFunc - The type of function being imported
|
|
195
|
+
* @returns {Function} - The generated wrapped function
|
|
196
|
+
*/
|
|
197
|
+
private importGenerator = <F>(
|
|
198
|
+
path: string,
|
|
199
|
+
dependencies: FunctionDeps<F>,
|
|
200
|
+
exportName: string = 'default',
|
|
201
|
+
subFunc?:
|
|
202
|
+
| 'raw'
|
|
203
|
+
| 'decode'
|
|
204
|
+
| 'combine'
|
|
205
|
+
| 'batch'
|
|
206
|
+
| 'write'
|
|
207
|
+
| 'populateTransaction',
|
|
208
|
+
passthrough?: RawFunction,
|
|
209
|
+
): Function => {
|
|
210
|
+
// if batch is specified, create batch func
|
|
211
|
+
if (subFunc === 'batch') {
|
|
212
|
+
return (...args: any[]) => ({ args, ...passthrough })
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
const thisRef = this
|
|
216
|
+
const mainFunc = async function (...args: any[]) {
|
|
217
|
+
// check the initial provider and set if it exists
|
|
218
|
+
await thisRef.checkInitialProvider()
|
|
219
|
+
// import the module dynamically
|
|
220
|
+
const mod = await import(
|
|
221
|
+
/* webpackMode: "lazy", webpackChunkName: "[request]", webpackPreload: true, webpackExclude: /.*\.ts$/ */
|
|
222
|
+
`./functions/${path}`
|
|
223
|
+
)
|
|
224
|
+
|
|
225
|
+
// if combine isn't specified, run normally
|
|
226
|
+
// otherwise, create a function from the raw and decode functions
|
|
227
|
+
if (subFunc !== 'combine') {
|
|
228
|
+
const writeable =
|
|
229
|
+
subFunc === 'write' || subFunc === 'populateTransaction'
|
|
230
|
+
// get the function to call
|
|
231
|
+
const func =
|
|
232
|
+
subFunc && !writeable ? mod[exportName][subFunc] : mod[exportName]
|
|
233
|
+
// get the dependencies to forward to the function as the first arg
|
|
234
|
+
let dependenciesToForward =
|
|
235
|
+
thisRef.forwardDependenciesFromArray<F>(dependencies)
|
|
236
|
+
|
|
237
|
+
// if func is write func, inject signer into dependencies
|
|
238
|
+
if (writeable) {
|
|
239
|
+
const options = (args[1] || {}) as WriteOptions
|
|
240
|
+
const signer =
|
|
241
|
+
options.signer ||
|
|
242
|
+
thisRef.provider?.getSigner(options.addressOrIndex)
|
|
243
|
+
const populate = subFunc === 'populateTransaction'
|
|
244
|
+
if (!signer) {
|
|
245
|
+
throw new Error('No signer specified')
|
|
246
|
+
}
|
|
247
|
+
delete options.addressOrIndex
|
|
248
|
+
delete options.signer
|
|
249
|
+
dependenciesToForward = { ...dependenciesToForward, signer }
|
|
250
|
+
return func(dependenciesToForward, args[0], options).then(
|
|
251
|
+
writeTx(signer, populate),
|
|
252
|
+
)
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
// return the function with the dependencies forwarded
|
|
256
|
+
return func(dependenciesToForward, ...args)
|
|
257
|
+
} else {
|
|
258
|
+
// get the dependencies to forward from raw and decode functions
|
|
259
|
+
const dependenciesToForward = thisRef.forwardDependenciesFromArray<
|
|
260
|
+
CombineFunctionDeps<F>
|
|
261
|
+
>(dependencies as any)
|
|
262
|
+
|
|
263
|
+
// return singleCall function with dependencies forwarded
|
|
264
|
+
return singleCall(
|
|
265
|
+
thisRef.provider!,
|
|
266
|
+
dependenciesToForward,
|
|
267
|
+
mod[exportName],
|
|
268
|
+
...args,
|
|
269
|
+
)
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
// if subfunc is combine, add raw and decode property methods to the function
|
|
274
|
+
if (subFunc === 'combine') {
|
|
275
|
+
mainFunc.raw = this.importGenerator<F>(
|
|
276
|
+
path,
|
|
277
|
+
dependencies,
|
|
278
|
+
exportName,
|
|
279
|
+
'raw',
|
|
280
|
+
)
|
|
281
|
+
mainFunc.decode = this.importGenerator<F>(
|
|
282
|
+
path,
|
|
283
|
+
dependencies,
|
|
284
|
+
exportName,
|
|
285
|
+
'decode',
|
|
286
|
+
) as (data: any, ...args: any[]) => Promise<any>
|
|
287
|
+
mainFunc.batch = this.importGenerator<F>(
|
|
288
|
+
path,
|
|
289
|
+
dependencies,
|
|
290
|
+
exportName,
|
|
291
|
+
'batch',
|
|
292
|
+
{ raw: mainFunc.raw as any, decode: mainFunc.decode as any },
|
|
293
|
+
)
|
|
294
|
+
} else if (subFunc === 'write') {
|
|
295
|
+
mainFunc.populateTransaction = this.importGenerator<F>(
|
|
296
|
+
path,
|
|
297
|
+
dependencies,
|
|
298
|
+
exportName,
|
|
299
|
+
'populateTransaction',
|
|
300
|
+
)
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
return mainFunc as Function
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
/**
|
|
307
|
+
* Generates a normal wrapped function
|
|
308
|
+
* @param {string} path - The path of the exported function
|
|
309
|
+
* @param {FunctionDeps} dependencies - An array of ENS properties
|
|
310
|
+
* @param {string} exportName - The export name of the target function
|
|
311
|
+
* @returns {OmitFirstArg} - The generated wrapped function
|
|
312
|
+
*/
|
|
313
|
+
private generateFunction = <F>(
|
|
314
|
+
path: string,
|
|
315
|
+
dependencies: FunctionDeps<F>,
|
|
316
|
+
exportName: string = 'default',
|
|
317
|
+
): OmitFirstArg<F> =>
|
|
318
|
+
this.importGenerator<F>(path, dependencies, exportName) as OmitFirstArg<F>
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* Generates a write wrapped function
|
|
322
|
+
* @param {string} path - The path of the exported function
|
|
323
|
+
* @param {FunctionDeps} dependencies - An array of ENS properties
|
|
324
|
+
* @param {string} exportName - The export name of the target function
|
|
325
|
+
* @returns {OmitFirstArg} - The generated wrapped function
|
|
326
|
+
*/
|
|
327
|
+
private generateWriteFunction = <F extends (...args: any) => any>(
|
|
328
|
+
path: string,
|
|
329
|
+
dependencies: FunctionDeps<F>,
|
|
330
|
+
exportName: string = 'default',
|
|
331
|
+
): WriteFunction<F> =>
|
|
332
|
+
this.importGenerator<F>(
|
|
333
|
+
path,
|
|
334
|
+
dependencies,
|
|
335
|
+
exportName,
|
|
336
|
+
'write',
|
|
337
|
+
) as WriteFunction<F>
|
|
338
|
+
|
|
339
|
+
/**
|
|
340
|
+
* Generates a wrapped function from raw and decode exports
|
|
341
|
+
* @param {string} path - The path of the exported function
|
|
342
|
+
* @param {FunctionDeps} dependencies - An array of ENS properties
|
|
343
|
+
* @param {string} exportName - The export name of the target function
|
|
344
|
+
* @returns {GeneratedRawFunction} - The generated wrapped function
|
|
345
|
+
*/
|
|
346
|
+
private generateRawFunction = <F extends RawFunction>(
|
|
347
|
+
path: string,
|
|
348
|
+
dependencies: FunctionDeps<F['raw']> | FunctionDeps<F['decode']>,
|
|
349
|
+
exportName: string = 'default',
|
|
350
|
+
): GeneratedRawFunction<F> =>
|
|
351
|
+
this.importGenerator<F>(
|
|
352
|
+
path,
|
|
353
|
+
dependencies as any,
|
|
354
|
+
exportName,
|
|
355
|
+
'combine',
|
|
356
|
+
) as GeneratedRawFunction<F>
|
|
357
|
+
|
|
358
|
+
/**
|
|
359
|
+
* Sets the provider for the ENS class
|
|
360
|
+
* @param {ethers.providers.JsonRpcProvider} provider - The provider to set
|
|
361
|
+
* @returns {Promise<void>} - A promise that resolves when the provider is set
|
|
362
|
+
*/
|
|
363
|
+
public setProvider = async (
|
|
364
|
+
provider: ethers.providers.JsonRpcProvider,
|
|
365
|
+
): Promise<void> => {
|
|
366
|
+
this.provider = provider
|
|
367
|
+
const network = (await this.provider.getNetwork()).chainId
|
|
368
|
+
if (this.options && this.options.graphURI) {
|
|
369
|
+
this.graphURI = this.options.graphURI
|
|
370
|
+
} else {
|
|
371
|
+
this.graphURI = graphURIEndpoints[network]
|
|
372
|
+
}
|
|
373
|
+
await this.gqlInstance.setUrl(this.graphURI)
|
|
374
|
+
this.contracts = new ContractManager(
|
|
375
|
+
this.provider,
|
|
376
|
+
this.getContractAddress(String(network) as SupportedNetworkId),
|
|
377
|
+
)
|
|
378
|
+
return
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
/**
|
|
382
|
+
* Creates a new ENS instance with a different provider, ideally should be used individually with any given function
|
|
383
|
+
* @param {ethers.providers.JsonRpcProvider} provider - The provider to use
|
|
384
|
+
* @returns {ENS} - A new ENS instance with the given provider
|
|
385
|
+
*/
|
|
386
|
+
public withProvider = (provider: ethers.providers.JsonRpcProvider): ENS => {
|
|
387
|
+
const newENS = new ENS(this.options)
|
|
388
|
+
newENS.initialProvider = provider
|
|
389
|
+
return newENS
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
public batch = this.generateRawFunction<typeof batch>(
|
|
393
|
+
'initialGetters',
|
|
394
|
+
['multicallWrapper'],
|
|
395
|
+
'batch',
|
|
396
|
+
)
|
|
397
|
+
|
|
398
|
+
public getProfile = this.generateFunction<typeof getProfile>(
|
|
399
|
+
'initialGetters',
|
|
400
|
+
[
|
|
401
|
+
'contracts',
|
|
402
|
+
'gqlInstance',
|
|
403
|
+
'getName',
|
|
404
|
+
'resolverMulticallWrapper',
|
|
405
|
+
'multicallWrapper',
|
|
406
|
+
'_getAddr',
|
|
407
|
+
'_getContentHash',
|
|
408
|
+
'_getText',
|
|
409
|
+
],
|
|
410
|
+
'getProfile',
|
|
411
|
+
)
|
|
412
|
+
|
|
413
|
+
public getRecords = this.generateFunction<typeof getRecords>(
|
|
414
|
+
'initialGetters',
|
|
415
|
+
['getProfile'],
|
|
416
|
+
'getRecords',
|
|
417
|
+
)
|
|
418
|
+
|
|
419
|
+
public getName = this.generateRawFunction<typeof getName>(
|
|
420
|
+
'initialGetters',
|
|
421
|
+
['contracts'],
|
|
422
|
+
'getName',
|
|
423
|
+
)
|
|
424
|
+
|
|
425
|
+
public getResolver = this.generateRawFunction<typeof getResolver>(
|
|
426
|
+
'getResolver',
|
|
427
|
+
['contracts'],
|
|
428
|
+
)
|
|
429
|
+
|
|
430
|
+
public getFuses = this.generateRawFunction<typeof getFuses>('getFuses', [
|
|
431
|
+
'contracts',
|
|
432
|
+
])
|
|
433
|
+
|
|
434
|
+
public getHistory = this.generateFunction<typeof getHistory>(
|
|
435
|
+
'getHistory',
|
|
436
|
+
['gqlInstance'],
|
|
437
|
+
'getHistory',
|
|
438
|
+
)
|
|
439
|
+
|
|
440
|
+
public getHistoryWithDetail = this.generateFunction<
|
|
441
|
+
typeof getHistoryWithDetail
|
|
442
|
+
>(
|
|
443
|
+
'getHistory',
|
|
444
|
+
['contracts', 'gqlInstance', 'provider'],
|
|
445
|
+
'getHistoryWithDetail',
|
|
446
|
+
)
|
|
447
|
+
|
|
448
|
+
public getHistoryDetailForTransactionHash = this.generateFunction<
|
|
449
|
+
typeof getHistoryDetailForTransactionHash
|
|
450
|
+
>(
|
|
451
|
+
'getHistory',
|
|
452
|
+
['contracts', 'provider'],
|
|
453
|
+
'getHistoryDetailForTransactionHash',
|
|
454
|
+
)
|
|
455
|
+
|
|
456
|
+
public getContentHash = this.generateRawFunction<typeof getContentHash>(
|
|
457
|
+
'initialGetters',
|
|
458
|
+
['contracts', 'universalWrapper'],
|
|
459
|
+
'getContentHash',
|
|
460
|
+
)
|
|
461
|
+
|
|
462
|
+
public _getContentHash = this.generateRawFunction<typeof _getContentHash>(
|
|
463
|
+
'initialGetters',
|
|
464
|
+
['contracts'],
|
|
465
|
+
'_getContentHash',
|
|
466
|
+
)
|
|
467
|
+
|
|
468
|
+
public getAddr = this.generateRawFunction<typeof getAddr>(
|
|
469
|
+
'initialGetters',
|
|
470
|
+
['contracts', 'universalWrapper'],
|
|
471
|
+
'getAddr',
|
|
472
|
+
)
|
|
473
|
+
|
|
474
|
+
public _getAddr = this.generateRawFunction<typeof _getAddr>(
|
|
475
|
+
'initialGetters',
|
|
476
|
+
['contracts'],
|
|
477
|
+
'_getAddr',
|
|
478
|
+
)
|
|
479
|
+
|
|
480
|
+
public getText = this.generateRawFunction<typeof getText>(
|
|
481
|
+
'initialGetters',
|
|
482
|
+
['contracts', 'universalWrapper'],
|
|
483
|
+
'getText',
|
|
484
|
+
)
|
|
485
|
+
|
|
486
|
+
public _getText = this.generateRawFunction<typeof _getText>(
|
|
487
|
+
'initialGetters',
|
|
488
|
+
['contracts'],
|
|
489
|
+
'_getText',
|
|
490
|
+
)
|
|
491
|
+
|
|
492
|
+
public getOwner = this.generateRawFunction<typeof getOwner>(
|
|
493
|
+
'initialGetters',
|
|
494
|
+
['contracts', 'multicallWrapper'],
|
|
495
|
+
'getOwner',
|
|
496
|
+
)
|
|
497
|
+
|
|
498
|
+
public getExpiry = this.generateRawFunction<typeof getExpiry>(
|
|
499
|
+
'initialGetters',
|
|
500
|
+
['contracts', 'multicallWrapper'],
|
|
501
|
+
'getExpiry',
|
|
502
|
+
)
|
|
503
|
+
|
|
504
|
+
public getSubnames = this.generateFunction<typeof getSubnames>(
|
|
505
|
+
'initialGetters',
|
|
506
|
+
['gqlInstance'],
|
|
507
|
+
'getSubnames',
|
|
508
|
+
)
|
|
509
|
+
|
|
510
|
+
public getNames = this.generateFunction<typeof getNames>(
|
|
511
|
+
'initialGetters',
|
|
512
|
+
['gqlInstance'],
|
|
513
|
+
'getNames',
|
|
514
|
+
)
|
|
515
|
+
|
|
516
|
+
public getPrice = this.generateRawFunction<typeof getPrice>(
|
|
517
|
+
'initialGetters',
|
|
518
|
+
['contracts', 'multicallWrapper'],
|
|
519
|
+
'getPrice',
|
|
520
|
+
)
|
|
521
|
+
|
|
522
|
+
public universalWrapper = this.generateRawFunction<typeof universalWrapper>(
|
|
523
|
+
'initialGetters',
|
|
524
|
+
['contracts'],
|
|
525
|
+
'universalWrapper',
|
|
526
|
+
)
|
|
527
|
+
|
|
528
|
+
public resolverMulticallWrapper = this.generateRawFunction<
|
|
529
|
+
typeof resolverMulticallWrapper
|
|
530
|
+
>('initialGetters', ['contracts'], 'resolverMulticallWrapper')
|
|
531
|
+
|
|
532
|
+
public multicallWrapper = this.generateRawFunction<typeof multicallWrapper>(
|
|
533
|
+
'initialGetters',
|
|
534
|
+
['contracts'],
|
|
535
|
+
'multicallWrapper',
|
|
536
|
+
)
|
|
537
|
+
|
|
538
|
+
public setName = this.generateWriteFunction<typeof setName>('setName', [
|
|
539
|
+
'contracts',
|
|
540
|
+
])
|
|
541
|
+
|
|
542
|
+
public setRecords = this.generateWriteFunction<typeof setRecords>(
|
|
543
|
+
'setRecords',
|
|
544
|
+
['contracts', 'provider', 'getResolver'],
|
|
545
|
+
)
|
|
546
|
+
|
|
547
|
+
public setRecord = this.generateWriteFunction<typeof setRecord>('setRecord', [
|
|
548
|
+
'contracts',
|
|
549
|
+
'provider',
|
|
550
|
+
'getResolver',
|
|
551
|
+
])
|
|
552
|
+
|
|
553
|
+
public setResolver = this.generateWriteFunction<typeof setResolver>(
|
|
554
|
+
'setResolver',
|
|
555
|
+
['contracts'],
|
|
556
|
+
)
|
|
557
|
+
|
|
558
|
+
public transferName = this.generateWriteFunction<typeof transferName>(
|
|
559
|
+
'transferName',
|
|
560
|
+
['contracts'],
|
|
561
|
+
)
|
|
562
|
+
|
|
563
|
+
public wrapName = this.generateWriteFunction<typeof wrapName>('wrapName', [
|
|
564
|
+
'contracts',
|
|
565
|
+
])
|
|
566
|
+
|
|
567
|
+
public unwrapName = this.generateWriteFunction<typeof unwrapName>(
|
|
568
|
+
'unwrapName',
|
|
569
|
+
['contracts'],
|
|
570
|
+
)
|
|
571
|
+
|
|
572
|
+
public burnFuses = this.generateWriteFunction<typeof burnFuses>('burnFuses', [
|
|
573
|
+
'contracts',
|
|
574
|
+
])
|
|
575
|
+
|
|
576
|
+
public createSubname = this.generateWriteFunction<typeof createSubname>(
|
|
577
|
+
'createSubname',
|
|
578
|
+
['contracts'],
|
|
579
|
+
)
|
|
580
|
+
|
|
581
|
+
public deleteSubname = this.generateWriteFunction<typeof deleteSubname>(
|
|
582
|
+
'deleteSubname',
|
|
583
|
+
['transferSubname'],
|
|
584
|
+
)
|
|
585
|
+
|
|
586
|
+
public transferSubname = this.generateWriteFunction<typeof transferSubname>(
|
|
587
|
+
'transferSubname',
|
|
588
|
+
['contracts'],
|
|
589
|
+
)
|
|
590
|
+
|
|
591
|
+
public getDNSOwner = this.generateFunction<typeof getDNSOwner>(
|
|
592
|
+
'getDNSOwner',
|
|
593
|
+
[],
|
|
594
|
+
)
|
|
595
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ethers } from 'ethers'
|
|
2
|
+
import { ENS } from '..'
|
|
3
|
+
import setup from '../tests/setup'
|
|
4
|
+
|
|
5
|
+
let ENSInstance: ENS
|
|
6
|
+
let revert: Awaited<ReturnType<typeof setup>>['revert']
|
|
7
|
+
let provider: ethers.providers.JsonRpcProvider
|
|
8
|
+
let accounts: string[]
|
|
9
|
+
|
|
10
|
+
beforeAll(async () => {
|
|
11
|
+
;({ ENSInstance, revert, provider } = await setup())
|
|
12
|
+
accounts = await provider.listAccounts()
|
|
13
|
+
})
|
|
14
|
+
|
|
15
|
+
afterAll(async () => {
|
|
16
|
+
await revert()
|
|
17
|
+
})
|
|
18
|
+
|
|
19
|
+
jest.setTimeout(20000)
|
|
20
|
+
|
|
21
|
+
describe('populateTransaction', () => {
|
|
22
|
+
beforeEach(async () => {
|
|
23
|
+
await revert()
|
|
24
|
+
})
|
|
25
|
+
it('should return a transaction successfully', async () => {
|
|
26
|
+
const tx = await ENSInstance.setName('fleek.eth')
|
|
27
|
+
expect(tx).toBeTruthy()
|
|
28
|
+
if (tx) {
|
|
29
|
+
await tx.wait()
|
|
30
|
+
expect(tx.hash).toBeTruthy()
|
|
31
|
+
}
|
|
32
|
+
})
|
|
33
|
+
it('should return a populated transaction successfully', async () => {
|
|
34
|
+
const tx = await ENSInstance.setName.populateTransaction('fleek.eth')
|
|
35
|
+
expect(tx).toBeTruthy()
|
|
36
|
+
if (tx) {
|
|
37
|
+
expect(tx).not.toHaveProperty('hash')
|
|
38
|
+
}
|
|
39
|
+
})
|
|
40
|
+
})
|
|
@@ -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
|
+
}
|