@agnocon/piece-blockscout 0.1.6

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 (217) hide show
  1. package/LICENSE.MIT-AP +24 -0
  2. package/dist/index.d.ts +2 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +52 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/lib/actions/addresses/address-blocks-validated.d.ts +4 -0
  7. package/dist/lib/actions/addresses/address-blocks-validated.d.ts.map +1 -0
  8. package/dist/lib/actions/addresses/address-blocks-validated.js +36 -0
  9. package/dist/lib/actions/addresses/address-blocks-validated.js.map +1 -0
  10. package/dist/lib/actions/addresses/address-by-hash.d.ts +4 -0
  11. package/dist/lib/actions/addresses/address-by-hash.d.ts.map +1 -0
  12. package/dist/lib/actions/addresses/address-by-hash.js +36 -0
  13. package/dist/lib/actions/addresses/address-by-hash.js.map +1 -0
  14. package/dist/lib/actions/addresses/address-coin-balance-history-by-day.d.ts +4 -0
  15. package/dist/lib/actions/addresses/address-coin-balance-history-by-day.d.ts.map +1 -0
  16. package/dist/lib/actions/addresses/address-coin-balance-history-by-day.js +36 -0
  17. package/dist/lib/actions/addresses/address-coin-balance-history-by-day.js.map +1 -0
  18. package/dist/lib/actions/addresses/address-coin-balance-history.d.ts +4 -0
  19. package/dist/lib/actions/addresses/address-coin-balance-history.d.ts.map +1 -0
  20. package/dist/lib/actions/addresses/address-coin-balance-history.js +36 -0
  21. package/dist/lib/actions/addresses/address-coin-balance-history.js.map +1 -0
  22. package/dist/lib/actions/addresses/address-counters.d.ts +4 -0
  23. package/dist/lib/actions/addresses/address-counters.d.ts.map +1 -0
  24. package/dist/lib/actions/addresses/address-counters.js +36 -0
  25. package/dist/lib/actions/addresses/address-counters.js.map +1 -0
  26. package/dist/lib/actions/addresses/address-internal-transactions.d.ts +4 -0
  27. package/dist/lib/actions/addresses/address-internal-transactions.d.ts.map +1 -0
  28. package/dist/lib/actions/addresses/address-internal-transactions.js +36 -0
  29. package/dist/lib/actions/addresses/address-internal-transactions.js.map +1 -0
  30. package/dist/lib/actions/addresses/address-logs.d.ts +4 -0
  31. package/dist/lib/actions/addresses/address-logs.d.ts.map +1 -0
  32. package/dist/lib/actions/addresses/address-logs.js +36 -0
  33. package/dist/lib/actions/addresses/address-logs.js.map +1 -0
  34. package/dist/lib/actions/addresses/address-token-balances.d.ts +4 -0
  35. package/dist/lib/actions/addresses/address-token-balances.d.ts.map +1 -0
  36. package/dist/lib/actions/addresses/address-token-balances.js +36 -0
  37. package/dist/lib/actions/addresses/address-token-balances.js.map +1 -0
  38. package/dist/lib/actions/addresses/address-token-transfers.d.ts +4 -0
  39. package/dist/lib/actions/addresses/address-token-transfers.d.ts.map +1 -0
  40. package/dist/lib/actions/addresses/address-token-transfers.js +36 -0
  41. package/dist/lib/actions/addresses/address-token-transfers.js.map +1 -0
  42. package/dist/lib/actions/addresses/address-tokens.d.ts +4 -0
  43. package/dist/lib/actions/addresses/address-tokens.d.ts.map +1 -0
  44. package/dist/lib/actions/addresses/address-tokens.js +36 -0
  45. package/dist/lib/actions/addresses/address-tokens.js.map +1 -0
  46. package/dist/lib/actions/addresses/address-transactions.d.ts +4 -0
  47. package/dist/lib/actions/addresses/address-transactions.d.ts.map +1 -0
  48. package/dist/lib/actions/addresses/address-transactions.js +36 -0
  49. package/dist/lib/actions/addresses/address-transactions.js.map +1 -0
  50. package/dist/lib/actions/addresses/address-withdrawals.d.ts +4 -0
  51. package/dist/lib/actions/addresses/address-withdrawals.d.ts.map +1 -0
  52. package/dist/lib/actions/addresses/address-withdrawals.js +36 -0
  53. package/dist/lib/actions/addresses/address-withdrawals.js.map +1 -0
  54. package/dist/lib/actions/addresses/addresses.d.ts +2 -0
  55. package/dist/lib/actions/addresses/addresses.d.ts.map +1 -0
  56. package/dist/lib/actions/addresses/addresses.js +30 -0
  57. package/dist/lib/actions/addresses/addresses.js.map +1 -0
  58. package/dist/lib/actions/addresses/index.d.ts +14 -0
  59. package/dist/lib/actions/addresses/index.d.ts.map +1 -0
  60. package/dist/lib/actions/addresses/index.js +19 -0
  61. package/dist/lib/actions/addresses/index.js.map +1 -0
  62. package/dist/lib/actions/blocks/block-by-hash.d.ts +4 -0
  63. package/dist/lib/actions/blocks/block-by-hash.d.ts.map +1 -0
  64. package/dist/lib/actions/blocks/block-by-hash.js +36 -0
  65. package/dist/lib/actions/blocks/block-by-hash.js.map +1 -0
  66. package/dist/lib/actions/blocks/block-transactions.d.ts +4 -0
  67. package/dist/lib/actions/blocks/block-transactions.d.ts.map +1 -0
  68. package/dist/lib/actions/blocks/block-transactions.js +36 -0
  69. package/dist/lib/actions/blocks/block-transactions.js.map +1 -0
  70. package/dist/lib/actions/blocks/block-withdrawals.d.ts +4 -0
  71. package/dist/lib/actions/blocks/block-withdrawals.d.ts.map +1 -0
  72. package/dist/lib/actions/blocks/block-withdrawals.js +36 -0
  73. package/dist/lib/actions/blocks/block-withdrawals.js.map +1 -0
  74. package/dist/lib/actions/blocks/blocks.d.ts +2 -0
  75. package/dist/lib/actions/blocks/blocks.d.ts.map +1 -0
  76. package/dist/lib/actions/blocks/blocks.js +30 -0
  77. package/dist/lib/actions/blocks/blocks.js.map +1 -0
  78. package/dist/lib/actions/blocks/index.d.ts +6 -0
  79. package/dist/lib/actions/blocks/index.d.ts.map +1 -0
  80. package/dist/lib/actions/blocks/index.js +11 -0
  81. package/dist/lib/actions/blocks/index.js.map +1 -0
  82. package/dist/lib/actions/blocks/main-page-blocks.d.ts +2 -0
  83. package/dist/lib/actions/blocks/main-page-blocks.d.ts.map +1 -0
  84. package/dist/lib/actions/blocks/main-page-blocks.js +30 -0
  85. package/dist/lib/actions/blocks/main-page-blocks.js.map +1 -0
  86. package/dist/lib/actions/index.d.ts +7 -0
  87. package/dist/lib/actions/index.d.ts.map +1 -0
  88. package/dist/lib/actions/index.js +12 -0
  89. package/dist/lib/actions/index.js.map +1 -0
  90. package/dist/lib/actions/search/index.d.ts +2 -0
  91. package/dist/lib/actions/search/index.d.ts.map +1 -0
  92. package/dist/lib/actions/search/index.js +7 -0
  93. package/dist/lib/actions/search/index.js.map +1 -0
  94. package/dist/lib/actions/search/search.d.ts +4 -0
  95. package/dist/lib/actions/search/search.d.ts.map +1 -0
  96. package/dist/lib/actions/search/search.js +39 -0
  97. package/dist/lib/actions/search/search.js.map +1 -0
  98. package/dist/lib/actions/search-redirect/check-redirect.d.ts +4 -0
  99. package/dist/lib/actions/search-redirect/check-redirect.d.ts.map +1 -0
  100. package/dist/lib/actions/search-redirect/check-redirect.js +39 -0
  101. package/dist/lib/actions/search-redirect/check-redirect.js.map +1 -0
  102. package/dist/lib/actions/search-redirect/index.d.ts +2 -0
  103. package/dist/lib/actions/search-redirect/index.d.ts.map +1 -0
  104. package/dist/lib/actions/search-redirect/index.js +7 -0
  105. package/dist/lib/actions/search-redirect/index.js.map +1 -0
  106. package/dist/lib/actions/tokens/index.d.ts +7 -0
  107. package/dist/lib/actions/tokens/index.d.ts.map +1 -0
  108. package/dist/lib/actions/tokens/index.js +12 -0
  109. package/dist/lib/actions/tokens/index.js.map +1 -0
  110. package/dist/lib/actions/tokens/token-by-address.d.ts +4 -0
  111. package/dist/lib/actions/tokens/token-by-address.d.ts.map +1 -0
  112. package/dist/lib/actions/tokens/token-by-address.js +36 -0
  113. package/dist/lib/actions/tokens/token-by-address.js.map +1 -0
  114. package/dist/lib/actions/tokens/token-counters.d.ts +4 -0
  115. package/dist/lib/actions/tokens/token-counters.d.ts.map +1 -0
  116. package/dist/lib/actions/tokens/token-counters.js +36 -0
  117. package/dist/lib/actions/tokens/token-counters.js.map +1 -0
  118. package/dist/lib/actions/tokens/token-holders.d.ts +4 -0
  119. package/dist/lib/actions/tokens/token-holders.d.ts.map +1 -0
  120. package/dist/lib/actions/tokens/token-holders.js +36 -0
  121. package/dist/lib/actions/tokens/token-holders.js.map +1 -0
  122. package/dist/lib/actions/tokens/token-instances.d.ts +4 -0
  123. package/dist/lib/actions/tokens/token-instances.d.ts.map +1 -0
  124. package/dist/lib/actions/tokens/token-instances.js +36 -0
  125. package/dist/lib/actions/tokens/token-instances.js.map +1 -0
  126. package/dist/lib/actions/tokens/token-transfers.d.ts +4 -0
  127. package/dist/lib/actions/tokens/token-transfers.d.ts.map +1 -0
  128. package/dist/lib/actions/tokens/token-transfers.js +36 -0
  129. package/dist/lib/actions/tokens/token-transfers.js.map +1 -0
  130. package/dist/lib/actions/tokens/tokens.d.ts +2 -0
  131. package/dist/lib/actions/tokens/tokens.d.ts.map +1 -0
  132. package/dist/lib/actions/tokens/tokens.js +30 -0
  133. package/dist/lib/actions/tokens/tokens.js.map +1 -0
  134. package/dist/lib/actions/transactions/index.d.ts +10 -0
  135. package/dist/lib/actions/transactions/index.d.ts.map +1 -0
  136. package/dist/lib/actions/transactions/index.js +15 -0
  137. package/dist/lib/actions/transactions/index.js.map +1 -0
  138. package/dist/lib/actions/transactions/main-page-transactions.d.ts +2 -0
  139. package/dist/lib/actions/transactions/main-page-transactions.d.ts.map +1 -0
  140. package/dist/lib/actions/transactions/main-page-transactions.js +30 -0
  141. package/dist/lib/actions/transactions/main-page-transactions.js.map +1 -0
  142. package/dist/lib/actions/transactions/transaction-by-hash.d.ts +4 -0
  143. package/dist/lib/actions/transactions/transaction-by-hash.d.ts.map +1 -0
  144. package/dist/lib/actions/transactions/transaction-by-hash.js +36 -0
  145. package/dist/lib/actions/transactions/transaction-by-hash.js.map +1 -0
  146. package/dist/lib/actions/transactions/transaction-internal-transactions.d.ts +4 -0
  147. package/dist/lib/actions/transactions/transaction-internal-transactions.d.ts.map +1 -0
  148. package/dist/lib/actions/transactions/transaction-internal-transactions.js +36 -0
  149. package/dist/lib/actions/transactions/transaction-internal-transactions.js.map +1 -0
  150. package/dist/lib/actions/transactions/transaction-logs.d.ts +4 -0
  151. package/dist/lib/actions/transactions/transaction-logs.d.ts.map +1 -0
  152. package/dist/lib/actions/transactions/transaction-logs.js +36 -0
  153. package/dist/lib/actions/transactions/transaction-logs.js.map +1 -0
  154. package/dist/lib/actions/transactions/transaction-raw-trace.d.ts +4 -0
  155. package/dist/lib/actions/transactions/transaction-raw-trace.d.ts.map +1 -0
  156. package/dist/lib/actions/transactions/transaction-raw-trace.js +36 -0
  157. package/dist/lib/actions/transactions/transaction-raw-trace.js.map +1 -0
  158. package/dist/lib/actions/transactions/transaction-state-changes.d.ts +4 -0
  159. package/dist/lib/actions/transactions/transaction-state-changes.d.ts.map +1 -0
  160. package/dist/lib/actions/transactions/transaction-state-changes.js +36 -0
  161. package/dist/lib/actions/transactions/transaction-state-changes.js.map +1 -0
  162. package/dist/lib/actions/transactions/transaction-summary.d.ts +4 -0
  163. package/dist/lib/actions/transactions/transaction-summary.d.ts.map +1 -0
  164. package/dist/lib/actions/transactions/transaction-summary.js +36 -0
  165. package/dist/lib/actions/transactions/transaction-summary.js.map +1 -0
  166. package/dist/lib/actions/transactions/transaction-token-transfers.d.ts +4 -0
  167. package/dist/lib/actions/transactions/transaction-token-transfers.d.ts.map +1 -0
  168. package/dist/lib/actions/transactions/transaction-token-transfers.js +36 -0
  169. package/dist/lib/actions/transactions/transaction-token-transfers.js.map +1 -0
  170. package/dist/lib/actions/transactions/transactions.d.ts +2 -0
  171. package/dist/lib/actions/transactions/transactions.d.ts.map +1 -0
  172. package/dist/lib/actions/transactions/transactions.js +30 -0
  173. package/dist/lib/actions/transactions/transactions.js.map +1 -0
  174. package/package.json +46 -0
  175. package/src/index.ts +84 -0
  176. package/src/lib/actions/addresses/address-blocks-validated.ts +28 -0
  177. package/src/lib/actions/addresses/address-by-hash.ts +28 -0
  178. package/src/lib/actions/addresses/address-coin-balance-history-by-day.ts +28 -0
  179. package/src/lib/actions/addresses/address-coin-balance-history.ts +28 -0
  180. package/src/lib/actions/addresses/address-counters.ts +28 -0
  181. package/src/lib/actions/addresses/address-internal-transactions.ts +28 -0
  182. package/src/lib/actions/addresses/address-logs.ts +28 -0
  183. package/src/lib/actions/addresses/address-token-balances.ts +28 -0
  184. package/src/lib/actions/addresses/address-token-transfers.ts +28 -0
  185. package/src/lib/actions/addresses/address-tokens.ts +28 -0
  186. package/src/lib/actions/addresses/address-transactions.ts +28 -0
  187. package/src/lib/actions/addresses/address-withdrawals.ts +28 -0
  188. package/src/lib/actions/addresses/addresses.ts +22 -0
  189. package/src/lib/actions/addresses/index.ts +13 -0
  190. package/src/lib/actions/blocks/block-by-hash.ts +28 -0
  191. package/src/lib/actions/blocks/block-transactions.ts +28 -0
  192. package/src/lib/actions/blocks/block-withdrawals.ts +28 -0
  193. package/src/lib/actions/blocks/blocks.ts +22 -0
  194. package/src/lib/actions/blocks/index.ts +5 -0
  195. package/src/lib/actions/blocks/main-page-blocks.ts +22 -0
  196. package/src/lib/actions/index.ts +6 -0
  197. package/src/lib/actions/search/index.ts +1 -0
  198. package/src/lib/actions/search/search.ts +31 -0
  199. package/src/lib/actions/search-redirect/check-redirect.ts +31 -0
  200. package/src/lib/actions/search-redirect/index.ts +1 -0
  201. package/src/lib/actions/tokens/index.ts +6 -0
  202. package/src/lib/actions/tokens/token-by-address.ts +28 -0
  203. package/src/lib/actions/tokens/token-counters.ts +28 -0
  204. package/src/lib/actions/tokens/token-holders.ts +28 -0
  205. package/src/lib/actions/tokens/token-instances.ts +28 -0
  206. package/src/lib/actions/tokens/token-transfers.ts +28 -0
  207. package/src/lib/actions/tokens/tokens.ts +23 -0
  208. package/src/lib/actions/transactions/index.ts +9 -0
  209. package/src/lib/actions/transactions/main-page-transactions.ts +22 -0
  210. package/src/lib/actions/transactions/transaction-by-hash.ts +28 -0
  211. package/src/lib/actions/transactions/transaction-internal-transactions.ts +28 -0
  212. package/src/lib/actions/transactions/transaction-logs.ts +28 -0
  213. package/src/lib/actions/transactions/transaction-raw-trace.ts +28 -0
  214. package/src/lib/actions/transactions/transaction-state-changes.ts +28 -0
  215. package/src/lib/actions/transactions/transaction-summary.ts +28 -0
  216. package/src/lib/actions/transactions/transaction-token-transfers.ts +28 -0
  217. package/src/lib/actions/transactions/transactions.ts +22 -0
