Query Vault Info for Latest Round
Description
Query latest round quotation details for MVault.
User Interface
TODO(Snapshots)
Function Description
Contract Address
MVault Factory contract (referenced by General Info section)
Contract Name
MVaultFactory.sol
Function
function getLatestRoundInfo() public view returns (
uint256 strikePrice,
uint256 APY,
uint256 maxVolume,
uint256 filledVolume,
uint256 minDeposit,
uint256 startTime,
uint256 endTime,
uint256 settledPrice,
uint256 settledAmount,
bool settled )
Function Selector
0x2016e80b
Invocation Type
Ethereum Call
Passing Parameters
None
Return Value
uint256 strikePrice: strike price for MVault, actual number multiplied by 1E18
uint256 APY: APY for MVault, actual number multiplied by 1E18(1e18 means 100%)
uint256 maxVolume: Maximum volume for MVault, actual number multiplied by 1E(token precision)
uint256 filledVolume: Filled volume for MVault, actual number multiplied by 1E(token precision)
uint256 minDeposit: Minimum deposit amount for user, actual number multiplied by 1E(token precision)
uint256 startTime: Start Timestamp for current round MVault
uint256 endTime: End Timestamp for current round MVault uint256 settledPrice: Settled price for this round, actual number multiplied by 1E18(Only update when this round is settled) uint256 settledAmount: Settled order amount for this round(Only update when this round is settled) bool settled: Whether this round is settled (Only update when this round is settled)
ABI Description
{
"inputs": [],
"name": "getLatestRoundInfo",
"outputs": [
{
"internalType": "uint256",
"name": "strikePrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "APY",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxVolume",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "filledVolume",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "minDeposit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "startTime",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "endTime",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "settledPrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "settledAmount",
"type": "uint256"
},
{
"internalType": "bool",
"name": "settled",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
}
Examples
Calling Examples
// This example is written by using Web3.js
// More details on Web3.js could be found here - https://web3js.readthedocs.io/
var Web3 = require('web3');
const BigNumber = require('bignumber.js');
// BSC Mainnet: https://bsc-dataseed.binance.org
// BSC Testnet: https://data-seed-prebsc-1-s1.binance.org:8545
const web3 = new Web3("https://data-seed-prebsc-1-s1.binance.org:8545");
// Need MVault Factory contract address
const CONTRACT_ADDRESS = "Replace with MVault Factory contract address";
const ABI = [ {
"inputs": [],
"name": "getLatestRoundInfo",
"outputs": [
{
"internalType": "uint256",
"name": "strikePrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "APY",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxVolume",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "filledVolume",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "minDeposit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "startTime",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "endTime",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "settledPrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "settledAmount",
"type": "uint256"
},
{
"internalType": "bool",
"name": "settled",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
}];
var contract = new web3.eth.Contract(ABI, CONTRACT_ADDRESS);
contract.methods.getLatestRoundInfo().call({
}, function(error, result){
if(!error) {
console.log('Response:', result);
} else {
console.log(error);
}
});
HTTP Request Example
Query Vault Info for latest round quotation
POST
(BSC Mainnet) https://bsc-dataseed.binance.org/
Make a contract call to get deposited funds details of Shield Protocol V1. More details on how to make a contract call request via BSC RPC could be found here, https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendrawtransaction
Request Body
jsonrpc
string
"2.0"
method
string
"eth_call"
params
array
the signed transaction data coerced into string array, for instance,
id
number
request sequence id, you could use timestamp as id
{
"jsonrpc": "2.0",
"id": 1234,
"result": "0x00000000000000000000000000000000000000000000006c6b935b8bbd40000000000000000000000000000000000000000000000000006c6b935b8bbd400000"
}
Request Body Example:
{
"jsonrpc": "2.0",
"method": "eth_call",
"params": [
{
"from": "0x0000000000000000000000000000000000000000",
"to": "0x455299A73D94190f7A131E66E0bDc05BE6D93834",
"data": "0x2016e80b"
},
"latest"
],
"id": 1234
}
CURL Example:
curl --location --request POST 'https://data-seed-prebsc-1-s1.binance.org:8545/' \
--header 'Content-Type: application/json' \
--data-raw '{
"jsonrpc": "2.0",
"method": "eth_call",
"params": [
{
"from": "0x0000000000000000000000000000000000000000",
"to": "0x455299A73D94190f7A131E66E0bDc05BE6D93834",
"data": "0x2016e80b"
},
"latest"
],
"id": 1234
}'
Last updated