Query Margin for Initial Issuing

Description

Only SLD tokens should be paid when issue an MVault. You could use this interface to query how many SLD token you need to pay.

User Interface

TODO(Snapshots)

Function Description

Contract Address

MVault Factory contract (referenced by General Info section)

Contract Name

MVaultFactory.sol

Function

function minSLDMargin()

public view returns (

uint256 sldMargin

)

Function Selector

0x789f4b5a

Invocation Type

Ethereum Call

Passing Parameters

None

Return Value

uint256 sldMargin: SLD token margin need to pay

ABI Description

    {
      "inputs": [],
      "name": "minSLDMargin",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "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": "minSLDMargin",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }];

var contract = new web3.eth.Contract(ABI, CONTRACT_ADDRESS);

contract.methods.minSLDMargin().call({
}, function(error, result){
    if(!error) {
      console.log('Response:', result);
    } else {
      console.log(error);
    }
});

HTTP Request Example

Query Margins

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

Name
Type
Description

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": "0xF8b9B1a5B23c74eb95FA00256A434c25CA89E049",
            "data": "0x789f4b5a"
        },
        "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": "0xf8b9b1a5b23c74eb95fa00256a434c25ca89e049",
            "data": "0x789f4b5a"
        },
        "latest"
    ],
    "id": 1234
}'

Last updated