Giter Site home page Giter Site logo

rsksmart / tokenbridge Goto Github PK

View Code? Open in Web Editor NEW
100.0 17.0 70.0 18.69 MB

A bidirectional Ethereum / RSK Token Bridge implementation.

Home Page: https://tokenbridge.rsk.co/

License: MIT License

JavaScript 41.17% Solidity 58.31% Dockerfile 0.03% Shell 0.48%
token bridge erc20 ethereum rsk

tokenbridge's Introduction

RSK <-> ETH Token Bridge

Ethereum/RSK Bridge that allows to move ERC20 tokens from one chain to the other.

Rationale

Cross chain events are very important in the future of crypto. Exchanging tokens between networks allows the token holders to use them in their favorite chain without beeing restricted to the contract owner network choice. Moreover this also allows layer 2 solutions to use the same tokens on different chains, this concept together with stable coins creates a great way of payment with low volatility across networks.

Overview

The smart contract on each network are connected by bridges, a bridge on one chain would receive and lock the ERC20 tokens, this action emits an event that will be served to the bridge on the other chain. This interoperability is achieved using a Federation that sends the event from one contract to the other, once the bridge on the other chain receives the event from the Federation, it mints the tokens on the mirror ERC20 contract. See the FAQ to know more about how it works!

The bridges on each contract are upgradeable, this would enable a smooth transition to a more decentralized bridge in the future. Here's is a link to the first POC of the trustless decentralized bridge

Usage

You can use the 'Token Bridge Dapp' together with Nifty Wallet or Metamask with custom network to move tokens between networks. This is the Dapp guide if you don't know how to use it. Or you can use a wallet with the abi of the contracts. See the 'interaction guide using MyCrypto' for more information on how to use the bridge.

Contracts deployed on RSK, Ethereum, RSK Testnet and Kovan

Here are the 'addresses' of the deployed contracts in the different networks.

Report Security Vulnerabilities

To report a vulnerability, please use the vulnerability reporting guideline for details on how to do it.

Developers

Contracts

The smart contracts used by the bridge and the instructions to deploy them are in the 'bridge folder'. The ABI to interact with the contracts are in the 'abi folder'

Dapp

The dapp of the token bridge can be found in the repository 'tokenbirdge-ui'

Federation

A federation sends notification of events happening in the bridge of one chain to another chain. The federation is composed of oracles listening to the events created in one chain and sending it to the other chain. When a majority of the federators votes on an event, the bridge accepts the event as valid and releases the tokens on the other chain. See the 'federator' for more information about federations.

Integration Test

An integration test is prepared for contracts and federators. To properly run integration test, you need check network config in the truffle-config.js and package.json in bridge folder with your test chains' configuration before run npm run deployIntegrationTest.

