@ensdomains/ccip-read-cf-worker
TypeScript icon, indicating that this package has built-in type declarations

0.0.3 • Public • Published

CCIP-read Cloudflare Worker framework

This package implements a Cloudflare Worker framework for creating CCIP-read gateway servers.

A CCIP-read gateway server accepts ABI-encoded function calls and responds to them in the same manner as a smart contract, but has access to any external resources it needs. Onchain contracts implementing CCIP-read can request that the client send a query to a gateway server and supply the results back to the contract in a subsequent call.

Typical usage would be a gateway server providing data from a database of some kind, alongside signatures or merkle proofs allowing the calling contract to verify the data's authenticity. With this model, contracts can effectively request data from an external database as part of a contract call or transaction.

Example usage:

const ccipread = require('@chainlink/ccip-read-cf-worker');
const server = new ccipread.Server();
const abi = [
  'function getSignedBalance(address addr) public view returns(uint256 balance, bytes memory sig)',
];
server.add(abi, [
  {
    type: 'getSignedBalance',
    func: async (contractAddress, [addr]) => {
      const balance = getBalance(addr);
      const sig = signMessage([addr, balance]);
      return [balance, sig];
    }
  }
]);
const app = server.makeApp();

module.exports = {
  fetch: function (request, env, _context) {
    return app.handle(request)
  }
};

Readme

Keywords

none

Package Sidebar

Install

npm i @ensdomains/ccip-read-cf-worker

Weekly Downloads

15

Version

0.0.3

License

MIT

Unpacked Size

248 kB

Total Files

11

Last publish

Collaborators

  • dropthebeatbro
  • davidchu
  • taytems
  • makoto_inoue
  • decanus
  • nickjohnson
  • jefflau
  • mdt.
  • leeondamiky