Initial commit: n8n Strike API node

- Add Strike API credentials configuration
- Implement Strike node with 9 resources (Account, Balance, Currency Exchange, Deposit, Invoice, Payment, Payment Method, Payout, Rates)
- Add comprehensive operation descriptions for all resources
- Include CLAUDE.MD documentation
- Set up build configuration with TypeScript, ESLint, and Prettier

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-12-10 11:00:38 +01:00
commit 5605b9b49a
8925 changed files with 1417728 additions and 0 deletions

View File

@ -0,0 +1,3 @@
import type { INodeProperties } from 'n8n-workflow';
export declare const accountOperations: INodeProperties[];
export declare const accountFields: INodeProperties[];

View File

@ -0,0 +1,73 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.accountFields = exports.accountOperations = void 0;
exports.accountOperations = [
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['account'],
},
},
options: [
{
name: 'Get Profile',
value: 'getProfile',
description: 'Get account profile by ID',
action: 'Get account profile',
},
{
name: 'Get Profile by Handle',
value: 'getProfileByHandle',
description: 'Get account profile by handle',
action: 'Get account profile by handle',
},
{
name: 'Get Limits',
value: 'getLimits',
description: 'Get account limits',
action: 'Get account limits',
},
],
default: 'getLimits',
},
];
exports.accountFields = [
// ----------------------------------
// account:getProfile
// ----------------------------------
{
displayName: 'Account ID',
name: 'accountId',
type: 'string',
required: true,
default: '',
description: 'The ID of the account',
displayOptions: {
show: {
resource: ['account'],
operation: ['getProfile'],
},
},
},
// ----------------------------------
// account:getProfileByHandle
// ----------------------------------
{
displayName: 'Handle',
name: 'handle',
type: 'string',
required: true,
default: '',
description: 'The handle of the account (username)',
displayOptions: {
show: {
resource: ['account'],
operation: ['getProfileByHandle'],
},
},
},
];

View File

@ -0,0 +1,3 @@
import type { INodeProperties } from 'n8n-workflow';
export declare const balanceOperations: INodeProperties[];
export declare const balanceFields: INodeProperties[];

View File

@ -0,0 +1,26 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.balanceFields = exports.balanceOperations = void 0;
exports.balanceOperations = [
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['balance'],
},
},
options: [
{
name: 'Get',
value: 'get',
description: 'Get account balances',
action: 'Get account balances',
},
],
default: 'get',
},
];
exports.balanceFields = [];

View File

@ -0,0 +1,3 @@
import type { INodeProperties } from 'n8n-workflow';
export declare const currencyExchangeOperations: INodeProperties[];
export declare const currencyExchangeFields: INodeProperties[];

View File

@ -0,0 +1,131 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.currencyExchangeFields = exports.currencyExchangeOperations = void 0;
exports.currencyExchangeOperations = [
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['currencyExchange'],
},
},
options: [
{
name: 'Create Quote',
value: 'createQuote',
description: 'Create a currency exchange quote',
action: 'Create a currency exchange quote',
},
{
name: 'Get Quote',
value: 'getQuote',
description: 'Get a currency exchange quote',
action: 'Get a currency exchange quote',
},
{
name: 'Execute Quote',
value: 'executeQuote',
description: 'Execute a currency exchange quote',
action: 'Execute a currency exchange quote',
},
],
default: 'createQuote',
},
];
exports.currencyExchangeFields = [
// ----------------------------------
// currencyExchange:createQuote
// ----------------------------------
{
displayName: 'Sell Currency',
name: 'sell',
type: 'options',
options: [
{ name: 'BTC', value: 'BTC' },
{ name: 'USD', value: 'USD' },
{ name: 'EUR', value: 'EUR' },
{ name: 'GBP', value: 'GBP' },
],
default: 'USD',
description: 'Currency to sell',
displayOptions: {
show: {
resource: ['currencyExchange'],
operation: ['createQuote'],
},
},
},
{
displayName: 'Buy Currency',
name: 'buy',
type: 'options',
options: [
{ name: 'BTC', value: 'BTC' },
{ name: 'USD', value: 'USD' },
{ name: 'EUR', value: 'EUR' },
{ name: 'GBP', value: 'GBP' },
],
default: 'BTC',
description: 'Currency to buy',
displayOptions: {
show: {
resource: ['currencyExchange'],
operation: ['createQuote'],
},
},
},
{
displayName: 'Amount',
name: 'amount',
type: 'number',
typeOptions: {
numberPrecision: 8,
},
required: true,
default: 0,
description: 'Amount to exchange',
displayOptions: {
show: {
resource: ['currencyExchange'],
operation: ['createQuote'],
},
},
},
{
displayName: 'Amount Currency',
name: 'amountCurrency',
type: 'options',
options: [
{ name: 'Sell Currency', value: 'sell' },
{ name: 'Buy Currency', value: 'buy' },
],
default: 'sell',
description: 'Which currency the amount is specified in',
displayOptions: {
show: {
resource: ['currencyExchange'],
operation: ['createQuote'],
},
},
},
// ----------------------------------
// currencyExchange:getQuote & executeQuote
// ----------------------------------
{
displayName: 'Quote ID',
name: 'quoteId',
type: 'string',
required: true,
default: '',
description: 'The ID of the currency exchange quote',
displayOptions: {
show: {
resource: ['currencyExchange'],
operation: ['getQuote', 'executeQuote'],
},
},
},
];

