v0.21.0 ts client (#347)

* --wip-- [skip ci]

* adjust instructions to new lib

* update settings lib

* fixes

* fix dedupes

* update settings lib

* fix

* fix

---------

Co-authored-by: Adrian Brzeziński <a.brzezinski94@gmail.com>
Co-authored-by: saml33 <slam.uke@gmail.com>
This commit is contained in:
microwavedcola1 2023-12-14 01:58:36 +01:00 committed by GitHub
parent 30f05cd18e
commit b5b54412ce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 49 additions and 70 deletions

View File

@ -162,9 +162,13 @@ const ListMarket = ({ goBack }: { goBack: () => void }) => {
setProposing(true)
const index = proposals ? Object.values(proposals).length : 0
const proposalTx = []
const oraclePriceBand = 0.5
const registerMarketix = await client!.program.methods
.serum3RegisterMarket(advForm.marketIndex, advForm.marketName)
.serum3RegisterMarket(
advForm.marketIndex,
advForm.marketName,
oraclePriceBand,
)
.accounts({
group: group!.publicKey,
admin: MANGO_DAO_WALLET,

View File

@ -10,7 +10,7 @@ import {
JUPITER_REFERRAL_PK,
USDC_MINT,
} from 'utils/constants'
import { AccountMeta, PublicKey, SYSVAR_RENT_PUBKEY } from '@solana/web3.js'
import { PublicKey, SYSVAR_RENT_PUBKEY } from '@solana/web3.js'
import { useWallet } from '@solana/wallet-adapter-react'
import { OPENBOOK_PROGRAM_ID, toNative } from '@blockworks-foundation/mango-v4'
import {
@ -466,12 +466,6 @@ const ListToken = ({ goBack }: { goBack: () => void }) => {
return
}
const mint = new PublicKey(advForm.mintPk)
const [mintInfoPk] = PublicKey.findProgramAddressSync(
[Buffer.from('MintInfo'), group!.publicKey.toBuffer(), mint.toBuffer()],
client.programId,
)
const proposalTx = []
if (Object.keys(tierPreset).length) {
@ -510,6 +504,10 @@ const ListToken = ({ goBack }: { goBack: () => void }) => {
Number(tierPreset.tokenConditionalSwapTakerFeeRate),
Number(tierPreset.tokenConditionalSwapMakerFeeRate),
Number(tierPreset.flashLoanSwapFeeRate),
Number(tierPreset.interestCurveScaling),
Number(tierPreset.interestTargetUtilization),
tierPreset.groupInsuranceFund,
new BN(tierPreset.depositLimit),
)
.accounts({
admin: MANGO_DAO_WALLET,
@ -521,54 +519,6 @@ const ListToken = ({ goBack }: { goBack: () => void }) => {
})
.instruction()
proposalTx.push(registerTokenIx)
const editIx = await client!.program.methods
.tokenEdit(
null,
null,
tierPreset.insuranceFound ? null : false,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
false,
false,
null,
null,
null,
null,
null,
null,
)
.accounts({
oracle: new PublicKey(advForm.oraclePk),
admin: MANGO_DAO_WALLET,
group: group!.publicKey,
mintInfo: mintInfoPk,
})
.remainingAccounts([
{
pubkey: new PublicKey(advForm.baseBankPk),
isWritable: true,
isSigner: false,
} as AccountMeta,
])
.instruction()
if (!tierPreset.insuranceFound) {
proposalTx.push(editIx)
}
} else {
const trustlessIx = await client!.program.methods
.tokenRegisterTrustless(Number(advForm.tokenIndex), advForm.name)
@ -587,7 +537,11 @@ const ListToken = ({ goBack }: { goBack: () => void }) => {
if (listingTier !== 'UNTRUSTED' && !advForm.listForSwapOnly) {
const registerMarketix = await client!.program.methods
.serum3RegisterMarket(Number(advForm.marketIndex), advForm.marketName)
.serum3RegisterMarket(
Number(advForm.marketIndex),
advForm.marketName,
tierPreset.oraclePriceBand,
)
.accounts({
group: group!.publicKey,
admin: MANGO_DAO_WALLET,

View File

@ -160,7 +160,9 @@ const DashboardSuggestedValues = ({
: fieldsToChange.maxStalenessSlots,
}
: null,
null,
fieldsToChange.groupInsuranceFund === undefined
? null
: fieldsToChange.groupInsuranceFund,
isThereNeedOfSendingRateConfigs
? {
adjustmentFactor:
@ -216,6 +218,17 @@ const DashboardSuggestedValues = ({
getNullOrVal(fieldsToChange.tokenConditionalSwapTakerFeeRate),
getNullOrVal(fieldsToChange.tokenConditionalSwapMakerFeeRate),
getNullOrVal(fieldsToChange.loanFeeRate),
getNullOrVal(fieldsToChange.interestCurveScaling),
getNullOrVal(fieldsToChange.interestTargetUtilization),
null,
null,
null,
null,
false,
false,
getNullOrVal(fieldsToChange.depositLimit)
? new BN(fieldsToChange.depositLimit!)
: null,
)
.accounts({
group: group!.publicKey,

View File

@ -23,8 +23,8 @@
"dependencies": {
"@blockworks-foundation/mango-feeds": "0.1.7",
"@blockworks-foundation/mango-mints-redemption": "^0.0.10",
"@blockworks-foundation/mango-v4": "0.20.10",
"@blockworks-foundation/mango-v4-settings": "0.2.26",
"@blockworks-foundation/mango-v4": "0.21.0",
"@blockworks-foundation/mango-v4-settings": "0.3.1",
"@blockworks-foundation/mangolana": "0.0.1-beta.15",
"@headlessui/react": "1.6.6",
"@heroicons/react": "2.0.18",

View File

@ -272,7 +272,7 @@ export const formatSuggestedValues = (
| Record<string, never>
| Omit<
ListingPreset,
'name' | 'netBorrowLimitWindowSizeTs' | 'insuranceFound'
'name' | 'netBorrowLimitWindowSizeTs' | 'groupInsuranceFund'
>,
) => {
return {

View File

@ -42,18 +42,26 @@
keccak256 "^1.0.6"
merkletreejs "^0.3.11"
"@blockworks-foundation/mango-v4-settings@0.2.26", "@blockworks-foundation/mango-v4-settings@^0.2.16":
version "0.2.26"
resolved "https://registry.yarnpkg.com/@blockworks-foundation/mango-v4-settings/-/mango-v4-settings-0.2.26.tgz#9e03599fc838d31c2b1dad6cf86e912ab77462ab"
integrity sha512-xOcLGGpcZYF5D7Gn+0Q4fsYq3G5BHbl9f9PFo2MzIKat0bOtelnxlovx5Gf8sggy5KzESrQRf8tmvnHV0QsgZQ==
"@blockworks-foundation/mango-v4-settings@0.3.1":
version "0.3.1"
resolved "https://registry.yarnpkg.com/@blockworks-foundation/mango-v4-settings/-/mango-v4-settings-0.3.1.tgz#0c1c0458a384346da18d55b1051c910e4cf6bd91"
integrity sha512-dADriziRtDliXOUFs6PdmUOu2trT4KrRHJsmlGw1BolfM5CafoFT85pDutZNHK5Vy1jn1TKqewyATREgTToH+w==
dependencies:
bn.js "^5.2.1"
eslint-config-prettier "^9.0.0"
"@blockworks-foundation/mango-v4@0.20.10":
version "0.20.10"
resolved "https://registry.yarnpkg.com/@blockworks-foundation/mango-v4/-/mango-v4-0.20.10.tgz#cf2505d4eab3914adfbcc926cfbf60f5f5b66dad"
integrity sha512-T8EDdM8Zv6rYfqQPyX/Moya6jw04CWFLTDOruSj8OHFxeopMfInear/GNRHV4DtUwClMRp265fwp/TiwuTGULg==
"@blockworks-foundation/mango-v4-settings@^0.2.16":
version "0.2.29"
resolved "https://registry.yarnpkg.com/@blockworks-foundation/mango-v4-settings/-/mango-v4-settings-0.2.29.tgz#abc3c346eac8606247ae0039b43705ba4ebd10bc"
integrity sha512-bD2Zb5taTmRfuoe8jvnwnvE6CfVWXrrT1/kryZvhNiHvAlVAROEM3vyQYVx3gikLMMcCR0yTYf5EXHJaNH9AWg==
dependencies:
bn.js "^5.2.1"
eslint-config-prettier "^9.0.0"
"@blockworks-foundation/mango-v4@0.21.0":
version "0.21.0"
resolved "https://registry.yarnpkg.com/@blockworks-foundation/mango-v4/-/mango-v4-0.21.0.tgz#b3959e201817222da60e8a6d3ba84147242e1439"
integrity sha512-UIF+hQGSsLFKoRAPWolZgPef/r5WB1s9wBdTqLHlU1oUAWXcOw1ZzpSvPzyF2RosGm5k/NdYsL1ONwENSWxl6A==
dependencies:
"@blockworks-foundation/mango-v4-settings" "^0.2.16"
"@coral-xyz/anchor" "^0.28.1-beta.2"