Peraturanexchange.IO("encode", ...)
fungsi dipanggil untuk pengkodean data.
Peraturanexchange.IO("encode", ...)
fungsi mengembalikan data yang dikodekan.
string
exchange.IO(k, dataFormat,...args)exchange.IO(k, alamat, dataFormat)exchange.IO(k, alamat, dataFormat,...args)
Peraturank
parameter digunakan untuk mengatur fungsi dariexchange.IO()
fungsi, diatur untuk"encode"
berarti fungsi digunakan untuk pengkodean data.
k
benar
string
Peraturanaddress
parameter digunakan untuk mengatur alamat kontrak pintar.exchange.IO("encode", ...)
fungsi, melewati dalamaddress
parameter menunjukkan pengkodean metode panggilan pada kontrak pintar.exchange.IO("encode", ...)
fungsi, jikaaddress
parameter tidak dilewati, fungsi ini digunakan untuk mengkode urutan jenis yang ditentukan dan secara fungsional setara denganabi.encode
dalamSolidity
Aku tidak tahu.
alamat
palsu
string
PeraturandataFormat
Parameter digunakan untuk menentukan metode, jenis, dan urutan data yang dikodekan.
dataFormat
benar
string
Peraturanarg
parameter digunakan untuk menentukan nilai data spesifik yang sesuai dengandataFormat
Mungkin ada lebih dari satu parameterarg
parameter, dan jenis dan jumlaharg
parameter tergantung padadataFormat
pengaturan parameter.
arg
palsu
string, number, tuple, array, dan semua jenis lain yang didukung oleh sistem
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)
}
Misalnya, memanggil metode pengkodeanunwrapWETH9
:
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
*/
}
Ini setara dengan contoh pengkodean dariabi.encode
dalamSolidity
:
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)
}
Ini mendukung pengkodean tuple atau urutan tipe yang berisi tuple.
Urutan jenis ini terdiri dari:tuple
, bytes
, jadi ketika meneleponexchange.IO()
untuk pengkodean, Anda perlu terus melewati dua parameter:
{
a: 30,
b: 20,
c: "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
}
Parameter yang diberikan juga harus konsisten dengan struktur dan jenistuple
, sebagaimana didefinisikan dalamtypes
Parameter dari formulir: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)
}
Ini mendukung untuk pengkodean berurutan array atau jenis yang mengandung array:
Peraturanexchange.IO()
fungsi merangkumencode
metode, yang dapat mengembalikan kode panggilan fungsi kehex
Untuk penggunaan khusus, Anda dapat merujuk ke platform yang tersedia untuk umum