@ensdomains/ensjs 3.0.0-alpha.18 → 3.0.0-alpha.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/GqlManager.js +0 -1
- package/dist/cjs/contracts/baseRegistrar.js +0 -1
- package/dist/cjs/contracts/ethRegistrarController.js +0 -1
- package/dist/cjs/contracts/getContractAddress.js +0 -1
- package/dist/cjs/contracts/index.js +0 -1
- package/dist/cjs/contracts/multicall.js +0 -1
- package/dist/cjs/contracts/nameWrapper.js +0 -1
- package/dist/cjs/contracts/publicResolver.js +0 -1
- package/dist/cjs/contracts/registry.js +0 -1
- package/dist/cjs/contracts/reverseRegistrar.js +0 -1
- package/dist/cjs/contracts/types.js +0 -1
- package/dist/cjs/contracts/universalResolver.js +0 -1
- package/dist/cjs/functions/batch.js +0 -1
- package/dist/cjs/functions/batchWrappers.js +0 -1
- package/dist/cjs/functions/burnFuses.js +0 -1
- package/dist/cjs/functions/commitName.js +0 -1
- package/dist/cjs/functions/createSubname.js +0 -1
- package/dist/cjs/functions/deleteSubname.js +0 -1
- package/dist/cjs/functions/getDNSOwner.js +0 -1
- package/dist/cjs/functions/getExpiry.js +0 -1
- package/dist/cjs/functions/getFuses.js +0 -1
- package/dist/cjs/functions/getHistory.js +0 -1
- package/dist/cjs/functions/getName.js +0 -1
- package/dist/cjs/functions/getNames.js +0 -1
- package/dist/cjs/functions/getOwner.js +0 -1
- package/dist/cjs/functions/getPrice.js +0 -1
- package/dist/cjs/functions/getProfile.js +0 -1
- package/dist/cjs/functions/getRecords.js +0 -1
- package/dist/cjs/functions/getResolver.js +0 -1
- package/dist/cjs/functions/getSpecificRecord.js +0 -1
- package/dist/cjs/functions/getSubnames.js +0 -1
- package/dist/cjs/functions/initialGetters.js +0 -1
- package/dist/cjs/functions/registerName.js +0 -1
- package/dist/cjs/functions/renewName.js +0 -1
- package/dist/cjs/functions/setName.js +0 -1
- package/dist/cjs/functions/setRecord.js +0 -1
- package/dist/cjs/functions/setRecords.js +0 -1
- package/dist/cjs/functions/setResolver.js +0 -1
- package/dist/cjs/functions/transferName.js +0 -1
- package/dist/cjs/functions/transferSubname.js +0 -1
- package/dist/cjs/functions/unwrapName.js +0 -1
- package/dist/cjs/functions/wrapName.js +0 -1
- package/dist/cjs/generated/BaseRegistrarImplementation.js +0 -1
- package/dist/cjs/generated/DNSRegistrar.js +0 -1
- package/dist/cjs/generated/DNSSECImpl.js +0 -1
- package/dist/cjs/generated/DefaultReverseResolver.js +0 -1
- package/dist/cjs/generated/ENSRegistry.js +0 -1
- package/dist/cjs/generated/ETHRegistrarController.js +0 -1
- package/dist/cjs/generated/Multicall.js +0 -1
- package/dist/cjs/generated/NameWrapper.js +0 -1
- package/dist/cjs/generated/P256SHA256Algorithm.js +0 -1
- package/dist/cjs/generated/PublicResolver.js +0 -1
- package/dist/cjs/generated/RSASHA1Algorithm.js +0 -1
- package/dist/cjs/generated/RSASHA256Algorithm.js +0 -1
- package/dist/cjs/generated/ReverseRegistrar.js +0 -1
- package/dist/cjs/generated/Root.js +0 -1
- package/dist/cjs/generated/SHA1Digest.js +0 -1
- package/dist/cjs/generated/SHA1NSEC3Digest.js +0 -1
- package/dist/cjs/generated/SHA256Digest.js +0 -1
- package/dist/cjs/generated/StaticMetadataService.js +0 -1
- package/dist/cjs/generated/TLDPublicSuffixList.js +0 -1
- package/dist/cjs/generated/UniversalResolver.js +0 -1
- package/dist/cjs/generated/common.js +0 -1
- package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.js +0 -1
- package/dist/cjs/generated/factories/DNSRegistrar__factory.js +0 -1
- package/dist/cjs/generated/factories/DNSSECImpl__factory.js +0 -1
- package/dist/cjs/generated/factories/DefaultReverseResolver__factory.js +0 -1
- package/dist/cjs/generated/factories/ENSRegistry__factory.js +0 -1
- package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +0 -1
- package/dist/cjs/generated/factories/Multicall__factory.js +0 -1
- package/dist/cjs/generated/factories/NameWrapper__factory.js +0 -1
- package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +0 -1
- package/dist/cjs/generated/factories/PublicResolver__factory.js +0 -1
- package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +0 -1
- package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +0 -1
- package/dist/cjs/generated/factories/ReverseRegistrar__factory.js +0 -1
- package/dist/cjs/generated/factories/Root__factory.js +0 -1
- package/dist/cjs/generated/factories/SHA1Digest__factory.js +0 -1
- package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +0 -1
- package/dist/cjs/generated/factories/SHA256Digest__factory.js +0 -1
- package/dist/cjs/generated/factories/StaticMetadataService__factory.js +0 -1
- package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +0 -1
- package/dist/cjs/generated/factories/UniversalResolver__factory.js +0 -1
- package/dist/cjs/generated/factories/index.js +0 -1
- package/dist/cjs/generated/index.js +0 -1
- package/dist/cjs/index.js +1 -2
- package/dist/cjs/utils/contentHash.js +0 -1
- package/dist/cjs/utils/createReverseNode.js +0 -1
- package/dist/cjs/utils/format.js +0 -1
- package/dist/cjs/utils/fuses.js +0 -1
- package/dist/cjs/utils/generateFuseInput.js +0 -1
- package/dist/cjs/utils/hexEncodedName.js +0 -1
- package/dist/cjs/utils/labels.js +0 -1
- package/dist/cjs/utils/makeHashIndexes.js +0 -1
- package/dist/cjs/utils/normalise.js +0 -1
- package/dist/cjs/utils/recordHelpers.js +0 -1
- package/dist/cjs/utils/registerHelpers.js +0 -1
- package/dist/cjs/utils/singleCall.js +0 -1
- package/dist/cjs/utils/validation.js +0 -1
- package/dist/cjs/utils/wrapperExpiry.js +0 -1
- package/dist/cjs/utils/writeTx.js +0 -1
- package/dist/esm/GqlManager.mjs +0 -1
- package/dist/esm/contracts/baseRegistrar.mjs +1 -2
- package/dist/esm/contracts/ethRegistrarController.mjs +1 -2
- package/dist/esm/contracts/getContractAddress.mjs +0 -1
- package/dist/esm/contracts/index.mjs +0 -1
- package/dist/esm/contracts/multicall.mjs +1 -2
- package/dist/esm/contracts/nameWrapper.mjs +1 -2
- package/dist/esm/contracts/publicResolver.mjs +1 -2
- package/dist/esm/contracts/registry.mjs +1 -2
- package/dist/esm/contracts/reverseRegistrar.mjs +1 -2
- package/dist/esm/contracts/types.mjs +0 -1
- package/dist/esm/contracts/universalResolver.mjs +1 -2
- package/dist/esm/functions/batch.mjs +0 -1
- package/dist/esm/functions/batchWrappers.mjs +1 -2
- package/dist/esm/functions/burnFuses.mjs +2 -3
- package/dist/esm/functions/commitName.mjs +1 -2
- package/dist/esm/functions/createSubname.mjs +3 -4
- package/dist/esm/functions/deleteSubname.mjs +0 -1
- package/dist/esm/functions/getDNSOwner.mjs +0 -1
- package/dist/esm/functions/getExpiry.mjs +2 -3
- package/dist/esm/functions/getFuses.mjs +2 -3
- package/dist/esm/functions/getHistory.mjs +1 -2
- package/dist/esm/functions/getName.mjs +1 -2
- package/dist/esm/functions/getNames.mjs +2 -3
- package/dist/esm/functions/getOwner.mjs +2 -3
- package/dist/esm/functions/getPrice.mjs +0 -1
- package/dist/esm/functions/getProfile.mjs +4 -5
- package/dist/esm/functions/getRecords.mjs +1 -2
- package/dist/esm/functions/getResolver.mjs +1 -2
- package/dist/esm/functions/getSpecificRecord.mjs +2 -3
- package/dist/esm/functions/getSubnames.mjs +3 -4
- package/dist/esm/functions/initialGetters.mjs +0 -1
- package/dist/esm/functions/registerName.mjs +1 -2
- package/dist/esm/functions/renewName.mjs +0 -1
- package/dist/esm/functions/setName.mjs +0 -1
- package/dist/esm/functions/setRecord.mjs +2 -3
- package/dist/esm/functions/setRecords.mjs +2 -3
- package/dist/esm/functions/setResolver.mjs +1 -2
- package/dist/esm/functions/transferName.mjs +1 -2
- package/dist/esm/functions/transferSubname.mjs +2 -3
- package/dist/esm/functions/unwrapName.mjs +1 -2
- package/dist/esm/functions/wrapName.mjs +3 -4
- package/dist/esm/generated/BaseRegistrarImplementation.mjs +0 -1
- package/dist/esm/generated/DNSRegistrar.mjs +0 -1
- package/dist/esm/generated/DNSSECImpl.mjs +0 -1
- package/dist/esm/generated/DefaultReverseResolver.mjs +0 -1
- package/dist/esm/generated/ENSRegistry.mjs +0 -1
- package/dist/esm/generated/ETHRegistrarController.mjs +0 -1
- package/dist/esm/generated/Multicall.mjs +0 -1
- package/dist/esm/generated/NameWrapper.mjs +0 -1
- package/dist/esm/generated/P256SHA256Algorithm.mjs +0 -1
- package/dist/esm/generated/PublicResolver.mjs +0 -1
- package/dist/esm/generated/RSASHA1Algorithm.mjs +0 -1
- package/dist/esm/generated/RSASHA256Algorithm.mjs +0 -1
- package/dist/esm/generated/ReverseRegistrar.mjs +0 -1
- package/dist/esm/generated/Root.mjs +0 -1
- package/dist/esm/generated/SHA1Digest.mjs +0 -1
- package/dist/esm/generated/SHA1NSEC3Digest.mjs +0 -1
- package/dist/esm/generated/SHA256Digest.mjs +0 -1
- package/dist/esm/generated/StaticMetadataService.mjs +0 -1
- package/dist/esm/generated/TLDPublicSuffixList.mjs +0 -1
- package/dist/esm/generated/UniversalResolver.mjs +0 -1
- package/dist/esm/generated/common.mjs +0 -1
- package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.mjs +0 -1
- package/dist/esm/generated/factories/DNSRegistrar__factory.mjs +0 -1
- package/dist/esm/generated/factories/DNSSECImpl__factory.mjs +0 -1
- package/dist/esm/generated/factories/DefaultReverseResolver__factory.mjs +0 -1
- package/dist/esm/generated/factories/ENSRegistry__factory.mjs +0 -1
- package/dist/esm/generated/factories/ETHRegistrarController__factory.mjs +0 -1
- package/dist/esm/generated/factories/Multicall__factory.mjs +0 -1
- package/dist/esm/generated/factories/NameWrapper__factory.mjs +0 -1
- package/dist/esm/generated/factories/P256SHA256Algorithm__factory.mjs +0 -1
- package/dist/esm/generated/factories/PublicResolver__factory.mjs +0 -1
- package/dist/esm/generated/factories/RSASHA1Algorithm__factory.mjs +0 -1
- package/dist/esm/generated/factories/RSASHA256Algorithm__factory.mjs +0 -1
- package/dist/esm/generated/factories/ReverseRegistrar__factory.mjs +0 -1
- package/dist/esm/generated/factories/Root__factory.mjs +0 -1
- package/dist/esm/generated/factories/SHA1Digest__factory.mjs +0 -1
- package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.mjs +0 -1
- package/dist/esm/generated/factories/SHA256Digest__factory.mjs +0 -1
- package/dist/esm/generated/factories/StaticMetadataService__factory.mjs +0 -1
- package/dist/esm/generated/factories/TLDPublicSuffixList__factory.mjs +0 -1
- package/dist/esm/generated/factories/UniversalResolver__factory.mjs +0 -1
- package/dist/esm/generated/factories/index.mjs +0 -1
- package/dist/esm/generated/index.mjs +0 -1
- package/dist/esm/index.mjs +1 -2
- package/dist/esm/utils/contentHash.mjs +0 -1
- package/dist/esm/utils/createReverseNode.mjs +0 -1
- package/dist/esm/utils/format.mjs +0 -1
- package/dist/esm/utils/fuses.mjs +0 -1
- package/dist/esm/utils/generateFuseInput.mjs +0 -1
- package/dist/esm/utils/hexEncodedName.mjs +0 -1
- package/dist/esm/utils/labels.mjs +1 -2
- package/dist/esm/utils/makeHashIndexes.mjs +0 -1
- package/dist/esm/utils/normalise.mjs +1 -2
- package/dist/esm/utils/recordHelpers.mjs +0 -1
- package/dist/esm/utils/registerHelpers.mjs +0 -1
- package/dist/esm/utils/singleCall.mjs +0 -1
- package/dist/esm/utils/validation.mjs +1 -2
- package/dist/esm/utils/wrapperExpiry.mjs +0 -1
- package/dist/esm/utils/writeTx.mjs +0 -1
- package/dist/{cjs → types}/GqlManager.d.ts +0 -0
- package/dist/{cjs → types}/contracts/baseRegistrar.d.ts +0 -0
- package/dist/{cjs → types}/contracts/ethRegistrarController.d.ts +0 -0
- package/dist/{cjs → types}/contracts/getContractAddress.d.ts +0 -0
- package/dist/{cjs → types}/contracts/index.d.ts +0 -0
- package/dist/{cjs → types}/contracts/multicall.d.ts +0 -0
- package/dist/{cjs → types}/contracts/nameWrapper.d.ts +0 -0
- package/dist/{cjs → types}/contracts/publicResolver.d.ts +0 -0
- package/dist/{cjs → types}/contracts/registry.d.ts +0 -0
- package/dist/{cjs → types}/contracts/reverseRegistrar.d.ts +0 -0
- package/dist/{cjs → types}/contracts/types.d.ts +0 -0
- package/dist/{cjs → types}/contracts/universalResolver.d.ts +0 -0
- package/dist/{cjs → types}/functions/batch.d.ts +0 -0
- package/dist/{cjs → types}/functions/batchWrappers.d.ts +0 -0
- package/dist/{cjs → types}/functions/burnFuses.d.ts +0 -0
- package/dist/{cjs → types}/functions/commitName.d.ts +0 -0
- package/dist/{cjs → types}/functions/createSubname.d.ts +0 -0
- package/dist/{cjs → types}/functions/deleteSubname.d.ts +0 -0
- package/dist/{cjs → types}/functions/getDNSOwner.d.ts +0 -0
- package/dist/{cjs → types}/functions/getExpiry.d.ts +0 -0
- package/dist/{cjs → types}/functions/getFuses.d.ts +0 -0
- package/dist/{cjs → types}/functions/getHistory.d.ts +0 -0
- package/dist/{cjs → types}/functions/getName.d.ts +0 -0
- package/dist/{cjs → types}/functions/getNames.d.ts +0 -0
- package/dist/{cjs → types}/functions/getOwner.d.ts +0 -0
- package/dist/{cjs → types}/functions/getPrice.d.ts +0 -0
- package/dist/{cjs → types}/functions/getProfile.d.ts +0 -0
- package/dist/{cjs → types}/functions/getRecords.d.ts +0 -0
- package/dist/{cjs → types}/functions/getResolver.d.ts +0 -0
- package/dist/{cjs → types}/functions/getSpecificRecord.d.ts +0 -0
- package/dist/{cjs → types}/functions/getSubnames.d.ts +0 -0
- package/dist/{cjs → types}/functions/initialGetters.d.ts +0 -0
- package/dist/{cjs → types}/functions/registerName.d.ts +0 -0
- package/dist/{cjs → types}/functions/renewName.d.ts +0 -0
- package/dist/{cjs → types}/functions/setName.d.ts +0 -0
- package/dist/{cjs → types}/functions/setRecord.d.ts +0 -0
- package/dist/{cjs → types}/functions/setRecords.d.ts +0 -0
- package/dist/{cjs → types}/functions/setResolver.d.ts +0 -0
- package/dist/{cjs → types}/functions/transferName.d.ts +0 -0
- package/dist/{cjs → types}/functions/transferSubname.d.ts +0 -0
- package/dist/{cjs → types}/functions/unwrapName.d.ts +0 -0
- package/dist/{cjs → types}/functions/wrapName.d.ts +0 -0
- package/dist/{cjs → types}/generated/BaseRegistrarImplementation.d.ts +0 -0
- package/dist/{cjs → types}/generated/DNSRegistrar.d.ts +0 -0
- package/dist/{cjs → types}/generated/DNSSECImpl.d.ts +0 -0
- package/dist/{cjs → types}/generated/DefaultReverseResolver.d.ts +0 -0
- package/dist/{cjs → types}/generated/ENSRegistry.d.ts +0 -0
- package/dist/{cjs → types}/generated/ETHRegistrarController.d.ts +0 -0
- package/dist/{cjs → types}/generated/Multicall.d.ts +0 -0
- package/dist/{cjs → types}/generated/NameWrapper.d.ts +0 -0
- package/dist/{cjs → types}/generated/P256SHA256Algorithm.d.ts +0 -0
- package/dist/{cjs → types}/generated/PublicResolver.d.ts +0 -0
- package/dist/{cjs → types}/generated/RSASHA1Algorithm.d.ts +0 -0
- package/dist/{cjs → types}/generated/RSASHA256Algorithm.d.ts +0 -0
- package/dist/{cjs → types}/generated/ReverseRegistrar.d.ts +0 -0
- package/dist/{cjs → types}/generated/Root.d.ts +0 -0
- package/dist/{cjs → types}/generated/SHA1Digest.d.ts +0 -0
- package/dist/{cjs → types}/generated/SHA1NSEC3Digest.d.ts +0 -0
- package/dist/{cjs → types}/generated/SHA256Digest.d.ts +0 -0
- package/dist/{cjs → types}/generated/StaticMetadataService.d.ts +0 -0
- package/dist/{cjs → types}/generated/TLDPublicSuffixList.d.ts +0 -0
- package/dist/{cjs → types}/generated/UniversalResolver.d.ts +0 -0
- package/dist/{cjs → types}/generated/common.d.ts +0 -0
- package/dist/{cjs → types}/generated/factories/BaseRegistrarImplementation__factory.d.ts +0 -0
- package/dist/{cjs → types}/generated/factories/DNSRegistrar__factory.d.ts +0 -0
- package/dist/{cjs → types}/generated/factories/DNSSECImpl__factory.d.ts +0 -0
- package/dist/{cjs → types}/generated/factories/DefaultReverseResolver__factory.d.ts +0 -0
- package/dist/{cjs → types}/generated/factories/ENSRegistry__factory.d.ts +0 -0
- package/dist/{cjs → types}/generated/factories/ETHRegistrarController__factory.d.ts +0 -0
- package/dist/{cjs → types}/generated/factories/Multicall__factory.d.ts +0 -0
- package/dist/{cjs → types}/generated/factories/NameWrapper__factory.d.ts +0 -0
- package/dist/{cjs → types}/generated/factories/P256SHA256Algorithm__factory.d.ts +0 -0
- package/dist/{cjs → types}/generated/factories/PublicResolver__factory.d.ts +0 -0
- package/dist/{cjs → types}/generated/factories/RSASHA1Algorithm__factory.d.ts +0 -0
- package/dist/{cjs → types}/generated/factories/RSASHA256Algorithm__factory.d.ts +0 -0
- package/dist/{cjs → types}/generated/factories/ReverseRegistrar__factory.d.ts +0 -0
- package/dist/{cjs → types}/generated/factories/Root__factory.d.ts +0 -0
- package/dist/{cjs → types}/generated/factories/SHA1Digest__factory.d.ts +0 -0
- package/dist/{cjs → types}/generated/factories/SHA1NSEC3Digest__factory.d.ts +0 -0
- package/dist/{cjs → types}/generated/factories/SHA256Digest__factory.d.ts +0 -0
- package/dist/{cjs → types}/generated/factories/StaticMetadataService__factory.d.ts +0 -0
- package/dist/{cjs → types}/generated/factories/TLDPublicSuffixList__factory.d.ts +0 -0
- package/dist/{cjs → types}/generated/factories/UniversalResolver__factory.d.ts +0 -0
- package/dist/{cjs → types}/generated/factories/index.d.ts +0 -0
- package/dist/{cjs → types}/generated/index.d.ts +0 -0
- package/dist/{cjs → types}/index.d.ts +1 -1
- package/dist/{cjs → types}/utils/contentHash.d.ts +0 -0
- package/dist/{cjs → types}/utils/createReverseNode.d.ts +0 -0
- package/dist/{cjs → types}/utils/format.d.ts +0 -0
- package/dist/{cjs → types}/utils/fuses.d.ts +0 -0
- package/dist/{cjs → types}/utils/generateFuseInput.d.ts +0 -0
- package/dist/{cjs → types}/utils/hexEncodedName.d.ts +0 -0
- package/dist/{cjs → types}/utils/labels.d.ts +0 -0
- package/dist/{cjs → types}/utils/makeHashIndexes.d.ts +0 -0
- package/dist/{cjs → types}/utils/normalise.d.ts +0 -0
- package/dist/{cjs → types}/utils/recordHelpers.d.ts +0 -0
- package/dist/{cjs → types}/utils/registerHelpers.d.ts +0 -0
- package/dist/{cjs → types}/utils/singleCall.d.ts +0 -0
- package/dist/{cjs → types}/utils/validation.d.ts +0 -0
- package/dist/{cjs → types}/utils/wrapperExpiry.d.ts +0 -0
- package/dist/{cjs → types}/utils/writeTx.d.ts +0 -0
- package/package.json +31 -15
- package/src/index.ts +1 -1
- package/dist/cjs/GqlManager.js.map +0 -7
- package/dist/cjs/contracts/baseRegistrar.js.map +0 -7
- package/dist/cjs/contracts/ethRegistrarController.js.map +0 -7
- package/dist/cjs/contracts/getContractAddress.js.map +0 -7
- package/dist/cjs/contracts/index.js.map +0 -7
- package/dist/cjs/contracts/multicall.js.map +0 -7
- package/dist/cjs/contracts/nameWrapper.js.map +0 -7
- package/dist/cjs/contracts/publicResolver.js.map +0 -7
- package/dist/cjs/contracts/registry.js.map +0 -7
- package/dist/cjs/contracts/reverseRegistrar.js.map +0 -7
- package/dist/cjs/contracts/types.js.map +0 -7
- package/dist/cjs/contracts/universalResolver.js.map +0 -7
- package/dist/cjs/functions/batch.js.map +0 -7
- package/dist/cjs/functions/batchWrappers.js.map +0 -7
- package/dist/cjs/functions/burnFuses.js.map +0 -7
- package/dist/cjs/functions/commitName.js.map +0 -7
- package/dist/cjs/functions/createSubname.js.map +0 -7
- package/dist/cjs/functions/deleteSubname.js.map +0 -7
- package/dist/cjs/functions/getDNSOwner.js.map +0 -7
- package/dist/cjs/functions/getExpiry.js.map +0 -7
- package/dist/cjs/functions/getFuses.js.map +0 -7
- package/dist/cjs/functions/getHistory.js.map +0 -7
- package/dist/cjs/functions/getName.js.map +0 -7
- package/dist/cjs/functions/getNames.js.map +0 -7
- package/dist/cjs/functions/getOwner.js.map +0 -7
- package/dist/cjs/functions/getPrice.js.map +0 -7
- package/dist/cjs/functions/getProfile.js.map +0 -7
- package/dist/cjs/functions/getRecords.js.map +0 -7
- package/dist/cjs/functions/getResolver.js.map +0 -7
- package/dist/cjs/functions/getSpecificRecord.js.map +0 -7
- package/dist/cjs/functions/getSubnames.js.map +0 -7
- package/dist/cjs/functions/initialGetters.js.map +0 -7
- package/dist/cjs/functions/registerName.js.map +0 -7
- package/dist/cjs/functions/renewName.js.map +0 -7
- package/dist/cjs/functions/setName.js.map +0 -7
- package/dist/cjs/functions/setRecord.js.map +0 -7
- package/dist/cjs/functions/setRecords.js.map +0 -7
- package/dist/cjs/functions/setResolver.js.map +0 -7
- package/dist/cjs/functions/transferName.js.map +0 -7
- package/dist/cjs/functions/transferSubname.js.map +0 -7
- package/dist/cjs/functions/unwrapName.js.map +0 -7
- package/dist/cjs/functions/wrapName.js.map +0 -7
- package/dist/cjs/generated/BaseRegistrarImplementation.js.map +0 -7
- package/dist/cjs/generated/DNSRegistrar.js.map +0 -7
- package/dist/cjs/generated/DNSSECImpl.js.map +0 -7
- package/dist/cjs/generated/DefaultReverseResolver.js.map +0 -7
- package/dist/cjs/generated/ENSRegistry.js.map +0 -7
- package/dist/cjs/generated/ETHRegistrarController.js.map +0 -7
- package/dist/cjs/generated/Multicall.js.map +0 -7
- package/dist/cjs/generated/NameWrapper.js.map +0 -7
- package/dist/cjs/generated/P256SHA256Algorithm.js.map +0 -7
- package/dist/cjs/generated/PublicResolver.js.map +0 -7
- package/dist/cjs/generated/RSASHA1Algorithm.js.map +0 -7
- package/dist/cjs/generated/RSASHA256Algorithm.js.map +0 -7
- package/dist/cjs/generated/ReverseRegistrar.js.map +0 -7
- package/dist/cjs/generated/Root.js.map +0 -7
- package/dist/cjs/generated/SHA1Digest.js.map +0 -7
- package/dist/cjs/generated/SHA1NSEC3Digest.js.map +0 -7
- package/dist/cjs/generated/SHA256Digest.js.map +0 -7
- package/dist/cjs/generated/StaticMetadataService.js.map +0 -7
- package/dist/cjs/generated/TLDPublicSuffixList.js.map +0 -7
- package/dist/cjs/generated/UniversalResolver.js.map +0 -7
- package/dist/cjs/generated/common.js.map +0 -7
- package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.js.map +0 -7
- package/dist/cjs/generated/factories/DNSRegistrar__factory.js.map +0 -7
- package/dist/cjs/generated/factories/DNSSECImpl__factory.js.map +0 -7
- package/dist/cjs/generated/factories/DefaultReverseResolver__factory.js.map +0 -7
- package/dist/cjs/generated/factories/ENSRegistry__factory.js.map +0 -7
- package/dist/cjs/generated/factories/ETHRegistrarController__factory.js.map +0 -7
- package/dist/cjs/generated/factories/Multicall__factory.js.map +0 -7
- package/dist/cjs/generated/factories/NameWrapper__factory.js.map +0 -7
- package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js.map +0 -7
- package/dist/cjs/generated/factories/PublicResolver__factory.js.map +0 -7
- package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js.map +0 -7
- package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js.map +0 -7
- package/dist/cjs/generated/factories/ReverseRegistrar__factory.js.map +0 -7
- package/dist/cjs/generated/factories/Root__factory.js.map +0 -7
- package/dist/cjs/generated/factories/SHA1Digest__factory.js.map +0 -7
- package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js.map +0 -7
- package/dist/cjs/generated/factories/SHA256Digest__factory.js.map +0 -7
- package/dist/cjs/generated/factories/StaticMetadataService__factory.js.map +0 -7
- package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js.map +0 -7
- package/dist/cjs/generated/factories/UniversalResolver__factory.js.map +0 -7
- package/dist/cjs/generated/factories/index.js.map +0 -7
- package/dist/cjs/generated/index.js.map +0 -7
- package/dist/cjs/index.js.map +0 -7
- package/dist/cjs/utils/contentHash.js.map +0 -7
- package/dist/cjs/utils/createReverseNode.js.map +0 -7
- package/dist/cjs/utils/format.js.map +0 -7
- package/dist/cjs/utils/fuses.js.map +0 -7
- package/dist/cjs/utils/generateFuseInput.js.map +0 -7
- package/dist/cjs/utils/hexEncodedName.js.map +0 -7
- package/dist/cjs/utils/labels.js.map +0 -7
- package/dist/cjs/utils/makeHashIndexes.js.map +0 -7
- package/dist/cjs/utils/normalise.js.map +0 -7
- package/dist/cjs/utils/recordHelpers.js.map +0 -7
- package/dist/cjs/utils/registerHelpers.js.map +0 -7
- package/dist/cjs/utils/singleCall.js.map +0 -7
- package/dist/cjs/utils/validation.js.map +0 -7
- package/dist/cjs/utils/wrapperExpiry.js.map +0 -7
- package/dist/cjs/utils/writeTx.js.map +0 -7
- package/dist/esm/GqlManager.d.mts +0 -11
- package/dist/esm/GqlManager.mjs.map +0 -7
- package/dist/esm/contracts/baseRegistrar.d.mts +0 -3
- package/dist/esm/contracts/baseRegistrar.mjs.map +0 -7
- package/dist/esm/contracts/ethRegistrarController.d.mts +0 -3
- package/dist/esm/contracts/ethRegistrarController.mjs.map +0 -7
- package/dist/esm/contracts/getContractAddress.d.mts +0 -3
- package/dist/esm/contracts/getContractAddress.mjs.map +0 -7
- package/dist/esm/contracts/index.d.mts +0 -16
- package/dist/esm/contracts/index.mjs.map +0 -7
- package/dist/esm/contracts/multicall.d.mts +0 -3
- package/dist/esm/contracts/multicall.mjs.map +0 -7
- package/dist/esm/contracts/nameWrapper.d.mts +0 -3
- package/dist/esm/contracts/nameWrapper.mjs.map +0 -7
- package/dist/esm/contracts/publicResolver.d.mts +0 -3
- package/dist/esm/contracts/publicResolver.mjs.map +0 -7
- package/dist/esm/contracts/registry.d.mts +0 -3
- package/dist/esm/contracts/registry.mjs.map +0 -7
- package/dist/esm/contracts/reverseRegistrar.d.mts +0 -3
- package/dist/esm/contracts/reverseRegistrar.mjs.map +0 -7
- package/dist/esm/contracts/types.d.mts +0 -2
- package/dist/esm/contracts/types.mjs.map +0 -7
- package/dist/esm/contracts/universalResolver.d.mts +0 -3
- package/dist/esm/contracts/universalResolver.mjs.map +0 -7
- package/dist/esm/functions/batch.d.mts +0 -9
- package/dist/esm/functions/batch.mjs.map +0 -7
- package/dist/esm/functions/batchWrappers.d.mts +0 -29
- package/dist/esm/functions/batchWrappers.mjs.map +0 -7
- package/dist/esm/functions/burnFuses.d.mts +0 -13
- package/dist/esm/functions/burnFuses.mjs.map +0 -7
- package/dist/esm/functions/commitName.d.mts +0 -26
- package/dist/esm/functions/commitName.mjs.map +0 -7
- package/dist/esm/functions/createSubname.d.mts +0 -17
- package/dist/esm/functions/createSubname.mjs.map +0 -7
- package/dist/esm/functions/deleteSubname.d.mts +0 -4
- package/dist/esm/functions/deleteSubname.mjs.map +0 -7
- package/dist/esm/functions/getDNSOwner.d.mts +0 -7
- package/dist/esm/functions/getDNSOwner.mjs.map +0 -7
- package/dist/esm/functions/getExpiry.d.mts +0 -19
- package/dist/esm/functions/getExpiry.mjs.map +0 -7
- package/dist/esm/functions/getFuses.d.mts +0 -17
- package/dist/esm/functions/getFuses.mjs.map +0 -7
- package/dist/esm/functions/getHistory.d.mts +0 -28
- package/dist/esm/functions/getHistory.mjs.map +0 -7
- package/dist/esm/functions/getName.d.mts +0 -19
- package/dist/esm/functions/getName.mjs.map +0 -7
- package/dist/esm/functions/getNames.d.mts +0 -40
- package/dist/esm/functions/getNames.mjs.map +0 -7
- package/dist/esm/functions/getOwner.d.mts +0 -14
- package/dist/esm/functions/getOwner.mjs.map +0 -7
- package/dist/esm/functions/getPrice.d.mts +0 -13
- package/dist/esm/functions/getPrice.mjs.map +0 -7
- package/dist/esm/functions/getProfile.d.mts +0 -33
- package/dist/esm/functions/getProfile.mjs.map +0 -7
- package/dist/esm/functions/getRecords.d.mts +0 -33
- package/dist/esm/functions/getRecords.mjs.map +0 -7
- package/dist/esm/functions/getResolver.d.mts +0 -9
- package/dist/esm/functions/getResolver.mjs.map +0 -7
- package/dist/esm/functions/getSpecificRecord.d.mts +0 -73
- package/dist/esm/functions/getSpecificRecord.mjs.map +0 -7
- package/dist/esm/functions/getSubnames.d.mts +0 -26
- package/dist/esm/functions/getSubnames.mjs.map +0 -7
- package/dist/esm/functions/initialGetters.d.mts +0 -11
- package/dist/esm/functions/initialGetters.mjs.map +0 -7
- package/dist/esm/functions/registerName.d.mts +0 -11
- package/dist/esm/functions/registerName.mjs.map +0 -7
- package/dist/esm/functions/renewName.d.mts +0 -6
- package/dist/esm/functions/renewName.mjs.map +0 -7
- package/dist/esm/functions/setName.d.mts +0 -5
- package/dist/esm/functions/setName.mjs.map +0 -7
- package/dist/esm/functions/setRecord.d.mts +0 -18
- package/dist/esm/functions/setRecord.mjs.map +0 -7
- package/dist/esm/functions/setRecords.d.mts +0 -6
- package/dist/esm/functions/setRecords.mjs.map +0 -7
- package/dist/esm/functions/setResolver.d.mts +0 -5
- package/dist/esm/functions/setResolver.mjs.map +0 -7
- package/dist/esm/functions/transferName.d.mts +0 -6
- package/dist/esm/functions/transferName.mjs.map +0 -7
- package/dist/esm/functions/transferSubname.d.mts +0 -15
- package/dist/esm/functions/transferSubname.mjs.map +0 -7
- package/dist/esm/functions/unwrapName.d.mts +0 -5
- package/dist/esm/functions/unwrapName.mjs.map +0 -7
- package/dist/esm/functions/wrapName.d.mts +0 -10
- package/dist/esm/functions/wrapName.mjs.map +0 -7
- package/dist/esm/generated/BaseRegistrarImplementation.d.mts +0 -508
- package/dist/esm/generated/BaseRegistrarImplementation.mjs.map +0 -7
- package/dist/esm/generated/DNSRegistrar.d.mts +0 -224
- package/dist/esm/generated/DNSRegistrar.mjs.map +0 -7
- package/dist/esm/generated/DNSSECImpl.d.mts +0 -402
- package/dist/esm/generated/DNSSECImpl.mjs.map +0 -7
- package/dist/esm/generated/DefaultReverseResolver.d.mts +0 -66
- package/dist/esm/generated/DefaultReverseResolver.mjs.map +0 -7
- package/dist/esm/generated/ENSRegistry.d.mts +0 -274
- package/dist/esm/generated/ENSRegistry.mjs.map +0 -7
- package/dist/esm/generated/ETHRegistrarController.d.mts +0 -321
- package/dist/esm/generated/ETHRegistrarController.mjs.map +0 -7
- package/dist/esm/generated/Multicall.d.mts +0 -292
- package/dist/esm/generated/Multicall.mjs.map +0 -7
- package/dist/esm/generated/NameWrapper.d.mts +0 -814
- package/dist/esm/generated/NameWrapper.mjs.map +0 -7
- package/dist/esm/generated/P256SHA256Algorithm.d.mts +0 -76
- package/dist/esm/generated/P256SHA256Algorithm.mjs.map +0 -7
- package/dist/esm/generated/PublicResolver.d.mts +0 -566
- package/dist/esm/generated/PublicResolver.mjs.map +0 -7
- package/dist/esm/generated/RSASHA1Algorithm.d.mts +0 -46
- package/dist/esm/generated/RSASHA1Algorithm.mjs.map +0 -7
- package/dist/esm/generated/RSASHA256Algorithm.d.mts +0 -46
- package/dist/esm/generated/RSASHA256Algorithm.mjs.map +0 -7
- package/dist/esm/generated/ReverseRegistrar.d.mts +0 -268
- package/dist/esm/generated/ReverseRegistrar.mjs.map +0 -7
- package/dist/esm/generated/Root.d.mts +0 -173
- package/dist/esm/generated/Root.mjs.map +0 -7
- package/dist/esm/generated/SHA1Digest.d.mts +0 -67
- package/dist/esm/generated/SHA1Digest.mjs.map +0 -7
- package/dist/esm/generated/SHA1NSEC3Digest.d.mts +0 -76
- package/dist/esm/generated/SHA1NSEC3Digest.mjs.map +0 -7
- package/dist/esm/generated/SHA256Digest.d.mts +0 -67
- package/dist/esm/generated/SHA256Digest.mjs.map +0 -7
- package/dist/esm/generated/StaticMetadataService.d.mts +0 -42
- package/dist/esm/generated/StaticMetadataService.mjs.map +0 -7
- package/dist/esm/generated/TLDPublicSuffixList.d.mts +0 -42
- package/dist/esm/generated/TLDPublicSuffixList.mjs.map +0 -7
- package/dist/esm/generated/UniversalResolver.d.mts +0 -82
- package/dist/esm/generated/UniversalResolver.mjs.map +0 -7
- package/dist/esm/generated/common.d.mts +0 -22
- package/dist/esm/generated/common.mjs.map +0 -7
- package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.d.mts +0 -52
- package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.mjs.map +0 -7
- package/dist/esm/generated/factories/DNSRegistrar__factory.d.mts +0 -67
- package/dist/esm/generated/factories/DNSRegistrar__factory.mjs.map +0 -7
- package/dist/esm/generated/factories/DNSSECImpl__factory.d.mts +0 -56
- package/dist/esm/generated/factories/DNSSECImpl__factory.mjs.map +0 -7
- package/dist/esm/generated/factories/DefaultReverseResolver__factory.d.mts +0 -36
- package/dist/esm/generated/factories/DefaultReverseResolver__factory.mjs.map +0 -7
- package/dist/esm/generated/factories/ENSRegistry__factory.d.mts +0 -52
- package/dist/esm/generated/factories/ENSRegistry__factory.mjs.map +0 -7
- package/dist/esm/generated/factories/ETHRegistrarController__factory.d.mts +0 -66
- package/dist/esm/generated/factories/ETHRegistrarController__factory.mjs.map +0 -7
- package/dist/esm/generated/factories/Multicall__factory.d.mts +0 -42
- package/dist/esm/generated/factories/Multicall__factory.mjs.map +0 -7
- package/dist/esm/generated/factories/NameWrapper__factory.d.mts +0 -57
- package/dist/esm/generated/factories/NameWrapper__factory.mjs.map +0 -7
- package/dist/esm/generated/factories/P256SHA256Algorithm__factory.d.mts +0 -22
- package/dist/esm/generated/factories/P256SHA256Algorithm__factory.mjs.map +0 -7
- package/dist/esm/generated/factories/PublicResolver__factory.d.mts +0 -46
- package/dist/esm/generated/factories/PublicResolver__factory.mjs.map +0 -7
- package/dist/esm/generated/factories/RSASHA1Algorithm__factory.d.mts +0 -22
- package/dist/esm/generated/factories/RSASHA1Algorithm__factory.mjs.map +0 -7
- package/dist/esm/generated/factories/RSASHA256Algorithm__factory.d.mts +0 -22
- package/dist/esm/generated/factories/RSASHA256Algorithm__factory.mjs.map +0 -7
- package/dist/esm/generated/factories/ReverseRegistrar__factory.d.mts +0 -46
- package/dist/esm/generated/factories/ReverseRegistrar__factory.mjs.map +0 -7
- package/dist/esm/generated/factories/Root__factory.d.mts +0 -52
- package/dist/esm/generated/factories/Root__factory.mjs.map +0 -7
- package/dist/esm/generated/factories/SHA1Digest__factory.d.mts +0 -22
- package/dist/esm/generated/factories/SHA1Digest__factory.mjs.map +0 -7
- package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.d.mts +0 -22
- package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.mjs.map +0 -7
- package/dist/esm/generated/factories/SHA256Digest__factory.d.mts +0 -22
- package/dist/esm/generated/factories/SHA256Digest__factory.mjs.map +0 -7
- package/dist/esm/generated/factories/StaticMetadataService__factory.d.mts +0 -32
- package/dist/esm/generated/factories/StaticMetadataService__factory.mjs.map +0 -7
- package/dist/esm/generated/factories/TLDPublicSuffixList__factory.d.mts +0 -22
- package/dist/esm/generated/factories/TLDPublicSuffixList__factory.mjs.map +0 -7
- package/dist/esm/generated/factories/UniversalResolver__factory.d.mts +0 -42
- package/dist/esm/generated/factories/UniversalResolver__factory.mjs.map +0 -7
- package/dist/esm/generated/factories/index.d.mts +0 -20
- package/dist/esm/generated/factories/index.mjs.map +0 -7
- package/dist/esm/generated/index.d.mts +0 -41
- package/dist/esm/generated/index.mjs.map +0 -7
- package/dist/esm/index.d.mts +0 -457
- package/dist/esm/index.mjs.map +0 -7
- package/dist/esm/utils/contentHash.d.mts +0 -28
- package/dist/esm/utils/contentHash.mjs.map +0 -7
- package/dist/esm/utils/createReverseNode.d.mts +0 -2
- package/dist/esm/utils/createReverseNode.mjs.map +0 -7
- package/dist/esm/utils/format.d.mts +0 -3
- package/dist/esm/utils/format.mjs.map +0 -7
- package/dist/esm/utils/fuses.d.mts +0 -40
- package/dist/esm/utils/fuses.mjs.map +0 -7
- package/dist/esm/utils/generateFuseInput.d.mts +0 -3
- package/dist/esm/utils/generateFuseInput.mjs.map +0 -7
- package/dist/esm/utils/hexEncodedName.d.mts +0 -1
- package/dist/esm/utils/hexEncodedName.mjs.map +0 -7
- package/dist/esm/utils/labels.d.mts +0 -14
- package/dist/esm/utils/labels.mjs.map +0 -7
- package/dist/esm/utils/makeHashIndexes.d.mts +0 -2
- package/dist/esm/utils/makeHashIndexes.mjs.map +0 -7
- package/dist/esm/utils/normalise.d.mts +0 -2
- package/dist/esm/utils/normalise.mjs.map +0 -7
- package/dist/esm/utils/recordHelpers.d.mts +0 -16
- package/dist/esm/utils/recordHelpers.mjs.map +0 -7
- package/dist/esm/utils/registerHelpers.d.mts +0 -54
- package/dist/esm/utils/registerHelpers.mjs.map +0 -7
- package/dist/esm/utils/singleCall.d.mts +0 -9
- package/dist/esm/utils/singleCall.mjs.map +0 -7
- package/dist/esm/utils/validation.d.mts +0 -8
- package/dist/esm/utils/validation.mjs.map +0 -7
- package/dist/esm/utils/wrapperExpiry.d.mts +0 -5
- package/dist/esm/utils/wrapperExpiry.mjs.map +0 -7
- package/dist/esm/utils/writeTx.d.mts +0 -21
- package/dist/esm/utils/writeTx.mjs.map +0 -7
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/GqlManager.ts"],
|
|
4
|
-
"sourcesContent": ["import type {\n Kind,\n parse as Parse,\n print as Print,\n SelectionSetNode,\n visit as Visit,\n} from 'graphql'\nimport type Traverse from 'traverse'\nimport { namehash } from './utils/normalise'\n\nconst generateSelection = (selection: any) => ({\n kind: 'Field' as Kind.FIELD,\n name: {\n kind: 'Name' as Kind.NAME,\n value: selection,\n },\n arguments: [],\n directives: [],\n alias: undefined,\n selectionSet: undefined,\n})\n\nexport const enter = (node: SelectionSetNode) => {\n let hasName = false\n let hasId = false\n\n for (const selection of node.selections) {\n if ('name' in selection) {\n if (selection.name.value === 'name') hasName = true\n else if (selection.name.value === 'id') hasId = true\n }\n }\n\n if (hasName && !hasId) {\n // eslint-disable-next-line no-param-reassign\n node.selections = [...node.selections, generateSelection('id')]\n return node\n }\n}\n\nexport const requestMiddleware =\n (visit: typeof Visit, parse: typeof Parse, print: typeof Print) =>\n (request: any) => {\n const requestBody = JSON.parse(request.body)\n const rawQuery = requestBody.query\n const parsedQuery = parse(rawQuery)\n const updatedQuery = visit(parsedQuery, {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n SelectionSet: {\n enter,\n },\n })\n\n return {\n ...request,\n body: JSON.stringify({ ...requestBody, query: print(updatedQuery) }),\n }\n }\n\nexport const responseMiddleware =\n (traverse: typeof Traverse) => (response: any) => {\n // eslint-disable-next-line func-names\n traverse(response).forEach(function (responseItem: any) {\n if (responseItem instanceof Object && responseItem.name) {\n // Name already in hashed form\n if (responseItem.name && responseItem.name.includes('[')) {\n return\n }\n\n const hashedName = namehash(responseItem.name)\n if (responseItem.id !== hashedName) {\n this.update({ ...responseItem, name: hashedName, invalidName: true })\n }\n }\n })\n return response\n }\n\nexport default class GqlManager {\n // eslint-disable-next-line class-methods-use-this\n public gql: any = () => null\n\n public client?: any | null = null\n\n public setUrl = async (url: string | null) => {\n if (url) {\n const [imported, traverse, { visit, parse, print }] = await Promise.all([\n import('graphql-request'),\n import('traverse'),\n import('graphql/language'),\n ])\n\n this.client = new imported.GraphQLClient(url, {\n requestMiddleware: requestMiddleware(visit, parse, print),\n responseMiddleware: responseMiddleware(traverse.default),\n })\n this.gql = imported.gql\n } else {\n this.client = null\n this.gql = () => null\n }\n }\n\n public request = (...arg: any[]) =>\n this.client ? this.client.request(...arg) : null\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,uBAAyB;AAEzB,MAAM,oBAAoB,CAAC,eAAoB;AAAA,EAC7C,MAAM;AAAA,EACN,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EACA,WAAW,CAAC;AAAA,EACZ,YAAY,CAAC;AAAA,EACb,OAAO;AAAA,EACP,cAAc;AAChB;AAEO,MAAM,QAAQ,CAAC,SAA2B;AAC/C,MAAI,UAAU;AACd,MAAI,QAAQ;AAEZ,aAAW,aAAa,KAAK,YAAY;AACvC,QAAI,UAAU,WAAW;AACvB,UAAI,UAAU,KAAK,UAAU;AAAQ,kBAAU;AAAA,eACtC,UAAU,KAAK,UAAU;AAAM,gBAAQ;AAAA,IAClD;AAAA,EACF;AAEA,MAAI,WAAW,CAAC,OAAO;AAErB,SAAK,aAAa,CAAC,GAAG,KAAK,YAAY,kBAAkB,IAAI,CAAC;AAC9D,WAAO;AAAA,EACT;AACF;AAEO,MAAM,oBACX,CAAC,OAAqB,OAAqB,UAC3C,CAAC,YAAiB;AAChB,QAAM,cAAc,KAAK,MAAM,QAAQ,IAAI;AAC3C,QAAM,WAAW,YAAY;AAC7B,QAAM,cAAc,MAAM,QAAQ;AAClC,QAAM,eAAe,MAAM,aAAa;AAAA,IAEtC,cAAc;AAAA,MACZ;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO;AAAA,IACL,GAAG;AAAA,IACH,MAAM,KAAK,UAAU,EAAE,GAAG,aAAa,OAAO,MAAM,YAAY,EAAE,CAAC;AAAA,EACrE;AACF;AAEK,MAAM,qBACX,CAAC,aAA8B,CAAC,aAAkB;AAEhD,WAAS,QAAQ,EAAE,QAAQ,SAAU,cAAmB;AACtD,QAAI,wBAAwB,UAAU,aAAa,MAAM;AAEvD,UAAI,aAAa,QAAQ,aAAa,KAAK,SAAS,GAAG,GAAG;AACxD;AAAA,MACF;AAEA,YAAM,iBAAa,2BAAS,aAAa,IAAI;AAC7C,UAAI,aAAa,OAAO,YAAY;AAClC,aAAK,OAAO,EAAE,GAAG,cAAc,MAAM,YAAY,aAAa,KAAK,CAAC;AAAA,MACtE;AAAA,IACF;AAAA,EACF,CAAC;AACD,SAAO;AACT;AAEF,MAAO,WAAyB;AAAA,EAEvB,MAAW,MAAM;AAAA,EAEjB,SAAsB;AAAA,EAEtB,SAAS,OAAO,QAAuB;AAC5C,QAAI,KAAK;AACP,YAAM,CAAC,UAAU,UAAU,EAAE,OAAO,OAAO,MAAM,CAAC,IAAI,MAAM,QAAQ,IAAI;AAAA,QACtE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,MACT,CAAC;AAED,WAAK,SAAS,IAAI,SAAS,cAAc,KAAK;AAAA,QAC5C,mBAAmB,kBAAkB,OAAO,OAAO,KAAK;AAAA,QACxD,oBAAoB,mBAAmB,SAAS,OAAO;AAAA,MACzD,CAAC;AACD,WAAK,MAAM,SAAS;AAAA,IACtB,OAAO;AACL,WAAK,SAAS;AACd,WAAK,MAAM,MAAM;AAAA,IACnB;AAAA,EACF;AAAA,EAEO,UAAU,IAAI,QACnB,KAAK,SAAS,KAAK,OAAO,QAAQ,GAAG,GAAG,IAAI;AAChD;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/contracts/baseRegistrar.ts"],
|
|
4
|
-
"sourcesContent": ["import { ethers } from 'ethers'\nimport { BaseRegistrarImplementation__factory } from '../generated/factories/BaseRegistrarImplementation__factory'\n\nexport default (provider: ethers.providers.JsonRpcProvider, address: string) =>\n BaseRegistrarImplementation__factory.connect(address, provider)\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,iDAAqD;AAErD,IAAO,wBAAQ,CAAC,UAA4C,YAC1D,gFAAqC,QAAQ,SAAS,QAAQ;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/contracts/ethRegistrarController.ts"],
|
|
4
|
-
"sourcesContent": ["import { ethers } from 'ethers'\nimport { ETHRegistrarController__factory } from '../generated/factories/ETHRegistrarController__factory'\n\nexport default (provider: ethers.providers.JsonRpcProvider, address: string) =>\n ETHRegistrarController__factory.connect(address, provider)\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,4CAAgD;AAEhD,IAAO,iCAAQ,CAAC,UAA4C,YAC1D,sEAAgC,QAAQ,SAAS,QAAQ;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/contracts/getContractAddress.ts"],
|
|
4
|
-
"sourcesContent": ["import { ContractName, SupportedNetworkId } from './types'\n\nconst addresses: Record<\n ContractName,\n Partial<Record<SupportedNetworkId, string>> | string\n> = {\n /* eslint-disable @typescript-eslint/naming-convention */\n BaseRegistrarImplementation: {\n '1': '0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85',\n '3': '0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85',\n '4': '0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85',\n '5': '0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85',\n },\n ETHRegistrarController: {\n '1': '0x283af0b28c62c092c9727f1ee09c02ca627eb7f5',\n '3': '0x283af0b28c62c092c9727f1ee09c02ca627eb7f5',\n '4': '0x283af0b28c62c092c9727f1ee09c02ca627eb7f5',\n '5': '0x283af0b28c62c092c9727f1ee09c02ca627eb7f5',\n },\n Multicall: '0xcA11bde05977b3631167028862bE2a173976CA11',\n NameWrapper: '0x0000000000000000000000000000000000000000',\n PublicResolver: {\n '1': '0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41',\n },\n ENSRegistryWithFallback: {\n '1': '0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e',\n '3': '0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e',\n '4': '0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e',\n '5': '0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e',\n },\n ReverseRegistrar: {\n '1': '0x084b1c3C81545d370f3634392De611CaaBFf8148',\n },\n UniversalResolver: {\n '1': '0x580AF46E06DaaD47eb5940526FD64d95b815Cb70',\n '4': '0x74e20bd2a1fe0cdbe45b9a1d89cb7e0a45b36376',\n },\n /* eslint-enable @typescript-eslint/naming-convention */\n}\n\nexport type ContractAddressFetch = (contractName: ContractName) => string\n\nexport const getContractAddress = (networkId: SupportedNetworkId) =>\n ((contractName: ContractName) => {\n try {\n return typeof addresses[contractName] === 'string'\n ? addresses[contractName]\n : addresses[contractName][networkId]\n } catch {\n throw new Error(\n `No address for contract ${contractName} on network ${networkId}`,\n )\n }\n }) as ContractAddressFetch\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,MAAM,YAGF;AAAA,EAEF,6BAA6B;AAAA,IAC3B,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,EACP;AAAA,EACA,wBAAwB;AAAA,IACtB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,EACP;AAAA,EACA,WAAW;AAAA,EACX,aAAa;AAAA,EACb,gBAAgB;AAAA,IACd,KAAK;AAAA,EACP;AAAA,EACA,yBAAyB;AAAA,IACvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,EACP;AAAA,EACA,kBAAkB;AAAA,IAChB,KAAK;AAAA,EACP;AAAA,EACA,mBAAmB;AAAA,IACjB,KAAK;AAAA,IACL,KAAK;AAAA,EACP;AAEF;AAIO,MAAM,qBAAqB,CAAC,cAChC,CAAC,iBAA+B;AAC/B,MAAI;AACF,WAAO,OAAO,UAAU,kBAAkB,WACtC,UAAU,gBACV,UAAU,cAAc;AAAA,EAC9B,QAAE;AACA,UAAM,IAAI;AAAA,MACR,2BAA2B,2BAA2B;AAAA,IACxD;AAAA,EACF;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/contracts/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { ethers } from 'ethers'\nimport getBaseRegistrar from './baseRegistrar'\nimport getEthRegistrarController from './ethRegistrarController'\nimport { ContractAddressFetch } from './getContractAddress'\nimport getMulticall from './multicall'\nimport getNameWrapper from './nameWrapper'\nimport getPublicResolver from './publicResolver'\nimport getRegistry from './registry'\nimport getReverseRegistrar from './reverseRegistrar'\nimport { ContractName } from './types'\nimport getUniversalResolver from './universalResolver'\n\nexport default class ContractManager {\n private provider: ethers.providers.Provider\n\n private fetchAddress: ContractAddressFetch\n\n constructor(\n provider: ethers.providers.Provider,\n fetchAddress: ContractAddressFetch,\n ) {\n this.provider = provider\n this.fetchAddress = fetchAddress\n }\n\n private generateContractGetter = <C extends (...args: any) => any>(\n name: ContractName,\n func: C,\n ): ((passedProvider?: any, address?: string) => Promise<ReturnType<C>>) => {\n return async (\n passedProvider?: any,\n address?: string,\n ): Promise<ReturnType<C>> => {\n const inputAddress = address || this.fetchAddress(name)\n const provider = passedProvider || this.provider\n return func(provider, inputAddress)\n }\n }\n\n public getPublicResolver = this.generateContractGetter(\n 'PublicResolver',\n getPublicResolver,\n )\n\n public getUniversalResolver = this.generateContractGetter(\n 'UniversalResolver',\n getUniversalResolver,\n )\n\n public getRegistry = this.generateContractGetter(\n 'ENSRegistryWithFallback',\n getRegistry,\n )\n\n public getReverseRegistrar = this.generateContractGetter(\n 'ReverseRegistrar',\n getReverseRegistrar,\n )\n\n public getNameWrapper = this.generateContractGetter(\n 'NameWrapper',\n getNameWrapper,\n )\n\n public getBaseRegistrar = this.generateContractGetter(\n 'BaseRegistrarImplementation',\n getBaseRegistrar,\n )\n\n public getEthRegistrarController = this.generateContractGetter(\n 'ETHRegistrarController',\n getEthRegistrarController,\n )\n\n public getMulticall = this.generateContractGetter('Multicall', getMulticall)\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,2BAA6B;AAC7B,oCAAsC;AAEtC,uBAAyB;AACzB,yBAA2B;AAC3B,4BAA8B;AAC9B,sBAAwB;AACxB,8BAAgC;AAEhC,+BAAiC;AAEjC,MAAO,gBAA8B;AAAA,EAC3B;AAAA,EAEA;AAAA,EAER,YACE,UACA,cACA;AACA,SAAK,WAAW;AAChB,SAAK,eAAe;AAAA,EACtB;AAAA,EAEQ,yBAAyB,CAC/B,MACA,SACyE;AACzE,WAAO,OACL,gBACA,YAC2B;AAC3B,YAAM,eAAe,WAAW,KAAK,aAAa,IAAI;AACtD,YAAM,WAAW,kBAAkB,KAAK;AACxC,aAAO,KAAK,UAAU,YAAY;AAAA,IACpC;AAAA,EACF;AAAA,EAEO,oBAAoB,KAAK;AAAA,IAC9B;AAAA,IACA,sBAAAA;AAAA,EACF;AAAA,EAEO,uBAAuB,KAAK;AAAA,IACjC;AAAA,IACA,yBAAAC;AAAA,EACF;AAAA,EAEO,cAAc,KAAK;AAAA,IACxB;AAAA,IACA,gBAAAC;AAAA,EACF;AAAA,EAEO,sBAAsB,KAAK;AAAA,IAChC;AAAA,IACA,wBAAAC;AAAA,EACF;AAAA,EAEO,iBAAiB,KAAK;AAAA,IAC3B;AAAA,IACA,mBAAAC;AAAA,EACF;AAAA,EAEO,mBAAmB,KAAK;AAAA,IAC7B;AAAA,IACA,qBAAAC;AAAA,EACF;AAAA,EAEO,4BAA4B,KAAK;AAAA,IACtC;AAAA,IACA,8BAAAC;AAAA,EACF;AAAA,EAEO,eAAe,KAAK,uBAAuB,aAAa,iBAAAC,OAAY;AAC7E;",
|
|
6
|
-
"names": ["getPublicResolver", "getUniversalResolver", "getRegistry", "getReverseRegistrar", "getNameWrapper", "getBaseRegistrar", "getEthRegistrarController", "getMulticall"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/contracts/multicall.ts"],
|
|
4
|
-
"sourcesContent": ["import { ethers } from 'ethers'\nimport { Multicall__factory } from '../generated/factories/Multicall__factory'\n\nexport default (provider: ethers.providers.JsonRpcProvider, address: string) =>\n Multicall__factory.connect(address, provider)\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,+BAAmC;AAEnC,IAAO,oBAAQ,CAAC,UAA4C,YAC1D,4CAAmB,QAAQ,SAAS,QAAQ;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/contracts/nameWrapper.ts"],
|
|
4
|
-
"sourcesContent": ["import { ethers } from 'ethers'\nimport { NameWrapper__factory } from '../generated/factories/NameWrapper__factory'\n\nexport default (provider: ethers.providers.JsonRpcProvider, address: string) =>\n NameWrapper__factory.connect(address, provider)\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,iCAAqC;AAErC,IAAO,sBAAQ,CAAC,UAA4C,YAC1D,gDAAqB,QAAQ,SAAS,QAAQ;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/contracts/publicResolver.ts"],
|
|
4
|
-
"sourcesContent": ["import { ethers } from 'ethers'\nimport { PublicResolver__factory } from '../generated/factories/PublicResolver__factory'\n\nexport default (provider: ethers.providers.JsonRpcProvider, address: string) =>\n PublicResolver__factory.connect(address, provider)\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oCAAwC;AAExC,IAAO,yBAAQ,CAAC,UAA4C,YAC1D,sDAAwB,QAAQ,SAAS,QAAQ;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/contracts/registry.ts"],
|
|
4
|
-
"sourcesContent": ["import { ethers } from 'ethers'\nimport { ENSRegistry__factory } from '../generated/factories/ENSRegistry__factory'\n\nexport default (provider: ethers.providers.JsonRpcProvider, address: string) =>\n ENSRegistry__factory.connect(address, provider)\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,iCAAqC;AAErC,IAAO,mBAAQ,CAAC,UAA4C,YAC1D,gDAAqB,QAAQ,SAAS,QAAQ;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/contracts/reverseRegistrar.ts"],
|
|
4
|
-
"sourcesContent": ["import { ethers } from 'ethers'\nimport { ReverseRegistrar__factory } from '../generated/factories/ReverseRegistrar__factory'\n\nexport default (provider: ethers.providers.JsonRpcProvider, address: string) =>\n ReverseRegistrar__factory.connect(address, provider)\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,sCAA0C;AAE1C,IAAO,2BAAQ,CAAC,UAA4C,YAC1D,0DAA0B,QAAQ,SAAS,QAAQ;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/contracts/types.ts"],
|
|
4
|
-
"sourcesContent": ["export type SupportedNetworkId = '1' | '3' | '4' | '5' | '1337'\n\nexport type ContractName =\n | 'BaseRegistrarImplementation'\n | 'ETHRegistrarController'\n | 'Multicall'\n | 'NameWrapper'\n | 'PublicResolver'\n | 'ENSRegistryWithFallback'\n | 'ReverseRegistrar'\n | 'UniversalResolver'\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/contracts/universalResolver.ts"],
|
|
4
|
-
"sourcesContent": ["import { ethers } from 'ethers'\nimport { UniversalResolver__factory } from '../generated/factories/UniversalResolver__factory'\n\nexport default (provider: ethers.providers.JsonRpcProvider, address: string) =>\n UniversalResolver__factory.connect(address, provider)\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,uCAA2C;AAE3C,IAAO,4BAAQ,CAAC,UAA4C,YAC1D,4DAA2B,QAAQ,SAAS,QAAQ;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/batch.ts"],
|
|
4
|
-
"sourcesContent": ["import { BatchFunctionResult, ENSArgs, RawFunction } from '..'\n\nconst raw = async (\n { multicallWrapper }: ENSArgs<'multicallWrapper'>,\n ...items: BatchFunctionResult<RawFunction>[]\n) => {\n const rawDataArr: { to: string; data: string }[] = await Promise.all(\n items.map(({ args, raw: rawRef }, i: number) => {\n if (!rawRef) {\n throw new Error(`Function ${i} is not batchable`)\n }\n return rawRef(...args)\n }),\n )\n return multicallWrapper.raw(rawDataArr)\n}\n\nconst decode = async (\n { multicallWrapper }: ENSArgs<'multicallWrapper'>,\n data: string,\n ...items: BatchFunctionResult<RawFunction>[]\n): Promise<any[] | undefined> => {\n const response = await multicallWrapper.decode(data)\n if (!response) return\n\n return Promise.all(\n response.map((ret: any, i: number) =>\n items[i].decode(ret.returnData, ...items[i].args),\n ),\n )\n}\n\nexport default {\n raw,\n decode,\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,MAAM,MAAM,OACV,EAAE,iBAAiB,MAChB,UACA;AACH,QAAM,aAA6C,MAAM,QAAQ;AAAA,IAC/D,MAAM,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,GAAG,MAAc;AAC9C,UAAI,CAAC,QAAQ;AACX,cAAM,IAAI,MAAM,YAAY,oBAAoB;AAAA,MAClD;AACA,aAAO,OAAO,GAAG,IAAI;AAAA,IACvB,CAAC;AAAA,EACH;AACA,SAAO,iBAAiB,IAAI,UAAU;AACxC;AAEA,MAAM,SAAS,OACb,EAAE,iBAAiB,GACnB,SACG,UAC4B;AAC/B,QAAM,WAAW,MAAM,iBAAiB,OAAO,IAAI;AACnD,MAAI,CAAC;AAAU;AAEf,SAAO,QAAQ;AAAA,IACb,SAAS;AAAA,MAAI,CAAC,KAAU,MACtB,MAAM,GAAG,OAAO,IAAI,YAAY,GAAG,MAAM,GAAG,IAAI;AAAA,IAClD;AAAA,EACF;AACF;AAEA,IAAO,gBAAQ;AAAA,EACb;AAAA,EACA;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/batchWrappers.ts"],
|
|
4
|
-
"sourcesContent": ["import { ethers } from 'ethers'\nimport { ENSArgs } from '..'\nimport { hexEncodeName } from '../utils/hexEncodedName'\n\nexport const universalWrapper = {\n raw: async (\n { contracts }: ENSArgs<'contracts'>,\n name: string,\n data: string,\n ) => {\n const universalResolver = await contracts?.getUniversalResolver()!\n return {\n to: universalResolver.address,\n data: universalResolver.interface.encodeFunctionData('resolve', [\n hexEncodeName(name),\n data,\n ]),\n }\n },\n decode: async ({ contracts }: ENSArgs<'contracts'>, data: string) => {\n const universalResolver = await contracts?.getUniversalResolver()!\n const response = universalResolver.interface.decodeFunctionResult(\n 'resolve',\n data,\n )\n if (!response || !response[0]) {\n return\n }\n return { data: response[0], resolver: response[1] }\n },\n}\n\nexport const resolverMulticallWrapper = {\n raw: async (\n { contracts }: ENSArgs<'contracts'>,\n data: { to: string; data: string }[],\n ) => {\n const publicResolver = await contracts?.getPublicResolver()!\n const formattedDataArr = data.map((item) => (item as any).data)\n return {\n to: publicResolver.address,\n data: publicResolver.interface.encodeFunctionData('multicall', [\n formattedDataArr,\n ]),\n }\n },\n decode: async ({ contracts }: ENSArgs<'contracts'>, data: string) => {\n const publicResolver = await contracts?.getPublicResolver()!\n const response = publicResolver.interface.decodeFunctionResult(\n 'multicall',\n data,\n )\n if (!response) {\n return\n }\n return response\n },\n}\n\nexport const multicallWrapper = {\n async raw(\n { contracts }: ENSArgs<'contracts'>,\n transactions: ethers.providers.TransactionRequest[],\n requireSuccess: boolean = false,\n ) {\n const multicall = await contracts?.getMulticall()!\n return {\n to: multicall.address,\n data: multicall.interface.encodeFunctionData('tryAggregate', [\n requireSuccess,\n transactions.map((tx) => ({\n target: tx.to!,\n callData: tx.data!,\n })),\n ]),\n }\n },\n async decode({ contracts }: ENSArgs<'contracts'>, data: string) {\n if (!data) return\n const multicall = await contracts?.getMulticall()!\n try {\n const [result] = multicall.interface.decodeFunctionResult(\n 'tryAggregate',\n data,\n )\n return result\n } catch {\n return\n }\n },\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,4BAA8B;AAEvB,MAAM,mBAAmB;AAAA,EAC9B,KAAK,OACH,EAAE,UAAU,GACZ,MACA,SACG;AACH,UAAM,oBAAoB,MAAM,WAAW,qBAAqB;AAChE,WAAO;AAAA,MACL,IAAI,kBAAkB;AAAA,MACtB,MAAM,kBAAkB,UAAU,mBAAmB,WAAW;AAAA,YAC9D,qCAAc,IAAI;AAAA,QAClB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,QAAQ,OAAO,EAAE,UAAU,GAAyB,SAAiB;AACnE,UAAM,oBAAoB,MAAM,WAAW,qBAAqB;AAChE,UAAM,WAAW,kBAAkB,UAAU;AAAA,MAC3C;AAAA,MACA;AAAA,IACF;AACA,QAAI,CAAC,YAAY,CAAC,SAAS,IAAI;AAC7B;AAAA,IACF;AACA,WAAO,EAAE,MAAM,SAAS,IAAI,UAAU,SAAS,GAAG;AAAA,EACpD;AACF;AAEO,MAAM,2BAA2B;AAAA,EACtC,KAAK,OACH,EAAE,UAAU,GACZ,SACG;AACH,UAAM,iBAAiB,MAAM,WAAW,kBAAkB;AAC1D,UAAM,mBAAmB,KAAK,IAAI,CAAC,SAAU,KAAa,IAAI;AAC9D,WAAO;AAAA,MACL,IAAI,eAAe;AAAA,MACnB,MAAM,eAAe,UAAU,mBAAmB,aAAa;AAAA,QAC7D;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,QAAQ,OAAO,EAAE,UAAU,GAAyB,SAAiB;AACnE,UAAM,iBAAiB,MAAM,WAAW,kBAAkB;AAC1D,UAAM,WAAW,eAAe,UAAU;AAAA,MACxC;AAAA,MACA;AAAA,IACF;AACA,QAAI,CAAC,UAAU;AACb;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;AAEO,MAAM,mBAAmB;AAAA,EAC9B,MAAM,IACJ,EAAE,UAAU,GACZ,cACA,iBAA0B,OAC1B;AACA,UAAM,YAAY,MAAM,WAAW,aAAa;AAChD,WAAO;AAAA,MACL,IAAI,UAAU;AAAA,MACd,MAAM,UAAU,UAAU,mBAAmB,gBAAgB;AAAA,QAC3D;AAAA,QACA,aAAa,IAAI,CAAC,QAAQ;AAAA,UACxB,QAAQ,GAAG;AAAA,UACX,UAAU,GAAG;AAAA,QACf,EAAE;AAAA,MACJ,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,MAAM,OAAO,EAAE,UAAU,GAAyB,MAAc;AAC9D,QAAI,CAAC;AAAM;AACX,UAAM,YAAY,MAAM,WAAW,aAAa;AAChD,QAAI;AACF,YAAM,CAAC,MAAM,IAAI,UAAU,UAAU;AAAA,QACnC;AAAA,QACA;AAAA,MACF;AACA,aAAO;AAAA,IACT,QAAE;AACA;AAAA,IACF;AAAA,EACF;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/burnFuses.ts"],
|
|
4
|
-
"sourcesContent": ["import { ENSArgs } from '..'\nimport {\n fuseEnum,\n NamedFusesToBurn,\n unnamedFuses,\n UnnamedFuseValues,\n} from '../utils/fuses'\nimport { namehash } from '../utils/normalise'\n\nexport type FusePropsNamedArray = {\n namedFusesToBurn: NamedFusesToBurn\n}\n\nexport type FusePropsUnnamedArray = {\n unnamedFusesToBurn: UnnamedFuseValues[]\n}\n\nexport type FusePropsNumber = {\n fuseNumberToBurn: number\n}\n\nexport type FuseProps =\n | (Partial<FusePropsNamedArray> & FusePropsUnnamedArray)\n | (FusePropsNamedArray & Partial<FusePropsUnnamedArray>)\n | FusePropsNumber\n\nexport default async function (\n { contracts, signer }: ENSArgs<'contracts' | 'signer'>,\n name: string,\n props: FuseProps,\n) {\n const isNumber = 'fuseNumberToBurn' in props\n const hasNamedArray = 'namedFusesToBurn' in props\n const hasUnnamedArray = 'unnamedFusesToBurn' in props\n\n let encodedFuses: number = 0\n\n if (isNumber) {\n if (props.fuseNumberToBurn > 2 ** 32 || props.fuseNumberToBurn < 1) {\n throw new Error(\n `Fuse number must be limited to uint32, ${\n props.fuseNumberToBurn\n } was too ${props.fuseNumberToBurn < 1 ? 'low' : 'high'}.`,\n )\n } else if (props.fuseNumberToBurn % 1 !== 0) {\n throw new Error(\n `Fuse number must be an integer, ${props.fuseNumberToBurn} was not.`,\n )\n }\n encodedFuses = props.fuseNumberToBurn\n } else {\n if (!hasNamedArray && !hasUnnamedArray) {\n throw new Error('Please provide fuses to burn')\n }\n if (hasNamedArray) {\n for (const fuse of props.namedFusesToBurn!) {\n if (!(fuse in fuseEnum)) {\n throw new Error(`${fuse} is not a valid named fuse.`)\n }\n encodedFuses |= fuseEnum[fuse]\n }\n }\n if (hasUnnamedArray) {\n for (const fuse of props.unnamedFusesToBurn!) {\n if (!unnamedFuses.includes(fuse)) {\n throw new Error(\n `${fuse} is not a valid unnamed fuse. If you are trying to burn a named fuse, use the namedFusesToBurn property.`,\n )\n }\n encodedFuses |= fuse\n }\n }\n }\n\n const nameWrapper = (await contracts!.getNameWrapper()!).connect(signer)\n const hash = namehash(name)\n\n return nameWrapper.populateTransaction.setFuses(hash, encodedFuses)\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAKO;AACP,uBAAyB;AAmBzB,eAAO,kBACL,EAAE,WAAW,OAAO,GACpB,MACA,OACA;AACA,QAAM,WAAW,sBAAsB;AACvC,QAAM,gBAAgB,sBAAsB;AAC5C,QAAM,kBAAkB,wBAAwB;AAEhD,MAAI,eAAuB;AAE3B,MAAI,UAAU;AACZ,QAAI,MAAM,mBAAmB,KAAK,MAAM,MAAM,mBAAmB,GAAG;AAClE,YAAM,IAAI;AAAA,QACR,0CACE,MAAM,4BACI,MAAM,mBAAmB,IAAI,QAAQ;AAAA,MACnD;AAAA,IACF,WAAW,MAAM,mBAAmB,MAAM,GAAG;AAC3C,YAAM,IAAI;AAAA,QACR,mCAAmC,MAAM;AAAA,MAC3C;AAAA,IACF;AACA,mBAAe,MAAM;AAAA,EACvB,OAAO;AACL,QAAI,CAAC,iBAAiB,CAAC,iBAAiB;AACtC,YAAM,IAAI,MAAM,8BAA8B;AAAA,IAChD;AACA,QAAI,eAAe;AACjB,iBAAW,QAAQ,MAAM,kBAAmB;AAC1C,YAAI,EAAE,QAAQ,wBAAW;AACvB,gBAAM,IAAI,MAAM,GAAG,iCAAiC;AAAA,QACtD;AACA,wBAAgB,sBAAS;AAAA,MAC3B;AAAA,IACF;AACA,QAAI,iBAAiB;AACnB,iBAAW,QAAQ,MAAM,oBAAqB;AAC5C,YAAI,CAAC,0BAAa,SAAS,IAAI,GAAG;AAChC,gBAAM,IAAI;AAAA,YACR,GAAG;AAAA,UACL;AAAA,QACF;AACA,wBAAgB;AAAA,MAClB;AAAA,IACF;AAAA,EACF;AAEA,QAAM,eAAe,MAAM,UAAW,eAAe,GAAI,QAAQ,MAAM;AACvE,QAAM,WAAO,2BAAS,IAAI;AAE1B,SAAO,YAAY,oBAAoB,SAAS,MAAM,YAAY;AACpE;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/commitName.ts"],
|
|
4
|
-
"sourcesContent": ["import { ENSArgs } from '..'\nimport { CommitmentParams, makeCommitment } from '../utils/registerHelpers'\n\ntype Params = Omit<CommitmentParams, 'resolver' | 'name'> & {\n resolverAddress?: string\n}\n\nexport default async function (\n { contracts }: ENSArgs<'contracts'>,\n name: string,\n { resolverAddress, ...params }: Params,\n) {\n const labels = name.split('.')\n if (labels.length !== 2 || labels[1] !== 'eth')\n throw new Error('Currently only .eth TLD registrations are supported')\n\n const controller = await contracts!.getEthRegistrarController()\n const resolver = await contracts!.getPublicResolver(\n undefined,\n resolverAddress,\n )\n const { secret, commitment, wrapperExpiry } = makeCommitment({\n name,\n resolver,\n ...params,\n })\n\n return {\n ...(await controller.populateTransaction.commit(commitment)),\n customData: {\n secret,\n commitment,\n wrapperExpiry,\n },\n }\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,6BAAiD;AAMjD,eAAO,mBACL,EAAE,UAAU,GACZ,MACA,EAAE,oBAAoB,OAAO,GAC7B;AACA,QAAM,SAAS,KAAK,MAAM,GAAG;AAC7B,MAAI,OAAO,WAAW,KAAK,OAAO,OAAO;AACvC,UAAM,IAAI,MAAM,qDAAqD;AAEvE,QAAM,aAAa,MAAM,UAAW,0BAA0B;AAC9D,QAAM,WAAW,MAAM,UAAW;AAAA,IAChC;AAAA,IACA;AAAA,EACF;AACA,QAAM,EAAE,QAAQ,YAAY,cAAc,QAAI,uCAAe;AAAA,IAC3D;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,CAAC;AAED,SAAO;AAAA,IACL,GAAI,MAAM,WAAW,oBAAoB,OAAO,UAAU;AAAA,IAC1D,YAAY;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/createSubname.ts"],
|
|
4
|
-
"sourcesContent": ["import { BigNumber, ethers } from 'ethers'\nimport { ENSArgs } from '..'\nimport { FuseOptions } from '../@types/FuseOptions'\nimport generateFuseInput from '../utils/generateFuseInput'\nimport { namehash } from '../utils/normalise'\nimport { Expiry, makeExpiry } from '../utils/wrapperExpiry'\n\ntype BaseArgs = {\n owner: string\n resolverAddress?: string\n contract: 'registry' | 'nameWrapper'\n}\n\ntype NameWrapperArgs = {\n contract: 'nameWrapper'\n fuses?: FuseOptions\n expiry?: Expiry\n} & BaseArgs\n\ntype Args = BaseArgs | NameWrapperArgs\n\nexport default async function (\n {\n contracts,\n signer,\n getExpiry,\n }: ENSArgs<'contracts' | 'signer' | 'getExpiry'>,\n name: string,\n { owner, resolverAddress, contract, ...wrapperArgs }: Args,\n) {\n const labels = name.split('.')\n\n if (labels.length === 1) {\n throw new Error('Subnames in ENS.js can only be created for 2LDs, not TLDs')\n }\n\n if ('fuses' in wrapperArgs && contract === 'registry') {\n throw new Error('Fuses can only be set on a wrapped name')\n }\n\n if (!resolverAddress) {\n resolverAddress = (await contracts?.getPublicResolver())!.address\n }\n\n const label = labels.shift() as string\n const labelhash = ethers.utils.solidityKeccak256(['string'], [label])\n const parentNodehash = namehash(labels.join('.'))\n\n switch (contract) {\n case 'registry': {\n const registry = (await contracts!.getRegistry()!).connect(signer)\n\n return registry.populateTransaction.setSubnodeRecord(\n parentNodehash,\n labelhash,\n owner,\n resolverAddress,\n 0,\n )\n }\n case 'nameWrapper': {\n const nameWrapper = (await contracts!.getNameWrapper()!).connect(signer)\n const expiry: BigNumber = await makeExpiry(\n { getExpiry },\n name,\n 'expiry' in wrapperArgs ? wrapperArgs.expiry : undefined,\n )\n\n const generatedFuses =\n 'fuses' in wrapperArgs && wrapperArgs.fuses\n ? generateFuseInput(wrapperArgs.fuses)\n : '0'\n\n return nameWrapper.populateTransaction.setSubnodeRecord(\n parentNodehash,\n label,\n owner,\n resolverAddress,\n 0,\n generatedFuses,\n expiry,\n )\n }\n default: {\n throw new Error(`Unknown contract: ${contract}`)\n }\n }\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAkC;AAGlC,+BAA8B;AAC9B,uBAAyB;AACzB,2BAAmC;AAgBnC,eAAO,sBACL;AAAA,EACE;AAAA,EACA;AAAA,EACA;AACF,GACA,MACA,EAAE,OAAO,iBAAiB,aAAa,YAAY,GACnD;AACA,QAAM,SAAS,KAAK,MAAM,GAAG;AAE7B,MAAI,OAAO,WAAW,GAAG;AACvB,UAAM,IAAI,MAAM,2DAA2D;AAAA,EAC7E;AAEA,MAAI,WAAW,eAAe,aAAa,YAAY;AACrD,UAAM,IAAI,MAAM,yCAAyC;AAAA,EAC3D;AAEA,MAAI,CAAC,iBAAiB;AACpB,uBAAmB,MAAM,WAAW,kBAAkB,GAAI;AAAA,EAC5D;AAEA,QAAM,QAAQ,OAAO,MAAM;AAC3B,QAAM,YAAY,qBAAO,MAAM,kBAAkB,CAAC,QAAQ,GAAG,CAAC,KAAK,CAAC;AACpE,QAAM,qBAAiB,2BAAS,OAAO,KAAK,GAAG,CAAC;AAEhD,UAAQ;AAAA,SACD,YAAY;AACf,YAAM,YAAY,MAAM,UAAW,YAAY,GAAI,QAAQ,MAAM;AAEjE,aAAO,SAAS,oBAAoB;AAAA,QAClC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,SACK,eAAe;AAClB,YAAM,eAAe,MAAM,UAAW,eAAe,GAAI,QAAQ,MAAM;AACvE,YAAM,SAAoB,UAAM;AAAA,QAC9B,EAAE,UAAU;AAAA,QACZ;AAAA,QACA,YAAY,cAAc,YAAY,SAAS;AAAA,MACjD;AAEA,YAAM,iBACJ,WAAW,eAAe,YAAY,YAClC,yBAAAA,SAAkB,YAAY,KAAK,IACnC;AAEN,aAAO,YAAY,oBAAoB;AAAA,QACrC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,aACS;AACP,YAAM,IAAI,MAAM,qBAAqB,UAAU;AAAA,IACjD;AAAA;AAEJ;",
|
|
6
|
-
"names": ["generateFuseInput"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/deleteSubname.ts"],
|
|
4
|
-
"sourcesContent": ["import { ENSArgs } from '..'\n\nexport default async function (\n { transferSubname, signer }: ENSArgs<'transferSubname' | 'signer'>,\n name: string,\n {\n contract,\n }: {\n contract: 'registry' | 'nameWrapper'\n },\n) {\n return transferSubname.populateTransaction(name, {\n contract,\n owner: '0x0000000000000000000000000000000000000000',\n signer,\n })\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,eAAO,sBACL,EAAE,iBAAiB,OAAO,GAC1B,MACA;AAAA,EACE;AACF,GAGA;AACA,SAAO,gBAAgB,oBAAoB,MAAM;AAAA,IAC/C;AAAA,IACA,OAAO;AAAA,IACP;AAAA,EACF,CAAC;AACH;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/getDNSOwner.ts"],
|
|
4
|
-
"sourcesContent": ["import * as packet from 'dns-packet'\n\nexport function encodeURLParams(p: { [key: string]: string }): string {\n return Object.entries(p)\n .map((kv) => kv.map(encodeURIComponent).join('='))\n .join('&')\n}\n\nexport const getDNS = async (q: packet.Packet): Promise<packet.Packet> => {\n const response = await global.fetch(\n `https://cloudflare-dns.com/dns-query?${encodeURLParams({\n ct: 'application/dns-udpwireformat',\n dns: packet.encode(q)?.toString('base64'),\n ts: Date.now().toString(),\n })}`,\n )\n const arrayBuffer = await response.arrayBuffer()\n // @ts-ignore:next-line\n const fromArrayBuffer = Buffer.from(arrayBuffer)\n return packet.decode(fromArrayBuffer)\n}\n\nexport const dnsQuery = async (\n qtype: string,\n qname: string,\n): Promise<packet.Packet> => {\n const query: packet.Packet = {\n type: 'query',\n id: 1,\n flags: packet.RECURSION_DESIRED,\n questions: [\n {\n type: qtype,\n class: 'IN',\n name: qname,\n },\n ],\n additionals: [\n {\n type: 'OPT',\n class: 'IN',\n name: '.',\n udpPayloadSize: 4096,\n flags: packet.DNSSEC_OK,\n },\n ],\n answers: [],\n }\n\n const response = await getDNS(query)\n if (response.rcode !== 'NOERROR') {\n throw new Error(`DNS query failed: ${response.rcode}`)\n }\n return response\n}\n\nexport default async function (_: any, dnsName: string) {\n const result = await dnsQuery('TXT', `_ens.${dnsName}`)\n const address = result?.answers?.[0]?.data?.[0]?.toString()?.split('=')?.[1]\n return address\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAAwB;AAEjB,SAAS,gBAAgB,GAAsC;AACpE,SAAO,OAAO,QAAQ,CAAC,EACpB,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAkB,EAAE,KAAK,GAAG,CAAC,EAChD,KAAK,GAAG;AACb;AAEO,MAAM,SAAS,OAAO,MAA6C;AACxE,QAAM,WAAW,MAAM,OAAO;AAAA,IAC5B,wCAAwC,gBAAgB;AAAA,MACtD,IAAI;AAAA,MACJ,KAAK,OAAO,OAAO,CAAC,GAAG,SAAS,QAAQ;AAAA,MACxC,IAAI,KAAK,IAAI,EAAE,SAAS;AAAA,IAC1B,CAAC;AAAA,EACH;AACA,QAAM,cAAc,MAAM,SAAS,YAAY;AAE/C,QAAM,kBAAkB,OAAO,KAAK,WAAW;AAC/C,SAAO,OAAO,OAAO,eAAe;AACtC;AAEO,MAAM,WAAW,OACtB,OACA,UAC2B;AAC3B,QAAM,QAAuB;AAAA,IAC3B,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,OAAO,OAAO;AAAA,IACd,WAAW;AAAA,MACT;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,MAAM;AAAA,QACN,gBAAgB;AAAA,QAChB,OAAO,OAAO;AAAA,MAChB;AAAA,IACF;AAAA,IACA,SAAS,CAAC;AAAA,EACZ;AAEA,QAAM,WAAW,MAAM,OAAO,KAAK;AACnC,MAAI,SAAS,UAAU,WAAW;AAChC,UAAM,IAAI,MAAM,qBAAqB,SAAS,OAAO;AAAA,EACvD;AACA,SAAO;AACT;AAEA,eAAO,oBAAwB,GAAQ,SAAiB;AACtD,QAAM,SAAS,MAAM,SAAS,OAAO,QAAQ,SAAS;AACtD,QAAM,UAAU,QAAQ,UAAU,IAAI,OAAO,IAAI,SAAS,GAAG,MAAM,GAAG,IAAI;AAC1E,SAAO;AACT;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/getExpiry.ts"],
|
|
4
|
-
"sourcesContent": ["import { BigNumber } from 'ethers'\nimport { solidityKeccak256 } from 'ethers/lib/utils'\nimport { ENSArgs } from '..'\nimport { namehash } from '../utils/normalise'\n\ntype ContractOption = 'registrar' | 'nameWrapper'\n\ntype Args = {\n contract?: ContractOption\n}\n\nconst getRegistrarExpiry = async (\n { contracts, multicallWrapper }: ENSArgs<'contracts' | 'multicallWrapper'>,\n labels: string[],\n) => {\n if (labels.length > 2 || labels[1] !== 'eth') {\n throw new Error('Only .eth names have expiry dates on the registrar')\n }\n\n const baseRegistrar = await contracts?.getBaseRegistrar()!\n\n const expiryCall = baseRegistrar.interface.encodeFunctionData('nameExpires', [\n solidityKeccak256(['string'], [labels[0]]),\n ])\n const gracePeriodCall =\n baseRegistrar.interface.encodeFunctionData('GRACE_PERIOD')\n\n return multicallWrapper.raw([\n {\n to: baseRegistrar.address,\n data: expiryCall,\n },\n {\n to: baseRegistrar.address,\n data: gracePeriodCall,\n },\n ])\n}\n\nconst getWrapperExpiry = async (\n { contracts }: ENSArgs<'contracts'>,\n labels: string[],\n) => {\n const nameWrapper = await contracts?.getNameWrapper()!\n const expiryCall = nameWrapper.interface.encodeFunctionData('getData', [\n namehash(labels.join('.')),\n ])\n return {\n to: nameWrapper.address,\n data: expiryCall,\n }\n}\n\nconst getContractToUse = (\n contract: ContractOption | undefined,\n labels: string[],\n) => {\n if (contract) return contract\n if (labels.length === 2 && labels[1] === 'eth') {\n return 'registrar'\n }\n return 'nameWrapper'\n}\n\nconst raw = async (\n ensArgs: ENSArgs<'contracts' | 'multicallWrapper'>,\n name: string,\n { contract }: Args = {},\n) => {\n const labels = name.split('.')\n\n const contractToUse = getContractToUse(contract, labels)\n\n return contractToUse === 'nameWrapper'\n ? getWrapperExpiry(ensArgs, labels)\n : getRegistrarExpiry(ensArgs, labels)\n}\n\nconst decodeRegistrarExpiry = async (\n { contracts, multicallWrapper }: ENSArgs<'contracts' | 'multicallWrapper'>,\n data: string,\n) => {\n const result = await multicallWrapper.decode(data)\n const baseRegistrar = await contracts?.getBaseRegistrar()!\n try {\n const [nameExpires] = baseRegistrar.interface.decodeFunctionResult(\n 'nameExpires',\n result[0].returnData,\n )\n const [gracePeriod] = baseRegistrar.interface.decodeFunctionResult(\n 'GRACE_PERIOD',\n result[1].returnData,\n )\n return {\n expiry: nameExpires > 0 ? new Date(nameExpires * 1000) : null,\n gracePeriod: (gracePeriod as BigNumber).toNumber() * 1000,\n }\n } catch {\n return\n }\n}\n\nconst decodeWrapperExpiry = async (\n { contracts }: ENSArgs<'contracts'>,\n data: string,\n) => {\n const nameWrapper = await contracts?.getNameWrapper()!\n try {\n const [, , expiry] = nameWrapper.interface.decodeFunctionResult(\n 'getData',\n data,\n )\n return {\n expiry: new Date(expiry * 1000),\n gracePeriod: null,\n }\n } catch {\n return\n }\n}\n\nconst decode = async (\n ensArgs: ENSArgs<'contracts' | 'multicallWrapper'>,\n data: string,\n name: string,\n { contract }: Args = {},\n) => {\n if (data === null) return\n\n const labels = name.split('.')\n const contractToUse = getContractToUse(contract, labels)\n\n return contractToUse === 'nameWrapper'\n ? decodeWrapperExpiry(ensArgs, data)\n : decodeRegistrarExpiry(ensArgs, data)\n}\n\nexport default {\n raw,\n decode,\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/getFuses.ts"],
|
|
4
|
-
"sourcesContent": ["import { BigNumber } from 'ethers'\nimport { ENSArgs } from '..'\nimport { fuseEnum } from '../utils/fuses'\nimport { namehash } from '../utils/normalise'\n\nconst raw = async ({ contracts }: ENSArgs<'contracts'>, name: string) => {\n const nameWrapper = await contracts?.getNameWrapper()!\n return {\n to: nameWrapper.address,\n data: nameWrapper.interface.encodeFunctionData('getData', [namehash(name)]),\n }\n}\n\nconst decode = async ({ contracts }: ENSArgs<'contracts'>, data: string) => {\n const nameWrapper = await contracts?.getNameWrapper()!\n try {\n const {\n owner,\n fuses: _fuses,\n expiry,\n } = nameWrapper.interface.decodeFunctionResult('getData', data)\n\n const fuses = BigNumber.from(_fuses)\n\n const fuseObj = Object.fromEntries(\n Object.keys(fuseEnum).map((fuse) => [\n fuse,\n fuses.and(fuseEnum[fuse as keyof typeof fuseEnum]).gt(0),\n ]),\n )\n\n if (fuses.eq(0)) {\n fuseObj.CAN_DO_EVERYTHING = true\n } else {\n fuseObj.CAN_DO_EVERYTHING = false\n }\n\n const expiryDate = new Date(expiry * 1000)\n\n return {\n fuseObj,\n expiryDate,\n rawFuses: fuses,\n owner,\n }\n } catch (e) {\n console.error('Error decoding fuses data: ', e)\n return\n }\n}\n\nexport default {\n raw,\n decode,\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA0B;AAE1B,mBAAyB;AACzB,uBAAyB;AAEzB,MAAM,MAAM,OAAO,EAAE,UAAU,GAAyB,SAAiB;AACvE,QAAM,cAAc,MAAM,WAAW,eAAe;AACpD,SAAO;AAAA,IACL,IAAI,YAAY;AAAA,IAChB,MAAM,YAAY,UAAU,mBAAmB,WAAW,KAAC,2BAAS,IAAI,CAAC,CAAC;AAAA,EAC5E;AACF;AAEA,MAAM,SAAS,OAAO,EAAE,UAAU,GAAyB,SAAiB;AAC1E,QAAM,cAAc,MAAM,WAAW,eAAe;AACpD,MAAI;AACF,UAAM;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,MACP;AAAA,IACF,IAAI,YAAY,UAAU,qBAAqB,WAAW,IAAI;AAE9D,UAAM,QAAQ,wBAAU,KAAK,MAAM;AAEnC,UAAM,UAAU,OAAO;AAAA,MACrB,OAAO,KAAK,qBAAQ,EAAE,IAAI,CAAC,SAAS;AAAA,QAClC;AAAA,QACA,MAAM,IAAI,sBAAS,KAA8B,EAAE,GAAG,CAAC;AAAA,MACzD,CAAC;AAAA,IACH;AAEA,QAAI,MAAM,GAAG,CAAC,GAAG;AACf,cAAQ,oBAAoB;AAAA,IAC9B,OAAO;AACL,cAAQ,oBAAoB;AAAA,IAC9B;AAEA,UAAM,aAAa,IAAI,KAAK,SAAS,GAAI;AAEzC,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MACV;AAAA,IACF;AAAA,EACF,SAAS,GAAP;AACA,YAAQ,MAAM,+BAA+B,CAAC;AAC9C;AAAA,EACF;AACF;AAEA,IAAO,mBAAQ;AAAA,EACb;AAAA,EACA;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/getHistory.ts"],
|
|
4
|
-
"sourcesContent": ["import { formatsByCoinType } from '@ensdomains/address-encoder'\nimport { ethers } from 'ethers'\nimport { ENSArgs } from '..'\nimport { decodeContenthash } from '../utils/contentHash'\n\ntype DomainEvent = 'NewOwner' | 'NewResolver' | 'Transfer' | 'NewTTL'\ntype RegistrationEvent = 'NameRegistered' | 'NameRenewed' | 'NameTransferred'\ntype ResolverEvent =\n | 'AddrChanged'\n | 'MulticoinAddrChanged'\n | 'NameChanged'\n | 'AbiChanged'\n | 'PubkeyChanged'\n | 'TextChanged'\n | 'ContenthashChanged'\n | 'InterfaceChanged'\n | 'AuthorisationChanged'\n\ntype EventTypes = 'Domain' | 'Registration' | 'Resolver'\ntype EventFormat = {\n Domain: DomainEvent\n Registration: RegistrationEvent\n Resolver: ResolverEvent\n}\n\nconst eventFormat: {\n [key in EventTypes]: { [n in EventFormat[key]]: (args: any) => object }\n} = {\n Domain: {\n NewOwner: (args: any) => ({ owner: args.owner.id }),\n NewResolver: (args: any) => ({ resolver: args.resolver.id.split('-')[0] }),\n Transfer: (args: any) => ({ owner: args.owner.id }),\n NewTTL: (args: any) => ({ ttl: args.ttl }),\n },\n Registration: {\n NameRegistered: (args: any) => ({\n registrant: args.registrant.id,\n expiryDate: args.expiryDate,\n }),\n NameRenewed: (args: any) => ({ expiryDate: args.expiryDate }),\n NameTransferred: (args: any) => ({ owner: args.newOwner.id }),\n },\n Resolver: {\n AddrChanged: (args: any) => ({ addr: args.addr.id }),\n MulticoinAddrChanged: (args: any) => {\n const format = formatsByCoinType[parseInt(args.coinType)]\n if (!format) {\n return {\n coinType: args.coinType,\n rawAddr: args.multiaddr,\n }\n }\n if (ethers.utils.hexStripZeros(args.multiaddr) === '0x') {\n return {\n coinType: args.coinType,\n coinName: format.name,\n rawAddr: '0x',\n }\n }\n return {\n coinType: args.coinType,\n coinName: format.name,\n addr: format.encoder(Buffer.from(args.multiaddr.slice(2), 'hex')),\n }\n },\n NameChanged: (args: any) => ({ name: args.name }),\n AbiChanged: (args: any) => ({ contentType: args.contentType }),\n PubkeyChanged: (args: any) => ({ x: args.x, y: args.y }),\n TextChanged: (args: any) => ({ key: args.key, value: args.value }),\n ContenthashChanged: (args: any) => ({ hash: decodeContenthash(args.hash) }),\n InterfaceChanged: (args: any) => ({\n interfaceId: args.interfaceId,\n implementer: args.implementer,\n }),\n AuthorisationChanged: (args: any) => ({\n owner: args.owner,\n target: args.target,\n isAuthorized: args.isAuthorized,\n }),\n },\n}\n\nconst mapEvents = <T extends EventTypes>(eventArray: any[], type: T) =>\n eventArray.map(\n (event: {\n __typename: EventFormat[T]\n blockNumber: number\n transactionID: string\n id: string\n }) => ({\n type: event.__typename,\n blockNumber: event.blockNumber,\n transactionHash: event.transactionID,\n id: event.id,\n data: eventFormat[type][event.__typename](event),\n }),\n )\n\nexport async function getHistory(\n { gqlInstance }: ENSArgs<'gqlInstance'>,\n name: string,\n) {\n const { client } = gqlInstance\n const query = gqlInstance.gql`\n query getHistory($name: String!, $label: String!) {\n domains(where: { name: $name }) {\n events {\n id\n blockNumber\n transactionID\n __typename\n ...on Transfer {\n owner {\n id\n }\n }\n ...on NewOwner {\n owner {\n id\n }\n }\n ...on NewResolver {\n resolver {\n id\n }\n }\n ...on NewTTL {\n ttl\n }\n }\n owner {\n registrations (where: { labelName: $label }) {\n events {\n id\n blockNumber\n transactionID\n __typename\n ...on NameRegistered {\n registrant {\n id\n }\n expiryDate\n }\n ...on NameRenewed {\n expiryDate\n }\n ...on NameTransferred {\n newOwner {\n id\n }\n }\n }\n }\n }\n resolver {\n events {\n id\n blockNumber\n transactionID\n __typename\n ...on AddrChanged {\n addr {\n id\n }\n }\n ...on MulticoinAddrChanged {\n coinType\n multiaddr: addr\n }\n ...on NameChanged {\n name\n }\n ...on AbiChanged {\n contentType\n }\n ...on PubkeyChanged {\n x\n y\n }\n ...on TextChanged {\n key\n value\n }\n ...on ContenthashChanged {\n hash\n }\n ...on InterfaceChanged {\n interfaceID\n implementer\n }\n ...on AuthorisationChanged {\n owner\n target\n isAuthorized\n }\n }\n }\n }\n }\n `\n\n const label = name.split('.')[0]\n\n const { domains } = await client.request(query, { name, label })\n\n if (!domains || domains.length === 0) return\n\n const [\n {\n events: domainEvents,\n owner: {\n registrations: [{ events: registrationEvents }],\n },\n resolver: { events: resolverEvents },\n },\n ] = domains\n\n const domainHistory = mapEvents(domainEvents, 'Domain')\n const registrationHistory = mapEvents(registrationEvents, 'Registration')\n const resolverHistory = mapEvents(\n // remove duplicate events for ETH cointype\n resolverEvents.filter(\n (event: any) => !event.coinType || event.coinType !== '60',\n ),\n 'Resolver',\n )\n\n return {\n domain: domainHistory,\n registration: registrationHistory,\n resolver: resolverHistory,\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/getName.ts"],
|
|
4
|
-
"sourcesContent": ["import { ENSArgs } from '..'\nimport { hexEncodeName } from '../utils/hexEncodedName'\n\nconst raw = async ({ contracts }: ENSArgs<'contracts'>, address: string) => {\n const universalResolver = await contracts?.getUniversalResolver()!\n const reverseNode = `${address.toLowerCase().substring(2)}.addr.reverse`\n return {\n to: universalResolver.address,\n data: universalResolver.interface.encodeFunctionData('reverse', [\n hexEncodeName(reverseNode),\n ]),\n }\n}\n\nconst decode = async (\n { contracts }: ENSArgs<'contracts'>,\n data: string,\n address: string,\n) => {\n if (data === null) return\n const universalResolver = await contracts?.getUniversalResolver()!\n try {\n const result = universalResolver.interface.decodeFunctionResult(\n 'reverse',\n data,\n )\n return {\n name: result['0'],\n match: result['1'].toLowerCase() === address.toLowerCase(),\n reverseResolverAddress: result['2'],\n resolverAddress: result['3'],\n }\n } catch {\n return { name: undefined }\n }\n}\n\nexport default {\n raw,\n decode,\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,4BAA8B;AAE9B,MAAM,MAAM,OAAO,EAAE,UAAU,GAAyB,YAAoB;AAC1E,QAAM,oBAAoB,MAAM,WAAW,qBAAqB;AAChE,QAAM,cAAc,GAAG,QAAQ,YAAY,EAAE,UAAU,CAAC;AACxD,SAAO;AAAA,IACL,IAAI,kBAAkB;AAAA,IACtB,MAAM,kBAAkB,UAAU,mBAAmB,WAAW;AAAA,UAC9D,qCAAc,WAAW;AAAA,IAC3B,CAAC;AAAA,EACH;AACF;AAEA,MAAM,SAAS,OACb,EAAE,UAAU,GACZ,MACA,YACG;AACH,MAAI,SAAS;AAAM;AACnB,QAAM,oBAAoB,MAAM,WAAW,qBAAqB;AAChE,MAAI;AACF,UAAM,SAAS,kBAAkB,UAAU;AAAA,MACzC;AAAA,MACA;AAAA,IACF;AACA,WAAO;AAAA,MACL,MAAM,OAAO;AAAA,MACb,OAAO,OAAO,KAAK,YAAY,MAAM,QAAQ,YAAY;AAAA,MACzD,wBAAwB,OAAO;AAAA,MAC/B,iBAAiB,OAAO;AAAA,IAC1B;AAAA,EACF,QAAE;AACA,WAAO,EAAE,MAAM,OAAU;AAAA,EAC3B;AACF;AAEA,IAAO,kBAAQ;AAAA,EACb;AAAA,EACA;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/getNames.ts"],
|
|
4
|
-
"sourcesContent": ["import { ENSArgs } from '..'\nimport { truncateFormat } from '../utils/format'\nimport { decryptName } from '../utils/labels'\n\nexport type Name = {\n id: string\n labelName: string | null\n truncatedName?: string\n labelhash: string\n isMigrated: boolean\n name: string\n parent: {\n name: string\n }\n createdAt?: Date\n registrationDate?: Date\n expiryDate?: Date\n type: 'domain' | 'registration'\n}\n\ntype BaseParams = {\n address: string\n type: 'registrant' | 'owner' | 'all'\n page?: number\n pageSize?: number\n orderDirection?: 'asc' | 'desc'\n}\n\ntype RegistrantParams = {\n type: 'registrant'\n orderBy?: 'registrationDate' | 'expiryDate' | 'labelName'\n}\n\ntype OwnerParams = {\n type: 'owner'\n orderBy?: 'createdAt' | 'labelName'\n}\n\ntype AllParams = {\n type: 'all'\n orderBy?: 'labelName' | 'creationDate'\n page?: never\n pageSize?: never\n}\n\ntype Params = BaseParams & (RegistrantParams | OwnerParams | AllParams)\n\nconst mapDomain = (domain: any) => {\n const decrypted = decryptName(domain.name)\n return {\n ...domain,\n name: decrypted,\n truncatedName: truncateFormat(decrypted),\n createdAt: new Date(parseInt(domain.createdAt) * 1000),\n type: 'domain',\n }\n}\n\nconst mapRegistration = (registration: any) => {\n const decrypted = decryptName(registration.domain.name)\n return {\n expiryDate: new Date(parseInt(registration.expiryDate) * 1000),\n registrationDate: new Date(parseInt(registration.registrationDate) * 1000),\n ...registration.domain,\n name: decrypted,\n truncatedName: truncateFormat(decrypted),\n type: 'registration',\n }\n}\n\nconst getNames = async (\n { gqlInstance }: ENSArgs<'gqlInstance'>,\n {\n address: _address,\n type,\n page,\n pageSize = 10,\n orderDirection,\n orderBy,\n }: Params,\n) => {\n const address = _address.toLowerCase()\n const client = gqlInstance.client!\n const domainQueryData = `\n id\n labelName\n labelhash\n name\n isMigrated\n parent {\n name\n }\n `\n\n let queryVars: object = {}\n let finalQuery: string = ''\n\n if (type === 'all') {\n finalQuery = gqlInstance.gql`\n query getNames(\n $id: ID!\n $expiryDate: Int\n ) {\n account(id: $id) {\n registrations(\n first: 1000\n where: { expiryDate_gt: $expiryDate }\n ) {\n registrationDate\n expiryDate\n domain {\n ${domainQueryData}\n }\n }\n domains(first: 1000) {\n ${domainQueryData}\n createdAt\n }\n }\n }\n `\n queryVars = {\n id: address,\n expiryDate: Math.floor(Date.now() / 1000) - 90 * 24 * 60 * 60,\n }\n } else if (type === 'owner') {\n if (typeof page !== 'number') {\n finalQuery = gqlInstance.gql`\n query getNames(\n $id: ID! \n $orderBy: Domain_orderBy \n $orderDirection: OrderDirection\n ) {\n account(id: $id) {\n domains(orderBy: $orderBy, orderDirection: $orderDirection) {\n ${domainQueryData}\n createdAt\n }\n }\n }\n `\n queryVars = {\n id: address,\n orderBy,\n orderDirection,\n }\n } else {\n finalQuery = gqlInstance.gql`\n query getNames(\n $id: ID!\n $first: Int\n $skip: Int\n $orderBy: Domain_orderBy\n $orderDirection: OrderDirection\n ) {\n account(id: $id) {\n domains(\n first: $first\n skip: $skip\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n ${domainQueryData}\n createdAt\n }\n }\n }\n `\n\n queryVars = {\n id: address,\n first: pageSize,\n skip: (page || 0) * pageSize,\n orderBy,\n orderDirection,\n }\n }\n } else if (typeof page !== 'number') {\n finalQuery = gqlInstance.gql`\n query getNames(\n $id: ID!\n $orderBy: Registration_orderBy\n $orderDirection: OrderDirection\n $expiryDate: Int\n ) {\n account(id: $id) {\n registrations(\n orderBy: $orderBy\n orderDirection: $orderDirection\n where: { expiryDate_gt: $expiryDate }\n ) {\n registrationDate\n expiryDate\n domain {\n ${domainQueryData}\n }\n }\n }\n }\n `\n\n queryVars = {\n id: address,\n orderBy,\n orderDirection,\n expiryDate: Math.floor(Date.now() / 1000) - 90 * 24 * 60 * 60,\n }\n } else {\n finalQuery = gqlInstance.gql`\n query getNames(\n $id: ID!\n $first: Int\n $skip: Int\n $orderBy: Registration_orderBy\n $orderDirection: OrderDirection\n $expiryDate: Int\n ) {\n account(id: $id) {\n registrations(\n first: $first\n skip: $skip\n orderBy: $orderBy\n orderDirection: $orderDirection\n where: { expiryDate_gt: $expiryDate }\n ) {\n registrationDate\n expiryDate\n domain {\n ${domainQueryData}\n }\n }\n }\n }\n `\n\n queryVars = {\n id: address,\n first: pageSize,\n skip: (page || 0) * pageSize,\n orderBy,\n orderDirection,\n expiryDate: Math.floor(Date.now() / 1000) - 90 * 24 * 60 * 60,\n }\n }\n\n const { account } = await client.request(finalQuery, queryVars)\n if (type === 'all') {\n return [\n ...account.domains.map(mapDomain),\n ...account.registrations.map(mapRegistration),\n ].sort((a, b) => {\n if (orderDirection === 'desc') {\n if (orderBy === 'labelName') {\n return b.name.localeCompare(a.name)\n }\n return b.createdAt.getTime() - a.createdAt.getTime()\n }\n if (orderBy === 'labelName') {\n return a.name.localeCompare(b.name)\n }\n return a.createdAt.getTime() - b.createdAt.getTime()\n }) as Name[]\n }\n if (type === 'owner') {\n return account.domains.map(mapDomain) as Name[]\n }\n return account.registrations.map(mapRegistration) as Name[]\n}\n\nexport default getNames\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/getOwner.ts"],
|
|
4
|
-
"sourcesContent": ["import { ethers } from 'ethers'\nimport { ENSArgs } from '..'\nimport { labelhash } from '../utils/labels'\nimport { namehash as makeNamehash } from '../utils/normalise'\n\ntype Owner = {\n registrant?: string\n owner?: string\n ownershipLevel: 'nameWrapper' | 'registry' | 'registrar'\n}\n\nconst singleContractOwnerRaw = async (\n { contracts }: ENSArgs<'contracts'>,\n contract: 'nameWrapper' | 'registry' | 'registrar',\n namehash: string,\n labels: string[],\n) => {\n switch (contract) {\n case 'nameWrapper': {\n const nameWrapper = await contracts?.getNameWrapper()!\n\n return {\n to: nameWrapper.address,\n data: nameWrapper.interface.encodeFunctionData('ownerOf', [namehash]),\n }\n }\n case 'registry': {\n const registry = await contracts?.getRegistry()!\n\n return {\n to: registry.address,\n data: registry.interface.encodeFunctionData('owner', [namehash]),\n }\n }\n case 'registrar': {\n const registrar = await contracts?.getBaseRegistrar()!\n\n return {\n to: registrar.address,\n data: registrar.interface.encodeFunctionData('ownerOf', [\n labelhash(labels[0]),\n ]),\n }\n }\n // no default\n }\n}\n\nconst raw = async (\n { contracts, multicallWrapper }: ENSArgs<'contracts' | 'multicallWrapper'>,\n name: string,\n contract?: 'nameWrapper' | 'registry' | 'registrar',\n) => {\n const namehash = makeNamehash(name)\n const labels = name.split('.')\n\n if (contract || labels.length === 1) {\n return singleContractOwnerRaw(\n { contracts },\n contract || 'registry',\n namehash,\n labels,\n )\n }\n\n const registryData = await singleContractOwnerRaw(\n { contracts },\n 'registry',\n namehash,\n labels,\n )\n const nameWrapperData = await singleContractOwnerRaw(\n { contracts },\n 'nameWrapper',\n namehash,\n labels,\n )\n const registrarData = await singleContractOwnerRaw(\n { contracts },\n 'registrar',\n namehash,\n labels,\n )\n\n const data: { to: string; data: string }[] = [registryData, nameWrapperData]\n\n if (labels.length === 2 && labels[1] === 'eth') {\n data.push(registrarData)\n }\n\n return multicallWrapper.raw(data)\n}\n\nconst singleContractOwnerDecode = (data: string) =>\n ethers.utils.defaultAbiCoder.decode(['address'], data)[0]\n\nconst decode = async (\n { contracts, multicallWrapper }: ENSArgs<'contracts' | 'multicallWrapper'>,\n data: string,\n name: string,\n contract?: 'nameWrapper' | 'registry' | 'registrar',\n): Promise<Owner | undefined> => {\n if (data === null) return\n const labels = name.split('.')\n if (contract || labels.length === 1) {\n const singleOwner = singleContractOwnerDecode(data)\n const obj = {\n ownershipLevel: contract || 'registry',\n }\n if (contract === 'registrar') {\n return {\n ...obj,\n registrant: singleOwner as string,\n }\n }\n return {\n ...obj,\n owner: singleOwner as string,\n }\n }\n const result = await multicallWrapper.decode(data)\n if (result === null) return\n const nameWrapper = await contracts?.getNameWrapper()!\n\n const decodedData = [result[0][1], result[1][1], result[2]?.[1]].map(\n (ret) =>\n ret &&\n ret !== '0x' &&\n ethers.utils.defaultAbiCoder.decode(['address'], ret),\n )\n\n const registryOwner = (decodedData[0] as ethers.utils.Result)[0]\n const nameWrapperOwner = (decodedData[1] as ethers.utils.Result)[0]\n const registrarOwner = (\n decodedData[2] as ethers.utils.Result | undefined\n )?.[0]\n\n // check for only .eth names\n if (labels[labels.length - 1] === 'eth') {\n // if the owner on the registrar is the namewrapper, then the namewrapper owner is the owner\n // there is no \"registrant\" for wrapped names\n if (registrarOwner === nameWrapper.address) {\n return {\n owner: nameWrapperOwner,\n ownershipLevel: 'nameWrapper',\n }\n }\n // if there is a registrar owner, then it's not a subdomain but we have also passed the namewrapper clause\n // this means that it's an unwrapped second-level name\n // the registrant is the owner of the NFT\n // the owner is the controller of the records\n if (registrarOwner) {\n return {\n registrant: registrarOwner,\n owner: registryOwner,\n ownershipLevel: 'registrar',\n }\n }\n if (\n labels.length > 2 &&\n ethers.utils.hexStripZeros(registryOwner) !== '0x'\n ) {\n // this means that the subname is wrapped\n if (\n registryOwner === nameWrapper.address &&\n ethers.utils.hexStripZeros(nameWrapperOwner) !== '0x'\n ) {\n return {\n owner: nameWrapperOwner,\n ownershipLevel: 'nameWrapper',\n }\n }\n // unwrapped subnames do not have NFTs associated, so do not have a registrant\n return {\n owner: registryOwner,\n ownershipLevel: 'registry',\n }\n }\n // .eth names with no registrar owner are either unregistered or expired\n return\n }\n\n // non .eth names inherit the owner from the registry\n // there will only ever be an owner for non .eth names, not a registrant\n // this is because for unwrapped names, there is no associated NFT\n // and for wrapped names, owner and registrant are the same thing\n if (\n registryOwner === nameWrapper.address &&\n ethers.utils.hexStripZeros(nameWrapperOwner) !== '0x'\n ) {\n return {\n owner: nameWrapperOwner,\n ownershipLevel: 'nameWrapper',\n }\n }\n\n // for unwrapped non .eth names, the owner is the registry owner\n if (ethers.utils.hexStripZeros(registryOwner) !== '0x') {\n return {\n owner: registryOwner,\n ownershipLevel: 'registry',\n }\n }\n\n // for anything else, return\n return\n}\nexport default { raw, decode }\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["makeNamehash"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/getPrice.ts"],
|
|
4
|
-
"sourcesContent": ["import { BigNumber, utils } from 'ethers'\nimport { ENSArgs } from '..'\n\nconst raw = async (\n { contracts, multicallWrapper }: ENSArgs<'contracts' | 'multicallWrapper'>,\n name: string,\n duration: number,\n legacy?: boolean,\n) => {\n const controller = await contracts?.getEthRegistrarController()!\n\n const baseCall = {\n to: controller.address,\n data: controller.interface.encodeFunctionData('rentPrice', [\n name,\n duration,\n ]),\n }\n\n if (legacy) {\n return multicallWrapper.raw([\n baseCall,\n {\n to: controller.address,\n data: controller.interface.encodeFunctionData('rentPrice', [name, 0]),\n },\n ])\n }\n\n return baseCall\n}\n\nconst decode = async (\n { contracts, multicallWrapper }: ENSArgs<'contracts' | 'multicallWrapper'>,\n data: string,\n _name: string,\n _number: number,\n legacy?: boolean,\n) => {\n if (data === null) return\n const controller = await contracts?.getEthRegistrarController()!\n try {\n let base: BigNumber\n let premium: BigNumber\n if (legacy) {\n const result = await multicallWrapper.decode(data)\n const [price] = utils.defaultAbiCoder.decode(\n ['uint256'],\n result[0].returnData,\n ) as [BigNumber]\n ;[premium] = utils.defaultAbiCoder.decode(\n ['uint256'],\n result[1].returnData,\n ) as [BigNumber]\n base = price.sub(premium)\n } else {\n ;[[base, premium]] = controller.interface.decodeFunctionResult(\n 'rentPrice',\n data,\n )\n }\n return {\n base,\n premium,\n }\n } catch {\n return\n }\n}\n\nexport default { raw, decode }\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAiC;AAGjC,MAAM,MAAM,OACV,EAAE,WAAW,iBAAiB,GAC9B,MACA,UACA,WACG;AACH,QAAM,aAAa,MAAM,WAAW,0BAA0B;AAE9D,QAAM,WAAW;AAAA,IACf,IAAI,WAAW;AAAA,IACf,MAAM,WAAW,UAAU,mBAAmB,aAAa;AAAA,MACzD;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAEA,MAAI,QAAQ;AACV,WAAO,iBAAiB,IAAI;AAAA,MAC1B;AAAA,MACA;AAAA,QACE,IAAI,WAAW;AAAA,QACf,MAAM,WAAW,UAAU,mBAAmB,aAAa,CAAC,MAAM,CAAC,CAAC;AAAA,MACtE;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO;AACT;AAEA,MAAM,SAAS,OACb,EAAE,WAAW,iBAAiB,GAC9B,MACA,OACA,SACA,WACG;AACH,MAAI,SAAS;AAAM;AACnB,QAAM,aAAa,MAAM,WAAW,0BAA0B;AAC9D,MAAI;AACF,QAAI;AACJ,QAAI;AACJ,QAAI,QAAQ;AACV,YAAM,SAAS,MAAM,iBAAiB,OAAO,IAAI;AACjD,YAAM,CAAC,KAAK,IAAI,oBAAM,gBAAgB;AAAA,QACpC,CAAC,SAAS;AAAA,QACV,OAAO,GAAG;AAAA,MACZ;AACC,OAAC,OAAO,IAAI,oBAAM,gBAAgB;AAAA,QACjC,CAAC,SAAS;AAAA,QACV,OAAO,GAAG;AAAA,MACZ;AACA,aAAO,MAAM,IAAI,OAAO;AAAA,IAC1B,OAAO;AACL;AAAC,OAAC,CAAC,MAAM,OAAO,CAAC,IAAI,WAAW,UAAU;AAAA,QACxC;AAAA,QACA;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF,QAAE;AACA;AAAA,EACF;AACF;AAEA,IAAO,mBAAQ,EAAE,KAAK,OAAO;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/getProfile.ts"],
|
|
4
|
-
"sourcesContent": ["import { formatsByName } from '@ensdomains/address-encoder'\nimport { ethers } from 'ethers'\nimport { ENSArgs } from '..'\nimport { decodeContenthash, DecodedContentHash } from '../utils/contentHash'\nimport { hexEncodeName } from '../utils/hexEncodedName'\nimport { namehash } from '../utils/normalise'\nimport { parseInputType } from '../utils/validation'\n\ntype InternalProfileOptions = {\n contentHash?: boolean | string | DecodedContentHash\n texts?: string[]\n coinTypes?: string[]\n}\n\ntype ProfileResponse = {\n contentHash?: string | DecodedContentHash\n texts?: string[]\n coinTypes?: string[]\n}\n\ntype DataItem = {\n key: string | number\n type: 'addr' | 'text' | 'contentHash'\n coin?: string\n value: string\n}\n\ntype ResolvedProfile = {\n isMigrated: boolean | null\n createdAt: string | null\n address?: string\n name?: string | null\n match?: boolean\n message?: string\n records?: {\n contentHash?: DecodedContentHash | string | null\n texts?: DataItem[]\n coinTypes?: DataItem[]\n }\n resolverAddress?: string\n reverseResolverAddress?: string\n}\n\nconst makeMulticallData = async (\n {\n _getAddr,\n _getContentHash,\n _getText,\n resolverMulticallWrapper,\n }: ENSArgs<\n '_getText' | '_getAddr' | '_getContentHash' | 'resolverMulticallWrapper'\n >,\n name: string,\n options: InternalProfileOptions,\n) => {\n let calls: any[] = []\n if (options.texts)\n calls = [\n ...calls,\n ...(await Promise.all(\n options.texts.map(async (x) => ({\n key: x,\n data: await _getText.raw(name, x),\n type: 'text',\n })),\n )),\n ]\n\n if (options.coinTypes)\n calls = [\n ...calls,\n ...(await Promise.all(\n options.coinTypes.map(async (x) => ({\n key: x,\n data: await _getAddr.raw(name, x, true),\n type: 'addr',\n })),\n )),\n ]\n\n if (typeof options.contentHash === 'boolean' && options.contentHash) {\n calls.push({\n key: 'contentHash',\n data: await _getContentHash.raw(name),\n type: 'contenthash',\n })\n }\n\n if (!calls.find((x) => x.key === '60')) {\n calls.push({\n key: '60',\n data: await _getAddr.raw(name, '60', true),\n type: 'addr',\n })\n }\n\n const prRawData = await resolverMulticallWrapper.raw(calls.map((x) => x.data))\n\n return { data: prRawData.data, calls }\n}\n\nconst fetchWithoutResolverMulticall = async (\n { multicallWrapper }: ENSArgs<'multicallWrapper'>,\n calls: {\n key: string | number\n data: {\n to: string\n data: string\n }\n type: 'addr' | 'text' | 'contentHash'\n }[],\n resolverAddress: string,\n) => {\n const callsWithResolver = calls.map((call) => ({\n to: resolverAddress,\n data: call.data.data,\n }))\n\n return (await multicallWrapper(callsWithResolver)).map(\n (x: [boolean, string]) => x[1],\n )\n}\n\nconst formatRecords = async (\n {\n _getText,\n _getAddr,\n _getContentHash,\n }: ENSArgs<'_getText' | '_getAddr' | '_getContentHash'>,\n data: any[],\n calls: any[],\n options: InternalProfileOptions,\n) => {\n const returnedRecords: DataItem[] = (\n await Promise.all(\n data.map(async (item: string, i: number) => {\n let decodedFromAbi: any\n let itemRet: Record<string, any> = {\n key: calls[i].key,\n type: calls[i].type,\n }\n if (itemRet.type === 'contenthash') {\n ;[decodedFromAbi] = ethers.utils.defaultAbiCoder.decode(\n ['bytes'],\n item,\n )\n if (ethers.utils.hexStripZeros(decodedFromAbi) === '0x') {\n return\n }\n }\n switch (calls[i].type) {\n case 'text':\n itemRet = {\n ...itemRet,\n value: await _getText.decode(item),\n }\n if (itemRet.value === '' || itemRet.value === undefined) return\n break\n case 'addr':\n try {\n const addr = await _getAddr.decode(item, '', calls[i].key)\n if (addr) {\n itemRet = {\n ...itemRet,\n ...addr,\n }\n break\n } else {\n return\n }\n } catch {\n return\n }\n case 'contenthash':\n try {\n itemRet = {\n ...itemRet,\n value: await _getContentHash.decode(item),\n }\n break\n } catch {\n return\n }\n // no default\n }\n return itemRet\n }),\n )\n )\n .filter((x): x is DataItem => {\n return typeof x === 'object'\n })\n .filter((x) => x)\n\n const returnedResponse: {\n contentHash?: string | null | DecodedContentHash\n coinTypes?: DataItem[]\n texts?: DataItem[]\n } = {}\n\n if (\n typeof options.contentHash === 'string' ||\n typeof options.contentHash === 'object'\n ) {\n if (\n typeof options.contentHash === 'string' &&\n ethers.utils.hexStripZeros(options.contentHash) === '0x'\n ) {\n returnedResponse.contentHash = null\n } else if (\n ethers.utils.isBytesLike((options.contentHash as any).decoded) &&\n ethers.utils.hexStripZeros((options.contentHash as any).decoded) === '0x'\n ) {\n returnedResponse.contentHash = null\n } else {\n returnedResponse.contentHash = options.contentHash\n }\n } else if (options.contentHash) {\n const foundRecord = returnedRecords.find(\n (item: any) => item.type === 'contenthash',\n )\n returnedResponse.contentHash = foundRecord ? foundRecord.value : null\n }\n if (options.texts) {\n returnedResponse.texts = returnedRecords.filter(\n (x: any) => x.type === 'text',\n )\n }\n if (options.coinTypes) {\n returnedResponse.coinTypes = returnedRecords.filter(\n (x: any) => x.type === 'addr',\n )\n }\n return returnedResponse\n}\n\nconst getDataForName = async (\n {\n contracts,\n _getAddr,\n _getContentHash,\n _getText,\n resolverMulticallWrapper,\n multicallWrapper,\n }: ENSArgs<\n | 'contracts'\n | '_getText'\n | '_getAddr'\n | '_getContentHash'\n | 'resolverMulticallWrapper'\n | 'multicallWrapper'\n >,\n name: string,\n options: InternalProfileOptions,\n fallbackResolver?: string,\n specificResolver?: string,\n) => {\n const universalResolver = await contracts?.getUniversalResolver()\n\n const { data, calls } = await makeMulticallData(\n { _getAddr, _getContentHash, _getText, resolverMulticallWrapper },\n name,\n options,\n )\n\n let resolvedData: any\n let useFallbackResolver = false\n try {\n if (specificResolver) {\n const publicResolver = await contracts?.getPublicResolver(\n undefined,\n specificResolver,\n )\n resolvedData = await publicResolver?.callStatic.multicall(\n calls.map((x) => x.data),\n )\n } else {\n resolvedData = await universalResolver?.resolve(hexEncodeName(name), data)\n }\n } catch {\n useFallbackResolver = true\n }\n\n let resolverAddress: string\n let recordData: any\n\n if (useFallbackResolver) {\n resolverAddress = specificResolver || fallbackResolver!\n recordData = await fetchWithoutResolverMulticall(\n { multicallWrapper },\n calls,\n resolverAddress,\n )\n } else {\n resolverAddress = specificResolver || resolvedData['1']\n if (specificResolver) {\n recordData = resolvedData\n } else {\n ;[recordData] = await resolverMulticallWrapper.decode(resolvedData['0'])\n }\n }\n\n const matchAddress = recordData[calls.findIndex((x) => x.key === '60')]\n\n return {\n address: matchAddress && (await _getAddr.decode(matchAddress)),\n records: await formatRecords(\n { _getAddr, _getContentHash, _getText },\n recordData,\n calls,\n options,\n ),\n resolverAddress,\n }\n}\n\nconst graphFetch = async (\n { gqlInstance }: ENSArgs<'gqlInstance'>,\n name: string,\n wantedRecords?: ProfileOptions,\n resolverAddress?: string,\n) => {\n const query = gqlInstance.gql`\n query getRecords($id: String!) {\n domain(id: $id) {\n isMigrated\n createdAt\n resolver {\n texts\n coinTypes\n contentHash\n addr {\n id\n }\n address\n }\n }\n }\n `\n\n const customResolverQuery = gqlInstance.gql`\n query getRecordsWithCustomResolver($id: String!, $resolverId: String!) {\n domain(id: $id) {\n isMigrated\n createdAt\n }\n resolver(id: $resolverId) {\n texts\n coinTypes\n contentHash\n addr {\n id\n }\n }\n }\n `\n\n const { client } = gqlInstance\n\n const id = namehash(name)\n\n let domain: any\n let resolverResponse: any\n\n if (!resolverAddress) {\n ;({ domain } = await client.request(query, { id }))\n resolverResponse = domain?.resolver\n } else {\n const resolverId = `${resolverAddress.toLowerCase()}-${id}`\n ;({ resolver: resolverResponse, domain } = await client.request(\n customResolverQuery,\n { id, resolverId },\n ))\n }\n\n if (!domain) return\n\n const { isMigrated, createdAt } = domain\n\n const returnedRecords: ProfileResponse = {}\n\n if (!resolverResponse) return { isMigrated, createdAt }\n\n if (!wantedRecords)\n return {\n isMigrated,\n createdAt,\n graphResolverAddress: resolverResponse.address || resolverAddress,\n }\n\n Object.keys(wantedRecords).forEach((key: string) => {\n const data = wantedRecords[key as keyof ProfileOptions]\n if (typeof data === 'boolean' && data) {\n if (key === 'contentHash') {\n returnedRecords[key] = decodeContenthash(resolverResponse.contentHash)\n } else {\n returnedRecords[key as keyof ProfileOptions] = resolverResponse[key]\n }\n }\n })\n\n return {\n ...returnedRecords,\n isMigrated,\n createdAt,\n graphResolverAddress: resolverResponse.address || resolverAddress,\n }\n}\n\ntype ProfileOptions = {\n contentHash?: boolean\n texts?: boolean | string[]\n coinTypes?: boolean | string[]\n}\n\ntype InputProfileOptions = ProfileOptions & {\n resolverAddress?: string\n}\n\nconst getProfileFromName = async (\n {\n contracts,\n gqlInstance,\n _getAddr,\n _getContentHash,\n _getText,\n resolverMulticallWrapper,\n multicallWrapper,\n }: ENSArgs<\n | 'contracts'\n | 'gqlInstance'\n | '_getText'\n | '_getAddr'\n | '_getContentHash'\n | 'resolverMulticallWrapper'\n | 'multicallWrapper'\n >,\n name: string,\n options?: InputProfileOptions,\n) => {\n const { resolverAddress, ..._options } = options || {}\n const optsLength = Object.keys(_options).length\n let usingOptions: InputProfileOptions | undefined\n if (!optsLength || _options?.texts === true || _options?.coinTypes === true) {\n if (optsLength) usingOptions = _options\n else usingOptions = { contentHash: true, texts: true, coinTypes: true }\n }\n\n const graphResult = await graphFetch(\n { gqlInstance },\n name,\n usingOptions,\n resolverAddress,\n )\n if (!graphResult) return\n const {\n isMigrated,\n createdAt,\n graphResolverAddress,\n ...wantedRecords\n }: {\n isMigrated: boolean\n createdAt: string\n graphResolverAddress?: string\n } & InternalProfileOptions = graphResult\n if (!graphResolverAddress && !options?.resolverAddress)\n return { isMigrated, createdAt, message: \"Name doesn't have a resolver\" }\n const result = await getDataForName(\n {\n contracts,\n _getAddr,\n _getContentHash,\n _getText,\n resolverMulticallWrapper,\n multicallWrapper,\n },\n name,\n usingOptions ? wantedRecords : (options as InternalProfileOptions),\n graphResolverAddress,\n options?.resolverAddress!,\n )\n if (!result)\n return { isMigrated, createdAt, message: \"Records fetch didn't complete\" }\n return { ...result, isMigrated, createdAt, message: undefined }\n}\n\nconst getProfileFromAddress = async (\n {\n contracts,\n gqlInstance,\n getName,\n _getAddr,\n _getContentHash,\n _getText,\n resolverMulticallWrapper,\n multicallWrapper,\n }: ENSArgs<\n | 'contracts'\n | 'gqlInstance'\n | 'getName'\n | '_getText'\n | '_getAddr'\n | '_getContentHash'\n | 'resolverMulticallWrapper'\n | 'multicallWrapper'\n >,\n address: string,\n options?: InputProfileOptions,\n) => {\n let name\n try {\n name = await getName(address)\n } catch (e) {\n return\n }\n if (!name || !name.name || name.name === '') return\n if (!name.match) return { ...name, isMigrated: null, createdAt: null }\n const result = await getProfileFromName(\n {\n contracts,\n gqlInstance,\n _getAddr,\n _getContentHash,\n _getText,\n resolverMulticallWrapper,\n multicallWrapper,\n },\n name.name,\n options,\n )\n if (!result || result.message) return\n delete (result as any).address\n return {\n ...result,\n ...name,\n message: undefined,\n }\n}\n\nexport default async function (\n {\n contracts,\n gqlInstance,\n getName,\n _getAddr,\n _getContentHash,\n _getText,\n resolverMulticallWrapper,\n multicallWrapper,\n }: ENSArgs<\n | 'contracts'\n | 'gqlInstance'\n | 'getName'\n | '_getText'\n | '_getAddr'\n | '_getContentHash'\n | 'resolverMulticallWrapper'\n | 'multicallWrapper'\n >,\n nameOrAddress: string,\n options?: InputProfileOptions,\n): Promise<ResolvedProfile | undefined> {\n if (options && options.coinTypes && typeof options.coinTypes !== 'boolean') {\n options.coinTypes = options.coinTypes.map((coin: string) => {\n if (!Number.isNaN(parseInt(coin))) {\n return coin\n }\n return `${formatsByName[coin.toUpperCase()].coinType}`\n })\n }\n\n const inputType = parseInputType(nameOrAddress)\n\n if (inputType.type === 'unknown' || inputType.info === 'unsupported') {\n throw new Error('Invalid input type')\n }\n\n if (inputType.type === 'address') {\n return getProfileFromAddress(\n {\n contracts,\n gqlInstance,\n getName,\n _getAddr,\n _getContentHash,\n _getText,\n resolverMulticallWrapper,\n multicallWrapper,\n },\n nameOrAddress,\n options,\n )\n }\n\n return getProfileFromName(\n {\n contracts,\n gqlInstance,\n _getAddr,\n _getContentHash,\n _getText,\n resolverMulticallWrapper,\n multicallWrapper,\n },\n nameOrAddress,\n options,\n )\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/getRecords.ts"],
|
|
4
|
-
"sourcesContent": ["import { ENSArgs } from '..'\nimport { parseInputType } from '../utils/validation'\n\ntype ProfileOptions = {\n contentHash?: boolean\n texts?: boolean | string[]\n coinTypes?: boolean | string[]\n resolverAddress?: string\n}\n\nexport default async function (\n { getProfile }: ENSArgs<'getProfile'>,\n name: string,\n options?: ProfileOptions,\n) {\n const inputType = parseInputType(name)\n\n if (inputType.type !== 'name' && inputType.type !== 'label') {\n throw new Error('Input must be an ENS name')\n }\n\n return getProfile(name, options)\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAA+B;AAS/B,eAAO,mBACL,EAAE,WAAW,GACb,MACA,SACA;AACA,QAAM,gBAAY,kCAAe,IAAI;AAErC,MAAI,UAAU,SAAS,UAAU,UAAU,SAAS,SAAS;AAC3D,UAAM,IAAI,MAAM,2BAA2B;AAAA,EAC7C;AAEA,SAAO,WAAW,MAAM,OAAO;AACjC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/getResolver.ts"],
|
|
4
|
-
"sourcesContent": ["import { ethers } from 'ethers'\nimport { ENSArgs } from '..'\nimport { hexEncodeName } from '../utils/hexEncodedName'\n\nconst raw = async ({ contracts }: ENSArgs<'contracts'>, name: string) => {\n const universalResolver = await contracts?.getUniversalResolver()!\n return {\n to: universalResolver.address,\n data: universalResolver.interface.encodeFunctionData('findResolver', [\n hexEncodeName(name),\n ]),\n }\n}\n\nconst decode = async ({ contracts }: ENSArgs<'contracts'>, data: string) => {\n const universalResolver = await contracts?.getUniversalResolver()!\n const response = universalResolver.interface.decodeFunctionResult(\n 'findResolver',\n data,\n )\n\n if (\n !response ||\n !response[0] ||\n ethers.utils.hexStripZeros(response[0]) === '0x'\n ) {\n return\n }\n return response[0]\n}\n\nexport default { raw, decode }\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAuB;AAEvB,4BAA8B;AAE9B,MAAM,MAAM,OAAO,EAAE,UAAU,GAAyB,SAAiB;AACvE,QAAM,oBAAoB,MAAM,WAAW,qBAAqB;AAChE,SAAO;AAAA,IACL,IAAI,kBAAkB;AAAA,IACtB,MAAM,kBAAkB,UAAU,mBAAmB,gBAAgB;AAAA,UACnE,qCAAc,IAAI;AAAA,IACpB,CAAC;AAAA,EACH;AACF;AAEA,MAAM,SAAS,OAAO,EAAE,UAAU,GAAyB,SAAiB;AAC1E,QAAM,oBAAoB,MAAM,WAAW,qBAAqB;AAChE,QAAM,WAAW,kBAAkB,UAAU;AAAA,IAC3C;AAAA,IACA;AAAA,EACF;AAEA,MACE,CAAC,YACD,CAAC,SAAS,MACV,qBAAO,MAAM,cAAc,SAAS,EAAE,MAAM,MAC5C;AACA;AAAA,EACF;AACA,SAAO,SAAS;AAClB;AAEA,IAAO,sBAAQ,EAAE,KAAK,OAAO;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/getSpecificRecord.ts"],
|
|
4
|
-
"sourcesContent": ["import { formatsByCoinType, formatsByName } from '@ensdomains/address-encoder'\nimport { ethers } from 'ethers'\nimport { ENSArgs } from '..'\nimport { decodeContenthash } from '../utils/contentHash'\nimport { namehash } from '../utils/normalise'\n\nexport const _getContentHash = {\n raw: async ({ contracts }: ENSArgs<'contracts'>, name: string) => {\n const publicResolver = await contracts?.getPublicResolver()!\n return {\n to: '0x0000000000000000000000000000000000000000',\n data: publicResolver.interface.encodeFunctionData('contenthash', [\n namehash(name),\n ]),\n }\n },\n decode: async ({ contracts }: ENSArgs<'contracts'>, data: string) => {\n let response: any\n const publicResolver = await contracts?.getPublicResolver()!\n try {\n ;[response] = publicResolver.interface.decodeFunctionResult(\n 'contenthash',\n data,\n )\n } catch {\n return\n }\n\n if (!response) {\n return\n }\n\n const decodedContent = decodeContenthash(response)\n\n if (\n !decodedContent ||\n (ethers.utils.isBytesLike(decodedContent.decoded) &&\n ethers.utils.hexStripZeros(decodedContent.decoded) === '0x') ||\n Object.keys(decodedContent).length === 0\n ) {\n return\n }\n\n return decodedContent\n },\n}\n\nexport const getContentHash = {\n raw: async (\n { contracts, universalWrapper }: ENSArgs<'contracts' | 'universalWrapper'>,\n name: string,\n ) => {\n const prData = await _getContentHash.raw({ contracts }, name)\n return universalWrapper.raw(name, prData.data)\n },\n decode: async (\n { contracts, universalWrapper }: ENSArgs<'contracts' | 'universalWrapper'>,\n data: string,\n ) => {\n const urData = await universalWrapper.decode(data)\n if (!urData) return\n return _getContentHash.decode({ contracts }, urData.data)\n },\n}\n\nexport const _getText = {\n raw: async (\n { contracts }: ENSArgs<'contracts'>,\n name: string,\n key: string,\n ) => {\n const publicResolver = await contracts?.getPublicResolver()!\n return {\n to: '0x0000000000000000000000000000000000000000',\n data: publicResolver.interface.encodeFunctionData('text', [\n namehash(name),\n key,\n ]),\n }\n },\n decode: async ({ contracts }: ENSArgs<'contracts'>, data: string) => {\n const publicResolver = await contracts?.getPublicResolver()!\n const [response] = publicResolver.interface.decodeFunctionResult(\n 'text',\n data,\n )\n if (!response) {\n return\n }\n return response\n },\n}\n\nexport const getText = {\n raw: async (\n { contracts, universalWrapper }: ENSArgs<'contracts' | 'universalWrapper'>,\n name: string,\n key: string,\n ) => {\n const prData = await _getText.raw({ contracts }, name, key)\n return universalWrapper.raw(name, prData.data)\n },\n decode: async (\n { contracts, universalWrapper }: ENSArgs<'contracts' | 'universalWrapper'>,\n data: string,\n ) => {\n const urData = await universalWrapper.decode(data)\n if (!urData) return\n return _getText.decode({ contracts }, urData.data)\n },\n}\n\nexport const _getAddr = {\n raw: async (\n { contracts }: ENSArgs<'contracts'>,\n name: string,\n coinType?: string | number,\n bypassFormat?: boolean,\n ) => {\n if (!coinType) {\n coinType = 60\n }\n\n const publicResolver = await contracts?.getPublicResolver()!\n\n if (coinType === 60 || coinType === '60') {\n return {\n to: '0x0000000000000000000000000000000000000000',\n data: publicResolver.interface.encodeFunctionData('addr(bytes32)', [\n namehash(name),\n ]),\n }\n }\n\n if (bypassFormat) {\n return {\n to: '0x0000000000000000000000000000000000000000',\n data: publicResolver.interface.encodeFunctionData(\n 'addr(bytes32,uint256)',\n [namehash(name), coinType],\n ),\n }\n }\n const formatter =\n typeof coinType === 'string' && Number.isNaN(parseInt(coinType))\n ? formatsByName[coinType]\n : formatsByCoinType[\n typeof coinType === 'number' ? coinType : parseInt(coinType)\n ]\n\n if (!formatter) {\n throw new Error(`No formatter found for coin: ${coinType}`)\n }\n\n return {\n to: '0x0000000000000000000000000000000000000000',\n data: publicResolver.interface.encodeFunctionData(\n 'addr(bytes32,uint256)',\n [namehash(name), formatter.coinType],\n ),\n }\n },\n decode: async (\n { contracts }: ENSArgs<'contracts'>,\n data: string,\n _name: string,\n coinType?: string | number,\n ) => {\n let returnCoinType = true\n if (!coinType) {\n coinType = 60\n returnCoinType = false\n }\n\n const publicResolver = await contracts?.getPublicResolver()!\n const formatter =\n typeof coinType === 'string' && Number.isNaN(parseInt(coinType))\n ? formatsByName[coinType]\n : formatsByCoinType[\n typeof coinType === 'number' ? coinType : parseInt(coinType)\n ]\n\n let response: string\n\n if (coinType === 60 || coinType === '60') {\n ;[response] = publicResolver.interface.decodeFunctionResult(\n 'addr(bytes32)',\n data,\n )\n } else {\n ;[response] = publicResolver.interface.decodeFunctionResult(\n 'addr(bytes32,uint256)',\n data,\n )\n }\n\n if (!response) return\n\n if (ethers.utils.hexStripZeros(response) === '0x') {\n return\n }\n\n const decodedAddr = formatter.encoder(Buffer.from(response.slice(2), 'hex'))\n\n if (!decodedAddr) {\n return\n }\n\n if (!returnCoinType) {\n return decodedAddr\n }\n\n return { coin: formatter.name, addr: decodedAddr }\n },\n}\n\nexport const getAddr = {\n raw: async (\n { contracts, universalWrapper }: ENSArgs<'contracts' | 'universalWrapper'>,\n name: string,\n coinType?: string | number,\n ) => {\n const prData = await _getAddr.raw({ contracts }, name, coinType)\n return universalWrapper.raw(name, prData.data)\n },\n decode: async (\n { contracts, universalWrapper }: ENSArgs<'contracts' | 'universalWrapper'>,\n data: string,\n _name: string,\n coinType?: string | number,\n ) => {\n const urData = await universalWrapper.decode(data)\n if (!urData) return\n return _getAddr.decode({ contracts }, urData.data, _name, coinType)\n },\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/getSubnames.ts"],
|
|
4
|
-
"sourcesContent": ["import { ENSArgs } from '..'\nimport { truncateFormat } from '../utils/format'\nimport { decryptName } from '../utils/labels'\nimport { namehash } from '../utils/normalise'\n\ntype Subname = {\n id: string\n labelName: string | null\n truncatedName?: string\n labelhash: string\n isMigrated: boolean\n name: string\n owner: {\n id: string\n }\n}\n\ntype Params = {\n name: string\n page?: number\n pageSize?: number\n orderDirection?: 'asc' | 'desc'\n orderBy?: 'createdAt' | 'labelName'\n lastSubnames?: Array<any>\n isLargeQuery?: boolean\n}\n\nconst largeQuery = async (\n { gqlInstance }: ENSArgs<'gqlInstance'>,\n { name, pageSize = 10, orderDirection, orderBy, lastSubnames = [] }: Params,\n) => {\n const { client } = gqlInstance\n\n const finalQuery = gqlInstance.gql`\n query getSubnames(\n $id: ID! \n $first: Int\n $lastCreatedAt: BigInt\n $orderBy: Domain_orderBy \n $orderDirection: OrderDirection\n ) {\n domain(\n id: $id\n ) {\n subdomainCount\n subdomains(\n first: $first\n orderBy: $orderBy\n orderDirection: $orderDirection\n where: { createdAt_lt: $lastCreatedAt }\n ) {\n id\n labelName\n labelhash\n isMigrated\n name\n subdomainCount\n createdAt\n owner {\n id\n }\n }\n }\n }\n `\n const queryVars = {\n id: namehash(name),\n first: pageSize,\n lastCreatedAt: lastSubnames[lastSubnames.length - 1]?.createdAt,\n orderBy,\n orderDirection,\n }\n const { domain } = await client.request(finalQuery, queryVars)\n const subdomains = domain.subdomains.map((subname: any) => {\n const decrypted = decryptName(subname.name)\n return {\n ...subname,\n name: decrypted,\n truncatedName: truncateFormat(decrypted),\n }\n })\n\n return {\n subnames: subdomains,\n subnameCount: domain.subdomainCount,\n }\n}\n\nconst smallQuery = async (\n { gqlInstance }: ENSArgs<'gqlInstance'>,\n { name, page, pageSize = 10, orderDirection, orderBy }: Params,\n) => {\n const { client } = gqlInstance\n const subdomainsGql = `\n id\n labelName\n labelhash\n isMigrated\n name\n subdomainCount\n createdAt\n owner {\n id\n }\n`\n let queryVars = {}\n let finalQuery = ''\n if (typeof page !== 'number') {\n finalQuery = gqlInstance.gql`\n query getSubnames(\n $id: ID! \n $orderBy: Domain_orderBy \n $orderDirection: OrderDirection\n ) {\n domain(\n id: $id\n ) {\n subdomains(\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n ${subdomainsGql}\n }\n }\n }\n `\n queryVars = {\n id: namehash(name),\n orderBy,\n orderDirection,\n }\n } else {\n finalQuery = gqlInstance.gql`\n query getSubnames(\n $id: ID! \n $first: Int\n $skip: Int\n $orderBy: Domain_orderBy \n $orderDirection: OrderDirection\n ) {\n domain(\n id: $id\n ) {\n subdomainCount\n subdomains(\n first: $first\n skip: $skip\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n ${subdomainsGql}\n }\n }\n }\n `\n queryVars = {\n id: namehash(name),\n first: pageSize,\n skip: (page || 0) * pageSize,\n orderBy,\n orderDirection,\n }\n }\n const { domain } = await client.request(finalQuery, queryVars)\n const subdomains = domain.subdomains.map((subname: any) => {\n const decrypted = decryptName(subname.name)\n return {\n ...subname,\n name: decrypted,\n truncatedName: truncateFormat(decrypted),\n }\n })\n\n return {\n subnames: subdomains,\n subnameCount: domain.subdomainCount,\n }\n}\n\nconst getSubnames = (\n injected: ENSArgs<'gqlInstance'>,\n functionArgs: Params,\n): Promise<{ subnames: Subname[]; subnameCount: number }> => {\n if (functionArgs.isLargeQuery) {\n return largeQuery(injected, functionArgs)\n }\n return smallQuery(injected, functionArgs)\n}\n\nexport default getSubnames\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA+B;AAC/B,oBAA4B;AAC5B,uBAAyB;AAwBzB,MAAM,aAAa,OACjB,EAAE,YAAY,GACd,EAAE,MAAM,WAAW,IAAI,gBAAgB,SAAS,eAAe,CAAC,EAAE,MAC/D;AACH,QAAM,EAAE,OAAO,IAAI;AAEnB,QAAM,aAAa,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgC/B,QAAM,YAAY;AAAA,IAChB,QAAI,2BAAS,IAAI;AAAA,IACjB,OAAO;AAAA,IACP,eAAe,aAAa,aAAa,SAAS,IAAI;AAAA,IACtD;AAAA,IACA;AAAA,EACF;AACA,QAAM,EAAE,OAAO,IAAI,MAAM,OAAO,QAAQ,YAAY,SAAS;AAC7D,QAAM,aAAa,OAAO,WAAW,IAAI,CAAC,YAAiB;AACzD,UAAM,gBAAY,2BAAY,QAAQ,IAAI;AAC1C,WAAO;AAAA,MACL,GAAG;AAAA,MACH,MAAM;AAAA,MACN,mBAAe,8BAAe,SAAS;AAAA,IACzC;AAAA,EACF,CAAC;AAED,SAAO;AAAA,IACL,UAAU;AAAA,IACV,cAAc,OAAO;AAAA,EACvB;AACF;AAEA,MAAM,aAAa,OACjB,EAAE,YAAY,GACd,EAAE,MAAM,MAAM,WAAW,IAAI,gBAAgB,QAAQ,MAClD;AACH,QAAM,EAAE,OAAO,IAAI;AACnB,QAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYtB,MAAI,YAAY,CAAC;AACjB,MAAI,aAAa;AACjB,MAAI,OAAO,SAAS,UAAU;AAC5B,iBAAa,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAajB;AAAA;AAAA;AAAA;AAAA;AAKR,gBAAY;AAAA,MACV,QAAI,2BAAS,IAAI;AAAA,MACjB;AAAA,MACA;AAAA,IACF;AAAA,EACF,OAAO;AACL,iBAAa,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAkBjB;AAAA;AAAA;AAAA;AAAA;AAKR,gBAAY;AAAA,MACV,QAAI,2BAAS,IAAI;AAAA,MACjB,OAAO;AAAA,MACP,OAAO,QAAQ,KAAK;AAAA,MACpB;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACA,QAAM,EAAE,OAAO,IAAI,MAAM,OAAO,QAAQ,YAAY,SAAS;AAC7D,QAAM,aAAa,OAAO,WAAW,IAAI,CAAC,YAAiB;AACzD,UAAM,gBAAY,2BAAY,QAAQ,IAAI;AAC1C,WAAO;AAAA,MACL,GAAG;AAAA,MACH,MAAM;AAAA,MACN,mBAAe,8BAAe,SAAS;AAAA,IACzC;AAAA,EACF,CAAC;AAED,SAAO;AAAA,IACL,UAAU;AAAA,IACV,cAAc,OAAO;AAAA,EACvB;AACF;AAEA,MAAM,cAAc,CAClB,UACA,iBAC2D;AAC3D,MAAI,aAAa,cAAc;AAC7B,WAAO,WAAW,UAAU,YAAY;AAAA,EAC1C;AACA,SAAO,WAAW,UAAU,YAAY;AAC1C;AAEA,IAAO,sBAAQ;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/initialGetters.ts"],
|
|
4
|
-
"sourcesContent": ["export { default as batch } from './batch'\nexport * from './batchWrappers'\nexport { default as getExpiry } from './getExpiry'\nexport { default as getName } from './getName'\nexport { default as getNames } from './getNames'\nexport { default as getOwner } from './getOwner'\nexport { default as getPrice } from './getPrice'\nexport { default as getProfile } from './getProfile'\nexport { default as getRecords } from './getRecords'\nexport * from './getSpecificRecord'\nexport { default as getSubnames } from './getSubnames'\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAiC;AACjC,mCAAc,4BADd;AAEA,uBAAqC;AACrC,qBAAmC;AACnC,sBAAoC;AACpC,sBAAoC;AACpC,sBAAoC;AACpC,wBAAsC;AACtC,wBAAsC;AACtC,mCAAc,gCATd;AAUA,yBAAuC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/registerName.ts"],
|
|
4
|
-
"sourcesContent": ["import { BigNumber } from 'ethers'\nimport { ENSArgs } from '..'\nimport {\n CommitmentParams,\n makeRegistrationData,\n} from '../utils/registerHelpers'\n\ntype Params = Omit<CommitmentParams, 'name' | 'resolver'> & {\n resolverAddress?: string\n secret: string\n wrapperExpiry: number\n value: BigNumber\n}\n\nexport default async function (\n { contracts }: ENSArgs<'contracts'>,\n name: string,\n { resolverAddress, value, ...params }: Params,\n) {\n const labels = name.split('.')\n if (labels.length !== 2 || labels[1] !== 'eth')\n throw new Error('Currently only .eth TLD registrations are supported')\n\n const controller = await contracts!.getEthRegistrarController()\n const _resolver = await contracts!.getPublicResolver(\n undefined,\n resolverAddress,\n )\n const generatedParams = makeRegistrationData({\n name,\n resolver: _resolver,\n ...params,\n })\n\n return controller.populateTransaction.register(...generatedParams, {\n value,\n })\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,6BAGO;AASP,eAAO,qBACL,EAAE,UAAU,GACZ,MACA,EAAE,iBAAiB,UAAU,OAAO,GACpC;AACA,QAAM,SAAS,KAAK,MAAM,GAAG;AAC7B,MAAI,OAAO,WAAW,KAAK,OAAO,OAAO;AACvC,UAAM,IAAI,MAAM,qDAAqD;AAEvE,QAAM,aAAa,MAAM,UAAW,0BAA0B;AAC9D,QAAM,YAAY,MAAM,UAAW;AAAA,IACjC;AAAA,IACA;AAAA,EACF;AACA,QAAM,sBAAkB,6CAAqB;AAAA,IAC3C;AAAA,IACA,UAAU;AAAA,IACV,GAAG;AAAA,EACL,CAAC;AAED,SAAO,WAAW,oBAAoB,SAAS,GAAG,iBAAiB;AAAA,IACjE;AAAA,EACF,CAAC;AACH;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/renewName.ts"],
|
|
4
|
-
"sourcesContent": ["import type { BigNumber } from 'ethers'\nimport { ENSArgs } from '..'\n\nexport default async function (\n { contracts }: ENSArgs<'contracts'>,\n name: string,\n {\n duration,\n value,\n }: {\n duration: number\n value: BigNumber\n },\n) {\n const labels = name.split('.')\n if (labels.length !== 2 || labels[1] !== 'eth')\n throw new Error('Currently only .eth TLD renewals are supported')\n\n const controller = await contracts!.getEthRegistrarController()\n\n return controller.populateTransaction.renew(labels[0], duration, { value })\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,eAAO,kBACL,EAAE,UAAU,GACZ,MACA;AAAA,EACE;AAAA,EACA;AACF,GAIA;AACA,QAAM,SAAS,KAAK,MAAM,GAAG;AAC7B,MAAI,OAAO,WAAW,KAAK,OAAO,OAAO;AACvC,UAAM,IAAI,MAAM,gDAAgD;AAElE,QAAM,aAAa,MAAM,UAAW,0BAA0B;AAE9D,SAAO,WAAW,oBAAoB,MAAM,OAAO,IAAI,UAAU,EAAE,MAAM,CAAC;AAC5E;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/setName.ts"],
|
|
4
|
-
"sourcesContent": ["import { ENSArgs } from '..'\n\nexport default async function (\n { contracts, signer }: ENSArgs<'contracts' | 'signer'>,\n name: string,\n {\n address,\n resolver,\n }: {\n address?: string\n resolver?: string\n } = {},\n) {\n const signerAddress = await signer.getAddress()\n\n const reverseRegistrar = (await contracts?.getReverseRegistrar())?.connect(\n signer,\n )!\n\n if (address) {\n const publicResolver = await contracts?.getPublicResolver()!\n\n return reverseRegistrar.populateTransaction.setNameForAddr(\n address,\n signerAddress,\n resolver || publicResolver.address,\n name,\n )\n }\n\n return reverseRegistrar.populateTransaction.setName(name)\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,eAAO,gBACL,EAAE,WAAW,OAAO,GACpB,MACA;AAAA,EACE;AAAA,EACA;AACF,IAGI,CAAC,GACL;AACA,QAAM,gBAAgB,MAAM,OAAO,WAAW;AAE9C,QAAM,oBAAoB,MAAM,WAAW,oBAAoB,IAAI;AAAA,IACjE;AAAA,EACF;AAEA,MAAI,SAAS;AACX,UAAM,iBAAiB,MAAM,WAAW,kBAAkB;AAE1D,WAAO,iBAAiB,oBAAoB;AAAA,MAC1C;AAAA,MACA;AAAA,MACA,YAAY,eAAe;AAAA,MAC3B;AAAA,IACF;AAAA,EACF;AAEA,SAAO,iBAAiB,oBAAoB,QAAQ,IAAI;AAC1D;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/setRecord.ts"],
|
|
4
|
-
"sourcesContent": ["import { ENSArgs } from '..'\nimport { namehash } from '../utils/normalise'\nimport { generateSingleRecordCall, RecordInput } from '../utils/recordHelpers'\n\ntype BaseInput = {\n resolverAddress?: string\n}\n\ntype ContentHashInput = {\n record: RecordInput<'contentHash'>\n type: 'contentHash'\n}\n\ntype AddrOrTextInput = {\n record: RecordInput<'addr' | 'text'>\n type: 'addr' | 'text'\n}\n\nexport default async function (\n {\n contracts,\n provider,\n getResolver,\n signer,\n }: ENSArgs<'contracts' | 'provider' | 'getResolver' | 'signer'>,\n name: string,\n {\n record,\n type,\n resolverAddress,\n }: BaseInput & (ContentHashInput | AddrOrTextInput),\n) {\n if (!name.includes('.')) {\n throw new Error('Input is not an ENS name')\n }\n\n let resolverToUse: string\n if (resolverAddress) {\n resolverToUse = resolverAddress\n } else {\n resolverToUse = await getResolver(name)\n }\n\n if (!resolverToUse) {\n throw new Error('No resolver found for input address')\n }\n\n const resolver = (\n await contracts?.getPublicResolver(provider, resolverToUse)\n )?.connect(signer)!\n const hash = namehash(name)\n\n const call = generateSingleRecordCall(hash, resolver, type)(record)\n\n return {\n to: resolver.address,\n data: call,\n }\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,uBAAyB;AACzB,2BAAsD;AAgBtD,eAAO,kBACL;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GACA,MACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AACF,GACA;AACA,MAAI,CAAC,KAAK,SAAS,GAAG,GAAG;AACvB,UAAM,IAAI,MAAM,0BAA0B;AAAA,EAC5C;AAEA,MAAI;AACJ,MAAI,iBAAiB;AACnB,oBAAgB;AAAA,EAClB,OAAO;AACL,oBAAgB,MAAM,YAAY,IAAI;AAAA,EACxC;AAEA,MAAI,CAAC,eAAe;AAClB,UAAM,IAAI,MAAM,qCAAqC;AAAA,EACvD;AAEA,QAAM,YACJ,MAAM,WAAW,kBAAkB,UAAU,aAAa,IACzD,QAAQ,MAAM;AACjB,QAAM,WAAO,2BAAS,IAAI;AAE1B,QAAM,WAAO,+CAAyB,MAAM,UAAU,IAAI,EAAE,MAAM;AAElE,SAAO;AAAA,IACL,IAAI,SAAS;AAAA,IACb,MAAM;AAAA,EACR;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|