@clawnch/clawncher-sdk 0.3.2 → 0.3.3

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.
Files changed (50) hide show
  1. package/README.md +89 -0
  2. package/dist/deployer.d.ts +13 -0
  3. package/dist/deployer.d.ts.map +1 -1
  4. package/dist/deployer.js +8 -0
  5. package/dist/deployer.js.map +1 -1
  6. package/dist/errors.d.ts +2 -1
  7. package/dist/errors.d.ts.map +1 -1
  8. package/dist/errors.js +2 -0
  9. package/dist/errors.js.map +1 -1
  10. package/dist/herd-auth.d.ts +79 -0
  11. package/dist/herd-auth.d.ts.map +1 -0
  12. package/dist/herd-auth.js +188 -0
  13. package/dist/herd-auth.js.map +1 -0
  14. package/dist/herd-hal.d.ts +92 -0
  15. package/dist/herd-hal.d.ts.map +1 -0
  16. package/dist/herd-hal.js +337 -0
  17. package/dist/herd-hal.js.map +1 -0
  18. package/dist/herd-types.d.ts +479 -0
  19. package/dist/herd-types.d.ts.map +1 -0
  20. package/dist/herd-types.js +18 -0
  21. package/dist/herd-types.js.map +1 -0
  22. package/dist/herd.d.ts +223 -0
  23. package/dist/herd.d.ts.map +1 -0
  24. package/dist/herd.js +1486 -0
  25. package/dist/herd.js.map +1 -0
  26. package/dist/hummingbot-types.d.ts +702 -0
  27. package/dist/hummingbot-types.d.ts.map +1 -0
  28. package/dist/hummingbot-types.js +12 -0
  29. package/dist/hummingbot-types.js.map +1 -0
  30. package/dist/hummingbot.d.ts +747 -0
  31. package/dist/hummingbot.d.ts.map +1 -0
  32. package/dist/hummingbot.js +1478 -0
  33. package/dist/hummingbot.js.map +1 -0
  34. package/dist/index.d.ts +8 -1
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +10 -0
  37. package/dist/index.js.map +1 -1
  38. package/dist/price.d.ts +16 -11
  39. package/dist/price.d.ts.map +1 -1
  40. package/dist/price.js +56 -25
  41. package/dist/price.js.map +1 -1
  42. package/dist/uniswap-quoter.d.ts +25 -4
  43. package/dist/uniswap-quoter.d.ts.map +1 -1
  44. package/dist/uniswap-quoter.js +52 -8
  45. package/dist/uniswap-quoter.js.map +1 -1
  46. package/dist/walletconnect-signer.d.ts +154 -0
  47. package/dist/walletconnect-signer.d.ts.map +1 -0
  48. package/dist/walletconnect-signer.js +307 -0
  49. package/dist/walletconnect-signer.js.map +1 -0
  50. package/package.json +1 -1
