Skip to main content

Deposit

Mystiko Deposit Related APIs.

Data Structure

Quote

Retrieve quote information for a deposit.

import mystiko from '@mystikonetwork/node';
import { core, common } from '@mystikonetwork/protos';

const options = new core.handler.v1.QuoteDepositOptions({
chainId: BigInt(11155111),
assetSymbol: 'MTT',
dstChainId: BigInt(11155111),
bridgeType: common.v1.BridgeType.LOOP,
});
const depositQuote = mystiko.deposit?.quote(options);

QuoteDepositOptions:

ParameterRequiredDescription
chainIdtrue
The chain ID of the asset.
assetSymboltrue
Asset symbol.
queryTimeoutMsfalse
Query timeout in milliseconds.
dstChainIdfalse
Destination chain id.
bridgeTypefalse
Bridge type.

DepositQuote data structure is as follows:

PropertyTypeDescription
assetSymbolstring
Asset symbol.
assetDecimalsnumber
Asset decimals.
minAmountnumber
Minimum amount.
minDecimalAmountstring
Minimum decimal amount.
maxAmountnumber
Maximum amount.
maxDecimalAmountstring
Maximum decimal amount.
minRollupFeeAmountnumber
Minimum rollup fee amount.
minRollupFeeDecimalAmountstring
Minimum rollup fee decimal amount.
rollupFeeAssetSymbolstring
Rollup fee asset symbol.
rollupFeeAssetDecimalsnumber
Rollup fee asset decimals.
minBridgeFeeAmountnumber
Minimum bridge fee amount.
minBridgeFeeDecimalAmountstring
Minimum bridge fee decimal amount.
bridgeFeeAssetSymbolstring
Bridge fee asset symbol.
bridgeFeeAssetDecimalsnumber
Bridge fee asset decimals.
minExecutorFeeAmountnumber
Minimum executor fee amount.
minExecutorFeeDecimalAmountstring
Minimum executor fee decimal amount.
executorFeeAssetSymbolstring
Executor fee asset symbol.
executorFeeAssetDecimalsnumber
Executor fee asset decimals.
recommendedAmountsnumber[]
Recommended amounts.
recommendedDecimalAmountsstring[]
Recommended decimal amounts.

Summary

Retrieve summary information for a deposit.

import mystiko from '@mystikonetwork/node';
import { core } from '@mystikonetwork/protos';

const options = new core.handler.v1.CreateDepositOptions({
chainId: BigInt(11155111),
assetSymbol: 'MTT',
amount: 1,
shieldedAddress:
'13hMt2P6h8zp5t8Cxm5oAzTULg1boVEvzjaEPXmLtSBUmF4KKnaooWkBKBqZs9BYncvY6rA6TpCkAJ6cEXFEHWMHt',
dstChainId: BigInt(11155111),
bridgeType: common.v1.BridgeType.LOOP,
});
const depositSummary = mystiko.deposit?.summary(options);

CreateDepositOptions:

ParameterRequiredDescription
chain_idtrue
Chain id.
asset_symboltrue
Asset symbol.
amounttrue
Amount.
shielded_addresstrue
Shielded address.
dst_chain_idfalse
Destination chain id.
rollup_fee_amountfalse
Rollup fee amount.
bridge_fee_amountfalse
Bridge fee amount.
executor_fee_amountfalse
Executor fee amount.
query_timeout_msfalse
Query timeout in milliseconds.
deposit_quotefalse
Deposit quote.
bridge_typefalse
Bridge type.

DepositSummary data structure is as follows:

PropertyTypeDescription
chainIdbigint
Chain id.
assetSymbolstring
Asset symbol.
assetDecimalsnumber
Asset decimals.
amountnumber
Amount.
decimalAmountstring
Decimal amount.
shieldedAddressstring
Shielded address.
rollupFeeAmountnumber
Rollup fee amount.
rollupFeeDecimalAmountstring
Rollup fee decimal amount.
rollupFeeAssetSymbolstring
Rollup fee asset symbol.
rollupFeeAssetDecimalsnumber
Rollup fee asset decimals.
dstChainIdbigint
Destination chain id.
bridgeFeeAmountnumber
Bridge fee amount.
bridgeFeeDecimalAmountstring
Bridge fee decimal amount.
bridgeFeeAssetSymbolstring
Bridge fee asset symbol.
bridgeFeeAssetDecimalsnumber
Bridge fee asset decimals.
executorFeeAmountnumber
Executor fee amount.
executorFeeDecimalAmountstring
Executor fee decimal amount.
executorFeeAssetSymbolstring
Executor fee asset symbol.
executorFeeAssetDecimalsnumber
Executor fee asset decimals.
bridgeTypeBridgeType
Bridge type.
totalAmounts{[key: string]: number;}
Total amounts.
totalDecimalAmounts{[key: string]: string;}
Total decimal amounts.