View File

@ -0,0 +1,3 @@
import type { INodeProperties } from 'n8n-workflow';
export declare const depositOperations: INodeProperties[];
export declare const depositFields: INodeProperties[];

View File

@ -0,0 +1,196 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.depositFields = exports.depositOperations = void 0;
exports.depositOperations = [
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['deposit'],
},
},
options: [
{
name: 'Create',
value: 'create',
description: 'Initiate a deposit',
action: 'Create a deposit',
},
{
name: 'Get',
value: 'get',
description: 'Get a deposit by ID',
action: 'Get a deposit',
},
{
name: 'Get Many',
value: 'getAll',
description: 'Get many deposits',
action: 'Get many deposits',
},
{
name: 'Estimate Fee',
value: 'estimateFee',
description: 'Estimate deposit fees',
action: 'Estimate deposit fee',
},
],
default: 'getAll',
},
];
exports.depositFields = [
// ----------------------------------
// deposit:create
// ----------------------------------
{
displayName: 'Payment Method ID',
name: 'paymentMethodId',
type: 'string',
required: true,
default: '',
description: 'The ID of the payment method to deposit from',
displayOptions: {
show: {
resource: ['deposit'],
operation: ['create'],
},
},
},
{
displayName: 'Amount',
name: 'amount',
type: 'number',
typeOptions: {
numberPrecision: 2,
},
required: true,
default: 0,
description: 'Amount to deposit',
displayOptions: {
show: {
resource: ['deposit'],
operation: ['create', 'estimateFee'],
},
},
},
{
displayName: 'Currency',
name: 'currency',
type: 'options',
options: [
{ name: 'USD', value: 'USD' },
{ name: 'EUR', value: 'EUR' },
{ name: 'GBP', value: 'GBP' },
],
default: 'USD',
description: 'Currency of the deposit',
displayOptions: {
show: {
resource: ['deposit'],
operation: ['create', 'estimateFee'],
},
},
},
// ----------------------------------
// deposit:get
// ----------------------------------
{
displayName: 'Deposit ID',
name: 'depositId',
type: 'string',
required: true,
default: '',
description: 'The ID of the deposit to retrieve',
displayOptions: {
show: {
resource: ['deposit'],
operation: ['get'],
},
},
},
// ----------------------------------
// deposit:getAll
// ----------------------------------
{
displayName: 'Return All',
name: 'returnAll',
type: 'boolean',
default: false,
description: 'Whether to return all results or only up to a given limit',
displayOptions: {
show: {
resource: ['deposit'],
operation: ['getAll'],
},
},
},
{
displayName: 'Limit',
name: 'limit',
type: 'number',
typeOptions: {
minValue: 1,
},
default: 50,
description: 'Max number of results to return',
displayOptions: {
show: {
resource: ['deposit'],
operation: ['getAll'],
returnAll: [false],
},
},
},
{
displayName: 'Filters',
name: 'filters',
type: 'collection',
placeholder: 'Add Filter',
default: {},
displayOptions: {
show: {
resource: ['deposit'],
operation: ['getAll'],
},
},
options: [
{
displayName: 'Filter (OData)',
name: 'filter',
type: 'string',
default: '',
description: 'OData filter expression',
},
{
displayName: 'Order By',
name: 'orderBy',
type: 'string',
default: 'created desc',
description: 'OData orderby expression',
},
],
},
// ----------------------------------
// deposit:estimateFee
// ----------------------------------
{
displayName: 'Fee Policy',
name: 'feePolicy',
type: 'options',
options: [
{ name: 'Inclusive', value: 'INCLUSIVE' },
{ name: 'Exclusive', value: 'EXCLUSIVE' },
],
default: 'EXCLUSIVE',
description: 'Whether fee is included in or added to the amount',
displayOptions: {
show: {
resource: ['deposit'],
operation: ['estimateFee'],
},
},
},
];

