diff --git a/packages/advanced-logic/src/advanced-logic.ts b/packages/advanced-logic/src/advanced-logic.ts index c994e41401..f23a7a6a21 100644 --- a/packages/advanced-logic/src/advanced-logic.ts +++ b/packages/advanced-logic/src/advanced-logic.ts @@ -106,30 +106,30 @@ export default class AdvancedLogic implements AdvancedLogicTypes.IAdvancedLogic const id: ExtensionTypes.ID = extensionAction.id; const extension: ExtensionTypes.IExtension | undefined = { [ExtensionTypes.ID.CONTENT_DATA]: this.extensions.contentData, - [ExtensionTypes.ID.PAYMENT_NETWORK_BITCOIN_ADDRESS_BASED]: this.extensions.addressBasedBtc, - [ExtensionTypes.ID.PAYMENT_NETWORK_TESTNET_BITCOIN_ADDRESS_BASED]: + [ExtensionTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED]: this.extensions.addressBasedBtc, + [ExtensionTypes.PAYMENT_NETWORK_ID.TESTNET_BITCOIN_ADDRESS_BASED]: this.extensions.addressBasedTestnetBtc, - [ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE]: this.extensions.declarative, - [ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_ADDRESS_BASED]: this.extensions.addressBasedErc20, - [ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT]: this.extensions.proxyContractErc20, - [ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT]: + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE]: this.extensions.declarative, + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED]: this.extensions.addressBasedErc20, + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]: this.extensions.proxyContractErc20, + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: this.extensions.feeProxyContractErc20, - [ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM]: this.extensions.erc777Stream, - [ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA]: this.extensions.ethereumInputData, - [ExtensionTypes.ID.PAYMENT_NETWORK_NATIVE_TOKEN]: + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM]: this.extensions.erc777Stream, + [ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: this.extensions.ethereumInputData, + [ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN]: this.getNativeTokenExtensionForActionAndState(extensionAction, requestState), - [ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ERC20_PROXY]: this.extensions.anyToErc20Proxy, - [ExtensionTypes.ID.PAYMENT_NETWORK_ETH_FEE_PROXY_CONTRACT]: + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]: this.extensions.anyToErc20Proxy, + [ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT]: this.extensions.feeProxyContractEth, - [ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ETH_PROXY]: this.extensions.anyToEthProxy, - [ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_NATIVE_TOKEN]: + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY]: this.extensions.anyToEthProxy, + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN]: this.getAnyToNativeTokenExtensionForActionAndState(extensionAction, requestState), }[id]; if (!extension) { if ( - id === ExtensionTypes.ID.PAYMENT_NETWORK_NATIVE_TOKEN || - id === ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_NATIVE_TOKEN + id === ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN || + id === ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN ) { const network = this.getNetwork(extensionAction, requestState) || requestState.currency.network; @@ -189,7 +189,7 @@ export default class AdvancedLogic implements AdvancedLogicTypes.IAdvancedLogic const network = extensionAction.action === 'create' ? extensionAction.parameters.network - : requestState.extensions[ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_NATIVE_TOKEN]?.values + : requestState.extensions[ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN]?.values ?.network; return network; } diff --git a/packages/advanced-logic/src/extensions/payment-network/address-based.ts b/packages/advanced-logic/src/extensions/payment-network/address-based.ts index a97da66344..15df7d9fa6 100644 --- a/packages/advanced-logic/src/extensions/payment-network/address-based.ts +++ b/packages/advanced-logic/src/extensions/payment-network/address-based.ts @@ -11,7 +11,7 @@ export default abstract class AddressBasedPaymentNetwork< TCreationParameters extends ExtensionTypes.PnAddressBased.ICreationParameters = ExtensionTypes.PnAddressBased.ICreationParameters, > extends DeclarativePaymentNetwork { protected constructor( - extensionId: ExtensionTypes.ID, + extensionId: ExtensionTypes.PAYMENT_NETWORK_ID, currentVersion: string, public readonly supportedCurrencyType: RequestLogicTypes.CURRENCY, ) { diff --git a/packages/advanced-logic/src/extensions/payment-network/any-to-erc20-proxy.ts b/packages/advanced-logic/src/extensions/payment-network/any-to-erc20-proxy.ts index 992ed2e25f..5adf9eb140 100644 --- a/packages/advanced-logic/src/extensions/payment-network/any-to-erc20-proxy.ts +++ b/packages/advanced-logic/src/extensions/payment-network/any-to-erc20-proxy.ts @@ -11,7 +11,8 @@ const CURRENT_VERSION = '0.1.0'; export default class AnyToErc20ProxyPaymentNetwork extends Erc20FeeProxyPaymentNetwork { public constructor( private currencyManager: ICurrencyManager, - extensionId: ExtensionTypes.ID = ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ERC20_PROXY, + extensionId: ExtensionTypes.PAYMENT_NETWORK_ID = ExtensionTypes.PAYMENT_NETWORK_ID + .ANY_TO_ERC20_PROXY, currentVersion: string = CURRENT_VERSION, ) { super(extensionId, currentVersion); diff --git a/packages/advanced-logic/src/extensions/payment-network/any-to-eth-proxy.ts b/packages/advanced-logic/src/extensions/payment-network/any-to-eth-proxy.ts index bcb798f79a..5917f6b5ff 100644 --- a/packages/advanced-logic/src/extensions/payment-network/any-to-eth-proxy.ts +++ b/packages/advanced-logic/src/extensions/payment-network/any-to-eth-proxy.ts @@ -6,7 +6,7 @@ const CURRENT_VERSION = '0.2.0'; export default class AnyToEthProxyPaymentNetwork extends EthereumFeeProxyPaymentNetwork { public constructor(private currencyManager: ICurrencyManager) { - super(ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ETH_PROXY, CURRENT_VERSION); + super(ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY, CURRENT_VERSION); } /** diff --git a/packages/advanced-logic/src/extensions/payment-network/any-to-native.ts b/packages/advanced-logic/src/extensions/payment-network/any-to-native.ts index 958e8ca183..5c7ed20a51 100644 --- a/packages/advanced-logic/src/extensions/payment-network/any-to-native.ts +++ b/packages/advanced-logic/src/extensions/payment-network/any-to-native.ts @@ -4,7 +4,7 @@ import { InvalidPaymentAddressError, UnsupportedNetworkError } from './address-b export default abstract class AnyToNativeTokenPaymentNetwork extends FeeReferenceBasedPaymentNetwork { protected constructor( - extensionId: ExtensionTypes.ID, + extensionId: ExtensionTypes.PAYMENT_NETWORK_ID, currentVersion: string, public readonly supportedNetworks: string[], ) { diff --git a/packages/advanced-logic/src/extensions/payment-network/bitcoin/mainnet-address-based.ts b/packages/advanced-logic/src/extensions/payment-network/bitcoin/mainnet-address-based.ts index 89f08245fe..3907e9d49a 100644 --- a/packages/advanced-logic/src/extensions/payment-network/bitcoin/mainnet-address-based.ts +++ b/packages/advanced-logic/src/extensions/payment-network/bitcoin/mainnet-address-based.ts @@ -12,7 +12,8 @@ const BITCOIN_NETWORK = 'mainnet'; */ export default class BitcoinAddressBasedPaymentNetwork extends AddressBasedPaymentNetwork { public constructor( - extensionId: ExtensionTypes.ID = ExtensionTypes.ID.PAYMENT_NETWORK_BITCOIN_ADDRESS_BASED, + extensionId: ExtensionTypes.PAYMENT_NETWORK_ID = ExtensionTypes.PAYMENT_NETWORK_ID + .BITCOIN_ADDRESS_BASED, ) { super(extensionId, CURRENT_VERSION, RequestLogicTypes.CURRENCY.BTC); } diff --git a/packages/advanced-logic/src/extensions/payment-network/bitcoin/testnet-address-based.ts b/packages/advanced-logic/src/extensions/payment-network/bitcoin/testnet-address-based.ts index b38e7a6036..f0636d9809 100644 --- a/packages/advanced-logic/src/extensions/payment-network/bitcoin/testnet-address-based.ts +++ b/packages/advanced-logic/src/extensions/payment-network/bitcoin/testnet-address-based.ts @@ -12,7 +12,7 @@ const BITCOIN_NETWORK = 'testnet'; */ export default class BitcoinTestnetAddressBasedPaymentNetwork extends BitcoinAddressBasedPaymentNetwork { public constructor() { - super(ExtensionTypes.ID.PAYMENT_NETWORK_TESTNET_BITCOIN_ADDRESS_BASED); + super(ExtensionTypes.PAYMENT_NETWORK_ID.TESTNET_BITCOIN_ADDRESS_BASED); } protected isValidAddress(address: string): boolean { diff --git a/packages/advanced-logic/src/extensions/payment-network/declarative.ts b/packages/advanced-logic/src/extensions/payment-network/declarative.ts index 6c0738ef1a..231a18bd74 100644 --- a/packages/advanced-logic/src/extensions/payment-network/declarative.ts +++ b/packages/advanced-logic/src/extensions/payment-network/declarative.ts @@ -11,8 +11,8 @@ export default class DeclarativePaymentNetwork< TCreationParameters extends ExtensionTypes.PnAnyDeclarative.ICreationParameters = ExtensionTypes.PnAnyDeclarative.ICreationParameters, > extends AbstractExtension { public constructor( - public readonly extensionId: ExtensionTypes.ID = ExtensionTypes.ID - .PAYMENT_NETWORK_ANY_DECLARATIVE, + public readonly extensionId: ExtensionTypes.PAYMENT_NETWORK_ID = ExtensionTypes + .PAYMENT_NETWORK_ID.ANY_DECLARATIVE, public readonly currentVersion: string = CURRENT_VERSION, ) { super(ExtensionTypes.TYPE.PAYMENT_NETWORK, extensionId, currentVersion); diff --git a/packages/advanced-logic/src/extensions/payment-network/erc20/address-based.ts b/packages/advanced-logic/src/extensions/payment-network/erc20/address-based.ts index 5742651bff..e2fcca70c5 100644 --- a/packages/advanced-logic/src/extensions/payment-network/erc20/address-based.ts +++ b/packages/advanced-logic/src/extensions/payment-network/erc20/address-based.ts @@ -12,7 +12,7 @@ const CURRENT_VERSION = '0.1.0'; export default class Erc20AddressBasedPaymentNetwork extends AddressBasedPaymentNetwork { public constructor() { super( - ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_ADDRESS_BASED, + ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED, CURRENT_VERSION, RequestLogicTypes.CURRENCY.ERC20, ); diff --git a/packages/advanced-logic/src/extensions/payment-network/erc20/fee-proxy-contract.ts b/packages/advanced-logic/src/extensions/payment-network/erc20/fee-proxy-contract.ts index e0b4766dfd..62658d0cc8 100644 --- a/packages/advanced-logic/src/extensions/payment-network/erc20/fee-proxy-contract.ts +++ b/packages/advanced-logic/src/extensions/payment-network/erc20/fee-proxy-contract.ts @@ -10,7 +10,8 @@ export default class Erc20FeeProxyPaymentNetwork< TCreationParameters extends ExtensionTypes.PnFeeReferenceBased.ICreationParameters = ExtensionTypes.PnFeeReferenceBased.ICreationParameters, > extends FeeReferenceBasedPaymentNetwork { public constructor( - extensionId: ExtensionTypes.ID = ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT, + extensionId: ExtensionTypes.PAYMENT_NETWORK_ID = ExtensionTypes.PAYMENT_NETWORK_ID + .ERC20_FEE_PROXY_CONTRACT, currentVersion: string = CURRENT_VERSION, ) { super(extensionId, currentVersion, RequestLogicTypes.CURRENCY.ERC20); diff --git a/packages/advanced-logic/src/extensions/payment-network/erc20/proxy-contract.ts b/packages/advanced-logic/src/extensions/payment-network/erc20/proxy-contract.ts index 7b94d55b0f..63aa185392 100644 --- a/packages/advanced-logic/src/extensions/payment-network/erc20/proxy-contract.ts +++ b/packages/advanced-logic/src/extensions/payment-network/erc20/proxy-contract.ts @@ -11,7 +11,7 @@ export default class Erc20ProxyPaymentNetwork< > extends ReferenceBasedPaymentNetwork { public constructor() { super( - ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT, + ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, CURRENT_VERSION, RequestLogicTypes.CURRENCY.ERC20, ); diff --git a/packages/advanced-logic/src/extensions/payment-network/erc777/stream.ts b/packages/advanced-logic/src/extensions/payment-network/erc777/stream.ts index 7656554a69..e64f24787c 100644 --- a/packages/advanced-logic/src/extensions/payment-network/erc777/stream.ts +++ b/packages/advanced-logic/src/extensions/payment-network/erc777/stream.ts @@ -11,7 +11,7 @@ export default class Erc777StreamPaymentNetwork< > extends ReferenceBasedPaymentNetwork { public constructor() { super( - ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM, + ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM, CURRENT_VERSION, RequestLogicTypes.CURRENCY.ERC777, ); diff --git a/packages/advanced-logic/src/extensions/payment-network/ethereum/fee-proxy-contract.ts b/packages/advanced-logic/src/extensions/payment-network/ethereum/fee-proxy-contract.ts index 5e5e0a6c18..cda2443463 100644 --- a/packages/advanced-logic/src/extensions/payment-network/ethereum/fee-proxy-contract.ts +++ b/packages/advanced-logic/src/extensions/payment-network/ethereum/fee-proxy-contract.ts @@ -10,7 +10,8 @@ export default class EthereumFeeProxyPaymentNetwork< TCreationParameters extends ExtensionTypes.PnFeeReferenceBased.ICreationParameters = ExtensionTypes.PnFeeReferenceBased.ICreationParameters, > extends FeeReferenceBasedPaymentNetwork { public constructor( - extensionId: ExtensionTypes.ID = ExtensionTypes.ID.PAYMENT_NETWORK_ETH_FEE_PROXY_CONTRACT, + extensionId: ExtensionTypes.PAYMENT_NETWORK_ID = ExtensionTypes.PAYMENT_NETWORK_ID + .ETH_FEE_PROXY_CONTRACT, currentVersion: string = CURRENT_VERSION, ) { super(extensionId, currentVersion, RequestLogicTypes.CURRENCY.ETH); diff --git a/packages/advanced-logic/src/extensions/payment-network/ethereum/input-data.ts b/packages/advanced-logic/src/extensions/payment-network/ethereum/input-data.ts index 927169fa3a..fb83b250e1 100644 --- a/packages/advanced-logic/src/extensions/payment-network/ethereum/input-data.ts +++ b/packages/advanced-logic/src/extensions/payment-network/ethereum/input-data.ts @@ -9,7 +9,8 @@ const CURRENT_VERSION = '0.3.0'; */ export default class EthInputPaymentNetwork extends ReferenceBasedPaymentNetwork { public constructor( - extensionId: ExtensionTypes.ID = ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA, + extensionId: ExtensionTypes.PAYMENT_NETWORK_ID = ExtensionTypes.PAYMENT_NETWORK_ID + .ETH_INPUT_DATA, currentVersion: string = CURRENT_VERSION, ) { super(extensionId, currentVersion, RequestLogicTypes.CURRENCY.ETH); diff --git a/packages/advanced-logic/src/extensions/payment-network/fee-reference-based.ts b/packages/advanced-logic/src/extensions/payment-network/fee-reference-based.ts index 5b8b973567..26ff07ef88 100644 --- a/packages/advanced-logic/src/extensions/payment-network/fee-reference-based.ts +++ b/packages/advanced-logic/src/extensions/payment-network/fee-reference-based.ts @@ -10,7 +10,7 @@ export abstract class FeeReferenceBasedPaymentNetwork< TCreationParameters extends ExtensionTypes.PnFeeReferenceBased.ICreationParameters = ExtensionTypes.PnFeeReferenceBased.ICreationParameters, > extends ReferenceBasedPaymentNetwork { protected constructor( - extensionId: ExtensionTypes.ID, + extensionId: ExtensionTypes.PAYMENT_NETWORK_ID, currentVersion: string, supportedCurrencyType: RequestLogicTypes.CURRENCY, ) { diff --git a/packages/advanced-logic/src/extensions/payment-network/native-token.ts b/packages/advanced-logic/src/extensions/payment-network/native-token.ts index 3d997f8daf..a8ef9ce635 100644 --- a/packages/advanced-logic/src/extensions/payment-network/native-token.ts +++ b/packages/advanced-logic/src/extensions/payment-network/native-token.ts @@ -8,7 +8,7 @@ import ReferenceBasedPaymentNetwork from './reference-based'; */ export default abstract class NativeTokenPaymentNetwork extends ReferenceBasedPaymentNetwork { public constructor( - extensionId: ExtensionTypes.ID, + extensionId: ExtensionTypes.PAYMENT_NETWORK_ID, currentVersion: string, public readonly supportedNetworks: string[], ) { diff --git a/packages/advanced-logic/src/extensions/payment-network/near/any-to-near.ts b/packages/advanced-logic/src/extensions/payment-network/near/any-to-near.ts index 66f48c98ab..01f09fa08f 100644 --- a/packages/advanced-logic/src/extensions/payment-network/near/any-to-near.ts +++ b/packages/advanced-logic/src/extensions/payment-network/near/any-to-near.ts @@ -14,7 +14,7 @@ export default class AnyToNearPaymentNetwork extends AnyToNativeTokenPaymentNetw ], currentVersion: string = CURRENT_VERSION, ) { - super(ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_NATIVE_TOKEN, currentVersion, supportedNetworks); + super(ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN, currentVersion, supportedNetworks); } /** diff --git a/packages/advanced-logic/src/extensions/payment-network/near/near-native.ts b/packages/advanced-logic/src/extensions/payment-network/near/near-native.ts index 80d861aa0e..cfaed280d9 100644 --- a/packages/advanced-logic/src/extensions/payment-network/near/near-native.ts +++ b/packages/advanced-logic/src/extensions/payment-network/near/near-native.ts @@ -15,7 +15,7 @@ export default class NearNativePaymentNetwork extends NativeTokenPaymentNetwork ], currentVersion: string = CURRENT_VERSION, ) { - super(ExtensionTypes.ID.PAYMENT_NETWORK_NATIVE_TOKEN, currentVersion, supportedNetworks); + super(ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN, currentVersion, supportedNetworks); } /** diff --git a/packages/advanced-logic/test/extensions/payment-network/address-based.test.ts b/packages/advanced-logic/test/extensions/payment-network/address-based.test.ts index 0aa0b6e993..29f7353a25 100644 --- a/packages/advanced-logic/test/extensions/payment-network/address-based.test.ts +++ b/packages/advanced-logic/test/extensions/payment-network/address-based.test.ts @@ -6,7 +6,7 @@ describe('extensions/payment-network/address-based', () => { it('address validation should throw when using unsupported currency type', () => { class TestAddressBasedPaymentNetwork extends AddressBasedPaymentNetwork { public constructor( - extensionId: ExtensionTypes.ID, + extensionId: ExtensionTypes.PAYMENT_NETWORK_ID, currentVersion: string, supportedCurrencyType: RequestLogicTypes.CURRENCY, ) { @@ -18,7 +18,7 @@ describe('extensions/payment-network/address-based', () => { } expect(() => { const testAddressBasedPaymentNetwork = new TestAddressBasedPaymentNetwork( - ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_ADDRESS_BASED, + ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED, 'test', RequestLogicTypes.CURRENCY.ISO4217, ); @@ -30,7 +30,7 @@ describe('extensions/payment-network/address-based', () => { it('address validation should throw when using unsupported currency', () => { class TestAddressBasedPaymentNetwork extends AddressBasedPaymentNetwork { public constructor( - extensionId: ExtensionTypes.ID, + extensionId: ExtensionTypes.PAYMENT_NETWORK_ID, currentVersion: string, supportedCurrencyType: RequestLogicTypes.CURRENCY, ) { @@ -42,7 +42,7 @@ describe('extensions/payment-network/address-based', () => { } expect(() => { const testAddressBasedPaymentNetwork = new TestAddressBasedPaymentNetwork( - ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_ADDRESS_BASED, + ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED, 'test', RequestLogicTypes.CURRENCY.ERC20, ); diff --git a/packages/advanced-logic/test/extensions/payment-network/any-to-erc20-proxy.test.ts b/packages/advanced-logic/test/extensions/payment-network/any-to-erc20-proxy.test.ts index 57642ff853..6efd8bd628 100644 --- a/packages/advanced-logic/test/extensions/payment-network/any-to-erc20-proxy.test.ts +++ b/packages/advanced-logic/test/extensions/payment-network/any-to-erc20-proxy.test.ts @@ -26,7 +26,7 @@ describe('extensions/payment-network/erc20/any-to-erc20-fee-proxy-contract', () }), ).toEqual({ action: 'create', - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ERC20_PROXY, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, parameters: { feeAddress: '0x0000000000000000000000000000000000000001', feeAmount: '0', @@ -52,7 +52,7 @@ describe('extensions/payment-network/erc20/any-to-erc20-fee-proxy-contract', () }), ).toEqual({ action: 'create', - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ERC20_PROXY, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, parameters: { paymentAddress: '0x0000000000000000000000000000000000000001', refundAddress: '0x0000000000000000000000000000000000000002', @@ -229,7 +229,7 @@ describe('extensions/payment-network/erc20/any-to-erc20-fee-proxy-contract', () }), ).toEqual({ action: ExtensionTypes.PnReferenceBased.ACTION.ADD_PAYMENT_ADDRESS, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ERC20_PROXY, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, parameters: { paymentAddress: '0x0000000000000000000000000000000000000001', }, @@ -254,7 +254,7 @@ describe('extensions/payment-network/erc20/any-to-erc20-fee-proxy-contract', () }), ).toEqual({ action: ExtensionTypes.PnReferenceBased.ACTION.ADD_REFUND_ADDRESS, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ERC20_PROXY, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, parameters: { refundAddress: '0x0000000000000000000000000000000000000002', }, @@ -280,7 +280,7 @@ describe('extensions/payment-network/erc20/any-to-erc20-fee-proxy-contract', () }), ).toEqual({ action: ExtensionTypes.PnFeeReferenceBased.ACTION.ADD_FEE, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ERC20_PROXY, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, parameters: { feeAddress: '0x0000000000000000000000000000000000000002', feeAmount: '2000', diff --git a/packages/advanced-logic/test/extensions/payment-network/any-to-eth-proxy.test.ts b/packages/advanced-logic/test/extensions/payment-network/any-to-eth-proxy.test.ts index d68cc4726b..95329b82ea 100644 --- a/packages/advanced-logic/test/extensions/payment-network/any-to-eth-proxy.test.ts +++ b/packages/advanced-logic/test/extensions/payment-network/any-to-eth-proxy.test.ts @@ -24,7 +24,7 @@ describe('extensions/payment-network/ethereum/any-to-eth-fee-proxy-contract', () }), ).toEqual({ action: 'create', - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ETH_PROXY, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY, parameters: { feeAddress: '0x0000000000000000000000000000000000000001', feeAmount: '0', @@ -48,7 +48,7 @@ describe('extensions/payment-network/ethereum/any-to-eth-fee-proxy-contract', () }), ).toEqual({ action: 'create', - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ETH_PROXY, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY, parameters: { paymentAddress: '0x0000000000000000000000000000000000000001', refundAddress: '0x0000000000000000000000000000000000000002', @@ -173,7 +173,7 @@ describe('extensions/payment-network/ethereum/any-to-eth-fee-proxy-contract', () }), ).toEqual({ action: ExtensionTypes.PnReferenceBased.ACTION.ADD_PAYMENT_ADDRESS, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ETH_PROXY, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY, parameters: { paymentAddress: '0x0000000000000000000000000000000000000001', }, @@ -198,7 +198,7 @@ describe('extensions/payment-network/ethereum/any-to-eth-fee-proxy-contract', () }), ).toEqual({ action: ExtensionTypes.PnReferenceBased.ACTION.ADD_REFUND_ADDRESS, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ETH_PROXY, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY, parameters: { refundAddress: '0x0000000000000000000000000000000000000002', }, @@ -224,7 +224,7 @@ describe('extensions/payment-network/ethereum/any-to-eth-fee-proxy-contract', () }), ).toEqual({ action: ExtensionTypes.PnFeeReferenceBased.ACTION.ADD_FEE, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ETH_PROXY, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY, parameters: { feeAddress: '0x0000000000000000000000000000000000000002', feeAmount: '2000', diff --git a/packages/advanced-logic/test/extensions/payment-network/any-to-near.test.ts b/packages/advanced-logic/test/extensions/payment-network/any-to-near.test.ts index 65bcfa8053..c9eaef8add 100644 --- a/packages/advanced-logic/test/extensions/payment-network/any-to-near.test.ts +++ b/packages/advanced-logic/test/extensions/payment-network/any-to-near.test.ts @@ -240,7 +240,7 @@ describe('extensions/payment-network/any-to-native-token', () => { }), ).toEqual({ action: ExtensionTypes.PnFeeReferenceBased.ACTION.ADD_FEE, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_NATIVE_TOKEN, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN, parameters: { feeAddress: `fee.${testCase.suffix}`, feeAmount: '2000', @@ -512,7 +512,7 @@ describe('extensions/payment-network/any-to-native-token', () => { const addFeeAction = { action: 'addFee', - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_NATIVE_TOKEN, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN, parameters: { feeAddress: 'fee.near', feeAmount: '-200', @@ -547,7 +547,7 @@ describe('extensions/payment-network/any-to-native-token', () => { const addFeeAction = { action: 'addFee', - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_NATIVE_TOKEN, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN, parameters: { feeAddress: 'fee.testnet', feeAmount: '100', @@ -584,7 +584,7 @@ describe('extensions/payment-network/any-to-native-token', () => { const addFeeAction = { action: 'addFee', - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_NATIVE_TOKEN, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN, parameters: { feeAddress: 'newfee.near', feeAmount: '100', @@ -619,7 +619,7 @@ describe('extensions/payment-network/any-to-native-token', () => { const addFeeAction = { action: 'addFee', - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_NATIVE_TOKEN, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN, parameters: { feeAddress: 'fee.near', feeAmount: '100', diff --git a/packages/advanced-logic/test/extensions/payment-network/declarative.test.ts b/packages/advanced-logic/test/extensions/payment-network/declarative.test.ts index c5179f4259..6628872c80 100644 --- a/packages/advanced-logic/test/extensions/payment-network/declarative.test.ts +++ b/packages/advanced-logic/test/extensions/payment-network/declarative.test.ts @@ -230,7 +230,7 @@ describe('extensions/payment-network/any/declarative', () => { TestDataDeclarative.extensionStatePaymentInstructionAdded, ); expectedFromPayeeDelegate[ - ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE as string + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE as string ].events[1].from = TestDataDeclarative.payeeDelegate; expect( @@ -258,7 +258,7 @@ describe('extensions/payment-network/any/declarative', () => { const previousState = Utils.deepCopy(TestDataDeclarative.emptyRequestWithPayeeDelegate); previousState.payee = undefined; previousState.extensions[ - ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE as string + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE as string ].values.payeeDelegate = undefined; expect(() => { @@ -314,13 +314,13 @@ describe('extensions/payment-network/any/declarative', () => { TestDataDeclarative.extensionStateRefundInstructionAdded, ); expectedFromThirdParty[ - ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE as string + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE as string ].events[1].from = TestDataDeclarative.payerDelegate; expectedFromThirdParty[ - ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE as string + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE as string ].values.payeeDelegate = undefined; expectedFromThirdParty[ - ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE as string + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE as string ].values.payerDelegate = TestData.payerDelegateRaw.identity; expect( @@ -348,7 +348,7 @@ describe('extensions/payment-network/any/declarative', () => { const previousState = Utils.deepCopy(TestDataDeclarative.emptyRequestWithPayeeDelegate); previousState.payer = undefined; previousState.extensions[ - ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE as string + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE as string ].values.payeeDelegate = undefined; expect(() => { @@ -404,10 +404,10 @@ describe('extensions/payment-network/any/declarative', () => { TestDataDeclarative.extensionStateDeclaredSent, ); expectedFromThirdParty[ - ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE as string + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE as string ].events[1].from = TestDataDeclarative.payerDelegate; expectedFromThirdParty[ - ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE as string + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE as string ].values.payerDelegate = TestDataDeclarative.payerDelegate; expect( @@ -435,7 +435,7 @@ describe('extensions/payment-network/any/declarative', () => { const previousState = Utils.deepCopy(TestDataDeclarative.emptyRequestWithPayeeDelegate); previousState.payer = undefined; previousState.extensions[ - ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE as string + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE as string ].values.payeeDelegate = undefined; expect(() => { @@ -493,10 +493,10 @@ describe('extensions/payment-network/any/declarative', () => { TestDataDeclarative.declarativeExtStateRefundDeclared, ); expectedFromThirdParty[ - ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE as string + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE as string ].events[1].from = TestDataDeclarative.payerDelegate; expectedFromThirdParty[ - ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE as string + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE as string ].values.payerDelegate = TestDataDeclarative.payerDelegate; expect( @@ -524,7 +524,7 @@ describe('extensions/payment-network/any/declarative', () => { const previousState = Utils.deepCopy(TestDataDeclarative.emptyRequestWithPayeeDelegate); previousState.payer = undefined; previousState.extensions[ - ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE as string + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE as string ].values.payeeDelegate = undefined; expect(() => { @@ -580,7 +580,7 @@ describe('extensions/payment-network/any/declarative', () => { it('can applyActionToExtensions of declareSentRefund from payeeDelegate', () => { const expectedFromThirdParty = Utils.deepCopy(TestDataDeclarative.extensionStateSentRefund); expectedFromThirdParty[ - ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE as string + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE as string ].events[1].from = TestDataDeclarative.payeeDelegate; expect( @@ -608,7 +608,7 @@ describe('extensions/payment-network/any/declarative', () => { const previousState = Utils.deepCopy(TestDataDeclarative.emptyRequestWithPayeeDelegate); previousState.payee = undefined; previousState.extensions[ - ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE as string + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE as string ].values.payeeDelegate = undefined; expect(() => { @@ -666,7 +666,7 @@ describe('extensions/payment-network/any/declarative', () => { TestDataDeclarative.extensionStateReceivedPayment, ); expectedFromThirdParty[ - ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE as string + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE as string ].events[1].from = TestDataDeclarative.payeeDelegate; expect( @@ -694,7 +694,7 @@ describe('extensions/payment-network/any/declarative', () => { const previousState = Utils.deepCopy(TestDataDeclarative.emptyRequestWithPayeeDelegate); previousState.payee = undefined; previousState.extensions[ - ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE as string + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE as string ].values.payeeDelegate = undefined; expect(() => { diff --git a/packages/advanced-logic/test/extensions/payment-network/erc20/fee-proxy-contract.test.ts b/packages/advanced-logic/test/extensions/payment-network/erc20/fee-proxy-contract.test.ts index 3931d3e345..b7c0079459 100644 --- a/packages/advanced-logic/test/extensions/payment-network/erc20/fee-proxy-contract.test.ts +++ b/packages/advanced-logic/test/extensions/payment-network/erc20/fee-proxy-contract.test.ts @@ -23,7 +23,7 @@ describe('extensions/payment-network/erc20/fee-proxy-contract', () => { }), ).toEqual({ action: 'create', - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, parameters: { feeAddress: '0x0000000000000000000000000000000000000001', feeAmount: '0', @@ -44,7 +44,7 @@ describe('extensions/payment-network/erc20/fee-proxy-contract', () => { }), ).toEqual({ action: 'create', - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, parameters: { paymentAddress: '0x0000000000000000000000000000000000000001', refundAddress: '0x0000000000000000000000000000000000000002', @@ -61,7 +61,7 @@ describe('extensions/payment-network/erc20/fee-proxy-contract', () => { }), ).toEqual({ action: 'create', - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, parameters: { salt: 'ea3bc7caf64110ca', }, @@ -122,7 +122,7 @@ describe('extensions/payment-network/erc20/fee-proxy-contract', () => { }), ).toEqual({ action: ExtensionTypes.PnReferenceBased.ACTION.ADD_PAYMENT_ADDRESS, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, parameters: { paymentAddress: '0x0000000000000000000000000000000000000001', }, @@ -147,7 +147,7 @@ describe('extensions/payment-network/erc20/fee-proxy-contract', () => { }), ).toEqual({ action: ExtensionTypes.PnReferenceBased.ACTION.ADD_REFUND_ADDRESS, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, parameters: { refundAddress: '0x0000000000000000000000000000000000000002', }, @@ -173,7 +173,7 @@ describe('extensions/payment-network/erc20/fee-proxy-contract', () => { }), ).toEqual({ action: ExtensionTypes.PnFeeReferenceBased.ACTION.ADD_FEE, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, parameters: { feeAddress: '0x0000000000000000000000000000000000000002', feeAmount: '2000', diff --git a/packages/advanced-logic/test/extensions/payment-network/erc20/proxy-contract.test.ts b/packages/advanced-logic/test/extensions/payment-network/erc20/proxy-contract.test.ts index 4b78bedd33..822f168fa2 100644 --- a/packages/advanced-logic/test/extensions/payment-network/erc20/proxy-contract.test.ts +++ b/packages/advanced-logic/test/extensions/payment-network/erc20/proxy-contract.test.ts @@ -22,7 +22,7 @@ describe('extensions/payment-network/erc20/proxy-contract', () => { }), ).toEqual({ action: 'create', - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, parameters: { paymentAddress: '0x0000000000000000000000000000000000000001', refundAddress: '0x0000000000000000000000000000000000000002', @@ -40,7 +40,7 @@ describe('extensions/payment-network/erc20/proxy-contract', () => { }), ).toEqual({ action: 'create', - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, parameters: { salt: 'ea3bc7caf64110ca', }, @@ -80,7 +80,7 @@ describe('extensions/payment-network/erc20/proxy-contract', () => { }), ).toEqual({ action: ExtensionTypes.PnReferenceBased.ACTION.ADD_PAYMENT_ADDRESS, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, parameters: { paymentAddress: '0x0000000000000000000000000000000000000001', }, @@ -106,7 +106,7 @@ describe('extensions/payment-network/erc20/proxy-contract', () => { }), ).toEqual({ action: ExtensionTypes.PnReferenceBased.ACTION.ADD_REFUND_ADDRESS, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, parameters: { refundAddress: '0x0000000000000000000000000000000000000002', }, diff --git a/packages/advanced-logic/test/extensions/payment-network/erc777/stream.test.ts b/packages/advanced-logic/test/extensions/payment-network/erc777/stream.test.ts index b5d79a0338..d45766ad10 100644 --- a/packages/advanced-logic/test/extensions/payment-network/erc777/stream.test.ts +++ b/packages/advanced-logic/test/extensions/payment-network/erc777/stream.test.ts @@ -23,7 +23,7 @@ describe('extensions/payment-network/erc777/stream', () => { }), ).toEqual({ action: 'create', - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM, parameters: { expectedFlowRate: '0x0000000000000000000000000000000000000001', expectedStartDate: '0', @@ -43,7 +43,7 @@ describe('extensions/payment-network/erc777/stream', () => { }), ).toEqual({ action: ExtensionTypes.PnReferenceBased.ACTION.ADD_PAYMENT_ADDRESS, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM, parameters: { paymentAddress: '0x0000000000000000000000000000000000000001', }, @@ -68,7 +68,7 @@ describe('extensions/payment-network/erc777/stream', () => { }), ).toEqual({ action: ExtensionTypes.PnReferenceBased.ACTION.ADD_REFUND_ADDRESS, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM, parameters: { refundAddress: '0x0000000000000000000000000000000000000002', }, @@ -412,7 +412,7 @@ describe('extensions/payment-network/erc777/stream', () => { }), ).toEqual({ action: 'create', - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM, parameters: { originalRequestId: 'abcd', previousRequestId: 'efgh', diff --git a/packages/advanced-logic/test/extensions/payment-network/ethereum/fee-proxy-contract.test.ts b/packages/advanced-logic/test/extensions/payment-network/ethereum/fee-proxy-contract.test.ts index 01e758cdb6..226c27f6e7 100644 --- a/packages/advanced-logic/test/extensions/payment-network/ethereum/fee-proxy-contract.test.ts +++ b/packages/advanced-logic/test/extensions/payment-network/ethereum/fee-proxy-contract.test.ts @@ -23,7 +23,7 @@ describe('extensions/payment-network/ethereum/fee-proxy-contract', () => { }), ).toEqual({ action: 'create', - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT, parameters: { feeAddress: '0x0000000000000000000000000000000000000001', feeAmount: '0', @@ -44,7 +44,7 @@ describe('extensions/payment-network/ethereum/fee-proxy-contract', () => { }), ).toEqual({ action: 'create', - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT, parameters: { paymentAddress: '0x0000000000000000000000000000000000000001', refundAddress: '0x0000000000000000000000000000000000000002', @@ -61,7 +61,7 @@ describe('extensions/payment-network/ethereum/fee-proxy-contract', () => { }), ).toEqual({ action: 'create', - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT, parameters: { salt: 'ea3bc7caf64110ca', }, @@ -122,7 +122,7 @@ describe('extensions/payment-network/ethereum/fee-proxy-contract', () => { }), ).toEqual({ action: ExtensionTypes.PnReferenceBased.ACTION.ADD_PAYMENT_ADDRESS, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT, parameters: { paymentAddress: '0x0000000000000000000000000000000000000001', }, @@ -147,7 +147,7 @@ describe('extensions/payment-network/ethereum/fee-proxy-contract', () => { }), ).toEqual({ action: ExtensionTypes.PnReferenceBased.ACTION.ADD_REFUND_ADDRESS, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT, parameters: { refundAddress: '0x0000000000000000000000000000000000000002', }, @@ -173,7 +173,7 @@ describe('extensions/payment-network/ethereum/fee-proxy-contract', () => { }), ).toEqual({ action: ExtensionTypes.PnFeeReferenceBased.ACTION.ADD_FEE, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT, parameters: { feeAddress: '0x0000000000000000000000000000000000000002', feeAmount: '2000', diff --git a/packages/advanced-logic/test/extensions/payment-network/ethereum/input-data.test.ts b/packages/advanced-logic/test/extensions/payment-network/ethereum/input-data.test.ts index 7ec5c344a4..dba01e5d3d 100644 --- a/packages/advanced-logic/test/extensions/payment-network/ethereum/input-data.test.ts +++ b/packages/advanced-logic/test/extensions/payment-network/ethereum/input-data.test.ts @@ -22,7 +22,7 @@ describe('extensions/payment-network/ethereum/input-data', () => { }), ).toEqual({ action: 'create', - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, parameters: { paymentAddress: '0x0000000000000000000000000000000000000001', refundAddress: '0x0000000000000000000000000000000000000002', @@ -40,7 +40,7 @@ describe('extensions/payment-network/ethereum/input-data', () => { }), ).toEqual({ action: 'create', - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, parameters: { salt: 'ea3bc7caf64110ca', }, @@ -80,7 +80,7 @@ describe('extensions/payment-network/ethereum/input-data', () => { }), ).toEqual({ action: ExtensionTypes.PnReferenceBased.ACTION.ADD_PAYMENT_ADDRESS, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, parameters: { paymentAddress: '0x0000000000000000000000000000000000000001', }, @@ -106,7 +106,7 @@ describe('extensions/payment-network/ethereum/input-data', () => { }), ).toEqual({ action: ExtensionTypes.PnReferenceBased.ACTION.ADD_REFUND_ADDRESS, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, parameters: { refundAddress: '0x0000000000000000000000000000000000000002', }, diff --git a/packages/advanced-logic/test/extensions/payment-network/native-token.test.ts b/packages/advanced-logic/test/extensions/payment-network/native-token.test.ts index 3148a6b84a..b8787e744e 100644 --- a/packages/advanced-logic/test/extensions/payment-network/native-token.test.ts +++ b/packages/advanced-logic/test/extensions/payment-network/native-token.test.ts @@ -424,7 +424,7 @@ describe('extensions/payment-network/native-token', () => { } expect(() => { const testNativePaymentNetwork = new TestNativePaymentNetwork( - ExtensionTypes.ID.PAYMENT_NETWORK_NATIVE_TOKEN, + ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN, 'test', [], ); diff --git a/packages/advanced-logic/test/utils/payment-network/any/generator-data-create.ts b/packages/advanced-logic/test/utils/payment-network/any/generator-data-create.ts index d54320dcb9..a2185101eb 100644 --- a/packages/advanced-logic/test/utils/payment-network/any/generator-data-create.ts +++ b/packages/advanced-logic/test/utils/payment-network/any/generator-data-create.ts @@ -39,7 +39,7 @@ const createEventWithPayeeDelegate: ExtensionTypes.IEvent = { // actions export const actionCreationWithPaymentAndRefund = { action: ExtensionTypes.PnAnyDeclarative.ACTION.CREATE, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE, parameters: { paymentInfo, refundInfo, @@ -49,7 +49,7 @@ export const actionCreationWithPaymentAndRefund = { }; export const actionCreationWithPayeeDelegate = { action: ExtensionTypes.PnAnyDeclarative.ACTION.CREATE, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE, parameters: { payeeDelegate, }, @@ -57,7 +57,7 @@ export const actionCreationWithPayeeDelegate = { }; export const actionCreationOnlyPayment = { action: ExtensionTypes.PnAnyDeclarative.ACTION.CREATE, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE, parameters: { paymentInfo, }, @@ -65,7 +65,7 @@ export const actionCreationOnlyPayment = { }; export const actionCreationOnlyRefund = { action: ExtensionTypes.PnAnyDeclarative.ACTION.CREATE, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE, parameters: { refundInfo, }, @@ -73,13 +73,13 @@ export const actionCreationOnlyRefund = { }; export const actionCreationEmpty = { action: ExtensionTypes.PnAnyDeclarative.ACTION.CREATE, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE, parameters: {}, version: '0.1.0', }; export const actionCreationPayeeDelegate = { action: ExtensionTypes.PnAnyDeclarative.ACTION.CREATE, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE, parameters: { payeeDelegate }, version: '0.1.0', }; @@ -87,7 +87,7 @@ export const actionCreationPayeeDelegate = { export const actionCreationWithNativeTokenPayment: ExtensionTypes.IAction = { action: ExtensionTypes.PnAnyDeclarative.ACTION.CREATE, - id: ExtensionTypes.ID.PAYMENT_NETWORK_NATIVE_TOKEN, + id: ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN, parameters: { paymentAddress: 'pay.near', refundAddress: 'refund.near', @@ -98,7 +98,7 @@ export const actionCreationWithNativeTokenPayment: ExtensionTypes.IAction = { action: ExtensionTypes.PnAnyDeclarative.ACTION.CREATE, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_NATIVE_TOKEN, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN, parameters: { paymentAddress: 'pay.near', refundAddress: 'refund.near', @@ -113,21 +113,21 @@ export const actionCreationWithAnyToNativeTokenPayment: ExtensionTypes.IAction = { action: ExtensionTypes.PnAnyDeclarative.ACTION.CREATE, - id: ExtensionTypes.ID.PAYMENT_NETWORK_NATIVE_TOKEN, + id: ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN, parameters: { paymentAddress: 'pay.near', refundAddress: 'refund.near', @@ -30,7 +30,7 @@ export const actionCreationWithNativeTokenPayment: ExtensionTypes.IAction { }); it('can create a request with declarative payment network and content data', async () => { - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.DECLARATIVE, + const paymentNetwork: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE, parameters: { paymentInfo: { paymentInstruction: 'Arbitrary payment instruction', @@ -135,7 +140,7 @@ describe('Request client using a request node', () => { expect(requestData.meta).toBeDefined(); expect(requestData.pending!.state).toBe(Types.RequestLogic.STATE.CREATED); - const extension = requestData.extensions[PaymentTypes.PAYMENT_NETWORK_ID.DECLARATIVE]; + const extension = requestData.extensions[ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE]; expect(extension).toBeDefined(); expect(extension.events[0].name).toBe('create'); expect(extension.events[0].parameters).toEqual(paymentNetwork.parameters); @@ -502,8 +507,8 @@ describe('Request client using a request node', () => { }); describe('ERC20 localhost request creation and detection test', () => { - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED, + const paymentNetwork: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED, parameters: { paymentAddress: '0xf17f52151EbEF6C7334FAD080c5704D77216b732', }, @@ -533,7 +538,7 @@ describe('ERC20 localhost request creation and detection test', () => { expect(requestData.pending).toBeNull(); }); - it('can create ERC20 requests with any to erc20 proxy', async () => { + it.only('can create ERC20 requests with any to erc20 proxy', async () => { const tokenContractAddress = '0x38cF23C52Bb4B13F051Aec09580a2dE845a7FA35'; const currencies = [ @@ -552,8 +557,8 @@ describe('ERC20 localhost request creation and detection test', () => { currencies, }); - const paymentNetworkAnyToERC20: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, + const paymentNetworkAnyToERC20: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, parameters: { paymentAddress: '0xc12F17Da12cd01a9CDBB216949BA0b41A6Ffc4EB', refundAddress: '0x821aEa9a577a9b44299B9c15c88cf3087F3b5544', @@ -636,14 +641,12 @@ describe('ETH localhost request creation and detection test', () => { currencies, }); - const paymentNetworkETHFeeProxy: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT, + const paymentNetworkETHFeeProxy: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT, parameters: { paymentAddress: '0xc12F17Da12cd01a9CDBB216949BA0b41A6Ffc4EB', feeAddress: '0x0d1d4e623D10F9FBA5Db95830F7d3839406C6AF2', feeAmount: '200', - network: 'private', - maxRateTimespan: 1000000, }, }; @@ -689,8 +692,8 @@ describe('ETH localhost request creation and detection test', () => { currencies, }); - const paymentNetworkAnyToETH: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY, + const paymentNetworkAnyToETH: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY, parameters: { paymentAddress: '0xc12F17Da12cd01a9CDBB216949BA0b41A6Ffc4EB', refundAddress: '0x821aEa9a577a9b44299B9c15c88cf3087F3b5544', diff --git a/packages/integration-test/test/scheduled/btc.test.ts b/packages/integration-test/test/scheduled/btc.test.ts index 5020649d58..ddda39db80 100644 --- a/packages/integration-test/test/scheduled/btc.test.ts +++ b/packages/integration-test/test/scheduled/btc.test.ts @@ -1,6 +1,6 @@ import { EthereumPrivateKeySignatureProvider } from '@requestnetwork/epk-signature'; import { RequestNetwork } from '@requestnetwork/request-client.js'; -import { PaymentTypes, SignatureTypes } from '@requestnetwork/types'; +import { PaymentTypes, SignatureTypes, ExtensionTypes } from '@requestnetwork/types'; import { payee, requestData, testnetRequestData } from './btc-test-data'; const signatureProvider = new EthereumPrivateKeySignatureProvider({ @@ -16,8 +16,8 @@ describe('BTC detection test-suite', () => { it.skip('Can create a BTC testnet payment provider request and detect the payment', async () => { const requestNetwork = new RequestNetwork({ signatureProvider }); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.TESTNET_BITCOIN_ADDRESS_BASED, + const paymentNetwork: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.TESTNET_BITCOIN_ADDRESS_BASED, parameters: { paymentAddress: 'mgPKDuVmuS9oeE2D9VPiCQriyU14wxWS1v', }, @@ -37,8 +37,8 @@ describe('BTC detection test-suite', () => { it('Can create a BTC mainnet payment provider request and detect the payment', async () => { const requestNetwork = new RequestNetwork({ signatureProvider }); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED, + const paymentNetwork: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED, parameters: { paymentAddress: '1FersucwSqufU26w9GrGz9M3KcwuNmy6a9', }, diff --git a/packages/integration-test/test/scheduled/erc20-address-based.test.ts b/packages/integration-test/test/scheduled/erc20-address-based.test.ts index 717b50c6a7..ae8c93d1e9 100644 --- a/packages/integration-test/test/scheduled/erc20-address-based.test.ts +++ b/packages/integration-test/test/scheduled/erc20-address-based.test.ts @@ -47,7 +47,7 @@ describe('ERC20 Address Based detection test-suite', () => { events: [], expectedAmount: '0', extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_ADDRESS_BASED]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED]: { events: [], id: '0', type: 'none', diff --git a/packages/integration-test/test/scheduled/erc20-proxy.test.ts b/packages/integration-test/test/scheduled/erc20-proxy.test.ts index 84936b6f66..36a0d54257 100644 --- a/packages/integration-test/test/scheduled/erc20-proxy.test.ts +++ b/packages/integration-test/test/scheduled/erc20-proxy.test.ts @@ -1,5 +1,5 @@ import { Erc20PaymentNetwork } from '@requestnetwork/payment-detection'; -import { PaymentTypes, RequestLogicTypes } from '@requestnetwork/types'; +import { ExtensionTypes, RequestLogicTypes } from '@requestnetwork/types'; import { mockAdvancedLogic } from './mocks'; import { Types, Utils } from '@requestnetwork/request-client.js'; @@ -24,7 +24,7 @@ describe('ERC20 Proxy detection test-suite', () => { const request = await requestNetwork.createRequest({ paymentNetwork: { ...localErc20PaymentNetworkParams, - id: PaymentTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, }, requestInfo: erc20requestCreationHash, signer: payeeIdentity, @@ -55,7 +55,7 @@ describe('ERC20 Proxy detection test-suite', () => { const request = await requestNetwork.createRequest({ paymentNetwork: { ...localErc20PaymentNetworkParams, - id: PaymentTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, }, requestInfo: erc20requestCreationHash, signer: payeeIdentity, diff --git a/packages/integration-test/test/scheduled/erc777-stream.test.ts b/packages/integration-test/test/scheduled/erc777-stream.test.ts index 333c62ad82..aca5430701 100644 --- a/packages/integration-test/test/scheduled/erc777-stream.test.ts +++ b/packages/integration-test/test/scheduled/erc777-stream.test.ts @@ -28,9 +28,9 @@ const createMockRequest = ({ events: [], expectedAmount: '320833333333331260', extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { paymentAddress, diff --git a/packages/integration-test/test/scheduled/fixtures.ts b/packages/integration-test/test/scheduled/fixtures.ts index c52c5f1b91..22082335be 100644 --- a/packages/integration-test/test/scheduled/fixtures.ts +++ b/packages/integration-test/test/scheduled/fixtures.ts @@ -1,4 +1,4 @@ -import { IdentityTypes, PaymentTypes } from '@requestnetwork/types'; +import { IdentityTypes, PaymentTypes, ExtensionTypes } from '@requestnetwork/types'; import { RequestNetwork, Types } from '@requestnetwork/request-client.js'; import { EthereumPrivateKeySignatureProvider } from '@requestnetwork/epk-signature'; @@ -52,8 +52,8 @@ export const ethInputDataCreationHash: Types.IRequestInfo = { payer: payerIdentity, }; -export const localErc20PaymentNetworkParams: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, +export const localErc20PaymentNetworkParams: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, parameters: { paymentAddress: '0xf17f52151EbEF6C7334FAD080c5704D77216b732', feeAddress: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', @@ -61,8 +61,8 @@ export const localErc20PaymentNetworkParams: PaymentTypes.IPaymentNetworkCreateP }, }; -export const localEthInputDataPaymentNetworkParams: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, +export const localEthInputDataPaymentNetworkParams: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, parameters: { paymentAddress: '0xf17f52151EbEF6C7334FAD080c5704D77216b732', }, diff --git a/packages/integration-test/test/scheduled/native-token.test.ts b/packages/integration-test/test/scheduled/native-token.test.ts index 490f864ac3..a1f5838706 100644 --- a/packages/integration-test/test/scheduled/native-token.test.ts +++ b/packages/integration-test/test/scheduled/native-token.test.ts @@ -1,5 +1,5 @@ import { PaymentNetworkFactory } from '@requestnetwork/payment-detection'; -import { PaymentTypes, RequestLogicTypes } from '@requestnetwork/types'; +import { ExtensionTypes, RequestLogicTypes } from '@requestnetwork/types'; import { PnReferenceBased } from '@requestnetwork/types/dist/extension-types'; import { AdvancedLogic } from '@requestnetwork/advanced-logic'; import { CurrencyManager } from '@requestnetwork/currency'; @@ -20,7 +20,7 @@ describe('PaymentNetworkFactory and createExtensionsDataForCreation', () => { ); it('PaymentNetworkFactory can createPaymentNetwork (mainnet)', async () => { const paymentNetwork = paymentNetworkFactory.createPaymentNetwork( - PaymentTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN, + ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN, RequestLogicTypes.CURRENCY.ETH, 'aurora-testnet', ); @@ -30,7 +30,7 @@ describe('PaymentNetworkFactory and createExtensionsDataForCreation', () => { }); it('throws without a payment network name', async () => { const paymentNetwork = paymentNetworkFactory.createPaymentNetwork( - PaymentTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN, + ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN, RequestLogicTypes.CURRENCY.ETH, 'aurora-testnet', ); diff --git a/packages/integration-test/test/utils.ts b/packages/integration-test/test/utils.ts index 2077c09264..509e5a80d1 100644 --- a/packages/integration-test/test/utils.ts +++ b/packages/integration-test/test/utils.ts @@ -21,9 +21,9 @@ export const createMockErc20FeeRequest = ({ events: [], expectedAmount: '0', extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { paymentAddress, diff --git a/packages/payment-detection/src/any-to-any-detector.ts b/packages/payment-detection/src/any-to-any-detector.ts index 75cc59321a..e760cd1e64 100644 --- a/packages/payment-detection/src/any-to-any-detector.ts +++ b/packages/payment-detection/src/any-to-any-detector.ts @@ -1,4 +1,4 @@ -import { ExtensionTypes, PaymentTypes } from '@requestnetwork/types'; +import { ExtensionTypes } from '@requestnetwork/types'; import Utils from '@requestnetwork/utils'; import { FeeReferenceBasedDetector } from './fee-reference-based-detector'; @@ -9,13 +9,13 @@ import { ICurrencyManager } from '@requestnetwork/currency'; */ export abstract class AnyToAnyDetector< TExtension extends ExtensionTypes.PnFeeReferenceBased.IFeeReferenceBased, - TPaymentEventParameters, + TPaymentEventParameters extends Partial, > extends FeeReferenceBasedDetector { /** * @param extension The advanced logic payment network extension, with conversion */ protected constructor( - paymentNetworkId: PaymentTypes.PAYMENT_NETWORK_ID, + paymentNetworkId: ExtensionTypes.PAYMENT_NETWORK_ID, extension: TExtension, currencyManager: ICurrencyManager, ) { diff --git a/packages/payment-detection/src/any-to-native-detector.ts b/packages/payment-detection/src/any-to-native-detector.ts index afeea93400..1174431174 100644 --- a/packages/payment-detection/src/any-to-native-detector.ts +++ b/packages/payment-detection/src/any-to-native-detector.ts @@ -8,10 +8,10 @@ import { NativeDetectorOptions } from './types'; */ export abstract class AnyToNativeDetector extends AnyToAnyDetector< ExtensionTypes.PnAnyToEth.IAnyToEth, - PaymentTypes.IETHPaymentEventParameters + PaymentTypes.IETHFeePaymentEventParameters > { protected constructor({ network, advancedLogic, currencyManager }: NativeDetectorOptions) { - const extensionId = PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE; + const extensionId = ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN; const extension = advancedLogic.getAnyToNativeTokenExtensionForNetwork( network, ) as ExtensionTypes.PnAnyToEth.IAnyToEth; diff --git a/packages/payment-detection/src/any/any-to-erc20-proxy.ts b/packages/payment-detection/src/any/any-to-erc20-proxy.ts index 10421faf6a..2ff4628239 100644 --- a/packages/payment-detection/src/any/any-to-erc20-proxy.ts +++ b/packages/payment-detection/src/any/any-to-erc20-proxy.ts @@ -30,7 +30,7 @@ export class AnyToERC20PaymentDetector extends ERC20FeeProxyPaymentDetectorBase< getSubgraphClient, }: ReferenceBasedDetectorOptions & Pick) { super( - PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, advancedLogic.extensions.anyToErc20Proxy, currencyManager, ); diff --git a/packages/payment-detection/src/any/any-to-eth-proxy.ts b/packages/payment-detection/src/any/any-to-eth-proxy.ts index 521781e2cf..839a692320 100644 --- a/packages/payment-detection/src/any/any-to-eth-proxy.ts +++ b/packages/payment-detection/src/any/any-to-eth-proxy.ts @@ -24,7 +24,7 @@ const PROXY_CONTRACT_ADDRESS_MAP: IProxyContractVersion = { */ export class AnyToEthFeeProxyPaymentDetector extends AnyToAnyDetector< ExtensionTypes.PnAnyToEth.IAnyToEth, - PaymentTypes.IETHPaymentEventParameters + PaymentTypes.IETHFeePaymentEventParameters > { private readonly getSubgraphClient: PaymentNetworkOptions['getSubgraphClient']; /** @@ -36,7 +36,7 @@ export class AnyToEthFeeProxyPaymentDetector extends AnyToAnyDetector< getSubgraphClient, }: ReferenceBasedDetectorOptions & Pick) { super( - PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY, + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY, advancedLogic.extensions.anyToEthProxy, currencyManager, ); diff --git a/packages/payment-detection/src/balance-error.ts b/packages/payment-detection/src/balance-error.ts index 43f99e5efa..50fae3f5ed 100644 --- a/packages/payment-detection/src/balance-error.ts +++ b/packages/payment-detection/src/balance-error.ts @@ -1,4 +1,4 @@ -import { PaymentTypes } from '@requestnetwork/types'; +import { PaymentTypes, ExtensionTypes } from '@requestnetwork/types'; export class BalanceError extends Error { constructor(message: string, public readonly code: PaymentTypes.BALANCE_ERROR_CODE) { @@ -21,7 +21,7 @@ export class VersionNotSupported extends BalanceError { } export class ExtensionMissingRequiredValue extends BalanceError { - constructor(extension: PaymentTypes.PAYMENT_NETWORK_ID, name: string) { + constructor(extension: ExtensionTypes.PAYMENT_NETWORK_ID, name: string) { super(`${extension} misses required value ${name}`, PaymentTypes.BALANCE_ERROR_CODE.UNKNOWN); } } diff --git a/packages/payment-detection/src/btc/address-based.ts b/packages/payment-detection/src/btc/address-based.ts index 0b0a4cb0ed..846684e8ae 100644 --- a/packages/payment-detection/src/btc/address-based.ts +++ b/packages/payment-detection/src/btc/address-based.ts @@ -14,7 +14,7 @@ export abstract class BtcAddressBasedDetector extends PaymentDetectorBase< */ protected constructor( private networkId: number, - paymentNetworkId: PaymentTypes.PAYMENT_NETWORK_ID, + paymentNetworkId: ExtensionTypes.PAYMENT_NETWORK_ID, extension: ExtensionTypes.PnAddressBased.IAddressBased, private bitcoinDetectionProvider: PaymentTypes.IBitcoinDetectionProvider = new DefaultBitcoinDetectionProvider(), ) { diff --git a/packages/payment-detection/src/btc/mainnet-address-based.ts b/packages/payment-detection/src/btc/mainnet-address-based.ts index 02e3c83d35..d8b0311ab0 100644 --- a/packages/payment-detection/src/btc/mainnet-address-based.ts +++ b/packages/payment-detection/src/btc/mainnet-address-based.ts @@ -1,4 +1,4 @@ -import { AdvancedLogicTypes, PaymentTypes } from '@requestnetwork/types'; +import { AdvancedLogicTypes, PaymentTypes, ExtensionTypes } from '@requestnetwork/types'; import { BtcAddressBasedDetector } from './address-based'; @@ -22,7 +22,7 @@ export class BtcMainnetAddressBasedDetector extends BtcAddressBasedDetector { }) { super( MAINNET_BITCOIN_NETWORK_ID, - PaymentTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED, + ExtensionTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED, advancedLogic.extensions.addressBasedBtc, bitcoinDetectionProvider, ); diff --git a/packages/payment-detection/src/btc/testnet-address-based.ts b/packages/payment-detection/src/btc/testnet-address-based.ts index 19937223f3..a69e9b00e5 100644 --- a/packages/payment-detection/src/btc/testnet-address-based.ts +++ b/packages/payment-detection/src/btc/testnet-address-based.ts @@ -1,4 +1,4 @@ -import { AdvancedLogicTypes, PaymentTypes } from '@requestnetwork/types'; +import { AdvancedLogicTypes, PaymentTypes, ExtensionTypes } from '@requestnetwork/types'; import { BtcAddressBasedDetector } from './address-based'; @@ -22,7 +22,7 @@ export class BtcTestnetAddressBasedDetector extends BtcAddressBasedDetector { }) { super( TESTNET_BITCOIN_NETWORK_ID, - PaymentTypes.PAYMENT_NETWORK_ID.TESTNET_BITCOIN_ADDRESS_BASED, + ExtensionTypes.PAYMENT_NETWORK_ID.TESTNET_BITCOIN_ADDRESS_BASED, advancedLogic.extensions.addressBasedTestnetBtc, bitcoinDetectionProvider, ); diff --git a/packages/payment-detection/src/declarative.ts b/packages/payment-detection/src/declarative.ts index d8d9af8b2c..9a799e64ba 100644 --- a/packages/payment-detection/src/declarative.ts +++ b/packages/payment-detection/src/declarative.ts @@ -12,9 +12,12 @@ import { PaymentDetectorBase } from './payment-detector-base'; */ export abstract class DeclarativePaymentDetectorBase< TExtension extends ExtensionTypes.PnAnyDeclarative.IAnyDeclarative, - TPaymentEventParameters extends PaymentTypes.IDeclarativePaymentEventParameters, + TPaymentEventParameters extends PaymentTypes.IDeclarativePaymentEventParameters, > extends PaymentDetectorBase { - protected constructor(_paymentNetworkId: PaymentTypes.PAYMENT_NETWORK_ID, extension: TExtension) { + protected constructor( + _paymentNetworkId: ExtensionTypes.PAYMENT_NETWORK_ID, + extension: TExtension, + ) { super(_paymentNetworkId, extension); } @@ -193,7 +196,7 @@ export class DeclarativePaymentDetector extends DeclarativePaymentDetectorBase< PaymentTypes.IDeclarativePaymentEventParameters > { constructor({ advancedLogic }: { advancedLogic: AdvancedLogicTypes.IAdvancedLogic }) { - super(PaymentTypes.PAYMENT_NETWORK_ID.DECLARATIVE, advancedLogic.extensions.declarative); + super(ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE, advancedLogic.extensions.declarative); } protected async getEvents( diff --git a/packages/payment-detection/src/erc20/address-based.ts b/packages/payment-detection/src/erc20/address-based.ts index 51869075dc..2562565d86 100644 --- a/packages/payment-detection/src/erc20/address-based.ts +++ b/packages/payment-detection/src/erc20/address-based.ts @@ -20,7 +20,7 @@ export class ERC20AddressBasedPaymentDetector extends PaymentDetectorBase< */ public constructor({ advancedLogic }: { advancedLogic: AdvancedLogicTypes.IAdvancedLogic }) { super( - PaymentTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED, + ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED, advancedLogic.extensions.addressBasedErc20, ); } diff --git a/packages/payment-detection/src/erc20/fee-proxy-contract.ts b/packages/payment-detection/src/erc20/fee-proxy-contract.ts index ef50f6ecfa..14c7417ba5 100644 --- a/packages/payment-detection/src/erc20/fee-proxy-contract.ts +++ b/packages/payment-detection/src/erc20/fee-proxy-contract.ts @@ -26,7 +26,7 @@ export abstract class ERC20FeeProxyPaymentDetectorBase< * @param extension The advanced logic payment network extensions */ protected constructor( - paymentNetworkId: PaymentTypes.PAYMENT_NETWORK_ID, + paymentNetworkId: ExtensionTypes.PAYMENT_NETWORK_ID, extension: TExtension, currencyManager: ICurrencyManager, ) { @@ -69,7 +69,7 @@ export class ERC20FeeProxyPaymentDetector extends ERC20FeeProxyPaymentDetectorBa getSubgraphClient, }: ReferenceBasedDetectorOptions & Pick) { super( - PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, + ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, advancedLogic.extensions.feeProxyContractErc20, currencyManager, ); diff --git a/packages/payment-detection/src/erc20/proxy-contract.ts b/packages/payment-detection/src/erc20/proxy-contract.ts index 520c7fbb4b..3c7a334f5f 100644 --- a/packages/payment-detection/src/erc20/proxy-contract.ts +++ b/packages/payment-detection/src/erc20/proxy-contract.ts @@ -28,7 +28,7 @@ export class ERC20ProxyPaymentDetector extends ReferenceBasedDetector< getSubgraphClient, }: ReferenceBasedDetectorOptions & Pick) { super( - PaymentTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, + ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, advancedLogic.extensions.proxyContractErc20, currencyManager, ); diff --git a/packages/payment-detection/src/erc777/superfluid-detector.ts b/packages/payment-detection/src/erc777/superfluid-detector.ts index 37ac3c6c0d..b85ee84fb1 100644 --- a/packages/payment-detection/src/erc777/superfluid-detector.ts +++ b/packages/payment-detection/src/erc777/superfluid-detector.ts @@ -16,7 +16,7 @@ export class SuperFluidPaymentDetector extends ReferenceBasedDetector< */ public constructor({ advancedLogic, currencyManager }: ReferenceBasedDetectorOptions) { super( - PaymentTypes.PAYMENT_NETWORK_ID.ERC777_STREAM, + ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM, advancedLogic.extensions.erc777Stream, currencyManager, ); diff --git a/packages/payment-detection/src/eth/fee-proxy-detector.ts b/packages/payment-detection/src/eth/fee-proxy-detector.ts index 2d4eb0f27a..5df331b9fa 100644 --- a/packages/payment-detection/src/eth/fee-proxy-detector.ts +++ b/packages/payment-detection/src/eth/fee-proxy-detector.ts @@ -34,7 +34,7 @@ export class EthFeeProxyPaymentDetector extends FeeReferenceBasedDetector< getSubgraphClient, }: ReferenceBasedDetectorOptions & Pick) { super( - PaymentTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT, + ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT, advancedLogic.extensions.feeProxyContractEth, currencyManager, ); diff --git a/packages/payment-detection/src/eth/input-data.ts b/packages/payment-detection/src/eth/input-data.ts index 6559ebd92d..fcdb36549e 100644 --- a/packages/payment-detection/src/eth/input-data.ts +++ b/packages/payment-detection/src/eth/input-data.ts @@ -40,7 +40,7 @@ export class EthInputDataPaymentDetector extends ReferenceBasedDetector< }: ReferenceBasedDetectorOptions & Pick) { super( - PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, + ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, advancedLogic.extensions.ethereumInputData, currencyManager, ); diff --git a/packages/payment-detection/src/fee-reference-based-detector.ts b/packages/payment-detection/src/fee-reference-based-detector.ts index 7c27f29ff4..7df5724262 100644 --- a/packages/payment-detection/src/fee-reference-based-detector.ts +++ b/packages/payment-detection/src/fee-reference-based-detector.ts @@ -9,14 +9,17 @@ import { ReferenceBasedDetector } from './reference-based-detector'; */ export abstract class FeeReferenceBasedDetector< TExtension extends ExtensionTypes.PnFeeReferenceBased.IFeeReferenceBased, - TPaymentEventParameters extends { feeAmount?: string; feeAddress?: string }, + TPaymentEventParameters extends PaymentTypes.IDeclarativePaymentEventParameters & { + feeAddress?: string; + feeAmount?: string; + }, > extends ReferenceBasedDetector { /** - * @param paymentNetworkId Example : PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA + * @param paymentNetworkId Example : ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA * @param extension The advanced logic payment network extension, reference based */ protected constructor( - paymentNetworkId: PaymentTypes.PAYMENT_NETWORK_ID, + paymentNetworkId: ExtensionTypes.PAYMENT_NETWORK_ID, extension: TExtension, currencyManager: ICurrencyManager, ) { diff --git a/packages/payment-detection/src/native-token-detector.ts b/packages/payment-detection/src/native-token-detector.ts index 84d307a252..44d0bbd4a3 100644 --- a/packages/payment-detection/src/native-token-detector.ts +++ b/packages/payment-detection/src/native-token-detector.ts @@ -11,7 +11,7 @@ export abstract class NativeTokenPaymentDetector extends ReferenceBasedDetector< PaymentTypes.IETHPaymentEventParameters > { protected constructor({ network, advancedLogic, currencyManager }: NativeDetectorOptions) { - const extensionId = PaymentTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN; + const extensionId = ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN; const extension = advancedLogic.getNativeTokenExtensionForNetwork( network, ) as ExtensionTypes.PnReferenceBased.IReferenceBased; diff --git a/packages/payment-detection/src/payment-detector-base.ts b/packages/payment-detection/src/payment-detector-base.ts index 15428f396e..b105ceaa12 100644 --- a/packages/payment-detection/src/payment-detector-base.ts +++ b/packages/payment-detection/src/payment-detector-base.ts @@ -12,11 +12,13 @@ export abstract class PaymentDetectorBase< > implements PaymentTypes.IPaymentNetwork { protected constructor( - public readonly paymentNetworkId: PaymentTypes.PAYMENT_NETWORK_ID, + public readonly paymentNetworkId: ExtensionTypes.PAYMENT_NETWORK_ID, public readonly extension: TExtension, ) {} - abstract createExtensionsDataForCreation(paymentNetworkCreationParameters: any): Promise; + abstract createExtensionsDataForCreation( + paymentNetworkCreationParameters: PaymentTypes.PaymentNetworkCreateParameters['parameters'], + ): Promise; abstract createExtensionsDataForAddRefundInformation(parameters: any): any; abstract createExtensionsDataForAddPaymentInformation(parameters: any): any; diff --git a/packages/payment-detection/src/payment-network-factory.ts b/packages/payment-detection/src/payment-network-factory.ts index ca0bd64c2d..4b18f091e2 100644 --- a/packages/payment-detection/src/payment-network-factory.ts +++ b/packages/payment-detection/src/payment-network-factory.ts @@ -1,4 +1,9 @@ -import { AdvancedLogicTypes, PaymentTypes, RequestLogicTypes } from '@requestnetwork/types'; +import { + AdvancedLogicTypes, + ExtensionTypes, + PaymentTypes, + RequestLogicTypes, +} from '@requestnetwork/types'; import { ICurrencyManager } from '@requestnetwork/currency'; import { ContractBasedDetector, @@ -21,7 +26,7 @@ import { getPaymentNetworkExtension } from './utils'; import { getTheGraphClient } from './thegraph'; import { getDefaultProvider } from './provider'; -const PN_ID = PaymentTypes.PAYMENT_NETWORK_ID; +const PN_ID = ExtensionTypes.PAYMENT_NETWORK_ID; /** Register the payment network by currency and type */ const supportedPaymentNetwork: ISupportedPaymentNetworkByCurrency = { @@ -62,9 +67,9 @@ const supportedPaymentNetwork: ISupportedPaymentNetworkByCurrency = { const anyCurrencyPaymentNetwork: IPaymentNetworkModuleByType = { [PN_ID.ANY_TO_ERC20_PROXY]: AnyToERC20PaymentDetector, - [PN_ID.DECLARATIVE]: DeclarativePaymentDetector, + [PN_ID.ANY_DECLARATIVE]: DeclarativePaymentDetector, [PN_ID.ANY_TO_ETH_PROXY]: AnyToEthFeeProxyPaymentDetector, - [PN_ID.ANY_TO_NATIVE]: NearConversionNativeTokenPaymentDetector, + [PN_ID.ANY_TO_NATIVE_TOKEN]: NearConversionNativeTokenPaymentDetector, }; /** Factory to create the payment network according to the currency and payment network type */ @@ -109,7 +114,7 @@ export class PaymentNetworkFactory { * @returns the module to handle the payment network */ public createPaymentNetwork( - paymentNetworkId: PaymentTypes.PAYMENT_NETWORK_ID, + paymentNetworkId: ExtensionTypes.PAYMENT_NETWORK_ID, currencyType: RequestLogicTypes.CURRENCY, paymentChain?: string, paymentNetworkVersion?: string, @@ -169,7 +174,7 @@ export class PaymentNetworkFactory { const { id, version } = pn; return this.createPaymentNetwork( - id as unknown as PaymentTypes.PAYMENT_NETWORK_ID, + id as unknown as ExtensionTypes.PAYMENT_NETWORK_ID, request.currency.type, detectionChain, version, diff --git a/packages/payment-detection/src/reference-based-detector.ts b/packages/payment-detection/src/reference-based-detector.ts index 69c5f427b4..111d953260 100644 --- a/packages/payment-detection/src/reference-based-detector.ts +++ b/packages/payment-detection/src/reference-based-detector.ts @@ -10,18 +10,18 @@ import { DeclarativePaymentDetectorBase } from './declarative'; */ export abstract class ReferenceBasedDetector< TExtension extends ExtensionTypes.PnReferenceBased.IReferenceBased, - TPaymentEventParameters, + TPaymentEventParameters extends PaymentTypes.IDeclarativePaymentEventParameters, > extends DeclarativePaymentDetectorBase< TExtension, TPaymentEventParameters | PaymentTypes.IDeclarativePaymentEventParameters > { /** - * @param paymentNetworkId Example : PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA + * @param paymentNetworkId Example : ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA * @param extension The advanced logic payment network extension, reference based * @param currencyManager The currency manager */ protected constructor( - paymentNetworkId: PaymentTypes.PAYMENT_NETWORK_ID, + paymentNetworkId: ExtensionTypes.PAYMENT_NETWORK_ID, extension: TExtension, protected readonly currencyManager: ICurrencyManager, ) { diff --git a/packages/payment-detection/src/types.ts b/packages/payment-detection/src/types.ts index fe9490a679..65fb1bcadc 100644 --- a/packages/payment-detection/src/types.ts +++ b/packages/payment-detection/src/types.ts @@ -35,7 +35,7 @@ export interface IEventRetriever< /** Object interface to list the payment network module by id */ export type IPaymentNetworkModuleByType = Partial< Record< - PaymentTypes.PAYMENT_NETWORK_ID, + ExtensionTypes.PAYMENT_NETWORK_ID, new (...pnParams: any) => PaymentDetectorBase > >; diff --git a/packages/payment-detection/test/any/any-to-erc20-proxy-contract.test.ts b/packages/payment-detection/test/any/any-to-erc20-proxy-contract.test.ts index a58429bb23..28578a80da 100644 --- a/packages/payment-detection/test/any/any-to-erc20-proxy-contract.test.ts +++ b/packages/payment-detection/test/any/any-to-erc20-proxy-contract.test.ts @@ -186,9 +186,9 @@ describe('api/any/conversion-fee-proxy-contract', () => { events: [], expectedAmount: '1000', extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ERC20_PROXY]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ERC20_PROXY, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress: '0xC5fdf4076b8F3A5357c5E395ab970B5B54098Fef', @@ -311,7 +311,7 @@ describe('api/any/conversion-fee-proxy-contract', () => { // Payments: 5 (correct fee address) // Refunds: 5 (correct fee address) expect( - mockRequest.extensions[ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ERC20_PROXY].values.feeBalance + mockRequest.extensions[ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY].values.feeBalance .balance, ).toBe('10'); }); @@ -348,9 +348,9 @@ describe('api/any/conversion-fee-proxy-contract', () => { events: [], expectedAmount: '100', extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ERC20_PROXY]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ERC20_PROXY, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress: '0x35d0e078755Cd84D3E0656cAaB417Dee1d7939c7', diff --git a/packages/payment-detection/test/any/any-to-eth.test.ts b/packages/payment-detection/test/any/any-to-eth.test.ts index c39456c48b..a4101d1a24 100644 --- a/packages/payment-detection/test/any/any-to-eth.test.ts +++ b/packages/payment-detection/test/any/any-to-eth.test.ts @@ -20,9 +20,9 @@ describe('Any to ETH payment detection', () => { events: [], expectedAmount: '1000', extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ETH_PROXY]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ETH_PROXY, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress: '0x35d0e078755Cd84D3E0656cAaB417Dee1d7939c7', diff --git a/packages/payment-detection/test/declarative.test.ts b/packages/payment-detection/test/declarative.test.ts index ba8ea15c27..db3447ff31 100644 --- a/packages/payment-detection/test/declarative.test.ts +++ b/packages/payment-detection/test/declarative.test.ts @@ -152,7 +152,7 @@ describe('api/declarative', () => { }); it('getBalance get the correct balance', async () => { - requestMock.extensions[PaymentTypes.PAYMENT_NETWORK_ID.DECLARATIVE] = { + requestMock.extensions[ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE] = { events: [ { name: ExtensionTypes.PnAnyDeclarative.ACTION.DECLARE_SENT_PAYMENT, diff --git a/packages/payment-detection/test/erc20/address-based.test.ts b/packages/payment-detection/test/erc20/address-based.test.ts index bc9f90f3d1..5ec4070b6f 100644 --- a/packages/payment-detection/test/erc20/address-based.test.ts +++ b/packages/payment-detection/test/erc20/address-based.test.ts @@ -81,7 +81,7 @@ describe('api/erc20/address-based', () => { events: [], expectedAmount: '0', extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_ADDRESS_BASED]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED]: { events: [], id: '0', type: 'none', diff --git a/packages/payment-detection/test/erc20/escrow-proxy-contract.test.ts b/packages/payment-detection/test/erc20/escrow-proxy-contract.test.ts index 83dcd97be5..4d41ea5d6b 100644 --- a/packages/payment-detection/test/erc20/escrow-proxy-contract.test.ts +++ b/packages/payment-detection/test/erc20/escrow-proxy-contract.test.ts @@ -166,9 +166,9 @@ describe('api/erc20/escrow-proxy-contract', () => { events: [], expectedAmount: '1000', extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress: '0xC5fdf4076b8F3A5357c5E395ab970B5B54098Fef', @@ -276,7 +276,7 @@ describe('api/erc20/escrow-proxy-contract', () => { // 500 + 500 + 100 (3 payments) - 10 - 10 (2 refunds) = 1100 - 20 = 1080 expect(balance.balance).toBe('1080'); expect( - mockRequest.extensions[ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT].values + mockRequest.extensions[ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT].values .feeBalance.balance, ).toBe('5'); }); diff --git a/packages/payment-detection/test/erc20/fee-proxy-contract.test.ts b/packages/payment-detection/test/erc20/fee-proxy-contract.test.ts index d64423658e..b22b7fecc2 100644 --- a/packages/payment-detection/test/erc20/fee-proxy-contract.test.ts +++ b/packages/payment-detection/test/erc20/fee-proxy-contract.test.ts @@ -166,9 +166,9 @@ describe('api/erc20/fee-proxy-contract', () => { events: [], expectedAmount: '1000', extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress: '0xC5fdf4076b8F3A5357c5E395ab970B5B54098Fef', @@ -278,7 +278,7 @@ describe('api/erc20/fee-proxy-contract', () => { // Payments: 5 (correct fee address) // Refunds: 2 (correct fee address) expect( - mockRequest.extensions[ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT].values + mockRequest.extensions[ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT].values .feeBalance.balance, ).toBe('7'); }); @@ -294,7 +294,7 @@ describe('api/erc20/fee-proxy-contract', () => { events: [], expectedAmount: '1000000000000000000', extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { events: [ { name: 'create', @@ -307,7 +307,7 @@ describe('api/erc20/fee-proxy-contract', () => { timestamp: 1655883560, }, ], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress: '0x35d0e078755Cd84D3E0656cAaB417Dee1d7939c7', @@ -376,7 +376,7 @@ describe('api/erc20/fee-proxy-contract', () => { events: [], expectedAmount: '168040800000000000000000', extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { events: [ { name: 'create', @@ -389,7 +389,7 @@ describe('api/erc20/fee-proxy-contract', () => { timestamp: 1665989825, }, ], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { salt: 'c75c317e05c52f12', diff --git a/packages/payment-detection/test/erc20/proxy-contract.test.ts b/packages/payment-detection/test/erc20/proxy-contract.test.ts index 20bea65ae6..7b115c7d33 100644 --- a/packages/payment-detection/test/erc20/proxy-contract.test.ts +++ b/packages/payment-detection/test/erc20/proxy-contract.test.ts @@ -124,7 +124,7 @@ describe('api/erc20/proxy-contract', () => { requestId: 'abcd', currency: { network: 'mainnet' }, extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]: { values: { paymentAddress: '0xabcd', salt: 'ea3bc7caf64110ca', @@ -148,7 +148,7 @@ describe('api/erc20/proxy-contract', () => { requestId: 'abcd', currency: { network: 'WRONG' }, extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]: { values: { paymentAddress: '0xabcd', salt: 'ea3bc7caf64110ca', @@ -176,7 +176,7 @@ describe('api/erc20/proxy-contract', () => { value: '0xFab46E002BbF0b4509813474841E0716E6730136', }, extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]: { events: [ { name: 'create', @@ -187,7 +187,7 @@ describe('api/erc20/proxy-contract', () => { timestamp: 1579705864, }, ], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, type: 'payment-network', values: { paymentAddress: '0x0e8d9cb9e11278ad6e2ba1ca90385c7295dc6532', diff --git a/packages/payment-detection/test/erc777/superfluid-detector.test.ts b/packages/payment-detection/test/erc777/superfluid-detector.test.ts index 8a1c4bf2ad..5bc8a7b6da 100644 --- a/packages/payment-detection/test/erc777/superfluid-detector.test.ts +++ b/packages/payment-detection/test/erc777/superfluid-detector.test.ts @@ -51,9 +51,9 @@ const mockOriginalRequest: RequestLogicTypes.IRequest = { ...baseRequestData, requestId: '0xoriginal', extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress: '0xC5fdf4076b8F3A5357c5E395ab970B5B54098Fef', @@ -71,9 +71,9 @@ const mockSecondSubrequest: RequestLogicTypes.IRequest = { ...baseRequestData, requestId: '0xsubseq1', extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress: '0xC5fdf4076b8F3A5357c5E395ab970B5B54098Fef', @@ -94,9 +94,9 @@ const mockThirdSubrequest: RequestLogicTypes.IRequest = { ...baseRequestData, requestId: '0xsubseq2', extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress: '0xC5fdf4076b8F3A5357c5E395ab970B5B54098Fef', diff --git a/packages/payment-detection/test/eth/input-data.test.ts b/packages/payment-detection/test/eth/input-data.test.ts index 8c3fe60dca..7dad1cbec4 100644 --- a/packages/payment-detection/test/eth/input-data.test.ts +++ b/packages/payment-detection/test/eth/input-data.test.ts @@ -108,7 +108,7 @@ describe('api/eth/input-data', () => { events: [], expectedAmount: '0', extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { events: [], id: '0', type: 'none', @@ -146,7 +146,7 @@ describe('api/eth/input-data', () => { events: [], expectedAmount: '0', extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { events: [], id: '0', type: 'none', diff --git a/packages/payment-detection/test/near/near-native-conversion.test.ts b/packages/payment-detection/test/near/near-native-conversion.test.ts index 85d113c83f..f572c92ce4 100644 --- a/packages/payment-detection/test/near/near-native-conversion.test.ts +++ b/packages/payment-detection/test/near/near-native-conversion.test.ts @@ -29,8 +29,8 @@ const request: any = { value: 'USD', }, extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_NATIVE_TOKEN as string]: { - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_NATIVE_TOKEN, + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN as string]: { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { paymentAddress, @@ -144,9 +144,9 @@ describe('Near payments detection', () => { requestWithWrongVersion = { ...requestWithWrongVersion, extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_NATIVE_TOKEN]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN]: { ...requestWithWrongVersion.extensions[ - ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_NATIVE_TOKEN + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN ], version: '3.14', }, @@ -169,13 +169,13 @@ describe('Near payments detection', () => { requestWithWrongNetwork = { ...requestWithWrongNetwork, extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_NATIVE_TOKEN as string]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN as string]: { ...requestWithWrongNetwork.extensions[ - ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_NATIVE_TOKEN + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN ], values: { ...requestWithWrongNetwork.extensions[ - ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_NATIVE_TOKEN + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN ].values, network: 'unknown-network', }, diff --git a/packages/payment-detection/test/near/near-native.test.ts b/packages/payment-detection/test/near/near-native.test.ts index d99b4035f9..962d116239 100644 --- a/packages/payment-detection/test/near/near-native.test.ts +++ b/packages/payment-detection/test/near/near-native.test.ts @@ -18,8 +18,8 @@ const request: any = { value: 'NEAR', }, extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_NATIVE_TOKEN as string]: { - id: ExtensionTypes.ID.PAYMENT_NETWORK_NATIVE_TOKEN, + [ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN as string]: { + id: ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { paymentAddress, @@ -90,8 +90,8 @@ describe('Near payments detection', () => { requestWithWrongVersion = { ...requestWithWrongVersion, extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_NATIVE_TOKEN]: { - ...requestWithWrongVersion.extensions[ExtensionTypes.ID.PAYMENT_NETWORK_NATIVE_TOKEN], + [ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN]: { + ...requestWithWrongVersion.extensions[ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN], version: '3.14', }, }, diff --git a/packages/payment-detection/test/payment-network-factory.test.ts b/packages/payment-detection/test/payment-network-factory.test.ts index 997d1cfe80..fc48760a48 100644 --- a/packages/payment-detection/test/payment-network-factory.test.ts +++ b/packages/payment-detection/test/payment-network-factory.test.ts @@ -1,9 +1,4 @@ -import { - AdvancedLogicTypes, - ExtensionTypes, - PaymentTypes, - RequestLogicTypes, -} from '@requestnetwork/types'; +import { AdvancedLogicTypes, ExtensionTypes, RequestLogicTypes } from '@requestnetwork/types'; import { CurrencyManager } from '@requestnetwork/currency'; import { BtcMainnetAddressBasedDetector } from '../src/btc'; import { @@ -30,7 +25,7 @@ describe('api/payment-network/payment-network-factory', () => { it('can createPaymentNetwork', async () => { expect( paymentNetworkFactory.createPaymentNetwork( - PaymentTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED, + ExtensionTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED, RequestLogicTypes.CURRENCY.BTC, ), ).toBeInstanceOf(BtcMainnetAddressBasedDetector); @@ -39,7 +34,7 @@ describe('api/payment-network/payment-network-factory', () => { it('can createPaymentNetwork with any currency', async () => { expect( paymentNetworkFactory.createPaymentNetwork( - PaymentTypes.PAYMENT_NETWORK_ID.DECLARATIVE, + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE, RequestLogicTypes.CURRENCY.BTC, ), ).toBeInstanceOf(DeclarativePaymentDetector); @@ -66,8 +61,8 @@ describe('api/payment-network/payment-network-factory', () => { value: 'BTC', }, extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_BITCOIN_ADDRESS_BASED as string]: { - id: ExtensionTypes.ID.PAYMENT_NETWORK_BITCOIN_ADDRESS_BASED, + [ExtensionTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED as string]: { + id: ExtensionTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, }, }, @@ -123,8 +118,8 @@ describe('api/payment-network/payment-network-factory', () => { const request: any = { currency: 'ETH', extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE as string]: { - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE, + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE as string]: { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, }, }, @@ -144,8 +139,8 @@ describe('api/payment-network/payment-network-factory', () => { value: 'ETH', }, extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA as string]: { - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA, + [ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA as string]: { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, }, }, diff --git a/packages/payment-detection/test/utils.test.ts b/packages/payment-detection/test/utils.test.ts index 733812b015..14be79a394 100644 --- a/packages/payment-detection/test/utils.test.ts +++ b/packages/payment-detection/test/utils.test.ts @@ -180,8 +180,8 @@ describe('getPaymentReference', () => { getPaymentReference({ requestId: '01abyz', extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT]: { - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT, + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]: { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { paymentAddress, @@ -200,8 +200,8 @@ describe('getPaymentReference', () => { getPaymentReference({ requestId: '01abyz', extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT]: { - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT, + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]: { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: {}, version: '0.1.0', @@ -217,8 +217,8 @@ describe('getPaymentReference', () => { getPaymentReference({ requestId: '01abyz', extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT]: { - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT, + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]: { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { paymentAddress, @@ -239,8 +239,8 @@ describe('getPaymentReference', () => { { requestId: '01abyz', extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT]: { - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT, + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]: { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { paymentAddress, @@ -262,8 +262,8 @@ describe('getPaymentReference', () => { getPaymentReference({ requestId: '01abyz', extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE]: { - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE, + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE]: { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { paymentInfo, @@ -284,8 +284,8 @@ describe('getPaymentReference', () => { { requestId: '01abyz', extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE]: { - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE, + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE]: { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { paymentInfo, @@ -308,8 +308,8 @@ describe('getPaymentReference', () => { { requestId: '01abyz', extensions: { - [ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT]: { - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT, + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]: { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { paymentAddress, diff --git a/packages/payment-processor/src/payment/batch-conversion-proxy.ts b/packages/payment-processor/src/payment/batch-conversion-proxy.ts index d1a6c52de6..9077f1faa6 100644 --- a/packages/payment-processor/src/payment/batch-conversion-proxy.ts +++ b/packages/payment-processor/src/payment/batch-conversion-proxy.ts @@ -1,7 +1,12 @@ import { ContractTransaction, Signer, providers, BigNumber, constants } from 'ethers'; import { batchConversionPaymentsArtifact } from '@requestnetwork/smart-contracts'; import { BatchConversionPayments__factory } from '@requestnetwork/smart-contracts/types'; -import { ClientTypes, PaymentTypes, RequestLogicTypes } from '@requestnetwork/types'; +import { + ClientTypes, + ExtensionTypes, + PaymentTypes, + RequestLogicTypes, +} from '@requestnetwork/types'; import { ITransactionOverrides } from './transaction-overrides'; import { comparePnTypeAndVersion, @@ -110,7 +115,7 @@ function encodePayBatchConversionRequest( // fill ERC20ConversionRequestDetails and ERC20NoConversionRequestDetails lists for (const enrichedRequest of enrichedRequests) { const request = enrichedRequest.request; - if (enrichedRequest.paymentNetworkId === PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY) { + if (enrichedRequest.paymentNetworkId === ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY) { enrichedRequest.paymentSettings.currencyManager = conversion.currencyManager; firstConversionRequestExtension = firstConversionRequestExtension ?? getPaymentNetworkExtension(request); @@ -121,7 +126,8 @@ function encodePayBatchConversionRequest( } ERC20ConversionRequestDetails.push(getInputERC20ConversionRequestDetail(enrichedRequest)); } else if ( - enrichedRequest.paymentNetworkId === PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT + enrichedRequest.paymentNetworkId === + ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT ) { firstNoConversionRequestExtension = firstNoConversionRequestExtension ?? getPaymentNetworkExtension(request); diff --git a/packages/payment-processor/src/payment/batch-proxy.ts b/packages/payment-processor/src/payment/batch-proxy.ts index 531daac2be..b30bd3ee72 100644 --- a/packages/payment-processor/src/payment/batch-proxy.ts +++ b/packages/payment-processor/src/payment/batch-proxy.ts @@ -1,7 +1,7 @@ import { ContractTransaction, Signer, providers, constants, BigNumber } from 'ethers'; import { batchPaymentsArtifact } from '@requestnetwork/smart-contracts'; import { BatchPayments__factory } from '@requestnetwork/smart-contracts/types'; -import { ClientTypes, PaymentTypes } from '@requestnetwork/types'; +import { ClientTypes } from '@requestnetwork/types'; import { getPaymentNetworkExtension } from '@requestnetwork/payment-detection'; import { ITransactionOverrides } from './transaction-overrides'; import { @@ -215,12 +215,15 @@ export function getBatchArgs( */ export function getBatchProxyAddress(request: ClientTypes.IRequestData, version: string): string { const pn = getPaymentNetworkExtension(request); - const pnId = pn?.id as unknown as PaymentTypes.PAYMENT_NETWORK_ID; + const pnId = pn?.id; if (!pnId) { throw new Error('No payment network Id'); } + if (!request.currencyInfo.network) { + throw new Error('No currency network'); + } - const proxyAddress = batchPaymentsArtifact.getAddress(request.currencyInfo.network!, version); + const proxyAddress = batchPaymentsArtifact.getAddress(request.currencyInfo.network, version); if (!proxyAddress) { throw new Error(`No deployment found for network ${pn}, version ${pn?.version}`); diff --git a/packages/payment-processor/src/payment/encoder-approval.ts b/packages/payment-processor/src/payment/encoder-approval.ts index 292aaf7501..e79138189b 100644 --- a/packages/payment-processor/src/payment/encoder-approval.ts +++ b/packages/payment-processor/src/payment/encoder-approval.ts @@ -107,11 +107,11 @@ export function encodeRequestErc20ApprovalWithoutSwap( const overrides = options?.overrides ? options.overrides : undefined; switch (paymentNetwork) { - case ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT: + case ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT: return prepareApproveErc20(request, provider, overrides, options?.approval?.amount); - case ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT: + case ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT: return prepareApproveErc20(request, provider, overrides, options?.approval?.amount); - case ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ERC20_PROXY: { + case ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY: { if ( !options || !options.conversion || @@ -146,7 +146,7 @@ export function encodeRequestErc20ApprovalWithSwap( const overrides = options?.overrides ? options.overrides : undefined; switch (paymentNetwork) { - case ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT: + case ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT: if (options && options.swap) { return prepareApprovalErc20ForSwapToPay( request, @@ -158,7 +158,7 @@ export function encodeRequestErc20ApprovalWithSwap( } else { throw new Error('No swap options'); } - case ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ERC20_PROXY: { + case ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY: { if ( !options || !options.conversion || @@ -220,17 +220,17 @@ export async function isRequestErc20ApprovalWithoutSwapNeeded( const paymentNetwork = getPaymentNetworkExtension(request)?.id; switch (paymentNetwork) { - case ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT: + case ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT: if (!(await hasErc20Approval(request, from))) { return true; } break; - case ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT: + case ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT: if (!(await hasErc20Approval(request, from))) { return true; } break; - case ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ERC20_PROXY: { + case ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY: { if ( !options || !options.conversion || @@ -275,7 +275,7 @@ export async function isRequestErc20ApprovalWithSwapNeeded( const paymentNetwork = getPaymentNetworkExtension(request)?.id; switch (paymentNetwork) { - case ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT: + case ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT: if (options && options.swap) { if ( !(await hasApprovalErc20ForSwapToPay( @@ -292,7 +292,7 @@ export async function isRequestErc20ApprovalWithSwapNeeded( throw new Error('No swap options'); } break; - case ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ERC20_PROXY: { + case ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY: { if ( !options || !options.conversion || diff --git a/packages/payment-processor/src/payment/encoder-payment.ts b/packages/payment-processor/src/payment/encoder-payment.ts index 4d5a8f6da7..3791b82d9f 100644 --- a/packages/payment-processor/src/payment/encoder-payment.ts +++ b/packages/payment-processor/src/payment/encoder-payment.ts @@ -47,17 +47,17 @@ export function encodeRequestPaymentWithoutSwap( const overrides = options?.overrides ? options.overrides : {}; switch (paymentNetwork) { - case ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT: + case ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT: return { ...prepareErc20ProxyPaymentTransaction(request, amount), ...overrides, }; - case ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT: + case ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT: return { ...prepareErc20FeeProxyPaymentTransaction(request, amount, feeAmount), ...overrides, }; - case ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ERC20_PROXY: { + case ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY: { if ( !options || !options.conversion || @@ -76,7 +76,7 @@ export function encodeRequestPaymentWithoutSwap( ...overrides, }; } - case ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ETH_PROXY: { + case ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY: { if ( !options || !options.conversion || @@ -95,12 +95,12 @@ export function encodeRequestPaymentWithoutSwap( ...overrides, }; } - case ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA: + case ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA: return { ...prepareEthProxyPaymentTransaction(request, amount), ...overrides, }; - case ExtensionTypes.ID.PAYMENT_NETWORK_ETH_FEE_PROXY_CONTRACT: + case ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT: return { ...prepareEthFeeProxyPaymentTransaction(request, amount, feeAmount), ...overrides, @@ -125,7 +125,7 @@ export async function encodeRequestPaymentWithStream( const overrides = options?.overrides ? options.overrides : {}; switch (paymentNetwork) { - case ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM: + case ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM: return { ...(await prepareErc777StreamPaymentTransaction(request, provider)), ...overrides, @@ -152,7 +152,7 @@ export function encodeRequestPaymentWithSwap( const overrides = options?.overrides ? options.overrides : undefined; switch (paymentNetwork) { - case ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT: + case ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT: if (options && options.swap) { return prepareSwapToPayErc20FeeRequest(request, provider, options.swap, { amount, @@ -162,7 +162,7 @@ export function encodeRequestPaymentWithSwap( } else { throw new Error('No swap options'); } - case ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ERC20_PROXY: { + case ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY: { if ( !options || !options.conversion || diff --git a/packages/payment-processor/src/payment/erc20-escrow-payment.ts b/packages/payment-processor/src/payment/erc20-escrow-payment.ts index 91e3bfc20f..03230e97ee 100644 --- a/packages/payment-processor/src/payment/erc20-escrow-payment.ts +++ b/packages/payment-processor/src/payment/erc20-escrow-payment.ts @@ -2,7 +2,7 @@ import { BigNumber, BigNumberish, constants, ContractTransaction, providers, Signer } from 'ethers'; import { erc20EscrowToPayArtifact } from '@requestnetwork/smart-contracts'; import { ERC20EscrowToPay__factory } from '@requestnetwork/smart-contracts/types/'; -import { ClientTypes, PaymentTypes } from '@requestnetwork/types'; +import { ClientTypes, ExtensionTypes } from '@requestnetwork/types'; import { getAmountToPay, getProvider, @@ -245,7 +245,7 @@ export function encodePayEscrow( amount?: BigNumberish, feeAmountOverride?: BigNumberish, ): string { - validateRequest(request, PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT); + validateRequest(request, ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT); const tokenAddress = request.currencyInfo.value; // collects the parameters to be used, from the request @@ -298,7 +298,7 @@ export function preparePayEscrow( * @returns {erc20EscrowToPayContract, paymentReference} */ function prepareForEncoding(request: ClientTypes.IRequestData) { - validateRequest(request, PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT); + validateRequest(request, ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT); // collects the parameters to be used from the request const { paymentReference } = getRequestPaymentValues(request); diff --git a/packages/payment-processor/src/payment/erc20-fee-proxy.ts b/packages/payment-processor/src/payment/erc20-fee-proxy.ts index 8e99c98d05..72174e3d87 100644 --- a/packages/payment-processor/src/payment/erc20-fee-proxy.ts +++ b/packages/payment-processor/src/payment/erc20-fee-proxy.ts @@ -2,7 +2,7 @@ import { constants, ContractTransaction, Signer, BigNumberish, providers, BigNum import { erc20FeeProxyArtifact } from '@requestnetwork/smart-contracts'; import { ERC20FeeProxy__factory } from '@requestnetwork/smart-contracts/types'; -import { ClientTypes, PaymentTypes } from '@requestnetwork/types'; +import { ClientTypes, ExtensionTypes } from '@requestnetwork/types'; import { getPaymentNetworkExtension } from '@requestnetwork/payment-detection'; import { ITransactionOverrides } from './transaction-overrides'; @@ -78,7 +78,7 @@ export function _getErc20FeeProxyPaymentUrl( amount?: BigNumberish, feeAmountOverride?: BigNumberish, ): string { - validateRequest(request, PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT); + validateRequest(request, ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT); const { paymentReference, paymentAddress, feeAddress, feeAmount, version } = getRequestPaymentValues(request); const contractAddress = erc20FeeProxyArtifact.getAddress(request.currencyInfo.network!, version); diff --git a/packages/payment-processor/src/payment/erc20-proxy.ts b/packages/payment-processor/src/payment/erc20-proxy.ts index 19e062c901..3f9b3d2a35 100644 --- a/packages/payment-processor/src/payment/erc20-proxy.ts +++ b/packages/payment-processor/src/payment/erc20-proxy.ts @@ -2,7 +2,7 @@ import { ContractTransaction, Signer, BigNumberish, providers } from 'ethers'; import { Erc20PaymentNetwork } from '@requestnetwork/payment-detection'; import { ERC20Proxy__factory } from '@requestnetwork/smart-contracts/types'; -import { ClientTypes, PaymentTypes } from '@requestnetwork/types'; +import { ClientTypes, ExtensionTypes } from '@requestnetwork/types'; import { ITransactionOverrides } from './transaction-overrides'; import { @@ -42,7 +42,7 @@ export function encodePayErc20Request( request: ClientTypes.IRequestData, amount?: BigNumberish, ): string { - validateRequest(request, PaymentTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT); + validateRequest(request, ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT); const tokenAddress = request.currencyInfo.value; const { paymentReference, paymentAddress } = getRequestPaymentValues(request); @@ -67,7 +67,7 @@ export function _getErc20ProxyPaymentUrl( request: ClientTypes.IRequestData, amount?: BigNumberish, ): string { - validateRequest(request, PaymentTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT); + validateRequest(request, ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT); const { paymentAddress, paymentReference } = getRequestPaymentValues(request); const contractAddress = getProxyAddress( request, @@ -88,7 +88,7 @@ export function prepareErc20ProxyPaymentTransaction( request: ClientTypes.IRequestData, amount?: BigNumberish, ): IPreparedTransaction { - validateRequest(request, PaymentTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT); + validateRequest(request, ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT); return { data: encodePayErc20Request(request, amount), diff --git a/packages/payment-processor/src/payment/erc20.ts b/packages/payment-processor/src/payment/erc20.ts index 7385cf8500..034101fce0 100644 --- a/packages/payment-processor/src/payment/erc20.ts +++ b/packages/payment-processor/src/payment/erc20.ts @@ -2,7 +2,7 @@ import { ContractTransaction, Signer, BigNumber, BigNumberish, providers } from import { Erc20PaymentNetwork, getPaymentNetworkExtension } from '@requestnetwork/payment-detection'; import { ERC20__factory } from '@requestnetwork/smart-contracts/types'; -import { ClientTypes, ExtensionTypes, PaymentTypes } from '@requestnetwork/types'; +import { ClientTypes, ExtensionTypes } from '@requestnetwork/types'; import { _getErc20FeeProxyPaymentUrl, payErc20FeeProxyRequest } from './erc20-fee-proxy'; import { ISwapSettings, swapErc20FeeProxyRequest } from './swap-erc20-fee-proxy'; @@ -36,13 +36,13 @@ export async function payErc20Request( swapSettings?: ISwapSettings, ): Promise { const id = getPaymentNetworkExtension(request)?.id; - if (swapSettings && id !== ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT) { + if (swapSettings && id !== ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT) { throw new Error(`ExtensionType: ${id} is not supported by swapToPay contract`); } - if (id === ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT) { + if (id === ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT) { return payErc20ProxyRequest(request, signerOrProvider, amount, overrides); } - if (id === ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT) { + if (id === ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT) { if (swapSettings) { return swapErc20FeeProxyRequest(request, signerOrProvider, swapSettings, { amount, @@ -166,8 +166,7 @@ export function encodeApproveErc20( signerOrProvider: providers.Provider | Signer = getProvider(), amount: BigNumber = MAX_ALLOWANCE, ): string { - const paymentNetworkId = getPaymentNetworkExtension(request) - ?.id as unknown as PaymentTypes.PAYMENT_NETWORK_ID; + const paymentNetworkId = getPaymentNetworkExtension(request)?.id; if (!paymentNetworkId) { throw new Error('No payment network Id'); } @@ -240,10 +239,10 @@ export function _getErc20PaymentUrl( amount?: BigNumberish, ): string { const id = getPaymentNetworkExtension(request)?.id; - if (id === ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT) { + if (id === ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT) { return _getErc20ProxyPaymentUrl(request, amount); } - if (id === ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT) { + if (id === ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT) { return _getErc20FeeProxyPaymentUrl(request, amount); } throw new Error('Not a supported ERC20 proxy payment network request'); @@ -256,17 +255,17 @@ export function _getErc20PaymentUrl( function getProxyAddress(request: ClientTypes.IRequestData): string { const pn = getPaymentNetworkExtension(request); const id = pn?.id; - if (id === ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_ADDRESS_BASED) { + if (id === ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED) { throw new Error(`ERC20 address based payment network doesn't need approval`); } - if (id === ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT) { + if (id === ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT) { return genericGetProxyAddress( request, Erc20PaymentNetwork.ERC20ProxyPaymentDetector.getDeploymentInformation, ); } - if (id === ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT) { + if (id === ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT) { return genericGetProxyAddress( request, Erc20PaymentNetwork.ERC20FeeProxyPaymentDetector.getDeploymentInformation, diff --git a/packages/payment-processor/src/payment/erc777-stream.ts b/packages/payment-processor/src/payment/erc777-stream.ts index 0252a2eaf7..ed69ed44f5 100644 --- a/packages/payment-processor/src/payment/erc777-stream.ts +++ b/packages/payment-processor/src/payment/erc777-stream.ts @@ -8,7 +8,7 @@ import { ethers, } from 'ethers'; -import { ClientTypes, ExtensionTypes, PaymentTypes } from '@requestnetwork/types'; +import { ClientTypes, ExtensionTypes } from '@requestnetwork/types'; import { getPaymentNetworkExtension } from '@requestnetwork/payment-detection'; import { getNetworkProvider, getProvider, getRequestPaymentValues, validateRequest } from './utils'; @@ -53,10 +53,10 @@ export async function completeErc777StreamRequest( overrides?: Overrides, ): Promise { const id = getPaymentNetworkExtension(request)?.id; - if (id !== ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM) { + if (id !== ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM) { throw new Error('Not a supported ERC777 payment network request'); } - validateRequest(request, PaymentTypes.PAYMENT_NETWORK_ID.ERC777_STREAM); + validateRequest(request, ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM); const sf = await getSuperFluidFramework(request, signer.provider ?? getProvider()); // FIXME: according to specs PR https://github.com/RequestNetwork/requestNetwork/pull/688 // in file packages/advanced-logic/specs/payment-network-erc777-stream-0.1.0.md @@ -159,7 +159,7 @@ export async function prepareErc777StreamPaymentTransaction( request: ClientTypes.IRequestData, provider: providers.Provider, ): Promise { - validateRequest(request, PaymentTypes.PAYMENT_NETWORK_ID.ERC777_STREAM); + validateRequest(request, ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM); const sf = await getSuperFluidFramework(request, provider); const encodedTx = await encodePayErc777StreamRequest(request, sf); @@ -185,10 +185,10 @@ export async function getErc777BalanceAt( provider: providers.Provider = getNetworkProvider(request), ): Promise { const id = getPaymentNetworkExtension(request)?.id; - if (id !== ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM) { + if (id !== ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM) { throw new Error('Not a supported ERC777 payment network request'); } - validateRequest(request, PaymentTypes.PAYMENT_NETWORK_ID.ERC777_STREAM); + validateRequest(request, ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM); const sf = await getSuperFluidFramework(request, provider); const superToken = await sf.loadSuperToken(request.currencyInfo.value); const realtimeBalance = await superToken.realtimeBalanceOf({ @@ -210,10 +210,10 @@ export const encodeErc777OneOffPayment = ( amount: BigNumber, ): string => { const id = getPaymentNetworkExtension(request)?.id; - if (id !== ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM) { + if (id !== ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM) { throw new Error('Not a supported ERC777 payment network request'); } - validateRequest(request, PaymentTypes.PAYMENT_NETWORK_ID.ERC777_STREAM); + validateRequest(request, ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM); const { paymentReference, paymentAddress } = getRequestPaymentValues(request); const erc777 = ethers.ContractFactory.getInterface(erc777Artefact.abi); return erc777.encodeFunctionData('send', [paymentAddress, amount, `0x${paymentReference}`]); diff --git a/packages/payment-processor/src/payment/erc777-utils.ts b/packages/payment-processor/src/payment/erc777-utils.ts index afd1f8ac8f..40cbd844f6 100644 --- a/packages/payment-processor/src/payment/erc777-utils.ts +++ b/packages/payment-processor/src/payment/erc777-utils.ts @@ -1,6 +1,6 @@ import { ContractTransaction, Signer, providers, BigNumberish, BigNumber } from 'ethers'; -import { ClientTypes, ExtensionTypes, PaymentTypes } from '@requestnetwork/types'; +import { ClientTypes, ExtensionTypes } from '@requestnetwork/types'; import { getPaymentNetworkExtension } from '@requestnetwork/payment-detection'; import { getNetworkProvider, getProvider, validateRequest, MAX_ALLOWANCE } from './utils'; @@ -20,10 +20,10 @@ export async function getRequestUnderlyingToken( provider: providers.Provider = getNetworkProvider(request), ): Promise { const id = getPaymentNetworkExtension(request)?.id; - if (id !== ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM) { + if (id !== ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM) { throw new Error('Not a supported ERC777 payment network request'); } - validateRequest(request, PaymentTypes.PAYMENT_NETWORK_ID.ERC777_STREAM); + validateRequest(request, ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM); const sf = await getSuperFluidFramework(request, provider); const superToken = await sf.loadSuperToken(request.currencyInfo.value); return superToken.underlyingToken; diff --git a/packages/payment-processor/src/payment/eth-fee-proxy.ts b/packages/payment-processor/src/payment/eth-fee-proxy.ts index 5e9d9034cc..f96cc74246 100644 --- a/packages/payment-processor/src/payment/eth-fee-proxy.ts +++ b/packages/payment-processor/src/payment/eth-fee-proxy.ts @@ -1,6 +1,6 @@ import { constants, ContractTransaction, Signer, providers, BigNumberish, BigNumber } from 'ethers'; -import { ClientTypes, PaymentTypes } from '@requestnetwork/types'; +import { ClientTypes, ExtensionTypes } from '@requestnetwork/types'; import { EthFeeProxyPaymentDetector } from '@requestnetwork/payment-detection'; import { EthereumFeeProxy__factory } from '@requestnetwork/smart-contracts/types'; @@ -100,7 +100,7 @@ export function validateEthFeeProxyRequest( request: ClientTypes.IRequestData, amount?: BigNumberish, feeAmountOverride?: BigNumberish, - paymentNetwork: PaymentTypes.PAYMENT_NETWORK_ID = PaymentTypes.PAYMENT_NETWORK_ID + paymentNetwork: ExtensionTypes.PAYMENT_NETWORK_ID = ExtensionTypes.PAYMENT_NETWORK_ID .ETH_FEE_PROXY_CONTRACT, ): void { validateRequest(request, paymentNetwork); diff --git a/packages/payment-processor/src/payment/eth-input-data.ts b/packages/payment-processor/src/payment/eth-input-data.ts index 69f7fc1677..0eaa87637d 100644 --- a/packages/payment-processor/src/payment/eth-input-data.ts +++ b/packages/payment-processor/src/payment/eth-input-data.ts @@ -1,6 +1,6 @@ import { ContractTransaction, Signer, BigNumberish, providers } from 'ethers'; -import { ClientTypes, PaymentTypes } from '@requestnetwork/types'; +import { ClientTypes, ExtensionTypes } from '@requestnetwork/types'; import { ITransactionOverrides } from './transaction-overrides'; import { @@ -42,7 +42,7 @@ export function prepareEthInputDataRequest( amount?: BigNumberish, overrides?: ITransactionOverrides, ): IPreparedTransaction { - validateRequest(request, PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA); + validateRequest(request, ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA); const { paymentReference, paymentAddress } = getRequestPaymentValues(request); const amountToPay = getAmountToPay(request, amount); diff --git a/packages/payment-processor/src/payment/eth-proxy.ts b/packages/payment-processor/src/payment/eth-proxy.ts index ce6a25716b..de97969d2f 100644 --- a/packages/payment-processor/src/payment/eth-proxy.ts +++ b/packages/payment-processor/src/payment/eth-proxy.ts @@ -1,5 +1,5 @@ import { BigNumberish, ContractTransaction, providers, Signer } from 'ethers'; -import { ClientTypes, PaymentTypes } from '@requestnetwork/types'; +import { ClientTypes, ExtensionTypes } from '@requestnetwork/types'; import { EthInputDataPaymentDetector } from '@requestnetwork/payment-detection'; import { EthereumProxy__factory } from '@requestnetwork/smart-contracts/types'; import { ITransactionOverrides } from './transaction-overrides'; @@ -37,7 +37,7 @@ export async function payEthProxyRequest( * @param amount optionally, the amount to pay. Defaults to remaining amount of the request. */ export function encodePayEthProxyRequest(request: ClientTypes.IRequestData): string { - validateRequest(request, PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA); + validateRequest(request, ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA); const { paymentReference, paymentAddress } = getRequestPaymentValues(request); @@ -52,7 +52,7 @@ export function prepareEthProxyPaymentTransaction( request: ClientTypes.IRequestData, amount?: BigNumberish, ): IPreparedTransaction { - validateRequest(request, PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA); + validateRequest(request, ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA); const encodedTx = encodePayEthProxyRequest(request); const proxyAddress = getProxyAddress(request, (network, version) => diff --git a/packages/payment-processor/src/payment/index.ts b/packages/payment-processor/src/payment/index.ts index d3e3b50bfe..54b1850633 100644 --- a/packages/payment-processor/src/payment/index.ts +++ b/packages/payment-processor/src/payment/index.ts @@ -1,6 +1,6 @@ import { ContractTransaction, Signer, BigNumber, BigNumberish, providers } from 'ethers'; -import { ClientTypes, ExtensionTypes, PaymentTypes } from '@requestnetwork/types'; +import { ClientTypes, ExtensionTypes, TypesUtils } from '@requestnetwork/types'; import { getBtcPaymentUrl } from './btc-address-based'; import { _getErc20PaymentUrl, getAnyErc20Balance } from './erc20'; @@ -24,11 +24,11 @@ import { IRequestPaymentOptions } from './settings'; export { INearTransactionCallback } from './utils-near'; export const noConversionNetworks = [ - ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM, - ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT, - ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT, - ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA, - ExtensionTypes.ID.PAYMENT_NETWORK_NATIVE_TOKEN, + ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM, + ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, + ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, + ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, + ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN, ]; export interface IConversionPaymentSettings { @@ -37,9 +37,14 @@ export interface IConversionPaymentSettings { currencyManager?: ICurrencyManager; } -const getPaymentNetwork = (request: ClientTypes.IRequestData): ExtensionTypes.ID | undefined => { +const getPaymentNetwork = ( + request: ClientTypes.IRequestData, +): ExtensionTypes.PAYMENT_NETWORK_ID | undefined => { // eslint-disable-next-line - return Object.values(request.extensions).find((x) => x.type === 'payment-network')?.id; + const id = Object.values(request.extensions).find((x) => x.type === 'payment-network')?.id; + if (TypesUtils.isPaymentNetworkId(id)) { + return id; + } }; /** @@ -87,12 +92,12 @@ export async function payRequest( const signer = getSigner(signerOrProvider); const paymentNetwork = getPaymentNetwork(request); switch (paymentNetwork) { - case ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT: - case ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT: + case ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT: + case ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT: return payErc20Request(request, signer, amount, undefined, overrides); - case ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM: + case ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM: return payErc777StreamRequest(request, signer); - case ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ERC20_PROXY: { + case ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY: { if (!paymentSettings) { throw new Error('Missing payment settings for a payment with conversion'); } @@ -105,7 +110,7 @@ export async function payRequest( overrides, ); } - case ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ETH_PROXY: { + case ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY: { if (!paymentSettings) { throw new Error('Missing payment settings for a payment with conversion'); } @@ -118,9 +123,9 @@ export async function payRequest( overrides, ); } - case ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA: + case ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA: return payEthInputDataRequest(request, signer, amount, overrides); - case ExtensionTypes.ID.PAYMENT_NETWORK_ETH_FEE_PROXY_CONTRACT: + case ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT: return payEthFeeProxyRequest(request, signer, amount, undefined, overrides); default: throw new UnsupportedNetworkError(paymentNetwork); @@ -204,7 +209,7 @@ export async function hasSufficientFunds( } let feeAmount = 0; - if (paymentNetwork === ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT) { + if (paymentNetwork === ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT) { feeAmount = request.extensions[paymentNetwork].values.feeAmount || 0; } return isSolvent( @@ -290,7 +295,7 @@ export function canSwapToPay(request: ClientTypes.IRequestData): boolean { const paymentNetwork = getPaymentNetwork(request); return ( paymentNetwork !== undefined && - paymentNetwork === ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT + paymentNetwork === ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT ); } @@ -306,13 +311,13 @@ export function canSwapToPay(request: ClientTypes.IRequestData): boolean { export function _getPaymentUrl(request: ClientTypes.IRequestData, amount?: BigNumberish): string { const paymentNetwork = getPaymentNetwork(request); switch (paymentNetwork) { - case ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT: - case ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT: + case ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT: + case ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT: return _getErc20PaymentUrl(request, amount); - case ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA: + case ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA: return _getEthPaymentUrl(request, amount); - case ExtensionTypes.ID.PAYMENT_NETWORK_BITCOIN_ADDRESS_BASED: - case ExtensionTypes.ID.PAYMENT_NETWORK_TESTNET_BITCOIN_ADDRESS_BASED: + case ExtensionTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED: + case ExtensionTypes.PAYMENT_NETWORK_ID.TESTNET_BITCOIN_ADDRESS_BASED: return getBtcPaymentUrl(request, amount); default: throw new UnsupportedNetworkError(paymentNetwork); @@ -335,8 +340,8 @@ const throwIfNotWeb3 = (request: ClientTypes.IRequestData) => { */ export interface EnrichedRequest { paymentNetworkId: - | PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY - | PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT; + | ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY + | ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT; request: ClientTypes.IRequestData; paymentSettings: IConversionPaymentSettings; amount?: BigNumberish; diff --git a/packages/payment-processor/src/payment/near-conversion.ts b/packages/payment-processor/src/payment/near-conversion.ts index a6ae7738dc..2e24399e6a 100644 --- a/packages/payment-processor/src/payment/near-conversion.ts +++ b/packages/payment-processor/src/payment/near-conversion.ts @@ -1,7 +1,7 @@ import { BigNumberish } from 'ethers'; import { WalletConnection } from 'near-api-js'; -import { ClientTypes, PaymentTypes, RequestLogicTypes } from '@requestnetwork/types'; +import { ClientTypes, ExtensionTypes, RequestLogicTypes } from '@requestnetwork/types'; import { getRequestPaymentValues, @@ -30,7 +30,7 @@ export async function payNearConversionRequest( amount?: BigNumberish, callback?: INearTransactionCallback, ): Promise { - validateRequest(request, PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE); + validateRequest(request, ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN); const currencyManager = paymentSettings.currencyManager || CurrencyManager.getDefault(); const { paymentReference, paymentAddress, feeAddress, feeAmount, maxRateTimespan, network } = diff --git a/packages/payment-processor/src/payment/near-input-data.ts b/packages/payment-processor/src/payment/near-input-data.ts index 180d48d5a5..0fffa8f7c6 100644 --- a/packages/payment-processor/src/payment/near-input-data.ts +++ b/packages/payment-processor/src/payment/near-input-data.ts @@ -1,7 +1,7 @@ import { BigNumberish } from 'ethers'; import { WalletConnection } from 'near-api-js'; -import { ClientTypes, PaymentTypes } from '@requestnetwork/types'; +import { ClientTypes, ExtensionTypes } from '@requestnetwork/types'; import { getRequestPaymentValues, @@ -27,7 +27,7 @@ export async function payNearInputDataRequest( throw new Error('request.currencyInfo should be a Near network'); } - validateRequest(request, PaymentTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN); + validateRequest(request, ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN); const { paymentReference, paymentAddress } = getRequestPaymentValues(request); const amountToPay = getAmountToPay(request, amount).toString(); diff --git a/packages/payment-processor/src/payment/swap-any-to-erc20.ts b/packages/payment-processor/src/payment/swap-any-to-erc20.ts index bf4210b12c..08e9b4f502 100644 --- a/packages/payment-processor/src/payment/swap-any-to-erc20.ts +++ b/packages/payment-processor/src/payment/swap-any-to-erc20.ts @@ -3,7 +3,7 @@ import { constants, ContractTransaction, Signer, BigNumber, providers } from 'et import { AnyToERC20PaymentDetector } from '@requestnetwork/payment-detection'; import { erc20SwapConversionArtifact } from '@requestnetwork/smart-contracts'; import { ERC20SwapToConversion__factory } from '@requestnetwork/smart-contracts/types'; -import { ClientTypes, PaymentTypes } from '@requestnetwork/types'; +import { ClientTypes, ExtensionTypes } from '@requestnetwork/types'; import { getAmountToPay, @@ -45,12 +45,12 @@ export function prepareSwapToPayAnyToErc20Request( signerOrProvider: providers.Provider | Signer = getProvider(), options: IRequestPaymentOptions, ): IPreparedTransaction { - if (!request.extensions[PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]) { + if (!request.extensions[ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]) { throw new Error(`The request must have the payment network any-to-erc20-proxy`); } const network = - request.extensions[PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY].values.network; + request.extensions[ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY].values.network; if (!network) { throw new Error(`Payment network currency must have a network`); } @@ -106,7 +106,7 @@ export function encodeSwapToPayAnyToErc20Request( // check if conversion currency is accepted if ( !request.extensions[ - PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY ].values.acceptedTokens.includes(conversionSettings.currency.value) ) { throw new Error(`The conversion currency is not an accepted token`); diff --git a/packages/payment-processor/src/payment/swap-conversion-erc20.ts b/packages/payment-processor/src/payment/swap-conversion-erc20.ts index ee3f04f59f..5e03bf7530 100644 --- a/packages/payment-processor/src/payment/swap-conversion-erc20.ts +++ b/packages/payment-processor/src/payment/swap-conversion-erc20.ts @@ -1,7 +1,7 @@ import { ContractTransaction, providers, Signer, BigNumberish, BigNumber } from 'ethers'; import { erc20SwapConversionArtifact } from '@requestnetwork/smart-contracts'; -import { ClientTypes, PaymentTypes } from '@requestnetwork/types'; +import { ClientTypes, ExtensionTypes } from '@requestnetwork/types'; import { ITransactionOverrides } from './transaction-overrides'; import { getProvider, getSigner } from './utils'; @@ -60,11 +60,11 @@ export async function hasErc20ApprovalForSwapWithConversion( signerOrProvider: providers.Provider | Signer = getProvider(), minAmount: BigNumberish, ): Promise { - if (!request.extensions[PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]) { + if (!request.extensions[ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]) { throw new Error(`The request must have the payment network any-to-erc20-proxy`); } const network = - request.extensions[PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY].values.network; + request.extensions[ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY].values.network; return await checkErc20Allowance( ownerAddress, erc20SwapConversionArtifact.getAddress(network), @@ -88,7 +88,7 @@ export async function approveErc20ForSwapWithConversionToPay( overrides?: ITransactionOverrides, ): Promise { const network = - request.extensions[PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY].values.network; + request.extensions[ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY].values.network; if (!network) { throw new Error(`Payment network currency must have a network`); } @@ -119,7 +119,7 @@ export function prepareApprovalErc20ForSwapWithConversionToPay( amount?: BigNumber, ): IPreparedTransaction { const network = - request.extensions[PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY].values.network; + request.extensions[ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY].values.network; if (!network) { throw new Error(`Payment network currency must have a network`); } diff --git a/packages/payment-processor/src/payment/utils.ts b/packages/payment-processor/src/payment/utils.ts index 627fd71f6d..b61058cc7a 100644 --- a/packages/payment-processor/src/payment/utils.ts +++ b/packages/payment-processor/src/payment/utils.ts @@ -1,12 +1,7 @@ import { ethers, Signer, providers, BigNumber, BigNumberish, ContractTransaction } from 'ethers'; import { getDefaultProvider, getPaymentReference } from '@requestnetwork/payment-detection'; -import { - ClientTypes, - ExtensionTypes, - PaymentTypes, - RequestLogicTypes, -} from '@requestnetwork/types'; +import { ClientTypes, ExtensionTypes, RequestLogicTypes } from '@requestnetwork/types'; import { getCurrencyHash } from '@requestnetwork/currency'; import { ERC20__factory } from '@requestnetwork/smart-contracts/types'; import { getPaymentNetworkExtension } from '@requestnetwork/payment-detection'; @@ -179,7 +174,7 @@ const { ERC20_FEE_PROXY_CONTRACT, ANY_TO_ERC20_PROXY, NATIVE_TOKEN, -} = PaymentTypes.PAYMENT_NETWORK_ID; +} = ExtensionTypes.PAYMENT_NETWORK_ID; const currenciesMap: any = { [ERC777_STREAM]: RequestLogicTypes.CURRENCY.ERC777, [ERC20_PROXY_CONTRACT]: RequestLogicTypes.CURRENCY.ERC20, @@ -194,23 +189,23 @@ const currenciesMap: any = { */ export function validateRequest( request: ClientTypes.IRequestData, - paymentNetworkId: PaymentTypes.PAYMENT_NETWORK_ID, + paymentNetworkId: ExtensionTypes.PAYMENT_NETWORK_ID, ): void { const { feeAmount, feeAddress, expectedFlowRate, expectedStartDate } = getRequestPaymentValues(request); let extension = request.extensions[paymentNetworkId]; // FIXME: updating the extension: not needed anymore when "invoicing" will use only ethFeeProxy - if (paymentNetworkId === PaymentTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT && !extension) { - extension = request.extensions[PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]; + if (paymentNetworkId === ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT && !extension) { + extension = request.extensions[ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]; } // Compatibility of the request currency type with the payment network const expectedCurrencyType = currenciesMap[paymentNetworkId]; const validCurrencyType = [ - PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, - PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE, - PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY, + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN, + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY, ].includes(paymentNetworkId) ? // Any currency type is valid with Any to ERC20 / ETH / Native conversion true @@ -263,7 +258,7 @@ export function validateErc20FeeProxyRequest( request: ClientTypes.IRequestData, amount?: BigNumberish, feeAmountOverride?: BigNumberish, - paymentNetwork: PaymentTypes.PAYMENT_NETWORK_ID = PaymentTypes.PAYMENT_NETWORK_ID + paymentNetwork: ExtensionTypes.PAYMENT_NETWORK_ID = ExtensionTypes.PAYMENT_NETWORK_ID .ERC20_FEE_PROXY_CONTRACT, ): void { validateRequest(request, paymentNetwork); @@ -294,7 +289,7 @@ export function validateConversionFeeProxyRequest( request, amount, feeAmountOverride, - PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, ); const { tokensAccepted } = getRequestPaymentValues(request); const requestCurrencyHash = path[0]; diff --git a/packages/payment-processor/test/payment/any-to-erc20-batch-proxy.test.ts b/packages/payment-processor/test/payment/any-to-erc20-batch-proxy.test.ts index 9b3c7a3297..a751464e72 100644 --- a/packages/payment-processor/test/payment/any-to-erc20-batch-proxy.test.ts +++ b/packages/payment-processor/test/payment/any-to-erc20-batch-proxy.test.ts @@ -4,7 +4,6 @@ import { ClientTypes, ExtensionTypes, IdentityTypes, - PaymentTypes, RequestLogicTypes, } from '@requestnetwork/types'; import { getErc20Balance } from '../../src/payment/erc20'; @@ -97,9 +96,9 @@ const EURValidRequest: ClientTypes.IRequestData = { events: [], expectedAmount: EURExpectedAmount, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ERC20_PROXY, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, @@ -142,9 +141,9 @@ const DAIValidRequest: ClientTypes.IRequestData = { events: [], expectedAmount: expectedAmount, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, @@ -223,12 +222,12 @@ describe('erc20-batch-conversion-proxy', () => { EURRequest = Utils.deepCopy(EURValidRequest); enrichedRequests = [ { - paymentNetworkId: PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, + paymentNetworkId: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, request: EURValidRequest, paymentSettings: conversionPaymentSettings, }, { - paymentNetworkId: PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, + paymentNetworkId: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, request: EURRequest, paymentSettings: conversionPaymentSettings, }, @@ -241,7 +240,7 @@ describe('erc20-batch-conversion-proxy', () => { payBatchConversionProxyRequest( [ { - paymentNetworkId: PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, + paymentNetworkId: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, request: EURValidRequest, paymentSettings: { ...conversionPaymentSettings, @@ -269,7 +268,7 @@ describe('erc20-batch-conversion-proxy', () => { payBatchConversionProxyRequest( [ { - paymentNetworkId: PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, + paymentNetworkId: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, request: EURRequest, paymentSettings: wrongPaymentSettings, }, @@ -288,9 +287,9 @@ describe('erc20-batch-conversion-proxy', () => { it('should throw an error if the request has a wrong network', async () => { EURRequest.extensions = { // ERC20_FEE_PROXY_CONTRACT instead of ANY_TO_ERC20_PROXY - [PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, @@ -310,9 +309,9 @@ describe('erc20-batch-conversion-proxy', () => { it('should throw an error if the request has a wrong payment network id', async () => { EURRequest.extensions = { // ERC20_FEE_PROXY_CONTRACT instead of ANY_TO_ERC20_PROXY - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, @@ -344,8 +343,8 @@ describe('erc20-batch-conversion-proxy', () => { }); it('should throw an error if there is a wrong version mapping', async () => { EURRequest.extensions = { - [PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]: { - ...EURRequest.extensions[PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY], + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]: { + ...EURRequest.extensions[ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY], version: '0.3.0', }, }; @@ -363,7 +362,7 @@ describe('erc20-batch-conversion-proxy', () => { await payBatchConversionProxyRequest( [ { - paymentNetworkId: PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, + paymentNetworkId: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, request: EURValidRequest, paymentSettings: conversionPaymentSettings, }, @@ -397,7 +396,7 @@ describe('erc20-batch-conversion-proxy', () => { const tx = await payBatchConversionProxyRequest( [ { - paymentNetworkId: PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, + paymentNetworkId: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, request: EURValidRequest, paymentSettings: conversionPaymentSettings, }, @@ -449,7 +448,7 @@ describe('erc20-batch-conversion-proxy', () => { // Convert and pay const tx = await payBatchConversionProxyRequest( Array(2).fill({ - paymentNetworkId: PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, + paymentNetworkId: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, request: EURValidRequest, paymentSettings: conversionPaymentSettings, }), @@ -493,17 +492,17 @@ describe('erc20-batch-conversion-proxy', () => { const tx = await payBatchConversionProxyRequest( [ { - paymentNetworkId: PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, + paymentNetworkId: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, request: EURValidRequest, paymentSettings: conversionPaymentSettings, }, { - paymentNetworkId: PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, + paymentNetworkId: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, request: EURValidRequest, paymentSettings: conversionPaymentSettings, }, { - paymentNetworkId: PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, + paymentNetworkId: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, request: DAIValidRequest, paymentSettings: { maxToSpend: '0' }, }, @@ -549,12 +548,12 @@ describe('erc20-batch-conversion-proxy', () => { FAURequest = Utils.deepCopy(FAUValidRequest); enrichedRequests = [ { - paymentNetworkId: PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, + paymentNetworkId: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, request: DAIValidRequest, paymentSettings: { maxToSpend: '0' }, }, { - paymentNetworkId: PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, + paymentNetworkId: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, request: FAURequest, paymentSettings: { maxToSpend: '0' }, }, @@ -596,8 +595,10 @@ describe('erc20-batch-conversion-proxy', () => { it('should throw an error if there is a wrong version mapping', async () => { FAURequest.extensions = { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { - ...DAIValidRequest.extensions[PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT], + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { + ...DAIValidRequest.extensions[ + ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT + ], version: '0.3.0', }, }; @@ -704,13 +705,13 @@ describe('erc20-batch-conversion-proxy', () => { prepareBatchConversionPaymentTransaction( [ { - paymentNetworkId: PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, + paymentNetworkId: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, request: { ...DAIValidRequest, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { ...DAIValidRequest.extensions[ - PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT + ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT ], version: '0.1.0', }, @@ -721,9 +722,9 @@ describe('erc20-batch-conversion-proxy', () => { request: { ...FAUValidRequest, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { ...FAUValidRequest.extensions[ - PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT + ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT ], version: '0.1.0', }, diff --git a/packages/payment-processor/test/payment/any-to-erc20-proxy.test.ts b/packages/payment-processor/test/payment/any-to-erc20-proxy.test.ts index 85127d8a29..da95d9f1bf 100644 --- a/packages/payment-processor/test/payment/any-to-erc20-proxy.test.ts +++ b/packages/payment-processor/test/payment/any-to-erc20-proxy.test.ts @@ -4,7 +4,6 @@ import { ClientTypes, ExtensionTypes, IdentityTypes, - PaymentTypes, RequestLogicTypes, } from '@requestnetwork/types'; @@ -56,9 +55,9 @@ const validEuroRequest: ClientTypes.IRequestData = { events: [], expectedAmount: '100', extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ERC20_PROXY, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, @@ -215,7 +214,7 @@ describe('conversion-erc20-fee-proxy', () => { }; validEthRequest.expectedAmount = '1000000000000000000'; // 1 ETH validEthRequest.extensions[ - PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY + ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY ].values.feeAmount = '1000000000000000'; // 0.001 ETH // first approve the contract const approvalTx = await approveErc20ForProxyConversionIfNeeded( diff --git a/packages/payment-processor/test/payment/any-to-eth-proxy.test.ts b/packages/payment-processor/test/payment/any-to-eth-proxy.test.ts index 1c1d3dbc90..c48df462a2 100644 --- a/packages/payment-processor/test/payment/any-to-eth-proxy.test.ts +++ b/packages/payment-processor/test/payment/any-to-eth-proxy.test.ts @@ -4,7 +4,6 @@ import { ClientTypes, ExtensionTypes, IdentityTypes, - PaymentTypes, RequestLogicTypes, } from '@requestnetwork/types'; @@ -43,9 +42,9 @@ const validEuroRequest: ClientTypes.IRequestData = { events: [], expectedAmount: '100', extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ETH_PROXY, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, diff --git a/packages/payment-processor/test/payment/any-to-near.test.ts b/packages/payment-processor/test/payment/any-to-near.test.ts index e6daff3e70..8d43edb0d1 100644 --- a/packages/payment-processor/test/payment/any-to-near.test.ts +++ b/packages/payment-processor/test/payment/any-to-near.test.ts @@ -1,4 +1,4 @@ -import { ExtensionTypes, PaymentTypes, RequestLogicTypes } from '@requestnetwork/types'; +import { ExtensionTypes, RequestLogicTypes } from '@requestnetwork/types'; import { PaymentReferenceCalculator } from '@requestnetwork/payment-detection'; import * as Utils from '@requestnetwork/utils'; @@ -24,9 +24,9 @@ const request: any = { expectedAmount: '100', currencyInfo: usdCurrency, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_NATIVE_TOKEN, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { salt, @@ -105,8 +105,8 @@ describe('payNearWithConversionRequest', () => { invalidRequest = { ...invalidRequest, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY]: { - ...invalidRequest.extensions[PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE], + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY]: { + ...invalidRequest.extensions[ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN], }, }, }; @@ -158,10 +158,11 @@ describe('payNearWithConversionRequest', () => { invalidRequest = { ...invalidRequest, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE]: { - ...invalidRequest.extensions[PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE], + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN]: { + ...invalidRequest.extensions[ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN], values: { - ...invalidRequest.extensions[PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE].values, + ...invalidRequest.extensions[ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN] + .values, network: 'unknown-network', }, }, diff --git a/packages/payment-processor/test/payment/btc-address-based.test.ts b/packages/payment-processor/test/payment/btc-address-based.test.ts index b8ff9e3a35..b5edb1eb78 100644 --- a/packages/payment-processor/test/payment/btc-address-based.test.ts +++ b/packages/payment-processor/test/payment/btc-address-based.test.ts @@ -4,7 +4,6 @@ import { ClientTypes, ExtensionTypes, IdentityTypes, - PaymentTypes, RequestLogicTypes, } from '@requestnetwork/types'; @@ -34,9 +33,9 @@ const validRequest: ClientTypes.IRequestData = { events: [], expectedAmount: '10000000', extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_BITCOIN_ADDRESS_BASED, + id: ExtensionTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { paymentAddress, diff --git a/packages/payment-processor/test/payment/encoder-approval.test.ts b/packages/payment-processor/test/payment/encoder-approval.test.ts index 484bca1b6b..261e4ca1d2 100644 --- a/packages/payment-processor/test/payment/encoder-approval.test.ts +++ b/packages/payment-processor/test/payment/encoder-approval.test.ts @@ -3,7 +3,6 @@ import { ClientTypes, ExtensionTypes, IdentityTypes, - PaymentTypes, RequestLogicTypes, } from '@requestnetwork/types'; import { encodeRequestErc20ApprovalIfNeeded } from '../../src'; @@ -89,9 +88,9 @@ const baseValidRequest: ClientTypes.IRequestData = { events: [], expectedAmount: '100', extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { paymentAddress, @@ -114,9 +113,9 @@ const baseValidRequest: ClientTypes.IRequestData = { const validRequestERC20FeeProxy: ClientTypes.IRequestData = { ...baseValidRequest, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, @@ -137,9 +136,9 @@ const validRequestERC20ConversionProxy: ClientTypes.IRequestData = { value: 'EUR', }, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ERC20_PROXY, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, @@ -163,9 +162,9 @@ const validRequestEthProxy: ClientTypes.IRequestData = { value: RequestLogicTypes.CURRENCY.ETH, }, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { paymentAddress, @@ -186,9 +185,9 @@ const validRequestEthFeeProxy: ClientTypes.IRequestData = { value: RequestLogicTypes.CURRENCY.ETH, }, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, @@ -210,9 +209,9 @@ const validRequestEthConversionProxy: ClientTypes.IRequestData = { value: 'EUR', }, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ETH_PROXY, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, diff --git a/packages/payment-processor/test/payment/encoder-payment.test.ts b/packages/payment-processor/test/payment/encoder-payment.test.ts index a89d7eb466..19ce5c7579 100644 --- a/packages/payment-processor/test/payment/encoder-payment.test.ts +++ b/packages/payment-processor/test/payment/encoder-payment.test.ts @@ -3,7 +3,6 @@ import { ClientTypes, ExtensionTypes, IdentityTypes, - PaymentTypes, RequestLogicTypes, } from '@requestnetwork/types'; import { encodeRequestPayment, encodeRequestPaymentWithStream } from '../../src'; @@ -85,9 +84,9 @@ const baseValidRequest: ClientTypes.IRequestData = { events: [], expectedAmount: '100', extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { paymentAddress, @@ -110,9 +109,9 @@ const baseValidRequest: ClientTypes.IRequestData = { const validRequestERC20FeeProxy: ClientTypes.IRequestData = { ...baseValidRequest, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, @@ -134,9 +133,9 @@ const validRequestERC777Stream: ClientTypes.IRequestData = { value: DAIX_ADDRESS, }, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC777_STREAM]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { expectedStartDate, @@ -157,9 +156,9 @@ const validRequestERC20ConversionProxy: ClientTypes.IRequestData = { value: 'EUR', }, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ERC20_PROXY, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, @@ -183,9 +182,9 @@ const validRequestEthProxy: ClientTypes.IRequestData = { value: RequestLogicTypes.CURRENCY.ETH, }, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { paymentAddress, @@ -206,9 +205,9 @@ const validRequestEthFeeProxy: ClientTypes.IRequestData = { value: RequestLogicTypes.CURRENCY.ETH, }, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, @@ -230,9 +229,9 @@ const validRequestEthConversionProxy: ClientTypes.IRequestData = { value: 'EUR', }, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ETH_PROXY, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, diff --git a/packages/payment-processor/test/payment/encoder.test.ts b/packages/payment-processor/test/payment/encoder.test.ts index 2962e652dc..84c4a95bfd 100644 --- a/packages/payment-processor/test/payment/encoder.test.ts +++ b/packages/payment-processor/test/payment/encoder.test.ts @@ -3,7 +3,6 @@ import { ClientTypes, ExtensionTypes, IdentityTypes, - PaymentTypes, RequestLogicTypes, } from '@requestnetwork/types'; import { encodeRequestApprovalAndPayment } from '../../src'; @@ -74,9 +73,9 @@ const baseValidRequest: ClientTypes.IRequestData = { events: [], expectedAmount: '100', extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { paymentAddress, @@ -99,9 +98,9 @@ const baseValidRequest: ClientTypes.IRequestData = { const validRequestERC20FeeProxy: ClientTypes.IRequestData = { ...baseValidRequest, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, @@ -122,9 +121,9 @@ const validRequestERC20ConversionProxy: ClientTypes.IRequestData = { value: 'EUR', }, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ERC20_PROXY, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, @@ -148,9 +147,9 @@ const validRequestEthProxy: ClientTypes.IRequestData = { value: RequestLogicTypes.CURRENCY.ETH, }, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { paymentAddress, @@ -171,9 +170,9 @@ const validRequestEthFeeProxy: ClientTypes.IRequestData = { value: RequestLogicTypes.CURRENCY.ETH, }, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, @@ -195,9 +194,9 @@ const validRequestEthConversionProxy: ClientTypes.IRequestData = { value: 'EUR', }, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ETH_PROXY, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, diff --git a/packages/payment-processor/test/payment/erc20-batch-proxy.test.ts b/packages/payment-processor/test/payment/erc20-batch-proxy.test.ts index 804c7f2c21..6a7e977ea8 100644 --- a/packages/payment-processor/test/payment/erc20-batch-proxy.test.ts +++ b/packages/payment-processor/test/payment/erc20-batch-proxy.test.ts @@ -4,7 +4,6 @@ import { ClientTypes, ExtensionTypes, IdentityTypes, - PaymentTypes, RequestLogicTypes, } from '@requestnetwork/types'; import Utils from '@requestnetwork/utils'; @@ -51,9 +50,9 @@ const validRequest: ClientTypes.IRequestData = { events: [], expectedAmount: '1000', extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, @@ -161,9 +160,9 @@ const testSuite = ( { ...request1, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { ...validRequest.extensions[ - PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT + ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT ], version: '0.1.0', }, @@ -172,9 +171,9 @@ const testSuite = ( { ...request2, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { ...validRequest.extensions[ - PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT + ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT ], version: '0.3.0', }, @@ -290,9 +289,9 @@ const testSuite = ( { ...request1, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { ...request1.extensions[ - PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT + ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT ], version: '0.1.0', }, @@ -301,9 +300,9 @@ const testSuite = ( { ...request2, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { ...request2.extensions[ - PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT + ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT ], version: '0.1.0', }, diff --git a/packages/payment-processor/test/payment/erc20-escrow-payment.test.ts b/packages/payment-processor/test/payment/erc20-escrow-payment.test.ts index e93825a9e2..3b9bef071b 100644 --- a/packages/payment-processor/test/payment/erc20-escrow-payment.test.ts +++ b/packages/payment-processor/test/payment/erc20-escrow-payment.test.ts @@ -3,7 +3,6 @@ import { ClientTypes, ExtensionTypes, IdentityTypes, - PaymentTypes, RequestLogicTypes, } from '@requestnetwork/types'; import Utils from '@requestnetwork/utils'; @@ -43,9 +42,9 @@ const validRequest: ClientTypes.IRequestData = { events: [], expectedAmount: '100', extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, diff --git a/packages/payment-processor/test/payment/erc20-fee-proxy.test.ts b/packages/payment-processor/test/payment/erc20-fee-proxy.test.ts index 08adb14e3c..2c2003feb2 100644 --- a/packages/payment-processor/test/payment/erc20-fee-proxy.test.ts +++ b/packages/payment-processor/test/payment/erc20-fee-proxy.test.ts @@ -4,7 +4,6 @@ import { ClientTypes, ExtensionTypes, IdentityTypes, - PaymentTypes, RequestLogicTypes, } from '@requestnetwork/types'; import Utils from '@requestnetwork/utils'; @@ -49,9 +48,9 @@ const validRequest: ClientTypes.IRequestData = { events: [], expectedAmount: '100', extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, @@ -188,8 +187,10 @@ describe('erc20-fee-proxy', () => { prepareErc20FeeProxyPaymentTransaction({ ...validRequest, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { - ...validRequest.extensions[PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT], + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { + ...validRequest.extensions[ + ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT + ], version: '0.1.0', }, }, @@ -200,8 +201,10 @@ describe('erc20-fee-proxy', () => { prepareErc20FeeProxyPaymentTransaction({ ...validRequest, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { - ...validRequest.extensions[PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT], + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { + ...validRequest.extensions[ + ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT + ], version: '0.2.0', }, }, diff --git a/packages/payment-processor/test/payment/erc20-proxy.test.ts b/packages/payment-processor/test/payment/erc20-proxy.test.ts index 6ec432340b..9356a02d0a 100644 --- a/packages/payment-processor/test/payment/erc20-proxy.test.ts +++ b/packages/payment-processor/test/payment/erc20-proxy.test.ts @@ -4,7 +4,6 @@ import { ClientTypes, ExtensionTypes, IdentityTypes, - PaymentTypes, RequestLogicTypes, } from '@requestnetwork/types'; import Utils from '@requestnetwork/utils'; @@ -42,9 +41,9 @@ const validRequest: ClientTypes.IRequestData = { events: [], expectedAmount: '100', extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { paymentAddress, diff --git a/packages/payment-processor/test/payment/erc20.test.ts b/packages/payment-processor/test/payment/erc20.test.ts index 6b69bcf788..d1966ea7e7 100644 --- a/packages/payment-processor/test/payment/erc20.test.ts +++ b/packages/payment-processor/test/payment/erc20.test.ts @@ -2,7 +2,6 @@ import { ClientTypes, ExtensionTypes, IdentityTypes, - PaymentTypes, RequestLogicTypes, } from '@requestnetwork/types'; import { Wallet, providers, BigNumber } from 'ethers'; @@ -50,9 +49,9 @@ const erc20FeeProxyRequest: ClientTypes.IRequestData = { events: [], expectedAmount: '100', extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, @@ -94,9 +93,9 @@ const erc20ProxyRequest: ClientTypes.IRequestData = { events: [], expectedAmount: '100', extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { paymentAddress, diff --git a/packages/payment-processor/test/payment/erc777-stream.test.ts b/packages/payment-processor/test/payment/erc777-stream.test.ts index b32fa894da..acb438c49b 100644 --- a/packages/payment-processor/test/payment/erc777-stream.test.ts +++ b/packages/payment-processor/test/payment/erc777-stream.test.ts @@ -5,7 +5,6 @@ import { ClientTypes, ExtensionTypes, IdentityTypes, - PaymentTypes, RequestLogicTypes, } from '@requestnetwork/types'; import Utils from '@requestnetwork/utils'; @@ -52,9 +51,9 @@ const validRequest: ClientTypes.IRequestData = { events: [], expectedAmount: '100', extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC777_STREAM]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { expectedStartDate: expectedStartDate, diff --git a/packages/payment-processor/test/payment/erc777-utils.test.ts b/packages/payment-processor/test/payment/erc777-utils.test.ts index 5cf533ddbe..7cc6c54166 100644 --- a/packages/payment-processor/test/payment/erc777-utils.test.ts +++ b/packages/payment-processor/test/payment/erc777-utils.test.ts @@ -4,7 +4,6 @@ import { ClientTypes, ExtensionTypes, IdentityTypes, - PaymentTypes, RequestLogicTypes, } from '@requestnetwork/types'; @@ -53,9 +52,9 @@ const validRequest: ClientTypes.IRequestData = { events: [], expectedAmount: '100', extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC777_STREAM]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { expectedStartDate: expectedStartDate, diff --git a/packages/payment-processor/test/payment/eth-batch-proxy.test.ts b/packages/payment-processor/test/payment/eth-batch-proxy.test.ts index a66be5f33e..86327cbc84 100644 --- a/packages/payment-processor/test/payment/eth-batch-proxy.test.ts +++ b/packages/payment-processor/test/payment/eth-batch-proxy.test.ts @@ -4,7 +4,6 @@ import { ClientTypes, ExtensionTypes, IdentityTypes, - PaymentTypes, RequestLogicTypes, } from '@requestnetwork/types'; import Utils from '@requestnetwork/utils'; @@ -44,9 +43,9 @@ const validRequest: ClientTypes.IRequestData = { events: [], expectedAmount: '1000', extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, @@ -70,9 +69,9 @@ const validRequest: ClientTypes.IRequestData = { const validRequest2 = Utils.deepCopy(validRequest) as ClientTypes.IRequestData; validRequest2.extensions = { - [PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, diff --git a/packages/payment-processor/test/payment/eth-fee-proxy.test.ts b/packages/payment-processor/test/payment/eth-fee-proxy.test.ts index 99ae75d3de..b46174a3e7 100644 --- a/packages/payment-processor/test/payment/eth-fee-proxy.test.ts +++ b/packages/payment-processor/test/payment/eth-fee-proxy.test.ts @@ -4,7 +4,6 @@ import { ClientTypes, ExtensionTypes, IdentityTypes, - PaymentTypes, RequestLogicTypes, } from '@requestnetwork/types'; import Utils from '@requestnetwork/utils'; @@ -44,9 +43,9 @@ const validRequest: ClientTypes.IRequestData = { events: [], expectedAmount: '100', extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, diff --git a/packages/payment-processor/test/payment/eth-input-data.test.ts b/packages/payment-processor/test/payment/eth-input-data.test.ts index d0c0e17d89..5a52eeaca4 100644 --- a/packages/payment-processor/test/payment/eth-input-data.test.ts +++ b/packages/payment-processor/test/payment/eth-input-data.test.ts @@ -4,7 +4,6 @@ import { ClientTypes, ExtensionTypes, IdentityTypes, - PaymentTypes, RequestLogicTypes, } from '@requestnetwork/types'; import Utils from '@requestnetwork/utils'; @@ -41,9 +40,9 @@ const validRequest: ClientTypes.IRequestData = { events: [], expectedAmount: '1', extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { paymentAddress, diff --git a/packages/payment-processor/test/payment/eth-proxy.test.ts b/packages/payment-processor/test/payment/eth-proxy.test.ts index 96d9f8ed73..534b592315 100644 --- a/packages/payment-processor/test/payment/eth-proxy.test.ts +++ b/packages/payment-processor/test/payment/eth-proxy.test.ts @@ -4,7 +4,6 @@ import { ClientTypes, ExtensionTypes, IdentityTypes, - PaymentTypes, RequestLogicTypes, } from '@requestnetwork/types'; import Utils from '@requestnetwork/utils'; @@ -45,9 +44,9 @@ const validRequest: ClientTypes.IRequestData = { events: [], expectedAmount: '100', extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { paymentAddress, @@ -154,8 +153,8 @@ describe('prepareEthProxyPaymentTransaction', () => { const valid010Request = { ...validRequest, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { - ...validRequest.extensions[PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA], + [ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { + ...validRequest.extensions[ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA], version: '0.1.0', }, }, @@ -163,8 +162,8 @@ describe('prepareEthProxyPaymentTransaction', () => { const valid020Request = { ...validRequest, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { - ...validRequest.extensions[PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA], + [ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { + ...validRequest.extensions[ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA], version: '0.2.0', }, }, diff --git a/packages/payment-processor/test/payment/index.test.ts b/packages/payment-processor/test/payment/index.test.ts index 7c5f8d2d59..30111fba15 100644 --- a/packages/payment-processor/test/payment/index.test.ts +++ b/packages/payment-processor/test/payment/index.test.ts @@ -1,6 +1,6 @@ import { Wallet, providers, BigNumber } from 'ethers'; -import { ExtensionTypes, PaymentTypes, RequestLogicTypes } from '@requestnetwork/types'; +import { ExtensionTypes, RequestLogicTypes } from '@requestnetwork/types'; import { _getPaymentUrl, @@ -41,9 +41,9 @@ describe('payRequest', () => { it('cannot pay a declarative request', async () => { const request: any = { extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.DECLARATIVE]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: {}, version: '1.0', @@ -58,9 +58,9 @@ describe('payRequest', () => { it('cannot pay a BTC request', async () => { const request: any = { extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_BITCOIN_ADDRESS_BASED, + id: ExtensionTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: {}, version: '1.0', @@ -77,9 +77,9 @@ describe('payRequest', () => { (ethModule as any).payEthInputDataRequest = mock; const request: any = { extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: {}, version: '1.0', @@ -95,9 +95,9 @@ describe('payRequest', () => { (erc20Module as any).payErc20Request = spy; const request: any = { extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: {}, version: '1.0', @@ -113,9 +113,9 @@ describe('payRequest', () => { (erc777Module as any).payErc777StreamRequest = spy; const request: any = { extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC777_STREAM]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: {}, version: '1.0', @@ -132,9 +132,9 @@ describe('payRequest', () => { network: 'aurora', }, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: {}, version: '1.0', @@ -167,9 +167,9 @@ describe('payNearInputDataRequest', () => { requestId: '0x123', currencyInfo: nearCurrency, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_NATIVE_TOKEN, + id: ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { salt: '0x456', @@ -209,9 +209,9 @@ describe('payNearInputDataRequest', () => { requestId: '0x123', currencyInfo: nearCurrency, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { salt: '0x456', @@ -241,9 +241,9 @@ describe('swapToPayRequest', () => { it('cannot pay a declarative request', async () => { const request: any = { extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.DECLARATIVE]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: {}, version: '1.0', @@ -258,9 +258,9 @@ describe('swapToPayRequest', () => { it('cannot pay a BTC request', async () => { const request: any = { extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_BITCOIN_ADDRESS_BASED, + id: ExtensionTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: {}, version: '1.0', @@ -275,9 +275,9 @@ describe('swapToPayRequest', () => { it('cannot swap to pay an ETH request', async () => { const request: any = { extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: {}, version: '1.0', @@ -295,9 +295,9 @@ describe('swapToPayRequest', () => { network: 'aurora', }, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: {}, version: '1.0', @@ -314,9 +314,9 @@ describe('swapToPayRequest', () => { (erc20Module as any).payErc20Request = spy; const request: any = { extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: {}, version: '1.0', @@ -339,9 +339,9 @@ describe('hasSufficientFunds', () => { network: 'testnet', }, extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_BITCOIN_ADDRESS_BASED, + id: ExtensionTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: {}, version: '1.0', @@ -367,9 +367,9 @@ describe('hasSufficientFunds', () => { }, expectedAmount: '100', extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: {}, version: '1.0', @@ -399,9 +399,9 @@ describe('hasSufficientFunds', () => { }, expectedAmount: '100', extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: {}, version: '1.0', @@ -431,9 +431,9 @@ describe('hasSufficientFunds', () => { }, expectedAmount: '100', extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC777_STREAM]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC777_STREAM, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: {}, version: '1.0', @@ -523,9 +523,9 @@ describe('_getPaymentUrl', () => { it('should throw an error on unsupported network', () => { const request: any = { extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.DECLARATIVE]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: {}, version: '1.0', @@ -542,9 +542,9 @@ describe('_getPaymentUrl', () => { (btcModule as any).getBtcPaymentUrl = mock; const request: any = { extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_BITCOIN_ADDRESS_BASED, + id: ExtensionTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: {}, version: '1.0', @@ -560,9 +560,9 @@ describe('_getPaymentUrl', () => { (ethModule as any)._getEthPaymentUrl = spy; const request: any = { extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ETH_INPUT_DATA, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: {}, version: '1.0', @@ -578,9 +578,9 @@ describe('_getPaymentUrl', () => { (erc20Module as any)._getErc20PaymentUrl = spy; const request: any = { extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: {}, version: '1.0', diff --git a/packages/payment-processor/test/payment/swap-any-to-erc20.test.ts b/packages/payment-processor/test/payment/swap-any-to-erc20.test.ts index 533e13792a..886341368e 100644 --- a/packages/payment-processor/test/payment/swap-any-to-erc20.test.ts +++ b/packages/payment-processor/test/payment/swap-any-to-erc20.test.ts @@ -4,7 +4,6 @@ import { ClientTypes, ExtensionTypes, IdentityTypes, - PaymentTypes, RequestLogicTypes, } from '@requestnetwork/types'; import Utils from '@requestnetwork/utils'; @@ -50,9 +49,9 @@ const validRequest: ClientTypes.IRequestData = { events: [], expectedAmount: '100', extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_TO_ERC20_PROXY, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, @@ -113,7 +112,7 @@ describe('swap-any-to-erc20', () => { it('should throw an error if the payment network is wrong', async () => { const request = Utils.deepCopy(validRequest); - delete request.extensions[PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]; + delete request.extensions[ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]; await expect( swapToPayAnyToErc20Request(request, wallet, { diff --git a/packages/payment-processor/test/payment/swap-erc20-fee-proxy.test.ts b/packages/payment-processor/test/payment/swap-erc20-fee-proxy.test.ts index d41dfcae9c..d395917041 100644 --- a/packages/payment-processor/test/payment/swap-erc20-fee-proxy.test.ts +++ b/packages/payment-processor/test/payment/swap-erc20-fee-proxy.test.ts @@ -4,7 +4,6 @@ import { ClientTypes, ExtensionTypes, IdentityTypes, - PaymentTypes, RequestLogicTypes, } from '@requestnetwork/types'; import Utils from '@requestnetwork/utils'; @@ -48,9 +47,9 @@ const validRequest: ClientTypes.IRequestData = { events: [], expectedAmount: '100', extensions: { - [PaymentTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { + [ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]: { events: [], - id: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, type: ExtensionTypes.TYPE.PAYMENT_NETWORK, values: { feeAddress, diff --git a/packages/request-client.js/src/api/request.ts b/packages/request-client.js/src/api/request.ts index 10a72f72f3..e403fa0f44 100644 --- a/packages/request-client.js/src/api/request.ts +++ b/packages/request-client.js/src/api/request.ts @@ -105,7 +105,7 @@ export default class Request { this.disableEvents = options?.disableEvents || false; this.currencyManager = currencyManager; - if (options && options.requestLogicCreateResult && !this.disableEvents) { + if (options?.requestLogicCreateResult && !this.disableEvents) { const originalEmitter = options.requestLogicCreateResult; originalEmitter .on('confirmed', async () => { diff --git a/packages/request-client.js/test/api/request.test.ts b/packages/request-client.js/test/api/request.test.ts index 1e12e6226a..4bb53ab755 100644 --- a/packages/request-client.js/test/api/request.test.ts +++ b/packages/request-client.js/test/api/request.test.ts @@ -59,7 +59,7 @@ const mockRequestLogic: RequestLogicTypes.IRequestLogic = { const mockPaymentNetwork: PaymentTypes.IPaymentNetwork = { extension: {} as ExtensionTypes.PnAnyDeclarative.IAnyDeclarative, - paymentNetworkId: PaymentTypes.PAYMENT_NETWORK_ID.DECLARATIVE, + paymentNetworkId: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE, async createExtensionsDataForCreation(): Promise { return; @@ -78,7 +78,7 @@ const mockPaymentNetwork: PaymentTypes.IPaymentNetwork = { const mockDeclarativePaymentNetwork: PaymentTypes.IPaymentNetwork = { extension: {} as ExtensionTypes.PnAnyDeclarative.IAnyDeclarative, - paymentNetworkId: PaymentTypes.PAYMENT_NETWORK_ID.DECLARATIVE, + paymentNetworkId: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE, async createExtensionsDataForCreation(): Promise { return; }, diff --git a/packages/request-client.js/test/data-test.ts b/packages/request-client.js/test/data-test.ts index d02a8498cf..42c8a3339a 100644 --- a/packages/request-client.js/test/data-test.ts +++ b/packages/request-client.js/test/data-test.ts @@ -1,5 +1,6 @@ import MultiFormat from '@requestnetwork/multi-format'; import { + ExtensionTypes, IdentityTypes, PaymentTypes, RequestLogicTypes, @@ -73,7 +74,12 @@ export const parametersWithDeclarative: RequestLogicTypes.ICreateParameters = { { action: 'create', id: 'pn-any-declarative', - parameters: {}, + parameters: { + paymentInfo: { + BIC: 'SABAIE2D', + IBAN: 'FR89370400440532013000', + }, + }, version: '0.1.0', }, ], @@ -81,6 +87,17 @@ export const parametersWithDeclarative: RequestLogicTypes.ICreateParameters = { payer: payer.identity, timestamp: arbitraryTimestamp, }; +const parametersWithDeclarativeNoPaymentInfo: RequestLogicTypes.ICreateParameters = { + ...parametersWithDeclarative, + extensionsData: [ + { + action: 'create', + id: 'pn-any-declarative', + parameters: {}, + version: '0.1.0', + }, + ], +}; export const parametersWithoutExtensionsData: RequestLogicTypes.ICreateParameters = { currency: { @@ -122,25 +139,34 @@ export const data = { parameters, version: '2.0.3', }; -export const dataWithoutExtensionsData = { +const dataWithoutExtensionsData = { name: RequestLogicTypes.ACTION_NAME.CREATE, parameters: parametersWithoutExtensionsDataForSigning, version: '2.0.3', }; -export const dataWithDeclarative = { +const dataWithDeclarative = { name: RequestLogicTypes.ACTION_NAME.CREATE, parameters: parametersWithDeclarative, version: '2.0.3', }; +const dataWithDeclarativeNoPaymentInfo = { + name: RequestLogicTypes.ACTION_NAME.CREATE, + parameters: parametersWithDeclarativeNoPaymentInfo, + version: '2.0.3', +}; export const action: RequestLogicTypes.IAction = Utils.signature.sign( dataWithDeclarative, payee.signatureParams, ); -export const actionWithoutExtensionsData: RequestLogicTypes.IAction = Utils.signature.sign( +const actionWithoutExtensionsData: RequestLogicTypes.IAction = Utils.signature.sign( dataWithoutExtensionsData, payee.signatureParams, ); +const actionWithoutPaymentInfo: RequestLogicTypes.IAction = Utils.signature.sign( + dataWithDeclarativeNoPaymentInfo, + payee.signatureParams, +); export const timestampedTransaction: TransactionTypes.ITimestampedTransaction = { state: TransactionTypes.TransactionState.CONFIRMED, @@ -159,10 +185,10 @@ export const timestampedTransactionWithoutExtensionsDataConfirmed: TransactionTy timestamp: arbitraryTimestamp, transaction: { data: JSON.stringify(actionWithoutExtensionsData) }, }; -export const timestampedTransactionWithDeclarative: TransactionTypes.ITimestampedTransaction = { +export const timestampedTransactionWithoutPaymentInfo: TransactionTypes.ITimestampedTransaction = { state: TransactionTypes.TransactionState.CONFIRMED, timestamp: arbitraryTimestamp, - transaction: { data: JSON.stringify(action) }, + transaction: { data: JSON.stringify(actionWithoutPaymentInfo) }, }; export const actionRequestId = MultiFormat.serialize(Utils.crypto.normalizeKeccak256Hash(action)); @@ -209,15 +235,19 @@ export const actionRequestIdSecondRequest = MultiFormat.serialize( Utils.crypto.normalizeKeccak256Hash(actionCreationSecondRequest), ); -export const declarativePaymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.DECLARATIVE, +export const declarativePaymentNetwork: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE, parameters: { - paymentInformation: { + paymentInfo: { BIC: 'SABAIE2D', IBAN: 'FR89370400440532013000', }, }, }; +export const declarativePaymentNetworkNoPaymentInfo: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE, + parameters: {}, +}; export const signatureParametersPayee: SignatureTypes.ISignatureParameters = { method: SignatureTypes.METHOD.ECDSA, diff --git a/packages/request-client.js/test/declarative-payments.test.ts b/packages/request-client.js/test/declarative-payments.test.ts index aa64ad34b0..6e105fc244 100644 --- a/packages/request-client.js/test/declarative-payments.test.ts +++ b/packages/request-client.js/test/declarative-payments.test.ts @@ -5,6 +5,7 @@ import { ExtensionTypes, PaymentTypes, RequestLogicTypes, + TransactionTypes, } from '@requestnetwork/types'; import { ethers } from 'ethers'; @@ -19,6 +20,7 @@ import { } from '@requestnetwork/payment-detection'; import { IRequestDataWithEvents } from '../src/types'; import { CurrencyManager } from '@requestnetwork/currency'; +import Utils from '@requestnetwork/utils'; const httpConfig: Partial = { getConfirmationDeferDelay: 0, @@ -37,469 +39,439 @@ const waitForConfirmation = async ( // Integration tests /* eslint-disable @typescript-eslint/no-unused-expressions */ describe('request-client.js: declarative payments', () => { + const requestCreationParams: ClientTypes.ICreateRequestParameters = { + paymentNetwork: TestData.declarativePaymentNetworkNoPaymentInfo, + requestInfo: TestData.parametersWithoutExtensionsData, + signer: TestData.payee.identity, + }; let mock: AxiosMockAdapter; afterEach(() => { jest.clearAllMocks(); mock.reset(); }); - beforeEach(() => { - mock = new AxiosMockAdapter(axios); - - const callback = (config: any): any => { - expect(config.baseURL).toBe('http://localhost:3000'); - return [200, {}]; - }; - const spy = jest.fn(callback); - mock.onPost('/persistTransaction').reply(spy); - mock.onGet('/getTransactionsByChannelId').reply(200, { - result: { transactions: [TestData.timestampedTransactionWithDeclarative] }, - }); - mock.onGet('/getConfirmedTransaction').reply(200, { result: {} }); - }); - it('allows to declare a sent payment', async () => { - const requestNetwork = new RequestNetwork({ - httpConfig, - signatureProvider: TestData.fakeSignatureProvider, - }); + describe(`with simple creation`, () => { + beforeEach(() => { + mock = new AxiosMockAdapter(axios); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.DECLARATIVE, - parameters: {}, - }; - - const request = await requestNetwork.createRequest({ - paymentNetwork, - requestInfo: TestData.parametersWithoutExtensionsData, - signer: TestData.payee.identity, + const callback = (config: any): any => { + expect(config.baseURL).toBe('http://localhost:3000'); + return [200, {}]; + }; + const spy = jest.fn(callback); + mock.onPost('/persistTransaction').reply(spy); + mock.onGet('/getTransactionsByChannelId').reply(200, { + result: { transactions: [TestData.timestampedTransactionWithoutPaymentInfo] }, + }); + mock.onGet('/getConfirmedTransaction').reply(200, { result: {} }); }); - await request.waitForConfirmation(); - mock.resetHistory(); + it('allows to declare a sent payment', async () => { + const requestNetwork = new RequestNetwork({ + httpConfig, + signatureProvider: TestData.fakeSignatureProvider, + }); - await waitForConfirmation( - request.declareSentPayment('10', 'sent payment', TestData.payer.identity), - ); + const request = await requestNetwork.createRequest(requestCreationParams); + await request.waitForConfirmation(); - expect(mock.history.get).toHaveLength(5); - expect(mock.history.post).toHaveLength(1); - }); - - it('allows to declare a received payment', async () => { - const requestNetwork = new RequestNetwork({ - httpConfig, - signatureProvider: TestData.fakeSignatureProvider, - }); + mock.resetHistory(); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.DECLARATIVE, - parameters: {}, - }; + await waitForConfirmation( + request.declareSentPayment('10', 'sent payment', TestData.payer.identity), + ); - const request = await requestNetwork.createRequest({ - paymentNetwork, - requestInfo: TestData.parametersWithoutExtensionsData, - signer: TestData.payee.identity, + expect(mock.history.get).toHaveLength(5); + expect(mock.history.post).toHaveLength(1); }); - await request.waitForConfirmation(); - - mock.resetHistory(); - await waitForConfirmation( - request.declareReceivedPayment('10', 'received payment', TestData.payee.identity), - ); + it('allows to declare a received payment', async () => { + const requestNetwork = new RequestNetwork({ + httpConfig, + signatureProvider: TestData.fakeSignatureProvider, + }); - expect(mock.history.get).toHaveLength(5); - expect(mock.history.post).toHaveLength(1); - }); + const request = await requestNetwork.createRequest(requestCreationParams); + await request.waitForConfirmation(); - it('allows to create a request with delegate', async () => { - const requestNetwork = new RequestNetwork({ - useMockStorage: true, - signatureProvider: TestData.fakeSignatureProvider, - }); + mock.resetHistory(); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.DECLARATIVE, - parameters: {}, - }; + await waitForConfirmation( + request.declareReceivedPayment('10', 'received payment', TestData.payee.identity), + ); - const request = await requestNetwork.createRequest({ - paymentNetwork, - requestInfo: { - ...TestData.parametersWithoutExtensionsData, - extensionsData: [ - { - action: ExtensionTypes.PnAnyDeclarative.ACTION.ADD_DELEGATE, - id: ExtensionTypes.ID.PAYMENT_NETWORK_ANY_DECLARATIVE, - parameters: { - delegate: TestData.delegate.identity, - }, - }, - ], - }, - signer: TestData.payee.identity, + expect(mock.history.get).toHaveLength(5); + expect(mock.history.post).toHaveLength(1); }); - await request.waitForConfirmation(); - - const requestData = await waitForConfirmation( - request.declareReceivedPayment('10', 'received payment', TestData.delegate.identity), - ); - expect(requestData.balance!.balance).toEqual('10'); - }); - it('allows to declare a received payment from delegate', async () => { - const requestNetwork = new RequestNetwork({ - useMockStorage: true, - signatureProvider: TestData.fakeSignatureProvider, - }); - - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.DECLARATIVE, - parameters: {}, - }; + it('allows to create a request with delegate', async () => { + const requestNetwork = new RequestNetwork({ + useMockStorage: true, + signatureProvider: TestData.fakeSignatureProvider, + }); + + const request = await requestNetwork.createRequest({ + ...requestCreationParams, + requestInfo: { + ...TestData.parametersWithoutExtensionsData, + extensionsData: [ + { + action: ExtensionTypes.PnAnyDeclarative.ACTION.ADD_DELEGATE, + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE, + parameters: { + delegate: TestData.delegate.identity, + }, + }, + ], + }, + }); + await request.waitForConfirmation(); - const request = await requestNetwork.createRequest({ - paymentNetwork, - requestInfo: TestData.parametersWithoutExtensionsData, - signer: TestData.payee.identity, + const requestData = await waitForConfirmation( + request.declareReceivedPayment('10', 'received payment', TestData.delegate.identity), + ); + expect(requestData.balance!.balance).toEqual('10'); }); - await request.waitForConfirmation(); - await waitForConfirmation( - request.addDeclarativeDelegate(TestData.delegate.identity, TestData.payee.identity), - ); - - const requestData = await waitForConfirmation( - request.declareReceivedPayment('10', 'received payment', TestData.delegate.identity), - ); - expect(requestData.balance!.balance).toEqual('10'); - }); - - it('allows to declare a received payment by providing transaction hash and network', async () => { - const requestNetwork = new RequestNetwork({ - httpConfig, - signatureProvider: TestData.fakeSignatureProvider, + it('allows to declare a received payment by providing transaction hash and network', async () => { + const requestNetwork = new RequestNetwork({ + httpConfig, + signatureProvider: TestData.fakeSignatureProvider, + }); + + const request = await requestNetwork.createRequest(requestCreationParams); + await request.waitForConfirmation(); + + mock.resetHistory(); + + await waitForConfirmation( + request.declareReceivedPayment( + '10', + 'received payment', + TestData.payee.identity, + '0x123456789', + 'mainnet', + ), + ); + + expect(mock.history.get).toHaveLength(5); + expect(mock.history.post).toHaveLength(1); }); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.DECLARATIVE, - parameters: {}, - }; + it('allows to declare a received payment from delegate', async () => { + const requestNetwork = new RequestNetwork({ + useMockStorage: true, + signatureProvider: TestData.fakeSignatureProvider, + }); - const request = await requestNetwork.createRequest({ - paymentNetwork, - requestInfo: TestData.parametersWithoutExtensionsData, - signer: TestData.payee.identity, - }); - await request.waitForConfirmation(); - - mock.resetHistory(); - - await waitForConfirmation( - request.declareReceivedPayment( - '10', - 'received payment', - TestData.payee.identity, - '0x123456789', - 'mainnet', - ), - ); - - expect(mock.history.get).toHaveLength(5); - expect(mock.history.post).toHaveLength(1); - }); + const request = await requestNetwork.createRequest(requestCreationParams); + await request.waitForConfirmation(); - it('allows to declare a sent refund', async () => { - const requestNetwork = new RequestNetwork({ - httpConfig, - signatureProvider: TestData.fakeSignatureProvider, - }); + await waitForConfirmation( + request.addDeclarativeDelegate(TestData.delegate.identity, TestData.payee.identity), + ); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.DECLARATIVE, - parameters: {}, - }; - - const request = await requestNetwork.createRequest({ - paymentNetwork, - requestInfo: TestData.parametersWithoutExtensionsData, - signer: TestData.payee.identity, + const requestData = await waitForConfirmation( + request.declareReceivedPayment('10', 'received payment', TestData.delegate.identity), + ); + expect(requestData.balance!.balance).toEqual('10'); }); - await request.waitForConfirmation(); - - mock.resetHistory(); - await waitForConfirmation( - request.declareSentRefund('10', 'sent refund', TestData.payee.identity), - ); + it('allows to declare a sent refund', async () => { + const requestNetwork = new RequestNetwork({ + httpConfig, + signatureProvider: TestData.fakeSignatureProvider, + }); - expect(mock.history.get).toHaveLength(5); - expect(mock.history.post).toHaveLength(1); - }); + const request = await requestNetwork.createRequest(requestCreationParams); + await request.waitForConfirmation(); - it('allows to declare a received refund', async () => { - const requestNetwork = new RequestNetwork({ - httpConfig, - signatureProvider: TestData.fakeSignatureProvider, - }); + mock.resetHistory(); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.DECLARATIVE, - parameters: {}, - }; + await waitForConfirmation( + request.declareSentRefund('10', 'sent refund', TestData.payee.identity), + ); - const request = await requestNetwork.createRequest({ - paymentNetwork, - requestInfo: TestData.parametersWithoutExtensionsData, - signer: TestData.payee.identity, + expect(mock.history.get).toHaveLength(5); + expect(mock.history.post).toHaveLength(1); }); - await request.waitForConfirmation(); - mock.resetHistory(); + it('allows to declare a received refund', async () => { + const requestNetwork = new RequestNetwork({ + httpConfig, + signatureProvider: TestData.fakeSignatureProvider, + }); - await waitForConfirmation( - request.declareReceivedRefund('10', 'received refund', TestData.payer.identity), - ); + const request = await requestNetwork.createRequest(requestCreationParams); + await request.waitForConfirmation(); - expect(mock.history.get).toHaveLength(5); - expect(mock.history.post).toHaveLength(1); - }); - - it('can have a payment reference on a declarative payment network', async () => { - const requestNetwork = new RequestNetwork({ - httpConfig, - useMockStorage: true, - signatureProvider: TestData.fakeSignatureProvider, - }); + mock.resetHistory(); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = - { - id: PaymentTypes.PAYMENT_NETWORK_ID.DECLARATIVE, - parameters: { - paymentInfo: { - IBAN: 'FR123456789123456789', - BIC: 'CE123456789', - }, - salt: 'a1a2a3a4a5a6a7a8', - }, - }; + await waitForConfirmation( + request.declareReceivedRefund('10', 'received refund', TestData.payer.identity), + ); - const request = await requestNetwork.createRequest({ - paymentNetwork, - requestInfo: TestData.parametersWithoutExtensionsData, - signer: TestData.payee.identity, + expect(mock.history.get).toHaveLength(5); + expect(mock.history.post).toHaveLength(1); }); - await request.waitForConfirmation(); - const data = request.getData(); + it('allows to declare a received refund from delegate', async () => { + const requestNetwork = new RequestNetwork({ + useMockStorage: true, + signatureProvider: TestData.fakeSignatureProvider, + }); - const pn = getPaymentNetworkExtension(data)!; + const request = await requestNetwork.createRequest(requestCreationParams); + await request.waitForConfirmation(); - const paymentReference = PaymentReferenceCalculator.calculate( - data.requestId, - pn.values.salt, - JSON.stringify(pn.values.paymentInfo), - ); - - expect(paymentReference).toHaveLength(16); - expect(paymentReference).toBe(getPaymentReference(data)); - }); + await waitForConfirmation( + request.addDeclarativeDelegate(TestData.delegate.identity, TestData.payer.identity), + ); - it('allows to declare a received refund from delegate', async () => { - const requestNetwork = new RequestNetwork({ - useMockStorage: true, - signatureProvider: TestData.fakeSignatureProvider, + const requestData = await waitForConfirmation( + request.declareReceivedRefund('11', 'received refund', TestData.delegate.identity), + ); + expect(requestData.balance!.balance).toEqual('-11'); }); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.DECLARATIVE, - parameters: {}, - }; + it('allows to declare a received refund by providing transaction hash', async () => { + const requestNetwork = new RequestNetwork({ + httpConfig, + signatureProvider: TestData.fakeSignatureProvider, + }); - const request = await requestNetwork.createRequest({ - paymentNetwork, - requestInfo: TestData.parametersWithoutExtensionsData, - signer: TestData.payee.identity, - }); - await request.waitForConfirmation(); - - await waitForConfirmation( - request.addDeclarativeDelegate(TestData.delegate.identity, TestData.payer.identity), - ); - - const requestData = await waitForConfirmation( - request.declareReceivedRefund('11', 'received refund', TestData.delegate.identity), - ); - expect(requestData.balance!.balance).toEqual('-11'); - }); + const request = await requestNetwork.createRequest(requestCreationParams); + await request.waitForConfirmation(); - it('allows to declare a received refund by providing transaction hash', async () => { - const requestNetwork = new RequestNetwork({ - httpConfig, - signatureProvider: TestData.fakeSignatureProvider, - }); + mock.resetHistory(); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.DECLARATIVE, - parameters: {}, - }; + await waitForConfirmation( + request.declareReceivedRefund( + '10', + 'received refund', + TestData.payer.identity, + '0x123456789', + ), + ); - const request = await requestNetwork.createRequest({ - paymentNetwork, - requestInfo: TestData.parametersWithoutExtensionsData, - signer: TestData.payee.identity, + expect(mock.history.get).toHaveLength(5); + expect(mock.history.post).toHaveLength(1); }); - await request.waitForConfirmation(); - - mock.resetHistory(); - await waitForConfirmation( - request.declareReceivedRefund( - '10', - 'received refund', - TestData.payer.identity, - '0x123456789', - ), - ); + it('allows to get the right balance', async () => { + const requestParametersUSD: RequestLogicTypes.ICreateParameters = { + currency: { + type: RequestLogicTypes.CURRENCY.ISO4217, + value: 'USD', + }, + expectedAmount: '100000000000', + payee: TestData.payee.identity, + payer: TestData.payer.identity, + }; - expect(mock.history.get).toHaveLength(5); - expect(mock.history.post).toHaveLength(1); - }); + const requestNetwork = new RequestNetwork({ + signatureProvider: TestData.fakeSignatureProvider, + useMockStorage: true, + }); + const paymentNetwork: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE, + parameters: {}, + }; - it('allows to get the right balance', async () => { - const requestParametersUSD: RequestLogicTypes.ICreateParameters = { - currency: { - type: RequestLogicTypes.CURRENCY.ISO4217, - value: 'USD', - }, - expectedAmount: '100000000000', - payee: TestData.payee.identity, - payer: TestData.payer.identity, - }; - - const requestNetwork = new RequestNetwork({ - signatureProvider: TestData.fakeSignatureProvider, - useMockStorage: true, - }); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.DECLARATIVE, - parameters: {}, - }; - - const request = await requestNetwork.createRequest({ - paymentNetwork, - requestInfo: requestParametersUSD, - signer: TestData.payee.identity, + const request = await requestNetwork.createRequest({ + paymentNetwork, + requestInfo: requestParametersUSD, + signer: TestData.payee.identity, + }); + await request.waitForConfirmation(); + + await waitForConfirmation( + request.declareSentPayment('1', 'sent payment', TestData.payer.identity), + ); + + await waitForConfirmation( + request.declareReceivedRefund('10', 'received refund', TestData.payer.identity), + ); + + await waitForConfirmation( + request.declareSentRefund('100', 'sent refund', TestData.payee.identity), + ); + + await waitForConfirmation( + request.declareReceivedPayment('1000', 'received payment', TestData.payee.identity), + ); + + await waitForConfirmation( + request.addPaymentInformation('payment info added', TestData.payee.identity), + ); + await waitForConfirmation( + request.addRefundInformation('refund info added', TestData.payer.identity), + ); + + const requestData = await request.refresh(); + + expect(requestData.balance?.balance).toBe('990'); + expect(requestData.balance?.events[0].name).toBe('refund'); + expect(requestData.balance?.events[0].amount).toBe('10'); + expect(requestData.balance?.events[0].parameters).toMatchObject({ note: 'received refund' }); + + expect(requestData.balance?.events[1].name).toBe('payment'); + expect(requestData.balance?.events[1].amount).toBe('1000'); + expect(requestData.balance?.events[1].parameters).toMatchObject({ note: 'received payment' }); }); - await request.waitForConfirmation(); - await waitForConfirmation( - request.declareSentPayment('1', 'sent payment', TestData.payer.identity), - ); + it('can declare payments and refunds on an ANY_TO_ERC20_PROXY request', async () => { + const salt = 'ea3bc7caf64110ca'; + const requestNetwork = new RequestNetwork({ + signatureProvider: TestData.fakeSignatureProvider, + useMockStorage: true, + currencies: [ + ...CurrencyManager.getDefaultList(), + { + type: RequestLogicTypes.CURRENCY.ERC20, + address: '0x38cf23c52bb4b13f051aec09580a2de845a7fa35', + decimals: 18, + network: 'private', + symbol: 'FAKE', + }, + ], + }); - await waitForConfirmation( - request.declareReceivedRefund('10', 'received refund', TestData.payer.identity), - ); + // provider data is irrelevant in this test + jest.spyOn(ethers.providers.BaseProvider.prototype, 'getLogs').mockResolvedValue([]); - await waitForConfirmation( - request.declareSentRefund('100', 'sent refund', TestData.payee.identity), - ); + const paymentNetwork: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, + parameters: { + paymentAddress: '0xc12F17Da12cd01a9CDBB216949BA0b41A6Ffc4EB', + refundAddress: '0x821aEa9a577a9b44299B9c15c88cf3087F3b5544', + salt, + feeAddress: '0x0d1d4e623D10F9FBA5Db95830F7d3839406C6AF2', + feeAmount: '200', + network: 'private', + acceptedTokens: ['0x38cf23c52bb4b13f051aec09580a2de845a7fa35'], + maxRateTimespan: 1000000, + }, + }; - await waitForConfirmation( - request.declareReceivedPayment('1000', 'received payment', TestData.payee.identity), - ); + const requestInfo: ClientTypes.IRequestInfo = { + expectedAmount: '100', // not used + payee: TestData.payee.identity, + payer: TestData.payer.identity, + currency: 'USD', + }; - await waitForConfirmation( - request.addPaymentInformation('payment info added', TestData.payee.identity), - ); - await waitForConfirmation( - request.addRefundInformation('refund info added', TestData.payer.identity), - ); + const request = await requestNetwork.createRequest({ + paymentNetwork, + requestInfo, + signer: TestData.payee.identity, + }); + await request.waitForConfirmation(); - const requestData = await request.refresh(); + await waitForConfirmation( + request.declareSentPayment('10', 'sent payment', TestData.payer.identity), + ); - expect(requestData.balance?.balance).toBe('990'); - expect(requestData.balance?.events[0].name).toBe('refund'); - expect(requestData.balance?.events[0].amount).toBe('10'); - expect(requestData.balance?.events[0].parameters).toMatchObject({ note: 'received refund' }); + await waitForConfirmation( + request.declareSentRefund('2', 'sent refund', TestData.payee.identity), + ); - expect(requestData.balance?.events[1].name).toBe('payment'); - expect(requestData.balance?.events[1].amount).toBe('1000'); - expect(requestData.balance?.events[1].parameters).toMatchObject({ note: 'received payment' }); - }); + await request.refresh(); + expect(request.getData().balance?.balance).toBe('0'); - it('can declare payments and refunds on an ANY_TO_ERC20_PROXY request', async () => { - const requestNetwork = new RequestNetwork({ - signatureProvider: TestData.fakeSignatureProvider, - useMockStorage: true, - currencies: [ - ...CurrencyManager.getDefaultList(), - { - type: RequestLogicTypes.CURRENCY.ERC20, - address: '0x38cf23c52bb4b13f051aec09580a2de845a7fa35', - decimals: 18, - network: 'private', - symbol: 'FAKE', - }, - ], - }); + await waitForConfirmation( + request.declareReceivedPayment('10', 'received payment', TestData.payee.identity), + ); + + await waitForConfirmation( + request.declareReceivedRefund('2', 'received refund', TestData.payer.identity), + ); - // provider data is irrelevant in this test - jest.spyOn(ethers.providers.BaseProvider.prototype, 'getLogs').mockResolvedValue([]); - - const salt = 'ea3bc7caf64110ca'; - - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, - parameters: { - paymentAddress: '0xc12F17Da12cd01a9CDBB216949BA0b41A6Ffc4EB', - refundAddress: '0x821aEa9a577a9b44299B9c15c88cf3087F3b5544', - salt, - feeAddress: '0x0d1d4e623D10F9FBA5Db95830F7d3839406C6AF2', - feeAmount: '200', - network: 'private', - acceptedTokens: ['0x38cf23c52bb4b13f051aec09580a2de845a7fa35'], - maxRateTimespan: 1000000, - }, - }; - - const requestInfo = { - expectedAmount: '100', // not used - payee: TestData.payee.identity, - payer: TestData.payer.identity, - currency: 'USD', - }; - - const request = await requestNetwork.createRequest({ - paymentNetwork, - requestInfo, - signer: TestData.payee.identity, + await request.refresh(); + expect(request.getData().balance?.error).toBeUndefined(); + expect(request.getData().balance?.balance).toBe('8'); + expect(request.getData().balance?.events?.length).toBe(2); }); - await request.waitForConfirmation(); + }); - await waitForConfirmation( - request.declareSentPayment('10', 'sent payment', TestData.payer.identity), - ); + describe('other creations', () => { + it('can have a payment reference on a declarative payment network', async () => { + const salt = 'ea3bc7caf64110ca'; + mock = new AxiosMockAdapter(axios); + const extensionParams = { salt, paymentInfo: { anyInfo: 'anyValue' } }; - await waitForConfirmation( - request.declareSentRefund('2', 'sent refund', TestData.payee.identity), - ); + const callback = (config: any): any => { + expect(config.baseURL).toBe('http://localhost:3000'); + return [200, {}]; + }; + const spy = jest.fn(callback); + mock.onPost('/persistTransaction').reply(spy); + mock.onGet('/getTransactionsByChannelId').reply(200, { + result: { + transactions: [ + { + ...TestData.timestampedTransactionWithoutPaymentInfo, + transaction: { + data: JSON.stringify({ + state: TransactionTypes.TransactionState.CONFIRMED, + timestamp: TestData.arbitraryTimestamp, + transaction: { + data: JSON.stringify( + Utils.signature.sign( + { + name: RequestLogicTypes.ACTION_NAME.CREATE, + parameters: { + ...TestData.parametersWithDeclarative, + extensionsData: [ + { + action: 'create', + id: 'pn-any-declarative', + parameters: extensionParams, + version: '0.1.0', + }, + ], + }, + version: '2.0.3', + }, + TestData.payee.signatureParams, + ), + ), + }, + }), + }, + }, + ], + }, + }); + mock.onGet('/getConfirmedTransaction').reply(200, { result: {} }); + + const requestNetwork = new RequestNetwork({ + httpConfig, + useMockStorage: true, + signatureProvider: TestData.fakeSignatureProvider, + }); + const request = await requestNetwork.createRequest({ + ...requestCreationParams, + paymentNetwork: { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE, + parameters: extensionParams, + }, + }); + await request.waitForConfirmation(); - await request.refresh(); - expect(request.getData().balance?.balance).toBe('0'); + const data = request.getData(); + console.debug(data); - await waitForConfirmation( - request.declareReceivedPayment('10', 'received payment', TestData.payee.identity), - ); + const pn = getPaymentNetworkExtension(data)!; - await waitForConfirmation( - request.declareReceivedRefund('2', 'received refund', TestData.payer.identity), - ); + const paymentReference = PaymentReferenceCalculator.calculate( + data.requestId, + pn.values.salt, + JSON.stringify(pn.values.paymentInfo), + ); - await request.refresh(); - expect(request.getData().balance?.error).toBeUndefined(); - expect(request.getData().balance?.balance).toBe('8'); - expect(request.getData().balance?.events?.length).toBe(2); + expect(paymentReference).toHaveLength(16); + expect(paymentReference).toBe(getPaymentReference(data)); + }); }); }); diff --git a/packages/request-client.js/test/http-request-network.test.ts b/packages/request-client.js/test/http-request-network.test.ts index af2e140409..1a775a8117 100644 --- a/packages/request-client.js/test/http-request-network.test.ts +++ b/packages/request-client.js/test/http-request-network.test.ts @@ -15,25 +15,33 @@ afterAll(() => { describe('HttpRequestNetwork', () => { describe('should emmit errors throwing on refresh after the confirmation happened', () => { - const failAtCall = (call: number) => { + const failAtCall = (call: number, skipPaymentInfo = false) => { let requestCount = 0; mockAxios.onGet('/getTransactionsByChannelId').reply(() => { requestCount++; return [ requestCount >= call ? 500 : 200, { - result: { transactions: [TestData.timestampedTransactionWithDeclarative] }, + result: { + transactions: [ + skipPaymentInfo + ? TestData.timestampedTransactionWithoutPaymentInfo + : TestData.timestampedTransaction, + ], + }, }, ]; }); }; - const createRequest = async () => { + const createRequest = async (skipPaymentInfo = false) => { const requestNetwork = new HttpRequestNetwork({ signatureProvider: TestData.fakeSignatureProvider, }); return await requestNetwork.createRequest({ - paymentNetwork: TestData.declarativePaymentNetwork, + paymentNetwork: skipPaymentInfo + ? TestData.declarativePaymentNetworkNoPaymentInfo + : TestData.declarativePaymentNetwork, requestInfo: TestData.parametersWithoutExtensionsData, signer: TestData.payee.identity, }); @@ -87,8 +95,9 @@ describe('HttpRequestNetwork', () => { }, 10000); it('add payment information', async () => { - failAtCall(6); - const request = await createRequest(); + // Skipping payment information at creation and faked storage + failAtCall(6, true); + const request = await createRequest(true); await request.waitForConfirmation(); await request.addPaymentInformation('payment info added', TestData.payee.identity); await checkForError(request); diff --git a/packages/request-client.js/test/index.test.ts b/packages/request-client.js/test/index.test.ts index e23fa1a473..70716f2a82 100644 --- a/packages/request-client.js/test/index.test.ts +++ b/packages/request-client.js/test/index.test.ts @@ -4,6 +4,7 @@ import { ClientTypes, DecryptionProviderTypes, EncryptionTypes, + ExtensionTypes, IdentityTypes, PaymentTypes, RequestLogicTypes, @@ -118,6 +119,14 @@ describe('request-client.js', () => { }); describe('API', () => { + const requestCreationParams: ClientTypes.ICreateRequestParameters = { + paymentNetwork: TestData.declarativePaymentNetworkNoPaymentInfo, + requestInfo: TestData.parametersWithoutExtensionsData, + signer: TestData.payee.identity, + }; + const mockedTransactions = { + transactions: [TestData.timestampedTransactionWithoutPaymentInfo], + }; it('specify the Request Client version in the header', async () => { const mock = new AxiosMockAdapter(axios); @@ -129,9 +138,9 @@ describe('request-client.js', () => { }; const spy = jest.fn(callback); mock.onPost('/persistTransaction').reply(spy); - mock - .onGet('/getTransactionsByChannelId') - .reply(200, { result: { transactions: [TestData.timestampedTransaction] } }); + mock.onGet('/getTransactionsByChannelId').reply(200, { + result: mockedTransactions, + }); mock.onGet('/getConfirmedTransaction').reply(200, { result: {} }); const requestNetwork = new RequestNetwork({ @@ -142,15 +151,7 @@ describe('request-client.js', () => { }, }); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.DECLARATIVE, - parameters: {}, - }; - const request = await requestNetwork.createRequest({ - paymentNetwork, - requestInfo: TestData.parametersWithoutExtensionsData, - signer: TestData.payee.identity, - }); + const request = await requestNetwork.createRequest(requestCreationParams); expect(spy).toHaveBeenCalledTimes(1); await request.waitForConfirmation(); @@ -165,9 +166,7 @@ describe('request-client.js', () => { }; const spy = jest.fn(callback); mock.onPost('/persistTransaction').reply(spy); - mock - .onGet('/getTransactionsByChannelId') - .reply(200, { result: { transactions: [TestData.timestampedTransaction] } }); + mock.onGet('/getTransactionsByChannelId').reply(200, { result: mockedTransactions }); mock.onGet('/getConfirmedTransaction').reply(200, { result: {} }); const requestNetwork = new RequestNetwork({ @@ -178,15 +177,7 @@ describe('request-client.js', () => { }, }); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.DECLARATIVE, - parameters: {}, - }; - const request = await requestNetwork.createRequest({ - paymentNetwork, - requestInfo: TestData.parametersWithoutExtensionsData, - signer: TestData.payee.identity, - }); + const request = await requestNetwork.createRequest(requestCreationParams); expect(spy).toHaveBeenCalledTimes(1); await request.waitForConfirmation(); @@ -218,8 +209,8 @@ describe('request-client.js', () => { }, }); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.TESTNET_BITCOIN_ADDRESS_BASED, + const paymentNetwork: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.TESTNET_BITCOIN_ADDRESS_BASED, parameters: { paymentAddress: 'mgPKDuVmuS9oeE2D9VPiCQriyU14wxWS1v', }, @@ -257,8 +248,8 @@ describe('request-client.js', () => { }, }); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED, + const paymentNetwork: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED, parameters: { paymentAddress: '1FersucwSqufU26w9GrGz9M3KcwuNmy6a9', }, @@ -428,8 +419,8 @@ describe('request-client.js', () => { useMockStorage: true, }); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.DECLARATIVE, + const paymentNetwork: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE, parameters: {}, }; @@ -609,8 +600,8 @@ describe('request-client.js', () => { }, }); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.TESTNET_BITCOIN_ADDRESS_BASED, + const paymentNetwork: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.TESTNET_BITCOIN_ADDRESS_BASED, parameters: { paymentAddress: 'mgPKDuVmuS9oeE2D9VPiCQriyU14wxWS1v', }, @@ -1099,8 +1090,8 @@ describe('request-client.js', () => { signatureProvider: TestData.fakeSignatureProvider, useMockStorage: true, }); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, + const paymentNetwork: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, parameters: { paymentAddress: '0xc12F17Da12cd01a9CDBB216949BA0b41A6Ffc4EB', refundAddress: '0xc12F17Da12cd01a9CDBB216949BA0b41A6Ffc4EB', @@ -1143,8 +1134,8 @@ describe('request-client.js', () => { useMockStorage: true, }); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, + const paymentNetwork: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, parameters: { paymentAddress: '0xc12F17Da12cd01a9CDBB216949BA0b41A6Ffc4EB', refundAddress: '0xc12F17Da12cd01a9CDBB216949BA0b41A6Ffc4EB', @@ -1181,8 +1172,8 @@ describe('request-client.js', () => { useMockStorage: true, }); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, + const paymentNetwork: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, parameters: { paymentAddress: '0xc12F17Da12cd01a9CDBB216949BA0b41A6Ffc4EB', }, @@ -1226,8 +1217,8 @@ describe('request-client.js', () => { useMockStorage: true, }); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, + const paymentNetwork: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, parameters: { paymentAddress: '0xc12F17Da12cd01a9CDBB216949BA0b41A6Ffc4EB', refundAddress: '0x0000000000000000000000000000000000000002', @@ -1291,8 +1282,8 @@ describe('request-client.js', () => { useMockStorage: true, }); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, + const paymentNetwork: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, parameters: { paymentAddress: '0xc12F17Da12cd01a9CDBB216949BA0b41A6Ffc4EB', refundAddress: '0x0000000000000000000000000000000000000002', @@ -1375,8 +1366,8 @@ describe('request-client.js', () => { useMockStorage: true, }); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, + const paymentNetwork: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA, parameters: { paymentAddress: '0xc12F17Da12cd01a9CDBB216949BA0b41A6Ffc4EB', refundAddress: '0x0000000000000000000000000000000000000002', @@ -1453,8 +1444,8 @@ describe('request-client.js', () => { const refundAddress = '0x' + (await Utils.crypto.CryptoWrapper.random32Bytes()).slice(12).toString('hex'); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED, + const paymentNetwork: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED, parameters: { paymentAddress, refundAddress, @@ -1485,10 +1476,11 @@ describe('request-client.js', () => { expect(data.currency).toBe('unknown'); expect( - data.extensions[PaymentTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED].values.paymentAddress, + data.extensions[ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED].values + .paymentAddress, ).toBe(paymentAddress); expect( - data.extensions[PaymentTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED].values.refundAddress, + data.extensions[ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED].values.refundAddress, ).toBe(refundAddress); expect(data.expectedAmount).toBe(requestParameters.expectedAmount); @@ -1546,8 +1538,8 @@ describe('request-client.js', () => { signatureProvider: TestData.fakeSignatureProvider, useMockStorage: true, }); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, + const paymentNetwork: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, parameters: { paymentAddress: '0x6330A553Fc93768F612722BB8c2eC78aC90B3bbc', refundAddress: '0x5AEDA56215b167893e80B4fE645BA6d5Bab767DE', @@ -1586,8 +1578,8 @@ describe('request-client.js', () => { useMockStorage: true, }); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, + const paymentNetwork: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, parameters: { paymentAddress: '0xc12F17Da12cd01a9CDBB216949BA0b41A6Ffc4EB', refundAddress: '0xc12F17Da12cd01a9CDBB216949BA0b41A6Ffc4EB', @@ -1622,8 +1614,8 @@ describe('request-client.js', () => { useMockStorage: true, }); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, + const paymentNetwork: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY, parameters: { network: 'goerli', paymentAddress: '0x6330A553Fc93768F612722BB8c2eC78aC90B3bbc', @@ -1658,8 +1650,8 @@ describe('request-client.js', () => { useMockStorage: true, }); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE, + const paymentNetwork: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN, parameters: { network: 'aurora', paymentAddress: 'paymentaddress.near', @@ -1693,8 +1685,8 @@ describe('request-client.js', () => { useMockStorage: true, }); - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE, + const paymentNetwork: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN, parameters: { network: 'mainnet', // This network is not supported for any-to-native paymentAddress: 'paymentaddress.near', @@ -1734,8 +1726,8 @@ describe('request-client.js', () => { value: '0x6B175474E89094C44Da98b954EedeAC495271d0F', // DAI }, }; - const paymentNetwork: PaymentTypes.IPaymentNetworkCreateParameters = { - id: PaymentTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, + const paymentNetwork: PaymentTypes.PaymentNetworkCreateParameters = { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT, parameters: { paymentAddress: '0xc12F17Da12cd01a9CDBB216949BA0b41A6Ffc4EB', refundAddress: '0xc12F17Da12cd01a9CDBB216949BA0b41A6Ffc4EB', diff --git a/packages/types/src/client-types.ts b/packages/types/src/client-types.ts index 1e49b451f1..62d5b2e2ea 100644 --- a/packages/types/src/client-types.ts +++ b/packages/types/src/client-types.ts @@ -31,7 +31,7 @@ export interface IRequestDataWithEvents extends IRequestData { export interface ICreateRequestParameters { requestInfo: RequestLogic.ICreateParameters | IRequestInfo; signer: Identity.IIdentity; - paymentNetwork?: Payment.IPaymentNetworkCreateParameters; + paymentNetwork?: Payment.PaymentNetworkCreateParameters; topics?: any[]; contentData?: any; disablePaymentDetection?: boolean; diff --git a/packages/types/src/extension-types.ts b/packages/types/src/extension-types.ts index bbaf4475d3..d790693b65 100644 --- a/packages/types/src/extension-types.ts +++ b/packages/types/src/extension-types.ts @@ -55,7 +55,7 @@ export interface IState { /** State for payment networks extensions only */ export interface IPaymentNetworkState extends IState { - id: Exclude; + id: PAYMENT_NETWORK_ID; type: TYPE.PAYMENT_NETWORK; } @@ -75,24 +75,37 @@ export interface IEvent { from?: Identity.IIdentity; } -/** Identification of extensions handled by this implementation */ -export enum ID { +/** + * Identification of extensions handled by this implementation. + * */ +export enum OTHER_ID { CONTENT_DATA = 'content-data', - PAYMENT_NETWORK_BITCOIN_ADDRESS_BASED = 'pn-bitcoin-address-based', - PAYMENT_NETWORK_TESTNET_BITCOIN_ADDRESS_BASED = 'pn-testnet-bitcoin-address-based', - PAYMENT_NETWORK_ERC20_ADDRESS_BASED = 'pn-erc20-address-based', - PAYMENT_NETWORK_ERC20_PROXY_CONTRACT = 'pn-erc20-proxy-contract', - PAYMENT_NETWORK_ERC20_FEE_PROXY_CONTRACT = 'pn-erc20-fee-proxy-contract', - PAYMENT_NETWORK_ERC777_STREAM = 'pn-erc777-stream', - PAYMENT_NETWORK_ETH_FEE_PROXY_CONTRACT = 'pn-eth-fee-proxy-contract', - PAYMENT_NETWORK_ETH_INPUT_DATA = 'pn-eth-input-data', - PAYMENT_NETWORK_NATIVE_TOKEN = 'pn-native-token', - PAYMENT_NETWORK_ANY_TO_NATIVE_TOKEN = 'pn-any-to-native-token', - PAYMENT_NETWORK_ANY_DECLARATIVE = 'pn-any-declarative', - PAYMENT_NETWORK_ANY_TO_ERC20_PROXY = 'pn-any-to-erc20-proxy', - PAYMENT_NETWORK_ANY_TO_ETH_PROXY = 'pn-any-to-eth-proxy', } +export enum PAYMENT_NETWORK_ID { + BITCOIN_ADDRESS_BASED = 'pn-bitcoin-address-based', + TESTNET_BITCOIN_ADDRESS_BASED = 'pn-testnet-bitcoin-address-based', + ERC20_ADDRESS_BASED = 'pn-erc20-address-based', + ERC20_PROXY_CONTRACT = 'pn-erc20-proxy-contract', + ERC20_FEE_PROXY_CONTRACT = 'pn-erc20-fee-proxy-contract', + ERC777_STREAM = 'pn-erc777-stream', + ETH_FEE_PROXY_CONTRACT = 'pn-eth-fee-proxy-contract', + ETH_INPUT_DATA = 'pn-eth-input-data', + NATIVE_TOKEN = 'pn-native-token', + ANY_TO_NATIVE_TOKEN = 'pn-any-to-native-token', + ANY_DECLARATIVE = 'pn-any-declarative', + ANY_TO_ERC20_PROXY = 'pn-any-to-erc20-proxy', + ANY_TO_ETH_PROXY = 'pn-any-to-eth-proxy', +} + +export const ID = { + ...OTHER_ID, + ...PAYMENT_NETWORK_ID, +}; + +type EnumToType = T[keyof T]; +export type ID = EnumToType; + /** Type of extensions */ export enum TYPE { CONTENT_DATA = 'content-data', diff --git a/packages/types/src/extensions/pn-any-declarative-types.ts b/packages/types/src/extensions/pn-any-declarative-types.ts index 51b08922c8..bafc613a6a 100644 --- a/packages/types/src/extensions/pn-any-declarative-types.ts +++ b/packages/types/src/extensions/pn-any-declarative-types.ts @@ -15,7 +15,7 @@ export interface IAnyDeclarative createAddRefundInstructionAction: ( parameters: IAddRefundInstructionParameters, ) => Extension.IAction; - createCreationAction: (parameters: TCreationParameters) => Extension.IAction; + createCreationAction: (parameters: TCreationParameters) => Extension.IAction; createAddDelegateAction: (parameters: IAddDelegateParameters) => Extension.IAction; } diff --git a/packages/types/src/extensions/pn-any-to-erc20-types.ts b/packages/types/src/extensions/pn-any-to-erc20-types.ts index 40eea9a473..dbdbd96a9f 100644 --- a/packages/types/src/extensions/pn-any-to-erc20-types.ts +++ b/packages/types/src/extensions/pn-any-to-erc20-types.ts @@ -5,5 +5,6 @@ export type IAnyToERC20 = PnAnyToAnyConversion.IConversionReferenceBased { - paymentNetworkId: PAYMENT_NETWORK_ID; - extension: Extension.IExtension; + paymentNetworkId: ExtensionTypes.PAYMENT_NETWORK_ID; + extension: ExtensionTypes.IExtension; createExtensionsDataForCreation: (paymentNetworkCreationParameters: any) => Promise; createExtensionsDataForAddRefundInformation: (parameters: any) => any; createExtensionsDataForAddPaymentInformation: (parameters: any) => any; @@ -34,12 +18,6 @@ export interface IPaymentNetwork { * Interfaces for parameters to create payment extensions */ -/** Interface to create a payment network */ -export interface IPaymentNetworkCreateParameters { - id: PAYMENT_NETWORK_ID; - parameters: T; -} - /** Parameters to create a request with reference based payment network */ export interface IReferenceBasedCreationParameters extends ICreationParameters { paymentAddress?: string; @@ -54,12 +32,61 @@ export interface IFeeReferenceBasedCreationParameters extends IReferenceBasedCre } /** Parameters to create a request with "any to erc20" payment network */ -export interface IAnyToErc20CreationParameters extends IFeeReferenceBasedCreationParameters { - network?: string; +export interface IAnyToErc20CreationParameters extends ICreationParametersAnyToAny { acceptedTokens?: string[]; - maxRateTimespan?: number; } +/** + * Interface to create a payment network + * @deprecated Use `PaymentNetworkCreateParameters` type instead + * */ +export interface IPaymentNetworkCreateParameters { + id: ExtensionTypes.PAYMENT_NETWORK_ID; + parameters: T; +} + +export type PaymentNetworkCreateParameters = + | { + id: + | ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT + | ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA + | ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN; + parameters: ExtensionTypes.PnReferenceBased.ICreationParameters; + } + | { + id: + | ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT + | ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT; + parameters: ExtensionTypes.PnFeeReferenceBased.ICreationParameters; + } + | { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE; + parameters: ExtensionTypes.PnAnyDeclarative.ICreationParameters; + } + | { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY; + parameters: ExtensionTypes.PnAnyToErc20.ICreationParameters; + } + | { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY; + parameters: ExtensionTypes.PnAnyToEth.ICreationParameters; + } + | { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN; + parameters: ExtensionTypes.PnAnyToAnyConversion.ICreationParameters; + } + | { + id: ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM; + parameters: ExtensionTypes.PnStreamReferenceBased.ICreationParameters; + } + | { + id: + | ExtensionTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED + | ExtensionTypes.PAYMENT_NETWORK_ID.TESTNET_BITCOIN_ADDRESS_BASED + | ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED; + parameters: ExtensionTypes.PnAddressBased.ICreationParameters; + }; + /** * Interfaces for balance and events */ @@ -118,11 +145,11 @@ export interface IPaymentNetworkEvent { txHash?: string; network?: string; note?: string; - from?: IIdentity; + from?: TFrom; } /** Declarative Payment Network Event */ export type DeclarativePaymentNetworkEvent = @@ -147,11 +174,9 @@ export enum STREAM_EVENT_NAMES { UPDATE_STREAM = 'update_stream', } /** Parameters for events of ERC777 payments */ -export interface IERC777PaymentEventParameters { +export interface IERC777PaymentEventParameters extends GenericEventParameters { from?: string; to: string; - block?: number; - txHash?: string; streamEventName?: STREAM_EVENT_NAMES; } @@ -216,10 +241,8 @@ export type ConversionPaymentNetworkEvent = */ /** Parameters for events of ETH payments */ -export interface IETHPaymentEventParameters { - block?: number; +export interface IETHPaymentEventParameters extends GenericEventParameters { confirmations?: number; - txHash?: string; to?: string; } /** Parameters for events of ETH payments with fees */ @@ -262,9 +285,7 @@ export type BTCPaymentNetworkEvent = IPaymentNetworkEvent; /** Parameters for escrow events from EscrowERC20 contract state changes */ -export interface IEscrowEventParameters { - block: number; - txHash: string; +export interface IEscrowEventParameters extends Required { from?: string; to?: string; eventName: string; diff --git a/packages/types/src/utils.ts b/packages/types/src/utils.ts index 44a7780ebf..e28b738080 100644 --- a/packages/types/src/utils.ts +++ b/packages/types/src/utils.ts @@ -1,4 +1,4 @@ -import { PaymentTypes } from '.'; +import * as ExtensionTypes from './extension-types'; import { ICreationParameters, IOriginalRequestCreationParameters, @@ -7,16 +7,10 @@ import { /** * Types a value like ExtensionType into a paymentNetworkID enum element if possible - * @param value Example: ExtensionTypes.ID.PAYMENT_NETWORK_ERC20_PROXY_CONTRACT + * @param value Example: ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT */ -export function isPaymentNetworkId(value: any): value is PaymentTypes.PAYMENT_NETWORK_ID { - for (const pn in PaymentTypes.PAYMENT_NETWORK_ID) { - if (PaymentTypes.PAYMENT_NETWORK_ID[pn] === value) { - return true; - } - } - - return false; +export function isPaymentNetworkId(value: any): value is ExtensionTypes.PAYMENT_NETWORK_ID { + return Object.values(ExtensionTypes.PAYMENT_NETWORK_ID).includes(value); } /** diff --git a/packages/usage-examples/src/request-client-js-declarative-request.ts b/packages/usage-examples/src/request-client-js-declarative-request.ts index 14d1631031..3d6e2e9d12 100644 --- a/packages/usage-examples/src/request-client-js-declarative-request.ts +++ b/packages/usage-examples/src/request-client-js-declarative-request.ts @@ -32,10 +32,10 @@ const requestInfo: RequestNetwork.Types.IRequestInfo = { payer: payerIdentity, }; -const paymentNetwork: RequestNetwork.Types.Payment.IPaymentNetworkCreateParameters = { - id: RequestNetwork.Types.Payment.PAYMENT_NETWORK_ID.DECLARATIVE, +const paymentNetwork: RequestNetwork.Types.Payment.PaymentNetworkCreateParameters = { + id: RequestNetwork.Types.Extension.PAYMENT_NETWORK_ID.ANY_DECLARATIVE, parameters: { - paymentInformation: { IBAN: 'FR89370400440532013000', BIC: 'SABAIE2D' }, + paymentInfo: { IBAN: 'FR89370400440532013000', BIC: 'SABAIE2D' }, }, }; diff --git a/packages/usage-examples/src/request-client-js-erc20-request.ts b/packages/usage-examples/src/request-client-js-erc20-request.ts index bdeba1e8f7..6d5d42f489 100644 --- a/packages/usage-examples/src/request-client-js-erc20-request.ts +++ b/packages/usage-examples/src/request-client-js-erc20-request.ts @@ -27,8 +27,8 @@ const requestInfo: RequestNetwork.Types.IRequestInfo = { payer: payerIdentity, }; -const paymentNetwork: RequestNetwork.Types.Payment.IPaymentNetworkCreateParameters = { - id: RequestNetwork.Types.Payment.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED, +const paymentNetwork: RequestNetwork.Types.Payment.PaymentNetworkCreateParameters = { + id: RequestNetwork.Types.Extension.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED, parameters: { paymentAddress: '0x627306090abaB3A6e1400e9345bC60c78a8BEf57', }, diff --git a/packages/usage-examples/src/request-client-js.ts b/packages/usage-examples/src/request-client-js.ts index 60a7492678..99ec5de27c 100644 --- a/packages/usage-examples/src/request-client-js.ts +++ b/packages/usage-examples/src/request-client-js.ts @@ -44,8 +44,8 @@ const requestInfo: RequestNetwork.Types.IRequestInfo = { payer: payerIdentity, }; -const paymentNetwork: RequestNetwork.Types.Payment.IPaymentNetworkCreateParameters = { - id: RequestNetwork.Types.Payment.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED, +const paymentNetwork: RequestNetwork.Types.Payment.PaymentNetworkCreateParameters = { + id: RequestNetwork.Types.Extension.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED, parameters: { paymentAddress: '1LEMZPBit6tTtjXfaEfz4yYmTuctHWoMV', },