Create

Create a Deposit request.

import mystiko from '@mystikonetwork/node';
import { core } from '@mystikonetwork/protos';

const options = new core.handler.v1.CreateDepositOptions({
chainId: BigInt(11155111),
assetSymbol: 'MTT',
amount: 1,
shieldedAddress:
'13hMt2P6h8zp5t8Cxm5oAzTULg1boVEvzjaEPXmLtSBUmF4KKnaooWkBKBqZs9BYncvY6rA6TpCkAJ6cEXFEHWMHt',
dstChainId: BigInt(11155111),
bridgeType: common.v1.BridgeType.LOOP,
});
const deposit = mystiko.deposit?.create(options);

Deposit data structure is as follows:

PropertyTypeDescription
idstring
Id.
createdAtbigint
Created at.
updatedAtbigint
Updated at.
chainIdbigint
Chain id.
contractAddressstring
Contract address.
poolAddressstring
Pool address.
dstChainIdbigint
Destination chain id.
dstChainContractAddressstring
Destination chain contract address.
dstPoolAddressstring
Destination pool address.
commitmentHashstring
Commitment hash.
hashKstring
Hash K.
randomSstring
Random S.
encryptedNotestring
Encrypted note.
assetSymbolstring
Asset symbol.
assetDecimalsnumber
Asset decimals.
amountnumber
Amount.
decimalAmountstring
Decimal amount.
rollupFeeAmountnumber
Rollup fee amount.
rollupFeeDecimalAmountstring
Rollup fee decimal amount.
shieldedAddressstring
Shielded address.
walletIdstring
Wallet id.
assetAddressstring
Asset address.
bridgeFeeAmountnumber
Bridge fee amount.
bridgeFeeDecimalAmountstring
Bridge fee decimal amount.
executorFeeAmountnumber
Executor fee amount.
executorFeeDecimalAmountstring
Executor fee decimal amount.
bridgeFeeAssetAddressstring
Bridge fee asset address.
bridgeFeeAssetSymbolstring
Bridge fee asset symbol.
bridgeFeeAssetDecimalsnumber
Bridge fee asset decimals.
executorFeeAssetAddressstring
Executor fee asset address.
executorFeeAssetSymbolstring
Executor fee asset symbol.
executorFeeAssetDecimalsnumber
Executor fee asset decimals.
queuedTransactionHashstring
Queued transaction hash.
includedTransactionHashstring
Included transaction hash.
srcChainTransactionHashstring
Source chain transaction hash.
assetApproveTransactionHashstring[]
Asset approve transaction hash.
errorMessagestring
Error message.
bridgeTypeBridgeType
Bridge type.
statusDepositStatus
Deposit status.

Send

Send a deposit transaction using a private key.

import mystiko from '@mystikonetwork/node';
import { core } from '@mystikonetwork/protos';

const options = new core.handler.v1.SendDepositOptions({
depositId: 'id',
privateKey: 'private key of transaction signer'
});
const deposit = mystiko.deposit?.send(options);

SendDepositOptions:

ParameterRequiredDescription
depositIdtrue
Deposit id.
privateKeyfalse
Private key.
signerProviderfalse
Signer provider.
queryTimeoutMsfalse
Query timeout in milliseconds.
assetApproveConfirmationsfalse
Asset approve confirmations.
depositConfirmationsfalse
Deposit confirmations.
txSendTimeoutMsfalse
Transaction send timeout in milliseconds.
txWaitTimeoutMsfalse
Transaction wait timeout in milliseconds.
txWaitIntervalMsfalse
Transaction wait interval in milliseconds.
assetApproveTxfalse
Asset approve transaction.
depositTxfalse
Deposit transaction.
screeningMessagefalse
Screening message.

SendWithGrpc

Send a deposit transaction by signing through the given gRPC interface.

import mystiko from '@mystikonetwork/node';
import { core, service } from '@mystikonetwork/protos';

