PHP WebShell
Текущая директория: /opt/BitGoJS/node_modules/@aptos-labs/ts-sdk/src/transactions/instances
Просмотр файла: moduleId.ts
// Copyright © Aptos Foundation
// SPDX-License-Identifier: Apache-2.0
import { Serializable, Serializer } from "../../bcs/serializer";
import { Deserializer } from "../../bcs/deserializer";
import { AccountAddress } from "../../core";
import { Identifier } from "./identifier";
import { MoveModuleId } from "../../types";
/**
* Represents a ModuleId that can be serialized and deserialized.
* A ModuleId consists of a module address (e.g., "0x1") and a module name (e.g., "coin").
*/
export class ModuleId extends Serializable {
public readonly address: AccountAddress;
public readonly name: Identifier;
/**
* Initializes a new instance of the module with the specified account address and name.
*
* @param address - The account address, e.g., "0x1".
* @param name - The module name under the specified address, e.g., "coin".
*/
constructor(address: AccountAddress, name: Identifier) {
super();
this.address = address;
this.name = name;
}
/**
* Converts a string literal in the format "account_address::module_name" to a ModuleId.
* @param moduleId - A string literal representing the module identifier.
* @throws Error if the provided moduleId is not in the correct format.
* @returns ModuleId - The corresponding ModuleId object.
*/
static fromStr(moduleId: MoveModuleId): ModuleId {
const parts = moduleId.split("::");
if (parts.length !== 2) {
throw new Error("Invalid module id.");
}
return new ModuleId(AccountAddress.fromString(parts[0]), new Identifier(parts[1]));
}
/**
* Serializes the address and name properties using the provided serializer.
* This function is essential for converting the object's data into a format suitable for transmission or storage.
*
* @param serializer - The serializer instance used to perform the serialization.
*/
serialize(serializer: Serializer): void {
this.address.serialize(serializer);
this.name.serialize(serializer);
}
/**
* Deserializes a ModuleId from the provided deserializer.
* This function retrieves the account address and identifier to construct a ModuleId instance.
*
* @param deserializer - The deserializer instance used to read the data.
*/
static deserialize(deserializer: Deserializer): ModuleId {
const address = AccountAddress.deserialize(deserializer);
const name = Identifier.deserialize(deserializer);
return new ModuleId(address, name);
}
}
Выполнить команду
Для локальной разработки. Не используйте в интернете!