How to use web3-utils - 10 common examples

To help you get started, we’ve selected a few web3-utils examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github clearmatics / ion / test / validation.js View on Github external
it('Authentic Submission Happy Path - SubmitBlock()', async () => {
    const ion = await Ion.new(DEPLOYEDCHAINID);
    const validation = await Validation.new(ion.address);
   
    await validation.RegisterChain(TESTCHAINID, VALIDATORS, GENESIS_HASH);

    // Fetch block 1 from testrpc
    const block = web3.eth.getBlock(1);

    const rlpHeaders = encoder.encodeBlockHeader(block);
    const signedHeaderHash = Web3Utils.sha3(rlpHeaders.signed);
    assert.equal(block.hash, signedHeaderHash);

    // Submit block should succeed
    const validationReceipt = await validation.SubmitBlock(TESTCHAINID, rlpHeaders.unsigned, rlpHeaders.signed);
    const recoveredBlockHash = await validation.getLatestBlockHash.call(TESTCHAINID);
    assert.equal(signedHeaderHash, recoveredBlockHash);
    console.log("\tGas used to submit block = " + validationReceipt.receipt.gasUsed.toString() + " gas");

    let blockHash = await validation.m_blockhashes(TESTCHAINID, block.hash);
    assert.equal(blockHash, true);

    let header = await validation.m_blockheaders(TESTCHAINID, block.hash);

    // Separate fetched header info
    parentHash = header[2];
github JoinColony / colonyNetwork / test / reputation-system / types-of-disagreement.js View on Github external
await goodClient.resetDB();
      await goodClient.addLogContentsToReputationTree();
      await advanceMiningCycleNoContest({ colonyNetwork, test: this, client: goodClient });
      await goodClient.saveCurrentState();

      // The update log should contain the person being rewarded for the previous
      // update cycle, and reputation updates for one task completion (manager, worker (skill and domain), evaluator);
      // That's five in total.
      const repCycle = await getActiveRepCycle(colonyNetwork);
      const nLogEntries = await repCycle.getReputationUpdateLogLength();
      expect(nLogEntries).to.eq.BN(5);

      const badClient = new MaliciousReputationMinerExtraRep(
        { loader, realProviderPort, useJsTree, minerAddress: MINER2 },
        17,
        toBN("170141183460469231731687302715884105727").mul(toBN(-1))
      );
      await badClient.initialise(colonyNetwork.address);

      // Moving the state to the bad client
      const currentGoodClientState = await goodClient.getRootHash();
      await badClient.loadState(currentGoodClientState);

      await submitAndForwardTimeToDispute([goodClient, badClient], this);

      await accommodateChallengeAndInvalidateHash(colonyNetwork, this, goodClient, badClient, {
        client2: { respondToChallenge: "colony-reputation-mining-reputation-not-max-int128" }
      });
      await repCycle.confirmNewHash(1);
    });
  });
