diff --git a/packages/open-payments/src/client/incoming-payment.ts b/packages/open-payments/src/client/incoming-payment.ts index 44fb41ce..cdf810cb 100644 --- a/packages/open-payments/src/client/incoming-payment.ts +++ b/packages/open-payments/src/client/incoming-payment.ts @@ -10,23 +10,16 @@ import { getRSPath, CreateIncomingPaymentArgs, PaginationArgs, - IncomingPaymentPaginationResult, - IncomingPaymentWithConnectionUrl, - IncomingPaymentWithConnection + IncomingPaymentPaginationResult } from '../types' import { get, post } from './requests' -type AnyIncomingPayment = - | IncomingPayment - | IncomingPaymentWithConnection - | IncomingPaymentWithConnectionUrl - export interface IncomingPaymentRoutes { - get(args: ResourceRequestArgs): Promise + get(args: ResourceRequestArgs): Promise create( args: CollectionRequestArgs, createArgs: CreateIncomingPaymentArgs - ): Promise + ): Promise complete(args: ResourceRequestArgs): Promise list( args: CollectionRequestArgs, @@ -40,7 +33,7 @@ export const createIncomingPaymentRoutes = ( const { axiosInstance, openApi, logger } = deps const getIncomingPaymentOpenApiValidator = - openApi.createResponseValidator({ + openApi.createResponseValidator({ path: getRSPath('/incoming-payments/{id}'), method: HttpMethod.GET }) @@ -99,7 +92,7 @@ export const createIncomingPaymentRoutes = ( export const getIncomingPayment = async ( deps: BaseDeps, args: ResourceRequestArgs, - validateOpenApiResponse: ResponseValidator + validateOpenApiResponse: ResponseValidator ) => { const { axiosInstance, logger } = deps const { url } = args @@ -222,9 +215,9 @@ export const listIncomingPayment = async ( return incomingPayments } -export const validateIncomingPayment = ( - payment: T -): T => { +export const validateIncomingPayment = ( + payment: IncomingPayment +): IncomingPayment => { if (payment.incomingAmount) { const { incomingAmount, receivedAmount } = payment if ( @@ -245,32 +238,19 @@ export const validateIncomingPayment = ( } } - if ( - 'ilpStreamConnection' in payment && - typeof payment.ilpStreamConnection === 'object' && - (payment.ilpStreamConnection.assetCode !== - payment.receivedAmount.assetCode || - payment.ilpStreamConnection.assetScale !== - payment.receivedAmount.assetScale) - ) { - throw new Error( - 'Stream connection asset information does not match incoming payment asset information' - ) - } - return payment } export const validateCreatedIncomingPayment = ( - payment: IncomingPaymentWithConnection -): IncomingPaymentWithConnection => { + payment: IncomingPayment +): IncomingPayment => { const { receivedAmount, completed } = payment if (BigInt(receivedAmount.value) !== BigInt(0)) { throw new Error('Received amount is a non-zero value.') } - if (completed === true) { + if (completed) { throw new Error('Can not create a completed incoming payment.') } @@ -282,7 +262,7 @@ export const validateCompletedIncomingPayment = ( ): IncomingPayment => { const { completed } = payment - if (completed === false) { + if (completed) { throw new Error('Incoming payment could not be completed.') } diff --git a/packages/open-payments/src/index.ts b/packages/open-payments/src/index.ts index c3309515..bbd7265c 100644 --- a/packages/open-payments/src/index.ts +++ b/packages/open-payments/src/index.ts @@ -2,9 +2,6 @@ export { GrantRequest, GrantContinuationRequest, IncomingPayment, - IncomingPaymentWithConnection, - IncomingPaymentWithConnectionUrl, - ILPStreamConnection, Quote, OutgoingPayment, PendingGrant, @@ -28,11 +25,8 @@ export { } from './client' export { - mockILPStreamConnection, mockWalletAddress, mockIncomingPayment, - mockIncomingPaymentWithConnection, - mockIncomingPaymentWithConnectionUrl, mockOutgoingPayment, mockIncomingPaymentPaginationResult, mockOutgoingPaymentPaginationResult, diff --git a/packages/open-payments/src/test/helpers.ts b/packages/open-payments/src/test/helpers.ts index e7729597..ed0a6d62 100644 --- a/packages/open-payments/src/test/helpers.ts +++ b/packages/open-payments/src/test/helpers.ts @@ -2,7 +2,6 @@ import { generateKeyPairSync } from 'crypto' import createLogger from 'pino' import { createAxiosInstance } from '../client/requests' import { - ILPStreamConnection, IncomingPayment, GrantRequest, GrantContinuationRequest, @@ -13,12 +12,9 @@ import { AccessToken, Quote, IncomingPaymentPaginationResult, - IncomingPaymentWithConnection, - IncomingPaymentWithConnectionUrl, PendingGrant, Grant } from '../types' -import base64url from 'base64url' import { v4 as uuid } from 'uuid' import { ResponseValidator } from '@interledger/openapi' @@ -80,17 +76,6 @@ export const mockWalletAddress = ( ...overrides }) -export const mockILPStreamConnection = ( - overrides?: Partial -): ILPStreamConnection => ({ - id: `https://example.com/.well-known/pay/connections/${uuid()}`, - sharedSecret: base64url('sharedSecret'), - ilpAddress: 'test.ilpAddress', - assetCode: 'USD', - assetScale: 2, - ...overrides -}) - export const mockIncomingPayment = ( overrides?: Partial ): IncomingPayment => ({ @@ -112,22 +97,6 @@ export const mockIncomingPayment = ( ...overrides }) -export const mockIncomingPaymentWithConnection = ( - overrides?: Partial -): IncomingPaymentWithConnection => ({ - ...mockIncomingPayment(), - ilpStreamConnection: mockILPStreamConnection(overrides?.ilpStreamConnection), - ...overrides -}) - -export const mockIncomingPaymentWithConnectionUrl = ( - overrides?: Partial -): IncomingPaymentWithConnectionUrl => ({ - ...mockIncomingPayment(), - ilpStreamConnection: mockILPStreamConnection().id, - ...overrides -}) - export const mockIncomingPaymentPaginationResult = ( overrides?: Partial ): IncomingPaymentPaginationResult => { diff --git a/packages/open-payments/src/types.ts b/packages/open-payments/src/types.ts index 5809acc4..18c9d39b 100644 --- a/packages/open-payments/src/types.ts +++ b/packages/open-payments/src/types.ts @@ -13,16 +13,9 @@ export const getRSPath =

(path: P): string => path as string export type IncomingPayment = RSComponents['schemas']['incoming-payment'] -export type IncomingPaymentWithConnection = - RSComponents['schemas']['incoming-payment-with-connection'] -export type IncomingPaymentWithConnectionUrl = - RSComponents['schemas']['incoming-payment-with-connection-url'] export type CreateIncomingPaymentArgs = RSOperations['create-incoming-payment']['requestBody']['content']['application/json'] -export type IncomingPaymentPaginationResult = - PaginationResult -export type ILPStreamConnection = - RSComponents['schemas']['ilp-stream-connection'] +export type IncomingPaymentPaginationResult = PaginationResult export type OutgoingPayment = RSComponents['schemas']['outgoing-payment'] export type CreateOutgoingPaymentArgs = RSOperations['create-outgoing-payment']['requestBody']['content']['application/json']