@bluejayfinance/functions
v0.1.8
Published
This repository contains different serverless function used in the operations of the protocol.
Downloads
19
Readme
Serverless Functions
This repository contains different serverless function used in the operations of the protocol.
Functions
/debug
This is a debug function that returns a status "OK" and prints call information to the logs.
You may use this in local development to test out calls easily.
/updateOracles
This function updates the BLU/DAI TWAP oracle and the SGD/DAI TWAP oracle. It's scheduled to run at fixed interval to update stale results on the oracle.
Set the env ORACLE_UPDATE_SGD
to allow this function to update the SGD/DAI oracle when the oracle is available.
Development
Set environment variables
For development, copy the .env.example
to .env
and set the necessary environment variables:
NETWORK
- Choose between "local", "development" or "production". Local runs against a local blockchain, development runs against the rinkeby blockchain and production runs against mainnet.
ALCHEMY_KEY
- API key from alchemy for the providers.
TELEGRAM_BOT_TOKEN
& TELEGRAM_CHAT_ID
- To configure the telegram bot. Use botfather to create a new bot when testing locally.
ORACLE_UPDATER_KEY
- Private key with Ethers on the network defined in NETWORK
. Does not require special permission since the oracle can be updated by anyone. In local environment, you can use key #1 or #2.
ORACLE_UPDATE_SGD
- Allow updateOracle
to update SGD/DAI oracle.
Running the functions locally.
Run npm run dev
and visit localhost:3000/debug
to visit the debug function.
Creating new functions
- Read https://www.serverless.com/framework/docs/providers/aws/guide/serverless.yml
- Configure the routes at
serverless.yml
- Add the functions logic in
src/functionHandlers
using one of the request handlers insrc/middlewares
(see debug function for template)