Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HIP-1056: Block Streams #1056

Draft
wants to merge 29 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
8a9a980
Initial upload of the block stream HIP
rbair23 Oct 1, 2024
f56a4f5
Update with HIP #
rbair23 Oct 1, 2024
51d17a1
Merge f56a4f588c66cb85c3a76a36d743526a799925b0 into da405eec611610992…
rbair23 Oct 1, 2024
33d5768
Assigning HIP 1056 and renaming file to hip-1056.md
actions-user Oct 1, 2024
a5cff30
Added round header item image and addressed comments
Nana-EC Oct 15, 2024
dc22fd1
Add updated block stream merkle svg and rejected ideas
Nana-EC Oct 17, 2024
2b44d4e
More updates and added open Issues
Nana-EC Oct 25, 2024
1cd4d6f
Pushed comunity wording fix suggestions. Thanks Kelly, Michael T, Der…
Nana-EC Oct 25, 2024
e7d07d1
Fixed proto indents
Nana-EC Oct 31, 2024
bddecaf
Addressed comments up to 11/17/24. Thanks jsync-swirlds, poulok, stev…
Nana-EC Nov 17, 2024
b979ffd
Fixed image paths, added proof types and started a table with options
Nana-EC Nov 17, 2024
8b1f83d
Added side car and signature sto diagram and added proof scenarios
Nana-EC Nov 17, 2024
a73475c
Fix table contents
Nana-EC Nov 17, 2024
470b928
Cleaned up platform related proto
Nana-EC Nov 17, 2024
6c76dce
Cleaned up and address some comments
Nana-EC Nov 26, 2024
e72e10a
Fix background images
Nana-EC Nov 26, 2024
e79b9a4
Add protofuf asset files
Nana-EC Nov 26, 2024
79719fc
Minor changes and removed block service
Nana-EC Dec 2, 2024
49722aa
Removed block file concept and updated open issues
Nana-EC Dec 2, 2024
ecdf2ef
Fix HSCS transaction outputs
Nana-EC Dec 2, 2024
b878ace
Push fixed HSC proto
Nana-EC Dec 2, 2024
e34a186
More fixes and improvemnts in text and proto
Nana-EC Dec 2, 2024
0c4c239
Added a good chunk or proto indentation
Nana-EC Dec 3, 2024
a01b57f
Update sidecar references and Open Issues
Nana-EC Dec 3, 2024
03784ce
Added clarification regarding consistency of singleton and queue stat…
Nana-EC Dec 3, 2024
63bd540
Removed ContractStateChange as it's contents are covered by StateChan…
Nana-EC Dec 3, 2024
ec00e89
Megamap reference added to open issues
Nana-EC Dec 3, 2024
fd643cc
Moved automatic_token_associations and token_transfer_lists out of Tr…
Nana-EC Dec 3, 2024
231a137
Updated sentence on platform state changes
Nana-EC Dec 4, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 29 additions & 2 deletions HIP/hip-1056.md
Original file line number Diff line number Diff line change
Expand Up @@ -803,10 +803,18 @@ message ContractCreateOutput {
message CryptoTransferOutput {
/**
* Custom fees assessed during a CryptoTransfer.
* <p>
* These fees SHALL be present in the full transfer list for the transaction.
*/
repeated proto.AssessedCustomFee assessed_custom_fees = 1;

/**
* A list of token associations.
*/
repeated proto.TokenAssociation automatic_token_associations = 2;

/**
* A list of _non-HBAR_ token transfers, in single-entry form.
*/
repeated proto.TokenTransferList token_transfer_lists = 3;
}
```

Expand Down Expand Up @@ -857,6 +865,25 @@ message ScheduleSignOutput {
}
```

```proto
message TokenAirdropOutput {
/**
* Custom fees assessed during a TokenAirdrop.
*/
repeated proto.AssessedCustomFee assessed_custom_fees = 1;

/**
* A list of token associations.
*/
repeated proto.TokenAssociation automatic_token_associations = 2;

/**
* A list of _non-HBAR_ token transfers, in single-entry form.
*/
repeated proto.TokenTransferList token_transfer_lists = 3;
}
```

```protobuf
message UtilPrngOutput {
oneof entropy {
Expand Down
35 changes: 29 additions & 6 deletions assets/hip-1056/protobuf/stream/output/crypto_service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -79,12 +79,35 @@ message DeleteAccountOutput {}
* the original transaction.
*/
message CryptoTransferOutput {
/**
* Custom fees assessed during a CryptoTransfer.
* <p>
* These fees SHALL be present in the full transfer list for the transaction.
*/
repeated proto.AssessedCustomFee assessed_custom_fees = 1;
/**
* Custom fees assessed during a CryptoTransfer.
* <p>
* These fees SHALL be present in the full transfer list for the transaction.
*/
repeated proto.AssessedCustomFee assessed_custom_fees = 1;

/**
* A list of token associations.
* <p>
* This field SHALL list all token associations created automatically
* while handling this transaction.
*/
repeated proto.TokenAssociation automatic_token_associations = 2;

/**
* A list of _non-HBAR_ token transfers, in single-entry form.
* <p>
* This SHALL include all _non-HBAR_ token transfers completed as a
* result of this transaction.<br/>
* This MUST include, at least,
* <ul>
* <li>Each source and recipient of custom fees</li>
* <li>All transfers directly performed by this transaction</li>
* <li>Any transfers performed by a smart contract call associated
* with this transaction</li>
* </ul>
*/
repeated proto.TokenTransferList token_transfer_lists = 3;
}

/**
Expand Down
35 changes: 29 additions & 6 deletions assets/hip-1056/protobuf/stream/output/token_service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -171,10 +171,33 @@ message UpdateTokenNftsOutput {}
* the original transaction.
*/
message TokenAirdropOutput {
/**
* Custom fees assessed during a TokenAirdrop.
* <p>
* These fees SHALL be present in the full transfer list for the transaction.
*/
repeated proto.AssessedCustomFee assessed_custom_fees = 1;
/**
* Custom fees assessed during a TokenAirdrop.
* <p>
* These fees SHALL be present in the full transfer list for the transaction.
*/
repeated proto.AssessedCustomFee assessed_custom_fees = 1;

/**
* A list of token associations.
* <p>
* This field SHALL list all token associations created automatically
* while handling this transaction.
*/
repeated proto.TokenAssociation automatic_token_associations = 2;

/**
* A list of _non-HBAR_ token transfers, in single-entry form.
* <p>
* This SHALL include all _non-HBAR_ token transfers completed as a
* result of this transaction.<br/>
* This MUST include, at least,
* <ul>
* <li>Each source and recipient of custom fees</li>
* <li>All transfers directly performed by this transaction</li>
* <li>Any transfers performed by a smart contract call associated
* with this transaction</li>
* </ul>
*/
repeated proto.TokenTransferList token_transfer_lists = 3;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to check this. I recall something about token transfers being possible in a fairly wide range of transactions (which is why it ended up in the transaction result).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe the newest note was TransactionResult should only contain items that are applicable to all transactions, not some (even if the majority). You also noted that filtering logic wouldn't work well if this isn't adhered too.
Is there flexibility on this?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was more noting that we may need to add the token transfer lists to a few more places.

}
27 changes: 2 additions & 25 deletions assets/hip-1056/protobuf/stream/output/transaction_result.proto
Original file line number Diff line number Diff line change
Expand Up @@ -117,43 +117,20 @@ message TransactionResult {
*/
proto.TransferList transfer_list = 7;

/**
* A list of _non-HBAR_ token transfers, in single-entry form.
* <p>
* This SHALL include all _non-HBAR_ token transfers completed as a
* result of this transaction.<br/>
* This MUST include, at least,
* <ul>
* <li>Each source and recipient of custom fees</li>
* <li>All transfers directly performed by this transaction</li>
* <li>Any transfers performed by a smart contract call associated
* with this transaction</li>
* </ul>
*/
repeated proto.TokenTransferList token_transfer_lists = 8;

/**
* A list of token associations.
* <p>
* This field SHALL list all token associations created automatically
* while handling this transaction.
*/
repeated proto.TokenAssociation automatic_token_associations = 9;

/**
* A list of accounts and amounts.
* <p>
* This SHALL list all accounts paid staking rewards as a result
* of this transaction.<br/>
* Each entry SHALL contain both the account and the amount paid.
*/
repeated proto.AccountAmount paid_staking_rewards = 10;
repeated proto.AccountAmount paid_staking_rewards = 8;

/**
* A congestion pricing multiplier.
* <p>
* This SHALL be the multiplier that is applied to the transaction
* fees charged for this transaction.
*/
uint64 congestion_pricing_multiplier = 11;
uint64 congestion_pricing_multiplier = 9;
}
Loading