-
Notifications
You must be signed in to change notification settings - Fork 218
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
feat: new template with coinbase call #6226
feat: new template with coinbase call #6226
Conversation
Test Results (CI) 3 files 120 suites 34m 21s ⏱️ Results for commit d026314. ♻️ This comment has been updated with latest results. |
Test Results (Integration tests) 2 files + 2 11 suites +11 23m 54s ⏱️ + 23m 54s For more details on these failures, see this check. Results for commit d026314. ± Comparison against base commit e0ad342. ♻️ This comment has been updated with latest results. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it is better to just use one call instead of getting the block template, and then adding the coinbases.
One problem is that the fees might be different. In this case I would suggest adding all the fees to the first address supplied.
If we would prefer to do the fees fairly, then we can keep the 2 call approach, but I would suggest setting the timestamp at the same time then.
for coinbase in coinbases { | ||
let address = TariAddress::from_hex(&coinbase.address) | ||
.map_err(|e| obscure_error_if_true(report_error_flag, Status::internal(e.to_string())))?; | ||
let range_proof_type = if coinbase.revealed_value_proof { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should only allow revealed values
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we do that, I think we need to make it a consensus rule with this
)) | ||
}, | ||
}; | ||
let gen_hash = handler |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where does this get used?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In merge mining, its used as the unique identifier for tari
* development: fix!: avoid `Encryptable` domain collisions (tari-project#6275) ci(fix): docker image build fix and ci improvements (tari-project#6270) feat: keep smt memory (tari-project#6265) feat: show warning when GRPC method is disallowed (tari-project#6246) fix(chat): metadata panic (tari-project#6247) feat: add monerod detection as an option to the merge mining proxy (tari-project#6248) chore(deps): bump h2 from 0.3.24 to 0.3.26 (tari-project#6250) feat: improve lmdb dynamic growth (tari-project#6242) feat: allow wallet type from db to have preference (tari-project#6245) feat: prevent mempool panic (tari-project#6239) ci: bump nightly version (tari-project#6241) feat: add validation for zero confirmation block sync (tari-project#6237) feat: new template with coinbase call (tari-project#6226) feat: improve wallet sql queries (tari-project#6232) chore: remove ahash as dependancy (tari-project#6238) feat: add dynamic growth to lmdb (tari-project#6231) chore(deps): bump borsh from 0.10.3 to 1.0.0 in /applications/minotari_ledger_wallet (tari-project#6236)
* development: fix!: avoid `Encryptable` domain collisions (tari-project#6275) ci(fix): docker image build fix and ci improvements (tari-project#6270) feat: keep smt memory (tari-project#6265) feat: show warning when GRPC method is disallowed (tari-project#6246) fix(chat): metadata panic (tari-project#6247) feat: add monerod detection as an option to the merge mining proxy (tari-project#6248) chore(deps): bump h2 from 0.3.24 to 0.3.26 (tari-project#6250) feat: improve lmdb dynamic growth (tari-project#6242) feat: allow wallet type from db to have preference (tari-project#6245) feat: prevent mempool panic (tari-project#6239) ci: bump nightly version (tari-project#6241) feat: add validation for zero confirmation block sync (tari-project#6237) feat: new template with coinbase call (tari-project#6226) feat: improve wallet sql queries (tari-project#6232) chore: remove ahash as dependancy (tari-project#6238) feat: add dynamic growth to lmdb (tari-project#6231) chore(deps): bump borsh from 0.10.3 to 1.0.0 in /applications/minotari_ledger_wallet (tari-project#6236)
Description
This adds a new grpc call to take a block template and add coinbases to it as desired. The callee is required to ensure that the coinbases amounts provided are correct and per consensus.
Motivation and Context
This is to allow external miners to create a block with 1 sided coinbase utxo's to be added without having to create them as this necessitates the inclusion of all Tari crypto libraries.
How Has This Been Tested?
New unit and cucumber tests