Closed JoelVR17 closed 4 weeks ago
@JoelVR17 is attempting to deploy a commit to the kindfi Team on Vercel.
A member of the Team first needs to authorize it.
This PR refactors the escrow initialization flow in the web application. The API endpoint now validates the incoming payload (now typed as EscrowPayload
), creates an escrow request via a dedicated function, and then sends a transaction through the Stellar network. Legacy escrow contract logic and type definitions have been removed. New modules for HTTP configuration, Supabase integration, and various escrow-related TypeScript types have been added to enhance code modularity and clarity. Package configuration has also been tidied up for improved readability.
File(s) | Change Summary |
---|---|
apps/web/app/api/escrow/initialize/route.ts |
Restructured the POST endpoint to validate EscrowPayload , create escrow requests with createEscrowRequest , and send transactions via sendTransaction ; database insertions now update escrow status post-success. |
apps/web/lib/axios/http.ts , apps/web/lib/supabase/config.ts |
New files added to configure an Axios HTTP client and initialize a Supabase client using environment variables. |
apps/web/lib/stellar/utils/create-escrow.ts , apps/web/lib/stellar/utils/get-endpoint.ts , apps/web/lib/stellar/utils/send-transaction.ts , apps/web/lib/stellar/utils/sign-transaction.ts |
Introduced new utility functions for escrow request creation, endpoint resolution, sending transactions, and a placeholder for signing transactions. |
apps/web/lib/stellar/escrow.ts , apps/web/lib/types/escrow.types.ts (old) |
Removed legacy escrow contract functionality and type definitions related to contract initialization and escrow state management. |
apps/web/lib/validators/escrow.ts |
Updated validation logic to use EscrowPayload with modified field checks, including changes in milestone validation and metadata handling. |
apps/web/lib/types/date.types.ts , apps/web/lib/types/escrow/escrow-endpoint.types.ts , apps/web/lib/types/escrow/escrow-payload.types.ts , apps/web/lib/types/escrow/escrow-response.types.ts , apps/web/lib/types/escrow/escrow.types.ts , apps/web/lib/types/utils.types.ts , apps/web/lib/types/index.ts |
New and restructured TypeScript types and interfaces for escrow operations, endpoints, payloads, responses, dates, and HTTP utilities. Export paths have been updated accordingly. |
package.json |
Reformatted the workspaces section into a multi-line format and removed the empty dependencies object for clarity. |
sequenceDiagram
participant Client
participant API
participant EscrowService
participant Stellar
participant DB
Client->>API: POST /escrow/initialize
API->>API: Validate EscrowPayload
API->>EscrowService: createEscrowRequest(props)
EscrowService-->>API: { unsignedTransaction, status }
API->>Stellar: sendTransaction(unsignedTransaction)
Stellar-->>API: Transaction response
API->>DB: Insert escrow record (set state to INITIALIZED)
DB-->>API: Confirmation
API-->>Client: Response (with contract_id, status, and message)
EscrowPayload
type, directly relating to the validation and processing changes in this PR.In refactored code our functions play,
New payloads guide the escrow way.
With HTTP and Supabase standing tall,
Stellar transactions answer the call.
Code sings in types and logic so bright,
Celebrating change with joyful insight!
🚀✨
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
The latest updates on your projects. Learn more about Vercel for Git ↗︎
Name | Status | Preview | Comments | Updated (UTC) |
---|---|---|---|---|
kindfi | ❌ Failed (Inspect) | Feb 19, 2025 3:39am |
Changes look great! Amazing work on the TL API configuration and the extra comments you're creating for all the other devs.
However, I noticed this is a fork-based PR, whereas our contributor guide recommends using the branch creation method instead. For this case, we’ll make a small exception since your PR includes a lot of valuable info and the performance was really great. But for future contributions, please take a look at the contribution guide to align with our workflow. We'd love to have you continue contributing and learning together.
@AndlerRL will take care of two little details that are missing, one is removing one file and the other one is fixing the build. After those ones we will merge your code.
Nice Job!
I will be doing it in a new PR, cannot push into a forked PR. Merging!
cc - @Bran18
Summary by CodeRabbit
New Features
Refactor
Chores