View File

@ -0,0 +1,3 @@
import type { INodeProperties } from 'n8n-workflow';
export declare const invoiceOperations: INodeProperties[];
export declare const invoiceFields: INodeProperties[];

View File

@ -0,0 +1,210 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.invoiceFields = exports.invoiceOperations = void 0;
exports.invoiceOperations = [
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['invoice'],
},
},
options: [
{
name: 'Create',
value: 'create',
description: 'Create an invoice',
action: 'Create an invoice',
},
{
name: 'Get',
value: 'get',
description: 'Get an invoice by ID',
action: 'Get an invoice',
},
{
name: 'Get Many',
value: 'getAll',
description: 'Get many invoices',
action: 'Get many invoices',
},
{
name: 'Create Quote',
value: 'createQuote',
description: 'Generate a quote for an invoice',
action: 'Create quote for an invoice',
},
{
name: 'Cancel',
value: 'cancel',
description: 'Cancel an unpaid invoice',
action: 'Cancel an invoice',
},
],
default: 'getAll',
},
];
exports.invoiceFields = [
// ----------------------------------
// invoice:create
// ----------------------------------
{
displayName: 'Correlation ID',
name: 'correlationId',
type: 'string',
default: '',
description: 'Unique identifier for idempotency',
displayOptions: {
show: {
resource: ['invoice'],
operation: ['create'],
},
},
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: 'Description of the invoice',
displayOptions: {
show: {
resource: ['invoice'],
operation: ['create'],
},
},
},
{
displayName: 'Amount',
name: 'amount',
type: 'number',
typeOptions: {
numberPrecision: 8,
},
default: 0,
description: 'Amount for the invoice (leave empty for any amount)',
displayOptions: {
show: {
resource: ['invoice'],
operation: ['create'],
},
},
},
{
displayName: 'Currency',
name: 'currency',
type: 'options',
options: [
{ name: 'BTC', value: 'BTC' },
{ name: 'USD', value: 'USD' },
{ name: 'EUR', value: 'EUR' },
{ name: 'GBP', value: 'GBP' },
],
default: 'USD',
description: 'Currency for the invoice amount',
displayOptions: {
show: {
resource: ['invoice'],
operation: ['create'],
},
},
},
// ----------------------------------
// invoice:get
// ----------------------------------
{
displayName: 'Invoice ID',
name: 'invoiceId',
type: 'string',
required: true,
default: '',
description: 'The ID of the invoice to retrieve',
displayOptions: {
show: {
resource: ['invoice'],
operation: ['get', 'createQuote', 'cancel'],
},
},
},
// ----------------------------------
// invoice:getAll
// ----------------------------------
{
displayName: 'Return All',
name: 'returnAll',
type: 'boolean',
default: false,
description: 'Whether to return all results or only up to a given limit',
displayOptions: {
show: {
resource: ['invoice'],
operation: ['getAll'],
},
},
},
{
displayName: 'Limit',
name: 'limit',
type: 'number',
typeOptions: {
minValue: 1,
},
default: 50,
description: 'Max number of results to return',
displayOptions: {
show: {
resource: ['invoice'],
operation: ['getAll'],
returnAll: [false],
},
},
},
{
displayName: 'Filters',
name: 'filters',
type: 'collection',
placeholder: 'Add Filter',
default: {},
displayOptions: {
show: {
resource: ['invoice'],
operation: ['getAll'],
},
},
options: [
{
displayName: 'Filter (OData)',
name: 'filter',
type: 'string',
default: '',
description: 'OData filter expression (e.g., state eq \'UNPAID\')',
},
{
displayName: 'Order By',
name: 'orderBy',
type: 'string',
default: 'created desc',
description: 'OData orderby expression',
},
],
},
// ----------------------------------
// invoice:createQuote
// ----------------------------------
{
displayName: 'Description Hash',
name: 'descriptionHash',
type: 'string',
default: '',
description: 'Optional description hash for the quote',
displayOptions: {
show: {
resource: ['invoice'],
operation: ['createQuote'],
},
},
},
];

View File

@ -0,0 +1,3 @@
import type { INodeProperties } from 'n8n-workflow';
export declare const paymentOperations: INodeProperties[];
export declare const paymentFields: INodeProperties[];

View File

@ -0,0 +1,271 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.paymentFields = exports.paymentOperations = void 0;
exports.paymentOperations = [
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['payment'],
},
},
options: [
{
name: 'Get',
value: 'get',
description: 'Get a payment by ID',
action: 'Get a payment',
},
{
name: 'Create Lightning Quote',
value: 'createLightningQuote',
description: 'Create a lightning payment quote',
action: 'Create a lightning payment quote',
},
{
name: 'Create On-Chain Quote',
value: 'createOnchainQuote',
description: 'Create an on-chain payment quote',
action: 'Create an on-chain payment quote',
},
{
name: 'Create LNURL Quote',
value: 'createLnurlQuote',
description: 'Create a payment quote for LN Address or LNURL',
action: 'Create an LNURL payment quote',
},
{
name: 'Get LNURL Details',
value: 'getLnurlDetails',
description: 'Get details for an LN Address or LNURL',
action: 'Get LNURL details',
},
{
name: 'Execute Quote',
value: 'executeQuote',
description: 'Execute a payment quote',
action: 'Execute a payment quote',
},
],
default: 'get',
},
];
exports.paymentFields = [
// ----------------------------------
// payment:get
// ----------------------------------
{
displayName: 'Payment ID',
name: 'paymentId',
type: 'string',
required: true,
default: '',
description: 'The ID of the payment to retrieve',
displayOptions: {
show: {
resource: ['payment'],
operation: ['get'],
},
},
},
// ----------------------------------
// payment:createLightningQuote
// ----------------------------------
{
displayName: 'Lightning Invoice (BOLT11)',
name: 'lnInvoice',
type: 'string',
required: true,
default: '',
description: 'The BOLT11 lightning invoice to pay',
displayOptions: {
show: {
resource: ['payment'],
operation: ['createLightningQuote'],
},
},
},
{
displayName: 'Source Currency',
name: 'sourceCurrency',
type: 'options',
options: [
{ name: 'BTC', value: 'BTC' },
{ name: 'USD', value: 'USD' },
{ name: 'EUR', value: 'EUR' },
{ name: 'GBP', value: 'GBP' },
],
default: 'USD',
description: 'Currency to pay from',
displayOptions: {
show: {
resource: ['payment'],
operation: ['createLightningQuote'],
},
},
},
// ----------------------------------
// payment:createOnchainQuote
// ----------------------------------
{
displayName: 'Bitcoin Address',
name: 'btcAddress',
type: 'string',
required: true,
default: '',
description: 'The Bitcoin address to send to',
displayOptions: {
show: {
resource: ['payment'],
operation: ['createOnchainQuote'],
},
},
},
{
displayName: 'Source Currency',
name: 'sourceCurrency',
type: 'options',
options: [
{ name: 'BTC', value: 'BTC' },
{ name: 'USD', value: 'USD' },
{ name: 'EUR', value: 'EUR' },
{ name: 'GBP', value: 'GBP' },
],
default: 'USD',
description: 'Currency to pay from',
displayOptions: {
show: {
resource: ['payment'],
operation: ['createOnchainQuote'],
},
},
},
{
displayName: 'Amount',
name: 'amount',
type: 'number',
typeOptions: {
numberPrecision: 8,
},
required: true,
default: 0,
description: 'Amount to send',
displayOptions: {
show: {
resource: ['payment'],
operation: ['createOnchainQuote'],
},
},
},
{
displayName: 'Amount Currency',
name: 'amountCurrency',
type: 'options',
options: [
{ name: 'BTC', value: 'BTC' },
{ name: 'USD', value: 'USD' },
{ name: 'EUR', value: 'EUR' },
{ name: 'GBP', value: 'GBP' },
],
default: 'BTC',
description: 'Currency of the amount',
displayOptions: {
show: {
resource: ['payment'],
operation: ['createOnchainQuote'],
},
},
},
// ----------------------------------
// payment:createLnurlQuote
// ----------------------------------
{
displayName: 'LN Address or LNURL',
name: 'lnAddressOrUrl',
type: 'string',
required: true,
default: '',
description: 'Lightning Address (user@domain.com) or LNURL',
displayOptions: {
show: {
resource: ['payment'],
operation: ['createLnurlQuote', 'getLnurlDetails'],
},
},
},
{
displayName: 'Amount',
name: 'amount',
type: 'number',
typeOptions: {
numberPrecision: 8,
},
required: true,
default: 0,
description: 'Amount to send',
displayOptions: {
show: {
resource: ['payment'],
operation: ['createLnurlQuote'],
},
},
},
{
displayName: 'Amount Currency',
name: 'amountCurrency',
type: 'options',
options: [
{ name: 'BTC', value: 'BTC' },
{ name: 'USD', value: 'USD' },
{ name: 'EUR', value: 'EUR' },
{ name: 'GBP', value: 'GBP' },
],
default: 'USD',
description: 'Currency of the amount',
displayOptions: {
show: {
resource: ['payment'],
operation: ['createLnurlQuote'],
},
},
},
{
displayName: 'Source Currency',
name: 'sourceCurrency',
type: 'options',
options: [
{ name: 'BTC', value: 'BTC' },
{ name: 'USD', value: 'USD' },
{ name: 'EUR', value: 'EUR' },
{ name: 'GBP', value: 'GBP' },
],
default: 'USD',
description: 'Currency to pay from',
displayOptions: {
show: {
resource: ['payment'],
operation: ['createLnurlQuote'],
},
},
},
// ----------------------------------
// payment:executeQuote
// ----------------------------------
{
displayName: 'Payment Quote ID',
name: 'paymentQuoteId',
type: 'string',
required: true,
default: '',
description: 'The ID of the payment quote to execute',
displayOptions: {
show: {
resource: ['payment'],
operation: ['executeQuote'],
},
},
},
];

View File

@ -0,0 +1,3 @@
import type { INodeProperties } from 'n8n-workflow';
export declare const paymentMethodOperations: INodeProperties[];
export declare const paymentMethodFields: INodeProperties[];

View File

@ -0,0 +1,165 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.paymentMethodFields = exports.paymentMethodOperations = void 0;
exports.paymentMethodOperations = [
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['paymentMethod'],
},
},
options: [
{
name: 'Create Bank Account',
value: 'createBank',
description: 'Create a bank payment method',
action: 'Create a bank payment method',
},
{
name: 'Get',
value: 'get',
description: 'Get a bank payment method by ID',
action: 'Get a bank payment method',
},
{
name: 'Get Many',
value: 'getAll',
description: 'Get many bank payment methods',
action: 'Get many bank payment methods',
},
{
name: 'Delete',
value: 'delete',
description: 'Delete a bank payment method',
action: 'Delete a bank payment method',
},
],
default: 'getAll',
},
];
exports.paymentMethodFields = [
// ----------------------------------
// paymentMethod:createBank
// ----------------------------------
{
displayName: 'Account Number',
name: 'accountNumber',
type: 'string',
required: true,
default: '',
description: 'Bank account number',
displayOptions: {
show: {
resource: ['paymentMethod'],
operation: ['createBank'],
},
},
},
{
displayName: 'Routing Number',
name: 'routingNumber',
type: 'string',
required: true,
default: '',
description: 'Bank routing number',
displayOptions: {
show: {
resource: ['paymentMethod'],
operation: ['createBank'],
},
},
},
{
displayName: 'Account Type',
name: 'accountType',
type: 'options',
options: [
{ name: 'Checking', value: 'CHECKING' },
{ name: 'Savings', value: 'SAVINGS' },
],
default: 'CHECKING',
description: 'Type of bank account',
displayOptions: {
show: {
resource: ['paymentMethod'],
operation: ['createBank'],
},
},
},
// ----------------------------------
// paymentMethod:get & delete
// ----------------------------------
{
displayName: 'Payment Method ID',
name: 'paymentMethodId',
type: 'string',
required: true,
default: '',
description: 'The ID of the payment method',
displayOptions: {
show: {
resource: ['paymentMethod'],
operation: ['get', 'delete'],
},
},
},
// ----------------------------------
// paymentMethod:getAll
// ----------------------------------
{
displayName: 'Return All',
name: 'returnAll',
type: 'boolean',
default: false,
description: 'Whether to return all results or only up to a given limit',
displayOptions: {
show: {
resource: ['paymentMethod'],
operation: ['getAll'],
},
},
},
{
displayName: 'Limit',
name: 'limit',
type: 'number',
typeOptions: {
minValue: 1,
},
default: 50,
description: 'Max number of results to return',
displayOptions: {
show: {
resource: ['paymentMethod'],
operation: ['getAll'],
returnAll: [false],
},
},
},
{
displayName: 'Options',
name: 'options',
type: 'collection',
placeholder: 'Add Option',
default: {},
displayOptions: {
show: {
resource: ['paymentMethod'],
operation: ['getAll'],
},
},
options: [
{
displayName: 'Deposit Eligible Only',
name: 'depositEligible',
type: 'boolean',
default: false,
description: 'Whether to only return deposit-eligible payment methods',
},
],
},
];

