GithubHelp home page GithubHelp logo

zapper-fi / studio Goto Github PK

View Code? Open in Web Editor NEW
191.0 13.0 382.0 35.4 MB

Zapper App Integrations

License: Other

TypeScript 99.88% Shell 0.01% JavaScript 0.12% Batchfile 0.01%
hacktoberfest nodejs typescript ethers nestjs web3

studio's Introduction

TwitterDiscord

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

💻

studio's People

Contributors

0xalecks avatar 0xalunara avatar 0xdapper avatar 0xhafa avatar 0xmdreamy avatar amikec avatar clonescody avatar cronoslabsdev avatar cruzdanilo avatar dominikpre avatar emile-filteau avatar fiboape avatar gdeschryver avatar immasandwich avatar jforsaken avatar leonardishere avatar maximebedard avatar meetkosiso avatar pingu1 avatar pranavraut033 avatar pwele avatar samiam-0x avatar theonepichael avatar tonzgao avatar webmass avatar wpoulin avatar wrap-that-potassium avatar xdrdak avatar xionyk avatar zapper-bot 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  avatar

studio's Issues

[StakeDAO] sdFXS gauge

from canny.io - https://features.zapper.fi/protocol-requests/p/stakedao-sdfxs-gauge

StakeDAO sdFXS

Address: 0x402F878BDd1f5C66FdAF0fabaBcF74741B68ac36
Symbol: sdFXS
Description: Basically locked FXS on StakeDAO
FXS price : https://www.coingecko.com/en/coins/frax-share
sdFXS price: Basically 1-to-1 with FXS. True price is on Curve https://curve.fi/factory/100
StakeDAO sdFXS Gauge

Address: 0xF3C6e8fbB946260e8c2a55d48a5e01C82fD63106
Symbol: sdFXS-gauge
Description: Deposited sdFXS. Earns FXS and SDT rewards
https://lockers.stakedao.org/
Underlying token (sdFXS): 0x402F878BDd1f5C66FdAF0fabaBcF74741B68ac36
sdFXS Gauge price: Basically 1-to-1 with FXS. True price is on Curve https://curve.fi/factory/100
Price info:
FXS: https://www.coingecko.com/en/coins/frax-share
SDT: https://www.coingecko.com/en/coins/stake-dao
Deposited Balance
call balanceOf(<USER ADDRESS) on 0xF3C6e8fbB946260e8c2a55d48a5e01C82fD63106
Rewards
FXS: call claimable_reward(<USER ADDRESS, 0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0) on 0xF3C6e8fbB946260e8c2a55d48a5e01C82fD63106
SDT: call claimable_reward(<USER ADDRESS, 0x73968b9a57c6E53d41345FD57a6E6ae27d6CDB2F) on 0xF3C6e8fbB946260e8c2a55d48a5e01C82fD63106
Thank you

DeFi Saver mStable supply not showing up

User: I have an mStable position. I put the DSproxy wallet address as a watched wallet in Zapper but that mStable position doesn’t show. Possible to DM you my wallet address? It shows it on Etherscan

Bondly token address update post-hack

Bondly was hacked last year and they replaced their old token with new token. Could you please remove pricing for old token like the other portfolio mangers have done already.

Tonic doesn't show up on dashboard

Regarding balance fetcher

endpoint: http://localhost:5001/apps/tectonic/balances?addresses[]=<ADDRESS>&network=cronos

getClaimableBalances() in tectonic.balance-fetcher.ts, there is TONIC token with balance

[
  {
    type: 'contract-position',
    address: '0xb3831584acb95ed9ccb0c11f677b5ad01deaeec0',
    appId: 'tectonic',
    groupId: 'claimable',
    network: 'cronos',
    dataProps: {},
    displayProps: {
      label: 'Claimable TONIC',
      secondaryLabel: [Object],
      images: [Array],
      statsItems: []
    },
    tokens: [ [Object] ],
    balanceUSD: 0.0001389300468845742
  }
]

