-
Notifications
You must be signed in to change notification settings - Fork 361
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: feegrant module for blobs submission via DA Light node #1500
Conversation
Warning Rate limit exceeded@jcstein has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 22 minutes and 8 seconds before requesting another review. How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. WalkthroughThis update introduces documentation for the FeeGrant module on Celestia's Mocha testnet, enabling third-party accounts to cover transaction fees for data availability node accounts during blob submissions. The addition enhances developer guidance for utilizing Celestia's features more efficiently. Changes
Assessment against linked issues
🌈🐰 Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
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.
Review Status
Actionable comments generated: 3
Configuration used: CodeRabbit UI
Files selected for processing (1)
- developers/feegrant-for-blobs.md (1 hunks)
Additional comments (2)
developers/feegrant-for-blobs.md (2)
- 1-1: The title "FeeGrant Module for Blobs submission" might be more accurately written as "FeeGrant Module for Blob Submission" to maintain consistency in noun form.
- 5-7: Consider rephrasing "Celestia's mocha testnet chain" to "the Celestia mocha testnet chain" for grammatical correctness.
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.
Review Status
Actionable comments generated: 1
Configuration used: CodeRabbit UI
Files selected for processing (2)
- .vitepress/config.ts (1 hunks)
- developers/feegrant-for-blobs.md (1 hunks)
Additional comments (4)
developers/feegrant-for-blobs.md (3)
- 21-26: The phrase "In order to" can be simplified to "To" for conciseness without losing meaning. Additionally, consider using "initialize" instead of "initialise" to maintain consistency with American English spelling in technical documentation.
- 23-23: The term "third-party" when used as a noun should be "third party" without the hyphen. When used as an adjective before a noun, "third-party" is correct. Please review the usage throughout the document to ensure consistency.
- 48-49: There seems to be a formatting issue with the example transaction link. Ensure that the markdown link is correctly formatted to be clickable.
.vitepress/config.ts (1)
- 511-513: The addition of the "FeeGrant module for blobs submission" to the sidebar is a good enhancement for the documentation's navigability. Ensure that the link
/developers/feegrant-for-blobs
correctly leads to the newly added documentation page.
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.
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.
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.
This PR also covers a basic example of #1492 |
cannot repro successful use of feegrant from celestia-node. blob is paid for from 10000utia on celestia-node
|
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.
Review Status
Actionable comments generated: 1
Configuration used: CodeRabbit UI
Files selected for processing (1)
- developers/feegrant-for-blobs.md (1 hunks)
Learnings (1)
developers/feegrant-for-blobs.md (1)
The term "third-party" should be hyphenated when used as an adjective before a noun, as in "third-party account."
Additional comments (2)
developers/feegrant-for-blobs.md (2)
- 20-25: The introduction clearly explains the FeeGrant module's purpose. However, consider adding a brief explanation or link to further information on initializing the DA node for new users.
- 47-48: The example transaction link is correctly formatted and provides a practical demonstration of the FeeGrant module in action.
notes from @vgonkivs added in c335d08: I’ve just merged the fee granting pr. Some TLDR for you for docs updating:
The granter address will be stored until the next run of your local node. So, in case the granter revokes permission, you will have to restart the node without this flag. I guess, important to know that such transactions(with granter) will consume more gas than the regular ones. celestia state grant-fee celestia12psg90lwvxdktnqerr2p5mxuw2v3je497uv6tj 2000 1000000--node.store ~/.celestia-light-mocha-4/ to revoke: celestia state revoke-grant-fee celestia12psg90lwvxdktnqerr2p5mxuw2v3je497uv6tj 2000 1000000 --node.store ~/.celestia-light-mocha-4/ to run the node in a grantee mode: celestia full start --core.ip full.consensus.mocha-4.celestia-mocha.com --p2p.network=mocha --granter.address=celestia1v96seg23ehfhfjwk0wcy3s5y0krptt284vh236 This PR also added a gasMultiplier, for the transactions with the Options. Not sure if is it relevant for docs or not. |
when trying to submit a blob, i first have: celestia blob submit 0x42690c204d39600fddd3 0x676d
{
"result": "rpc error: code = Unknown desc = timed out waiting for tx to be included in a block"
} and then >12 seconds later, submitting again fails with: celestia blob submit 0x42690c204d39600fddd3 0x676d --gas.price 0.02
{
"result": ": incorrect account sequence"
} balance before transaction: {
"result": {
"denom": "utia",
"amount": "9840"
}
} retrying later once tx is out of mempool: celestia blob submit 0x42690c204d39600fddd3 0x676d --gas.price 0.02
{
"result": {
"height": 1635793,
"commitments": [
"0MFhYKQUi2BU+U1jxPzG7QY2BVV1lb3kiU+zAK7nUiY="
]
}
} balance after transaction, clearly deducted from grantee's balance instead of granter's balance: celestia state balance
{
"result": {
"denom": "utia",
"amount": "8084"
}
} |
@vgonkivs is this just due to the transaction size being larger? or something else? |
after a few blobs, the balance of celestia10f7nxmcjptwxldjnrrqumfzkxv5l96gnzg2267 is 104 utia trying to post a blob, from an account with a feegrant (running without the special flag), fails: celestia blob submit 0x42690c204d39600fddd3 0x676d
{
"result": ": insufficient funds"
} I will try this now with celestia-node special flag and only using celestia-node, not combo of celestia-app/node |
Yes, because we are specifying the granter via an additional option. |
for @vgonkivs vis. i was testing the previous UX and will next test the UX with commands from your advice above |
To use granter, you need to run your node with a specific flag, otherwise, you will have to pay for the tx. |
celestia light start --p2p.network mocha --core.ip rpc-mocha.pops.one --keyring.accname notjosh --granter.address=celestia1h08dla2jg2529n6vjd7pxsd3gla5dvhptkve53
|
@Bidon15 I plan to remove usage of celestia-app from this PR and just use celestia-node, as it works that way |
It is also possible to send a fee grant tx to the app directly and then run a node with |
The reason why we've added this flag is to allow you at some point stop using granter money(if you want) |
awesome. incoming commit with updates to show the new user flow with celestia-node as well as an optional bit on making the allowance tx from celestia-app @vgonkivs can you help me understand what changes UX wise for this? i can't find it in the menu:
thank you 🙌 |
|
revoking the feegrant also shows an
|
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.
this requires a few changes on node i think before this should end up in docs, but it works
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.
approving ahead of this being live on Mocha next week
Overview
Works:
Resolves #1470
Checklist
Summary by CodeRabbit