0.5.0 • Published 3 days ago

@daohaus/contract-utils v0.5.0

Weekly downloads
-
License
-
Repository
github
Last release
3 days 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: '0x5',
  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.0

3 days ago

0.4.5

4 days ago

0.4.4

1 month ago

0.4.3

2 months ago

0.4.2

3 months ago

0.4.1

4 months ago

0.4.0

4 months ago

0.3.3

5 months ago

0.3.0

7 months ago

0.3.2

6 months ago

0.3.1

6 months ago

0.1.32

10 months ago

0.2.0-alpha.0

9 months ago

0.2.0-alpha.4

9 months ago

0.2.0-alpha.3

9 months ago

0.2.0-alpha.6

9 months ago

0.2.0-alpha.5

9 months ago

0.2.1

9 months ago

0.2.0

9 months ago

0.2.3

8 months ago

0.2.2

8 months ago

0.1.31

11 months ago

0.1.30

11 months ago

0.1.27

12 months ago

0.1.28

12 months ago

0.1.29

11 months ago

0.1.25

12 months ago

0.1.26

12 months ago

0.1.21

1 year ago

0.1.22

1 year ago

0.1.23

1 year ago

0.1.24

1 year ago

0.1.20

1 year ago

0.1.19

1 year ago

0.1.16

1 year ago

0.1.17

1 year ago

0.1.18

1 year ago

0.1.4

1 year ago

0.1.5

1 year ago

0.1.3

1 year ago

0.1.2

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago

0.0.13

1 year ago

0.0.12

1 year ago

0.0.11

1 year ago

0.0.10

1 year ago

0.0.9

1 year ago

0.0.8

1 year ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago