Skip to content

Commit

Permalink
feat: assets in utxorpc for tx outputs (#679)
Browse files Browse the repository at this point in the history
Signed-off-by: Chris Gianelloni <wolf31o2@blinklabs.io>
  • Loading branch information
wolf31o2 authored Jul 30, 2024
1 parent dc0a114 commit 89b6a92
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 2 deletions.
19 changes: 18 additions & 1 deletion ledger/alonzo.go
Original file line number Diff line number Diff line change
Expand Up @@ -245,10 +245,27 @@ func (o AlonzoTransactionOutput) Datum() *cbor.LazyValue {
}

func (o AlonzoTransactionOutput) Utxorpc() *utxorpc.TxOutput {
var assets []*utxorpc.Multiasset
if o.Assets() != nil {
for policyId, policyData := range o.Assets().data {
var ma = &utxorpc.Multiasset{
PolicyId: policyId.Bytes(),
}
for assetName, amount := range policyData {
asset := &utxorpc.Asset{
Name: assetName.Bytes(),
OutputCoin: amount,
}
ma.Assets = append(ma.Assets, asset)
}
assets = append(assets, ma)
}
}

return &utxorpc.TxOutput{
Address: o.OutputAddress.Bytes(),
Coin: o.Amount(),
// Assets: o.Assets,
Assets: assets,
Datum: &utxorpc.Datum{
Hash: o.TxOutputDatumHash.Bytes(),
},
Expand Down
19 changes: 18 additions & 1 deletion ledger/babbage.go
Original file line number Diff line number Diff line change
Expand Up @@ -418,6 +418,23 @@ func (o BabbageTransactionOutput) Utxorpc() *utxorpc.TxOutput {
address = o.OutputAddress.Bytes()
}

var assets []*utxorpc.Multiasset
if o.Assets() != nil {
for policyId, policyData := range o.Assets().data {
var ma = &utxorpc.Multiasset{
PolicyId: policyId.Bytes(),
}
for assetName, amount := range policyData {
asset := &utxorpc.Asset{
Name: assetName.Bytes(),
OutputCoin: amount,
}
ma.Assets = append(ma.Assets, asset)
}
assets = append(assets, ma)
}
}

var datumHash []byte
if o.DatumHash() == nil {
datumHash = []byte{}
Expand All @@ -428,7 +445,7 @@ func (o BabbageTransactionOutput) Utxorpc() *utxorpc.TxOutput {
return &utxorpc.TxOutput{
Address: address,
Coin: o.Amount(),
// Assets: o.Assets(),
Assets: assets,
Datum: &utxorpc.Datum{
Hash: datumHash,
// OriginalCbor: o.Datum().Cbor(),
Expand Down

0 comments on commit 89b6a92

Please sign in to comment.