View File

@ -0,0 +1,3 @@
import type { INodeProperties } from 'n8n-workflow';
export declare const payoutOperations: INodeProperties[];
export declare const payoutFields: INodeProperties[];

View File

@ -0,0 +1,209 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.payoutFields = exports.payoutOperations = void 0;
exports.payoutOperations = [
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['payout'],
},
},
options: [
{
name: 'Create',
value: 'create',
description: 'Create a payout',
action: 'Create a payout',
},
{
name: 'Get',
value: 'get',
description: 'Get a payout by ID',
action: 'Get a payout',
},
{
name: 'Get Many',
value: 'getAll',
description: 'Get many payouts',
action: 'Get many payouts',
},
{
name: 'Initiate',
value: 'initiate',
description: 'Initiate a payout',
action: 'Initiate a payout',
},
],
default: 'getAll',
},
];
exports.payoutFields = [
// ----------------------------------
// payout:create
// ----------------------------------
{
displayName: 'Payment Method ID',
name: 'paymentMethodId',
type: 'string',
required: true,
default: '',
description: 'The ID of the payment method to payout to',
displayOptions: {
show: {
resource: ['payout'],
operation: ['create'],
},
},
},
{
displayName: 'Amount',
name: 'amount',
type: 'number',
typeOptions: {
numberPrecision: 2,
},
required: true,
default: 0,
description: 'Amount to payout',
displayOptions: {
show: {
resource: ['payout'],
operation: ['create'],
},
},
},
{
displayName: 'Currency',
name: 'currency',
type: 'options',
options: [
{ name: 'USD', value: 'USD' },
{ name: 'EUR', value: 'EUR' },
{ name: 'GBP', value: 'GBP' },
],
default: 'USD',
description: 'Currency of the payout',
displayOptions: {
show: {
resource: ['payout'],
operation: ['create'],
},
},
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
resource: ['payout'],
operation: ['create'],
},
},
options: [
{
displayName: 'Fee Policy',
name: 'feePolicy',
type: 'options',
options: [
{ name: 'Inclusive', value: 'INCLUSIVE' },
{ name: 'Exclusive', value: 'EXCLUSIVE' },
],
default: 'EXCLUSIVE',
description: 'Whether fee is included in or added to the amount',
},
{
displayName: 'Originator ID',
name: 'originatorId',
type: 'string',
default: '',
description: 'ID of the payout originator',
},
],
},
// ----------------------------------
// payout:get
// ----------------------------------
{
displayName: 'Payout ID',
name: 'payoutId',
type: 'string',
required: true,
default: '',
description: 'The ID of the payout to retrieve',
displayOptions: {
show: {
resource: ['payout'],
operation: ['get', 'initiate'],
},
},
},
// ----------------------------------
// payout:getAll
// ----------------------------------
{
displayName: 'Return All',
name: 'returnAll',
type: 'boolean',
default: false,
description: 'Whether to return all results or only up to a given limit',
displayOptions: {
show: {
resource: ['payout'],
operation: ['getAll'],
},
},
},
{
displayName: 'Limit',
name: 'limit',
type: 'number',
typeOptions: {
minValue: 1,
},
default: 50,
description: 'Max number of results to return',
displayOptions: {
show: {
resource: ['payout'],
operation: ['getAll'],
returnAll: [false],
},
},
},
{
displayName: 'Filters',
name: 'filters',
type: 'collection',
placeholder: 'Add Filter',
default: {},
displayOptions: {
show: {
resource: ['payout'],
operation: ['getAll'],
},
},
options: [
{
displayName: 'Filter (OData)',
name: 'filter',
type: 'string',
default: '',
description: 'OData filter expression',
},
{
displayName: 'Order By',
name: 'orderBy',
type: 'string',
default: 'created desc',
description: 'OData orderby expression',
},
],
},
];

