1. Deposit Funds

Description

Make a deposit to an account. Regardless of the taker or the maker, the DAI needs to be deposited prior to making an order.

TBD: Narratives

User Interface

Function Description

Item

Description

Contract Address

Trading contract (referenced by Smart Contract Overview section)

Contract Name

SLDDAIContract.sol

Function

function deposit(uint256 amount)

Function Selector

0xb6b55f25

Invocation Type

Ethereum Transaction

Passing Parameters

Amount of DAIs deposited; actual number multiplied by 1E18

Return Value

None

Event Emitted

event DDSDeposit(address indexed sender, address indexed toAddr, uint256 motageAmount);

Event Signature

0x8741a00229f2b8b24379b60f7a4ba3a3f3d92f328280c47a38cd03504ac72c42

Transaction Sample(BSC testnet)

ABI Description

[{
	"inputs": [{
		"internalType": "uint256",
		"name": "amount",
		"type": "uint256"
	}],
	"name": "deposit",
	"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");

// Need trading contract address
const CONTRACT_ADDRESS = "";
const ABI = [{
	"inputs": [{
		"internalType": "uint256",
		"name": "amount",
		"type": "uint256"
	}],
	"name": "deposit",
	"outputs": [],
	"stateMutability": "nonpayable",
	"type": "function"
}];

// Deposit 1 DAI.
const DEPOSIT_AMOUNT = 1e18;

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

contract.methods.deposit(new BigNumber(DEPOSIT_AMOUNT).toString()).send({
    from: "CALLER_ADDRESS",
}, function(error, result){
    if(!error) {
      console.log('Response:', result);
    } else {
      console.log(error);
    }
});

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

NameTypeDescription

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"
}

Last updated