const options1 = new core.handler.v1.SendDepositOptions({
depositId: 'id',
});
const options2 = new service.v1.ClientOptions({});
const deposit = mystiko.deposit?.sendWithGrpc(options1, options2);

ClientOptions:

ParameterRequiredDescription
hosttrue
Host.
porttrue
Port.
isSslfalse
Is SSL.
sslCertfalse
SSL cert.
sslCertPathfalse
SSL cert path.
sslServerNamefalse
SSL server name.

Find

Query deposit data using Filter.

import mystiko from '@mystikonetwork/node';
import { storage } from '@mystikonetwork/protos';

const filter = new storage.v1.SubFilter({
column: 'id',
values: ['deposit1'],
operator: storage.v1.SubFilterOperator.IN,
});
const deposits = mystiko.deposit?.find(filter);

FindAll

Query all Deposit data.

import mystiko from '@mystikonetwork/node';

const deposits = mystiko.deposit?.find(undefined);

FindOne

Find a single Deposit record using Filter.

import mystiko from '@mystikonetwork/node';
import { storage } from '@mystikonetwork/protos';

const filter = new storage.v1.SubFilter({
column: 'id',
values: ['deposit1'],
operator: storage.v1.SubFilterOperator.IN,
});
const deposits = mystiko.deposit?.findOne(filter);

FindById

Find a single Deposit record by its ID.

import mystiko from '@mystikonetwork/node';

const deposit = mystiko.deposit?.findById("id");

Count

Query the count of data that matches the QueryFilter criteria.

import mystiko from '@mystikonetwork/node';
import { storage } from '@mystikonetwork/protos';

const filter = new storage.v1.SubFilter({
column: 'id',
values: ['id'],
operator: storage.v1.SubFilterOperator.IN,
});
const total = mystiko.deposit?.count(filter);

CountAll

Query the total count of all Deposit data.

import mystiko from '@mystikonetwork/node';

const total = mystiko.deposit?.count(undefined);

Update

Update a Deposit record.

import mystiko from '@mystikonetwork/node';

const deposit = mystiko.deposit?.findById("id");
deposit.amount = 2000;
const newDeposit = mystiko.deposit?.update(deposit);

UpdateBatch

Batch update Deposit records.

import mystiko from '@mystikonetwork/node';

const deposit = mystiko.deposit?.findById("id");
deposit.amount = 2000;
const newDeposits = mystiko.deposit?.updateBatch([deposit]);

UpdateByFilter

Update Deposit records based on the conditions specified in the Filter.

import mystiko from '@mystikonetwork/node';
import { api, storage } from '@mystikonetwork/protos';

const columnValues = [
new api.handler.v1.ColumnValuePair({
column: 'amount',
value: new storage.v1.ColumnValue({
value: {
value: 2000,
case: 'f64Value',
},
}),
}),
];
const filter = new storage.v1.QueryFilter({
conditions: [],
conditionsOperator: storage.v1.ConditionOperator.OR,
});
mystiko.deposit?.updateByValues(columnValues, filter);

UpdateAll

Update all Deposit records.

import mystiko from '@mystikonetwork/node';
import { api, storage } from '@mystikonetwork/protos';

const columnValues = [
new api.handler.v1.ColumnValuePair({
column: 'amount',
value: new storage.v1.ColumnValue({
value: {
value: 2000,
case: 'f64Value',
},
}),
}),
];
mystiko.deposit?.updateByValues(columnValues, undefined);

Delete

Delete a Deposit record.

import mystiko from '@mystikonetwork/node';

const deposit = mystiko.deposit?.findById("id");
mystiko.deposit?.delete(deposit);

DeleteBatch

Batch delete Deposit records.

import mystiko from '@mystikonetwork/node';

const deposit = mystiko.deposit?.findById("id");
mystiko.deposit?.deleteBatch([deposit]);

DeleteByFilter

Delete Deposit records based on the conditions specified in the Filter.

import mystiko from '@mystikonetwork/node';
import { storage } from '@mystikonetwork/protos';

const filter = new storage.v1.SubFilter({
column: 'id',
values: ['id'],
operator: storage.v1.SubFilterOperator.IN,
});
const total = mystiko.deposit?.deleteByFilter(filter);

DeleteAll

Delete all Deposit records.

import mystiko from '@mystikonetwork/node';

mystiko.deposit?.deleteAll();