• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Mintbase / mintbase-js / 7886709676

13 Feb 2024 12:46PM CUT coverage: 76.836%. First build
7886709676

Pull #470

github

rubenmarcus
add to mintbase
Pull Request #470: change node version

803 of 1223 branches covered (65.66%)

Branch coverage included in aggregate %.

1101 of 1255 relevant lines covered (87.73%)

12.72 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

70.37
/packages/sdk/src/setSplits/setSplits.ts
1
/* eslint-disable @typescript-eslint/camelcase */
2
import { mbjs } from '../config/config';
3✔
3
import { GAS, STORAGE_BYTES, STORAGE_PRICE_PER_BYTE_EXPONENT } from '../constants';
3✔
4
import { ERROR_MESSAGES } from '../errorMessages';
3✔
5
import { SetSplitsArgs, SetSplitsArgsResponse, TOKEN_METHOD_NAMES, NearContractCall } from '../types';
3✔
6

7

8
/**
9
 * Set splits for a token
10
 * @param setSplitsArguments {@link SetSplitsArgs}
11
 * @returns contract call to be passed to @mintbase-js/sdk execute method
12
 */
13
export const setSplits = (args: SetSplitsArgs): NearContractCall<SetSplitsArgsResponse> => {
3✔
14
  const {
15
    contractAddress = mbjs.keys.contractAddress,
×
16
    tokenIds,
17
    splitOwners,
18
  } = args;
3✔
19

20
  if (contractAddress == null) {
3!
21
    throw new Error(ERROR_MESSAGES.CONTRACT_ADDRESS);
×
22
  }
23

24
  if (tokenIds.length < 1) {
3!
25
    throw new Error(ERROR_MESSAGES.SET_SPLITS_NO_TOKEN_IDS);
×
26
  }
27

28
  const requiredBytes = Object.keys(splitOwners).length * tokenIds.length * STORAGE_BYTES.COMMON;
3✔
29
  const deposit = `${requiredBytes.toString()}${'0'.repeat(STORAGE_PRICE_PER_BYTE_EXPONENT)}`;
3✔
30

31
  let sum = 0;
3✔
32
  const intSplitOwners = {};
3✔
33
  Object.entries(splitOwners).forEach(([account, split]) => {
3✔
34
    const intSplit = split * 10000;
6✔
35
    intSplitOwners[account] = intSplit;
6✔
36
    sum += intSplit;
6✔
37
  });
38

39
  if (sum !== 10000) {
3!
40
    throw new Error(ERROR_MESSAGES.SPLITS_NOT_HUNDERT_PERCENT);
×
41
  }
42

43
  return {
3✔
44
    contractAddress: contractAddress || mbjs.keys.contractAddress,
2!
45
    args: {
46
      token_ids: tokenIds,
47
      split_between: intSplitOwners,
48
    },
49
    methodName: TOKEN_METHOD_NAMES.SET_SPLITS,
50
    deposit,
51
    gas: GAS,
52
  };
53
};
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc