Skip to content

Instantly share code, notes, and snippets.

@sfncook
Created September 11, 2018 16:11
Show Gist options
  • Save sfncook/704ea1010e79dd0d829606ad0ab457ab to your computer and use it in GitHub Desktop.
Save sfncook/704ea1010e79dd0d829606ad0ab457ab to your computer and use it in GitHub Desktop.
import React, { Component } from 'react'
import {
BrowserRouter as Router,
Route
} from 'react-router-dom'
// import RoleSwitchPage from "./components/RoleSwitchPage";
const { Dharma, Web3 } = require("@dharmaprotocol/dharma.js");
const { Token, LoanRequest } = Dharma.Types;
console.log('global.TYPED_ARRAY_SUPPORT:',global.TYPED_ARRAY_SUPPORT);
(async ()=>{
console.log('Token:',Token);
const host = "http://localhost:8545";
const provider = new Web3.providers.HttpProvider(host);
const dharma = new Dharma(provider);
const loanRequest = await LoanRequest.create(dharma, {
principalAmount: 20,
principalToken: "DAI",
collateralAmount: 1,
collateralToken: "REP",
interestRate: 3.5,
termDuration: 3,
termUnit: "months",
expiresInDuration: 1,
expiresInUnit: "weeks",
})
.catch(err=>{console.log(err)});
await loanRequest.signAsDebtor();
const loanRequestData = loanRequest.toJSON();
console.log('loanRequestData:',loanRequestData);
const creditor = "0x3fa17c1f1a0ae2db269f0b572ca44b15bc83929a";
// const debtor = "0xd2f45e02ab7b190ac9a87b743eab4c8f2ed0e491";
// const debtortokens = await Token.all(dharma, debtor);
// console.log('debtor tokens:',debtortokens);
//
// const creditortokens = await Token.all(dharma, creditor);
// console.log('creditor tokens:',creditortokens);
// const tokenSymbol = "DAI";
// const txHash = await Token.makeAllowanceUnlimitedIfNecessary(dharma, tokenSymbol, creditor);
// console.log('txHash:',txHash);
loanRequest
.assertFillable(creditor)
.then(() => {
console.log("The loan request is ready to be filled");
})
.catch((error) => {
console.error(error);
});
})();
class App extends Component {
render() {
return (
<div className="App">
<nav className="navbar pure-menu pure-menu-horizontal">
<img src={'./coffeecoinicon_white.png'} style={{height:'50px', marginLeft:'15px', verticalAlign:'middle'}} alt={'CryptoSusu logo'} />
<span style={{fontSize:'1.5rem'}}><a href="/" style={{paddingLeft:'10px'}} className="pure-menu-heading pure-menu-link">Coffee Coin</a></span>
</nav>
<Router>
<div>
{/*<Route exact path="/:contractAddress?" component={RoleSwitchPage}/>*/}
</div>
</Router>
</div>
);
}
}
export default App
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment