You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`BRIDGE_MODE`| The bridge mode. The bridge starts listening to a different set of events based on this parameter. |`NATIVE_TO_ERC` / `ERC_TO_ERC`|
192
+
|`BRIDGE_MODE`| The bridge mode. The bridge starts listening to a different set of events based on this parameter. |`NATIVE_TO_ERC` / `ERC_TO_ERC`/ `ERC_TO_NATIVE`|
193
193
|`HOME_RPC_URL`| The HTTPS URL(s) used to communicate to the RPC nodes in the Home network. Several URLs can be specified, delimited by spaces. If the connection to one of these nodes is lost the next URL is used for connection. | URL(s) |
194
194
|`HOME_BRIDGE_ADDRESS`| The address of the bridge contract address in the Home network. It is used to listen to events from and send validators' transactions to the Home network. | hexidecimal beginning with "0x" |
195
195
|`HOME_POLLING_INTERVAL`| The interval in milliseconds used to request the RPC node in the Home network for new blocks. The interval should match the average production time for a new block. | integer |
@@ -199,11 +199,11 @@ where the _watcher_ could be one of:
199
199
|`FOREIGN_POLLING_INTERVAL`| The interval in milliseconds used to request the RPC node in the Foreign network for new blocks. The interval should match the average production time for a new block. | integer |
200
200
|`HOME_GAS_PRICE_ORACLE_URL`| The URL used to get a JSON response from the gas price prediction oracle for the Home network. The gas price provided by the oracle is used to send the validator's transactions to the RPC node. Since it is assumed that the Home network has a predefined gas price (e.g. the gas price in the Core of POA.Network is `1 GWei`), the gas price oracle parameter can be omitted for such networks. | URL |
201
201
|`HOME_GAS_PRICE_SPEED_TYPE`| Assuming the gas price oracle responds with the following JSON structure: `{"fast": 20.0, "block_time": 12.834, "health": true, "standard": 6.0, "block_number": 6470469, "instant": 71.0, "slow": 1.889}`, this parameter specifies the desirable transaction speed. The speed type can be omitted when `HOME_GAS_PRICE_ORACLE_URL` is not used. |`instant` / `fast` / `standard` / `slow`|
202
-
|`HOME_GAS_PRICE_FALLBACK`| The gas price (in GWei) that is used if both the oracle and the fall back gas price specified in the Home Bridge contract are not available. | integer |
202
+
|`HOME_GAS_PRICE_FALLBACK`| The gas price (in Wei) that is used if both the oracle and the fall back gas price specified in the Home Bridge contract are not available. | integer |
203
203
|`HOME_GAS_PRICE_UPDATE_INTERVAL`| An interval in milliseconds used to get the updated gas price value either from the oracle or from the Home Bridge contract. | integer |
204
204
|`FOREIGN_GAS_PRICE_ORACLE_URL`| The URL used to get a JSON response from the gas price prediction oracle for the Foreign network. The provided gas price is used to send the validator's transactions to the RPC node. If the Foreign network is Ethereum Foundation mainnet, the oracle URL can be: https://gasprice.poa.network. Otherwise this parameter can be omitted. | URL |
205
205
|`FOREIGN_GAS_PRICE_SPEED_TYPE`| Assuming the gas price oracle responds with the following JSON structure: `{"fast": 20.0, "block_time": 12.834, "health": true, "standard": 6.0, "block_number": 6470469, "instant": 71.0, "slow": 1.889}`, this parameter specifies the desirable transaction speed. The speed type can be omitted when `FOREIGN_GAS_PRICE_ORACLE_URL`is not used. |`instant` / `fast` / `standard` / `slow`|
206
-
|`FOREIGN_GAS_PRICE_FALLBACK`| The gas price (in GWei) used if both the oracle and fall back gas price specified in the Foreign Bridge contract are not available. | integer |
206
+
|`FOREIGN_GAS_PRICE_FALLBACK`| The gas price (in Wei) used if both the oracle and fall back gas price specified in the Foreign Bridge contract are not available. | integer |
207
207
|`FOREIGN_GAS_PRICE_UPDATE_INTERVAL`| The interval in milliseconds used to get the updated gas price value either from the oracle or from the Foreign Bridge contract. | integer |
208
208
|`VALIDATOR_ADDRESS_PRIVATE_KEY`| The private key of the bridge validator used to sign confirmations before sending transactions to the bridge contracts. The validator account is calculated automatically from the private key. Every bridge instance (set of watchers and senders) must have its own unique private key. The specified private key is used to sign transactions on both sides of the bridge. | hexidecimal without "0x" |
209
209
|`HOME_START_BLOCK`| The block number in the Home network used to start watching for events when the bridge instance is run for the first time. Usually this is the same block where the Home Bridge contract is deployed. If a new validator instance is being deployed for an existing set of validators, the block number could be the latest block in the chain. | integer |
@@ -212,6 +212,8 @@ where the _watcher_ could be one of:
212
212
|`REDIS_URL`| Redis DB URL used by watchers and senders to communicate to the database. Typically set to: `redis://127.0.0.1:6379`. | local URL |
213
213
|`REDIS_LOCK_TTL`| Threshold in milliseconds for locking a resource in the Redis DB. Until the threshold is exceeded, the resource is unlocked. Usually it is `1000`. | integer |
214
214
|`ALLOW_HTTP`|**Only use in test environments - must be omitted in production environments.**. If this parameter is specified and set to `yes`, RPC URLs can be specified in form of HTTP links. A warning that the connection is insecure will be written to the logs. |`yes` / `no`|
215
+
|`LOG_LEVEL`| Set the level of details in the logs. |`trace` / `debug` / `info` / `warn` / `error` / `fatal`|
216
+
|`MAX_PROCESSING_TIME`| The workers processes will be killed if this amount of time (in milliseconds) is ellapsed before they finish processing. It is recommended to set this value to 4 times the value of the longest polling time (set with the `HOME_POLLING_INTERVAL` and `FOREIGN_POLLING_INTERVAL` variables). To disable this, set the time to 0. | integer |
215
217
216
218
### Useful Commands for Development
217
219
@@ -250,15 +252,22 @@ See the [E2E README](/e2e) for instructions.
250
252
251
253
When running the processes, the following commands can be used to test functionality.
252
254
253
-
- To send deposits to a home contract run `node scripts/sendUserTxToHome.js <tx num>` (or `docker-compose run bridge node scripts/sendUserTxToHome.js <tx num>`), where `<tx num>` is how many tx will be sent out to deposit.
255
+
- To send deposits to a home contract run `node scripts/native_to_erc20/sendHome.js <tx num>` (or `docker-compose run bridge node scripts/native_to_erc20/sendHome.js <tx num>`), where `<tx num>` is how many tx will be sent out to deposit.
254
256
255
-
- To send withdrawals to a foreign contract run `node scripts/sendUserTxToForeign.js <tx num>` (or `docker-compose run bridge node scripts/sendUserTxToForeign.js <tx num>`), where `<tx num>` is how many tx will be sent out to withdraw.
257
+
- To send withdrawals to a foreign contract run `node scripts/native_to_erc20/sendForeign.js <tx num>` (or `docker-compose run bridge node scripts/native_to_erc20/sendForeign.js <tx num>`), where `<tx num>` is how many tx will be sent out to withdraw.
256
258
257
259
### ERC20-to-ERC20 Mode Testing
258
260
259
-
- To deposit from a Foreign to a Home contract run `node scripts/sendUserTxToErcForeign.js <tx num>`.
261
+
- To deposit from a Foreign to a Home contract run `node scripts/erc20_to_erc20/sendForeign.js <tx num>`.
262
+
263
+
- To make withdrawal to Home from a Foreign contract run `node scripts/erc20_to_erc20/sendHome.js <tx num>`.
264
+
265
+
### ERC20-to-Native Mode Testing
266
+
267
+
- To deposit from a Foreign to a Home contract run `node scripts/erc20_to_native/sendForeign.js <tx num>`.
268
+
269
+
- To make withdrawal to Home from a Foreign contract run `node scripts/erc20_to_native/sendHome.js <tx num>`.
260
270
261
-
- To make withdrawal to Home from a Foreign contract run `node scripts/sendUserTxToErcHome.js <tx num>`.
262
271
263
272
### Configuration parameters for testing
264
273
@@ -270,11 +279,10 @@ When running the processes, the following commands can be used to test functiona
270
279
|`USER_ADDRESS_PRIVATE_KEY`| A private key belonging to the account. |
271
280
|`HOME_BRIDGE_ADDRESS`| Address of the bridge in the Home network to send transactions. |
272
281
|`HOME_MIN_AMOUNT_PER_TX`| Value (in _eth_ or tokens) to be sent in one transaction for the Home network. This should be greater than or equal to the value specified in the `poa-bridge-contracts/deploy/.env` file. The default value in that file is 500000000000000000, which is equivalent to 0.5. |
282
+
|`HOME_TEST_TX_GAS_PRICE`| The gas price (in Wei) that is used to send transactions in the Home network . |
273
283
|`FOREIGN_BRIDGE_ADDRESS`| Address of the bridge in the Foreign network to send transactions. |
274
284
|`FOREIGN_MIN_AMOUNT_PER_TX`| Value (in _eth_ or tokens) to be sent in one transaction for the Foreign network. This should be greater than or equal to the value specified in the `poa-bridge-contracts/deploy/.env` file. The default value in that file is 500000000000000000, which is equivalent to 0.5. |
275
-
|`ERC20_TOKEN_ADDRESS`| An address of the token deployed on the Foreign side for `ERC20-to-ERC20` mode. Omit this parameter with other bridge modes. |
276
-
|`BRIDGEABLE_TOKEN_ADDRESS`| An address of the token deployed on the Foreign side for `Native-to-ERC20` mode or on the Home side for `ERC20-to-ERC20` (specified as erc677 in the `poa-bridge-contracts/deploy/bridgeDeploymentResults.json` file). |
277
-
285
+
|`FOREIGN_TEST_TX_GAS_PRICE`| The gas price (in Wei) that is used to send transactions in the Foreign network . |
0 commit comments