1.0.77 • Published 2 years ago

@oikos/contracts-interface v1.0.77

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

Contracts Interface to oikos

The official JavaScript library for interacting with oikos protocol contracts.

This library can be used in 2 different environments:

  1. Common-js module for node environments
  2. UMD module for browser environments

Instantiating in node.js or the browser

// For node environments:
const { oikos } = require('@synthetixio/contracts-interface');

// For single page applications:
import { oikos } from '@synthetixio/contracts-interface';

// For browsers you can use a CDN of the minified files
// E.g. <script src="https://cdn.jsdelivr.net/npm/@synthetixio/contracts-interface/build/index.min.js"></script>
// then you can access oikos on the window object:
const { oikos } = window;

// Instantiate the library with or without a provider
const oksjs = oikos({ network: 'mainnet' });

// Note: for typescript applications
import { oikos, Network } from '@synthetixio/contracts-interface';
const oksjs = oikos({ network: Network.Mainnet });

Reading state

const oksjs = oikos({ network: 'mainnet' });

// If you want to interact with a contract, simply follow the convention:
// await oksjs[contractName].methodName(arguments)

const owner = await oksjs.contracts.oikos.owner();

// many arguments require being formatted toBytes32, which we also provide with the library

const { toBytes32 } = oks;

const totalIssuedSynths = await oksjs.contracts.oikos.totalIssuedSynths(toBytes32('oUSD'));

// We also expose ethers utils which provides handy methods for formatting responses to queries.
const { formatEther } = oksjs.utils;

formatEther(await oksjs.contracts.SynthoUSD.totalSupply());

formatEther(await oksjs.contracts.ExchangeRates.rateForCurrency(oksjs.toBytes32('oks')));

// Note can optionally pass in a { blockTag: someBlockNumber } to get data from a specific block instead of {}
const oksAtBlock12m = await oksjs.contracts.ExchangeRates.rateForCurrency(oksjs.toBytes32('oks'), {
  blockTag: 12e6,
});

Signing transactions

// any old provider will do
const provider = ethers.providers.getDefaultProvider('kovan');

// create a signer with a provider attached
const signer = new ethers.Wallet(
  // just a dummy kovan wallet with a little keth from the faucet
  '0xa0d951c494421559c63089093b020cf2f7aac003c916967dc36e989bc695222e',
  provider
);

// and then instantiate oikos with the signer
const oksjs = oikos({ network: 'mainnet', signer });

// mint 0.01 sETH via the NativeEtherWrapper
const response = await oksjs.contracts.NativeEtherWrapper.mint({
  value: parseEther('0.01'),
  gasPrice: parseUnits('5', 'gwei'),
  gasLimit: 500e3,
});
console.log('Submitted', response.hash);
await response.wait();
console.log('Mined', `https://etherscan.io/tx/${response.hash}`);

See the examples folder for more usage details.

1.0.66

2 years ago

1.0.64

2 years ago

1.0.63

2 years ago

1.0.69

2 years ago

1.0.68

2 years ago

1.0.67

2 years ago

1.0.73

2 years ago

1.0.72

2 years ago

1.0.71

2 years ago

1.0.70

2 years ago

1.0.77

2 years ago

1.0.76

2 years ago

1.0.75

2 years ago

1.0.74

2 years ago

1.0.62

3 years ago

1.0.61

3 years ago

1.0.60

3 years ago

1.0.59

3 years ago

1.0.58

3 years ago

1.0.19

3 years ago

1.0.2

3 years ago

1.0.18

3 years ago

1.0.1

3 years ago

1.0.17

3 years ago

1.0.0

3 years ago

1.0.16

3 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.22

3 years ago

1.0.21

3 years ago

1.0.20

3 years ago

1.0.26

3 years ago

1.0.25

3 years ago

1.0.24

3 years ago

1.0.23

3 years ago

1.0.29

3 years ago

1.0.28

3 years ago

1.0.27

3 years ago

1.0.33

3 years ago

1.0.32

3 years ago

1.0.31

3 years ago

1.0.30

3 years ago

1.0.37

3 years ago

1.0.36

3 years ago

1.0.35

3 years ago

1.0.34

3 years ago

1.0.39

3 years ago

1.0.38

3 years ago

1.0.40

3 years ago

1.0.44

3 years ago

1.0.43

3 years ago

1.0.42

3 years ago

1.0.41

3 years ago

1.0.48

3 years ago

1.0.47

3 years ago

1.0.46

3 years ago

1.0.45

3 years ago

1.0.49

3 years ago

1.0.51

3 years ago

1.0.50

3 years ago

1.0.55

3 years ago

1.0.11

3 years ago

1.0.54

3 years ago

1.0.10

3 years ago

1.0.53

3 years ago

1.0.52

3 years ago

1.0.15

3 years ago

1.0.14

3 years ago

1.0.13

3 years ago

1.0.56

3 years ago

1.0.12

3 years ago

2.26.30

3 years ago

2.26.28

3 years ago

2.26.26

3 years ago

2.26.24

3 years ago

2.26.23

3 years ago

2.26.22

3 years ago

2.26.21

3 years ago

2.26.20

3 years ago

2.26.19

3 years ago

2.26.18

3 years ago

2.26.17

3 years ago

2.26.16

3 years ago

2.26.15

3 years ago

2.26.14

3 years ago

2.26.9

3 years ago

2.26.7

3 years ago

2.63.5

3 years ago

2.63.4

3 years ago

2.63.3

3 years ago