Skip to main content

Config

Details about Mystiko configuration and related interfaces.

Data Structure

Get

Get MystikoConfig.

import 'package:mystiko_flutter/mystiko_flutter.dart';

MystikoConfigApi api = await Mystiko.mystikoConfigApi();
Response<MystikoConfig, ConfigError> response = await api.get();

MystikoConfig data structure is as follows:

PropertyTypeDescription
versionString
Mystiko version.
chainConfigsMap<Int, ChainConfig>
Chain configs map, key is chain id.
bridgeConfigsMap<Int, BridgeConfig>
Bridge configs map, key is bridge type.
gitRevisionString
Git revision.
sequencerConfigClientOptions
Sequencer config.
packerConfigPackerConfig
Packer config.
countryBlacklistList<String>
Country blacklist.
circuitConfigsList<CircuitConfig>
Circuit configs.

CircuitConfig

CircuitConfig data structure is as follows:

PropertyTypeDescription
nameString
Circuit name.
circuitTypeCircuitType
Circuit type.
isDefaultbool
Is default circuit.
programFileList<String>
Program files.
abiFileList<String>
ABI files.
provingKeyFileList<String>
Proving key files.
verifyingKeyFileList<String>
Verifying key files.

FindDefaultCircuit

Find default circuit config by circuit type.

import 'package:mystiko_flutter/mystiko_flutter.dart';

MystikoConfigApi api = await Mystiko.mystikoConfigApi();
Response<CircuitConfig, ConfigError> response = await api.findDefaultCircuit(CircuitType.CIRCUIT_TYPE_ROLLUP_1);

List of supportedCircuitType:

CircuitType.CIRCUIT_TYPE_ROLLUP_1;
CircuitType.CIRCUIT_TYPE_ROLLUP_2;
CircuitType.CIRCUIT_TYPE_ROLLUP_4;
CircuitType.CIRCUIT_TYPE_ROLLUP_8;
CircuitType.CIRCUIT_TYPE_ROLLUP_16;
CircuitType.CIRCUIT_TYPE_ROLLUP_32;
CircuitType.CIRCUIT_TYPE_ROLLUP_64;
CircuitType.CIRCUIT_TYPE_ROLLUP_128;
CircuitType.CIRCUIT_TYPE_ROLLUP_256;
CircuitType.CIRCUIT_TYPE_ROLLUP_512;
CircuitType.CIRCUIT_TYPE_ROLLUP_1024;

CircuitType.CIRCUIT_TYPE_TRANSACTION1X0;
CircuitType.CIRCUIT_TYPE_TRANSACTION1X1;
CircuitType.CIRCUIT_TYPE_TRANSACTION1X2;
CircuitType.CIRCUIT_TYPE_TRANSACTION2X0;
CircuitType.CIRCUIT_TYPE_TRANSACTION2X1;
CircuitType.CIRCUIT_TYPE_TRANSACTION2X2;

FindCircuit

Find circuit config by circuit name.

import 'package:mystiko_flutter/mystiko_flutter.dart';

MystikoConfigApi api = await Mystiko.mystikoConfigApi();
Response<CircuitConfig, ConfigError> response = await api.findCircuit('circuitName');

ChainConfig

ChainConfig data structure is as follows:

PropertyTypeDescription
chainIdInt
Chain id.
nameString
Chain name.
assetSymbolString
Native asset symbol.
assetDecimalsInt
Native asset decimals.
explorerUrlString
Explorer URL.
explorerApiUrlString
Explorer API URL.
explorerPrefixString
Explorer prefix.
providerQuorumPercentageInt
Provider quorum percentage.
signerEndpointString
Signer endpoint.
eventDelayBlocksInt
Event delay blocks.
eventFilterSizeInt
Event filter size.
sequencerFetchSizeInt
Sequencer fetch size.
mainAssetConfigAssetConfig
Main asset config.
providerTypeProviderType
Provider type.
transactionTypeTransactionType
Transaction type.
assetConfigsMap<String, AssetConfig>
Asset configs map, key is asset contract address.
depositContractConfigsMap<String, DepositContractConfig>
Deposit contract configs map, key is deposit contract address.
poolContractConfigsMap<String, PoolContractConfig>
Pool contract configs map, key is pool contract address.
recommendedAmountsList<String>
Recommended amounts.
providerConfigsList<ProvierConfig>
Provider configs.
granularitiesList<Int>
Granularities.

FindChain

Find chain config by chain id.

import 'package:mystiko_flutter/mystiko_flutter.dart';

MystikoConfigApi api = await Mystiko.mystikoConfigApi();
Response<ChainConfig, ConfigError> response = await api.findChain(1);

FindPeerChains

Find peer chains by chain id.

import 'package:mystiko_flutter/mystiko_flutter.dart';

MystikoConfigApi api = await Mystiko.mystikoConfigApi();
Response<List<ChainConfig>, ConfigError> response = await api.findPeerChains(1);

FindAssetSymbols

Find asset symbols by chain id and peer chain id.

import 'package:mystiko_flutter/mystiko_flutter.dart';

MystikoConfigApi api = await Mystiko.mystikoConfigApi();
Response<List<String>, ConfigError> response = await api.findAssetSymbols(1, 97);

FindBridges

Find bridge type by chain id, peer chain id and asset symbol.

import 'package:mystiko_flutter/mystiko_flutter.dart';

MystikoConfigApi api = await Mystiko.mystikoConfigApi();
Response<List<BridgeType>, ConfigError> response = await api.findBridges(1, 97, 'ETH');

FindBridge

Find bridge config by bridge type.

import 'package:mystiko_flutter/mystiko_flutter.dart';