View File

@ -0,0 +1,3 @@
import type { INodeProperties } from 'n8n-workflow';
export declare const ratesOperations: INodeProperties[];
export declare const ratesFields: INodeProperties[];

View File

@ -0,0 +1,48 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ratesFields = exports.ratesOperations = void 0;
exports.ratesOperations = [
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['rates'],
},
},
options: [
{
name: 'Get Ticker',
value: 'getTicker',
description: 'Get current exchange rates',
action: 'Get exchange rates',
},
],
default: 'getTicker',
},
];
exports.ratesFields = [
// ----------------------------------
// rates:getTicker
// ----------------------------------
{
displayName: 'Currency Pair',
name: 'currencyPair',
type: 'options',
options: [
{ name: 'BTC/USD', value: 'BTCUSD' },
{ name: 'BTC/EUR', value: 'BTCEUR' },
{ name: 'BTC/GBP', value: 'BTCGBP' },
],
default: 'BTCUSD',
description: 'Currency pair for the ticker',
displayOptions: {
show: {
resource: ['rates'],
operation: ['getTicker'],
},
},
},
];

View File

@ -0,0 +1,9 @@
export * from './BalanceDescription';
export * from './InvoiceDescription';
export * from './PaymentDescription';
export * from './DepositDescription';
export * from './PayoutDescription';
export * from './CurrencyExchangeDescription';
export * from './RatesDescription';
export * from './AccountDescription';
export * from './PaymentMethodDescription';

25
dist/nodes/Strike/descriptions/index.js vendored Normal file
View File

@ -0,0 +1,25 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require("./BalanceDescription"), exports);
__exportStar(require("./InvoiceDescription"), exports);
__exportStar(require("./PaymentDescription"), exports);
__exportStar(require("./DepositDescription"), exports);
__exportStar(require("./PayoutDescription"), exports);
__exportStar(require("./CurrencyExchangeDescription"), exports);
__exportStar(require("./RatesDescription"), exports);
__exportStar(require("./AccountDescription"), exports);
__exportStar(require("./PaymentMethodDescription"), exports);