6. Check Funds on Public Pool
Description
Check detailed information on fund deposited in public liquidity pool.
TBD: Narratives
User Interface
Function Description
Item
Description
Contract Address
Public pool contract (referenced by Smart Contract Overview section)
Contract Name
SLDDAIPools1.sol
Function
function getLPAmountInfo() public view returns(uint256 deposit,uint256 availabe,uint256 locked)
Function Selector
0x53ac2d24
Invocation Type
Ethereum Call
Passing Parameters
None
Return Value
Total deposited amount; available amount; locked amount
ABI Description
{
"inputs": [],
"name": "getLPAmountInfo",
"outputs": [{
"internalType": "uint256",
"name": "deposit",
"type": "uint256"
}, {
"internalType": "uint256",
"name": "availabe",
"type": "uint256"
}, {
"internalType": "uint256",
"name": "locked",
"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");
const CONTRACT_ADDRESS = "Replace with public pool contract address";
const ABI = [{
"inputs": [],
"name": "getLPAmountInfo",
"outputs": [{
"internalType": "uint256",
"name": "deposit",
"type": "uint256"
}, {
"internalType": "uint256",
"name": "availabe",
"type": "uint256"
}, {
"internalType": "uint256",
"name": "locked",
"type": "uint256"
}],
"stateMutability": "view",
"type": "function"
}];
var contract = new web3.eth.Contract(ABI, CONTRACT_ADDRESS);
contract.methods.getLPAmountInfo().call({
}, function(error, result){
if(!error) {
console.log('Response:', result);
} else {
console.log(error);
}
});
HTTP Request Example
Send a call request to get public pool info
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": "0x0000000000000000000000000000000000000000000dc85f59edd89161ce451a0000000000000000000000000000000000000000000ab0e0c62a28d4f38d151a00000000000000000000000000000000000000000003177e93c3afbc6e413000"
}
Request Body Example:
{
"jsonrpc": "2.0",
"method": "eth_call",
"params": [
{
"from": "0x0000000000000000000000000000000000000000",
"to": "0x67360e519b0d7f4f4f257e22253cac1cd5c8ef12",
"data": "0x53ac2d24"
},
"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": "0x67360e519b0d7f4f4f257e22253cac1cd5c8ef12",
"data": "0x53ac2d24"
},
"latest"
],
"id": 1234
}'
Last updated