Skip to main content
Version: Next

Namespace: stark

Type Aliases​

feeOverhead​

Ƭ feeOverhead: ResourceBounds

Defined in​

src/utils/stark/index.ts:230

Functions​

compressProgram​

â–¸ compressProgram(jsonProgram): CompressedProgram

Compress compiled Cairo 0 program

Reference

Parameters​

NameTypeDescription
jsonProgramstring | ProgramRepresenting the compiled Cairo 0 program

Returns​

CompressedProgram

Compressed Cairo 0 program

Example

const contractCairo0 = json.parse(fs.readFileSync("./cairo0contract.json").toString("ascii"));
const result = stark.compressProgram(contractCairo0);
// result = "H4sIAAAAAAAAA+1dC4/bOJL+K4aBu01me7r5EEUyixzQk/TuB..."

Defined in​

src/utils/stark/index.ts:69


decompressProgram​

â–¸ decompressProgram(base64): any

Decompress compressed compiled Cairo 0 program

Parameters​

NameTypeDescription
base64string | string[]Compressed Cairo 0 program

Returns​

any

Parsed decompressed compiled Cairo 0 program

Example

const contractCairo0 = json.parse(fs.readFileSync("./cairo0contract.json").toString("ascii"));
const compressedCairo0 = stark.compressProgram(contractCairo0);
const result = stark.decompressProgram(compressedCairo0);
// result = {
// abi: [
// {
// inputs: [Array],
// name: 'increase_balance',
// outputs: [],
// type: 'function'
// }
// ],
// entry_points_by_type: { CONSTRUCTOR: [], EXTERNAL: [ [Object], [Object] ], L1_HANDLER: [] },
// program: {
// attributes: [],
// builtins: [ 'pedersen', 'range_check' ],
// compiler_version: '0.10.2',
// data: [
// '0x480680017fff8000',
// ...

Defined in​

src/utils/stark/index.ts:103


randomAddress​

â–¸ randomAddress(): string

Random Address based on random keyPair

Returns​

string

an hex string of a random Starknet address

Example

const result = stark.randomAddress();
// result = "0x51fc8126a13cd5ddb29a71ca399cb1e814f086f5af1b502d7151c14929554f"

Defined in​

src/utils/stark/index.ts:118


formatSignature​

â–¸ formatSignature(sig?): ArraySignatureType

Format Signature to standard type (hex array)

Parameters​

NameType
sig?Signature

Returns​

ArraySignatureType

Custom hex string array

Throws

if sig not defined, or wrong format

Example

const signature = ec.starkCurve.sign("0x12de34", "0x3487123eac");
const result = stark.formatSignature(signature);
// result = ['0xba8eecee2d69c417e8c6a20cf331c821f716b58ba9e47166c7476afdb38997',
// '0x69ef7438c94104839a6e2aa2385482a77399d2f46e894ae4f50ab6d69239d1c']

Defined in​

src/utils/stark/index.ts:136


signatureToDecimalArray​

â–¸ signatureToDecimalArray(sig?): ArraySignatureType

Format Signature to decimal string array

Parameters​

NameType
sig?Signature

Returns​

ArraySignatureType

Custom hex string array

Throws

if sig not defined, or wrong format

Example

const signature = ec.starkCurve.sign("0x12de34", "0x3487123eac");
const result = stark.signatureToDecimalArray(signature);
// result = ['329619989660444495690615805546674399714973829707166906185976654753023887767',
// '2994745480203297689255012826403147585778741462125743754529207781488706428188']

Defined in​

src/utils/stark/index.ts:162


signatureToHexArray​

â–¸ signatureToHexArray(sig?): ArraySignatureType

Format Signature to hex string array

Parameters​

NameType
sig?Signature

Returns​

ArraySignatureType

Custom hex string array

Throws

if sig not defined, or wrong format

Example

const signature = ec.starkCurve.sign("0x12de34", "0x3487123eac");
const result = stark.signatureToHexArray(signature);
// result = ['0xba8eecee2d69c417e8c6a20cf331c821f716b58ba9e47166c7476afdb38997',
// '0x69ef7438c94104839a6e2aa2385482a77399d2f46e894ae4f50ab6d69239d1c']

Defined in​

src/utils/stark/index.ts:179


estimatedFeeToMaxFee​

â–¸ estimatedFeeToMaxFee(estimatedFee, overhead?): bigint

Convert estimated fee to max fee including a margin

Parameters​

NameTypeDescription
estimatedFeeBigNumberishThe estimated fee
overhead?numberThe overhead added to the gas

Returns​

bigint

The maximum fee with the margin

Example

const result = stark.estimatedFeeToMaxFee("8982300000000", 50);
// result = "13473450000000n"

Defined in​

src/utils/stark/index.ts:194


estimateFeeToBounds​

â–¸ estimateFeeToBounds(estimate, overhead?, specVersion?): ResourceBounds

