diff options
author | Fabio Berger <me@fabioberger.com> | 2018-10-11 20:23:45 +0800 |
---|---|---|
committer | Fabio Berger <me@fabioberger.com> | 2018-10-11 20:23:45 +0800 |
commit | 1cfcc82ea9869e14c1a1b78e1376c89fdbeb91f4 (patch) | |
tree | 48ef8716485c1b961b2494071f5a64f60ff42f29 /packages/web3-wrapper/src/web3_wrapper.ts | |
parent | 6c9f7839c3948e60f2987f474bb2ad6457588fa3 (diff) | |
parent | 8941b6cee5b56fab6d3b89ac8a899f21d5c86350 (diff) | |
download | dexon-sol-tools-1cfcc82ea9869e14c1a1b78e1376c89fdbeb91f4.tar dexon-sol-tools-1cfcc82ea9869e14c1a1b78e1376c89fdbeb91f4.tar.gz dexon-sol-tools-1cfcc82ea9869e14c1a1b78e1376c89fdbeb91f4.tar.bz2 dexon-sol-tools-1cfcc82ea9869e14c1a1b78e1376c89fdbeb91f4.tar.lz dexon-sol-tools-1cfcc82ea9869e14c1a1b78e1376c89fdbeb91f4.tar.xz dexon-sol-tools-1cfcc82ea9869e14c1a1b78e1376c89fdbeb91f4.tar.zst dexon-sol-tools-1cfcc82ea9869e14c1a1b78e1376c89fdbeb91f4.zip |
Merge branch 'development' into dev-section-redesign
* development: (62 commits)
Fix linter error
Upgrade ethereum-types
Lint and update deps
Be more explicit with falsiness
Add type to cssRuleIfExists
Fix issue where we throw if non-numeric characters are used in input
Upgrade to more recent types, fix yarn.lock
[fix]: [testnet-faucet] Exit 1 on build fail
Explains tools we want them to use
Add note about button
Add dev-tools-pages bundles to gitignore
Improve README
Fix button and center
Increase max bundle size for instant
Add stuff
Initial project scaffolding
Change tslint config to remove conflicts with prettier
fix: [testnet-faucet] Signing of orders
Update the CHANGELOG
Add comments for expiryBuffer
...
Diffstat (limited to 'packages/web3-wrapper/src/web3_wrapper.ts')
-rw-r--r-- | packages/web3-wrapper/src/web3_wrapper.ts | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/packages/web3-wrapper/src/web3_wrapper.ts b/packages/web3-wrapper/src/web3_wrapper.ts index d52c1cb6e..726246f1a 100644 --- a/packages/web3-wrapper/src/web3_wrapper.ts +++ b/packages/web3-wrapper/src/web3_wrapper.ts @@ -315,6 +315,21 @@ export class Web3Wrapper { return signData; } /** + * Sign an EIP712 typed data message with a specific address's private key (`eth_signTypedData`) + * @param address Address of signer + * @param typedData Typed data message to sign + * @returns Signature string (as RSV) + */ + public async signTypedDataAsync(address: string, typedData: any): Promise<string> { + assert.isETHAddressHex('address', address); + assert.doesConformToSchema('typedData', typedData, schemas.eip712TypedDataSchema); + const signData = await this.sendRawPayloadAsync<string>({ + method: 'eth_signTypedData', + params: [address, typedData], + }); + return signData; + } + /** * Fetches the latest block number * @returns Block number */ @@ -654,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; } |