JetControl: {
accounts: [{
name: "authority";
type: {
fields: [{
name: "seed";
type: {
array: ["u8", 1];
};
}];
kind: "struct";
};
}];
constants: [{
name: "FEE_DESTINATION";
type: {
defined: "&[u8]";
};
value: "b\"margin-pool-fee-destination\"";
}];
events: [{
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "seed";
type: "u8";
}];
name: "AuthorityCreated";
}, {
fields: [{
index: false;
name: "requester";
type: "publicKey";
}, {
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "liquidatorMetadata";
type: {
defined: "LiquidatorMetadata";
};
}, {
index: false;
name: "metadataAccount";
type: "publicKey";
}];
name: "LiquidatorSet";
}, {
fields: [{
index: false;
name: "requester";
type: "publicKey";
}, {
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "adapter";
type: {
defined: "MarginAdapterMetadata";
};
}, {
index: false;
name: "metadataAccount";
type: "publicKey";
}];
name: "AdapterRegistered";
}, {
fields: [{
index: false;
name: "requester";
type: "publicKey";
}, {
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "metadataAccount";
type: "publicKey";
}, {
index: false;
name: "metadata";
type: {
defined: "TokenMetadata";
};
}];
name: "TokenMetadataConfigured";
}, {
fields: [{
index: false;
name: "requester";
type: "publicKey";
}, {
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "metadataAccount";
type: "publicKey";
}, {
index: false;
name: "metadata";
type: {
defined: "PositionTokenMetadata";
};
}];
name: "PositionTokenMetadataConfigured";
}];
instructions: [{
accounts: [{
isMut: true;
isSigner: false;
name: "authority";
}, {
isMut: true;
isSigner: true;
name: "payer";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}];
args: [];
name: "createAuthority";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "requester";
}, {
isMut: false;
isSigner: false;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "marginPool";
}, {
isMut: true;
isSigner: false;
name: "vault";
}, {
isMut: true;
isSigner: false;
name: "depositNoteMint";
}, {
isMut: true;
isSigner: false;
name: "loanNoteMint";
}, {
isMut: false;
isSigner: false;
name: "tokenMint";
}, {
isMut: true;
isSigner: false;
name: "tokenMetadata";
}, {
isMut: true;
isSigner: false;
name: "depositNoteMetadata";
}, {
isMut: true;
isSigner: false;
name: "loanNoteMetadata";
}, {
isMut: true;
isSigner: false;
name: "feeDestination";
}, {
isMut: false;
isSigner: false;
name: "marginPoolProgram";
}, {
isMut: false;
isSigner: false;
name: "metadataProgram";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}, {
isMut: false;
isSigner: false;
name: "rent";
}];
args: [];
name: "createMarginPool";
}, {
accounts: [{
isMut: false;
isSigner: true;
name: "requester";
}, {
isMut: false;
isSigner: false;
name: "authority";
}, {
isMut: false;
isSigner: false;
name: "adapter";
}, {
isMut: true;
isSigner: false;
name: "metadataAccount";
}, {
isMut: true;
isSigner: true;
name: "payer";
}, {
isMut: false;
isSigner: false;
name: "metadataProgram";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}];
args: [];
name: "registerAdapter";
}, {
accounts: [{
isMut: false;
isSigner: true;
name: "requester";
}, {
isMut: false;
isSigner: false;
name: "authority";
}, {
isMut: false;
isSigner: false;
name: "tokenMint";
}, {
isMut: true;
isSigner: false;
name: "marginPool";
}, {
isMut: true;
isSigner: false;
name: "tokenMetadata";
}, {
isMut: true;
isSigner: false;
name: "depositMetadata";
}, {
isMut: true;
isSigner: false;
name: "loanMetadata";
}, {
isMut: false;
isSigner: false;
name: "pythProduct";
}, {
isMut: false;
isSigner: false;
name: "pythPrice";
}, {
isMut: false;
isSigner: false;
name: "marginPoolProgram";
}, {
isMut: false;
isSigner: false;
name: "metadataProgram";
}];
args: [{
name: "metadata";
type: {
option: {
defined: "TokenMetadataParams";
};
};
}, {
name: "poolConfig";
type: {
option: {
defined: "MarginPoolConfig";
};
};
}];
name: "configureMarginPool";
}, {
accounts: [{
isMut: false;
isSigner: true;
name: "requester";
}, {
isMut: false;
isSigner: false;
name: "authority";
}, {
isMut: false;
isSigner: false;
name: "liquidator";
}, {
isMut: true;
isSigner: false;
name: "metadataAccount";
}, {
isMut: true;
isSigner: true;
name: "payer";
}, {
isMut: false;
isSigner: false;
name: "metadataProgram";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}];
args: [{
name: "isLiquidator";
type: "bool";
}];
name: "setLiquidator";
}];
name: "jet_control";
types: [{
name: "TokenMetadataParams";
type: {
fields: [{
name: "tokenKind";
type: {
defined: "TokenKind";
};
}, {
name: "collateralWeight";
type: "u16";
}, {
name: "maxLeverage";
type: "u16";
}];
kind: "struct";
};
}, {
name: "MarginPoolParams";
type: {
fields: [{
name: "feeDestination";
type: "publicKey";
}];
kind: "struct";
};
}, {
name: "TokenKind";
type: {
kind: "enum";
variants: [{
name: "NonCollateral";
}, {
name: "Collateral";
}, {
name: "Claim";
}];
};
}, {
name: "MarginPoolConfig";
type: {
fields: [{
name: "flags";
type: "u64";
}, {
name: "utilizationRate1";
type: "u16";
}, {
name: "utilizationRate2";
type: "u16";
}, {
name: "borrowRate0";
type: "u16";
}, {
name: "borrowRate1";
type: "u16";
}, {
name: "borrowRate2";
type: "u16";
}, {
name: "borrowRate3";
type: "u16";
}, {
name: "managementFeeRate";
type: "u16";
}, {
name: "managementFeeCollectThreshold";
type: "u64";
}];
kind: "struct";
};
}, {
name: "LiquidatorMetadata";
type: {
fields: [{
name: "liquidator";
type: "publicKey";
}];
kind: "struct";
};
}, {
name: "MarginAdapterMetadata";
type: {
fields: [{
name: "adapterProgram";
type: "publicKey";
}];
kind: "struct";
};
}, {
name: "TokenMetadata";
type: {
fields: [{
name: "tokenMint";
type: "publicKey";
}, {
name: "pythPrice";
type: "publicKey";
}, {
name: "pythProduct";
type: "publicKey";
}];
kind: "struct";
};
}, {
name: "PositionTokenMetadata";
type: {
fields: [{
name: "positionTokenMint";
type: "publicKey";
}, {
name: "underlyingTokenMint";
type: "publicKey";
}, {
name: "adapterProgram";
type: "publicKey";
}, {
name: "tokenKind";
type: {
defined: "TokenKind";
};
}, {
name: "valueModifer";
type: "u16";
}, {
name: "maxStaleness";
type: "u64";
}];
kind: "struct";
};
}];
version: "0.1.0";
}
Type declaration
-
accounts: [{
name: "authority";
type: {
fields: [{
name: "seed";
type: {
array: ["u8", 1];
};
}];
kind: "struct";
};
}]
-
constants: [{
name: "FEE_DESTINATION";
type: {
defined: "&[u8]";
};
value: "b\"margin-pool-fee-destination\"";
}]
-
events: [{
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "seed";
type: "u8";
}];
name: "AuthorityCreated";
}, {
fields: [{
index: false;
name: "requester";
type: "publicKey";
}, {
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "liquidatorMetadata";
type: {
defined: "LiquidatorMetadata";
};
}, {
index: false;
name: "metadataAccount";
type: "publicKey";
}];
name: "LiquidatorSet";
}, {
fields: [{
index: false;
name: "requester";
type: "publicKey";
}, {
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "adapter";
type: {
defined: "MarginAdapterMetadata";
};
}, {
index: false;
name: "metadataAccount";
type: "publicKey";
}];
name: "AdapterRegistered";
}, {
fields: [{
index: false;
name: "requester";
type: "publicKey";
}, {
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "metadataAccount";
type: "publicKey";
}, {
index: false;
name: "metadata";
type: {
defined: "TokenMetadata";
};
}];
name: "TokenMetadataConfigured";
}, {
fields: [{
index: false;
name: "requester";
type: "publicKey";
}, {
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "metadataAccount";
type: "publicKey";
}, {
index: false;
name: "metadata";
type: {
defined: "PositionTokenMetadata";
};
}];
name: "PositionTokenMetadataConfigured";
}]
-
instructions: [{
accounts: [{
isMut: true;
isSigner: false;
name: "authority";
}, {
isMut: true;
isSigner: true;
name: "payer";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}];
args: [];
name: "createAuthority";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "requester";
}, {
isMut: false;
isSigner: false;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "marginPool";
}, {
isMut: true;
isSigner: false;
name: "vault";
}, {
isMut: true;
isSigner: false;
name: "depositNoteMint";
}, {
isMut: true;
isSigner: false;
name: "loanNoteMint";
}, {
isMut: false;
isSigner: false;
name: "tokenMint";
}, {
isMut: true;
isSigner: false;
name: "tokenMetadata";
}, {
isMut: true;
isSigner: false;
name: "depositNoteMetadata";
}, {
isMut: true;
isSigner: false;
name: "loanNoteMetadata";
}, {
isMut: true;
isSigner: false;
name: "feeDestination";
}, {
isMut: false;
isSigner: false;
name: "marginPoolProgram";
}, {
isMut: false;
isSigner: false;
name: "metadataProgram";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}, {
isMut: false;
isSigner: false;
name: "rent";
}];
args: [];
name: "createMarginPool";
}, {
accounts: [{
isMut: false;
isSigner: true;
name: "requester";
}, {
isMut: false;
isSigner: false;
name: "authority";
}, {
isMut: false;
isSigner: false;
name: "adapter";
}, {
isMut: true;
isSigner: false;
name: "metadataAccount";
}, {
isMut: true;
isSigner: true;
name: "payer";
}, {
isMut: false;
isSigner: false;
name: "metadataProgram";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}];
args: [];
name: "registerAdapter";
}, {
accounts: [{
isMut: false;
isSigner: true;
name: "requester";
}, {
isMut: false;
isSigner: false;
name: "authority";
}, {
isMut: false;
isSigner: false;
name: "tokenMint";
}, {
isMut: true;
isSigner: false;
name: "marginPool";
}, {
isMut: true;
isSigner: false;
name: "tokenMetadata";
}, {
isMut: true;
isSigner: false;
name: "depositMetadata";
}, {
isMut: true;
isSigner: false;
name: "loanMetadata";
}, {
isMut: false;
isSigner: false;
name: "pythProduct";
}, {
isMut: false;
isSigner: false;
name: "pythPrice";
}, {
isMut: false;
isSigner: false;
name: "marginPoolProgram";
}, {
isMut: false;
isSigner: false;
name: "metadataProgram";
}];
args: [{
name: "metadata";
type: {
option: {
defined: "TokenMetadataParams";
};
};
}, {
name: "poolConfig";
type: {
option: {
defined: "MarginPoolConfig";
};
};
}];
name: "configureMarginPool";
}, {
accounts: [{
isMut: false;
isSigner: true;
name: "requester";
}, {
isMut: false;
isSigner: false;
name: "authority";
}, {
isMut: false;
isSigner: false;
name: "liquidator";
}, {
isMut: true;
isSigner: false;
name: "metadataAccount";
}, {
isMut: true;
isSigner: true;
name: "payer";
}, {
isMut: false;
isSigner: false;
name: "metadataProgram";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}];
args: [{
name: "isLiquidator";
type: "bool";
}];
name: "setLiquidator";
}]
-
name: "jet_control"
-
types: [{
name: "TokenMetadataParams";
type: {
fields: [{
name: "tokenKind";
type: {
defined: "TokenKind";
};
}, {
name: "collateralWeight";
type: "u16";
}, {
name: "maxLeverage";
type: "u16";
}];
kind: "struct";
};
}, {
name: "MarginPoolParams";
type: {
fields: [{
name: "feeDestination";
type: "publicKey";
}];
kind: "struct";
};
}, {
name: "TokenKind";
type: {
kind: "enum";
variants: [{
name: "NonCollateral";
}, {
name: "Collateral";
}, {
name: "Claim";
}];
};
}, {
name: "MarginPoolConfig";
type: {
fields: [{
name: "flags";
type: "u64";
}, {
name: "utilizationRate1";
type: "u16";
}, {
name: "utilizationRate2";
type: "u16";
}, {
name: "borrowRate0";
type: "u16";
}, {
name: "borrowRate1";
type: "u16";
}, {
name: "borrowRate2";
type: "u16";
}, {
name: "borrowRate3";
type: "u16";
}, {
name: "managementFeeRate";
type: "u16";
}, {
name: "managementFeeCollectThreshold";
type: "u64";
}];
kind: "struct";
};
}, {
name: "LiquidatorMetadata";
type: {
fields: [{
name: "liquidator";
type: "publicKey";
}];
kind: "struct";
};
}, {
name: "MarginAdapterMetadata";
type: {
fields: [{
name: "adapterProgram";
type: "publicKey";
}];
kind: "struct";
};
}, {
name: "TokenMetadata";
type: {
fields: [{
name: "tokenMint";
type: "publicKey";
}, {
name: "pythPrice";
type: "publicKey";
}, {
name: "pythProduct";
type: "publicKey";
}];
kind: "struct";
};
}, {
name: "PositionTokenMetadata";
type: {
fields: [{
name: "positionTokenMint";
type: "publicKey";
}, {
name: "underlyingTokenMint";
type: "publicKey";
}, {
name: "adapterProgram";
type: "publicKey";
}, {
name: "tokenKind";
type: {
defined: "TokenKind";
};
}, {
name: "valueModifer";
type: "u16";
}, {
name: "maxStaleness";
type: "u64";
}];
kind: "struct";
};
}]
-
version: "0.1.0"