예제 #1
0
 def support(cls,
             claim_name: str,
             claim_id: str,
             amount: int,
             holding_address: str,
             funding_accounts: List['Account'],
             change_account: 'Account',
             signing_channel: Output = None):
     ledger, _ = cls.ensure_all_have_same_ledger_and_wallet(
         funding_accounts, change_account)
     if signing_channel is not None:
         support = Support()
         support.emoji = '👍'
         support_output = Output.pay_support_data_pubkey_hash(
             amount, claim_name, claim_id, support,
             ledger.address_to_hash160(holding_address))
         support_output.sign(signing_channel, b'placeholder txid:nout')
     else:
         support_output = Output.pay_support_pubkey_hash(
             amount, claim_name, claim_id,
             ledger.address_to_hash160(holding_address))
     return cls.create([], [support_output],
                       funding_accounts,
                       change_account,
                       sign=False)
예제 #2
0
 def support(self) -> Support:
     if self.is_support_data:
         if not isinstance(self.script.values['support'], Support):
             self.script.values['support'] = Support.from_bytes(
                 self.script.values['support'])
         return self.script.values['support']
     raise ValueError(
         'Only supports with data can be represented as Supports.')