Shield V2
HomeTrade
  • Overview
  • Shield perpetual options
    • Basics
    • Mechanism
  • Getting started
    • Guides
    • FAQs
      • About Shield
      • About Trading
      • About Pools
  • Developers
    • Trading API References
      • Overview
        • Smart Contracts Overview
      • Interfaces
        • 1. Deposit Funds
        • 2. Withdraw Funds
        • 3. Check Funds
        • 4. Deposit DAI into Public Pool
        • 5. Withdraw DAI from Public Pool
        • 6. Check Funds on Public Pool
        • 7. Deposit DAI to Private Pool
        • 8. Withdraw DAI from Private Pool
        • 9. Check Funds on Private Pool
        • 10. Check Details on a Certain Order
        • 11. Get Funding Fee Rate of an Option Transaction
      • "How-To" Instructions
        • How to monitor opening and closing orders?
      • Addendum
        • Full ABI on Shield Protocol V1
        • References
  • Additionals
    • Audits
    • Lightpaper
    • Pricing Method Paper
    • Privacy Policy
    • Terms of Use
Powered by GitBook
On this page
  • Description
  • User Interface
  • Function Description
  • ABI Description
  • Examples
  • Calling Examples
  • HTTP Request Example
  • Send a Deposit Transaction
  1. Developers
  2. Trading API References
  3. Interfaces

7. Deposit DAI to Private Pool

Previous6. Check Funds on Public PoolNext8. Withdraw DAI from Private Pool

Last updated 2 years ago

Description

Deposit DAI to private liquidity pool.

TBD: Narratives & Differences between public pool and private pool

User Interface

Function Description

Item

Description

Contract Address

Private pool contract (referenced by Smart Contract Overview section)

Contract Name

SLDDAIPools2.sol

Function

function provide(uint256 mintAmount)

Function Selector

0x2e2ebe06

Invocation Type

Ethereum Transaction

Passing Parameters

Amount of DAIs to deposit; actual number multiplied by 1E18

Return Value

None

Event Emitted

event ProvideLP2(address indexed account, uint256 amount);

Event Signature

0x26a27ab2f158d9fe04dea4c221634a0d50bdbb2a9fcdcc1960567eefa9c2ed0a

Transaction Sample(BSC testnet)

ABI Description

{
	"inputs": [{
		"internalType": "uint256",
		"name": "mintAmount",
		"type": "uint256"
	}],
	"name": "provide",
	"outputs": [],
	"stateMutability": "nonpayable",
	"type": "function"
}

Examples

Calling Examples

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 Private Pool Contract Address";
const ABI = [{
	"inputs": [{
		"internalType": "uint256",
		"name": "amount",
		"type": "uint256"
	}],
	"name": "deposit",
	"outputs": [],
	"stateMutability": "nonpayable",
	"type": "function"
}];

// Deposit 10 DAI to private pool.
const DEPOSIT_AMOUNT = 10e18;

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

contract.methods.provide(new BigNumber(DEPOSIT_AMOUNT).toString()).send({
    from: "CALLER_ADDRESS",
}, function(error, result){
    if(!error) {
      console.log('Response:', result);
    } else {
      console.log(error);
    }
});
# This example is written by using Web3.py
# More details on Web3.py could be found here - https://web3py.readthedocs.io/

HTTP Request Example

Send a Deposit Transaction

POST (BSC Mainnet) https://bsc-dataseed.binance.org/

Make a deposit transaction to Shield Protocol V1 on BSC network. More details on how to send a transaction 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_sendRawTransaction"

params

array

the signed transaction data coerced into string array

id

number

request sequence id, you could use timestamp as id

{
  "id":64,
  "jsonrpc": "2.0",
  "result": "0x146695866343024d1ad9854a72904d16abec8b1597e098619d2addbd44b14e4c"
}

https://testnet.bscscan.com/tx/0xae1851d19feadb5d8f4ac8dfc24f746c1d851e06bb2a80c23685162b2784a39b