jb-terminal-wrapper
Rozszerz funkcjonalność terminala płatności o dynamiczne podziały i operacje atomowe
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Umożliwia budowanie zaawansowanych przepływów płatności poprzez opakowanie JBMultiTerminal. Zastosuj ten wzorzec, gdy potrzebujesz dynamicznych podziałów określonych w momencie płatności, przechwycenia i przekierowania tokenów, lub połączenia wielu operacji w jedną transakcję. Rozwiązanie obejmuje implementację interfejsu IJBTerminal, wzorzec _acceptFunds oraz manipulację beneficjentem dla przepływów płatności i wypłat. Kluczowa koncepcja: wrappery są addytywne, nie restrykcyjne.
Jak używać
Sklonuj repozytorium openclaw/skills i przejdź do katalogu skills/mejango/juicy/jb-terminal-wrapper.
Zapoznaj się z architekturą: utwórz kontrakt implementujący interfejs IJBTerminal, który opakowuje JBMultiTerminal. Kontrakt powinien zawierać referencje do MULTI_TERMINAL i CONTROLLER jako zmienne immutable.
Zaimplementuj funkcję pay() w swoim wrapperie, która przyjmuje parametry: projectId, token, oraz kwotę. Użyj wspólnego helpera _acceptFunds (wzorzec z JBSwapTerminalRegistry) do obsługi zarówno ETH jak i tokenów ERC20.
Dodaj logikę dla swoich przypadków użycia: dynamiczne podziały w momencie płatności, przechwycenie tokenów przed dostarczeniem, lub połączenie operacji płatności z dystrybucją w jedną transakcję atomową.
Pamiętaj, że wrapper jest warstwą addytywną — rozszerza funkcjonalność bez ograniczania dostępu permissionless. Manipulacja beneficjentem powinna działać zarówno dla przepływów płatności jak i wypłat.
Przetestuj wrapper z rzeczywistym projektem revnet, szczególnie scenariusze gdzie ruleset data hooks nie mogą być modyfikowane bezpośrednio.