rust: Fix args in tests to more realistic values, ts: expose args, update idl

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
This commit is contained in:
microwavedcola1 2022-04-09 17:09:06 +02:00
parent 57d9de86c8
commit 5ab48fb6e0
4 changed files with 180 additions and 10 deletions

View File

@ -72,10 +72,10 @@ impl<'a> GroupWithTokensConfig<'a> {
RegisterTokenInstruction { RegisterTokenInstruction {
token_index, token_index,
decimals: mint.decimals, decimals: mint.decimals,
util0: 0.50, util0: 0.40,
rate0: 0.06, rate0: 0.07,
util1: 0.70, util1: 0.80,
rate1: 1.3, rate1: 0.9,
max_rate: 1.50, max_rate: 1.50,
maint_asset_weight: 0.8, maint_asset_weight: 0.8,
init_asset_weight: 0.6, init_asset_weight: 0.6,

View File

@ -76,15 +76,30 @@ export class MangoClient {
mintPk: PublicKey, mintPk: PublicKey,
oraclePk: PublicKey, oraclePk: PublicKey,
tokenIndex: number, tokenIndex: number,
util0: number,
rate0: number,
util1: number,
rate1: number,
maxRate: number,
maintAssetWeight: number,
initAssetWeight: number,
maintLiabWeight: number,
initLiabWeight: number,
liquidationFee: number,
): Promise<TransactionSignature> { ): Promise<TransactionSignature> {
return await this.program.methods return await this.program.methods
.registerToken( .registerToken(
tokenIndex, tokenIndex,
0.8, util0,
0.6, rate0,
1.2, util1,
1.4, rate1,
0.02 /*TODO expose as args*/, maxRate,
maintAssetWeight,
initAssetWeight,
maintLiabWeight,
initLiabWeight,
liquidationFee,
) )
.accounts({ .accounts({
group: group.publicKey, group: group.publicKey,

View File

@ -42,7 +42,22 @@ async function main() {
const btcDevnetMint = new PublicKey(DEVNET_MINTS.get('BTC')!); const btcDevnetMint = new PublicKey(DEVNET_MINTS.get('BTC')!);
const btcDevnetOracle = new PublicKey(DEVNET_ORACLES.get('BTC')!); const btcDevnetOracle = new PublicKey(DEVNET_ORACLES.get('BTC')!);
try { try {
await client.registerToken(group, btcDevnetMint, btcDevnetOracle, 0); await client.registerToken(
group,
btcDevnetMint,
btcDevnetOracle,
0,
0.4,
0.07,
0.8,
0.9,
1.5,
0.8,
0.6,
1.2,
1.4,
0.02,
);
} catch (error) {} } catch (error) {}
// stub oracle + register token 1 // stub oracle + register token 1
@ -58,6 +73,16 @@ async function main() {
usdcDevnetMint, usdcDevnetMint,
usdcDevnetOracle.publicKey, usdcDevnetOracle.publicKey,
1, 1,
0.4,
0.07,
0.8,
0.9,
1.5,
0.8,
0.6,
1.2,
1.4,
0.02,
); );
} catch (error) {} } catch (error) {}

View File

@ -164,6 +164,26 @@ export type MangoV4 = {
"name": "tokenIndex", "name": "tokenIndex",
"type": "u16" "type": "u16"
}, },
{
"name": "util0",
"type": "f32"
},
{
"name": "rate0",
"type": "f32"
},
{
"name": "util1",
"type": "f32"
},
{
"name": "rate1",
"type": "f32"
},
{
"name": "maxRate",
"type": "f32"
},
{ {
"name": "maintAssetWeight", "name": "maintAssetWeight",
"type": "f32" "type": "f32"
@ -186,6 +206,17 @@ export type MangoV4 = {
} }
] ]
}, },
{
"name": "updateIndex",
"accounts": [
{
"name": "bank",
"isMut": true,
"isSigner": false
}
],
"args": []
},
{ {
"name": "createAccount", "name": "createAccount",
"accounts": [ "accounts": [
@ -1355,6 +1386,40 @@ export type MangoV4 = {
"defined": "I80F48" "defined": "I80F48"
} }
}, },
{
"name": "lastUpdated",
"type": "i64"
},
{
"name": "util0",
"type": {
"defined": "I80F48"
}
},
{
"name": "rate0",
"type": {
"defined": "I80F48"
}
},
{
"name": "util1",
"type": {
"defined": "I80F48"
}
},
{
"name": "rate1",
"type": {
"defined": "I80F48"
}
},
{
"name": "maxRate",
"type": {
"defined": "I80F48"
}
},
{ {
"name": "maintAssetWeight", "name": "maintAssetWeight",
"type": { "type": {
@ -2562,6 +2627,26 @@ export const IDL: MangoV4 = {
"name": "tokenIndex", "name": "tokenIndex",
"type": "u16" "type": "u16"
}, },
{
"name": "util0",
"type": "f32"
},
{
"name": "rate0",
"type": "f32"
},
{
"name": "util1",
"type": "f32"
},
{
"name": "rate1",
"type": "f32"
},
{
"name": "maxRate",
"type": "f32"
},
{ {
"name": "maintAssetWeight", "name": "maintAssetWeight",
"type": "f32" "type": "f32"
@ -2584,6 +2669,17 @@ export const IDL: MangoV4 = {
} }
] ]
}, },
{
"name": "updateIndex",
"accounts": [
{
"name": "bank",
"isMut": true,
"isSigner": false
}
],
"args": []
},
{ {
"name": "createAccount", "name": "createAccount",
"accounts": [ "accounts": [
@ -3753,6 +3849,40 @@ export const IDL: MangoV4 = {
"defined": "I80F48" "defined": "I80F48"
} }
}, },
{
"name": "lastUpdated",
"type": "i64"
},
{
"name": "util0",
"type": {
"defined": "I80F48"
}
},
{
"name": "rate0",
"type": {
"defined": "I80F48"
}
},
{
"name": "util1",
"type": {
"defined": "I80F48"
}
},
{
"name": "rate1",
"type": {
"defined": "I80F48"
}
},
{
"name": "maxRate",
"type": {
"defined": "I80F48"
}
},
{ {
"name": "maintAssetWeight", "name": "maintAssetWeight",
"type": { "type": {