mirror of
https://github.com/embarklabs/embark.git
synced 2025-02-08 03:43:39 +00:00
This commit introduces a new feature that enables users to calculate Smart Contract constructor arguments lazily using an (async) function. Similar to normal Smart Contract configurations, the return or resolved value from that function has to be either a list of arguments in the order as they are needed for the constructor, or as an object with named members that match the arguments individually. ``` ... development: { deploy: { SimpleStorage: { args: async ({ contracts, web3, logger}) => { // do something with `contracts` and `web3` to determine // arguments let someValue = await ...; return [someValue]; // or return { initialValue: someValue }; } } } } ... ``` Closes #2270
embark-ens
Implements ENS support in Embark
This module:
- registers console commands to interact with ENS
- deploys & setups ENS contracts depending on the network
- implements ENS support in EmbarkJS
- setups generated code acording to the config
API
command: ens:resolve
- returns the address of an ens name
arguments:
name
- ens name to resolve
response:
error
- if an error occurs, null otherwiseaddress
- address associated to the ensname
given
command: ens:isENSName
- checks is it's a (valid) ENS name
arguments:
name
- ens name to validate
response:
error
- if an error occurs, null otherwiseresult
- true/false depending ifname
given is a valid ens name
command: storage:ens:associate
- associates an hash to an ENS domain
arguments:
options
name
- ens namestorageHash
- hash to associate
response:
error
- if an error occurs, null otherwise
Web API
endpoint: GET /embark-api/ens/resolve
- returns the address of an ens name
arguments:
name
- ens name to resolve
response:
{
address: <address of ens name>
}
endpoint: GET /embark-api/ens/lookup
- returns the ens name of an address
arguments:
address
- address to query
response:
{
name: <ens name of address>
}
endpoint: POST /embark-api/ens/register
registers a domain or subdomain
arguments:
subdomain
- ens domainaddress
- address to associate
response:
{
name: <ens name>
address: <address>
}
Dependencies
- async
- eth-ens-namehash
- embarkjs.utils
- secureSend
- embark utils
- AddressUtils
- hashTo32ByteHexString
- recursiveMerge