humanprotocol / hmt-escrow

A Python 3 library to launch escrow contracts onto the HUMAN network.
MIT License
24 stars 42 forks source link

Add BSC integration #354

Closed leetdev closed 2 years ago

leetdev commented 2 years ago

Add support for BSC as per #335:

Additionally, improved the truffle deploy_contracts migration script to include deployment of the EscrowFactory contract.

CLAassistant commented 2 years ago

CLA assistant check
All committers have signed the CLA.

Dzeranov commented 2 years ago

@leetdev

  1. Please add a proper description to this PR.
  2. Add BSC contracts source code (like it was previously done for polygon contracts).
leetdev commented 2 years ago

@Dzeranov,

  1. I've updated the PR description.
  2. Do you mean to the network explorer? If so, then I've already done that, see:
Dzeranov commented 2 years ago

@leetdev ,

No, I mean to this repo. As you can see we have a folder polygon_contracts in this repo. So we need a similar one for bsc.

leetdev commented 2 years ago

@Dzeranov I'm not sure what needs to go into that folder. Polygon I believe has its own underlying token contract for the Multichain bridge, but I saw no need to create one for BSC. The only contracts I deployed there were the Escrow Factory and the KV Store.

Dzeranov commented 2 years ago

@leetdev If we have a contract (in any chain) which source code is different from the one you can see in contracts folder, it should be represented in this repo for at least two reasons:

  1. We need to review it.
  2. It's inconvenient to check the source code in the explorer.
leetdev commented 2 years ago

@Dzeranov The HMT contract on BSC was deployed by Multichain as part of the bridge setup. Should I look for the source code for that and add it here?

Dzeranov commented 2 years ago

@leetdev Yes please.

leetdev commented 2 years ago

@Dzeranov I've added the token contract source code that was deployed by Multichain (verifiable at https://bscscan.com/address/0x0d501B743F22b641B8C8dfe00F1AAb881D57DDC7#code).

eugenvoronov commented 2 years ago

Hi @leetdev! Thank you for your work! We noticed that the contract is not upgradable, could you also do a proxy implementation, as is done for the polygon_contracts?

leetdev commented 2 years ago

@eugenvoronov, I'm not sure what exactly you want me to do. I explained, that the polygon bridge was set up in a different way - Multichain supports both bridging to an existing token (as is the case with Polygon) as well as creating a bridge without an underlying token contract. I was not in charge of setting up the bridge, all I did was suggest using Multichain. There are other HMT bridges that have been set up using the latter model, and I don't see any proxy contracts for those. Am I missing something?

posix4e commented 2 years ago

@leetdev i need to discuss this change with you can you reach out over discord?