MystikoConfigApi api = await Mystiko.mystikoConfigApi();
Response<BridgeConfig, ConfigError> response = await api.findBridge(BridgeType.BRIDGE_TYPE_LOOP);

List of supportedBridgeType:

BridgeType.BRIDGE_TYPE_LOOP;
BridgeType.BRIDGE_TYPE_POLY;
BridgeType.BRIDGE_TYPE_TBRIDGE;
BridgeType.BRIDGE_TYPE_CELER;
BridgeType.BRIDGE_TYPE_LAYER_ZERO;
BridgeType.BRIDGE_TYPE_AXELAR;
BridgeType.BRIDGE_TYPE_WORMHOLE;

BridgeConfig data structure is as follows:

PropertyTypeDescription
nameString
Bridge name.
bridgeTypeBridgeType
Bridge type.
explorerUrlString
Explorer URL.
explorerPrefixString
Explorer prefix.
apiUrlString
API URL.
apiPrefixString
API prefix.

DepositContractConfig

DepositContractConfig data structure is as follows:

PropertyTypeDescription
versionInt
Deposit Contract Version.
nameString
Contract name.
addressString
Contract address.
startBlockInt
Start block.
disabledbool
Is disabled.
minAmountString
Minimum amount.
maxAmountString
Maximum amount.
poolContractConfigPoolContractConfig
Pool contract config.
bridgeTypeBridgeType
Bridge type.
contractTypeContractType
Contract type.
minBridgeFeeString
Minimum bridge fee.
minExecutorFeeString
Minimum executor fee.
serviceFeeInt
Service fee.
serviceFeeDividerInt
Service fee divider.
bridgeFeeAssetConfigAssetConfig
Bridge fee asset config.
executorFeeAssetConfigAssetConfig
Executor fee asset config.
peerChainIdInt
Peer chain id.
peerContractAddressString
Peer contract address.

FindDepositContract

Find deposit contract config by chain id, peer chain id, asset symbol and bridge type.

import 'package:mystiko_flutter/mystiko_flutter.dart';

MystikoConfigApi api = await Mystiko.mystikoConfigApi();
Response<DepositContractConfig, ConfigError> response = await api.findDepositContract(1, 97, 'ETH', BridgeType.BRIDGE_TYPE_LOOP);

FindDepositContractByAddress

Find deposit contract config by chain id and deposit contract address.

import 'package:mystiko_flutter/mystiko_flutter.dart';

MystikoConfigApi api = await Mystiko.mystikoConfigApi();
Response<DepositContractConfig, ConfigError> response = await api.findDepositContractByAddress(1, '0x123456');

PoolContractConfig

PoolContractConfig data structure is as follows:

PropertyTypeDescription
versionInt
Pool Contract Version.
nameString
Contract name.
addressString
Contract address.
startBlockInt
Start block.
poolNameString
Pool name.
minRollupFeeString
Minimum rollup fee.
contractTypeContractType
Contract type.
bridgeTypeBridgeType
Bridge type.
assetConfigAssetConfig
Asset config.
circuitConfigsList<CircuitConfig>
Circuit configs.
circuitsList<String>
Circuits.

FindPoolContract

Find pool contract config by chain id, asset symbol, bridge type and version.

import 'package:mystiko_flutter/mystiko_flutter.dart';

MystikoConfigApi api = await Mystiko.mystikoConfigApi();
Response<PoolContractConfig, ConfigError> response = await api.findPoolContract(1, 'ETH', BridgeType.BRIDGE_TYPE_LOOP, 2);

FindPoolContracts

Find pool contracts by chain id, asset symbol and bridge type.

import 'package:mystiko_flutter/mystiko_flutter.dart';

MystikoConfigApi api = await Mystiko.mystikoConfigApi();
Response<List<PoolContractConfig>, ConfigError> response = await api.findPoolContracts(1, 'ETH', BridgeType.BRIDGE_TYPE_LOOP);

FindPoolContractByAddress

Find pool contract config by chain id and pool contract address.

import 'package:mystiko_flutter/mystiko_flutter.dart';

MystikoConfigApi api = await Mystiko.mystikoConfigApi();
Response<PoolContractConfig, ConfigError> response = await api.findPoolContractByAddress(1, '0x123456');

FindContractByAddress

Find contract config by chain id and contract address.

import 'package:mystiko_flutter/mystiko_flutter.dart';

MystikoConfigApi api = await Mystiko.mystikoConfigApi();
Response<ContractConfig, ConfigError> response = await api.findContractByAddress(1, '0x123456');

ContractConfig data structure is as follows:

PropertyTypeDescription
versionInt
Contract version.
nameString
Contract name.
addressString
Contract address.
startBlockInt
Start block.
disabledbool
Is disabled.
minRollupFeeString
Minimum rollup fee.
assetConfigAssetConfig
Asset config.
bridgeTypeBridgeType
Bridge type.
contractTypeContractType
Contract type.

List of supportedContractType:

ContractType.CONTRACT_TYPE_DEPOSIT;
ContractType.CONTRACT_TYPE_POOL;

GetTransactionUrl

Get transaction url by chain id and transaction hash.

import 'package:mystiko_flutter/mystiko_flutter.dart';

MystikoConfigApi api = await Mystiko.mystikoConfigApi();
Response<String, ConfigError> response = await api.getTransactionUrl(1, '0x123456');

SupportedAssetSymbols

Get supported asset symbols by chain id.

import 'package:mystiko_flutter/mystiko_flutter.dart';

MystikoConfigApi api = await Mystiko.mystikoConfigApi();
Response<List<String>, ConfigError> response = await api.supportedAssetSymbols(1);