package/README.md CHANGED
@@ -823,6 +823,95 @@ if (status.wayfinderInstalled) {
823
823
 
824
824
  Supported chains: Ethereum (1), Base (8453), Arbitrum (42161), Polygon (137), BSC (56), Avalanche (43114), HyperEVM (999).
825
825
 
826
+ ## Hummingbot Market Making
827
+
828
+ Operate [Hummingbot](https://github.com/hummingbot/hummingbot) programmatically — 101 methods covering all 14 API routers (accounts, connectors, trading, executors, controllers, bots, scripts, market data, portfolio, gateway, rate oracle, backtesting, history, Docker).
829
+
830
+ ```typescript
831
+ import { HummingbotClient } from '@clawnch/clawncher-sdk';
832
+
833
+ const hb = new HummingbotClient({
834
+ apiUrl: 'http://localhost:8000', // or HUMMINGBOT_API_URL
835
+ username: 'admin', // or HUMMINGBOT_USERNAME
836
+ password: 'admin', // or HUMMINGBOT_PASSWORD
837
+ });
838
+
839
+ // Health check (unauthenticated)
840
+ const health = await hb.checkHealth();
841
+
842
+ // Portfolio across all connected exchanges
843
+ const portfolio = await hb.getPortfolioOverview();
844
+
845
+ // Place an order
846
+ await hb.placeOrder({
847
+ connectorName: 'binance',
848
+ tradingPair: 'ETH-USDT',
849
+ tradeType: 'BUY',
850
+ amount: '0.1',
851
+ orderType: 'MARKET',
852
+ });
853
+
854
+ // Market data
855
+ const candles = await hb.getCandles('binance', 'ETH-USDT', '1h', 7);
856
+ const book = await hb.getOrderBook('binance', 'ETH-USDT');
857
+ const prices = await hb.getPrices('binance', 'ETH-USDT');
858
+
859
+ // Create and deploy a bot with a controller config
860
+ await hb.upsertControllerConfig({ id: 'mm_eth', controller_type: 'market_making', /* ... */ });
861
+ await hb.deployBot({ controllers: ['mm_eth'], connectorName: 'binance' });
862
+
863
+ // Executor management
864
+ await hb.createExecutor({
865
+ executorType: 'grid_executor',
866
+ connectorName: 'binance',
867
+ tradingPair: 'ETH-USDT',
868
+ side: 1,
869
+ startPrice: 3000,
870
+ endPrice: 3500,
871
+ totalAmountQuote: 1000,
872
+ levels: 10,
873
+ });
874
+
875
+ // Gateway (DEX / on-chain)
876
+ const chains = await hb.listGatewayChains();
877
+ await hb.executeGatewayAmmTrade({ chain: 'ethereum', network: 'mainnet', /* ... */ });
878
+ const pools = await hb.listCLMMPools({ chain: 'ethereum', network: 'mainnet', connector: 'uniswap' });
879
+
880
+ // Backtesting
881
+ const result = await hb.runBacktest({ startTime: 1700000000, endTime: 1700100000, config: { /* ... */ } });
882
+
883
+ // Strategy templates (local, no API call)
884
+ const templates = hb.getStrategyTemplates();
885
+ const built = hb.buildFromTemplate('pure_market_making', { connector: 'binance', tradingPair: 'ETH-USDT' });
886
+ ```
887
+
888
+ ### Strategy Templates
889
+
890
+ 9 built-in templates — 4 for the Clawnch token lifecycle, 5 general-purpose:
891
+
892
+ | Template | Purpose |
893
+ |----------|---------|
894
+ | `clawnch_initial_liquidity` | Tight spreads for freshly launched tokens |
895
+ | `clawnch_post_launch_mm` | Wider spreads with depth as volume grows |
896
+ | `clawnch_fee_optimization` | Uniswap V4 hook fee optimization |
897
+ | `clawnch_accumulation` | DCA position building over time |
898
+ | `pure_market_making` | Standard bid/ask market making |
899
+ | `avellaneda_market_making` | Inventory-aware spread adjustment |
900
+ | `grid_trading` | Grid orders across a price range |
901
+ | `dca_buying` | Dollar-cost averaging |
902
+ | `twap_execution` | Time-weighted average price execution |
903
+
904
+ ### Environment Variables
905
+
906
+ | Variable | Default | Description |
907
+ |----------|---------|-------------|
908
+ | `HUMMINGBOT_API_URL` | `http://localhost:8000` | Hummingbot API server URL |
909
+ | `HUMMINGBOT_USERNAME` | `admin` | HTTP Basic Auth username |
910
+ | `HUMMINGBOT_PASSWORD` | `admin` | HTTP Basic Auth password |
911
+ | `HUMMINGBOT_TIMEOUT` | `30000` | Request timeout (ms) |
912
+ | `HUMMINGBOT_MAX_RETRIES` | `3` | Retry count for 5xx/network errors |
913
+ | `HUMMINGBOT_RETRY_DELAY` | `1000` | Base retry delay (ms) |
914
+
826
915
  ## Related Packages
827
916
 
828
917
  - **[@clawnch/clawtomaton](https://www.npmjs.com/package/@clawnch/clawtomaton)** — Autonomous AI agents built on this SDK. Agents generate wallets, burn $CLAWNCH to activate, deploy tokens, and sustain themselves through LP fees.
@@ -83,6 +83,12 @@ export interface TokenContext {
83
83
  messageId?: string;
84
84
  id?: string;
85
85
  }
86
+ /**
87
+ * Paired token for liquidity pool.
88
+ * - 'WETH': Standard WETH pair (default, deepest liquidity)
89
+ * - 'USDC': Stablecoin pair (cleaner P&L, no ETH correlation)
90
+ */
91
+ export type PairedToken = 'WETH' | 'USDC';
86
92
  /**
87
93
  * Token deployment options
88
94
  */
@@ -117,6 +123,13 @@ export interface DeployOptions {
117
123
  * Returns validation result and translated config.
118
124
  */
119
125
  dryRun?: boolean;
126
+ /**
127
+ * Paired token for the liquidity pool (default: 'WETH').
128
+ * - 'WETH': Standard ETH pair — deepest liquidity, established default
129
+ * - 'USDC': Stablecoin pair — token price isolated from ETH volatility,
130
+ * cleaner USD-denominated P&L for agents, lower impermanent loss
131
+ */
132
+ pairedToken?: PairedToken;
120
133
  }
121
134
  /**
122
135
  * Deployment result
@@ -1 +1 @@
1
- {"version":3,"file":"deployer.d.ts","sourceRoot":"","sources":["../src/deployer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deployer.d.ts","sourceRoot":"","sources":["../src/deployer.ts"],"names":[],"mappings":"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"}
package/dist/deployer.js CHANGED
@@ -14,6 +14,7 @@ import { Clanker } from 'clanker-sdk/v4';
14
14
  import { POOL_POSITIONS } from 'clanker-sdk';
15
15
  import { base, baseSepolia } from 'viem/chains';
16
16
  import { getAddresses, getChainId } from './addresses.js';
17
+ import { getCommonAddresses } from './uniswap-addresses.js';
17
18
  import { ClawnchErrorCode, ClawnchDeployError } from './errors.js';
18
19
  // ============================================================================
19
20
  // Internal helpers
@@ -159,6 +160,9 @@ export class ClawnchDeployer {
159
160
  token: translateFeePreference(r.feePreference),
160
161
  })),
161
162
  };
163
+ // Resolve paired token address
164
+ const common = getCommonAddresses(this.network);
165
+ const pairedTokenAddress = options.pairedToken === 'USDC' ? common.usdc : common.weth;
162
166
  // Build base config
163
167
  const clankerConfig = {
164
168
  name: options.name,
@@ -174,6 +178,10 @@ export class ClawnchDeployer {
174
178
  ...(options.context || {}),
175
179
  },
176
180
  };
181
+ // Set paired token if USDC (Clanker defaults to WETH if not specified)
182
+ if (options.pairedToken === 'USDC') {
183
+ clankerConfig.pairedToken = pairedTokenAddress;
184
+ }
177
185
  // Image
178
186
  if (options.image) {
179
187
  clankerConfig.image = options.image;
@@ -1 +1 @@
1
- {"version":3,"file":"deployer.js","sourceRoot":"","sources":["../src/deployer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deployer.js","sourceRoot":"","sources":["../src/deployer.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -23,7 +23,8 @@ export declare enum ClawnchErrorCode {
23
23
  FEATURE_NOT_AVAILABLE = "FEATURE_NOT_AVAILABLE",
24
24
  INVALID_CHAIN = "INVALID_CHAIN",
25
25
  RPC_ERROR = "RPC_ERROR",
26
- TIMEOUT = "TIMEOUT"
26
+ TIMEOUT = "TIMEOUT",
27
+ HERD_UNAVAILABLE = "HERD_UNAVAILABLE"
27
28
  }
28
29
  /**
29
30
  * Structured error class for Clawncher SDK operations
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,oBAAY,gBAAgB;IAE1B,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IAGnC,qBAAqB,0BAA0B;IAC/C,4BAA4B,iCAAiC;IAG7D,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,kBAAkB,uBAAuB;IAGzC,YAAY,iBAAiB;IAC7B,iBAAiB,sBAAsB;IAGvC,qBAAqB,0BAA0B;IAG/C,aAAa,kBAAkB;IAG/B,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;aAIzB,IAAI,EAAE,gBAAgB;aAEtB,KAAK,CAAC,EAAE,KAAK;IAL/B,QAAQ,CAAC,IAAI,wBAAwB;gBAGnB,IAAI,EAAE,gBAAgB,EACtC,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,EAAE,KAAK,YAAA;CAIhC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,kBAAkB,CAEtE;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,UAAU,GAAE,MAAU,EACtB,WAAW,GAAE,MAAa,GACzB,OAAO,CAAC,CAAC,CAAC,CAiCZ"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,oBAAY,gBAAgB;IAE1B,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IAGnC,qBAAqB,0BAA0B;IAC/C,4BAA4B,iCAAiC;IAG7D,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,kBAAkB,uBAAuB;IAGzC,YAAY,iBAAiB;IAC7B,iBAAiB,sBAAsB;IAGvC,qBAAqB,0BAA0B;IAG/C,aAAa,kBAAkB;IAG/B,SAAS,cAAc;IACvB,OAAO,YAAY;IAGnB,gBAAgB,qBAAqB;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;aAIzB,IAAI,EAAE,gBAAgB;aAEtB,KAAK,CAAC,EAAE,KAAK;IAL/B,QAAQ,CAAC,IAAI,wBAAwB;gBAGnB,IAAI,EAAE,gBAAgB,EACtC,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,EAAE,KAAK,YAAA;CAIhC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,kBAAkB,CAEtE;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,UAAU,GAAE,MAAU,EACtB,WAAW,GAAE,MAAa,GACzB,OAAO,CAAC,CAAC,CAAC,CAiCZ"}
package/dist/errors.js CHANGED
@@ -32,6 +32,8 @@ export var ClawnchErrorCode;
32
32
  // Network errors
33
33
  ClawnchErrorCode["RPC_ERROR"] = "RPC_ERROR";
34
34
  ClawnchErrorCode["TIMEOUT"] = "TIMEOUT";
35
+ // Herd integration errors
36
+ ClawnchErrorCode["HERD_UNAVAILABLE"] = "HERD_UNAVAILABLE";
35
37
  })(ClawnchErrorCode || (ClawnchErrorCode = {}));
36
38
  /**
37
39
  * Structured error class for Clawncher SDK operations
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,CAAN,IAAY,gBA6BX;AA7BD,WAAY,gBAAgB;IAC1B,oBAAoB;IACpB,+CAA2B,CAAA;IAC3B,iDAA6B,CAAA;IAC7B,qDAAiC,CAAA;IACjC,uDAAmC,CAAA;IAEnC,uBAAuB;IACvB,mEAA+C,CAAA;IAC/C,iFAA6D,CAAA;IAE7D,oBAAoB;IACpB,mDAA+B,CAAA;IAC/B,+CAA2B,CAAA;IAC3B,6DAAyC,CAAA;IAEzC,kBAAkB;IAClB,iDAA6B,CAAA;IAC7B,2DAAuC,CAAA;IAEvC,wBAAwB;IACxB,mEAA+C,CAAA;IAE/C,eAAe;IACf,mDAA+B,CAAA;IAE/B,iBAAiB;IACjB,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;AACrB,CAAC,EA7BW,gBAAgB,KAAhB,gBAAgB,QA6B3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAIzB;IAEA;IALT,IAAI,GAAG,oBAAoB,CAAC;IAErC,YACkB,IAAsB,EACtC,OAAe,EACC,KAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,SAAI,GAAJ,IAAI,CAAkB;QAEtB,UAAK,GAAL,KAAK,CAAQ;IAG/B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,OAAO,GAAG,YAAY,kBAAkB,CAAC;AAC3C,CAAC;AAED,4EAA4E;AAC5E,gBAAgB;AAChB,4EAA4E;AAE5E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,EAAoB,EACpB,aAAqB,CAAC,EACtB,cAAsB,IAAI;IAE1B,IAAI,SAAkB,CAAC;IACvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,GAAG,GAAG,CAAC;YAEhB,sCAAsC;YACtC,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;gBACtC,MAAM,YAAY,GAAuB;oBACvC,gBAAgB,CAAC,WAAW;oBAC5B,gBAAgB,CAAC,YAAY;oBAC7B,gBAAgB,CAAC,cAAc;oBAC/B,gBAAgB,CAAC,eAAe;oBAChC,gBAAgB,CAAC,qBAAqB;oBACtC,gBAAgB,CAAC,4BAA4B;oBAC7C,gBAAgB,CAAC,qBAAqB;oBACtC,gBAAgB,CAAC,aAAa;oBAC9B,gBAAgB,CAAC,kBAAkB;iBACpC,CAAC;gBACF,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,MAAM,GAAG,CAAC;YACjD,CAAC;YAED,yCAAyC;YACzC,IAAI,OAAO,KAAK,UAAU;gBAAE,MAAM;YAElC,uCAAuC;YACvC,MAAM,KAAK,GAAG,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IACD,MAAM,SAAS,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,CAAN,IAAY,gBAgCX;AAhCD,WAAY,gBAAgB;IAC1B,oBAAoB;IACpB,+CAA2B,CAAA;IAC3B,iDAA6B,CAAA;IAC7B,qDAAiC,CAAA;IACjC,uDAAmC,CAAA;IAEnC,uBAAuB;IACvB,mEAA+C,CAAA;IAC/C,iFAA6D,CAAA;IAE7D,oBAAoB;IACpB,mDAA+B,CAAA;IAC/B,+CAA2B,CAAA;IAC3B,6DAAyC,CAAA;IAEzC,kBAAkB;IAClB,iDAA6B,CAAA;IAC7B,2DAAuC,CAAA;IAEvC,wBAAwB;IACxB,mEAA+C,CAAA;IAE/C,eAAe;IACf,mDAA+B,CAAA;IAE/B,iBAAiB;IACjB,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;IAEnB,0BAA0B;IAC1B,yDAAqC,CAAA;AACvC,CAAC,EAhCW,gBAAgB,KAAhB,gBAAgB,QAgC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAIzB;IAEA;IALT,IAAI,GAAG,oBAAoB,CAAC;IAErC,YACkB,IAAsB,EACtC,OAAe,EACC,KAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,SAAI,GAAJ,IAAI,CAAkB;QAEtB,UAAK,GAAL,KAAK,CAAQ;IAG/B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,OAAO,GAAG,YAAY,kBAAkB,CAAC;AAC3C,CAAC;AAED,4EAA4E;AAC5E,gBAAgB;AAChB,4EAA4E;AAE5E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,EAAoB,EACpB,aAAqB,CAAC,EACtB,cAAsB,IAAI;IAE1B,IAAI,SAAkB,CAAC;IACvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,GAAG,GAAG,CAAC;YAEhB,sCAAsC;YACtC,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;gBACtC,MAAM,YAAY,GAAuB;oBACvC,gBAAgB,CAAC,WAAW;oBAC5B,gBAAgB,CAAC,YAAY;oBAC7B,gBAAgB,CAAC,cAAc;oBAC/B,gBAAgB,CAAC,eAAe;oBAChC,gBAAgB,CAAC,qBAAqB;oBACtC,gBAAgB,CAAC,4BAA4B;oBAC7C,gBAAgB,CAAC,qBAAqB;oBACtC,gBAAgB,CAAC,aAAa;oBAC9B,gBAAgB,CAAC,kBAAkB;iBACpC,CAAC;gBACF,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,MAAM,GAAG,CAAC;YACjD,CAAC;YAED,yCAAyC;YACzC,IAAI,OAAO,KAAK,UAAU;gBAAE,MAAM;YAElC,uCAAuC;YACvC,MAAM,KAAK,GAAG,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IACD,MAAM,SAAS,CAAC;AAClB,CAAC"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Herd MCP Authentication
3
+ *
4
+ * Manages OAuth credentials for the Herd MCP server.
5
+ * Supports three modes:
6
+ * 1. Environment variable (HERD_ACCESS_TOKEN)
7
+ * 2. Stored token file (~/.clawncher/herd-auth.json)
8
+ * 3. Interactive OAuth PKCE flow (opens browser)
9
+ *
10
+ * The MCP SDK's StreamableHTTPClientTransport handles OAuth natively.
11
+ * This module manages credential persistence and retrieval so that
12
+ * tokens obtained in one session (e.g. CLI `clawncher herd auth`)
13
+ * can be reused by the SDK, MCP server, and Clawtomaton agents.
14
+ */
15
+ export interface HerdTokenStore {
16
+ /** OAuth access token */
17
+ accessToken: string;
18
+ /** OAuth refresh token (if available) */
19
+ refreshToken?: string;
20
+ /** Token type (usually 'Bearer') */
21
+ tokenType: string;
22
+ /** Expiry as ISO 8601 string */
23
+ expiresAt?: string;
24
+ /** When the token was stored */
25
+ storedAt: string;
26
+ }
27
+ export interface HerdAuthConfig {
28
+ /** Override the default token file path (~/.clawncher/herd-auth.json) */
29
+ tokenPath?: string;
30
+ /** Direct access token — skips file/env lookup */
31
+ accessToken?: string;
32
+ }
33
+ export declare const HERD_MCP_URL = "https://mcp.herd.eco/v1";
34
+ export declare class HerdAuth {
35
+ private tokenStore;
36
+ private tokenPath;
37
+ constructor(config?: HerdAuthConfig);
38
+ /**
39
+ * Get the current access token, resolving from env var or stored file.
40
+ * Returns null if no token is available (user needs to authenticate).
41
+ */
42
+ getAccessToken(): string | null;
43
+ /**
44
+ * Check if authentication is available (token exists and not expired).
45
+ */
46
+ isAuthenticated(): boolean;
47
+ /**
48
+ * Get the Authorization header value.
49
+ * Throws if not authenticated.
50
+ */
51
+ getAuthHeader(): string;
52
+ /**
53
+ * Store a token obtained from OAuth flow or other source.
54
+ */
55
+ saveToken(token: Omit<HerdTokenStore, 'storedAt'>): void;
56
+ /**
57
+ * Clear stored credentials.
58
+ */
59
+ clearToken(): void;
60
+ /**
61
+ * Create HerdAuth from environment variable.
62
+ * Returns null if env var is not set.
63
+ */
64
+ static fromEnv(): HerdAuth | null;
65
+ /**
66
+ * Create HerdAuth from stored token file.
67
+ * Returns null if no stored token exists.
68
+ */
69
+ static fromStoredToken(tokenPath?: string): HerdAuth | null;
70
+ /**
71
+ * Create HerdAuth with automatic resolution:
72
+ * env var > stored file > null
73
+ */
74
+ static resolve(config?: HerdAuthConfig): HerdAuth;
75
+ private isExpired;
76
+ private loadFromFile;
77
+ private writeToFile;
78
+ }
79
+ //# sourceMappingURL=herd-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"herd-auth.d.ts","sourceRoot":"","sources":["../src/herd-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAUH,MAAM,WAAW,cAAc;IAC7B,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAUD,eAAO,MAAM,YAAY,4BAA4B,CAAC;AAMtD,qBAAa,QAAQ;IACnB,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,GAAE,cAAmB;IAiBvC;;;OAGG;IACH,cAAc,IAAI,MAAM,GAAG,IAAI;IA6B/B;;OAEG;IACH,eAAe,IAAI,OAAO;IAI1B;;;OAGG;IACH,aAAa,IAAI,MAAM;IAcvB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG,IAAI;IAQxD;;OAEG;IACH,UAAU,IAAI,IAAI;IAgBlB;;;OAGG;IACH,MAAM,CAAC,OAAO,IAAI,QAAQ,GAAG,IAAI;IAMjC;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAM3D;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,GAAE,cAAmB,GAAG,QAAQ;IAQrD,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,WAAW;CAapB"}
@@ -0,0 +1,188 @@
1
+ /**
2
+ * Herd MCP Authentication
3
+ *
4
+ * Manages OAuth credentials for the Herd MCP server.
5
+ * Supports three modes:
6
+ * 1. Environment variable (HERD_ACCESS_TOKEN)
7
+ * 2. Stored token file (~/.clawncher/herd-auth.json)
8
+ * 3. Interactive OAuth PKCE flow (opens browser)
9
+ *
10
+ * The MCP SDK's StreamableHTTPClientTransport handles OAuth natively.
11
+ * This module manages credential persistence and retrieval so that
12
+ * tokens obtained in one session (e.g. CLI `clawncher herd auth`)
13
+ * can be reused by the SDK, MCP server, and Clawtomaton agents.
14
+ */
15
+ import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'node:fs';
16
+ import { join, dirname } from 'node:path';
17
+ import { homedir } from 'node:os';
18
+ // =========================================================================
19
+ // Constants
20
+ // =========================================================================
21
+ const DEFAULT_CONFIG_DIR = join(homedir(), '.clawncher');
22
+ const DEFAULT_TOKEN_FILE = 'herd-auth.json';
23
+ const ENV_VAR = 'HERD_ACCESS_TOKEN';
24
+ export const HERD_MCP_URL = 'https://mcp.herd.eco/v1';
25
+ // =========================================================================
26
+ // HerdAuth
27
+ // =========================================================================
28
+ export class HerdAuth {
29
+ tokenStore = null;
30
+ tokenPath;
31
+ constructor(config = {}) {
32
+ this.tokenPath = config.tokenPath || join(DEFAULT_CONFIG_DIR, DEFAULT_TOKEN_FILE);
33
+ // Direct token takes highest priority
34
+ if (config.accessToken) {
35
+ this.tokenStore = {
36
+ accessToken: config.accessToken,
37
+ tokenType: 'Bearer',
38
+ storedAt: new Date().toISOString(),
39
+ };
40
+ }
41
+ }
42
+ // -----------------------------------------------------------------------
43
+ // Token Resolution (env > stored file > null)
44
+ // -----------------------------------------------------------------------
45
+ /**
46
+ * Get the current access token, resolving from env var or stored file.
47
+ * Returns null if no token is available (user needs to authenticate).
48
+ */
49
+ getAccessToken() {
50
+ // 1. Already loaded in memory
51
+ if (this.tokenStore) {
52
+ if (this.isExpired())
53
+ return null;
54
+ return this.tokenStore.accessToken;
55
+ }
56
+ // 2. Environment variable
57
+ const envToken = process.env[ENV_VAR];
58
+ if (envToken) {
59
+ this.tokenStore = {
60
+ accessToken: envToken,
61
+ tokenType: 'Bearer',
62
+ storedAt: new Date().toISOString(),
63
+ };
64
+ return envToken;
65
+ }
66
+ // 3. Stored file
67
+ const stored = this.loadFromFile();
68
+ if (stored) {
69
+ this.tokenStore = stored;
70
+ if (this.isExpired())
71
+ return null;
72
+ return stored.accessToken;
73
+ }
74
+ return null;
75
+ }
76
+ /**
77
+ * Check if authentication is available (token exists and not expired).
78
+ */
79
+ isAuthenticated() {
80
+ return this.getAccessToken() !== null;
81
+ }
82
+ /**
83
+ * Get the Authorization header value.
84
+ * Throws if not authenticated.
85
+ */
86
+ getAuthHeader() {
87
+ const token = this.getAccessToken();
88
+ if (!token) {
89
+ throw new Error('Herd authentication required. Run `clawncher herd auth` or set HERD_ACCESS_TOKEN.');
90
+ }
91
+ return `Bearer ${token}`;
92
+ }
93
+ // -----------------------------------------------------------------------
94
+ // Token Storage
95
+ // -----------------------------------------------------------------------
96
+ /**
97
+ * Store a token obtained from OAuth flow or other source.
98
+ */
99
+ saveToken(token) {
100
+ this.tokenStore = {
101
+ ...token,
102
+ storedAt: new Date().toISOString(),
103
+ };
104
+ this.writeToFile(this.tokenStore);
105
+ }
106
+ /**
107
+ * Clear stored credentials.
108
+ */
109
+ clearToken() {
110
+ this.tokenStore = null;
111
+ try {
112
+ const { unlinkSync } = require('node:fs');
113
+ if (existsSync(this.tokenPath)) {
114
+ unlinkSync(this.tokenPath);
115
+ }
116
+ }
117
+ catch {
118
+ // Ignore file deletion errors
119
+ }
120
+ }
121
+ // -----------------------------------------------------------------------
122
+ // Static Factories
123
+ // -----------------------------------------------------------------------
124
+ /**
125
+ * Create HerdAuth from environment variable.
126
+ * Returns null if env var is not set.
127
+ */
128
+ static fromEnv() {
129
+ const token = process.env[ENV_VAR];
130
+ if (!token)
131
+ return null;
132
+ return new HerdAuth({ accessToken: token });
133
+ }
134
+ /**
135
+ * Create HerdAuth from stored token file.
136
+ * Returns null if no stored token exists.
137
+ */
138
+ static fromStoredToken(tokenPath) {
139
+ const auth = new HerdAuth({ tokenPath });
140
+ if (auth.getAccessToken())
141
+ return auth;
142
+ return null;
143
+ }
144
+ /**
145
+ * Create HerdAuth with automatic resolution:
146
+ * env var > stored file > null
147
+ */
148
+ static resolve(config = {}) {
149
+ return new HerdAuth(config);
150
+ }
151
+ // -----------------------------------------------------------------------
152
+ // Internal
153
+ // -----------------------------------------------------------------------
154
+ isExpired() {
155
+ if (!this.tokenStore?.expiresAt)
156
+ return false;
157
+ return new Date(this.tokenStore.expiresAt) <= new Date();
158
+ }
159
+ loadFromFile() {
160
+ try {
161
+ if (!existsSync(this.tokenPath))
162
+ return null;
163
+ const raw = readFileSync(this.tokenPath, 'utf-8');
164
+ const parsed = JSON.parse(raw);
165
+ if (!parsed.accessToken)
166
+ return null;
167
+ return parsed;
168
+ }
169
+ catch {
170
+ return null;
171
+ }
172
+ }
173
+ writeToFile(store) {
174
+ try {
175
+ const dir = dirname(this.tokenPath);
176
+ if (!existsSync(dir)) {
177
+ mkdirSync(dir, { recursive: true, mode: 0o700 });
178
+ }
179
+ writeFileSync(this.tokenPath, JSON.stringify(store, null, 2), {
180
+ mode: 0o600,
181
+ });
182
+ }
183
+ catch {
184
+ // Non-fatal — token is still in memory
185
+ }
186
+ }
187
+ }
188
+ //# sourceMappingURL=herd-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"herd-auth.js","sourceRoot":"","sources":["../src/herd-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AA0BlC,4EAA4E;AAC5E,YAAY;AACZ,4EAA4E;AAE5E,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;AACzD,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAC5C,MAAM,OAAO,GAAG,mBAAmB,CAAC;AAEpC,MAAM,CAAC,MAAM,YAAY,GAAG,yBAAyB,CAAC;AAEtD,4EAA4E;AAC5E,WAAW;AACX,4EAA4E;AAE5E,MAAM,OAAO,QAAQ;IACX,UAAU,GAA0B,IAAI,CAAC;IACzC,SAAS,CAAS;IAE1B,YAAY,SAAyB,EAAE;QACrC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;QAElF,sCAAsC;QACtC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG;gBAChB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACnC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,8CAA8C;IAC9C,0EAA0E;IAE1E;;;OAGG;IACH,cAAc;QACZ,8BAA8B;QAC9B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,SAAS,EAAE;gBAAE,OAAO,IAAI,CAAC;YAClC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QACrC,CAAC;QAED,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,GAAG;gBAChB,WAAW,EAAE,QAAQ;gBACrB,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACnC,CAAC;YACF,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,iBAAiB;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;YACzB,IAAI,IAAI,CAAC,SAAS,EAAE;gBAAE,OAAO,IAAI,CAAC;YAClC,OAAO,MAAM,CAAC,WAAW,CAAC;QAC5B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;QACJ,CAAC;QACD,OAAO,UAAU,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,0EAA0E;IAC1E,gBAAgB;IAChB,0EAA0E;IAE1E;;OAEG;IACH,SAAS,CAAC,KAAuC;QAC/C,IAAI,CAAC,UAAU,GAAG;YAChB,GAAG,KAAK;YACR,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACnC,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1C,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,8BAA8B;QAChC,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,mBAAmB;IACnB,0EAA0E;IAE1E;;;OAGG;IACH,MAAM,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,OAAO,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,SAAkB;QACvC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,cAAc,EAAE;YAAE,OAAO,IAAI,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,SAAyB,EAAE;QACxC,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,0EAA0E;IAC1E,WAAW;IACX,0EAA0E;IAElE,SAAS;QACf,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS;YAAE,OAAO,KAAK,CAAC;QAC9C,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;IAC3D,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC7C,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAmB,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,WAAW;gBAAE,OAAO,IAAI,CAAC;YACrC,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,KAAqB;QACvC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACnD,CAAC;YACD,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;gBAC5D,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,uCAAuC;QACzC,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * HAL Expression Builder — Programmatic construction of Herd Action Language expressions.
3
+ *
4
+ * HAL (Herd Action Language) is a JSON DSL for composing blockchain transactions
5
+ * and data reads. Instead of requiring users to hand-write the nested JSON,
6
+ * this module provides a TypeScript builder API.
7
+ *
8
+ * Use cases:
9
+ * - Pre-simulate any transaction before sending
10
+ * - Generate reusable adapters for common Clawncher operations
11
+ * - Validate parameter types at compile time
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * const hal = new HalBuilder();
16
+ *
17
+ * // Build an ERC-20 transfer adapter
18
+ * const expr = hal.buildTransferAdapter({
19
+ * token: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
20
+ * blockchain: 'base',
21
+ * decimals: 6,
22
+ * });
23
+ *
24
+ * // Simulate it via Herd
25
+ * const result = await herd.simulateAction(expr, {
26
+ * to: '0xRecipient...',
27
+ * amount: '100',
28
+ * });
29
+ * ```
30
+ */
31
+ import type { HerdBlockchain, HalExpression, HalSimulationResult } from './herd-types.js';
32
+ export interface TransferAdapterOptions {
33
+ /** Token contract address */
34
+ token: string;
35
+ /** Blockchain */
36
+ blockchain: HerdBlockchain;
37
+ /** Token decimals (default: 18) */
38
+ decimals?: number;
39
+ /** Token name for metadata */
40
+ tokenName?: string;
41
+ }
42
+ export interface SwapActionOptions {
43
+ /** Sell token address */
44
+ sellToken: string;
45
+ /** Buy token address */
46
+ buyToken: string;
47
+ /** Blockchain */
48
+ blockchain: HerdBlockchain;
49
+ /** Whether to include the approval step */
50
+ includeApproval?: boolean;
51
+ }
52
+ export interface ReadBalanceOptions {
53
+ /** Token contract address */
54
+ token: string;
55
+ /** Blockchain */
56
+ blockchain: HerdBlockchain;
57
+ }
58
+ export declare class HalBuilder {
59
+ /**
60
+ * Build a HAL adapter expression for an ERC-20 transfer.
61
+ *
62
+ * Parameters exposed to the user: `to` (address), `amount` (human-readable).
63
+ * The adapter handles decimal conversion and calldata encoding.
64
+ */
65
+ buildTransferAdapter(options: TransferAdapterOptions): HalExpression;
66
+ /**
67
+ * Build a HAL action for a swap using 0x API.
68
+ *
69
+ * This generates an action with an optional approval step (conditional
70
+ * on whether the wallet has already approved the spender).
71
+ */
72
+ buildSwapAction(options: SwapActionOptions): HalExpression;
73
+ /**
74
+ * Build a HAL read adapter for checking an ERC-20 balance.
75
+ */
76
+ buildBalanceReader(options: ReadBalanceOptions): HalExpression;
77
+ /**
78
+ * Build a HAL read adapter for checking allowance.
79
+ */
80
+ buildAllowanceReader(options: ReadBalanceOptions & {
81
+ spender?: string;
82
+ }): HalExpression;
83
+ /**
84
+ * Build a HAL approve adapter.
85
+ */
86
+ buildApproveAdapter(options: TransferAdapterOptions): HalExpression;
87
+ }
88
+ /**
89
+ * Parse a raw HAL simulation response into typed structure.
90
+ */
91
+ export declare function parseSimulationResult(raw: unknown): HalSimulationResult;
92
+ //# sourceMappingURL=herd-hal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"herd-hal.d.ts","sourceRoot":"","sources":["../src/herd-hal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EAEb,mBAAmB,EAEpB,MAAM,iBAAiB,CAAC;AAiJzB,MAAM,WAAW,sBAAsB;IACrC,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB;IACjB,UAAU,EAAE,cAAc,CAAC;IAC3B,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB;IACjB,UAAU,EAAE,cAAc,CAAC;IAC3B,2CAA2C;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB;IACjB,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED,qBAAa,UAAU;IACrB;;;;;OAKG;IACH,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,GAAG,aAAa;IA4CpE;;;;;OAKG;IACH,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,aAAa;IAuE1D;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,aAAa;IAqC9D;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,aAAa;IAyCvF;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,sBAAsB,GAAG,aAAa;CA2CpE;AAMD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,CAkBvE"}