embark/packages
Pascal Precht 1612a96678
feat(@embark/specialconfigs): introduce dynamic address support
This commit introduces a new Smart Contract configuration with `address`
being an asynchronous function. This lets users define a function to "lazily"
compute the address of the Smart Contract in question.

This is useful when a third-party takes care of deploying a dependency
Smart Contract, but the address of that Smart Contract only being available
at run-time.

Example:

```
contracts: {
  SimpleStorage: {
    fromIndex: 0,
    args: [100],
  },
  OtherContract: {
    deps: ['SimpleStorage'],
    address: async (deps) => {
      // use `deps.contracts.SimpleStorage` to determine address
      return Promise.resolve(...);
    },
    abiDefinition: ABI
  },
}
```

In the example above, `OtherContract` will be deployed after `SimpleStorage`
because it uses the `deps` property to define Smart Contracts that it depends
on. All dependencies are exposed on the `address` function parameter
similar to deployment hooks.

Closes #1690
2019-07-12 10:55:19 +02:00
..
2019-07-10 16:21:47 -05:00
2019-07-10 16:21:47 -05:00
2019-07-10 16:21:47 -05:00
2019-07-10 16:21:47 -05:00
2019-06-07 13:42:13 -05:00
2019-06-07 13:42:13 -05:00
2019-07-10 16:21:47 -05:00
2019-06-07 13:42:13 -05:00
2019-07-10 16:21:47 -05:00
2019-07-10 16:21:47 -05:00
2019-07-10 16:21:47 -05:00
2019-07-10 16:21:47 -05:00
2019-07-10 16:21:47 -05:00
2019-07-10 16:21:47 -05:00
2019-07-10 16:21:47 -05:00
2019-02-05 14:15:39 -06:00