For testing purposes only, you can let env.FEDERATOR_KEY empty, which fulfills the role that a FEDERATOR_KEY key would have in production. Also, a test.local.config.js configuration is provided in federator/config for the same purpose, acting as the config.js file would in a productive environment.

  1. Check mnemonic.key in bridge
  2. Check infura.key in bridge (must contain your Infura's project ID in plain text)
  3. Check your networkName in bridge/migrations/4_deploy_erc1820.js when your test network does not have ERC1820:Pseudo-introspection Registry Contract deployed.

Then

  1. run npm run deployIntegrationTest in bridge
  2. run npm run integrationTest in federator

tokenbridge's People

Contributors

aeidelman avatar aguschirico avatar ajlopez avatar ajlopezrsk avatar augustoiov avatar bcodesido avatar dependabot[bot] avatar diegomasini avatar dominikkq avatar gsoares85 avatar ilanolkies avatar joaoiovlabs avatar juan-rsk avatar ltfschoen avatar lucasvuotto avatar luisfc68 avatar mauri-rsk avatar maximstanciu8 avatar pmprete avatar rafilxtenfen avatar stebansaa avatar suraneti avatar ulasanil avatar wolivera avatar xrdavies avatar ztcrypto avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tokenbridge's Issues

Strange errors with default integrationTest

Configuration:

  1. Same private key with two local chains.
  2. Deployed contracts on these two local chains.
  3. Change config.js to use these json for two local chains.
  4. The rests are default.
[2020-09-11T12:41:28.354] [DEBUG] test - Get the destination token address
[2020-09-11T12:41:28.354] [DEBUG] test - SIDE bridge address 0x85c7e856294b5a214ad363b92ce63720ab7ae344
[2020-09-11T12:41:28.386] [ERROR] test - Unhandled error: Error: Returned values aren't valid, did it run Out of Gas? You might also see this error if you are not using the correct ABI for the contract you are retrieving data from, requesting data from a block number that does not exist, or querying a node which is not fully synced.```

Tokenbridge on testnetwork

Thank you for the great work❤🙌.
I wanted to test the functionality of the dApp on testnet and noticed it's under maintenance pls when will the dApp be back online✨

[Feature Request] Send tokens to a different address than the sender address

Problem

The bridge seems to only send tokens to the same address as the sender address, only on the opposite network. For example if the user is sending USDT from 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 on Ethereum then the bridge will send RUSDT to 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 on the RSK network.

However, some RSK wallets (such as Liquality) do not generate the same RSK address as the Ethereum address. This results in difficulty for users of these wallets when using the bridge, who must then figure out a series of complicated steps to export their seed, import in another wallet, find the correct derivation path the addresses were generated on, etc.

Solution

Allow users to input a custom receiving address for the transaction they are sending across the bridge.

Incorrect Network

I was setting up the frontend to work with my testnet deployment. even though i changed the neccessary configs to testnet i still get the attached error message.

what could be doing wrong?

network

Unable to Convert tokens after Approve transaction successfully mined

If after your Approve transaction is successfully mined you accidently click the 'Approve' button a second time and then reject the second transaction, then all the buttons in the UI will be disabled even if you connect your account again with Metamask

It happened to me, I went to https://tokenbridge.rsk.co/, then chose an amount of USDT, and submitted the transaction by clicking Approve, choosing gas fee, and submitting it, and then when I went to the transaction hash on Etherscan it showed it was successfully mined with message "ApprovedUSDTFor Trade On 0x12ed69359919fc775bc2674860e8fe2d2b6a7b5d"

But I accidently clicked the "Approve" button a second time, even though the approval had already been mined successfully, so i just rejected that 2nd transaction since it'd already been approved.

But then even after i connected my wallet with Metamask again, both the "Approve" and "Convert tokens" button are both disabled, so it didn't seem possible to do the next step of "Convert tokens".

And it said "No transactions for active account found", even though that account had a successful transaction that cost US$12 to approve spending the funds.

So I couldn't even try clicking "Approve" a 3rd time as that was disabled too

I got around the issue by just changing the code in the browser

I just went to "inspect element", found the "Convert tokens" button, and removed the disabled text from this html element <button id="deposit" type="submit" class="btn btn-primary ml-3 mt-3 mb-3" disabled="">Convert tokens</button>, then it wasn't disabled anymore, so i could just click it and Metamask popped up and allowed me to convert my USDT to rUSDT, and tx was successful.

Error: connection not open on send()

Hello Rskstars,

Thank you guys for sharing your talent with the world. I am experimenting with the tokenbridge codebase, I was able to deploy the contracts and setup the necessary config, i am stuck at this error when running the federator script

So I tried to run the Federator server and I get this error on the terminal.

Error: connection not open on send()

See the attached screenshot

error

Missing token in config for integrationTest

When deploy contracts, it will not deploy token contract for several network.

function shouldDeployToken(network) {
    return !network.toLowerCase().includes('mainnet') &&
        !network.toLowerCase().includes('kovan') &&
        !network.toLowerCase().includes('testnet');
}
[2020-09-13T00:45:46.933] [INFO] test - Starting transfer from Sidechain to Mainchain
[2020-09-13T00:45:46.935] [INFO] test - ------------- SENDING THE TOKENS -----------------
[2020-09-13T00:45:46.935] [DEBUG] test - Getting address from pk
[2020-09-13T00:45:46.991] [INFO] test - Transaction Successful txHash:0x874442bdcfab810a33be8d72d640ff6a5f51ba4ade98423a4708fa99817b7aad blockNumber:98
[2020-09-13T00:45:47.034] [INFO] test - Transaction Successful txHash:0x697d40979ea44cbb1bb4c985fcbc649e6bca20dfe3cd56a8db46b84d0e2c38aa blockNumber:168
[2020-09-13T00:45:47.034] [INFO] test - SIDE token addres null - User Address: 0x9e6aa92dbb1b316981758b900da8112a11389c6f
[2020-09-13T00:45:47.039] [DEBUG] test - Initial user balance  1000000000000000000
[2020-09-13T00:45:47.039] [DEBUG] test - Aproving token transfer
[2020-09-13T00:45:47.079] [ERROR] test - Send Signed Transaction Failed TxHash:undefined Error: Returned error: VM Exception while processing transaction: invalid opcode

Federator doesn't start

Hi, I was trying to deploy and test the bridgeon Kovan < > RSK Testnet.
The contracts have been deployed successfully, but when I try to run the federator -> npm run start it throws the following error

  npm run start

> [email protected] start  /tokenbridge/federator
> node ./src/main.js

[2021-12-12T22:49:02.708] [INFO] Federators - RSK Host https://public-node.testnet.rsk.co/
[2021-12-12T22:49:02.710] [INFO] Federators - ETH Host https://kovan.infura.io/v3/<INFURA_KEY>
[2021-12-12T22:49:02.790] [INFO] Federators - start scheduler service polling every 120000(ms)
[2021-12-12T22:49:02.790] [INFO] Federators - scheduler triggered poll
[2021-12-12T22:49:02.809] [INFO] Federators - listening on http://localhost:5000/
[2021-12-12T22:49:04.033] [INFO] Federators - start scheduler service polling every 3600000(ms)
[2021-12-12T22:49:04.033] [INFO] Federators - scheduler triggered poll
[2021-12-12T22:49:04.643] [ERROR] MAIN-FEDERATOR - Error: Exception Running Federator
    at Federator.run ( /tokenbridge/federator/src/lib/Federator.js:91:35)
    at async run ( /tokenbridge/federator/src/main.js:50:9)
    at async Scheduler.poll ( /tokenbridge/federator/src/services/Scheduler.js:24:13)
    at async Scheduler.start ( /tokenbridge/federator/src/services/Scheduler.js:17:9) Error: Invalid JSON RPC response: "<!DOCTYPE html>\n<html>\n  <head>\n    <title>403 Method Not Allowed</title>\n  </head>\n  <body>\n    <h1>Error 403 Method Not Allowed</h1>\n    <p>Method Not Allowed</p>\n    <h3>Guru Meditation:</h3>\n    <p>XID: 167848944</p>\n    <hr>\n    <p>Varnish cache server</p>\n  </body>\n</html>\n"
    at Object.InvalidResponse ( /tokenbridge/federator/node_modules/web3-core-helpers/lib/errors.js:43:16)
    at XMLHttpRequest.request.onreadystatechange ( /tokenbridge/federator/node_modules/web3-providers-http/lib/index.js:95:32)
    at XMLHttpRequestEventTarget.dispatchEvent ( /tokenbridge/federator/node_modules/xhr2-cookies/dist/xml-http-request-event-target.js:34:22)
    at XMLHttpRequest._setReadyState ( /tokenbridge/federator/node_modules/xhr2-cookies/dist/xml-http-request.js:208:14)
    at XMLHttpRequest._onHttpResponseEnd ( /tokenbridge/federator/node_modules/xhr2-cookies/dist/xml-http-request.js:318:14)
    at IncomingMessage.<anonymous> ( /tokenbridge/federator/node_modules/xhr2-cookies/dist/xml-http-request.js:289:61)
    at IncomingMessage.emit (events.js:412:35)
    at endReadableNT (internal/streams/readable.js:1317:12)
    at processTicksAndRejections (internal/process/task_queues.js:82:21)
[2021-12-12T22:49:04.645] [DEBUG] MAIN-FEDERATOR - Run 1 retrie
CustomError: Exception Emiting Hearbeat rskBlock: 2412728 ethBlock: 28735485 fedVersion: 2.0.1
    at Heartbeat._emitHeartbeat ( /tokenbridge/federator/src/lib/Heartbeat.js:206:19)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async Heartbeat.run ( /tokenbridge/federator/src/lib/Heartbeat.js:43:24)
    at async Object.run ( /tokenbridge/federator/src/main.js:66:21)
    at async Scheduler.poll ( /tokenbridge/federator/src/services/Scheduler.js:24:13)
    at async Scheduler.start ( /tokenbridge/federator/src/services/Scheduler.js:17:9)
 Internal Error: This Federator addr:0xffed4b0dd6225962d8287f6f0ac9f2d3853abb14 is not part of the federation
    at Heartbeat._emitHeartbeat ( /tokenbridge/federator/src/lib/Heartbeat.js:192:34)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async Heartbeat.run ( /tokenbridge/federator/src/lib/Heartbeat.js:43:24)
    at async Object.run ( /tokenbridge/federator/src/main.js:66:21)
    at async Scheduler.poll ( /tokenbridge/federator/src/services/Scheduler.js:24:13)
    at async Scheduler.start ( /tokenbridge/federator/src/services/Scheduler.js:17:9)
[2021-12-12T22:49:07.683] [ERROR] HEARTBEAT - Error: Exception Running Heartbeat
    at Heartbeat.run ( /tokenbridge/federator/src/lib/Heartbeat.js:52:35)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async Object.run ( /tokenbridge/federator/src/main.js:66:21)
    at async Scheduler.poll ( /tokenbridge/federator/src/services/Scheduler.js:24:13)
    at async Scheduler.start ( /tokenbridge/federator/src/services/Scheduler.js:17:9) CustomError: Exception Emiting Hearbeat rskBlock: 2412728 ethBlock: 28735485 fedVersion: 2.0.1
    at Heartbeat._emitHeartbeat ( /tokenbridge/federator/src/lib/Heartbeat.js:206:19)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async Heartbeat.run ( /tokenbridge/federator/src/lib/Heartbeat.js:43:24)
    at async Object.run ( /tokenbridge/federator/src/main.js:66:21)
    at async Scheduler.poll ( /tokenbridge/federator/src/services/Scheduler.js:24:13)
    at async Scheduler.start ( /tokenbridge/federator/src/services/Scheduler.js:17:9)
 Internal Error: This Federator addr:0xffed4b0dd6225962d8287f6f0ac9f2d3853abb14 is not part of the federation
    at Heartbeat._emitHeartbeat ( /tokenbridge/federator/src/lib/Heartbeat.js:192:34)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async Heartbeat.run ( /tokenbridge/federator/src/lib/Heartbeat.js:43:24)
    at async Object.run ( /tokenbridge/federator/src/main.js:66:21)
    at async Scheduler.poll ( /tokenbridge/federator/src/services/Scheduler.js:24:13)
    at async Scheduler.start ( /tokenbridge/federator/src/services/Scheduler.js:17:9)
[2021-12-12T22:49:07.683] [DEBUG] HEARTBEAT - Run 1 retrie
CustomError: Exception Emiting Hearbeat rskBlock: 2412728 ethBlock: 28735486 fedVersion: 2.0.1
    at Heartbeat._emitHeartbeat ( /tokenbridge/federator/src/lib/Heartbeat.js:206:19)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async Heartbeat.run ( /tokenbridge/federator/src/lib/Heartbeat.js:43:24)
    at async Object.run ( /tokenbridge/federator/src/main.js:66:21)
    at async Scheduler.poll ( /tokenbridge/federator/src/services/Scheduler.js:24:13)
    at async Scheduler.start ( /tokenbridge/federator/src/services/Scheduler.js:17:9)
 Internal Error: This Federator addr:0xffed4b0dd6225962d8287f6f0ac9f2d3853abb14 is not part of the federation
    at Heartbeat._emitHeartbeat ( /tokenbridge/federator/src/lib/Heartbeat.js:192:34)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async Heartbeat.run ( /tokenbridge/federator/src/lib/Heartbeat.js:43:24)
    at async Object.run ( /tokenbridge/federator/src/main.js:66:21)
    at async Scheduler.poll ( /tokenbridge/federator/src/services/Scheduler.js:24:13)
    at async Scheduler.start ( /tokenbridge/federator/src/services/Scheduler.js:17:9)
[2021-12-12T22:49:11.643] [ERROR] HEARTBEAT - Error: Exception Running Heartbeat
    at Heartbeat.run ( /tokenbridge/federator/src/lib/Heartbeat.js:52:35)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async Object.run ( /tokenbridge/federator/src/main.js:66:21)
    at async Scheduler.poll ( /tokenbridge/federator/src/services/Scheduler.js:24:13)
    at async Scheduler.start ( /tokenbridge/federator/src/services/Scheduler.js:17:9) CustomError: Exception Emiting Hearbeat rskBlock: 2412728 ethBlock: 28735486 fedVersion: 2.0.1
    at Heartbeat._emitHeartbeat ( /tokenbridge/federator/src/lib/Heartbeat.js:206:19)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async Heartbeat.run ( /tokenbridge/federator/src/lib/Heartbeat.js:43:24)
    at async Object.run ( /tokenbridge/federator/src/main.js:66:21)
    at async Scheduler.poll ( /tokenbridge/federator/src/services/Scheduler.js:24:13)
    at async Scheduler.start ( /tokenbridge/federator/src/services/Scheduler.js:17:9)
 Internal Error: This Federator addr:0xffed4b0dd6225962d8287f6f0ac9f2d3853abb14 is not part of the federation
    at Heartbeat._emitHeartbeat ( /tokenbridge/federator/src/lib/Heartbeat.js:192:34)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async Heartbeat.run ( /tokenbridge/federator/src/lib/Heartbeat.js:43:24)
    at async Object.run ( /tokenbridge/federator/src/main.js:66:21)
    at async Scheduler.poll ( /tokenbridge/federator/src/services/Scheduler.js:24:13)
    at async Scheduler.start ( /tokenbridge/federator/src/services/Scheduler.js:17:9)
[2021-12-12T22:49:11.643] [DEBUG] HEARTBEAT - Run 2 retrie
[2021-12-12T22:49:15.394] [ERROR] MAIN-FEDERATOR - Error: Exception Running Federator
    at Federator.run ( /tokenbridge/federator/src/lib/Federator.js:91:35)
    at async run ( /tokenbridge/federator/src/main.js:50:9)
    at async Scheduler.poll ( /tokenbridge/federator/src/services/Scheduler.js:24:13)
    at async Scheduler.start ( /tokenbridge/federator/src/services/Scheduler.js:17:9) Error: Invalid JSON RPC response: "<!DOCTYPE html>\n<html>\n  <head>\n    <title>403 Method Not Allowed</title>\n  </head>\n  <body>\n    <h1>Error 403 Method Not Allowed</h1>\n    <p>Method Not Allowed</p>\n    <h3>Guru Meditation:</h3>\n    <p>XID: 174425157</p>\n    <hr>\n    <p>Varnish cache server</p>\n  </body>\n</html>\n"
    at Object.InvalidResponse ( /tokenbridge/federator/node_modules/web3-core-helpers/lib/errors.js:43:16)
    at XMLHttpRequest.request.onreadystatechange ( /tokenbridge/federator/node_modules/web3-providers-http/lib/index.js:95:32)
    at XMLHttpRequestEventTarget.dispatchEvent ( /tokenbridge/federator/node_modules/xhr2-cookies/dist/xml-http-request-event-target.js:34:22)
    at XMLHttpRequest._setReadyState ( /tokenbridge/federator/node_modules/xhr2-cookies/dist/xml-http-request.js:208:14)
    at XMLHttpRequest._onHttpResponseEnd ( /tokenbridge/federator/node_modules/xhr2-cookies/dist/xml-http-request.js:318:14)
    at IncomingMessage.<anonymous> ( /tokenbridge/federator/node_modules/xhr2-cookies/dist/xml-http-request.js:289:61)
    at IncomingMessage.emit (events.js:412:35)
    at endReadableNT (internal/streams/readable.js:1317:12)
    at processTicksAndRejections (internal/process/task_queues.js:82:21)
[2021-12-12T22:49:15.394] [DEBUG] MAIN-FEDERATOR - Run 2 retrie
CustomError: Exception Emiting Hearbeat rskBlock: 2412728 ethBlock: 28735486 fedVersion: 2.0.1
    at Heartbeat._emitHeartbeat ( /tokenbridge/federator/src/lib/Heartbeat.js:206:19)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async Heartbeat.run ( /tokenbridge/federator/src/lib/Heartbeat.js:43:24)
    at async Object.run ( /tokenbridge/federator/src/main.js:66:21)
    at async Scheduler.poll ( /tokenbridge/federator/src/services/Scheduler.js:24:13)
    at async Scheduler.start ( /tokenbridge/federator/src/services/Scheduler.js:17:9)
 Internal Error: This Federator addr:0xffed4b0dd6225962d8287f6f0ac9f2d3853abb14 is not part of the federation
    at Heartbeat._emitHeartbeat ( /tokenbridge/federator/src/lib/Heartbeat.js:192:34)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async Heartbeat.run ( /tokenbridge/federator/src/lib/Heartbeat.js:43:24)
    at async Object.run ( /tokenbridge/federator/src/main.js:66:21)
    at async Scheduler.poll ( /tokenbridge/federator/src/services/Scheduler.js:24:13)
    at async Scheduler.start ( /tokenbridge/federator/src/services/Scheduler.js:17:9)
[2021-12-12T22:49:15.700] [ERROR] HEARTBEAT - Error: Exception Running Heartbeat
    at Heartbeat.run ( /tokenbridge/federator/src/lib/Heartbeat.js:52:35)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async Object.run ( /tokenbridge/federator/src/main.js:66:21)
    at async Scheduler.poll ( /tokenbridge/federator/src/services/Scheduler.js:24:13)
    at async Scheduler.start ( /tokenbridge/federator/src/services/Scheduler.js:17:9) CustomError: Exception Emiting Hearbeat rskBlock: 2412728 ethBlock: 28735486 fedVersion: 2.0.1
    at Heartbeat._emitHeartbeat ( /tokenbridge/federator/src/lib/Heartbeat.js:206:19)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async Heartbeat.run ( /tokenbridge/federator/src/lib/Heartbeat.js:43:24)
    at async Object.run ( /tokenbridge/federator/src/main.js:66:21)
    at async Scheduler.poll ( /tokenbridge/federator/src/services/Scheduler.js:24:13)
    at async Scheduler.start ( /tokenbridge/federator/src/services/Scheduler.js:17:9)
 Internal Error: This Federator addr:0xffed4b0dd6225962d8287f6f0ac9f2d3853abb14 is not part of the federation
    at Heartbeat._emitHeartbeat ( /tokenbridge/federator/src/lib/Heartbeat.js:192:34)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async Heartbeat.run ( /tokenbridge/federator/src/lib/Heartbeat.js:43:24)
    at async Object.run ( /tokenbridge/federator/src/main.js:66:21)
    at async Scheduler.poll ( /tokenbridge/federator/src/services/Scheduler.js:24:13)
    at async Scheduler.start ( /tokenbridge/federator/src/services/Scheduler.js:17:9)
[2021-12-12T22:49:15.700] [DEBUG] HEARTBEAT - Run 3 retrie

configured USDT token limits are 100x off of intended values

If you call getInfoAndLimits(0xdac17f958d2ee523a2206206994597c13d831ec7) on 0xa3fc98e0a7a979677bc14d541be770b2cb0a15f3 you get the following result:

  info   tuple :  true,5,2000000000000000000000,1656071225
  limit   tuple :  1000000000000000000000,250000000000000000000000000,500000000000000000000000000,1000000000000000000000000,10000000000000000000000000

To pull just the minimum and maximum, this shows a minimum of $1000 and a maximum of $250m; but the intended values seem to be 100x smaller: $10 and $2.5m.

b6866f5e-fb2e-4916-8611-df1e85c1ea5a

Host address

Hi Guys,

Please which this the proper format of address for the HOST ? i entered my infura url it seems not to work.
i need a sample host address
{
"bridge": "0x684a8a976635fb7ad74a0134ace990a6a0fcce84",
"federation": "0x36c893a955399cf15a4a2fbef04c0e06d4d9b379",
"testToken": "0x5d248f520b023acb815edecd5000b98ef84cbf1b",
"multisig": "0x88f6b2bc66f4c31a3669b9b1359524abf79cfc4a",
"allowTokens": "0x952b706a9ab5fd2d3b36205648ed7852676afbe7",
"host": "",
"fromBlock": 434075
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.