Best JavaScript code snippet using root
checkChart.ts
Source:checkChart.ts
1require("dotenv").config();2import protocols from "../protocols/data";3import dynamodb from "../utils/shared/dynamodb";4import { getClosestDayStartTimestamp } from "../utils/date";5import { storeTvl } from "../storeTvlInterval/getAndStoreTvl";6import { getBlocksRetry } from "./utils";7import {8 getCoingeckoLock,9 releaseCoingeckoLock,10} from "../utils/shared/coingeckoLocks";11import {12 dailyTvl,13 dailyTokensTvl,14 dailyUsdTokensTvl,15} from "../utils/getLastRecord";16import { date } from "./utils";17import { importAdapter } from "./utils/importAdapter";18const projectsToRefill: string[] = ["AAVE"];19const notify = false;20const deleteRepeated = true;21const extrapolate = false;22const secondsInDay = 86400;23async function main() {24 if (process.env.HISTORICAL !== "true") {25 throw new Error(`You must set HISTORICAL="true" in your .env`);26 }27 if (projectsToRefill.length > 0) {28 setInterval(() => {29 releaseCoingeckoLock();30 }, 1e3);31 }32 for (const tvlPrefix of [dailyTvl, dailyTokensTvl, dailyUsdTokensTvl]) {33 console.log(`# ${tvlPrefix("")}`);34 await Promise.all(35 protocols.map(async (protocol) => {36 const historicalTvl = await dynamodb.query({37 ExpressionAttributeValues: {38 ":pk": tvlPrefix(protocol.id),39 },40 KeyConditionExpression: "PK = :pk",41 });42 if (43 historicalTvl.Items !== undefined &&44 historicalTvl.Items.length > 045 ) {46 const items = historicalTvl.Items;47 let lastItemDate = getClosestDayStartTimestamp(48 items[items.length - 1].SK49 );50 for (let i = items.length - 2; i >= 0; i--) {51 const item = items[i];52 const timestamp = getClosestDayStartTimestamp(item.SK);53 const diff = lastItemDate - timestamp;54 const under = diff < secondsInDay * 0.5;55 const over = diff > secondsInDay * 1.5;56 const protocolIsSelected = projectsToRefill.includes(protocol.name);57 if ((over || under) && notify) {58 if (projectsToRefill.length === 0 || protocolIsSelected) {59 console.log(60 protocol.name.padEnd(19, " "),61 diff / secondsInDay,62 date(timestamp),63 date(lastItemDate)64 );65 }66 }67 if (!notify && over && protocolIsSelected) {68 let nextTimestamp = lastItemDate;69 do {70 nextTimestamp = getClosestDayStartTimestamp(71 nextTimestamp - secondsInDay72 );73 let tvl;74 if (extrapolate) {75 throw new Error(76 "Extrapolation is bad, removign this error if you want to continue anyway"77 );78 const totalTimeDiff = items[i + 1].SK - item.SK;79 tvl =80 (item.tvl * (items[i + 1].SK - nextTimestamp) +81 items[i + 1].tvl * (nextTimestamp - item.SK)) /82 totalTimeDiff;83 await dynamodb.put({84 PK: tvlPrefix(protocol.id),85 SK: nextTimestamp,86 tvl,87 });88 } else {89 const { ethereumBlock, chainBlocks } = await getBlocksRetry(90 nextTimestamp91 );92 const adapterModule = await importAdapter(protocol);93 tvl = await storeTvl(94 nextTimestamp,95 ethereumBlock,96 chainBlocks,97 protocol,98 adapterModule,99 {},100 4,101 getCoingeckoLock,102 false,103 false,104 true105 );106 }107 console.log(protocol.name, date(nextTimestamp), tvl);108 } while (nextTimestamp > timestamp);109 }110 if (under && deleteRepeated) {111 console.log("Delete", protocol.name, timestamp);112 await dynamodb.delete({113 Key: {114 PK: item.PK,115 SK: item.SK,116 },117 });118 }119 lastItemDate = timestamp;120 }121 }122 })123 );124 }125}...
ChatSidebar.stories.js
Source:ChatSidebar.stories.js
...30 <RoomLayout31 sidebar={32 <ChatSidebar>33 <ChatMessageList>34 <SystemMessage type="join" presence="room" name="Robert" timestamp={nextTimestamp()} />35 <SystemMessage type="join" presence="room" name="Dom" timestamp={nextTimestamp()} />36 <ChatMessageGroup37 sender="Dom"38 timestamp={nextTimestamp()}39 messages={[40 { type: "chat", body: "Hello!" },41 { type: "chat", body: "This is a really long message that should cause a new line." },42 { type: "image", body: { src: imgSrc } }43 ]}44 />45 <ChatMessageGroup46 sent47 sender="Robert"48 timestamp={nextTimestamp()}49 messages={[50 { type: "chat", body: "Hello!" },51 { type: "chat", body: "This is a really long message that should cause a new line." },52 { type: "video", body: { src: videoSrc } },53 { type: "chat", body: "Another message" },54 { type: "chat", body: "One last message" }55 ]}56 />57 <SystemMessage type="join" presence="room" name="John" timestamp={nextTimestamp()} />58 <ChatMessageGroup59 sender="John"60 timestamp={nextTimestamp()}61 messages={[62 { type: "chat", body: "https://mozilla.org" },63 { type: "chat", body: "Test message with url. https://hubs.mozilla.com Best site :point_up:" },64 { type: "chat", body: ":thumbsup:" }65 ]}66 />67 <SystemMessage type="join" presence="room" name="Liv" timestamp={nextTimestamp()} />68 <SystemMessage type="join" presence="room" name="Robin" timestamp={nextTimestamp()} />69 <ChatMessageGroup sender="Liv" timestamp={nextTimestamp()} messages={[{ type: "chat", body: ":clap:" }]} />70 <ChatMessageGroup71 sender="Robin"72 timestamp={nextTimestamp()}73 messages={[{ type: "chat", body: '`console.log("Hello World")`' }]}74 />75 <ChatMessageGroup76 sent77 sender="Robert"78 timestamp={nextTimestamp()}79 messages={[80 { type: "chat", body: "https://mozilla.org" },81 { type: "chat", body: "Test message with url. https://hubs.mozilla.com" }82 ]}83 />84 </ChatMessageList>85 <ChatInput86 afterInput={87 <>88 <EmojiPickerPopoverButton onSelectEmoji={emoji => console.log(emoji)} />89 <MessageAttachmentButton />90 <SpawnMessageButton />91 </>92 }...
mining.js
Source:mining.js
1const axios = require('axios');2const hash = require('crypto-js');3const Block = require('../core/block');4let baseUrl = "http://localhost:3001";5let previosBlock;6function startMine(url){7 let bsUrl = url || baseUrl;8 axios.get(bsUrl + '/mining/getjobs/84ede81c58f5c490fc6e1a3035789eef897b5b35')9 .then(function(res){10 previosBlock = res.data;11 //console.log(res.data)12 mine(previosBlock);13 });14}15function mine(previosBlock){16 var nonce = 0;17 var nextTimeStamp = new Date().getTime() / 1000;18 var nextHash = hashData(previosBlock.blockDataHash, nextTimeStamp,nonce);19 var difficulty = previosBlock.difficulty;20 mining(previosBlock,nextHash, difficulty, nonce);21}22function processSubmission(previosBlock, nonce, nextHash,nextTimeStamp, block){23 let nextBlock = {24 "transactions": previosBlock.transactions,25 "blockDataHash": previosBlock.blockDataHash,26 "block": block27 }28 submitBlock(nextBlock);29}30function mining(previosBlock,nextHash, difficulty, nonce){31 let nextTimeStamp;32 var nextIndex = previosBlock.index;33 while(nextHash.substring(0, difficulty) !== Array(difficulty + 1).join("0")){34 nonce++;35 nextTimeStamp = new Date().toISOString();36 nextHash = hashData(previosBlock.blockDataHash, nextTimeStamp,nonce);37 console.log(" Nonce: " + nonce);38 }39 // SUCCESSFULLY MINED40 console.log("Yay! Successfully mined. submitting...");41 let block = new Block(nextIndex,nextHash,previosBlock.previousHash,previosBlock.rewardAddress,nextTimeStamp,difficulty,nonce,previosBlock.transactions);42 // submit43 processSubmission(previosBlock, nonce, nextHash,nextTimeStamp, block);44}45function hashData(blockhash, timestamp, nonce){46 let data = `${blockhash}|${timestamp}|${nonce}`; 47 return hash.SHA256(data).toString();48}49function submitBlock(nextBlock){50 console.log(nextBlock);51 axios.post(baseUrl + "/mining/submit-block", nextBlock)52 .then(function(res){53 console.log(res);54 })55 .catch((err)=>{56 console.log(err);57 })58}59module.exports = {startMine};...
Using AI Code Generation
1var next = await root.nextTimestamp()2console.log(next)3var next = await child.nextTimestamp()4console.log(next)5var next = await grandchild.nextTimestamp()6console.log(next)7contract Root {8 uint256 public nextTimestamp;9 function nextTimestamp() public returns (uint256) {10 nextTimestamp = block.timestamp + 1 minutes;11 return nextTimestamp;12 }13}14contract Child is Root {15 function nextTimestamp() public returns (uint256) {16 nextTimestamp = block.timestamp + 2 minutes;17 return nextTimestamp;18 }19}20contract Grandchild is Child {21 function nextTimestamp() public returns (uint256) {22 nextTimestamp = block.timestamp + 3 minutes;23 return nextTimestamp;24 }25}
Using AI Code Generation
1var root = web3.eth.contract(rootABI).at(rootAddress);2var nextTimestamp = root.nextTimestamp();3console.log("nextTimestamp: " + nextTimestamp);4var child = web3.eth.contract(childABI).at(childAddress);5var nextTimestamp = child.nextTimestamp();6console.log("nextTimestamp: " + nextTimestamp);7contract ChildContract is RootContract {8}9contract ChildContract is RootContract {10 function nextTimestamp() public view returns (uint) {11 }12}13contract ChildContract is RootContract {14 function nextTimestamp() public view returns (uint) {15 super.nextTimestamp();16 }17}
Using AI Code Generation
1const root = require('./root');2let nextTimestamp = root.nextTimestamp;3const root = require('./root');4let nextTimestamp = root.nextTimestamp;5const root = require('./root');6let nextTimestamp = root.nextTimestamp;7const { nextTimestamp } = require('./root');8const { nextTimestamp } = require('./root');9const { nextTimestamp } = require('./root');10const { nextTimestamp: getNextTimestamp } = require('./root');11const { nextTimestamp: getNextTimestamp } = require('./root');12const { nextTimestamp: getNextTimestamp } = require('./root');13const { nextTimestamp, previousTimestamp } = require('./root');14const { nextTimestamp, previousTimestamp } = require('./root');15const { nextTimestamp, previousTimestamp } = require('./root');
Using AI Code Generation
1export default async (callback) => {2 try {3 const root = await Root.at(Root.address)4 const timestamp = await root.nextTimestamp()5 console.log("Next timestamp is ", timestamp.toString())6 } catch (e) {7 console.log(e)8 }9 callback()10}11export default async (callback) => {12 try {13 const root = await Root.at(Root.address)14 const timestamp = await root.nextTimestamp()15 console.log("Next timestamp is ", timestamp.toString())16 } catch (e) {17 console.log(e)18 }19 callback()20}21export default async (callback) => {22 try {23 const root = await Root.at(Root.address)24 const timestamp = await root.nextTimestamp()25 console.log("Next timestamp is ", timestamp.toString())26 } catch (e) {27 console.log(e)28 }29 callback()30}31export default async (callback) => {32 try {33 const root = await Root.at(Root.address)34 const timestamp = await root.nextTimestamp()35 console.log("Next timestamp is ", timestamp.toString())36 } catch (e) {37 console.log(e)38 }39 callback()40}41export default async (callback) => {42 try {43 const root = await Root.at(Root.address)44 const timestamp = await root.nextTimestamp()45 console.log("Next timestamp is ", timestamp.toString())46 } catch (e) {47 console.log(e)48 }49 callback()50}51export default async (callback) => {52 try {53 const root = await Root.at(Root.address)54 const timestamp = await root.nextTimestamp()55 console.log("Next timestamp is ", timestamp.toString())56 } catch (e) {57 console.log(e)58 }
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!