En la carga de los recursos... Cargando...

exchange.IO("codificar",...)

Elexchange.IO("encode", ...)La función es llamada para codificar datos.

Elexchange.IO("encode", ...)función devuelve los datos codificados. la cuerda

exchange.IO(k, formato de datos,...args)exchange.IO(k, dirección, formato de datos)exchange.IO(k, dirección, datosFormato,...args)

ElkParámetro se utiliza para establecer la función de laexchange.IO()función, fijada en"encode"significa que la función se utiliza para codificar datos. el verdadero la cuerda EladdressEl parámetro se utiliza para establecer la dirección del contrato inteligente.exchange.IO("encode", ...)función, pasando en eladdressParámetro indica la codificación de la llamada del método en el contrato inteligente.exchange.IO("encode", ...)La función, si eladdresssi el parámetro no se pasa, la función se utiliza para codificar el orden de tipo especificado y es funcionalmente equivalente aabi.encodeEn elSolidity- ¿ Por qué? Dirección falsos la cuerda EldataFormatParámetro utilizado para especificar el método, el tipo y el orden de los datos codificados. DatosFormato verdadero la cuerda ElargParámetro se utiliza para especificar el valor de datos específicos que coincide con eldataFormatPuede haber más de unaargParámetro, y el tipo y el número deargLos parámetros dependen de ladataFormatConfiguración de parámetros. el falsos cadena, número, tuple, matriz y todos los otros tipos compatibles con el sistema

function main() {
    // Main network address of ContractV3SwapRouterV2: 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45
    // Calling the unwrapWETH9 method requires registering the ABI first, which is omitted here
    // "owner" represents the wallet address, which need to fill in the specific, 1 represents the number of unpacking, unpacking a WETH into ETH
    var data = exchange.IO("encode", "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", "unwrapWETH9(uint256,address)", 1, "owner")
    Log(data)
}

Por ejemplo, llamando el método de codificaciónunwrapWETH9:

function main() {
    var x = 10 
    var address = "0x02a5fBb259d20A3Ad2Fdf9CCADeF86F6C1c1Ccc9"
    var str = "Hello World"
    var array = [1, 2, 3]
    var ret = exchange.IO("encode", "uint256,address,string,uint256[]", x, address, str, array)   // uint i.e. uint256 , the type length needs to be specified on FMZ
    Log("ret:", ret)
    /*
    000000000000000000000000000000000000000000000000000000000000000a    // x
    00000000000000000000000002a5fbb259d20a3ad2fdf9ccadef86f6c1c1ccc9    // address
    0000000000000000000000000000000000000000000000000000000000000080    // Offset of str
    00000000000000000000000000000000000000000000000000000000000000c0    // Offset of array
    000000000000000000000000000000000000000000000000000000000000000b    // The length of str
    48656c6c6f20576f726c64000000000000000000000000000000000000000000    // str data
    0000000000000000000000000000000000000000000000000000000000000003    // The length of the array
    0000000000000000000000000000000000000000000000000000000000000001    // array the first data
    0000000000000000000000000000000000000000000000000000000000000002    // array the second data
    0000000000000000000000000000000000000000000000000000000000000003    // array the third data
    */
}

Es equivalente al ejemplo de codificación deabi.encodeEn elSolidity:

function main() {
    var types = "tuple(a uint256,b uint8,c address),bytes"
    var ret = exchange.IO("encode", types, {
        a: 30,
        b: 20,
        c: "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
    }, "0011")
    Log("encode: ", ret)
}

Soporta la codificación de un tuplo o un orden de tipo que contiene un tuplo. Este tipo de orden consiste en:tuple, bytes, así que cuando llamasexchange.IO()para codificar, usted necesita seguir pasando dos parámetros:

    1. Variables correspondientes al tipo de tuple:
    
    {
        a: 30,
        b: 20,
        c: "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
    }
    
    

    Los parámetros transmitidos deben ser también coherentes con la estructura y el tipo detuple, tal como se define en eltypesParámetro del formulario:tuple(a uint256,b uint8,c address).

    1. Variables correspondientes al tipobytes:
    "0011"
    
function main() {
    var path = ["0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", "0xdac17f958d2ee523a2206206994597c13d831ec7"]   // ETH address, USDT address
    var ret = exchange.IO("encode", "address[]", path)
    Log("encode: ", ret)
}

Apoya la codificación secuencial de matrices o tipos que contienen matrices:

Elexchange.IO()La función encapsula elencodemétodo, que puede devolver el código de llamada de la función ahexPara un uso específico, puede consultar las plataformas disponibles públicamente.Uniswap V3 Trade Plantilla¿ Qué pasa? Cuando el método de codificación requiere contratos inteligentes, primero debe registrarse el ABI correspondiente.

En el caso de las empresas de servicios de la Unión Europea, la Comisión debe tener en cuenta las disposiciones del artículo 10 del Reglamento (CE) n.o 765/2008. En el caso de las empresas de servicios de telecomunicaciones, la información que se transmite a través de los servicios de telecomunicaciones es la siguiente: