@0xtorch/core 0.0.35 → 0.0.36

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 (108) hide show
  1. package/_cjs/actions/parsers/default.js +3 -5
  2. package/_cjs/actions/parsers/default.js.map +1 -1
  3. package/_cjs/actions/parsers/income/atomicArbitrage.js +4 -4
  4. package/_cjs/actions/parsers/income/atomicArbitrage.js.map +1 -1
  5. package/_cjs/actions/utils/createEvidenceNoneAccountActions.js +27 -29
  6. package/_cjs/actions/utils/createEvidenceNoneAccountActions.js.map +1 -1
  7. package/_cjs/actions/utils/mergeSameAssetTransfers.js +3 -5
  8. package/_cjs/actions/utils/mergeSameAssetTransfers.js.map +1 -1
  9. package/_cjs/assets/definitions/coingeckoCryptoCurrencyDataSource.js +2 -2
  10. package/_cjs/assets/definitions/coingeckoCryptoCurrencyDataSource.js.map +1 -1
  11. package/_cjs/assets/externals/coingecko/getAutoRetry.js +2 -2
  12. package/_cjs/assets/externals/coingecko/getAutoRetry.js.map +1 -1
  13. package/_cjs/utils/errors.js +4 -5
  14. package/_cjs/utils/errors.js.map +1 -1
  15. package/_cjs/utils/rest.js +4 -7
  16. package/_cjs/utils/rest.js.map +1 -1
  17. package/_cjs/utils/stringify.js.map +1 -1
  18. package/_esm/actions/parsers/default.js +3 -5
  19. package/_esm/actions/parsers/default.js.map +1 -1
  20. package/_esm/actions/parsers/income/atomicArbitrage.js +4 -4
  21. package/_esm/actions/parsers/income/atomicArbitrage.js.map +1 -1
  22. package/_esm/actions/utils/createEvidenceNoneAccountActions.js +27 -29
  23. package/_esm/actions/utils/createEvidenceNoneAccountActions.js.map +1 -1
  24. package/_esm/actions/utils/mergeSameAssetTransfers.js +3 -5
  25. package/_esm/actions/utils/mergeSameAssetTransfers.js.map +1 -1
  26. package/_esm/assets/definitions/coingeckoCryptoCurrencyDataSource.js +6 -3
  27. package/_esm/assets/definitions/coingeckoCryptoCurrencyDataSource.js.map +1 -1
  28. package/_esm/assets/externals/coingecko/getAutoRetry.js +2 -2
  29. package/_esm/assets/externals/coingecko/getAutoRetry.js.map +1 -1
  30. package/_esm/utils/errors.js +5 -7
  31. package/_esm/utils/errors.js.map +1 -1
  32. package/_esm/utils/rest.js +4 -8
  33. package/_esm/utils/rest.js.map +1 -1
  34. package/_esm/utils/stringify.js +0 -2
  35. package/_esm/utils/stringify.js.map +1 -1
  36. package/_types/actions/parsers/action.d.ts.map +1 -1
  37. package/_types/actions/parsers/borrow/borrow.d.ts.map +1 -1
  38. package/_types/actions/parsers/crossReplace/bridgeFrom.d.ts.map +1 -1
  39. package/_types/actions/parsers/crossReplace/bridgeTo.d.ts.map +1 -1
  40. package/_types/actions/parsers/crossReplace/crossReplace.d.ts.map +1 -1
  41. package/_types/actions/parsers/crossTrade/crossTrade.d.ts.map +1 -1
  42. package/_types/actions/parsers/default.d.ts.map +1 -1
  43. package/_types/actions/parsers/deposit/addLiquidity.d.ts.map +1 -1
  44. package/_types/actions/parsers/deposit/deposit.d.ts.map +1 -1
  45. package/_types/actions/parsers/deposit/depositWithBond.d.ts.map +1 -1
  46. package/_types/actions/parsers/deposit/stake.d.ts.map +1 -1
  47. package/_types/actions/parsers/fee/fee.d.ts.map +1 -1
  48. package/_types/actions/parsers/fee/transactionFee.d.ts.map +1 -1
  49. package/_types/actions/parsers/ignore/approve.d.ts +1 -3
  50. package/_types/actions/parsers/ignore/approve.d.ts.map +1 -1
  51. package/_types/actions/parsers/ignore/failTx.d.ts +1 -3
  52. package/_types/actions/parsers/ignore/failTx.d.ts.map +1 -1
  53. package/_types/actions/parsers/ignore/receiveFromCex.d.ts.map +1 -1
  54. package/_types/actions/parsers/ignore/revoke.d.ts +1 -3
  55. package/_types/actions/parsers/ignore/revoke.d.ts.map +1 -1
  56. package/_types/actions/parsers/ignore/sendToCex.d.ts.map +1 -1
  57. package/_types/actions/parsers/ignore/spam.d.ts +1 -3
  58. package/_types/actions/parsers/ignore/spam.d.ts.map +1 -1
  59. package/_types/actions/parsers/income/atomicArbitrage.d.ts +1 -3
  60. package/_types/actions/parsers/income/atomicArbitrage.d.ts.map +1 -1
  61. package/_types/actions/parsers/income/freeMintNft.d.ts.map +1 -1
  62. package/_types/actions/parsers/income/income.d.ts.map +1 -1
  63. package/_types/actions/parsers/repayment/repayment.d.ts.map +1 -1
  64. package/_types/actions/parsers/repayment/repaymentWithDebt.d.ts.map +1 -1
  65. package/_types/actions/parsers/replace/replace.d.ts.map +1 -1
  66. package/_types/actions/parsers/replace/swapNft.d.ts.map +1 -1
  67. package/_types/actions/parsers/replace/unwrap.d.ts.map +1 -1
  68. package/_types/actions/parsers/replace/wrap.d.ts.map +1 -1
  69. package/_types/actions/parsers/trade/buyCrypto.d.ts.map +1 -1
  70. package/_types/actions/parsers/trade/buyNft.d.ts.map +1 -1
  71. package/_types/actions/parsers/trade/mintNft.d.ts.map +1 -1
  72. package/_types/actions/parsers/trade/sellCrypto.d.ts.map +1 -1
  73. package/_types/actions/parsers/trade/sellNft.d.ts.map +1 -1
  74. package/_types/actions/parsers/trade/trade.d.ts +1 -3
  75. package/_types/actions/parsers/trade/trade.d.ts.map +1 -1
  76. package/_types/actions/parsers/transfer/transfer.d.ts.map +1 -1
  77. package/_types/actions/parsers/valuedown/valuedown.d.ts.map +1 -1
  78. package/_types/actions/parsers/valueup/valueup.d.ts.map +1 -1
  79. package/_types/actions/parsers/withdraw/removeLiquidity.d.ts.map +1 -1
  80. package/_types/actions/parsers/withdraw/unstake.d.ts.map +1 -1
  81. package/_types/actions/parsers/withdraw/withdraw.d.ts.map +1 -1
  82. package/_types/actions/parsers/withdraw/withdrawWithBond.d.ts.map +1 -1
  83. package/_types/actions/utils/createEvidenceNoneAccountActions.d.ts.map +1 -1
  84. package/_types/actions/utils/mergeSameAssetTransfers.d.ts.map +1 -1
  85. package/_types/actions/utils/transfer.d.ts +10 -259
  86. package/_types/actions/utils/transfer.d.ts.map +1 -1
  87. package/_types/assets/creates/createCryptoCurrency.d.ts +2 -16
  88. package/_types/assets/creates/createCryptoCurrency.d.ts.map +1 -1
  89. package/_types/assets/creates/createFiatCurrency.d.ts +2 -7
  90. package/_types/assets/creates/createFiatCurrency.d.ts.map +1 -1
  91. package/_types/assets/definitions/coingeckoCryptoCurrencyDataSource.d.ts.map +1 -1
  92. package/_types/assets/externals/coingecko/getAutoRetry.d.ts.map +1 -1
  93. package/_types/assets/externals/coingecko/getCoinMarketChartRange.d.ts.map +1 -1
  94. package/_types/assets/externals/coingecko/getCoinsMarkets.d.ts.map +1 -1
  95. package/_types/utils/errors.d.ts.map +1 -1
  96. package/_types/utils/rest.d.ts.map +1 -1
  97. package/_types/utils/schema.d.ts.map +1 -1
  98. package/_types/utils/stringify.d.ts.map +1 -1
  99. package/_types/utils/types.d.ts.map +1 -1
  100. package/actions/parsers/default.ts +5 -4
  101. package/actions/utils/createEvidenceNoneAccountActions.ts +27 -37
  102. package/actions/utils/mergeSameAssetTransfers.ts +5 -4
  103. package/assets/definitions/coingeckoCryptoCurrencyDataSource.ts +2 -0
  104. package/package.json +2 -5
  105. package/utils/errors.ts +3 -5
  106. package/utils/rest.ts +4 -6
  107. package/utils/stringify.ts +0 -2
  108. package/utils/types.ts +0 -1
