Skip to content

Commit 78564af

Browse files
authored
Merge the develop branch to the master branch, preparation to v3.1.0
This merge contains the following set of changes: * [Oracle, Improvement] Try to detect unsynced node state (#592) * [Oracle, Improvement] Allow to override JSON RPC error codes (#603) * [Oracle, Fix] Fix handling of Compound related Transfer events (#595) * [Oracle, Fix] Add new nonce-related error messages (#599) * [Deployment, Fix] .env template includes latest changes related to the oracle configuration (#601) * [Deployment, Fix] Improvements for the local logs configuration (#602) * [Common, Other] Update the contract's submodule to the release 6.0.0 (#600)
2 parents 4f5e3c4 + 70a2c30 commit 78564af

File tree

27 files changed

+1017
-1594
lines changed

27 files changed

+1017
-1594
lines changed

.github/workflows/main.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ jobs:
7777
- name: Rebuild and push updated images
7878
run: |
7979
function check_if_image_exists() {
80-
curl -fsSlL -H 'Authorization: bearer ${{ github.token }}' "https://${DOCKER_REGISTRY}/v2/${DOCKER_REPO}/tokenbridge-e2e-$1/manifests/$2" > /dev/null
80+
curl -fsSlL "https://${{ github.actor }}:${{ github.token }}@${DOCKER_REGISTRY}/v2/${DOCKER_REPO}/tokenbridge-e2e-$1/manifests/$2" > /dev/null
8181
}
8282
updated=()
8383
if ! check_if_image_exists e2e ${E2E_TAG}; then updated+=("e2e"); fi
@@ -104,7 +104,7 @@ jobs:
104104
- name: Rebuild and push molecule runner e2e image
105105
run: |
106106
function check_if_image_exists() {
107-
curl -fsSlL -H 'Authorization: bearer ${{ github.token }}' "https://${DOCKER_REGISTRY}/v2/${DOCKER_REPO}/tokenbridge-e2e-$1/manifests/$2" > /dev/null
107+
curl -fsSlL "https://${{ github.actor }}:${{ github.token }}@${DOCKER_REGISTRY}/v2/${DOCKER_REPO}/tokenbridge-e2e-$1/manifests/$2" > /dev/null
108108
}
109109
if check_if_image_exists molecule_runner ${MOLECULE_RUNNER_TAG}; then
110110
echo "Image already exists"

CONFIGURATION.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ ORACLE_SHUTDOWN_CONTRACT_ADDRESS | Optional contract address in the side chain a
5252
ORACLE_SHUTDOWN_CONTRACT_METHOD | Method signature to be used in the side chain to identify the current shutdown status. Method should return boolean. Default value is `isShutdown()`. | `function signature`
5353
ORACLE_FOREIGN_RPC_BLOCK_POLLING_LIMIT | Max length for the block range used in `eth_getLogs` requests for polling contract events for the Foreign chain. Infinite, if not provided. | `integer`
5454
ORACLE_HOME_RPC_BLOCK_POLLING_LIMIT | Max length for the block range used in `eth_getLogs` requests for polling contract events for the Home chain. Infinite, if not provided. | `integer`
55+
ORACLE_JSONRPC_ERROR_CODES | Override default JSON rpc error codes that can trigger RPC fallback to the next URL from the list (or a retry in case of a single RPC URL). Default is `-32603,-32002,-32005`. Should be a comma-separated list of negative integers. | `string`
5556

5657

5758
## Monitor configuration

commons/abis.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
const HOME_ERC_TO_NATIVE_ABI = require('../contracts/build/contracts/HomeBridgeErcToNative').abi
2-
const FOREIGN_ERC_TO_NATIVE_ABI = require('../contracts/build/contracts/ForeignBridgeErcToNative').abi
2+
const FOREIGN_ERC_TO_NATIVE_ABI = require('../contracts/build/contracts/XDaiForeignBridge.json').abi
33
const ERC20_ABI = require('../contracts/build/contracts/ERC20').abi
44
const BLOCK_REWARD_ABI = require('../contracts/build/contracts/BlockRewardMock').abi
55
const BRIDGE_VALIDATORS_ABI = require('../contracts/build/contracts/BridgeValidators').abi

contracts

deployment/roles/common/templates/docker-logs.j2

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
/var/log/docker/*/docker.log {
22
rotate 5
3-
size 1G
3+
size 100M
44
compress
55
missingok
66
delaycompress
77
copytruncate
88
}
99
/var/log/docker/*.log {
1010
rotate 5
11-
size 1G
11+
size 100M
1212
compress
1313
missingok
1414
delaycompress

deployment/roles/oracle/tasks/logging.yml

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,30 @@
77
loop_control:
88
loop_var: file
99

10-
- name: Set the local container logs configuration file
10+
- name: Set the oracle's containers local logs configuration file
1111
template:
1212
src: 31-oracle-docker.conf.j2
1313
dest: /etc/rsyslog.d/31-oracle-docker.conf
1414
owner: root
1515
group: root
1616
mode: 0644
1717

18+
- name: Set the redis container local logs configuration file
19+
template:
20+
src: 32-redis-docker.conf.j2
21+
dest: /etc/rsyslog.d/32-redis-docker.conf
22+
owner: root
23+
group: root
24+
mode: 0644
25+
26+
- name: Set the rabbit MQ container local logs configuration file
27+
template:
28+
src: 33-rabbit-docker.conf.j2
29+
dest: /etc/rsyslog.d/33-rabbit-docker.conf
30+
owner: root
31+
group: root
32+
mode: 0644
33+
1834
- name: Set the log configuration file to send container logs to remote server
1935
template:
2036
src: 36-oracle-remote-logging.conf.j2

deployment/roles/oracle/templates/.env.j2

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,16 @@ ORACLE_HOME_RPC_POLLING_INTERVAL={{ ORACLE_HOME_RPC_POLLING_INTERVAL }}
1111

1212
## Foreign contract
1313
COMMON_FOREIGN_RPC_URL={{ COMMON_FOREIGN_RPC_URL }}
14+
{% if ORACLE_FOREIGN_ARCHIVE_RPC_URL | default('') != '' %}
15+
ORACLE_FOREIGN_ARCHIVE_RPC_URL={{ ORACLE_FOREIGN_ARCHIVE_RPC_URL }}
16+
{% endif %}
1417
COMMON_FOREIGN_BRIDGE_ADDRESS={{ COMMON_FOREIGN_BRIDGE_ADDRESS }}
1518
ORACLE_FOREIGN_RPC_POLLING_INTERVAL={{ ORACLE_FOREIGN_RPC_POLLING_INTERVAL }}
1619

20+
{% if ORACLE_TX_REDUNDANCY | default('') != '' %}
21+
ORACLE_TX_REDUNDANCY={{ ORACLE_TX_REDUNDANCY }}
22+
{% endif %}
23+
1724
## Gasprice
1825
{% if COMMON_HOME_GAS_PRICE_SUPPLIER_URL | default('') != '' %}
1926
COMMON_HOME_GAS_PRICE_SUPPLIER_URL={{ COMMON_HOME_GAS_PRICE_SUPPLIER_URL }}
@@ -47,8 +54,28 @@ COMMON_FOREIGN_GAS_PRICE_FACTOR={{ COMMON_FOREIGN_GAS_PRICE_FACTOR }}
4754
ORACLE_ALLOW_HTTP_FOR_RPC={{ "yes" if ORACLE_ALLOW_HTTP_FOR_RPC else "no" }}
4855
ORACLE_QUEUE_URL={{ ORACLE_QUEUE_URL }}
4956
ORACLE_REDIS_URL={{ ORACLE_REDIS_URL }}
50-
{% if ORACLE_TX_REDUNDANCY | default('') != '' %}
51-
ORACLE_TX_REDUNDANCY={{ ORACLE_TX_REDUNDANCY }}
57+
{% if ORACLE_FOREIGN_TX_RESEND_INTERVAL | default('') != '' %}
58+
ORACLE_FOREIGN_TX_RESEND_INTERVAL={{ ORACLE_FOREIGN_TX_RESEND_INTERVAL }}
59+
{% endif %}
60+
{% if ORACLE_HOME_TX_RESEND_INTERVAL | default('') != '' %}
61+
ORACLE_HOME_TX_RESEND_INTERVAL={{ ORACLE_HOME_TX_RESEND_INTERVAL }}
62+
{% endif %}
63+
64+
## Emergency shutdown configuration
65+
{% if ORACLE_SHUTDOWN_SERVICE_URL | default('') != '' %}
66+
ORACLE_SHUTDOWN_SERVICE_URL={{ ORACLE_SHUTDOWN_SERVICE_URL }}
67+
{% endif %}
68+
{% if ORACLE_SHUTDOWN_SERVICE_POLLING_INTERVAL | default('') != '' %}
69+
ORACLE_SHUTDOWN_SERVICE_POLLING_INTERVAL={{ ORACLE_SHUTDOWN_SERVICE_POLLING_INTERVAL }}
70+
{% endif %}
71+
{% if ORACLE_SIDE_RPC_URL | default('') != '' %}
72+
ORACLE_SIDE_RPC_URL={{ ORACLE_SIDE_RPC_URL }}
73+
{% endif %}
74+
{% if ORACLE_SHUTDOWN_CONTRACT_ADDRESS | default('') != '' %}
75+
ORACLE_SHUTDOWN_CONTRACT_ADDRESS={{ ORACLE_SHUTDOWN_CONTRACT_ADDRESS }}
76+
{% endif %}
77+
{% if ORACLE_SHUTDOWN_CONTRACT_METHOD | default('') != '' %}
78+
ORACLE_SHUTDOWN_CONTRACT_METHOD={{ ORACLE_SHUTDOWN_CONTRACT_METHOD }}
5279
{% endif %}
5380

5481
{% if ORACLE_HOME_START_BLOCK | default('') != '' %}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
$FileCreateMode 0644
2+
template(name="DockerLogFileName_Redis" type="list") {
3+
constant(value="/var/log/docker/")
4+
property(name="syslogtag" securepath="replace" regex.type="ERE" regex.submatch="1" regex.expression="oracle_(.*redis.*)\\/[a-zA-Z0-9]+\\[")
5+
constant(value="/docker.log")
6+
}
7+
8+
if $programname contains 'oracle' and $programname contains 'redis' then \
9+
?DockerLogFileName_Redis
10+
11+
$FileCreateMode 0600
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
$FileCreateMode 0644
2+
template(name="DockerLogFileName_Rabbit" type="list") {
3+
constant(value="/var/log/docker/")
4+
property(name="syslogtag" securepath="replace" regex.type="ERE" regex.submatch="1" regex.expression="oracle_(.*rabbit.*)\\/[a-zA-Z0-9]+\\[")
5+
constant(value="/docker.log")
6+
}
7+
8+
if $programname contains 'oracle' and $programname contains 'rabbit' then \
9+
?DockerLogFileName_Rabbit
10+
11+
$FileCreateMode 0600

e2e-commons/constants.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
"ercToNativeBridge": {
3939
"home": "0x5118AC62AE912Dd5B51EEfF7338c4fcb0248Ba8c",
4040
"foreign": "0x32198D570fffC7033641F8A9094FFDCaAEF42624",
41-
"foreignToken": "0x7cc4b1851c35959d34e635a470f6b5c43ba3c9c9",
41+
"foreignToken": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
4242
"monitor": "http://monitor-erc20-native:3012/bridge"
4343
},
4444
"amb": {

0 commit comments

Comments
 (0)