28 lines
1.1 KiB
TypeScript
28 lines
1.1 KiB
TypeScript
import { assert as sharedAssert } from '@0xproject/assert';
|
|
// We need those two unused imports because they're actually used by sharedAssert which gets injected here
|
|
// tslint:disable-next-line:no-unused-variable
|
|
import { Schema } from '@0xproject/json-schemas';
|
|
// tslint:disable-next-line:no-unused-variable
|
|
import { ECSignature } from '@0xproject/types';
|
|
import { BigNumber } from '@0xproject/utils';
|
|
import { Web3Wrapper } from '@0xproject/web3-wrapper';
|
|
import * as _ from 'lodash';
|
|
|
|
import { isValidSignature } from './signature_utils';
|
|
|
|
export const assert = {
|
|
...sharedAssert,
|
|
async isSenderAddressAsync(
|
|
variableName: string,
|
|
senderAddressHex: string,
|
|
web3Wrapper: Web3Wrapper,
|
|
): Promise<void> {
|
|
sharedAssert.isETHAddressHex(variableName, senderAddressHex);
|
|
const isSenderAddressAvailable = await web3Wrapper.isSenderAddressAvailableAsync(senderAddressHex);
|
|
sharedAssert.assert(
|
|
isSenderAddressAvailable,
|
|
`Specified ${variableName} ${senderAddressHex} isn't available through the supplied web3 provider`,
|
|
);
|
|
},
|
|
};
|