drain-mcp 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,6 @@
2
2
  * DRAIN Protocol Constants
3
3
  */
4
4
  export declare const USDC_DECIMALS = 6;
5
- export declare const SESSION_FEE = 10000n;
6
5
  export declare const EIP712_DOMAIN: {
7
6
  readonly name: "DrainChannel";
8
7
  readonly version: "1";
@@ -84,6 +83,20 @@ export declare const DRAIN_CHANNEL_ABI: readonly [{
84
83
  readonly outputs: readonly [{
85
84
  readonly type: "uint256";
86
85
  }];
86
+ }, {
87
+ readonly name: "cooperativeClose";
88
+ readonly type: "function";
89
+ readonly inputs: readonly [{
90
+ readonly name: "channelId";
91
+ readonly type: "bytes32";
92
+ }, {
93
+ readonly name: "finalAmount";
94
+ readonly type: "uint256";
95
+ }, {
96
+ readonly name: "providerSignature";
97
+ readonly type: "bytes";
98
+ }];
99
+ readonly outputs: readonly [];
87
100
  }, {
88
101
  readonly anonymous: false;
89
102
  readonly name: "ChannelOpened";
@@ -109,6 +122,23 @@ export declare const DRAIN_CHANNEL_ABI: readonly [{
109
122
  readonly type: "uint256";
110
123
  readonly indexed: false;
111
124
  }];
125
+ }, {
126
+ readonly anonymous: false;
127
+ readonly name: "ChannelClosed";
128
+ readonly type: "event";
129
+ readonly inputs: readonly [{
130
+ readonly name: "channelId";
131
+ readonly type: "bytes32";
132
+ readonly indexed: true;
133
+ }, {
134
+ readonly name: "consumer";
135
+ readonly type: "address";
136
+ readonly indexed: true;
137
+ }, {
138
+ readonly name: "refund";
139
+ readonly type: "uint256";
140
+ readonly indexed: false;
141
+ }];
112
142
  }];
113
143
  export declare const ERC20_ABI: readonly [{
114
144
  readonly name: "balanceOf";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,aAAa,IAAI,CAAC;AAG/B,eAAO,MAAM,WAAW,SAAS,CAAC;AAGlC,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AAGX,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+DpB,CAAC;AAEX,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCZ,CAAC;AAGX,eAAO,MAAM,aAAa;;;;;;;;;;;CAMhB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,aAAa,IAAI,CAAC;AAG/B,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AAGX,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmFpB,CAAC;AAEX,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCZ,CAAC;AAGX,eAAO,MAAM,aAAa;;;;;;;;;;;CAMhB,CAAC"}
package/dist/constants.js CHANGED
@@ -3,8 +3,6 @@
3
3
  */
4
4
  // USDC has 6 decimals
5
5
  export const USDC_DECIMALS = 6;
6
- // Session fee: $0.01 USDC paid to marketplace wallet on channel open
7
- export const SESSION_FEE = 10000n; // 0.01 USDC (6 decimals)
8
6
  // EIP-712 Domain
9
7
  export const EIP712_DOMAIN = {
10
8
  name: 'DrainChannel',
@@ -62,6 +60,16 @@ export const DRAIN_CHANNEL_ABI = [
62
60
  inputs: [{ name: 'channelId', type: 'bytes32' }],
63
61
  outputs: [{ type: 'uint256' }],
64
62
  },
63
+ {
64
+ name: 'cooperativeClose',
65
+ type: 'function',
66
+ inputs: [
67
+ { name: 'channelId', type: 'bytes32' },
68
+ { name: 'finalAmount', type: 'uint256' },
69
+ { name: 'providerSignature', type: 'bytes' },
70
+ ],
71
+ outputs: [],
72
+ },
65
73
  {
66
74
  anonymous: false,
67
75
  name: 'ChannelOpened',
@@ -74,6 +82,16 @@ export const DRAIN_CHANNEL_ABI = [
74
82
  { name: 'expiry', type: 'uint256', indexed: false },
75
83
  ],
76
84
  },
85
+ {
86
+ anonymous: false,
87
+ name: 'ChannelClosed',
88
+ type: 'event',
89
+ inputs: [
90
+ { name: 'channelId', type: 'bytes32', indexed: true },
91
+ { name: 'consumer', type: 'address', indexed: true },
92
+ { name: 'refund', type: 'uint256', indexed: false },
93
+ ],
94
+ },
77
95
  ];
78
96
  export const ERC20_ABI = [
79
97
  {
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,sBAAsB;AACtB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAE/B,iBAAiB;AACjB,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,GAAG;CACJ,CAAC;AAEX,OAAO;AACP,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YACrC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YACnC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;SACtC;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KAC/B;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAChD,OAAO,EAAE,EAAE;KACZ;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;SACrC;QACD,OAAO,EAAE,EAAE;KACZ;IACD;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAChD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;oBACrC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;oBACrC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;iBACpC;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAChD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KAC/B;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;YACxC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,EAAE;SAC7C;QACD,OAAO,EAAE,EAAE;KACZ;IACD;QACE,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,OAAO;QACb,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YACrD,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YACpD,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YACpD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YACpD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;SACpD;KACF;IACD;QACE,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,OAAO;QACb,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YACrD,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YACpD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;SACpD;KACF;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB;QACE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9C,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KAC/B;IACD;QACE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;SACrC;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KAC/B;IACD;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;SACpC;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;KAC5B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/B,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;SACpC;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;KAC5B;CACO,CAAC;AAEX,wBAAwB;AACxB,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE;QACP,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;QACtC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;KACnC;CACO,CAAC"}
package/dist/index.js CHANGED
@@ -7,58 +7,59 @@
7
7
  */
8
8
  const args = process.argv.slice(2);
9
9
  if (args.includes('--help') || args.includes('-h')) {
10
- console.log(`
11
- drain-mcp — MCP server for the DRAIN payment protocol
12
-
13
- WHAT IS THIS?
14
- drain-mcp is a Model Context Protocol (MCP) server. It runs inside any
15
- MCP-compatible client and gives agents tools to discover service providers,
16
- open USDC payment channels on Polygon, and call any service — LLM, image
17
- generation, web scraping, VPN, and more. Pay per use, no API keys.
18
-
19
- COMPATIBLE CLIENTS:
20
- Cursor, Claude Desktop, Cline, Windsurf, OpenAI Agents, or any MCP client.
21
-
22
- CONFIGURATION:
23
- {
24
- "mcpServers": {
25
- "drain": {
26
- "command": "drain-mcp",
27
- "env": {
28
- "DRAIN_PRIVATE_KEY": "0x_your_polygon_wallet_private_key"
29
- }
30
- }
31
- }
32
- }
33
-
34
- ENVIRONMENT VARIABLES:
35
- DRAIN_PRIVATE_KEY (required) Polygon wallet private key
36
- DRAIN_CHAIN_ID 137 (Polygon, default) or 80002 (Amoy testnet)
37
- DRAIN_RPC_URL Custom RPC endpoint
38
- DRAIN_DIRECTORY_URL Provider directory URL
39
- DRAIN_MARKETPLACE_URL Marketplace base URL
40
-
41
- MCP TOOLS PROVIDED:
42
- drain_providers List service providers (filter by model, category)
43
- drain_provider_info Provider details + usage instructions (docs)
44
- drain_balance Check wallet USDC balance and allowance
45
- drain_approve Approve USDC spending for the DRAIN contract
46
- drain_open_channel Open a payment channel with a provider
47
- drain_close_channel Close expired channel and reclaim funds
48
- drain_channel_status Check channel status and balance
49
- drain_channels List all known channels with status
50
- drain_chat Send a paid request to a provider
51
-
52
- PROVIDER CATEGORIES:
53
- llm, image, audio, code, scraping, vpn, multi-modal, other
54
- Each provider has a docs endpoint explaining how to format requests.
55
-
56
- LINKS:
57
- Marketplace: https://handshake58.com
58
- Docs: https://handshake58.com/skill.md
59
- Providers: https://handshake58.com/api/mcp/providers
60
- npm: https://www.npmjs.com/package/drain-mcp
61
- Source: https://github.com/kimbo128/DRAIN
10
+ console.log(`
11
+ drain-mcp — MCP server for the DRAIN payment protocol
12
+
13
+ WHAT IS THIS?
14
+ drain-mcp is a Model Context Protocol (MCP) server. It runs inside any
15
+ MCP-compatible client and gives agents tools to discover service providers,
16
+ open USDC payment channels on Polygon, and call any service — LLM, image
17
+ generation, web scraping, VPN, and more. Pay per use, no API keys.
18
+
19
+ COMPATIBLE CLIENTS:
20
+ Cursor, Claude Desktop, Cline, Windsurf, OpenAI Agents, or any MCP client.
21
+
22
+ CONFIGURATION:
23
+ {
24
+ "mcpServers": {
25
+ "drain": {
26
+ "command": "drain-mcp",
27
+ "env": {
28
+ "DRAIN_PRIVATE_KEY": "0x_your_polygon_wallet_private_key"
29
+ }
30
+ }
31
+ }
32
+ }
33
+
34
+ ENVIRONMENT VARIABLES:
35
+ DRAIN_PRIVATE_KEY (required) Polygon wallet private key
36
+ DRAIN_CHAIN_ID 137 (Polygon, default) or 80002 (Amoy testnet)
37
+ DRAIN_RPC_URL Custom RPC endpoint
38
+ DRAIN_DIRECTORY_URL Provider directory URL
39
+ DRAIN_MARKETPLACE_URL Marketplace base URL
40
+
41
+ MCP TOOLS PROVIDED:
42
+ drain_providers List service providers (filter by model, category)
43
+ drain_provider_info Provider details + usage instructions (docs)
44
+ drain_balance Check wallet USDC balance and allowance
45
+ drain_approve Approve USDC spending for the DRAIN contract
46
+ drain_open_channel Open a payment channel with a provider
47
+ drain_close_channel Close expired channel and reclaim funds
48
+ drain_cooperative_close Close channel immediately (provider co-signs)
49
+ drain_channel_status Check channel status and balance
50
+ drain_channels List all known channels with status
51
+ drain_chat Send a paid request to a provider
52
+
53
+ PROVIDER CATEGORIES:
54
+ llm, image, audio, code, scraping, vpn, multi-modal, other
55
+ Each provider has a docs endpoint explaining how to format requests.
56
+
57
+ LINKS:
58
+ Marketplace: https://handshake58.com
59
+ Docs: https://handshake58.com/skill.md
60
+ Providers: https://handshake58.com/api/mcp/providers
61
+ npm: https://www.npmjs.com/package/drain-mcp
62
+ Source: https://github.com/kimbo128/DRAIN
62
63
  `);
63
64
  process.exit(0);
64
65
  }
@@ -72,7 +73,7 @@ import { ProviderService } from './services/provider.js';
72
73
  import { InferenceService } from './services/inference.js';
73
74
  import { providerTools, listProviders, getProvider } from './tools/providers.js';
74
75
  import { balanceTools, getBalance, approveUsdc } from './tools/balance.js';
75
- import { channelTools, openChannel, closeChannel, getChannelStatus, listChannels } from './tools/channel.js';
76
+ import { channelTools, openChannel, closeChannel, cooperativeClose, getChannelStatus, listChannels } from './tools/channel.js';
76
77
  import { chatTools, chat } from './tools/chat.js';
77
78
  // ============================================================================
78
79
  // SERVER SETUP
@@ -84,7 +85,6 @@ class DrainMcpServer {
84
85
  channelService;
85
86
  providerService;
86
87
  inferenceService;
87
- feeWallet = null;
88
88
  constructor() {
89
89
  // Load configuration
90
90
  this.config = loadConfig();
@@ -139,11 +139,14 @@ class DrainMcpServer {
139
139
  break;
140
140
  // Channel tools
141
141
  case 'drain_open_channel':
142
- result = await openChannel(this.channelService, this.providerService, this.walletService, this.feeWallet, args);
142
+ result = await openChannel(this.channelService, this.providerService, args);
143
143
  break;
144
144
  case 'drain_close_channel':
145
145
  result = await closeChannel(this.channelService, args);
146
146
  break;
147
+ case 'drain_cooperative_close':
148
+ result = await cooperativeClose(this.channelService, this.providerService, args);
149
+ break;
147
150
  case 'drain_channel_status':
148
151
  result = await getChannelStatus(this.channelService, args);
149
152
  break;
@@ -211,28 +214,7 @@ class DrainMcpServer {
211
214
  }
212
215
  });
213
216
  }
214
- /**
215
- * Fetch marketplace fee wallet (cached for server lifetime)
216
- */
217
- async loadFeeWallet() {
218
- try {
219
- const url = `${this.config.marketplaceBaseUrl}/api/directory/config`;
220
- const res = await fetch(url);
221
- if (res.ok) {
222
- const cfg = await res.json();
223
- if (cfg.feeWallet && /^0x[a-fA-F0-9]{40}$/.test(cfg.feeWallet)) {
224
- this.feeWallet = cfg.feeWallet;
225
- console.error(`Fee wallet: ${this.feeWallet}`);
226
- }
227
- }
228
- }
229
- catch {
230
- console.error('Could not load marketplace config — session fees disabled');
231
- }
232
- }
233
217
  async run() {
234
- // Load marketplace fee wallet before accepting requests
235
- await this.loadFeeWallet();
236
218
  const transport = new StdioServerTransport();
237
219
  await this.server.connect(transport);
238
220
  // Log startup info to stderr (not stdout, which is for MCP protocol)
@@ -257,7 +239,7 @@ catch (error) {
257
239
  console.error(`\n drain-mcp: ${msg}\n`);
258
240
  console.error(' Setup:');
259
241
  console.error(' 1. Create a Polygon wallet (MetaMask, Rabby, or any EVM wallet)');
260
- console.error(' 2. Fund it with $1-5 USDC + $0.10 POL for gas');
242
+ console.error(' 2. Fund it with $5+ USDC (gas provided free via handshake58.com/api/gas-station)');
261
243
  console.error(' 3. Add drain-mcp to your MCP client config:\n');
262
244
  console.error(' {');
263
245
  console.error(' "mcpServers": {');
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDb,CAAC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,UAAU,EAAE,aAAa,EAAoB,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7G,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAElD,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,MAAM,cAAc;IACV,MAAM,CAAS;IACf,MAAM,CAAc;IACpB,aAAa,CAAgB;IAC7B,cAAc,CAAiB;IAC/B,eAAe,CAAkB;IACjC,gBAAgB,CAAmB;IACnC,SAAS,GAAmB,IAAI,CAAC;IAEzC;QACE,qBAAqB;QACrB,IAAI,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QAE3B,iBAAiB;QACjB,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE3E,sBAAsB;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACzF,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3F,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAElE,oBAAoB;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CACtB;YACE,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO;SACjB,EACD;YACE,YAAY,EAAE;gBACZ,KAAK,EAAE,EAAE;gBACT,SAAS,EAAE,EAAE;aACd;SACF,CACF,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,aAAa;QACnB,uBAAuB;QACvB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACjE,KAAK,EAAE;gBACL,GAAG,aAAa;gBAChB,GAAG,YAAY;gBACf,GAAG,YAAY;gBACf,GAAG,SAAS;aACb;SACF,CAAC,CAAC,CAAC;QAEJ,oBAAoB;QACpB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACrE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAEjD,IAAI,CAAC;gBACH,IAAI,MAAc,CAAC;gBAEnB,QAAQ,IAAI,EAAE,CAAC;oBACb,iBAAiB;oBACjB,KAAK,iBAAiB;wBACpB,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,IAAmE,CAAC,CAAC;wBACxH,MAAM;oBACR,KAAK,qBAAqB;wBACxB,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,IAA8B,CAAC,CAAC;wBACjF,MAAM;oBAER,gBAAgB;oBAChB,KAAK,eAAe;wBAClB,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC3D,MAAM;oBACR,KAAK,eAAe;wBAClB,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,IAA2B,CAAC,CAAC;wBAC5E,MAAM;oBAER,gBAAgB;oBAChB,KAAK,oBAAoB;wBACvB,MAAM,GAAG,MAAM,WAAW,CACxB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,SAAS,EACd,IAA8D,CAC/D,CAAC;wBACF,MAAM;oBACR,KAAK,qBAAqB;wBACxB,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,IAA6B,CAAC,CAAC;wBAChF,MAAM;oBACR,KAAK,sBAAsB;wBACzB,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,cAAc,EAAE,IAA6B,CAAC,CAAC;wBACpF,MAAM;oBACR,KAAK,gBAAgB;wBACnB,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;wBACjD,MAAM;oBAER,aAAa;oBACb,KAAK,YAAY;wBACf,MAAM,GAAG,MAAM,IAAI,CACjB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,gBAAgB,EACrB,IAMC,CACF,CAAC;wBACF,MAAM;oBAER;wBACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;gBAC7C,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iBAC1C,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC;oBACtD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,iBAAiB;QACjB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACrE,SAAS,EAAE;gBACT;oBACE,GAAG,EAAE,gBAAgB;oBACrB,IAAI,EAAE,eAAe;oBACrB,WAAW,EAAE,4DAA4D;oBACzE,QAAQ,EAAE,eAAe;iBAC1B;gBACD;oBACE,GAAG,EAAE,mBAAmB;oBACxB,IAAI,EAAE,mBAAmB;oBACzB,WAAW,EAAE,qEAAqE;oBAClF,QAAQ,EAAE,eAAe;iBAC1B;aACF;SACF,CAAC,CAAC,CAAC;QAEJ,iBAAiB;QACjB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACzE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAE/B,IAAI,CAAC;gBACH,IAAI,OAAe,CAAC;gBAEpB,QAAQ,GAAG,EAAE,CAAC;oBACZ,KAAK,gBAAgB;wBACnB,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC5D,MAAM;oBACR,KAAK,mBAAmB;wBACtB,OAAO,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;wBACxD,MAAM;oBACR;wBACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;gBAChD,CAAC;gBAED,OAAO;oBACL,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iBAC9D,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa;QACzB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,uBAAuB,CAAC;YACrE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;gBACX,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAA4B,CAAC;gBACvD,IAAI,GAAG,CAAC,SAAS,IAAI,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC/D,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAoB,CAAC;oBAC1C,OAAO,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG;QACP,wDAAwD;QACxD,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE3B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAErC,qEAAqE;QACrE,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;IAChG,CAAC;CACF;AAED,+EAA+E;AAC/E,OAAO;AACP,+EAA+E;AAE/E,IAAI,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;IACpC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnE,IAAI,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACrF,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACvC,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACtD,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACtE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACpF,OAAO,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;QAChG,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDb,CAAC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,aAAa,EAAoB,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/H,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAElD,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,MAAM,cAAc;IACV,MAAM,CAAS;IACf,MAAM,CAAc;IACpB,aAAa,CAAgB;IAC7B,cAAc,CAAiB;IAC/B,eAAe,CAAkB;IACjC,gBAAgB,CAAmB;IAE3C;QACE,qBAAqB;QACrB,IAAI,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QAE3B,iBAAiB;QACjB,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE3E,sBAAsB;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACzF,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3F,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAElE,oBAAoB;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CACtB;YACE,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO;SACjB,EACD;YACE,YAAY,EAAE;gBACZ,KAAK,EAAE,EAAE;gBACT,SAAS,EAAE,EAAE;aACd;SACF,CACF,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,aAAa;QACnB,uBAAuB;QACvB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACjE,KAAK,EAAE;gBACL,GAAG,aAAa;gBAChB,GAAG,YAAY;gBACf,GAAG,YAAY;gBACf,GAAG,SAAS;aACb;SACF,CAAC,CAAC,CAAC;QAEJ,oBAAoB;QACpB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACrE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAEjD,IAAI,CAAC;gBACH,IAAI,MAAc,CAAC;gBAEnB,QAAQ,IAAI,EAAE,CAAC;oBACb,iBAAiB;oBACjB,KAAK,iBAAiB;wBACpB,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,IAAmE,CAAC,CAAC;wBACxH,MAAM;oBACR,KAAK,qBAAqB;wBACxB,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,IAA8B,CAAC,CAAC;wBACjF,MAAM;oBAER,gBAAgB;oBAChB,KAAK,eAAe;wBAClB,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC3D,MAAM;oBACR,KAAK,eAAe;wBAClB,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,IAA2B,CAAC,CAAC;wBAC5E,MAAM;oBAER,gBAAgB;oBAChB,KAAK,oBAAoB;wBACvB,MAAM,GAAG,MAAM,WAAW,CACxB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,eAAe,EACpB,IAA8D,CAC/D,CAAC;wBACF,MAAM;oBACR,KAAK,qBAAqB;wBACxB,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,IAA6B,CAAC,CAAC;wBAChF,MAAM;oBACR,KAAK,yBAAyB;wBAC5B,MAAM,GAAG,MAAM,gBAAgB,CAC7B,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,eAAe,EACpB,IAA6B,CAC9B,CAAC;wBACF,MAAM;oBACR,KAAK,sBAAsB;wBACzB,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,cAAc,EAAE,IAA6B,CAAC,CAAC;wBACpF,MAAM;oBACR,KAAK,gBAAgB;wBACnB,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;wBACjD,MAAM;oBAER,aAAa;oBACb,KAAK,YAAY;wBACf,MAAM,GAAG,MAAM,IAAI,CACjB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,gBAAgB,EACrB,IAMC,CACF,CAAC;wBACF,MAAM;oBAER;wBACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;gBAC7C,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iBAC1C,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC;oBACtD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,iBAAiB;QACjB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACrE,SAAS,EAAE;gBACT;oBACE,GAAG,EAAE,gBAAgB;oBACrB,IAAI,EAAE,eAAe;oBACrB,WAAW,EAAE,4DAA4D;oBACzE,QAAQ,EAAE,eAAe;iBAC1B;gBACD;oBACE,GAAG,EAAE,mBAAmB;oBACxB,IAAI,EAAE,mBAAmB;oBACzB,WAAW,EAAE,qEAAqE;oBAClF,QAAQ,EAAE,eAAe;iBAC1B;aACF;SACF,CAAC,CAAC,CAAC;QAEJ,iBAAiB;QACjB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACzE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAE/B,IAAI,CAAC;gBACH,IAAI,OAAe,CAAC;gBAEpB,QAAQ,GAAG,EAAE,CAAC;oBACZ,KAAK,gBAAgB;wBACnB,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC5D,MAAM;oBACR,KAAK,mBAAmB;wBACtB,OAAO,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;wBACxD,MAAM;oBACR;wBACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;gBAChD,CAAC;gBAED,OAAO;oBACL,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iBAC9D,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAErC,qEAAqE;QACrE,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;IAChG,CAAC;CACF;AAED,+EAA+E;AAC/E,OAAO;AACP,+EAA+E;AAE/E,IAAI,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;IACpC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnE,IAAI,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACrF,OAAO,CAAC,KAAK,CAAC,sFAAsF,CAAC,CAAC;QACtG,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACvC,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACtD,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACtE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACpF,OAAO,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;QAChG,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
@@ -66,6 +66,15 @@ export declare class ChannelService {
66
66
  txHash: Hash;
67
67
  refundAmount: string;
68
68
  }>;
69
+ /**
70
+ * Cooperative close: ask provider for a close signature, then close on-chain immediately
71
+ */
72
+ cooperativeCloseChannel(channelId: Hash, providerApiUrl: string): Promise<{
73
+ txHash: Hash;
74
+ refundAmount: string;
75
+ payout: string;
76
+ fee: string;
77
+ }>;
69
78
  /**
70
79
  * Get channel details (raw)
71
80
  */
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/services/channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/services/channel.ts"],"names":[],"mappings":"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"}
@@ -153,6 +153,47 @@ export class ChannelService {
153
153
  refundAmount: formatUnits(refundAmount, USDC_DECIMALS)
154
154
  };
155
155
  }
156
+ /**
157
+ * Cooperative close: ask provider for a close signature, then close on-chain immediately
158
+ */
159
+ async cooperativeCloseChannel(channelId, providerApiUrl) {
160
+ const res = await fetch(`${providerApiUrl}/v1/close-channel`, {
161
+ method: 'POST',
162
+ headers: { 'Content-Type': 'application/json' },
163
+ body: JSON.stringify({ channelId }),
164
+ signal: AbortSignal.timeout(15000),
165
+ });
166
+ if (!res.ok) {
167
+ const body = await res.text().catch(() => '');
168
+ throw new Error(`Provider refused cooperative close (HTTP ${res.status}): ${body.slice(0, 200)}`);
169
+ }
170
+ const { finalAmount, signature } = await res.json();
171
+ const channelData = await this.getChannelRaw(channelId);
172
+ const finalAmountBn = BigInt(finalAmount);
173
+ const refund = channelData.deposit - finalAmountBn;
174
+ const payout = finalAmountBn - channelData.claimed;
175
+ const feeBps = 200n;
176
+ const fee = (payout * feeBps) / 10000n;
177
+ const hash = await this.walletClient.writeContract({
178
+ account: this.account,
179
+ address: this.config.drainAddress,
180
+ abi: DRAIN_CHANNEL_ABI,
181
+ functionName: 'cooperativeClose',
182
+ args: [channelId, finalAmountBn, signature],
183
+ chain: this.config.chain,
184
+ });
185
+ await this.publicClient.waitForTransactionReceipt({ hash });
186
+ this.nonces.delete(channelId);
187
+ this.spending.delete(channelId);
188
+ this.channelMeta.delete(channelId);
189
+ this.saveChannelMeta();
190
+ return {
191
+ txHash: hash,
192
+ refundAmount: formatUnits(refund, USDC_DECIMALS),
193
+ payout: formatUnits(payout, USDC_DECIMALS),
194
+ fee: formatUnits(fee, USDC_DECIMALS),
195
+ };
196
+ }
156
197
  /**
157
198
  * Get channel details (raw)
158
199
  */
@@ -1 +1 @@
1
- {"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/services/channel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,WAAW,EACX,UAAU,EAOX,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAuC5G,MAAM,OAAO,cAAc;IAOf;IACA;IACA;IACA;IATF,MAAM,GAAsB,IAAI,GAAG,EAAE,CAAC;IACtC,QAAQ,GAAsB,IAAI,GAAG,EAAE,CAAC;IACxC,WAAW,GAA2B,IAAI,GAAG,EAAE,CAAC;IAChD,YAAY,CAAS;IAE7B,YACU,YAA0B,EAC1B,YAA0B,EAC1B,OAAgB,EAChB,MAAmB;QAHnB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,YAAO,GAAP,OAAO,CAAS;QAChB,WAAM,GAAN,MAAM,CAAa;QAE3B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAC/C,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC;YACH,IAAI,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;gBAClE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1C,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;wBAC1B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;oBACrD,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAS,EAAE,CAAgB,CAAC,CAAC;oBACpD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;IACvC,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC;YACH,MAAM,GAAG,GAAgC,EAAE,CAAC;YAC5C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;gBAChD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACb,CAAC;YACD,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;IAC7B,CAAC;IAED,kBAAkB;QAChB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,cAAc,CAAC,SAAe;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,QAAiB,EACjB,MAAc,EACd,eAAuB;QAEvB,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAEpD,wBAAwB;QACxB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YACrD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YAChC,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;SACvD,CAAW,CAAC;QAEb,IAAI,SAAS,GAAG,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,sCAAsC,WAAW,CAAC,SAAmB,EAAE,aAAa,CAAC,SAAS;gBAC9F,SAAS,MAAM,iCAAiC,CACjD,CAAC;QACJ,CAAC;QAED,mBAAmB;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YACjD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YACjC,GAAG,EAAE,iBAAiB;YACtB,YAAY,EAAE,MAAM;YACpB,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;YACpD,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;SACzB,CAAC,CAAC;QAEH,wCAAwC;QACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5E,2BAA2B;QAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAC1C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,oEAAoE,CACvF,CAAC;QAEF,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAS,CAAC;QAEhD,uCAAuC;QACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAEjC,4EAA4E;QAC5E,+EAA+E;QAC/E,IAAI,OAAoB,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC;YACnC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;YACvD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YAElD,OAAO,GAAG;gBACR,EAAE,EAAE,SAAS;gBACb,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC;gBAC5C,OAAO,EAAE,GAAG;gBACZ,SAAS,EAAE,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC;gBAC9C,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;gBACvC,SAAS,EAAE,GAAG,IAAI,MAAM;gBACxB,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;aACpD,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,SAAe;QAChC,kCAAkC;QAClC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;QAE/D,mBAAmB;QACnB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAClD,IAAI,GAAG,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;YACnD,MAAM,IAAI,KAAK,CACb,gCAAgC,SAAS,sBAAsB;gBAC/D,eAAe,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAC3E,CAAC;QACJ,CAAC;QAED,oBAAoB;QACpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YACjD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YACjC,GAAG,EAAE,iBAAiB;YACtB,YAAY,EAAE,OAAO;YACrB,IAAI,EAAE,CAAC,SAAS,CAAC;YACjB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;SACzB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,WAAW,CAAC,YAAY,EAAE,aAAa,CAAC;SACvD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,SAAe;QACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YAClD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YACjC,GAAG,EAAE,iBAAiB;YACtB,YAAY,EAAE,YAAY;YAC1B,IAAI,EAAE,CAAC,SAAS,CAAC;SAClB,CAA+F,CAAC;QAEjG,OAAO;YACL,EAAE,EAAE,SAAS;YACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,SAAe;QAC9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAEpD,OAAO;YACL,EAAE,EAAE,SAAS;YACb,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC;YACpD,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC;YACpD,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,aAAa,CAAC;YAChD,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YAC/C,SAAS,EAAE,GAAG,IAAI,OAAO,CAAC,MAAM;YAChC,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;SAC5D,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,SAAe,EAAE,gBAAwB;QACzD,MAAM,aAAa,GAAG,UAAU,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;QAElE,qDAAqD;QACrD,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,eAAe,GAAG,aAAa,CAAC;QAEjD,0BAA0B;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,YAAY,GAAG,EAAE,CAAC;QAEhC,iCAAiC;QACjC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YACtD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE;gBACN,IAAI,EAAE,aAAa,CAAC,IAAI;gBACxB,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAC5B,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;aAC5C;YACD,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,SAAS;YACtB,OAAO,EAAE;gBACP,SAAS;gBACT,MAAM,EAAE,QAAQ;gBAChB,KAAK;aACN;SACF,CAAC,CAAC;QAEH,kBAAkB;QAClB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEvC,OAAO;YACL,SAAS;YACT,MAAM,EAAE,QAAQ;YAChB,KAAK;YACL,SAAS;SACV,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,SAAe,EAAE,UAAkB;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,cAAc,CAAC,SAAe,EAAE,IAAiB;QAC/C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,aAAa,CAAC,SAAe;QAC3B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,SAAe;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACpD,OAAO,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,SAAe,EAAE,MAAc;QAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACpD,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAEpD,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC;IAC1D,CAAC;CACF"}
1
+ {"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/services/channel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,WAAW,EACX,UAAU,EAOX,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAuC5G,MAAM,OAAO,cAAc;IAOf;IACA;IACA;IACA;IATF,MAAM,GAAsB,IAAI,GAAG,EAAE,CAAC;IACtC,QAAQ,GAAsB,IAAI,GAAG,EAAE,CAAC;IACxC,WAAW,GAA2B,IAAI,GAAG,EAAE,CAAC;IAChD,YAAY,CAAS;IAE7B,YACU,YAA0B,EAC1B,YAA0B,EAC1B,OAAgB,EAChB,MAAmB;QAHnB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,YAAO,GAAP,OAAO,CAAS;QAChB,WAAM,GAAN,MAAM,CAAa;QAE3B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAC/C,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC;YACH,IAAI,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;gBAClE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1C,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;wBAC1B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;oBACrD,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAS,EAAE,CAAgB,CAAC,CAAC;oBACpD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;IACvC,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC;YACH,MAAM,GAAG,GAAgC,EAAE,CAAC;YAC5C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;gBAChD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACb,CAAC;YACD,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;IAC7B,CAAC;IAED,kBAAkB;QAChB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,cAAc,CAAC,SAAe;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,QAAiB,EACjB,MAAc,EACd,eAAuB;QAEvB,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAEpD,wBAAwB;QACxB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YACrD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YAChC,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;SACvD,CAAW,CAAC;QAEb,IAAI,SAAS,GAAG,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,sCAAsC,WAAW,CAAC,SAAmB,EAAE,aAAa,CAAC,SAAS;gBAC9F,SAAS,MAAM,iCAAiC,CACjD,CAAC;QACJ,CAAC;QAED,mBAAmB;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YACjD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YACjC,GAAG,EAAE,iBAAiB;YACtB,YAAY,EAAE,MAAM;YACpB,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;YACpD,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;SACzB,CAAC,CAAC;QAEH,wCAAwC;QACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5E,2BAA2B;QAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAC1C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,oEAAoE,CACvF,CAAC;QAEF,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAS,CAAC;QAEhD,uCAAuC;QACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAEjC,4EAA4E;QAC5E,+EAA+E;QAC/E,IAAI,OAAoB,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC;YACnC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;YACvD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YAElD,OAAO,GAAG;gBACR,EAAE,EAAE,SAAS;gBACb,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC;gBAC5C,OAAO,EAAE,GAAG;gBACZ,SAAS,EAAE,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC;gBAC9C,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;gBACvC,SAAS,EAAE,GAAG,IAAI,MAAM;gBACxB,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;aACpD,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,SAAe;QAChC,kCAAkC;QAClC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;QAE/D,mBAAmB;QACnB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAClD,IAAI,GAAG,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;YACnD,MAAM,IAAI,KAAK,CACb,gCAAgC,SAAS,sBAAsB;gBAC/D,eAAe,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAC3E,CAAC;QACJ,CAAC;QAED,oBAAoB;QACpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YACjD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YACjC,GAAG,EAAE,iBAAiB;YACtB,YAAY,EAAE,OAAO;YACrB,IAAI,EAAE,CAAC,SAAS,CAAC;YACjB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;SACzB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,WAAW,CAAC,YAAY,EAAE,aAAa,CAAC;SACvD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB,CAC3B,SAAe,EACf,cAAsB;QAEtB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,cAAc,mBAAmB,EAAE;YAC5D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;YACnC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;SACnC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,4CAA4C,GAAG,CAAC,MAAM,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACpG,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,MAAM,GAAG,CAAC,IAAI,EAAgD,CAAC;QAElG,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,GAAG,aAAa,CAAC;QACnD,MAAM,MAAM,GAAG,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC;QACpB,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;QAEvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YACjD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YACjC,GAAG,EAAE,iBAAiB;YACtB,YAAY,EAAE,kBAAkB;YAChC,IAAI,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,SAAgB,CAAC;YAClD,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;SACzB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC;YAChD,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC;YAC1C,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,aAAa,CAAC;SACrC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,SAAe;QACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YAClD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YACjC,GAAG,EAAE,iBAAiB;YACtB,YAAY,EAAE,YAAY;YAC1B,IAAI,EAAE,CAAC,SAAS,CAAC;SAClB,CAA+F,CAAC;QAEjG,OAAO;YACL,EAAE,EAAE,SAAS;YACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,SAAe;QAC9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAEpD,OAAO;YACL,EAAE,EAAE,SAAS;YACb,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC;YACpD,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC;YACpD,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,aAAa,CAAC;YAChD,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YAC/C,SAAS,EAAE,GAAG,IAAI,OAAO,CAAC,MAAM;YAChC,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;SAC5D,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,SAAe,EAAE,gBAAwB;QACzD,MAAM,aAAa,GAAG,UAAU,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;QAElE,qDAAqD;QACrD,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,eAAe,GAAG,aAAa,CAAC;QAEjD,0BAA0B;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,YAAY,GAAG,EAAE,CAAC;QAEhC,iCAAiC;QACjC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YACtD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE;gBACN,IAAI,EAAE,aAAa,CAAC,IAAI;gBACxB,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAC5B,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;aAC5C;YACD,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,SAAS;YACtB,OAAO,EAAE;gBACP,SAAS;gBACT,MAAM,EAAE,QAAQ;gBAChB,KAAK;aACN;SACF,CAAC,CAAC;QAEH,kBAAkB;QAClB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEvC,OAAO;YACL,SAAS;YACT,MAAM,EAAE,QAAQ;YAChB,KAAK;YACL,SAAS;SACV,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,SAAe,EAAE,UAAkB;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,cAAc,CAAC,SAAe,EAAE,IAAiB;QAC/C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,aAAa,CAAC,SAAe;QAC3B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,SAAe;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACpD,OAAO,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,SAAe,EAAE,MAAc;QAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACpD,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAEpD,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC;IAC1D,CAAC;CACF"}
@@ -38,7 +38,7 @@ export declare class WalletService {
38
38
  */
39
39
  approveMax(): Promise<Hash>;
40
40
  /**
41
- * Transfer USDC to an address (used for marketplace session fee)
41
+ * Transfer USDC to an address
42
42
  */
43
43
  transferUsdc(to: Address, amount: bigint): Promise<Hash>;
44
44
  /**
@@ -87,7 +87,7 @@ export class WalletService {
87
87
  return hash;
88
88
  }
89
89
  /**
90
- * Transfer USDC to an address (used for marketplace session fee)
90
+ * Transfer USDC to an address
91
91
  */
92
92
  async transferUsdc(to, amount) {
93
93
  const hash = await this.walletClient.writeContract({
@@ -1 +1 @@
1
- {"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../../src/tools/balance.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD;;GAEG;AACH,wBAAsB,UAAU,CAC9B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,CAAC,CA4BjB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACxB,OAAO,CAAC,MAAM,CAAC,CAUjB;AAGD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;IAkCxB,CAAC"}
1
+ {"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../../src/tools/balance.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD;;GAEG;AACH,wBAAsB,UAAU,CAC9B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,CAAC,CA8CjB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACxB,OAAO,CAAC,MAAM,CAAC,CAUjB;AAGD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;IAkCxB,CAAC"}
@@ -12,24 +12,42 @@ export async function getBalance(walletService, config) {
12
12
  const network = config.chainId === 137 ? 'Polygon Mainnet' : 'Polygon Amoy Testnet';
13
13
  const hasGas = parseFloat(nativeBalance.formatted) > 0.01;
14
14
  const hasAllowance = parseFloat(allowance.formatted) > 0;
15
- return `# Wallet Status
16
-
17
- **Address:** \`${address}\`
18
- **Network:** ${network}
19
-
20
- ## Balances
21
- - **USDC:** $${usdcBalance.formatted}
22
- - **POL (for gas):** ${nativeBalance.formatted} POL
23
-
24
- ## DRAIN Contract
25
- - **Allowance:** $${allowance.formatted} USDC
26
- - **Contract:** \`${config.drainAddress}\`
27
-
28
- ## Status
29
- ${parseFloat(usdcBalance.formatted) > 0 ? '✅' : '⚠️'} USDC Balance: ${parseFloat(usdcBalance.formatted) > 0 ? 'OK' : 'LOW - need USDC to open channels'}
30
- ${hasGas ? '✅' : '⚠️'} Gas: ${hasGas ? 'OK' : 'LOW - need POL for transactions'}
31
- ${hasAllowance ? '✅' : 'ℹ️'} Allowance: ${hasAllowance ? 'Approved' : 'Not yet approved - will need to approve before opening channel'}
15
+ let result = `# Wallet Status
16
+
17
+ **Address:** \`${address}\`
18
+ **Network:** ${network}
19
+
20
+ ## Balances
21
+ - **USDC:** $${usdcBalance.formatted}
22
+ - **POL (for gas):** ${nativeBalance.formatted} POL
23
+
24
+ ## DRAIN Contract
25
+ - **Allowance:** $${allowance.formatted} USDC
26
+ - **Contract:** \`${config.drainAddress}\`
27
+
28
+ ## Status
29
+ ${parseFloat(usdcBalance.formatted) > 0 ? '✅' : '⚠️'} USDC Balance: ${parseFloat(usdcBalance.formatted) > 0 ? 'OK' : 'LOW - need USDC to open channels. Get free credits with an invite code at handshake58.com/join/<code>'}
30
+ ${hasGas ? '✅' : '⚠️'} Gas: ${hasGas ? 'OK' : `LOW - need POL for transactions${parseFloat(usdcBalance.formatted) >= 5 ? ' — requesting from Gas Station...' : '. Fund with $5+ USDC and gas is provided free, or use an invite code at handshake58.com/join/<code>'}`}
31
+ ${hasAllowance ? '✅' : 'ℹ️'} Allowance: ${hasAllowance ? 'Approved' : 'Not yet approved - will need to approve before opening channel'}
32
32
  `;
33
+ if (!hasGas && parseFloat(usdcBalance.formatted) >= 5) {
34
+ try {
35
+ const gasRes = await fetch(`${config.marketplaceBaseUrl || 'https://handshake58.com'}/api/gas-station`, {
36
+ method: 'POST',
37
+ headers: { 'Content-Type': 'application/json' },
38
+ body: JSON.stringify({ address }),
39
+ });
40
+ const gasData = await gasRes.json();
41
+ if (gasRes.ok && gasData.success) {
42
+ result += `\n🔋 **Gas Station:** 0.1 POL sent automatically! TX: \`${gasData.txHash}\`\nWait ~5 seconds, then proceed with drain_approve and drain_open_channel.`;
43
+ }
44
+ else if (gasData.error) {
45
+ result += `\nℹ️ Gas Station: ${gasData.error}`;
46
+ }
47
+ }
48
+ catch { }
49
+ }
50
+ return result;
33
51
  }
34
52
  /**
35
53
  * Approve USDC spending
@@ -49,13 +67,13 @@ export async function approveUsdc(walletService, args) {
49
67
  export const balanceTools = [
50
68
  {
51
69
  name: 'drain_balance',
52
- description: `Check wallet balance, USDC allowance, and readiness for DRAIN protocol.
53
-
54
- Use this to verify:
55
- - You have enough USDC to open channels
56
- - You have enough POL for gas fees
57
- - USDC is approved for the DRAIN contract
58
-
70
+ description: `Check wallet balance, USDC allowance, and readiness for DRAIN protocol.
71
+
72
+ Use this to verify:
73
+ - You have enough USDC to open channels
74
+ - You have enough POL for gas fees
75
+ - USDC is approved for the DRAIN contract
76
+
59
77
  Returns: Wallet address, balances, and status indicators.`,
60
78
  inputSchema: {
61
79
  type: 'object',
@@ -64,11 +82,11 @@ Returns: Wallet address, balances, and status indicators.`,
64
82
  },
65
83
  {
66
84
  name: 'drain_approve',
67
- description: `Approve USDC spending for the DRAIN contract.
68
-
69
- Required before opening payment channels. Only needed once — after approval you can open unlimited channels.
70
- If no amount is specified, approves unlimited spending (recommended).
71
-
85
+ description: `Approve USDC spending for the DRAIN contract.
86
+
87
+ Required before opening payment channels. Only needed once — after approval you can open unlimited channels.
88
+ If no amount is specified, approves unlimited spending (recommended).
89
+
72
90
  Returns: Transaction hash of the approval.`,
73
91
  inputSchema: {
74
92
  type: 'object',
@@ -1 +1 @@
1
- {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../src/tools/balance.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,aAA4B,EAC5B,MAAmB;IAEnB,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,EAAE,CAAC;IAC3C,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,cAAc,EAAE,CAAC;IACzD,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,gBAAgB,EAAE,CAAC;IAC7D,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;IAErD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,sBAAsB,CAAC;IACpF,MAAM,MAAM,GAAG,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAC1D,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAEzD,OAAO;;iBAEQ,OAAO;eACT,OAAO;;;eAGP,WAAW,CAAC,SAAS;uBACb,aAAa,CAAC,SAAS;;;oBAG1B,SAAS,CAAC,SAAS;oBACnB,MAAM,CAAC,YAAY;;;EAGrC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,kBAAkB,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kCAAkC;EACrJ,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,SAAS,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iCAAiC;EAC7E,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,eAAe,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gEAAgE;CACrI,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,aAA4B,EAC5B,IAAyB;IAEzB,IAAI,MAAc,CAAC;IAEnB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,OAAO,cAAc,IAAI,CAAC,MAAM,+CAA+C,MAAM,IAAI,CAAC;IAC5F,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;QAC1C,OAAO,mEAAmE,MAAM,IAAI,CAAC;IACvF,CAAC;AACH,CAAC;AAED,2BAA2B;AAC3B,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE;;;;;;;0DAOyC;QACtD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE;;;;;2CAK0B;QACvC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0EAA0E;iBACxF;aACF;SACF;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../src/tools/balance.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,9 @@
1
1
  /**
2
2
  * Channel Tools
3
3
  */
4
- import type { Address } from 'viem';
5
4
  import type { ChannelService } from '../services/channel.js';
6
5
  import type { ProviderService } from '../services/provider.js';
7
- import type { WalletService } from '../services/wallet.js';
8
- export declare function openChannel(channelService: ChannelService, providerService: ProviderService, walletService: WalletService, feeWallet: Address | null, args: {
6
+ export declare function openChannel(channelService: ChannelService, providerService: ProviderService, args: {
9
7
  provider: string;
10
8
  amount: string;
11
9
  duration: string;
@@ -13,6 +11,9 @@ export declare function openChannel(channelService: ChannelService, providerServ
13
11
  export declare function closeChannel(channelService: ChannelService, args: {
14
12
  channelId: string;
15
13
  }): Promise<string>;
14
+ export declare function cooperativeClose(channelService: ChannelService, providerService: ProviderService, args: {
15
+ channelId: string;
16
+ }): Promise<string>;
16
17
  export declare function getChannelStatus(channelService: ChannelService, args: {
17
18
  channelId: string;
18
19
  }): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/tools/channel.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAwB3D,wBAAsB,WAAW,CAC/B,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,OAAO,GAAG,IAAI,EACzB,IAAI,EAAE;IACJ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,GACA,OAAO,CAAC,MAAM,CAAC,CAsFjB;AAED,wBAAsB,YAAY,CAChC,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1B,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED,wBAAsB,gBAAgB,CACpC,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1B,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAED,wBAAsB,YAAY,CAChC,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,MAAM,CAAC,CAgCjB;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuFxB,CAAC"}
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/tools/channel.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAuB/D,wBAAsB,WAAW,CAC/B,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE;IACJ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,GACA,OAAO,CAAC,MAAM,CAAC,CAsEjB;AAED,wBAAsB,YAAY,CAChC,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1B,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED,wBAAsB,gBAAgB,CACpC,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1B,OAAO,CAAC,MAAM,CAAC,CAwCjB;AAED,wBAAsB,gBAAgB,CACpC,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1B,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAED,wBAAsB,YAAY,CAChC,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,MAAM,CAAC,CAgCjB;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2GxB,CAAC"}