diff options
author | Jacob Evans <jacob@dekz.net> | 2018-10-09 15:26:13 +0800 |
---|---|---|
committer | Jacob Evans <jacob@dekz.net> | 2018-10-09 16:01:36 +0800 |
commit | 9e8031d5e3cf94cabe07685be510397367e90413 (patch) | |
tree | 548a3918ed9eb5325db3973d76924907b142aae0 /packages/web3-wrapper/src/web3_wrapper.ts | |
parent | e1236a484623e9d2caab823c476175cb255ae816 (diff) | |
download | dexon-0x-contracts-9e8031d5e3cf94cabe07685be510397367e90413.tar dexon-0x-contracts-9e8031d5e3cf94cabe07685be510397367e90413.tar.gz dexon-0x-contracts-9e8031d5e3cf94cabe07685be510397367e90413.tar.bz2 dexon-0x-contracts-9e8031d5e3cf94cabe07685be510397367e90413.tar.lz dexon-0x-contracts-9e8031d5e3cf94cabe07685be510397367e90413.tar.xz dexon-0x-contracts-9e8031d5e3cf94cabe07685be510397367e90413.tar.zst dexon-0x-contracts-9e8031d5e3cf94cabe07685be510397367e90413.zip |
Throw and handle errors from Providers.
In web3 wrapper when a response contains an error field we throw this rather than return response.result which is often undefined.
In Signature Utils we handle the error thrown when a user rejects the signing dialogue to prevent double signing.
Exposed the ZeroExTransaction JSON schema.
In Website only use the MetamaskSubprovider if we can detect the provider is Metamask
Diffstat (limited to 'packages/web3-wrapper/src/web3_wrapper.ts')
-rw-r--r-- | packages/web3-wrapper/src/web3_wrapper.ts | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/packages/web3-wrapper/src/web3_wrapper.ts b/packages/web3-wrapper/src/web3_wrapper.ts index 034bafb5f..726246f1a 100644 --- a/packages/web3-wrapper/src/web3_wrapper.ts +++ b/packages/web3-wrapper/src/web3_wrapper.ts @@ -322,7 +322,7 @@ export class Web3Wrapper { */ public async signTypedDataAsync(address: string, typedData: any): Promise<string> { assert.isETHAddressHex('address', address); - assert.doesConformToSchema('typedData', typedData, schemas.eip712TypedData); + assert.doesConformToSchema('typedData', typedData, schemas.eip712TypedDataSchema); const signData = await this.sendRawPayloadAsync<string>({ method: 'eth_signTypedData', params: [address, typedData], @@ -669,6 +669,9 @@ export class Web3Wrapper { ...payload, }; const response = await promisify<JSONRPCResponsePayload>(sendAsync)(payloadWithDefaults); + if (response.error) { + throw new Error(response.error.message); + } const result = response.result; return result; } |