Calculates the maximum resource bounds for fee estimation.

Parameters​

NameTypeDescription
estimate0n | FeeEstimateThe estimate for the fee. If a BigInt is provided, the returned bounds will be set to '0x0'.
overhead?ResourceBoundsOverheadThe percentage overhead added to the max units and max price per unit.
specVersion?string-

Returns​

ResourceBounds

The resource bounds with overhead.

Throws

If the estimate object is undefined or does not have the required properties.

Defined in​

src/utils/stark/index.ts:209


ZEROFee​

â–¸ ZEROFee(specVersion): Object

Mock zero fee response

Parameters​

NameType
specVersionstring

Returns​

Object

NameType
l1_gas_consumedbigint
l1_gas_pricebigint
l1_data_gas_consumedbigint
l1_data_gas_pricebigint
l2_gas_consumedbigint
l2_gas_pricebigint
overall_feebigint
unitPRICE_UNIT
suggestedMaxFeebigint
resourceBoundsResourceBounds

Defined in​

src/utils/stark/index.ts:235


intDAM​

â–¸ intDAM(dam): EDAMode

Converts the data availability mode from EDataAvailabilityMode to EDAMode.

Parameters​

NameTypeDescription
damEDataAvailabilityModeThe data availability mode to be converted.

Returns​

EDAMode

The converted data availability mode.

Throws

If the data availability mode is not a valid value.

Example

const result = stark.intDAM(RPC.EDataAvailabilityMode.L1);
// result = 0

Defined in​

src/utils/stark/index.ts:262


toTransactionVersion​

â–¸ toTransactionVersion(defaultVersion, providedVersion?): ETransactionVersion

Convert to ETransactionVersion or throw an error. Return providedVersion is specified else return defaultVersion

Parameters​

NameTypeDescription
defaultVersionBigNumberishdefault estimate transaction version
providedVersion?BigNumberishestimate transaction version

Returns​

ETransactionVersion

if providedVersion is not provided, returns the default estimate version, else return the provided version

Throws

if estimate transaction version or default estimate transaction version is unknown

Example

const result = stark.toTransactionVersion("0x100000000000000000000000000000003", stark.toFeeVersion(2));
// result = "0x100000000000000000000000000000002"

Defined in​

src/utils/stark/index.ts:281


toFeeVersion​

â–¸ toFeeVersion(providedVersion?): ETransactionVersion | undefined

Convert Transaction version to Fee version or throw an error

Parameters​

NameTypeDescription
providedVersion?BigNumberish0..3 number representing the transaction version

Returns​

ETransactionVersion | undefined

the fee estimation version corresponding to the transaction version provided

Throws

if the transaction version is unknown

Example

const result = stark.toFeeVersion(2);
// result = "0x100000000000000000000000000000002"

Defined in​

src/utils/stark/index.ts:309


v3Details​

â–¸ v3Details(details, specVersion?): V3Details

Return provided or default v3 tx details

Parameters​

NameTypeDescription
detailsUniversalDetailsdetails of the transaction
specVersion?SupportedRpcVersion-

Returns​

V3Details

an object including the V3 transaction details.

Example

const detail: UniversalDetails = { tip: 3456n };
const result = stark.v3Details(detail);
// result = {
// tip: 3456n,
// paymasterData: [],
// accountDeploymentData: [],
// nonceDataAvailabilityMode: 'L1',
// feeDataAvailabilityMode: 'L1',
// resourceBounds: {
// l2_gas: { max_amount: '0x0', max_price_per_unit: '0x0' },
// l1_gas: { max_amount: '0x0', max_price_per_unit: '0x0' }
// }
// }

Defined in​

src/utils/stark/index.ts:343


reduceV2​

â–¸ reduceV2(providedVersion): ETransactionVersion

It will reduce V2 to V1, else (V3) stay the same F2 -> F1 V2 -> V1 F3 -> F3 V3 -> V3

Parameters​

NameType
providedVersionETransactionVersion

Returns​

ETransactionVersion

if v2 then returns v1. if v3 then return v3

Example

const result = stark.reduceV2(constants.TRANSACTION_VERSION.V2);
// result = "0x1"

Defined in​

src/utils/stark/index.ts:368


getFullPublicKey​

â–¸ getFullPublicKey(privateKey): string

get the hex string of the full public key related to a Starknet private key.

Parameters​

NameTypeDescription
privateKeyBigNumberisha 252 bits private key.

Returns​

string

an hex string of a 520 bit number, representing the full public key related to privateKey.

Example

const result = ec.getFullPublicKey("0x43b7240d227aa2fb8434350b3321c40ac1b88c7067982549e7609870621b535");
// result = "0x0400b730bd22358612b5a67f8ad52ce80f9e8e893639ade263537e6ef35852e5d3057795f6b090f7c6985ee143f798608a53b3659222c06693c630857a10a92acf"

Defined in​

src/utils/stark/index.ts:384