UNPKG

@broxus/js-bridge-essentials

Version:

Bridge JavaScript Essentials library

54 lines (53 loc) 3.01 kB
import { getFullContractState } from '@broxus/js-core'; import { tonEvmEventConfigurationContract } from '../../models/ton-evm-event-configuration/contracts'; export class TonEvmEventConfigurationUtils { static deployEvent(provider, eventConfigurationAddress, params, args) { return tonEvmEventConfigurationContract(provider, eventConfigurationAddress) .methods.deployEvent({ _eventVoteData: params.eventVoteData }) .sendDelayed({ bounce: true, ...args }); } static async deriveEventAddress(connection, eventConfigurationAddress, params, cachedState) { const state = cachedState ?? await getFullContractState(connection, eventConfigurationAddress); const result = await tonEvmEventConfigurationContract(connection, eventConfigurationAddress) .methods.deriveEventAddress({ _eventVoteData: params.eventVoteData, answerId: 0 }) .call({ cachedState: state, responsible: true }); return result.eventContract; } static async getDetails(connection, eventConfigurationAddress, cachedState) { const state = cachedState ?? await getFullContractState(connection, eventConfigurationAddress); const result = await tonEvmEventConfigurationContract(connection, eventConfigurationAddress) .methods.getDetails({ answerId: 0 }) .call({ cachedState: state, responsible: true }); return { basicConfiguration: result._basicConfiguration, meta: result._meta, networkConfiguration: { endTimestamp: Number(result._networkConfiguration.endTimestamp), eventEmitter: result._networkConfiguration.eventEmitter, proxy: result._networkConfiguration.proxy, startTimestamp: Number(result._networkConfiguration.startTimestamp), }, }; } static async getFlags(connection, eventConfigurationAddress, cachedState) { try { const state = cachedState ?? await getFullContractState(connection, eventConfigurationAddress); const result = await tonEvmEventConfigurationContract(connection, eventConfigurationAddress) .methods.getFlags({ answerId: 0 }) .call({ cachedState: state, responsible: true }); return result._flags; } catch { return undefined; } } static decodeEvent(connection, eventConfigurationAddress, args) { return tonEvmEventConfigurationContract(connection, eventConfigurationAddress).decodeEvent(args); } static decodeTransaction(connection, eventConfigurationAddress, args) { return tonEvmEventConfigurationContract(connection, eventConfigurationAddress).decodeTransaction(args); } static decodeTransactionEvents(connection, eventConfigurationAddress, transaction) { return tonEvmEventConfigurationContract(connection, eventConfigurationAddress).decodeTransactionEvents({ transaction }); } }