UNPKG

@agoric/ertp

Version:

Electronic Rights Transfer Protocol (ERTP). A smart contract framework for exchanging electronic rights

33 lines (29 loc) 601 B
// @ts-check import { keyEQ, makeCopySet, fit, M, getCopySetKeys, setIsSuperset, setDisjointUnion, setDisjointSubtract, } from '@agoric/store'; import '../types.js'; /** @type {CopySetValue} */ const empty = makeCopySet([]); /** * @type {CopySetMathHelpers} */ export const copySetMathHelpers = harden({ doCoerce: set => { fit(set, M.set(), 'set of amount'); return set; }, doMakeEmpty: () => empty, doIsEmpty: set => getCopySetKeys(set).length === 0, doIsGTE: setIsSuperset, doIsEqual: keyEQ, doAdd: setDisjointUnion, doSubtract: setDisjointSubtract, });