def _standard_supply(self, block_height):
start_coins_per_block = self.supply_data['<STR_LIT>']<EOL>minutes_per_block = self.supply_data['<STR_LIT>']<EOL>blocks_per_era = self.supply_data['<STR_LIT>']<EOL>full_cap = self.supply_data.get('<STR_LIT>')<EOL>if not full_cap:<EOL><INDENT>full_cap = <NUM_LIT> <EOL><DEDENT>coins = <NUM_LIT:0><EOL>for era, start_block in enumerate(range(<NUM_LIT:0>, full_cap, blocks_per_era), <NUM_LIT:1>):<EOL><INDENT>end_block = start_block + blocks_per_era<EOL>reward = start_coins_per_block / float(<NUM_LIT:2> ** (era - <NUM_LIT:1>))<EOL>if block_height < end_block:<EOL><INDENT>blocks_this_era = block_height - start_block<EOL>coins += blocks_this_era * reward<EOL>break<EOL><DEDENT>coins += reward * blocks_per_era<EOL><DEDENT>return coins<EOL>
Calculate the supply of coins for a given time (in either datetime, or
block height) for coins that use the "standard" method of halfing.