def METHOD_NAME():
    assert not candidate_state['registered', ctx.caller], 'Already registered.'
    currency.transfer_from(member_cost.get(), ctx.this, ctx.caller)
    candidate_state['registered', ctx.caller] = True
    candidate_state['votes', ctx.caller] = 0
    if top_candidate.get() is None:
        top_candidate.set(ctx.caller)