@@ -0,0 +1,28 @@
1
+ import { createAction, Property } from '@agnocon/pieces-framework';
2
+ import { httpClient, HttpMethod } from '@agnocon/pieces-common';
3
+
4
+ export const getTransactionInternalTransactions = createAction({
5
+ name: 'get_transaction_internal_transactions',
6
+ displayName: 'Get Transaction Internal Transactions',
7
+ description: 'Get list of internal transactions in a transaction',
8
+ audience: 'both',
9
+ aiMetadata: { description: 'List the internal transactions (value-transferring calls made by contracts, not separate top-level transactions) triggered within one Ethereum transaction, identified by its hash. Read-only. Use this to trace contract-to-contract ETH movement inside a single transaction; for ERC token movements in that transaction use Get Transaction Token Transfers instead.', idempotent: true },
10
+ // category: 'Transactions',
11
+ props: {
12
+ transactionHash: Property.ShortText({
13
+ displayName: 'Transaction Hash',
14
+ description: 'Hash of the transaction to fetch internal transactions for',
15
+ required: true,
16
+ }),
17
+ },
18
+ async run(context) {
19
+ const response = await httpClient.sendRequest({
20
+ method: HttpMethod.GET,
21
+ url: `https://eth.blockscout.com/api/v2/transactions/${context.propsValue.transactionHash}/internal-transactions`,
22
+ });
23
+ if (response.status !== 200) {
24
+ throw new Error(`Blockscout API request failed with status ${response.status}`);
25
+ }
26
+ return response.body;
27
+ },
28
+ });
@@ -0,0 +1,28 @@
1
+ import { createAction, Property } from '@agnocon/pieces-framework';
2
+ import { httpClient, HttpMethod } from '@agnocon/pieces-common';
3
+
4
+ export const getTransactionLogs = createAction({
5
+ name: 'get_transaction_logs',
6
+ displayName: 'Get Transaction Logs',
7
+ description: 'Get list of logs generated by a transaction',
8
+ audience: 'both',
9
+ aiMetadata: { description: 'List the event logs emitted by one Ethereum transaction, identified by its hash (decoded contract events with topics and data). Read-only. Use this to inspect what events a transaction fired; for the resulting account/storage changes use Get Transaction State Changes instead.', idempotent: true },
10
+ // category: 'Transactions',
11
+ props: {
12
+ transactionHash: Property.ShortText({
13
+ displayName: 'Transaction Hash',
14
+ description: 'Hash of the transaction to fetch logs for',
15
+ required: true,
16
+ }),
17
+ },
18
+ async run(context) {
19
+ const response = await httpClient.sendRequest({
20
+ method: HttpMethod.GET,
21
+ url: `https://eth.blockscout.com/api/v2/transactions/${context.propsValue.transactionHash}/logs`,
22
+ });
23
+ if (response.status !== 200) {
24
+ throw new Error(`Blockscout API request failed with status ${response.status}`);
25
+ }
26
+ return response.body;
27
+ },
28
+ });
@@ -0,0 +1,28 @@
1
+ import { createAction, Property } from '@agnocon/pieces-framework';
2
+ import { httpClient, HttpMethod } from '@agnocon/pieces-common';
3
+
4
+ export const getTransactionRawTrace = createAction({
5
+ name: 'get_transaction_raw_trace',
6
+ displayName: 'Get Transaction Raw Trace',
7
+ description: 'Get raw trace data for a transaction',
8
+ audience: 'both',
9
+ aiMetadata: { description: 'Get the low-level raw execution trace (opcode-level call frames) for one Ethereum transaction by hash. Read-only and intended for deep debugging of contract execution. Prefer the higher-level Get Transaction Internal Transactions or Get Transaction by Hash actions for ordinary lookups; reach for this only when you need the full unprocessed trace.', idempotent: true },
10
+ // category: 'Transactions',
11
+ props: {
12
+ transactionHash: Property.ShortText({
13
+ displayName: 'Transaction Hash',
14
+ description: 'Hash of the transaction to fetch raw trace for',
15
+ required: true,
16
+ }),
17
+ },
18
+ async run(context) {
19
+ const response = await httpClient.sendRequest({
20
+ method: HttpMethod.GET,
21
+ url: `https://eth.blockscout.com/api/v2/transactions/${context.propsValue.transactionHash}/raw-trace`,
22
+ });
23
+ if (response.status !== 200) {
24
+ throw new Error(`Blockscout API request failed with status ${response.status}`);
25
+ }
26
+ return response.body;
27
+ },
28
+ });
@@ -0,0 +1,28 @@
1
+ import { createAction, Property } from '@agnocon/pieces-framework';
2
+ import { httpClient, HttpMethod } from '@agnocon/pieces-common';
3
+ export const getTransactionStateChanges = createAction({
4
+ name: 'get_transaction_state_changes',
5
+ displayName: 'Get Transaction State Changes',
6
+ description: 'Get list of state changes in a transaction',
7
+ audience: 'both',
8
+ aiMetadata: { description: 'List the account balance and storage state changes (before/after values) caused by one Ethereum transaction, identified by its hash. Read-only. Use this to see how a transaction altered account or contract state; for the events it emitted use Get Transaction Logs instead.', idempotent: true },
9
+
10
+ // category: 'Transactions',
11
+ props: {
12
+ transactionHash: Property.ShortText({
13
+ displayName: 'Transaction Hash',
14
+ description: 'Hash of the transaction to fetch state changes for',
15
+ required: true,
16
+ }),
17
+ },
18
+ async run(context) {
19
+ const response = await httpClient.sendRequest({
20
+ method: HttpMethod.GET,
21
+ url: `https://eth.blockscout.com/api/v2/transactions/${context.propsValue.transactionHash}/state-changes`,
22
+ });
23
+ if (response.status !== 200) {
24
+ throw new Error(`Blockscout API request failed with status ${response.status}`);
25
+ }
26
+ return response.body;
27
+ },
28
+ });
@@ -0,0 +1,28 @@
1
+ import { createAction, Property } from '@agnocon/pieces-framework';
2
+ import { httpClient, HttpMethod } from '@agnocon/pieces-common';
3
+
4
+ export const getTransactionSummary = createAction({
5
+ name: 'get_transaction_summary',
6
+ displayName: 'Get Transaction Summary',
7
+ description: 'Get a human-readable summary of a transaction',
8
+ audience: 'both',
9
+ aiMetadata: { description: "Get Blockscout's interpreted, human-readable summary of one Ethereum transaction by hash (e.g. a plain-language description of what the transaction did, such as a swap or transfer). Read-only. Use this for a quick natural-language explanation; for the structured raw fields use Get Transaction by Hash instead.", idempotent: true },
10
+ // category: 'Transactions',
11
+ props: {
12
+ transactionHash: Property.ShortText({
13
+ displayName: 'Transaction Hash',
14
+ description: 'Hash of the transaction to fetch summary for',
15
+ required: true,
16
+ }),
17
+ },
18
+ async run(context) {
19
+ const response = await httpClient.sendRequest({
20
+ method: HttpMethod.GET,
21
+ url: `https://eth.blockscout.com/api/v2/transactions/${context.propsValue.transactionHash}/summary`,
22
+ });
23
+ if (response.status !== 200) {
24
+ throw new Error(`Blockscout API request failed with status ${response.status}`);
25
+ }
26
+ return response.body;
27
+ },
28
+ });
@@ -0,0 +1,28 @@
1
+ import { createAction, Property } from '@agnocon/pieces-framework';
2
+ import { httpClient, HttpMethod } from '@agnocon/pieces-common';
3
+
4
+ export const getTransactionTokenTransfers = createAction({
5
+ name: 'get_transaction_token_transfers',
6
+ displayName: 'Get Transaction Token Transfers',
7
+ description: 'Get list of token transfers in a transaction',
8
+ audience: 'both',
9
+ aiMetadata: { description: 'List the ERC-20/721/1155 token transfers that occurred within one Ethereum transaction, identified by its hash. Read-only. Use this when you have a transaction hash and want the tokens it moved; for token transfers across a token contract over time use the Tokens Get Token Transfers action instead.', idempotent: true },
10
+ // category: 'Transactions',
11
+ props: {
12
+ transactionHash: Property.ShortText({
13
+ displayName: 'Transaction Hash',
14
+ description: 'Hash of the transaction to fetch token transfers for',
15
+ required: true,
16
+ }),
17
+ },
18
+ async run(context) {
19
+ const response = await httpClient.sendRequest({
20
+ method: HttpMethod.GET,
21
+ url: `https://eth.blockscout.com/api/v2/transactions/${context.propsValue.transactionHash}/token-transfers`,
22
+ });
23
+ if (response.status !== 200) {
24
+ throw new Error(`Blockscout API request failed with status ${response.status}`);
25
+ }
26
+ return response.body;
27
+ },
28
+ });
@@ -0,0 +1,22 @@
1
+ import { createAction } from '@agnocon/pieces-framework';
2
+ import { httpClient, HttpMethod } from '@agnocon/pieces-common';
3
+
4
+ export const getTransactions = createAction({
5
+ name: 'get_transactions',
6
+ displayName: 'Get Transactions',
7
+ description: 'Get list of transactions',
8
+ audience: 'both',
9
+ aiMetadata: { description: 'List recent Ethereum transactions across the whole chain (validated mainnet transactions, newest first). Read-only and takes no inputs. Use this for chain-wide browsing; to fetch one known transaction use Get Transaction by Hash, and to scope to a single block use Get Block Transactions.', idempotent: true },
10
+ // category: 'Transactions',
11
+ props: {},
12
+ async run(context) {
13
+ const response = await httpClient.sendRequest({
14
+ method: HttpMethod.GET,
15
+ url: `https://eth.blockscout.com/api/v2/transactions`,
16
+ });
17
+ if (response.status !== 200) {
18
+ throw new Error(`Blockscout API request failed with status ${response.status}`);
19
+ }
20
+ return response.body;
21
+ },
22
+ });