Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Airdrop gas via Light Bridge #1180

Merged
merged 79 commits into from
Sep 22, 2023
Merged

feat: Airdrop gas via Light Bridge #1180

merged 79 commits into from
Sep 22, 2023

Conversation

wsdt
Copy link
Contributor

@wsdt wsdt commented Sep 5, 2023

📋 Related to bobanetwork/gateway#69

Needs to be based on bobanetwork/boba#1083

Overview

Airdrop gas when using Teleportation if certain conditions are met.

Conditions are:

  • Is Airdrop enabled (e.g. I guess we only want to enable it on L2 and not when bridging back to L1)
  • Did user airdrop already within the last x seconds (by default 86400, 1 day)
  • Does user bridge asset that is not a native asset on the destination network
  • Does user not have any native balance on the destination network

Changes

Describe your changes and implementation choices. More details make PRs easier to review.

  • Changes in asset mapping
  • Added integration tests
  • Added airdrop feature to Teleportation service
  • No smart contract changes to avoid new audit

Testing

  • Integration tests succeed

Copy link
Contributor

@souradeep-das souradeep-das left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks great to me!

packages/boba/teleportation/src/service.ts Outdated Show resolved Hide resolved
packages/boba/teleportation/src/service.ts Outdated Show resolved Hide resolved
integration-tests/test/eth-l2/teleportation.spec.ts Outdated Show resolved Hide resolved
integration-tests/test/eth-l2/teleportation.spec.ts Outdated Show resolved Hide resolved
@wsdt wsdt changed the title feat: Airdrop gas via Teleportation feat: Airdrop gas via Light Bridge Sep 13, 2023
@InoMurko
Copy link
Contributor

Using just one API is dangeours because of possible skewed results:
- Does user bridge at least x$ (using Coingecko API, fails silently and ignores check if API call fails). Default: $ 15
I suggest you remove the coingeko or add another API.

@InoMurko
Copy link
Contributor

Does user bridge at least x$ (using Coingecko API, fails silently and ignores check if API call fails). Default: $ 15

should be removed from PR description

Copy link
Contributor

@souradeep-das souradeep-das left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changes look good to me!

