Skip to content

Instantly share code, notes, and snippets.

View alexroan's full-sized avatar

Alex Roan alexroan

View GitHub Profile
@alexroan
alexroan / aave_get_atoken.js
Created July 10, 2020 11:02
aave_get_atoken.js
const reserveData = await lendingPool.methods.getReserveData("0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE").call()
.catch((e) => {
throw Error(`Error getting aave reserve data: ${e.message}`)
});
const aTokenAddress = reserveData.aTokenAddress;
@alexroan
alexroan / aave_full_deposit.js
Created July 10, 2020 10:53
aave_full_deposit.js
// Load the address provider
const providerInstance = new web3.eth.Contract(addressProviderABI, "0x24a42fD28C976A61Df5D00D0599C34c4f90748c8");
// Get lending pool address
const lendingPoolAddress = await providerInstance.methods.getLendingPool().call()
.catch((e) => {
throw Error(`Error getting lendingPool address: ${e.message}`)
});
// Load lending pool
@alexroan
alexroan / aave_deposit.js
Last active July 10, 2020 10:43
aave_deposit.js
lendingPoolInstance.methods.deposit(
"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", supplyValue, 0).send({from: account, value: supplyValue})
.once('transactionHash', (hash) => {
// transaction hash
})
.on('confirmation', (number, receipt) => {
// number of confirmations
})
.on('error', (error) => {
console.log(error);
@alexroan
alexroan / aave_load_lending_pool.js
Created July 10, 2020 10:34
aave_load_lending_pool.js
const lendingPoolInstance = new web3.eth.Contract(lendingPoolABI, lendingPoolAddress);
@alexroan
alexroan / aave_get_lending_pool.js
Last active July 10, 2020 10:52
aave_get_lending_pool.js
const lendingPoolAddress = await providerInstance.methods.getLendingPool().call()
.catch((e) => {
throw Error(`Error getting lendingPool address: ${e.message}`)
});
@alexroan
alexroan / aave_address_provider.js
Created July 10, 2020 10:26
aave_address_provider.js
const providerInstance = new web3.eth.Contract(addressProviderABI, "0x24a42fD28C976A61Df5D00D0599C34c4f90748c8");
@alexroan
alexroan / Tree.sol
Created July 1, 2020 10:26
Tree.sol
pragma solidity ^0.5.0;
import "@openzeppelin/contracts/math/SafeMath.sol";
contract Tree {
using SafeMath for uint;
struct User {
address payable inviter;
@alexroan
alexroan / thechain.sol
Created July 1, 2020 09:52
thechain.sol
pragma solidity ^0.5.0;
import "@openzeppelin/contracts/math/SafeMath.sol";
contract Doubler {
using SafeMath for uint;
address payable public owner;
struct User {
address payable addr;
uint amount;
@alexroan
alexroan / compound_interactions.js
Created June 29, 2020 10:08
compound_interactions.js
export const supplyEth = async (dispatch, cEthInstance, account, supplyValue, web3, network) => {
cEthInstance.methods.mint().send({from: account, value: supplyValue})
.once('transactionHash', (hash) => {
dispatch(depositing());
})
.on('confirmation', (number, receipt) => {
if (number < 4){
dispatch(depositConfirmation(number+1));
if (number === 3) {
dispatch(finishedDepositing());
@alexroan
alexroan / ramp_instant.js
Last active June 29, 2020 09:49
ramp_instant.js
import { RampInstantSDK } from '@ramp-network/ramp-instant-sdk';
new RampInstantSDK({
hostAppName: 'Maker DAO',
hostLogoUrl: 'https://cdn-images-1.medium.com/max/2600/1*nqtMwugX7TtpcS-5c3lRjw.png',
variant: 'auto',
}).show();