Skip to content

Instantly share code, notes, and snippets.

View marekkirejczyk's full-sized avatar

Marek Kirejczyk marekkirejczyk

View GitHub Profile
@marekkirejczyk
marekkirejczyk / klab build
Created February 2, 2019 18:15
klab build
klab build
@marekkirejczyk
marekkirejczyk / key.json
Last active January 26, 2019 10:57
key.json
{
"address":"5409ed021d9299bf6814279a6a1411a7e866a631",
"crypto":{
"cipher":"aes-128-ctr",
"ciphertext":"7c7bdd62b303eb3a42d5d8e935825ed5a05a47cb2cef71e346c61b1bd582f1aa",
"cipherparams":{
"iv":"7fd6c9d9f9893f2c480735b5386b6d75"
},
"kdf":"scrypt",
"kdfparams":{
@marekkirejczyk
marekkirejczyk / spec.k
Last active March 20, 2019 20:36
klab/examples/token/src/spec.md
behaviour transfer of Token
interface transfer(address To, uint Value)
types
FromBal : uint256
ToBal : uint256
storage
@marekkirejczyk
marekkirejczyk / test.js
Created January 18, 2019 15:57
Waffle: Use fixture
it('Assigns initial balance', async () => {
const {token, wallet} = await loadFixture(fixture);
expect(await token.balanceOf(wallet.address)).to.eq(1000);
});
it('Transfer adds amount to destination account', async () => {
const {token, other} = await loadFixture(fixture);
await token.transfer(other.address, 7);
expect(await token.balanceOf(other.address)).to.eq(7);
});
@marekkirejczyk
marekkirejczyk / fixture.js
Created January 18, 2019 15:55
Waffle: Fixture
async function fixture(provider, [wallet]) {
const token = await deployContract(wallet, BasicTokenMock, [wallet.address, 1000]);
return {token, wallet};
}
@marekkirejczyk
marekkirejczyk / changeBalance.js
Created January 18, 2019 15:51
Waffle: changeBalance
await expect(() => myContract.transferWei(receiverWallet.address, 2))
.to.changeBalance(receiverWallet, 2);
@marekkirejczyk
marekkirejczyk / gas
Created November 20, 2018 14:49
execute
function execute(...) public returns (bytes32) {
uint256 startingGas = gasleft();
...
to.call.value(...)(...);
...
uint256 gasUsed = startingGas.sub(gasleft());
refund(gasUsed, gasPrice, gasToken);
return ...;
}
@marekkirejczyk
marekkirejczyk / waffle.js
Created November 16, 2018 16:22
Waffle example test
import chai from 'chai';
import {createMockProvider, deployContract, getWallets, solidity} from 'ethereum-waffle';
import BasicTokenMock from './build/BasicTokenMock';
chai.use(solidity);
const {expect} = chai;
describe('Example', () => {
let provider;
@marekkirejczyk
marekkirejczyk / emit.js
Created November 16, 2018 16:22
emit().withArgs()
await expect(token.transfer(address, 7))
.to.emit(token, 'Transfer')
.withArgs(wallet.address, walletTo.address, 7);
@marekkirejczyk
marekkirejczyk / revertedWith.js
Last active November 16, 2018 16:19
revertedWith
await expect(token.transfer(address, 1))
.to.be.revertedWith('Not enough balance on sender account');