But the return value of presentBalanceFetcherResponse (from '~app-toolkit/helpers/presentation/balance-fetcher-response.present') function somehow filters out the claimableProduct and therefore TONIC doesn't show up on endpoint and dashboard. Any suggestion to fix it plz 🙏

Remove rugged CREAM assets

From Canny:

after CREAM got rugged, the assets used as collaterals and the debt stopped appearing on my wallet, which was the right thing. Today it suddenly reappeared though, which is very confusing because these assets are still lost - illiquid and useless

[NAOS] Updating NAOS for staking, BSC, pools

ETH Staking Pool Address:
0x99E4eA9eF6bf396C49B35FF9478EbB8890aEF581
PoolId 0: NAOS Token
PoolId 1: NAOS/ETH Uni LP Token
PoolId 3: nUSD3CRV LP Token
BSC NAOS Staking Pool Address:
0x3Dcd32Dd2b225749Aa830Ca3B4F2411BFEB03DB4
BSC Staking Pool Address:
0x6EbC2C41c1e29A5506B86b758B6c16DD5bbCF7d1
PoolId 0: NAOS/BNB Pancake LP Token

LICENSE

Business Source License 1.1

License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved.
"Business Source License" is a trademark of MariaDB Corporation Ab.


Parameters

Licensor: Zapper Inc.

Licensed Work: Zapper-fi / studio
The Licensed Work is (c) 2022 Zapper Inc.

Additional Use Grant: none

Change Date: The earlier of 2024-04-20 or a date specified at studio-license-date.zapper.eth

Change License: The MIT License (aka. "Expat License")


Terms

The Licensor hereby grants you the right to copy, modify, create derivative
works, redistribute, and make non-production use of the Licensed Work. The
Licensor may make an Additional Use Grant, above, permitting limited
production use.

Effective on the Change Date, or the fourth anniversary of the first publicly
available distribution of a specific version of the Licensed Work under this
License, whichever comes first, the Licensor hereby grants you rights under
the terms of the Change License, and the rights granted in the paragraph
above terminate.

If your use of the Licensed Work does not comply with the requirements
currently in effect as described in this License, you must purchase a
commercial license from the Licensor, its affiliated entities, or authorized
resellers, or you must refrain from using the Licensed Work.

All copies of the original and modified Licensed Work, and derivative works
of the Licensed Work, are subject to this License. This License applies
separately for each version of the Licensed Work and the Change Date may vary
for each version of the Licensed Work released by Licensor.

You must conspicuously display this License on each original or modified copy
of the Licensed Work. If you receive the Licensed Work in original or
modified form from a third party, the terms and conditions set forth in this
License apply to your use of that work.

Any use of the Licensed Work in violation of this License will automatically
terminate your rights under this License for the current and all other
versions of the Licensed Work.

This License does not grant you any right in any trademark or logo of
Licensor or its affiliates (provided that you may use a trademark or logo of
Licensor as expressly required by this License).

TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON
AN "AS IS" BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS,
EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND
TITLE.

MariaDB hereby grants you permission to use this License’s text to license
your works, and to refer to it using the trademark "Business Source License",
as long as you comply with the Covenants of Licensor below.


Covenants of Licensor

In consideration of the right to use this License’s text and the "Business
Source License" name and trademark, Licensor covenants to MariaDB, and to all
other recipients of the licensed work to be provided by Licensor:

  1. To specify as the Change License the GPL Version 2.0 or any later version,
    or a license that is compatible with GPL Version 2.0 or a later version,
    where "compatible" means that software provided under the Change License can
    be included in a program with software provided under GPL Version 2.0 or a
    later version. Licensor may specify additional Change Licenses without
    limitation.

  2. To either: (a) specify an additional grant of rights to use that does not
    impose any additional restriction on the right granted in this License, as
    the Additional Use Grant; or (b) insert the text "None".

  3. To specify a Change Date.

  4. Not to modify this License in any other way.


Notice

The Business Source License (this document, or the "License") is not an Open
Source license. However, the Licensed Work will eventually be made available
under an Open Source License, as stated in this License.

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.