aboutsummaryrefslogtreecommitdiffstats
path: root/packages/web3-wrapper/src
diff options
context:
space:
mode:
authorJacob Evans <jacob@dekz.net>2018-10-01 18:37:13 +0800
committerJacob Evans <jacob@dekz.net>2018-10-05 09:59:24 +0800
commitadcfaa2e80389f69e196b602955cee858a1eb40f (patch)
treed97a4c65982f5062ef70d357b6bad1181dec0292 /packages/web3-wrapper/src
parent119f8c94495a15ef43298a77abc87fb9d33b4bb3 (diff)
downloaddexon-0x-contracts-adcfaa2e80389f69e196b602955cee858a1eb40f.tar.gz
dexon-0x-contracts-adcfaa2e80389f69e196b602955cee858a1eb40f.tar.zst
dexon-0x-contracts-adcfaa2e80389f69e196b602955cee858a1eb40f.zip
Expose eth_signTypedData functionality for order signing
Diffstat (limited to 'packages/web3-wrapper/src')
-rw-r--r--packages/web3-wrapper/src/web3_wrapper.ts15
1 files changed, 15 insertions, 0 deletions
diff --git a/packages/web3-wrapper/src/web3_wrapper.ts b/packages/web3-wrapper/src/web3_wrapper.ts
index d52c1cb6e..df6879a48 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 (might be VRS or RSV depending on the Signer)
+ */
+ public async signTypedDataAsync(address: string, typedData: object): Promise<string> {
+ assert.isETHAddressHex('address', address);
+ assert.doesConformToSchema('typedData', typedData, schemas.eip712TypedData);
+ const signData = await this.sendRawPayloadAsync<string>({
+ method: 'eth_signTypedData',
+ params: [address, typedData],
+ });
+ return signData;
+ }
+ /**
* Fetches the latest block number
* @returns Block number
*/