{"body":"def decoy_selection_validation(ring_member_ages_days, age_threshold_days):\n    min_age = min(ring_member_ages_days)\n    ring_member_ages_shifted = [x - min_age for x in ring_member_ages_days]\n    med_rel_age = np.median(ring_member_ages_shifted) # This allows delayed broadcast :- )\n    \n    print('Raw ring member ages:')\n    print(ring_member_ages_days)\n    print('\\nOffset removed: (to allow delayed broadcast)')\n    print(ring_member_ages_shifted)\n    print('\\nMedian relative age')\n    print(med_rel_age)\n    \n    if med_rel_age <= age_threshold_days:\n        print('\\nTransaction may have used the correct decoy selection algorithm')\n        valid_txn = 1\n    \n    if med_rel_age > age_threshold_days:\n        print('\\n'+50*'#'+'\\nThis transaction was NOT generated with the correct decoy selection algorithm')\n        valid_txn = 0\n        \n    return valid_txn","name":"","extension":"txt","url":"https://www.irccloud.com/pastebin/BChX6gR9","modified":1591809468,"id":"BChX6gR9","size":868,"lines":21,"own_paste":false,"theme":"","date":1591809468}