dev3-sdk
Version:
SDK for interacting with the 0xDev3 platform.
462 lines (461 loc) • 12.9 kB
TypeScript
import { BigNumber } from '@ethersproject/bignumber';
export interface CreateWalletAuthorizationRequest {
wallet_address?: string;
redirect_url?: string;
arbitrary_data?: Map<string, unknown>;
screen_config?: ScreenConfig;
message_to_sign?: string;
store_indefinitely?: boolean;
}
export interface WalletAuthorizationRequests {
requests: WalletAuthorizationRequest[];
}
export interface WalletAuthorizationRequest {
id: string;
project_id: string;
status: RequestStatus;
redirect_url: string;
wallet_address?: string;
arbitrary_data?: Map<string, unknown>;
screen_config?: ScreenConfig;
message_to_sign: string;
signed_message?: string;
created_at: Date;
}
export interface CreateFunctionCallRequestWithContractId {
deployed_contract_id: string;
function_name: string;
function_params: EncodedFunctionParameter[];
eth_amount: string;
arbitrary_data?: Map<string, object>;
screen_config?: ScreenConfig;
caller_address?: string;
redirect_url?: string;
}
export interface CreateFunctionCallRequestWithContractAlias {
deployed_contract_alias: string;
function_name: string;
function_params: EncodedFunctionParameter[];
eth_amount: string;
arbitrary_data?: Map<string, object>;
screen_config?: ScreenConfig;
caller_address?: string;
redirect_url?: string;
}
export interface CreateFunctionCallRequestWithContractAddress {
contract_address: string;
function_name: string;
function_params: EncodedFunctionParameter[];
eth_amount: string;
arbitrary_data?: Map<string, object>;
screen_config?: ScreenConfig;
caller_address?: string;
redirect_url?: string;
}
export interface CreateContractArbitraryCallRequestWithContractId {
deployed_contract_id: string;
function_data: string;
eth_amount: string;
arbitrary_data?: Map<string, object>;
screen_config?: ScreenConfig;
caller_address?: string;
redirect_url?: string;
}
export interface CreateContractArbitraryCallRequestWithContractAlias {
deployed_contract_alias: string;
function_data: string;
eth_amount: string;
arbitrary_data?: Map<string, object>;
screen_config?: ScreenConfig;
caller_address?: string;
redirect_url?: string;
}
export interface CreateContractArbitraryCallRequestWithContractAddress {
contract_address: string;
function_data: string;
eth_amount: string;
arbitrary_data?: Map<string, object>;
screen_config?: ScreenConfig;
caller_address?: string;
redirect_url?: string;
}
export interface EstimateContractArbitraryCallRequestGasCostWithContractId {
deployed_contract_id: string;
function_data: string;
eth_amount: string;
caller_address?: string;
}
export interface EstimateContractArbitraryCallRequestGasCostWithContractAlias {
deployed_contract_alias: string;
function_data: string;
eth_amount: string;
caller_address?: string;
}
export interface EstimateContractArbitraryCallRequestGasCostWithContractAddress {
contract_address: string;
function_data: string;
eth_amount: string;
caller_address?: string;
}
export interface EstimateGasCostResponse {
chain_id: number;
gas_estimate: string;
}
export interface GasPriceResponse {
chain_id: number;
gas_price: string;
}
export interface ContractArbitraryCallRequest {
id: string;
status: RequestStatus;
deployed_contract_id?: string;
contract_address: string;
function_name?: string;
function_params?: EncodedFunctionParameter[];
function_call_data: string;
eth_amount: string;
chain_id: number;
redirect_url: string;
project_id: string;
created_at: Date;
arbitrary_data?: Map<string, object>;
screen_config?: ScreenConfig;
caller_address?: string;
arbitrary_call_tx: TxData;
}
export interface ContractArbitraryCallRequests {
requests: ContractArbitraryCallRequest[];
}
export interface EncodedFunctionParameter {
type: string;
value: string | string[] | boolean | EncodedFunctionParameter[];
}
export type EncodedFunctionParameterValue = boolean | BigNumber | string | EncodedFunctionParameter[] | EncodedFunctionParameterValue[];
export type EncodedFunctionOutput = string | {
type: string;
elems: EncodedFunctionOutput[];
};
export interface ScreenConfig {
before_action_message?: string;
after_action_message?: string;
}
export interface TxData {
tx_hash?: string;
from?: string;
to: string;
data?: string;
value: string;
block_confirmations?: number;
timestamp?: Date;
raw_rpc_transaction_receipt: string;
}
export declare enum RequestStatus {
SUCCESS = "SUCCESS",
PENDING = "PENDING",
FAILURE = "FAILURE"
}
export interface CreateContractDeploymentRequest {
alias: string;
contract_id: string;
constructor_params: EncodedFunctionParameter[];
deployer_address?: string;
redirect_url?: string;
initial_eth_amount: string;
arbitrary_data?: Map<string, object>;
screen_config?: ScreenConfig;
}
export interface ContractDeploymentRequest {
id: string;
alias: string;
status: RequestStatus;
contract_id: string;
contract_deployment_data: string;
constructor_params: EncodedFunctionParameter[];
contract_tags: string[];
contract_implements: string[];
initial_eth_amount: string;
chain_id: number;
redirect_url: string;
project_id: string;
created_at: Date;
arbitrary_data?: Map<string, object>;
screen_config: ScreenConfig;
contract_address?: string;
deployer_address?: string;
description?: string;
deploy_tx: TxData;
imported: boolean;
}
export interface ContractDeploymentRequests {
requests: ContractDeploymentRequest[];
}
export interface FunctionCallRequest {
id: string;
status: RequestStatus;
deployed_contract_id?: string;
contract_address: string;
function_name: string;
function_params: EncodedFunctionParameter[];
function_call_data: string;
eth_amount: string;
chain_id: number;
redirect_url: string;
project_id: string;
created_at: Date;
arbitrary_data?: Map<string, object>;
screen_config?: ScreenConfig;
caller_address?: string;
function_call_tx: TxData;
}
export interface FunctionCallRequests {
requests: FunctionCallRequest[];
}
export interface ReadFromContractByAddressRequest {
contract_address: string;
block_number?: string;
function_name: string;
function_params: EncodedFunctionParameter[];
output_params: EncodedFunctionOutput[];
caller_address: string;
}
export interface ReadFromContractByIdRequest {
deployed_contract_id: string;
block_number?: string;
function_name: string;
function_params: EncodedFunctionParameter[];
output_params: EncodedFunctionOutput[];
caller_address: string;
}
export interface ReadFromContractByAliasRequest {
deployed_contract_alias: string;
block_number?: string;
function_name: string;
function_params: EncodedFunctionParameter[];
output_params: EncodedFunctionOutput[];
caller_address: string;
}
export interface RawDataReadFromContractByAddressRequest {
contract_address: string;
block_number?: string;
function_call_data: string;
output_params: EncodedFunctionOutput[];
caller_address: string;
}
export interface RawDataReadFromContractByIdRequest {
deployed_contract_id: string;
block_number?: string;
function_call_data: string;
output_params: EncodedFunctionOutput[];
caller_address: string;
}
export interface RawDataReadFromContractByAliasRequest {
deployed_contract_alias: string;
block_number?: string;
function_call_data: string;
output_params: EncodedFunctionOutput[];
caller_address: string;
}
export interface ReadFromContractResult {
deployed_contract_id?: string;
contract_address: string;
block_number: string;
timestamp: Date;
return_values: string[];
raw_return_value: string;
}
export interface AttachTxHashRequest {
action_id: string;
tx_hash: string;
caller_address: string;
}
export interface DeployableContractsRequest {
tags: string[];
implements: string[];
}
export interface FunctionParameter {
name: string;
description: string;
solidity_name: string;
solidity_type: string;
recommended_types: string[];
parameters?: FunctionParameter[];
}
export interface ContractConstructor {
inputs: FunctionParameter[];
description: string;
payable: boolean;
}
export interface ContractFunction {
name: string;
description: string;
solidity_name: string;
inputs: FunctionParameter[];
outputs: FunctionParameter[];
emittable_events: string[];
read_only: boolean;
}
export interface ContractEvent {
name: string;
description: string;
solidity_name: string;
inputs: FunctionParameter[];
}
export interface DeployableContract {
id: string;
name?: string;
description?: string;
binary: string;
tags: string[];
implements: string[];
constructors: ContractConstructor[];
functions: ContractFunction[];
events: ContractEvent[];
}
export interface DeployableContractsResult {
deployable_contracts: DeployableContract[];
}
export interface GetPayloadRequest {
address?: string;
}
export interface GetPayload {
payload: string;
}
export interface GetJwtRequest {
address: string;
signed_payload: string;
chain_id?: number;
}
export interface GetJwtByMessageRequest {
address: string;
message_to_sign: string;
signed_payload: string;
}
export interface JwtToken {
access_token: string;
expires_in: string;
refresh_token: string;
refresh_token_expires_in: string;
}
export interface CreateAddressBookEntryRequest {
alias: string;
address: string;
phone_number?: string;
email?: string;
}
export interface UpdateAddressBookEntryRequest {
id: string;
alias: string;
address: string;
phone_number?: string;
email?: string;
}
export interface DeleteAddressBookEntryRequest {
id: string;
}
export interface FetchAddressBookEntryByAliasRequest {
alias: string;
}
export interface AddressBookEntry {
id: string;
alias: string;
address: string;
phone_number?: string;
email?: string;
created_at: Date;
}
export interface AddressBookEntries {
entries: AddressBookEntry[];
}
export declare enum AssetType {
NATIVE = "NATIVE",
TOKEN = "TOKEN"
}
export interface CreateAssetSendRequest {
asset_type: AssetType;
recipient_address: string;
amount: string;
token_address?: string;
redirect_url?: string;
sender_address?: string;
arbitrary_data?: Map<string, object>;
screen_config?: ScreenConfig;
}
export interface AssetSendRequest {
id: string;
project_id: string;
status: RequestStatus;
chain_id: number;
token_address?: string;
asset_type: AssetType;
amount: string;
sender_address?: string;
recipient_address: string;
arbitrary_data?: Map<string, object>;
screen_config?: ScreenConfig;
redirect_url: string;
send_tx: TxData;
created_at: string;
}
export interface AssetSendRequests {
requests: AssetSendRequest[];
}
export interface ProjectInfoRequest {
id: string;
owner_id: string;
issuer_contract_address: string;
base_redirect_url: string;
chain_id: number;
custom_rpc_url?: string;
created_at: Date;
}
export interface VRFCoordinatorConfig {
minimumRequestConfirmations: number;
maxGasLimit: number;
stalenessSeconds: number;
gasAfterPaymentCalculation: number;
}
export interface VRFSubscriptionInfo {
id: string;
balance: string;
requestCount: string;
owner: string;
consumers: string[];
}
export interface FunctionsOracleRegistryConfig {
maxGasLimit: number;
stalenessSeconds: number;
gasAfterPaymentCalculation: number;
fallbackWeiPerUnitLink: number;
gasOverhead: number;
linkAddress: string;
linkPriceFeed: string;
}
export interface FunctionsOracleRegistryRequestConfig {
maxGasLimit: number;
authorizedSenders: string[];
}
export interface FunctionSubscriptionInfo {
id: string;
balance: string;
owner: string;
authorizedConsumers: string[];
}
export interface KeeperRegistrarConfig {
autoApproveConfigType: number;
autoApproveMaxAllowed: number;
approvedCount: number;
keeperRegistry: string;
minLINKJuels: number;
}
export interface UpkeepInfo {
balance: string;
targetContract: string;
admin: string;
checkData: string;
offchainConfig: string;
executeGas: string;
maxValidBlockNumber: string;
lastPerformBlockNumber: string;
amountSpent: string;
paused: boolean;
}