Coder Social home page Coder Social logo

circlefin / evm-cctp-contracts Goto Github PK

View Code? Open in Web Editor NEW
109.0 109.0 56.0 1 MB

Official repository for all EVM-compatible smart contracts used by the Cross-Chain Transfer Protocol

License: Apache License 2.0

Dockerfile 0.09% Makefile 0.49% Solidity 92.13% Python 7.29%

evm-cctp-contracts's People

Contributors

dependabot[bot] avatar grantmike avatar hsinghgrewal avatar jscaltreto avatar mdbere avatar tjbaker avatar walkerq avatar zepeng811 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

evm-cctp-contracts's Issues

Add license notice re: reproduced code

This repo contains code derived from Nomad contracts without proper attribution and license information. As an author of the code involved, I'm happy that you found the work useful. Reuse of our code is praise

However, to use our work in compliance with the license, please add the appropriate MIT or Apache-2.0 license text (at your option) information to the files containing reproduced or derived code as well as a note in the README that some work is reproduced under the appropriate license

I have not done a full compliance audit of the code base, and do not have a full list of files in need of license notices. However, here is a simple example:

  • This code region is a slightly modified version of this code region, but the file contains no indication that the work is used under either available FLOSS license.
Screenshot 2023-10-01 at 17 09 48

TODOs

  • Add license notice to files containing derivative or reproduced code
  • Add note to README describing source and authorship of reproduced code
  • Notify etherscan verification team of incomplete license information in hosted source files
  • Optional: cite our work in public comms and/or documentation

Registering a new _domain

Hello,

I have read the whole documentation, smart contracts code and interaction code. I am very impressed by the solution that is being built. Circle is going to significantly improve stablecoin access on blockchains and increase the strengh of USDC.

From my understanding, if a Blockchain wants to start integrating the devnet mint/burn bridge of Circle, it needs a few actions from Circle:

  • for integrating the Ethereum -> Blockchain devnet bridge, the Blockchain needs to be associated a _domain in the remoteTokenMessengers storage of TokenMessenger.sol,

  • for integrating the Blockchain -> Ethereum devnet bridge, the Blockchain needs either that Circle attesters work with the Blockchain or that Circle whitelists the attesters made by the Blockchain, in the enabledAttesters storage of MessageTransmitter.sol.

How to register a new _domain in the remoteTokenMessengers storage of TokenMessenger.sol? This way, the Blockchain could already start the integration of the Ethereum -> Blockchain devnet bridge.

CCTP Contracts on non-EVM Contract Platforms: WASM and Other Smart Contract Platforms

We would like to increase CCTP [thus USDC] adoption in chains which do not have EVM: Substrate [Polkadot/Kusama, WASM - 75 chains], Cosmos [59 chains], Stellar [1 chain], by us contributing code for WASM Contracts in non-EVM smart contract platforms, starting with Substrate. With your support, we imagine others can contribute CCTP smart contracts in other "domains" (Hedera, Cardano, Algorand, among others) with other non-EVM CCTP smart contracts, ideally resulting in CCTP contracts supporting every token.

We believe any such execution should be supported by

  1. Circle-led audits
  2. a growing registry of CCTP assets and domains covered
  3. a business model to support and maintain CCTP contracts across all the domains covered
    Can you suggest a mechanism and means to address this generally, and for WASM Contracts specifically?

Circle

function addressToBytes32(address addr) external pure returns (bytes32) {
return bytes32(uint256(uint160(addr)));
}
/**
* @notice converts bytes32 to address (alignment preserving cast.)
* @dev Warning: it is possible to have different input values _buf map to the same address.
* For use cases where this is not acceptable, validate that the first 12 bytes of _buf are zero-padding.
* @param _buf the bytes32 to convert to address
*/
function bytes32ToAddress(bytes32 _buf) public pure returns (address) {
return address(uint160(uint256(_buf)));
}

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.