Native Parameters

Icon Link本地参数类型

下面是如何在常见的 Sway 程序输入和输出类型之间进行转换的示例:

Icon Link地址

Icon Link地址输入

要将 地址 作为 Sway 程序的输入参数传递,可以按以下方式定义输入:

// #import { Address };
const address = Address.fromRandom();
const addressInput = { bits: address.toB256() };

Icon Link地址输出

对于返回 地址 类型的 Sway 程序,您可以将返回值转换为 fuels 中的 地址 类型,如下所示:

// #import { Address };
const addressOutput = callResponse.value;
const addressFromOutput: Address = Address.fromB256(addressOutput.bits);

Icon Link合约标识

Icon Link合约标识输入

要将 合约标识 作为 Sway 程序的输入参数传递,可以按以下方式定义输入:

const contractId = '0x7296ff960b5eb86b5f79aa587d7ebe1bae147c7cac046a16d062fbd7f3a753ec';
const contractIdInput = { bits: contractId.toString() };

Icon Link合约标识输出

对于返回 合约标识 类型的 Sway 程序,您可以将返回值转换为 字符串,如下所示:

const contractIdOutput = callResponse.value;
const contractIdFromOutput: string = contractIdOutput.bits;

Icon Link身份

Icon Link身份输入

要将 身份 作为 Sway 程序的输入参数传递,可以按以下方式定义输入:

对于地址:

// #import { Address };
const address = Address.fromRandom();
const addressInput = { bits: address.toB256() };
const addressIdentityInput = { Address: addressInput };

对于合约:

const contractId = '0x7296ff960b5eb86b5f79aa587d7ebe1bae147c7cac046a16d062fbd7f3a753ec';
const contractIdInput = { bits: contractId.toString() };
const contractIdentityInput = { ContractId: contractIdInput };

Icon Link身份输出

对于返回 身份 类型的 Sway 程序,您可以将返回值转换为 地址字符串,如下所示:

对于地址:

// #import { Address };
const identityFromOutput1 = callResponse1.value;
const addressStringFromOutput = identityFromOutput1.Address.bits;
const addressFromOutput: Address = Address.fromB256(addressStringFromOutput);

对于合约:

const identityFromOutput2 = callResponse2.value;
const contractIdFromOutput: string = identityFromOutput2.ContractId.bits;

Icon Link资产标识

Icon Link资产标识输入

要将 资产标识 作为 Sway 程序的输入参数传递,可以按以下方式定义输入:

const assetId = '0x0cfabde7bbe58d253cf3103d8f55d26987b3dc4691205b9299ac6826c613a2e2';
const assetIdInput = { bits: assetId };

Icon Link资产标识输出

对于返回 资产标识 类型的 Sway 程序,您可以将返回值转换为 字符串,如下所示:

const assetIdOutput = callResponse.value;
const assetIdFromOutput: string = assetIdOutput.bits;