資源の読み込みに... 荷物...

exchange.IO("コード",...)

についてexchange.IO("encode", ...)データのエンコーディングのために呼び出されます.

についてexchange.IO("encode", ...)暗号化されたデータを返します. 文字列

exchange.IO(k,データフォーマット,...args)exchange.IO(k,アドレス,データ形式)exchange.IO(k,アドレス,データ 形式,... args)

についてkパラメータは,機能の設定に使用されますexchange.IO()設定されている"encode"この関数はデータコーディングに使用される. k 本当 文字列 についてaddressスマートコントラクトのアドレスを設定するために使用されます.exchange.IO("encode", ...)機能, 通過するaddressスマートコントラクトのメソッド呼び出しの暗号化を示します.exchange.IO("encode", ...)機能,もしaddressパラメータが渡されない場合,この関数は指定された型順序をコードするために使用され,機能的に同等である.abi.encodeSolidity- わかった アドレス 偽り 文字列 についてdataFormatパラメータは,暗号化されたデータの方法,タイプ,順序を指定するために使用されます. data 形式 本当 文字列 についてargパラメータは,特定のデータ値を指定するために使用されます.dataFormatパラメーターは,一つ以上あります.argパラメータ,およびargパラメータは,dataFormatパラメータ設定 アルグ 偽り 文字列,数,タプル,配列,およびシステムによってサポートされる他のすべてのタイプ

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)
}

暗号化メソッドを呼び出すunwrapWETH9:

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
    */
}

暗号化例と同じですabi.encodeSolidity:

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)
}

トゥップルまたはトゥップルを含むタイプ順序のエンコーディングをサポートします. このタイプオーダーは,tuple, bytesだから電話をする時exchange.IO()2つのパラメータを入力します.

    1. トゥープル型に対応する変数:
    
    {
        a: 30,
        b: 20,
        c: "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
    }
    
    

    送信されたパラメータは,また,構造とタイプのtuple定義されているようにtypesフォームのパラメータ:tuple(a uint256,b uint8,c address).

    1. 型に対応する変数bytes:
    "0011"
    
function main() {
    var path = ["0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", "0xdac17f958d2ee523a2206206994597c13d831ec7"]   // ETH address, USDT address
    var ret = exchange.IO("encode", "address[]", path)
    Log("encode: ", ret)
}

配列または配列を含むタイプの連続的なコーディングをサポートします.

についてexchange.IO()この関数は,encode函数呼び出しコードをhex特定の用途については,公開されているプラットフォームを参照してください.Uniswap V3 Trade テンプレート- わかった 暗号化方法がスマートコントラクトを呼び出す場合,対応するABIを最初に登録する必要があります.

交換する.IO"api",eth",...) 交換.IO (("エンコードパック",...)