について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.encode
中Solidity
- わかった
アドレス
偽り
文字列
について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.encode
中Solidity
:
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つのパラメータを入力します.
{
a: 30,
b: 20,
c: "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
}
送信されたパラメータは,また,構造とタイプのtuple
定義されているようにtypes
フォームのパラメータ:tuple(a uint256,b uint8,c address)
.
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
特定の用途については,公開されているプラットフォームを参照してください.