0.5.4 • Published 8 months ago

@daohaus/contract-utils v0.5.4

Weekly downloads
-
License
-
Repository
github
Last release
8 months ago

@daohaus/contract-utils

The contract-utils package consists of TypeScript wrappers for our primary contracts. While you will read state data from moloch-v3-data, contract-utils equips you with instances of the contract and access to a set of helpers for making function calls and writing data to the contracts.

It utilizes TypeChain for type generation.

View on NPM

Usage

Installation

yarn add @daohaus/profile-data

Requirements

This packages uses ethers.js providers and rpc endpoints create the connection to the blockchain and contract. You should provide an ether.js provider.

Examples

How to init a contract and make a function call

import { MolochV3Contract } from '@daohaus/contract-utils';

const molochV3 = MolochV3Contract.create({
  address: '0x0somedaoaddress',
  provider: new ethers.providers.JsonRpcProvider('https:///someProviderUrl.com'),
});

molochV3.sponsorProposal('1');

How to summon a DAO

TODO: add a link to user guide on dao params Dao summoning argument explainer here

import { MolochV3AdvTokenSummonerContract } from '@daohaus/contract-utils';

const molochV3AdvSummoner = MolochV3AdvTokenSummonerContract.create({
  networkIs: '0x1',
  provider: new ethers.providers.JsonRpcProvider('https:///someProviderUrl.com'),
});

const daoSetUpData = {
  sharesTokenName: 'Voting',
  sharesTokenSymbol: 'vote',
  lootTokenName: 'nonVoting',
  lootTokenSymbol: 'nvote',
  safeAddress: 'address if using exsiting safe for treasury, blank if creating a new one',
  tokenConfig: {
    pauseShares: true,
    pauseLoot: true,
  },
  governanceConfig: {
    voting: 86400,
    grace: 86400,
    newOffering: 0,
    quorum: 0,
    sponsor: 0,
    minRetention: 66,
  },
  shamanConfig: {
    shamans: ['shamanAddress'],
    permissions: [2],
  },
  sharesConfig: {
    to: ['initialMemberAddress', 'initialMemberAddress'],
    amount: [1000000000000000000, 2000000000000000000],
  },
  lootConfig: {
    to: ['initialLootHolderAddress'],
    amount: [1000000000000000000],
  },
  daoName: 'Cheese DAO',
};

await molochV3AdvSummoner.summonMolochV3(daoSetUpData);

Building

Run nx run contract-utils:build to build the library.

0.5.4

8 months ago

0.5.3

10 months ago

0.5.2

1 year ago

0.5.1

1 year ago

0.5.0

1 year ago

0.4.5

1 year ago

0.4.4

1 year ago

0.4.3

1 year ago

0.4.2

1 year ago

0.4.1

1 year ago

0.4.0

1 year ago

0.3.3

2 years ago

0.3.0

2 years ago

0.3.2

2 years ago

0.3.1

2 years ago

0.1.32

2 years ago

0.2.0-alpha.0

2 years ago

0.2.0-alpha.4

2 years ago

0.2.0-alpha.3

2 years ago

0.2.0-alpha.6

2 years ago

0.2.0-alpha.5

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.2.3

2 years ago

0.2.2

2 years ago

0.1.31

2 years ago

0.1.30

2 years ago

0.1.27

2 years ago

0.1.28

2 years ago

0.1.29

2 years ago

0.1.25

2 years ago

0.1.26

2 years ago

0.1.21

2 years ago

0.1.22

2 years ago

0.1.23

2 years ago

0.1.24

2 years ago

0.1.20

2 years ago

0.1.19

2 years ago

0.1.16

2 years ago

0.1.17

2 years ago

0.1.18

2 years ago

0.1.4

2 years ago

0.1.5

2 years ago

0.1.3

2 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago

0.0.13

3 years ago

0.0.12

3 years ago

0.0.11

3 years ago

0.0.10

3 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago