@1stdex/first-sdk 1.0.65 → 1.0.67
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/dist/cjs/entities/trade/apis/index.js +126 -0
- package/dist/cjs/entities/trade/apis/index.js.map +1 -0
- package/dist/cjs/entities/trade/types.js +3 -0
- package/dist/cjs/entities/trade/types.js.map +1 -0
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/views/index.js +5 -1
- package/dist/cjs/views/index.js.map +1 -1
- package/dist/cjs/views/trade-history.js +13 -0
- package/dist/cjs/views/trade-history.js.map +1 -0
- package/dist/cjs/views/user-volume.js +15 -0
- package/dist/cjs/views/user-volume.js.map +1 -0
- package/dist/esm/entities/trade/apis/index.js +141 -0
- package/dist/esm/entities/trade/apis/index.js.map +1 -0
- package/dist/esm/entities/trade/types.js +2 -0
- package/dist/esm/entities/trade/types.js.map +1 -0
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/views/index.js +2 -0
- package/dist/esm/views/index.js.map +1 -1
- package/dist/esm/views/trade-history.js +40 -0
- package/dist/esm/views/trade-history.js.map +1 -0
- package/dist/esm/views/user-volume.js +26 -0
- package/dist/esm/views/user-volume.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/entities/trade/apis/index.d.ts +15 -0
- package/dist/types/entities/trade/apis/index.d.ts.map +1 -0
- package/dist/types/entities/trade/types.d.ts +18 -0
- package/dist/types/entities/trade/types.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +1 -0
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/views/index.d.ts +2 -0
- package/dist/types/views/index.d.ts.map +1 -1
- package/dist/types/views/trade-history.d.ts +41 -0
- package/dist/types/views/trade-history.d.ts.map +1 -0
- package/dist/types/views/user-volume.d.ts +21 -0
- package/dist/types/views/user-volume.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CHAIN_IDS } from '../../../constants/chain-configs/chain';
|
|
2
|
+
import type { TradeHistoryResult } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Fetch trade history for a user from the subgraph
|
|
5
|
+
* @param chainId - chain id from {@link CHAIN_IDS}
|
|
6
|
+
* @param userAddress - The Ethereum address of the user
|
|
7
|
+
* @param options - Optional parameters for filtering and pagination
|
|
8
|
+
* @returns Trade history with pagination info
|
|
9
|
+
*/
|
|
10
|
+
export declare function fetchTradeHistoryFromSubgraph(chainId: CHAIN_IDS, userAddress: `0x${string}`, options?: {
|
|
11
|
+
tokenAddresses?: `0x${string}`[];
|
|
12
|
+
limit?: number | undefined;
|
|
13
|
+
cursor?: string | undefined;
|
|
14
|
+
}): Promise<TradeHistoryResult>;
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/entities/trade/apis/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAInE,OAAO,KAAK,EAAS,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAyF1D;;;;;;GAMG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,SAAS,EAClB,WAAW,EAAE,KAAK,MAAM,EAAE,EAC1B,OAAO,CAAC,EAAE;IACR,cAAc,CAAC,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,GACA,OAAO,CAAC,kBAAkB,CAAC,CA6G7B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { CurrencyFlow } from '../currency/types';
|
|
2
|
+
export type Trade = {
|
|
3
|
+
id: string;
|
|
4
|
+
type: 'buy' | 'sell';
|
|
5
|
+
usdAmount: string;
|
|
6
|
+
spent: CurrencyFlow;
|
|
7
|
+
taken: CurrencyFlow;
|
|
8
|
+
timestamp: number;
|
|
9
|
+
txHash: `0x${string}`;
|
|
10
|
+
};
|
|
11
|
+
export type TradeHistoryResult = {
|
|
12
|
+
trades: Trade[];
|
|
13
|
+
pageInfo: {
|
|
14
|
+
hasNextPage: boolean;
|
|
15
|
+
endCursor: string | null;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/entities/trade/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,QAAQ,EAAE;QACR,WAAW,EAAE,OAAO,CAAC;QACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,CAAC;CACH,CAAC"}
|
|
@@ -8,6 +8,7 @@ export type { DefaultReadContractOptions, DefaultWriteContractOptions, } from '.
|
|
|
8
8
|
export type { Transaction } from './transaction';
|
|
9
9
|
export type { PermitSignature, ERC20PermitParam } from './permit';
|
|
10
10
|
export type { TransactionType, AnalyticsSnapshot, UserVolumeSnapshot, AnalyticsSummary, TopUser, } from '../entities/analytics/types';
|
|
11
|
+
export type { Trade, TradeHistoryResult } from '../entities/trade/types';
|
|
11
12
|
export declare enum CHART_LOG_INTERVALS {
|
|
12
13
|
oneMinute = "1m",
|
|
13
14
|
threeMinutes = "3m",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChF,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EACV,MAAM,EACN,cAAc,EACd,QAAQ,GACT,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,YAAY,EACV,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAClE,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,GACR,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChF,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EACV,MAAM,EACN,cAAc,EACd,QAAQ,GACT,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,YAAY,EACV,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAClE,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,GACR,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEzE,oBAAY,mBAAmB;IAC7B,SAAS,OAAO;IAChB,YAAY,OAAO;IACnB,WAAW,OAAO;IAClB,UAAU,QAAQ;IAClB,cAAc,QAAQ;IACtB,aAAa,QAAQ;IACrB,OAAO,OAAO;IACd,QAAQ,OAAO;IACf,SAAS,OAAO;IAChB,QAAQ,OAAO;IACf,MAAM,OAAO;IACb,OAAO,OAAO;CACf"}
|
|
@@ -10,4 +10,6 @@ export { getTradingBalance, getPortfolioBalance, getAllBalances, } from './balan
|
|
|
10
10
|
export { checkTokenAllowances, needsVaultDeposit, getOrderSetupStatus, } from './setup';
|
|
11
11
|
export { getBookPositionValue } from './book';
|
|
12
12
|
export { getOrderPositionValue } from './order';
|
|
13
|
+
export { getTradeHistory } from './trade-history';
|
|
14
|
+
export { getUserVolumeUSD } from './user-volume';
|
|
13
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,4BAA4B,EAC5B,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,4BAA4B,EAC5B,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { CHAIN_IDS } from '../constants/chain-configs/chain';
|
|
2
|
+
import { TradeHistoryResult } from '../entities/trade/types';
|
|
3
|
+
/**
|
|
4
|
+
* Retrieves trade history for the specified user on the given chain.
|
|
5
|
+
*
|
|
6
|
+
* @param {CHAIN_IDS} chainId The chain ID.
|
|
7
|
+
* @param {`0x${string}`} userAddress The Ethereum address of the user.
|
|
8
|
+
* @param {`0x${string}`[]} tokenAddresses Optional. Filter trades where any of these addresses is either input or output token. If empty array or undefined, no filtering is applied.
|
|
9
|
+
* @param {number} limit Optional. Maximum number of trades to return per page (default: 50).
|
|
10
|
+
* @param {string} cursor Optional. Pagination cursor (timestamp) to fetch trades older than this cursor.
|
|
11
|
+
* @returns {Promise<TradeHistoryResult>} Promise resolving to trade history with pagination metadata.
|
|
12
|
+
* @example
|
|
13
|
+
* import { getTradeHistory } from '@1stdex/first-sdk'
|
|
14
|
+
*
|
|
15
|
+
* const history = await getTradeHistory({
|
|
16
|
+
* chainId: 421614,
|
|
17
|
+
* userAddress: '0x5F79EE8f8fA862E98201120d83c4eC39D9468D49'
|
|
18
|
+
* })
|
|
19
|
+
*
|
|
20
|
+
* // Fetch next page
|
|
21
|
+
* const nextPage = await getTradeHistory({
|
|
22
|
+
* chainId: 421614,
|
|
23
|
+
* userAddress: '0x5F79EE8f8fA862E98201120d83c4eC39D9468D49',
|
|
24
|
+
* cursor: history.pageInfo.endCursor
|
|
25
|
+
* })
|
|
26
|
+
*
|
|
27
|
+
* // Filter by tokens
|
|
28
|
+
* const usdcTrades = await getTradeHistory({
|
|
29
|
+
* chainId: 421614,
|
|
30
|
+
* userAddress: '0x5F79EE8f8fA862E98201120d83c4eC39D9468D49',
|
|
31
|
+
* tokenAddresses: ['0x036CbD53842c5426634e7929541eC2318f3dCF7e']
|
|
32
|
+
* })
|
|
33
|
+
*/
|
|
34
|
+
export declare const getTradeHistory: ({ chainId, userAddress, tokenAddresses, limit, cursor, }: {
|
|
35
|
+
chainId: CHAIN_IDS;
|
|
36
|
+
userAddress: `0x${string}`;
|
|
37
|
+
tokenAddresses?: `0x${string}`[];
|
|
38
|
+
limit?: number;
|
|
39
|
+
cursor?: string;
|
|
40
|
+
}) => Promise<TradeHistoryResult>;
|
|
41
|
+
//# sourceMappingURL=trade-history.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trade-history.d.ts","sourceRoot":"","sources":["../../../src/views/trade-history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,eAAe,6DAMzB;IACD,OAAO,EAAE,SAAS,CAAC;IACnB,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,KAAG,QAAQ,kBAAkB,CAM7B,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { CHAIN_IDS } from '../constants/chain-configs/chain';
|
|
2
|
+
/**
|
|
3
|
+
* Retrieves the total volume in USD for a given user address.
|
|
4
|
+
*
|
|
5
|
+
* @param {CHAIN_IDS} chainId The chain ID.
|
|
6
|
+
* @param {`0x${string}`} userAddress The Ethereum address of the user.
|
|
7
|
+
* @returns {Promise<string>} Promise resolving to the user's total volume in USD.
|
|
8
|
+
* @example
|
|
9
|
+
* import { getUserVolumeUSD } from '@1stdex/first-sdk'
|
|
10
|
+
*
|
|
11
|
+
* const volumeUSD = await getUserVolumeUSD({
|
|
12
|
+
* chainId: 421614,
|
|
13
|
+
* userAddress: '0x5F79EE8f8fA862E98201120d83c4eC39D9468D49'
|
|
14
|
+
* })
|
|
15
|
+
* console.log(`User volume: $${volumeUSD}`)
|
|
16
|
+
*/
|
|
17
|
+
export declare const getUserVolumeUSD: ({ chainId, userAddress, }: {
|
|
18
|
+
chainId: CHAIN_IDS;
|
|
19
|
+
userAddress: `0x${string}`;
|
|
20
|
+
}) => Promise<string>;
|
|
21
|
+
//# sourceMappingURL=user-volume.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-volume.d.ts","sourceRoot":"","sources":["../../../src/views/user-volume.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAW7D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB,8BAG1B;IACD,OAAO,EAAE,SAAS,CAAC;IACnB,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;CAC5B,KAAG,QAAQ,MAAM,CAmBjB,CAAC"}
|