1.0.0 • Published 9 months ago

@metaplayerone/offchain-read-mp1-worker v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

offchain-read Cloudflare Worker framework

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

A offchain-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 offchain-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.

Example usage:

const ccipread = require('@metaplayer/offchain-read-mp1-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)
  }
};