sequnace enforcer
This commit is contained in:
parent
b17c14db0b
commit
21eb869a51
|
@ -36,7 +36,7 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@blockworks-foundation/mango-feeds": "0.1.7",
|
||||
"@blockworks-foundation/mango-v4": "0.30.0",
|
||||
"@blockworks-foundation/mango-v4": "0.31.2",
|
||||
"@blockworks-foundation/mango-v4-settings": "0.14.24",
|
||||
"@glitchful-dev/sol-apy-sdk": "3.0.2",
|
||||
"@headlessui/react": "1.6.6",
|
||||
|
|
|
@ -138,7 +138,7 @@ export const unstakeAndSwap = async (
|
|||
(stakeAmountToRepay
|
||||
? toNativeI80F48(stakeAmountToRepay, stakeBank.mintDecimals)
|
||||
: borrowed.abs().div(stakeBank.getAssetPrice())
|
||||
).toNumber() * 1.002,
|
||||
).toNumber() * 1.01,
|
||||
),
|
||||
Math.ceil(toNativeI80F48(0.0001, stakeBank.mintDecimals).toNumber()),
|
||||
)
|
||||
|
@ -183,6 +183,7 @@ export const unstakeAndSwap = async (
|
|||
const [swapIxs, alts] = await createSwapIxs({
|
||||
client: client,
|
||||
group: group,
|
||||
mangoAccount: mangoAccount,
|
||||
mangoAccountPk: mangoAccount.publicKey,
|
||||
owner: payer,
|
||||
inputMintPk: stakeBank.mint,
|
||||
|
@ -258,6 +259,7 @@ export const simpleSwap = async (
|
|||
const [swapIxs, alts] = await createSwapIxs({
|
||||
client: client,
|
||||
group: group,
|
||||
mangoAccount: mangoAccount,
|
||||
mangoAccountPk: mangoAccount.publicKey,
|
||||
owner: payer,
|
||||
inputMintPk: inputBank?.mint,
|
||||
|
@ -384,7 +386,8 @@ export const stakeAndCreate = async (
|
|||
const [swapIxs, alts] = await createSwapIxs({
|
||||
client: client,
|
||||
group: group,
|
||||
mangoAccountPk,
|
||||
mangoAccount,
|
||||
mangoAccountPk: mangoAccountPk,
|
||||
owner: payer,
|
||||
inputMintPk: borrowBank.mint,
|
||||
amountIn: borrowAmount,
|
||||
|
@ -566,9 +569,10 @@ const createDepositIx = async (
|
|||
const createSwapIxs = async ({
|
||||
client,
|
||||
group,
|
||||
mangoAccountPk,
|
||||
mangoAccount,
|
||||
owner,
|
||||
inputMintPk,
|
||||
mangoAccountPk,
|
||||
amountIn,
|
||||
outputMintPk,
|
||||
userDefinedInstructions,
|
||||
|
@ -580,6 +584,7 @@ const createSwapIxs = async ({
|
|||
}: {
|
||||
client: MangoClient
|
||||
group: Group
|
||||
mangoAccount: MangoAccount | undefined
|
||||
mangoAccountPk: PublicKey
|
||||
owner: PublicKey
|
||||
inputMintPk: PublicKey
|
||||
|
@ -591,7 +596,6 @@ const createSwapIxs = async ({
|
|||
swapHealthRemainingAccounts?: PublicKey[]
|
||||
}): Promise<[TransactionInstruction[], AddressLookupTableAccount[]]> => {
|
||||
const swapExecutingWallet = owner
|
||||
|
||||
const inputBank: Bank = group.getFirstBankByMint(inputMintPk)
|
||||
const outputBank: Bank = group.getFirstBankByMint(outputMintPk)
|
||||
|
||||
|
@ -715,6 +719,15 @@ const createSwapIxs = async ({
|
|||
])
|
||||
.instruction()
|
||||
|
||||
const sequenceCheckIx = await client.program.methods
|
||||
.sequenceCheck(mangoAccount?.sequenceNumber || 0)
|
||||
.accounts({
|
||||
group: group.publicKey,
|
||||
account: mangoAccountPk,
|
||||
owner: (client.program.provider as AnchorProvider).wallet.publicKey,
|
||||
})
|
||||
.instruction()
|
||||
|
||||
const flashLoanBeginIx = await client.program.methods
|
||||
.flashLoanBegin([
|
||||
toNative(amountIn, inputBank.mintDecimals),
|
||||
|
@ -741,6 +754,7 @@ const createSwapIxs = async ({
|
|||
return [
|
||||
[
|
||||
...preInstructions,
|
||||
sequenceCheckIx,
|
||||
flashLoanBeginIx,
|
||||
...userDefinedInstructions.filter((ix) => ix.keys.length > 2),
|
||||
flashLoanEndIx,
|
||||
|
|
|
@ -68,10 +68,10 @@
|
|||
bn.js "^5.2.1"
|
||||
eslint-config-prettier "^9.0.0"
|
||||
|
||||
"@blockworks-foundation/mango-v4@0.30.0":
|
||||
version "0.30.0"
|
||||
resolved "https://registry.yarnpkg.com/@blockworks-foundation/mango-v4/-/mango-v4-0.30.0.tgz#455484976f1dce181cd5bfbec5a0aced527d274d"
|
||||
integrity sha512-2B4i/fGk5SyKkbdQVrzpEMdOArT0MzY6ksHHjrUkQsWYe/bBxm29avYkrez3P3zTVNLvnE/2yQn4AIlsKlYGfA==
|
||||
"@blockworks-foundation/mango-v4@0.31.2":
|
||||
version "0.31.2"
|
||||
resolved "https://registry.yarnpkg.com/@blockworks-foundation/mango-v4/-/mango-v4-0.31.2.tgz#fae28a95fb454da394504ad04b61b21d4a926695"
|
||||
integrity sha512-VR6vyDv1Bv7zW3+shhDdd7c2CC5Ot6xsq45+BOWIZCq6FTL4NaNbjMiQp47qr3zlQstcAsCGL2v8B9qbbdVzGQ==
|
||||
dependencies:
|
||||
"@blockworks-foundation/mango-v4-settings" "0.14.24"
|
||||
"@blockworks-foundation/mangolana" "0.0.17"
|
||||
|
|
Loading…
Reference in New Issue