nansen-cli 1.31.1 → 1.32.0

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.32.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#451](https://github.com/nansen-ai/nansen-cli/pull/451) [`73600d9`](https://github.com/nansen-ai/nansen-cli/commit/73600d9cd13248a265332ec0728c602b16f44868) Thanks [@kome12](https://github.com/kome12)! - Add `nansen research profiler dex-trades` command for DEX trade history
8
+
3
9
  ## 1.31.1
4
10
 
5
11
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nansen-cli",
3
- "version": "1.31.1",
3
+ "version": "1.32.0",
4
4
  "description": "AI-agent CLI for Nansen API analytics, DEX swaps, and cross-chain trading",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
package/src/api.js CHANGED
@@ -973,6 +973,20 @@ export class NansenAPI {
973
973
  });
974
974
  }
975
975
 
976
+ async addressDexTrades(params = {}) {
977
+ const { address, chain = 'ethereum', filters = {}, orderBy, pagination, days = 30, date } = params;
978
+ if (address) requireValidAddress(address, chain);
979
+ const dateRange = date || buildDateRange(days);
980
+ return this.request('/api/v1/profiler/dex-trades', {
981
+ address,
982
+ chain,
983
+ date: dateRange,
984
+ filters,
985
+ order_by: orderBy,
986
+ pagination
987
+ });
988
+ }
989
+
976
990
  // ============= Token God Mode Endpoints =============
977
991
 
978
992
  async tokenScreener(params = {}) {
package/src/cli.js CHANGED
@@ -1148,6 +1148,10 @@ export function buildCommands(deps = {}) {
1148
1148
  'pnl-summary': () => apiInstance.addressPnlSummary({ address, chain, orderBy, pagination, days }),
1149
1149
  'perp-positions': () => apiInstance.addressPerpPositions({ address, filters, orderBy, pagination }),
1150
1150
  'perp-trades': () => apiInstance.addressPerpTrades({ address, filters, orderBy, pagination, days }),
1151
+ 'dex-trades': () => {
1152
+ const date = parseDateOption(options.date, days);
1153
+ return apiInstance.addressDexTrades({ address, chain, filters, orderBy, pagination, days, date });
1154
+ },
1151
1155
  'batch': () => {
1152
1156
  let addresses = [];
1153
1157
  if (options.addresses) {
@@ -1186,7 +1190,7 @@ export function buildCommands(deps = {}) {
1186
1190
  return compareWallets(apiInstance, { addresses: addrs, chain, days });
1187
1191
  },
1188
1192
  'help': () => ({
1189
- commands: ['balance', 'labels', 'transactions', 'pnl', 'search', 'historical-balances', 'related-wallets', 'counterparties', 'pnl-summary', 'perp-positions', 'perp-trades', 'batch', 'trace', 'compare'],
1193
+ commands: ['balance', 'labels', 'transactions', 'pnl', 'search', 'historical-balances', 'related-wallets', 'counterparties', 'pnl-summary', 'perp-positions', 'perp-trades', 'dex-trades', 'batch', 'trace', 'compare'],
1190
1194
  description: 'Wallet profiling endpoints',
1191
1195
  example: 'nansen research profiler compare --addresses "0xABC...,0xDEF..." --chain ethereum'
1192
1196
  })
package/src/schema.json CHANGED
@@ -203,6 +203,21 @@
203
203
  }
204
204
  }
205
205
  },
206
+ "dex-trades": {
207
+ "endpoint": "/api/v1/profiler/dex-trades",
208
+ "description": "DEX trade history for a wallet",
209
+ "options": {
210
+ "address": {
211
+ "required": true
212
+ },
213
+ "chain": {
214
+ "default": "ethereum"
215
+ },
216
+ "days": {
217
+ "default": 30
218
+ }
219
+ }
220
+ },
206
221
  "search": {
207
222
  "endpoint": "/api/v1/search/entity-name",
208
223
  "description": "Search for entities by name",