Skip to main content
Search type Search syntax
Tags [tag]
Exact "words here"
Author user:1234
user:me (yours)
Score score:3 (3+)
score:0 (none)
Answers answers:3 (3+)
answers:0 (none)
isaccepted:yes
hasaccepted:no
inquestion:1234
Views views:250
Code code:"if (foo != bar)"
Sections title:apples
body:"apples oranges"
URL url:"*.example.com"
Saves in:saves
Status closed:yes
duplicate:no
migrated:no
wiki:no
Types is:question
is:answer
Exclude -[tag]
-apples
For more details on advanced search visit our help page
Results tagged with
Search options not deleted user 196
3 votes
1 answer
160 views

What is the real danger of allowing non-canonical bump PDAs?

How exactly would someone create a fake non-canonical bump PDA if PDAs + their addresses are owned and generated by the program, assuming you're using Anchor's seeds constraint? …
2 votes
1 answer
769 views

Necessary to pass bump for PDA in the instruction data when using Anchor?

I've tried omitting the caller-supplied bump parameter, using just #[account(seeds = [...], bump)] and passing a non-canonical PDA address, and Anchor correctly throws an error Cross-program invocation … So it seems like having the caller-supplied bump makes no difference to checking if the PDA is canonical. Furthermore you can always retrieve the canonical bump via ctx.bumps.get("<account>"). …
6 votes
Accepted

Necessary to pass bump for PDA in the instruction data when using Anchor?

Okay so got an answer from the man/myth/legend Armani: Never pass bump via instruction data init should not specify a bump explicitly Recommended: store bump in PDA Recommended: subsequent use of seeds …
Richard's user avatar
  • 630