示例#1
0
 def _genesis(self, context, pub_key, genesis_payload):
     signer_key, account = self.get_account_by_pub_key(context, pub_key)
     genesis_status = get_data(context, GenesisStatus, self.zero_address)
     if not genesis_status:
         genesis_status = GenesisStatus()
     elif genesis_status.status:
         raise InvalidTransaction('Genesis is already initialized.')
     genesis_status.status = True
     account = Account()
     account.balance = genesis_payload.total_supply
     LOGGER.info(
         'Generated genesis transaction. Issued {} tokens to address {}'.
         format(genesis_payload.total_supply, signer_key))
     return {signer_key: account, self.zero_address: genesis_status}
示例#2
0
    def test_genesis_empty(self):
        TOTAL_SUPPLY = 10000
        zero_address = self.handler.make_address(ZERO_ADDRESS)

        self.send_transaction(TokenMethod.GENESIS,
                              TokenClient.get_genesis_payload(TOTAL_SUPPLY),
                              [zero_address, self.account_address1])

        self.expect_get({self.account_address1: None})
        self.expect_get({zero_address: None})

        genesis_status = GenesisStatus()
        genesis_status.status = True
        account = Account()
        account.balance = TOTAL_SUPPLY

        self.expect_set({
            self.account_address1: account,
            zero_address: genesis_status
        })

        self.expect_ok()
    def get_account_model(self, balance):
        account = Account()
        account.balance = int(balance)

        return account