since we know what these erc20 tokens are , we could have a configured min bridge value (that's probably too much trouble if token prices fluctuate), otherwise its okay too, we just gotta make sure "bridge gas is sufficiently > the airdrop amount"
(even for a batched call to bridge scenario)

@wsdt wsdt merged commit ef44554 into develop Sep 22, 2023
9 of 14 checks passed
@wsdt wsdt deleted the wsdt/teleportation-airdrop branch September 22, 2023 16:40
bobabot-enya-ai pushed a commit that referenced this pull request Nov 5, 2023
* add weth on bsc

* use existing weth

* update-l2-weth

* gateway-correct-messaging

* fix error messages for bridge

* undo-old-code

* destchainid

* teleport

* teleportAsset works

* fixed-err

* cleanup

* monitor-watcher

* monitor-fix

* watcher

* type

* redeploy teleportation after audit on testnets

* Update 020-Teleportation.deploy.ts

* Update 020-Teleportation.deploy.ts

* teleportation service fixed

* error

* fix teleportation service

* Add contracts to register

* EIP1155 support

* fix-build

* teleportAsset fixed

* filters work

* rpc-fixed

* disburse

* checkpoint

* fe part done

* subgraph-teleportation

* graphql

* del

* teleportation integrated in Gateway

* rm teleportation from watcher/serverless

* fix approve for teleportation

* only-show-on-testnet

* fix-merge

* depcheck

* fix-tests

* fix depcheck & linter

* feat: Add info alert for teleportation bridge that unconventional wallets are not supported

* rm errors

* merge

* airdrop progress

* fix linting

* alt

* resolve depcheck

* implement airdrop gas on teleportation feedback

* feedback airdrop implemented: airdrop conditions for teleportation

* rm only

* remove usd/coingecko for teleportation

* integration tests

* rm minusdval

* depcheck fix

---------

Co-authored-by: cby3149 <cby3149@gmail.com>
(cherry picked from commit ef44554)
InoMurko added a commit that referenced this pull request Nov 5, 2023
* fix: Replace Teleportation rpcs with Tenderly rpcs (#1189)

(cherry picked from commit 0464581)

* making getBalance more robust (#1196)

(cherry picked from commit ad24168)

* Gateway : Cleanup Dead Code / Lazy loading of containers with  (#1212)

(cherry picked from commit 903cb8f)

* Fix/loading indicator dao proposals (#1218)

* added spinner with loading as fallback component to route

* fix: fetching proposal on dao page

(cherry picked from commit e9953b7)

* Feat/unsupported network modal (#1188)

* Show modal on unsuported networks changes

* update label

* usenetwork update

(cherry picked from commit 9b53adc)

* remplace seconds by days on earn calculation (#1221)

(cherry picked from commit 462866c)

* Feat/reinitialized network switcher (#1206)

* fixing bridge status

* fixing conflict

* reset connection after SwitchChain network

* wip updating fsbalances

* update network services

* removing debugging

* fixing issue on network switcher

* remove console logs

* remove console logs

(cherry picked from commit ee692cb)

* feat: Airdrop gas via Light Bridge (#1180)

* add weth on bsc

* use existing weth

* update-l2-weth

* gateway-correct-messaging

* fix error messages for bridge

* undo-old-code

* destchainid

* teleport

* teleportAsset works

* fixed-err

* cleanup

* monitor-watcher

* monitor-fix

* watcher

* type

* redeploy teleportation after audit on testnets

* Update 020-Teleportation.deploy.ts

* Update 020-Teleportation.deploy.ts

* teleportation service fixed

* error

* fix teleportation service

* Add contracts to register

* EIP1155 support

* fix-build

* teleportAsset fixed

* filters work

* rpc-fixed

* disburse

* checkpoint

* fe part done

* subgraph-teleportation

* graphql

* del

* teleportation integrated in Gateway

* rm teleportation from watcher/serverless

* fix approve for teleportation

* only-show-on-testnet

* fix-merge

* depcheck

* fix-tests

* fix depcheck & linter

* feat: Add info alert for teleportation bridge that unconventional wallets are not supported

* rm errors

* merge

* airdrop progress

* fix linting

* alt

* resolve depcheck

* implement airdrop gas on teleportation feedback

* feedback airdrop implemented: airdrop conditions for teleportation

* rm only

* remove usd/coingecko for teleportation

* integration tests

* rm minusdval

* depcheck fix

---------

Co-authored-by: cby3149 <cby3149@gmail.com>
(cherry picked from commit ef44554)

* Gateway : Block Explorer links in footer. (#1222)

* fix: footer alignment as per design

* udated the designs and created new select component for dropdowns

* fix: menu dropdown style fixes

* fix: style fixes for select fixes

* fix: select option button

(cherry picked from commit 97c723e)

* cleanup infura and added tenderly rpc url (#1226)

(cherry picked from commit 08a84be)

* decouple gateway from rollup (#1245)

(cherry picked from commit d2683d6)

* Bump mikefarah/yq from 4.35.1 to 4.35.2 (#1249)

Bumps [mikefarah/yq](https://github.com/mikefarah/yq) from 4.35.1 to 4.35.2.
- [Release notes](https://github.com/mikefarah/yq/releases)
- [Changelog](https://github.com/mikefarah/yq/blob/master/release_notes.txt)
- [Commits](mikefarah/yq@v4.35.1...v4.35.2)

---
updated-dependencies:
- dependency-name: mikefarah/yq
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
(cherry picked from commit d7753fa)

* Inomurko/update packages (#1248)

* v1.0.3

* use bobanetwork packages where applicable

* revert yarn.lock

* more deps bumps

* teleportation bump

* more deps bumps

* monitor deps bump

* does yarn install help?

* bobalink gaspriceoracle deps

* rem ethereumjs-evm

* rem ethersproject/rlp

* put deps back and print progress in plain

* put deps back and print progress in plain

* comment out avax builds and add deps

* disable BUILDKIT for reliablity

* disable BUILDKIT for reliablity

* is buildx more reliable

* is buildx more reliable - load to local registry

* bobalink deps

* bobalink deps in boba deployer

* change base image

* rem frozen lockfile

* yarn install again

* bump the machine executor

* docker-compose build

* restart always for deployer

* restart on failure, image downgrade, rem default platform

(cherry picked from commit a6f696f)

* feat: Add documentation for Teleportation contract parameters (#1211)

* feat: Add documentation for Teleportation contract parameters

* Add contract function to documentation

(cherry picked from commit 84c138b)

* Bump postcss from 8.4.21 to 8.4.31 (#1255)

(cherry picked from commit 5f6fc3b)

* Bump @types/chai-as-promised from 7.1.5 to 7.1.6 (#1257)

Bumps [@types/chai-as-promised](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chai-as-promised) from 7.1.5 to 7.1.6.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chai-as-promised)

---
updated-dependencies:
- dependency-name: "@types/chai-as-promised"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
(cherry picked from commit a3907da)

* Create SECURITY.md for Teleportation (#1253)

* Create SECURITY.md

* Update SECURITY.md

(cherry picked from commit 705b864)

* "updated web3 library using in fraud detector" (#1271)

(cherry picked from commit 81c5ca1)

* Turing replica state (#1286)

(cherry picked from commit 4dca96f)

* proxyd updates (#1285)

* proxyd updates

* fix proxyd testing in ci

---------

Co-authored-by: Boyuan-Chen <46272347+Boyuan-Chen@users.noreply.github.com>
(cherry picked from commit ad3dae7)

---------

Co-authored-by: Riedl Kevin, Bsc <kevin.riedl@wavect.io>
Co-authored-by: jemeza <57341979+jemeza@users.noreply.github.com>
Co-authored-by: Sahil K <86316370+sk-enya@users.noreply.github.com>
Co-authored-by: alvaro-ricotta <81116391+alvaro-ricotta@users.noreply.github.com>
Co-authored-by: Ino Murko <ino.murko.github@protonmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants