Skip to content

solana flash loans that work by inserting two instructions into any arbitrary transaction clientside

Notifications You must be signed in to change notification settings

edgarpavlovsky/adobe

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

adobe flash loans

i ate a weed gummy last week and remembered instruction introspection was a thing and wanted to try and write a flash loan program using it instead of cpi calls

you use this by calling borrow in app/api.js and it returns two instructions, borrow and repay. you put them in any transaction you want, bracketing whatever action you want a loan for. the borrow instruction checks there exists a valid repay instruction before lending funds

annoyingly the repay instruction requires a wallet signature. i can prolly do away with this when the new transaction format lands, i didnt want to take up more bytes requiring a third instruction (spl approve)

i built it by writing it. you can look at the code it was not hard it took like a couple days. the challenges i ran into was sometimes i had other things to do. blah blah blah

i think a good ux for people not importing this as a lib would be if it was a feature in the wallet. you could have a button when you go to sign the transaction that would add in the flash loan instructions for whatever desired amount. this would be good ux for the guard instruction concept too, i think this kinda stuff will be a lot more interesting with the new transaction format

uhhh i didnt add any fees or ponzinomics bullshit so there is no reason why anyone would want to deposit funds into this if i deployed on mainnet. i think probably you need to offer normal overcollat loans to entice capital and then just offer flash loans as a feature on top. i dont really wanna make a whole company or whatever just for this so im just releasing it for a picocrumb of clout

About

solana flash loans that work by inserting two instructions into any arbitrary transaction clientside

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 55.1%
  • Rust 44.9%