@0x/json-schemas: Rename CallData.value -> CallData.balance and make it `wholeNumberSchema type.'

`@0x/web3-wrapper`: Only supply overrides to eth_call RPC if provided.
This commit is contained in:
Lawrence Forman
2020-07-01 20:43:33 -04:00
parent 13ae335811
commit 11940fb98e
3 changed files with 10 additions and 6 deletions

View File

@@ -27,13 +27,13 @@
"properties": {
"code": {
"type": "string",
"pattern": "^0x[0-9a-f]*$"
"pattern": "^0x[0-9a-fA-F]*$"
},
"nonce": {
"oneOf": [{ "$ref": "/numberSchema" }, { "$ref": "/jsNumberSchema" }]
"oneOf": [{ "$ref": "/wholeNumberSchema" }]
},
"value": {
"oneOf": [{ "$ref": "/numberSchema" }, { "$ref": "/jsNumberSchema" }]
"balance": {
"oneOf": [{ "$ref": "/wholeNumberSchema" }]
}
}
}

View File

@@ -180,8 +180,9 @@ export const marshaller = {
for (const address in overrides) {
if (address) {
const override = overrides[address];
const marshalledAddress = marshaller.marshalAddress(address);
const marshalledOverride: GethCallOverridesRPC[keyof GethCallOverridesRPC] = (marshalled[
marshaller.marshalAddress(address)
marshalledAddress
] = {});
if (override.code !== undefined) {
marshalledOverride.code = override.code;
@@ -192,6 +193,9 @@ export const marshaller = {
if (override.balance !== undefined) {
marshalledOverride.balance = utils.encodeAmountAsHexString(override.balance);
}
if (Object.keys(marshalledOverride).length === 0) {
delete marshalled[marshalledAddress];
}
}
}
return marshalled;

View File

@@ -565,7 +565,7 @@ export class Web3Wrapper {
const overrides = marshaller.marshalCallOverrides(callData.overrides || {});
const rawCallResult = await this.sendRawPayloadAsync<string>({
method: 'eth_call',
params: [callDataHex, marshalledDefaultBlock, overrides],
params: [callDataHex, marshalledDefaultBlock, ...(Object.keys(overrides).length === 0 ? [] : [overrides])],
});
return rawCallResult;
}