From 4575c110e6fa53e29218eca5ba67dd3eccc9da1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Magiera?= Date: Sat, 7 Sep 2019 00:35:31 +0200 Subject: [PATCH] pond: +10k, addr highlighting --- lotuspond/front/src/Address.js | 28 ++++++++++++++++++++++++++-- lotuspond/front/src/Client.js | 8 ++++---- lotuspond/front/src/FullNode.js | 10 +++++++--- lotuspond/front/src/NodeList.js | 2 +- 4 files changed, 38 insertions(+), 10 deletions(-) diff --git a/lotuspond/front/src/Address.js b/lotuspond/front/src/Address.js index 7cb9e373b..9b7bbd475 100644 --- a/lotuspond/front/src/Address.js +++ b/lotuspond/front/src/Address.js @@ -11,6 +11,9 @@ function truncAddr(addr, len) { return addr } +let sheet = document.createElement('style') +document.body.appendChild(sheet); + class Address extends React.Component { constructor(props) { super(props) @@ -32,6 +35,7 @@ class Address extends React.Component { let actor = {} let actorInfo let minerInfo + let nonce try { balance = await this.props.client.call('Filecoin.WalletBalance', [this.props.addr]) @@ -41,11 +45,14 @@ class Address extends React.Component { if(this.props.miner) { minerInfo = await this.props.client.call('Filecoin.StateMinerPower', [this.props.addr, this.props.ts || null]) } + if(this.props.nonce) { + nonce = await this.props.client.call('Filecoin.MpoolGetNonce', [this.props.addr]) + } } catch (err) { console.log(err) balance = -1 } - this.setState({balance, actor, actorInfo, minerInfo}) + this.setState({balance, actor, actorInfo, minerInfo, nonce}) } openState() { @@ -71,10 +78,17 @@ class Address extends React.Component { return info } + add10k = async () => { + [...Array(10).keys()].map(() => async () => await this.props.add1k(this.props.addr)).reduce(async (p, c) => [await p, await c()], Promise.resolve(null)) + } + render() { let add1k = if(this.props.add1k) { add1k =   this.props.add1k(this.props.addr)}>[+1k] + if (this.props.add10k) { + add1k = {add1k} [+10k] + } } let addr = truncAddr(this.props.addr, this.props.short ? 12 : 17) @@ -84,6 +98,16 @@ class Address extends React.Component { addr = {addr} } + addr = sheet.sheet.insertRule(`.pondaddr-${this.props.addr}, .pondaddr-${this.props.addr} * { color: #11ee11; }`, 0)} + onMouseLeave={() => sheet.sheet.deleteRule(0)} + >{addr} + + let nonce = + if(this.props.nonce) { + nonce =  Nc:{this.state.nonce}{nonce} + } + let balance = : {this.state.balance}  if(this.props.nobalance) { balance = @@ -103,7 +127,7 @@ class Address extends React.Component { minerInfo =  Power: {this.state.minerInfo.MinerPower} ({this.state.minerInfo.MinerPower/this.state.minerInfo.TotalPower*100}%) } - return {addr}{balance}{actInfo}{add1k}{transfer}{minerInfo} + return {addr}{balance}{actInfo}{nonce}{add1k}{transfer}{minerInfo} } } diff --git a/lotuspond/front/src/Client.js b/lotuspond/front/src/Client.js index 4c5020b89..2ed63da5c 100644 --- a/lotuspond/front/src/Client.js +++ b/lotuspond/front/src/Client.js @@ -8,7 +8,7 @@ class Client extends React.Component { this.state = { kbs: 1, blocks: 12, - total: "1000", + total: 36000, miner: "t0101" } } @@ -16,9 +16,9 @@ class Client extends React.Component { update = (name) => (e) => this.setState({ [name]: e.target.value }); makeDeal = async () => { - let file = await this.props.pondClient.call('Pond.CreateRandomFile', [this.state.kbs * 1000]) // 1024 won't fit in 1x blocks :( + let file = await this.props.pondClient.call('Pond.CreateRandomFile', [this.state.kbs * 1000]) // 1024 won't fit in 1k blocks :( let cid = await this.props.client.call('Filecoin.ClientImport', [file]) - let dealcid = await this.props.client.call('Filecoin.ClientStartDeal', [cid, this.state.miner, this.state.total, this.state.blocks]) + let dealcid = await this.props.client.call('Filecoin.ClientStartDeal', [cid, this.state.miner, `${Math.round(this.state.total / this.state.blocks)}`, this.state.blocks]) console.log("deal cid: ", dealcid) } @@ -31,7 +31,7 @@ class Client extends React.Component { L: Dur: - Total: + Total: PpB: {ppb} PpMbB: {ppmbb} diff --git a/lotuspond/front/src/FullNode.js b/lotuspond/front/src/FullNode.js index 94970c4b4..fcdc6c5be 100644 --- a/lotuspond/front/src/FullNode.js +++ b/lotuspond/front/src/FullNode.js @@ -47,12 +47,16 @@ class FullNode extends React.Component { let minerList = await this.props.client.call('Filecoin.MinerAddresses', []) + let mpoolPending = (await this.props.client.call('Filecoin.MpoolPending', [tipset])).length + this.setState(() => ({ id: id, version: version, peers: peers.length, tipset: tipset, + mpoolPending: mpoolPending, + addrs: addrs, paychs: paychs, vouchers: vouchers, @@ -101,7 +105,7 @@ class FullNode extends React.Component {
Head: { - } H:{this.state.tipset.Height} [Explore] [Client] + } H:{this.state.tipset.Height} Mp:{this.state.mpoolPending} [Explore] [Client]
) } @@ -114,14 +118,14 @@ class FullNode extends React.Component { let storageMine = [Spawn Storage Miner] let addresses = this.state.addrs.map((addr) => { - let line =
+ let line =
if (this.state.defaultAddr === addr) { line = {line} } return
{line}
}) let paychannels = this.state.paychs.map((addr, ak) => { - const line =
+ const line =
const vouchers = this.state.vouchers[ak].map(voucher => { let extra = if(voucher.Extra) { diff --git a/lotuspond/front/src/NodeList.js b/lotuspond/front/src/NodeList.js index 46f84aefa..97b1aac4d 100644 --- a/lotuspond/front/src/NodeList.js +++ b/lotuspond/front/src/NodeList.js @@ -81,7 +81,7 @@ class NodeList extends React.Component { return [addr, balance] }).reduce(async (c, n) => (await c)[1] > (await n)[1] ? await c : await n, Promise.resolve(['', -2])) - pushMessage(this.state.nodes[1].conn, bestaddr, { + await pushMessage(this.state.nodes[1].conn, bestaddr, { To: to, From: bestaddr, Value: "1000",