From f31674f8864648d9f6aecd7c5d6ead11df25fe0b Mon Sep 17 00:00:00 2001 From: Ignacio Mazzara Date: Tue, 21 Jan 2020 16:57:23 -0300 Subject: [PATCH 1/2] feat: add dcl known functions --- src/data/decentraland/knownFunctions.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 src/data/decentraland/knownFunctions.js diff --git a/src/data/decentraland/knownFunctions.js b/src/data/decentraland/knownFunctions.js new file mode 100644 index 0000000..24078c7 --- /dev/null +++ b/src/data/decentraland/knownFunctions.js @@ -0,0 +1,12 @@ +export default { + 'setOwner(address)': 'Set `$1` as the new owner', + 'setOwner(bytes32,address)': 'Set `$2` as the new owner of the `$1` node', + 'transfer(address,uint256)': 'Transfer `@tokenAmount(self, $2)` to `$1`', + 'payday()': 'Get owed Payroll allowance', + 'setOwnerCutPerMillion(uint256)': 'Set marketplace fees to `$1 / 1000000`%', + 'transferMarketplaceOwnership(address)': + 'Transfer ownership of the marketplace to `$1`', + 'transferOwnership(address)': 'Transfer ownership of the contract to `$1`', + 'pause()': 'Pause contract', + 'unpause()': 'Unpause Contract`' +} From 0caa3a831d346a13bfc793b9db9c9241e6674b13 Mon Sep 17 00:00:00 2001 From: Brett Sun Date: Thu, 23 Jan 2020 21:01:16 +0100 Subject: [PATCH 2/2] feat: handle dcl known functions in @radspec helper --- src/data/decentraland/knownFunctions.js | 4 ---- src/data/index.js | 7 +++++++ src/helpers/radspec.js | 2 +- test/examples/examples.js | 7 +++++++ 4 files changed, 15 insertions(+), 5 deletions(-) create mode 100644 src/data/index.js diff --git a/src/data/decentraland/knownFunctions.js b/src/data/decentraland/knownFunctions.js index 24078c7..e47b548 100644 --- a/src/data/decentraland/knownFunctions.js +++ b/src/data/decentraland/knownFunctions.js @@ -1,8 +1,4 @@ export default { - 'setOwner(address)': 'Set `$1` as the new owner', - 'setOwner(bytes32,address)': 'Set `$2` as the new owner of the `$1` node', - 'transfer(address,uint256)': 'Transfer `@tokenAmount(self, $2)` to `$1`', - 'payday()': 'Get owed Payroll allowance', 'setOwnerCutPerMillion(uint256)': 'Set marketplace fees to `$1 / 1000000`%', 'transferMarketplaceOwnership(address)': 'Transfer ownership of the marketplace to `$1`', diff --git a/src/data/index.js b/src/data/index.js new file mode 100644 index 0000000..239b3cc --- /dev/null +++ b/src/data/index.js @@ -0,0 +1,7 @@ +import dclKnownFunctions from './decentraland/knownFunctions' +import baseKnownFunctions from './knownFunctions' + +export const knownFunctions = { + ...dclKnownFunctions, + ...baseKnownFunctions +} diff --git a/src/helpers/radspec.js b/src/helpers/radspec.js index 4f16bdf..ed1b9a6 100644 --- a/src/helpers/radspec.js +++ b/src/helpers/radspec.js @@ -2,7 +2,7 @@ import ABI from 'web3-eth-abi' import { keccak256 } from 'web3-utils' import MethodRegistry from './lib/methodRegistry' import { evaluateRaw } from '../lib/' -import knownFunctions from '../data/knownFunctions' +import { knownFunctions } from '../data/' const makeUnknownFunctionNode = (methodId) => ({ type: 'string', diff --git a/test/examples/examples.js b/test/examples/examples.js index 363caf3..cc06c80 100644 --- a/test/examples/examples.js +++ b/test/examples/examples.js @@ -225,6 +225,13 @@ const dataDecodeCases = [ data: bytes('0x6881385b') // payday(), on knownFunctions } }, 'Payroll: Get owed Payroll allowance!'], + [{ + source: 'Decentraland: `@radspec(addr, data)`', + bindings: { + addr: address(), + data: bytes('0x1206dc5f00000000000000000000000031ab1f92344e3277ce9404e4e097dab7514e6d27') // transferMarketplaceOwnership(), on decentraland's knownFunctions + } + }, 'Decentraland: Transfer ownership of the marketplace to 0x31AB1f92344e3277ce9404E4e097dab7514E6D27'], [{ source: 'Transfer: `@radspec(addr, data)`', bindings: {