• This repository has been archived on 24/Jan/2024
  • Stars
    star
    194
  • Rank 200,219 (Top 4 %)
  • Language
    TypeScript
  • License
    Other
  • Created over 2 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Zapper App Integrations

Zapper Studio

Twitter โ€ข Discord

All Contributors

Description

Zapper Studio is a platform which enables developers in our community to integrate Web3 applications into Zapper. Integrations can support fetching tokens and contract positions, retrieving a wallet's balances, calculating TVL, and more to come in the future. These adapters enrich the Zapper API, and all of its consumers, including our own mobile and web apps.

Requirements

Ensure the following have been installed on your system:

  • Node v18.16.1 or above
  • pnpm 8

Getting Started

You can get started building immediately!

OpenAPI docs for studio is available on localhost:5001/docs. Which will give you a rough overview of all exposed endpoints you can test out.

If you wish to know how to integrate your application, please check out Zapper Studio docs for more details.

Installation

$ pnpm install

Running the app

$ pnpm dev

Creating a new app

pnpm studio create-app

Generating code templates

pnpm studio create-token-fetcher [app-id]
pnpm studio create-contract-position-fetcher [app-id]

Clearing the cache

Clears the file-system cache that persists app tokens, contract positions and any other app related data. Useful when you are doing modification to an app and it keeps on returning stale data.

pnpm studio clear-cache

Setting custom network providers

If default network providers are too slow or are failing, you can use customize your setup.

pnpm studio set-network-provider

Generating a typescript contract from an ABI

ABIs that are contained within the contracts/abis folder of your application can be leveraged to quickly spin up a typescript library for interacting with a given smart contract.

You can quickly spin up a typescript library for using an ABI by running the following command:

pnpm studio generate:contract-factory [app-id]

Enabling environment specific configuration

Simply copy .env.sample to .env and edit the configuration file.

ENABLED_APPS

Control which app to enable on startup. Particularly useful to keep local build times snappy. When developing your own app, it's recommended to add its identifier (aka: the folder name) and its dependant apps (also their respective folder name) into this configuration key. See the .env file for further details.

Contributing

Read our Contribution Guide

Contributing new commands

You can generate a new cli command by running the hidden command:

pnpm studio new:command [my-command-name]

Need help?

Join our community on Discord

License

This repository is under the Business Source License 1.1

Contributors โœจ

Thanks goes to these wonderful people (emoji key):


Justin D'Errico

๐Ÿ’ป ๐Ÿ’ฌ ๐Ÿšง

immasandwich

๐Ÿ’ป ๐Ÿ’ฌ ๐Ÿšง

William Poulin

๐Ÿ’ป ๐Ÿ’ฌ ๐Ÿšง

Xavier Drdak

๐Ÿ’ป ๐Ÿ’ฌ ๐Ÿšง

0xMaxim

๐Ÿ“– ๐Ÿ’ฌ

YYY

๐Ÿ›

Jabun

๐Ÿ›

brightiron

๐Ÿ’ป

wrap-that-potassium

๐Ÿ’ป

piersss

๐Ÿ’ป

Roman Kolpakov

๐Ÿ’ป

mehdi-loup

๐Ÿ’ป ๐Ÿ’ฌ ๐Ÿšง

Dylan

๐Ÿ’ป

Kyle

๐Ÿ’ป ๐Ÿ›

Mรฉlen

๐Ÿ’ป

Papa Sougou Wele

๐Ÿ’ป ๐Ÿ’ฌ ๐Ÿšง

Alexandre Sobolevski

๐Ÿ’ป ๐Ÿ’ฌ ๐Ÿšง

Farhaan

๐Ÿ’ป

tonzgao

๐Ÿ’ป

leifu

๐Ÿ’ป

Dominik Prediger

๐Ÿ’ป ๐Ÿ›

Kakashi

๐Ÿ’ป

Andrew Leonard

๐Ÿ’ป

Michael

๐Ÿ’ป

liuyepiaoxiang

๐Ÿ’ป

Apoorv Singal

๐Ÿ’ป

The Ol' Dirty Bubble

๐Ÿ’ป

Connor Mulhall

๐Ÿ’ป

Kosiso

๐Ÿ’ป

kinesis-labs

๐Ÿ’ป

marcomariscal

๐Ÿ’ป

CronosLabsDev

๐Ÿ’ป

BastionProvider

๐Ÿ’ป

David Esposto

๐Ÿ’ป

Weston Nelson

๐Ÿ’ป

coslendteam

๐Ÿ’ป

liz

๐Ÿ’ป

oo-00

๐Ÿ’ป

takao-aurigami

๐Ÿ’ป

Sรฉbastien Audet

๐Ÿ’ป ๐Ÿ’ฌ ๐Ÿšง

BlueBit Finance

๐Ÿ’ป

Clonescody

๐Ÿ’ป

Emerald

๐Ÿ’ป

EvLorne

๐Ÿ’ป

Kratos

๐Ÿ’ป

reganwrench

๐Ÿ’ป

scruffy-dev

๐Ÿ’ป

ร‰mile Filteau-Tessier

๐Ÿ’ป ๐Ÿ’ฌ ๐Ÿšง

Sam | Zapper

๐Ÿ“– ๐Ÿ’ฌ

Single Finance Lab

๐Ÿ’ป

FiboApe

๐Ÿ’ป

David

๐Ÿ’ป ๐Ÿ›

0xAlunara

๐Ÿ’ป

Eugene Lepeico

๐Ÿ’ป

FredCoen

๐Ÿ’ป

VaporwaveFinance

๐Ÿ’ป

peezebit

๐Ÿ’ป

p7m

๐Ÿ’ป

0xoats

๐Ÿ›

croc12344

๐Ÿ’ป

peteris

๐Ÿ’ป

Mike Shultz

๐Ÿ’ป ๐Ÿ›

Benjamin Hughes

๐Ÿ’ป ๐Ÿ›

0xButterfield

๐Ÿ’ป

Mark

๐Ÿ’ป

yuval-weiss

๐Ÿ›

volt62

๐Ÿ’ป

0xNeo

๐Ÿ’ป

0xR

๐Ÿ’ป

DINNGO Dev

๐Ÿ’ป

rekt0x

๐Ÿ’ป

Mickey

๐Ÿ’ป ๐Ÿ›

crypslato

๐Ÿ’ป

Msordet

๐Ÿ’ป ๐Ÿ’ฌ ๐Ÿšง

0x A.K.

๐Ÿ’ป

Julien THOMAS

๐Ÿ’ป

koffeebot

๐Ÿ’ป

Justin Greenberg

๐Ÿ’ป

Maxime Bedard

๐Ÿ’ป ๐Ÿ’ฌ ๐Ÿšง

Steven Enamakel

๐Ÿ’ป

gauloiseth

๐Ÿ’ป

Eugene

๐Ÿ’ป

Rob

๐Ÿ’ป

Vedant Dalvi

๐Ÿ’ป

ibeandyy

๐Ÿ’ป

0xdapper

๐Ÿ’ป

Oleh Vovnianko

๐Ÿ’ป

akashiceth

๐Ÿ’ป