@@ -66,7 +66,7 @@ export const createEvidenceNoneAccountActions = ({
66
66
  }))
67
67
  }
68
68
  // transfer 全てが in のみの場合は個別に income action に変換
69
- else if (inOutTransferList.every((transfer) => transfer.direction === 'in')) {
69
+ if (inOutTransferList.every((transfer) => transfer.direction === 'in')) {
70
70
  const incomeActionList = inOutTransferList
71
71
  .filter((transfer): transfer is TransferIn => transfer.direction === 'in')
72
72
  .map(
@@ -88,9 +88,7 @@ export const createEvidenceNoneAccountActions = ({
88
88
  }))
89
89
  }
90
90
  // transfer 全てが out のみの場合は個別に transfer action に変換
91
- else if (
92
- inOutTransferList.every((transfer) => transfer.direction === 'out')
93
- ) {
91
+ if (inOutTransferList.every((transfer) => transfer.direction === 'out')) {
94
92
  const transferActionList = inOutTransferList
95
93
  .filter(
96
94
  (transfer): transfer is TransferOut => transfer.direction === 'out',
@@ -114,9 +112,7 @@ export const createEvidenceNoneAccountActions = ({
114
112
  }))
115
113
  }
116
114
  // transfer asset 全てが NFT である場合、 swap-nft action に変換
117
- else if (
118
- inOutTransferList.every((transfer) => transfer.asset.type === 'Nft')
119
- ) {
115
+ if (inOutTransferList.every((transfer) => transfer.asset.type === 'Nft')) {
120
116
  return [
121
117
  ...moveActionList,
122
118
  {
@@ -139,7 +135,7 @@ export const createEvidenceNoneAccountActions = ({
139
135
  }))
140
136
  }
141
137
  // in transfer asset 全て NFT , out transfer asset に NFT 含まない場合、 buy-nft action に変換
142
- else if (
138
+ if (
143
139
  inOutTransferList
144
140
  .filter((transfer) => transfer.direction === 'in')
145
141
  .every((transfer) => transfer.asset.type === 'Nft') &&
@@ -179,7 +175,7 @@ export const createEvidenceNoneAccountActions = ({
179
175
  }))
180
176
  }
181
177
  // out transfer 全て NFT, in transfer に NFT を含まない場合、 sell-nft action に変換
182
- else if (
178
+ if (
183
179
  inOutTransferList
184
180
  .filter((transfer) => transfer.direction === 'out')
185
181
  .every((transfer) => transfer.asset.type === 'Nft') &&
@@ -218,7 +214,7 @@ export const createEvidenceNoneAccountActions = ({
218
214
  }))
219
215
  }
220
216
  // in transfer asset 全て Crypto , out transfer asset 全て Fiat の場合、 buy-crypto action に変換
221
- else if (
217
+ if (
222
218
  inOutTransferList
223
219
  .filter((transfer) => transfer.direction === 'in')
224
220
  .every((transfer) => transfer.asset.type === 'CryptoCurrency') &&
@@ -254,7 +250,7 @@ export const createEvidenceNoneAccountActions = ({
254
250
  }))
255
251
  }
256
252
  // in transfer asset 全て Fiat , out transfer asset 全て Crypto の場合、 sell-crypto action に変換
257
- else if (
253
+ if (
258
254
  inOutTransferList
259
255
  .filter((transfer) => transfer.direction === 'in')
260
256
  .every((transfer) => transfer.asset.type === 'FiatCurrency') &&
@@ -290,30 +286,24 @@ export const createEvidenceNoneAccountActions = ({
290
286
  }))
291
287
  }
292
288
  // それ以外の場合、 trade action に変換
293
- else {
294
- return [
295
- ...moveActionList,
296
- {
297
- type: 'NormalAccountAction',
298
- action: 'trade',
299
- source,
300
- order: 0,
301
- comment: undefined,
302
- app: undefined,
303
- evidence: 'none',
304
- timestamp,
305
- transfers: [
306
- ...inOutTransferList.filter(
307
- (transfer) => transfer.direction === 'in',
308
- ),
309
- ...inOutTransferList.filter(
310
- (transfer) => transfer.direction === 'out',
311
- ),
312
- ],
313
- } satisfies AccountActionTrade,
314
- ].map((action, order) => ({
315
- ...action,
316
- order,
317
- }))
318
- }
289
+ return [
290
+ ...moveActionList,
291
+ {
292
+ type: 'NormalAccountAction',
293
+ action: 'trade',
294
+ source,
295
+ order: 0,
296
+ comment: undefined,
297
+ app: undefined,
298
+ evidence: 'none',
299
+ timestamp,
300
+ transfers: [
301
+ ...inOutTransferList.filter((transfer) => transfer.direction === 'in'),
302
+ ...inOutTransferList.filter((transfer) => transfer.direction === 'out'),
303
+ ],
304
+ } satisfies AccountActionTrade,
305
+ ].map((action, order) => ({
306
+ ...action,
307
+ order,
308
+ }))
319
309
  }
@@ -136,13 +136,14 @@ const createTransferDirection = (
136
136
  accountIds.has(transfer.to)
137
137
  ) {
138
138
  return 'none'
139
- } else if (transfer.from !== undefined && accountIds.has(transfer.from)) {
139
+ }
140
+ if (transfer.from !== undefined && accountIds.has(transfer.from)) {
140
141
  return 'out'
141
- } else if (transfer.to !== undefined && accountIds.has(transfer.to)) {
142
+ }
143
+ if (transfer.to !== undefined && accountIds.has(transfer.to)) {
142
144
  return 'in'
143
- } else {
144
- return 'none'
145
145
  }
146
+ return 'none'
146
147
  }
147
148
 
148
149
  const reverseTransferDirection = (
@@ -34,6 +34,7 @@ export const coingeckoCryptoCurrencyDataSource = createCryptoCurrencyDataSource(
34
34
  )
35
35
  }
36
36
  const coingeckoIds = targetCurrencies.map(
37
+ // biome-ignore lint/style/noNonNullAssertion: <explanation>
37
38
  (currency) => currency.market.coingeckoId!,
38
39
  )
39
40
  const coins = await getCoinsMarkets(
@@ -84,6 +85,7 @@ export const coingeckoCryptoCurrencyDataSource = createCryptoCurrencyDataSource(
84
85
  // timestamp から from,to を生成する
85
86
  const sortedTimestampList = timestampList.toSorted((a, b) => a - b)
86
87
  const from = Math.floor(sortedTimestampList[0] / 1000)
88
+ // biome-ignore lint/style/noNonNullAssertion: <explanation>
87
89
  const to = Math.ceil(sortedTimestampList.at(-1)! / 1000)
88
90
 
89
91
  // from, to を 90 日間毎に分割する
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xtorch/core",
3
- "version": "0.0.35",
3
+ "version": "0.0.36",
4
4
  "description": "Cryptorch | TypeScript Analyze Interface for Crypto Data.",
5
5
  "keywords": [
6
6
  "cryptorch",
@@ -35,10 +35,7 @@
35
35
  "!tsconfig.build.json"
36
36
  ],
37
37
  "dependencies": {
38
- "@0xtorch/big-decimal": "^0.0.7",
38
+ "@0xtorch/big-decimal": "^0.0.10",
39
39
  "zod": "^3.23.8"
40
- },
41
- "peerDependencies": {
42
- "typescript": "^5.0.0"
43
40
  }
44
41
  }
package/utils/errors.ts CHANGED
@@ -26,11 +26,10 @@ class BaseError extends Error {
26
26
  const details =
27
27
  arguments_.cause instanceof BaseError
28
28
  ? arguments_.cause.details
29
- : // eslint-disable-next-line unicorn/no-nested-ternary
30
- arguments_.cause?.message !== undefined &&
29
+ : arguments_.cause?.message !== undefined &&
31
30
  arguments_.cause?.message.length > 0
32
31
  ? arguments_.cause.message
33
- : arguments_.details!
32
+ : arguments_.details ?? ''
34
33
 
35
34
  this.message = [
36
35
  shortMessage.length > 0 ? shortMessage : 'An error occurred.',
@@ -49,9 +48,8 @@ class BaseError extends Error {
49
48
 
50
49
  walk(): Error
51
50
  walk(function_: (error: unknown) => boolean): Error | null
52
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
51
+ // biome-ignore lint/suspicious/noExplicitAny: <explanation>
53
52
  walk(function_?: any): any {
54
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
55
53
  return walk(this, function_)
56
54
  }
57
55
  }
package/utils/rest.ts CHANGED
@@ -47,7 +47,6 @@ export const rest = async <TData>(
47
47
  signal: true,
48
48
  },
49
49
  )
50
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
51
50
  const data =
52
51
  response.headers.get('Content-Type')?.startsWith('application/json') ===
53
52
  true
@@ -57,8 +56,7 @@ export const rest = async <TData>(
57
56
  if (!response.ok) {
58
57
  const errorStringify =
59
58
  typeof data === 'object' && data !== null && 'error' in data
60
- ? // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
61
- stringify(data.error)
59
+ ? stringify(data.error)
62
60
  : ''
63
61
  throw new HttpRequestError({
64
62
  body: body === undefined ? undefined : stringify(body),
@@ -77,15 +75,15 @@ export const rest = async <TData>(
77
75
  error instanceof ZodError
78
76
  ) {
79
77
  throw error
80
- } else if (error instanceof Error) {
78
+ }
79
+ if (error instanceof Error) {
81
80
  throw new HttpRequestError({
82
81
  body: body === undefined ? undefined : stringify(body),
83
82
  details: error.message,
84
83
  url,
85
84
  })
86
- } else {
87
- throw error
88
85
  }
86
+ throw error
89
87
  }
90
88
  }
91
89
 
@@ -2,9 +2,7 @@ export const stringify: typeof JSON.stringify = (value, replacer, space) =>
2
2
  JSON.stringify(
3
3
  value,
4
4
  (key, value_) => {
5
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
6
5
  const value = typeof value_ === 'bigint' ? value_.toString() : value_
7
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
8
6
  return typeof replacer === 'function' ? replacer(key, value) : value
9
7
  },
10
8
  space,
package/utils/types.ts CHANGED
@@ -8,5 +8,4 @@
8
8
  */
9
9
  export type Prettify<T> = {
10
10
  [K in keyof T]: T[K]
11
- // eslint-disable-next-line @typescript-eslint/ban-types
12
11
  } & {}