| 391 | OUTPOINT_INDEX_MASK = 0x3fffffff |
| 392 | |
| 393 | class CAssetIssuance(): |
| 394 | __slots__ = ("assetBlindingNonce", "assetEntropy", "nAmount", "nInflationKeys") |
| 395 | |
| 396 | def __init__(self): |
| 397 | self.assetBlindingNonce = 0 |
| 398 | self.assetEntropy = 0 |
| 399 | self.nAmount = CTxOutValue() |
| 400 | self.nInflationKeys = CTxOutValue() |
| 401 | |
| 402 | def isNull(self): |
| 403 | return self.nAmount.isNull() and self.nInflationKeys.isNull() |
| 404 | |
| 405 | def deserialize(self, f): |
| 406 | self.assetBlindingNonce = deser_uint256(f) |
| 407 | self.assetEntropy = deser_uint256(f) |
| 408 | self.nAmount = CTxOutValue() |
| 409 | self.nAmount.deserialize(f) |
| 410 | self.nInflationKeys = CTxOutValue() |
| 411 | self.nInflationKeys.deserialize(f) |
| 412 | |
| 413 | def serialize(self): |
| 414 | r = b"" |
| 415 | r += ser_uint256(self.assetBlindingNonce) |
| 416 | r += ser_uint256(self.assetEntropy) |
| 417 | r += self.nAmount.serialize() |
| 418 | r += self.nInflationKeys.serialize() |
| 419 | return r |
| 420 | |
| 421 | # serialization of asset issuance used in taproot sighash |
| 422 | def taphash_asset_issuance_serialize(self): |
| 423 | if self.isNull(): |
| 424 | return b'\x00' |
| 425 | r = b'' |
| 426 | r += self.serialize() |
| 427 | return r |
| 428 | |
| 429 | def __repr__(self): |
| 430 | return "CAssetIssuance(assetBlindingNonce=%064x assetEntropy=%064x nAmount=%s nInflationKeys=%s)" % (self.assetBlindingNonce, self.assetEntropy, self.nAmount.vchCommitment, self.nInflationKeys.vchCommitment) |
| 431 | |
| 432 | class CTxIn: |
| 433 | __slots__ = ("nSequence", "prevout", "scriptSig", "m_is_pegin", "assetIssuance") |
no outgoing calls
no test coverage detected