Skip to content

Instantly share code, notes, and snippets.

View marekkirejczyk's full-sized avatar

Marek Kirejczyk marekkirejczyk

View GitHub Profile
@marekkirejczyk
marekkirejczyk / findEventFragment.test.ts
Created May 3, 2020 06:33
findEventFragment.test.ts
import {expect} from 'chai';
import {findEventFragment} from '../../src/matchers/findEventFragment';
const contract = {
interface: {
events:
{
'One(uint256,string,bytes32)':
{
name: 'One',
import {Contract} from "ethers"
export class AmbiguousEvent extends Error {
constructor(eventName: string, candidates: string[]) {
super(`Ambiguous event ${eventName}, could be ${candidates.join(' or ')}`);
}
};
export const findEventFragment = (contract: Contract, eventName: string) => {
const candidates: [string, object][]
@marekkirejczyk
marekkirejczyk / callExpectations.ts
Created April 23, 2020 14:44
Smart Contract Fakes and method call expectations with Waffle
expect('balanceOf').to.be.calledOn(tokenContract);
expect('balanceOf').to.be.calledOn(tokenContract).withArgs('0x00...00');
@marekkirejczyk
marekkirejczyk / mock.test.ts
Created April 23, 2020 14:38
Mocking Smart Contracts with Waffle
const mockContract = await deployMockContract(wallet, Contract.interface);
await mockContract.mock.add.returns(1);
await mockContract.mock.mul.withArgs(2, 2).returns(4);
await mockContract.mock.div.withArgs(3, 0).reverts();
@marekkirejczyk
marekkirejczyk / onboard.js
Created April 14, 2020 09:00
Adding Unilogin to Onnoard.js initialization
...
onboard = Onboard({
...
wallets: {
{ walletName: 'unilogin', preferred: true },
...
}
})
this.setState({ onboard })
}
import UniLoginProvider from '@universal-login/provider';
...
web3.setProvider(UniLoginProvider.createPicker(web3.currentProvider));
yarn add @universal-login/provider
@marekkirejczyk
marekkirejczyk / Recommended.js
Created December 9, 2019 13:59
Recommended methods
@marekkirejczyk
marekkirejczyk / deprecated.js
Created December 9, 2019 13:59
Deprecated methods
sdk.addKey(to: string, publicKey: string, privateKey: string, executionOptions: SdkExecutionOptions)
sdk.addKeys(to: string, publicKeys: string[], privateKey: string, executionOptions: SdkExecutionOptions)
sdk.removeKey(to: string, key: string, privateKey: string, executionOptions: SdkExecutionOptions)
sdk.setRequiredSignatures(to: string, requiredSignatures: number, privateKey: string, executionOptions: SdkExecutionOptions)
sdk.keyExist(walletContractAddress: string, key: string)
sdk.getNonce(walletContractAddress: string)
@marekkirejczyk
marekkirejczyk / deprecated.js
Created November 26, 2019 15:34
Deprecating sdk methods
Deprecated methods:
sdk.addKey(to: string, publicKey: string, privateKey: string, executionOptions: SdkExecutionOptions)
sdk.addKeys(to: string, publicKeys: string[], privateKey: string, executionOptions: SdkExecutionOptions)
sdk.removeKey(to: string, key: string, privateKey: string, executionOptions: SdkExecutionOptions)
sdk.setRequiredSignatures(to: string, requiredSignatures: number, privateKey: string, executionOptions: SdkExecutionOptions)
sdk.keyExist(walletContractAddress: string, key: string)
sdk.getNonce(walletContractAddress: string)
Recommended methods:
wallet.addKey(publicKey: string, executionOptions: ExecutionOptions)