github NovakDistributed / macroverse / test / TestMacroverseUniversalRegistry.js View on Github external
it("should prohibit revealing at the right time but with too low a deposit", async function() {
    let instance = await MacroverseUniversalRegistry.deployed()
    let backend = await MacroverseRealEstate.deployed()

    // Remember our commitment from the last test?
    let to_claim = mv.keypathToToken('0.0.0.0')
    let nonce = 0xDEAD
    
    assert.equal(await backend.exists(to_claim), false, "Token exists too early")

    // We're also going to test price adjustments

    let since = web3.eth.getBlock('latest').number

    // Adjust the price up
    await instance.setMinimumSystemDeposit(Web3Utils.toWei("1001", "ether"))

    let saw_event = false
    let new_price = undefined
    for (let event_report of await instance.getPastEvents('DepositScaleChange', {fromBlock: since})) {
      if (event_report.event == 'DepositScaleChange') {
        // Remember we saw the change
        saw_event = true
        // And what we changed to
        new_price = event_report.args.new_min_system_deposit_in_atomic_units
      }
    }

    assert.equal(saw_event, true, "We got the first expected price change event")
    assert.equal(new_price, Web3Utils.toWei("1001", "ether"), "We got the first expected new price")

    await assert_throws(instance.reveal(to_claim, nonce), "Revealed with too small deposit")
github enigmampc / secret-contracts / enigma-lib / test-utils.js View on Github external
register () {
        //***** Simulating the principal node
        console.log ('registering principal', this.custodian);
        const report = engUtils.encodeReport (
            this.params[1],
            this.params[2],
            this.params[3],
        );
        // Using the same artificial data for all workers
        return this.contract.register (
            this.params[0], report, {
                from: this.custodian,
                gas: 4712388,
                gasPrice: web3Utils.toWei (GAS_PRICE_GWEI, 'gwei')
            }
        );
    }
github NovakDistributed / macroverse / test / TestMacroverseUniversalRegistry.js View on Github external
it("should prohibit revealing for a parent token of owned land", async function() {
    let instance = await MacroverseUniversalRegistry.deployed()
    let mrv = await MRVToken.deployed()

    // Approve the deposit tokens
    await mrv.approve(instance.address, await mrv.balanceOf.call(accounts[1]), {from: accounts[1]})

    // This is a parent of the land token we have been working with
    let to_claim = mv.keypathToToken('0.0.0.0.0.-1.7.2.2')
    let nonce = 0xDEADBEEF88
    let data_hash = mv.hashTokenAndNonce(to_claim, nonce)

    // Commit for it
    await instance.commit(data_hash, Web3Utils.toWei("1000", "ether"), {from: accounts[1]})

    // Advance time for 10 minutes to mature the commitment
    await mv.advanceTime(10)

    // Now try revealing. It should fail.
    await assert_throws(instance.reveal(to_claim, nonce), "Revealed land superplot")

    // Clean up
    await instance.cancel(data_hash, {from: accounts[1]})
  })
github 0xbitcoin / 0xbitcoin-token / test / network-interface-helper.js View on Github external
try{
        var txCount = await web3.eth.getTransactionCount(addressFrom);
        console.log('txCount',txCount)
       } catch(error) {  //here goes if someAsyncPromise() rejected}
        console.log(error);
         return error;    //this will result in a resolved promise.
       }


    const txOptions = {
      nonce: web3Utils.toHex(txCount),
      gasLimit: web3Utils.toHex(25000),
      gasPrice: web3Utils.toHex(2e9), // 2 Gwei
      to: addressTo,
      from: addressFrom,
      value: web3Utils.toHex(web3Utils.toWei('123', 'wei'))
    //  value: web3Utils.toHex(web3Utils.toWei('123', 'wei'))
    }

    // fire away!

    console.log('fire away ')
    await this.sendSignedRawTransaction(web3,txOptions,addressFrom,account, function(err, result) {
      if (err) return console.log('error', err)
      console.log('sent', result)
    })



  },
github aragon / radspec / test / examples / examples.js View on Github external
source: "With value: Send `@tokenAmount(token, msg.value)` from `msg.sender` to `receiver`",
    bindings: { token: address(ETH), receiver:  address('0x8401Eb5ff34cc943f096A32EF3d5113FEbE8D4Eb') },
    options: { from: '0xb4124cEB3451635DAcedd11767f004d8a28c6eE7', value: '1000000000000000000' },
  }, 'With value: Send 1 ETH from 0xb4124cEB3451635DAcedd11767f004d8a28c6eE7 to 0x8401Eb5ff34cc943f096A32EF3d5113FEbE8D4Eb'],

  [{
    source: "Sending tx with data `msg.data` to contract at `contract`",
    bindings: { contract: address('0x960b236A07cf122663c4303350609A66A7B288C0') },
    options: { data: '0xabcdef'}
  }, "Sending tx with data 0xabcdef to contract at 0x960b236A07cf122663c4303350609A66A7B288C0"],
  
  // using msg.data on a helper
  [{
    source: "Performs a call to `@radspec(contract, msg.data)`",
    bindings: { contract: address('0x960b236A07cf122663c4303350609A66A7B288C0') },
    options: { data: keccak256(Object.keys(knownFunctions)[3]).slice(0,10) }
  }, `Performs a call to ${Object.values(knownFunctions)[3]}`],

  ...comparisonCases,
  ...helperCases,
  ...dataDecodeCases
]

cases.forEach(([input, expected], index) => {
  test(`${index} - ${input.source}`, async (t) => {
    const { userHelpers } = input.options || {}
    const actual = await evaluateRaw(
      input.source,
      input.bindings,
      {
        ...input.options,
        availableHelpers: { ...defaultHelpers, ...userHelpers }
github trufflesuite / truffle-debugger / test / data / decode / utils.js View on Github external
it("returns correct negative value", function() {
      let bytes = [0xf5, 0xe2, 0xc5, 0x17];  // starts with 0b1
      let raw = new BN("f5e2c517", 16);
      let bitfipped = new BN(
        raw.toString(2)
          .replace(/0/g, "x")
          .replace(/1/g, "0")
          .replace(/x/g, "1"),
        2
      );

      let expectedValue = bitfipped.add(new BN(1)).neg();

      let result = utils.toSignedBN(bytes);

      assert.equal(result.toString(), expectedValue.toString());
    });
github 0xbitcoin / 0xbitcoin-token / test / mining-helper.js View on Github external
//  console.log('digestBigNumber',digestBigNumber.toString())
              // console.log('miningTarget',miningTarget.toString())

                 if ( digestBigNumber.lt(miningTarget) )
                 {


                    console.log(minerEthAddress)
                     console.log('------')
                     console.log(solution_number)
                      console.log(challenge_number)
                        console.log(solution_number)
                    console.log('------')
                     console.log( web3utils.bytesToHex(digestBytes32))
                 }


             if ( digestBigNumber.lt(miningTarget)  )
             {
               //pass in digest bytes or trimmed ?

               if(this.testMode){
                 this.mining = false;

                 this.networkInterface.checkMiningSolution( minerEthAddress, solution_number , web3utils.bytesToHex( digestBytes32 ),challenge_number,miningTarget,
                   function(result){
                    console.log('checked mining soln:' ,result)
                  })
              }else {
                console.log('submit mined solution with challenge ', challenge_number)
github OpenZeppelin / openzeppelin-contracts-ethereum-package / test / helpers / makeInterfaceId.js View on Github external
    .map(methodSignature => soliditySha3(methodSignature)) // keccak256
    .map(h =>