@broxus/js-bridge-essentials
Version:
Bridge JavaScript Essentials library
77 lines (76 loc) • 3.66 kB
JavaScript
import { getFullContractState } from '@broxus/js-core';
import { tokenTransferSolTvmEventContract } from '../../models/token-transfer-sol-tvm-event/contracts';
export var TokenTransferSolTvmStatus;
(function (TokenTransferSolTvmStatus) {
TokenTransferSolTvmStatus["Initializing"] = "0";
TokenTransferSolTvmStatus["Pending"] = "1";
TokenTransferSolTvmStatus["Confirmed"] = "2";
TokenTransferSolTvmStatus["Rejected"] = "3";
})(TokenTransferSolTvmStatus || (TokenTransferSolTvmStatus = {}));
/**
* @deprecated Use SolTvmBaseEventUtils instead
*/
export class TokenTransferSolTvmEventUtils {
static async getEventInitData(connection, eventAddress, cachedState) {
const state = cachedState ?? await getFullContractState(connection, eventAddress);
const result = await tokenTransferSolTvmEventContract(connection, eventAddress)
.methods.getEventInitData({ answerId: 0 })
.call({ cachedState: state, responsible: true });
return {
configuration: result.value0.configuration,
staking: result.value0.staking,
voteData: {
accountSeed: result.value0.voteData.accountSeed,
blockTime: result.value0.voteData.blockTime,
eventData: result.value0.voteData.eventData,
slot: result.value0.voteData.slot,
txSignature: result.value0.voteData.txSignature,
},
};
}
static async getDecodedData(connection, eventAddress, cachedState) {
const state = cachedState ?? await getFullContractState(connection, eventAddress);
const result = await tokenTransferSolTvmEventContract(connection, eventAddress)
.methods.getDecodedData({ answerId: 0 })
.call({ cachedState: state, responsible: true });
return {
receiverAddress: result.receiver_addr,
senderAddress: result.sender_addr,
tokens: result.tokens,
};
}
static async getDetails(connection, eventAddress, cachedState) {
const state = cachedState ?? await getFullContractState(connection, eventAddress);
const result = await tokenTransferSolTvmEventContract(connection, eventAddress)
.methods.getDetails({ answerId: 0 })
.call({ cachedState: state, responsible: true });
return {
balance: result.balance,
confirms: result._confirms,
empty: result.empty,
eventInitData: {
configuration: result._eventInitData.configuration,
staking: result._eventInitData.staking,
voteData: {
accountSeed: result._eventInitData.voteData.accountSeed,
blockTime: result._eventInitData.voteData.blockTime,
eventData: result._eventInitData.voteData.eventData,
slot: result._eventInitData.voteData.slot,
txSignature: result._eventInitData.voteData.txSignature,
},
},
initializer: result._initializer,
meta: result._meta,
rejects: result._rejects,
requiredVotes: Number(result._requiredVotes),
status: result._status,
};
}
static async roundNumber(connection, eventAddress, cachedState) {
const state = cachedState ?? await getFullContractState(connection, eventAddress);
const result = await tokenTransferSolTvmEventContract(connection, eventAddress)
.methods.round_number()
.call({ cachedState: state });
return Number(result.round_number);
}
}