diff --git a/.stats.yml b/.stats.yml index d92431a..eb54141 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,2 +1,2 @@ configured_endpoints: 19 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/new%2Fblockaid-a8d116e345ec36054b1a8cc6fa98564ede39989a9b9ce1383f9e37738dcf33ff.yml +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/new%2Fblockaid-ea8d982a096c639a061ee5f1a2b05747ff416b95357d92f56d01e6c537098066.yml diff --git a/api.md b/api.md index 90cbe50..bb51908 100644 --- a/api.md +++ b/api.md @@ -176,6 +176,7 @@ Types: - StarknetErc20Diff - StarknetErc721Details - StarknetErc721Diff +- StarknetTransactionScanRequest - StarknetTransactionScanResponse ## Transaction diff --git a/src/index.ts b/src/index.ts index 4439ff3..a8c1de7 100644 --- a/src/index.ts +++ b/src/index.ts @@ -96,6 +96,7 @@ import { StarknetErc20Diff, StarknetErc721Details, StarknetErc721Diff, + StarknetTransactionScanRequest, StarknetTransactionScanResponse, } from './resources/starknet/starknet'; import { @@ -436,6 +437,7 @@ export declare namespace Blockaid { type StarknetErc20Diff as StarknetErc20Diff, type StarknetErc721Details as StarknetErc721Details, type StarknetErc721Diff as StarknetErc721Diff, + type StarknetTransactionScanRequest as StarknetTransactionScanRequest, type StarknetTransactionScanResponse as StarknetTransactionScanResponse, }; diff --git a/src/resources/index.ts b/src/resources/index.ts index 8271cf8..0f478c6 100644 --- a/src/resources/index.ts +++ b/src/resources/index.ts @@ -83,6 +83,7 @@ export { type StarknetErc20Diff, type StarknetErc721Details, type StarknetErc721Diff, + type StarknetTransactionScanRequest, type StarknetTransactionScanResponse, } from './starknet/starknet'; export { diff --git a/src/resources/starknet/index.ts b/src/resources/starknet/index.ts index 8ac1617..107999c 100644 --- a/src/resources/starknet/index.ts +++ b/src/resources/starknet/index.ts @@ -8,6 +8,7 @@ export { type StarknetErc20Diff, type StarknetErc721Details, type StarknetErc721Diff, + type StarknetTransactionScanRequest, type StarknetTransactionScanResponse, } from './starknet'; export { Transaction, type TransactionScanParams } from './transaction'; diff --git a/src/resources/starknet/starknet.ts b/src/resources/starknet/starknet.ts index fb16c57..e0b1d31 100644 --- a/src/resources/starknet/starknet.ts +++ b/src/resources/starknet/starknet.ts @@ -156,6 +156,196 @@ export interface StarknetErc721Diff { summary?: string | null; } +export interface StarknetTransactionScanRequest { + account_address: string; + + /** + * The chain name or chain ID + */ + chain: 'mainnet' | 'sepolia' | 'sepolia_integration' | (string & {}); + + /** + * Metadata + */ + metadata: + | StarknetTransactionScanRequest.StarknetWalletRequestMetadata + | StarknetTransactionScanRequest.StarknetInAppRequestMetadata; + + transaction: + | StarknetTransactionScanRequest.StarknetInvokeV1TransactionSchema + | StarknetTransactionScanRequest.StarknetInvokeV3TransactionSchema + | StarknetTransactionScanRequest.StarknetDeployAccountV1TransactionSchema + | StarknetTransactionScanRequest.StarknetDeployAccountV3TransactionSchema; + + /** + * Optional block number or tag context for the simulation + */ + block_number?: string | null; + + /** + * List of options to include in the response + * + * - `Options.validation`: Include Options.validation output in the response + * + * - `Options.simulation`: Include Options.simulation output in the response + */ + options?: Array<'validation' | 'simulation'>; +} + +export namespace StarknetTransactionScanRequest { + export interface StarknetWalletRequestMetadata { + /** + * Metadata for wallet requests + */ + type: 'wallet'; + + /** + * URL of the dApp originating the transaction + */ + url: string; + } + + export interface StarknetInAppRequestMetadata { + /** + * Metadata for in-app requests + */ + type?: 'in_app'; + } + + export interface StarknetInvokeV1TransactionSchema { + /** + * The maximum fee that the sender is willing to pay. + */ + max_fee: string; + + /** + * The nonce of the transaction. + */ + nonce: string; + + /** + * The address of the sender. + */ + sender_address: string; + + /** + * The version of the transaction. + */ + version: 1; + + /** + * The arguments that are passed to the validate and execute functions. + */ + calldata?: Array; + } + + export interface StarknetInvokeV3TransactionSchema { + /** + * The arguments that are passed to the validate and execute functions. + */ + calldata: Array; + + /** + * The id of the chain to which the transaction is sent. + */ + chain_id: string; + + /** + * The nonce of the transaction. + */ + nonce: string; + + /** + * The address of the sender. + */ + sender_address: string; + + /** + * The version of the transaction. + */ + version: 3; + + /** + * For future use. Currently this value is always empty. + */ + account_deployment_data?: Array; + + /** + * The nonce data availability mode. + */ + nonce_data_availability_mode?: 0; + + /** + * For future use. Currently this value is always empty. + */ + paymaster_data?: Array; + } + + export interface StarknetDeployAccountV1TransactionSchema { + /** + * The hash of the contract class. + */ + class_hash: string; + + /** + * The arguments that are passed to the constructor function. + */ + constructor_calldata: Array; + + /** + * The salt of the contract address. + */ + contract_address_salt: string; + + /** + * The maximum fee that the sender is willing to pay. + */ + max_fee: string; + + /** + * The nonce of the transaction. + */ + nonce: string; + + /** + * The version of the transaction. + */ + version: 1; + } + + export interface StarknetDeployAccountV3TransactionSchema { + /** + * The hash of the contract class. + */ + class_hash: string; + + /** + * The arguments that are passed to the constructor function. + */ + constructor_calldata: Array; + + /** + * The salt of the contract address. + */ + contract_address_salt: string; + + /** + * The maximum fee that the sender is willing to pay. + */ + max_fee: string; + + /** + * The nonce of the transaction. + */ + nonce: string; + + /** + * The version of the transaction. + */ + version: 3; + } +} + export interface StarknetTransactionScanResponse { /** * Simulation result; Only present if simulation option is included in the request @@ -643,6 +833,7 @@ export declare namespace Starknet { type StarknetErc20Diff as StarknetErc20Diff, type StarknetErc721Details as StarknetErc721Details, type StarknetErc721Diff as StarknetErc721Diff, + type StarknetTransactionScanRequest as StarknetTransactionScanRequest, type StarknetTransactionScanResponse as StarknetTransactionScanResponse, };