code: def get_secret_registration_block_by_secrethash(
              self,
              secrethash: SecretHash,
              block_identifier: BlockSpecification,
      ) -> Optional[BlockNumber]:
          
          result = self.proxy.contract.functions.getSecretRevealBlockHeight(
              secrethash,
          ).call(block_identifier=block_identifier)
  
          # Block 0 either represents the genesis block or an empty entry in the
          # secret mapping. This is important for custom genesis files used while
          # testing. To avoid problems the smart contract can be added as part of
          # the genesis file, however it's important for its storage to be
          # empty.
          if result == 0:
              return None
  
          return result
docs: Return the block number at which the secret for `secrethash` was
          registered, None if the secret was never registered.