Dieexchange.IO("encode", ...)
Die Funktion wird für die Datenkodierung aufgerufen.
Dieexchange.IO("encode", ...)
Funktion gibt die codierten Daten zurück.
String
exchange.IO(k, Datenformat,...args)exchange.IO(k, Adresse, Datenformat)exchange.IO(k, Adresse, Datenformat,...args)
Diek
Parameter wird verwendet, um die Funktion derexchange.IO()
Funktion, auf"encode"
bedeutet, dass die Funktion für die Datenkodierung verwendet wird.
k
wahr
String
Dieaddress
Die Parameter werden verwendet, um die Adresse des Smart Contracts festzulegen.exchange.IO("encode", ...)
Funktion, die in deraddress
Der Parameter zeigt die Codierung der Methode auf dem Smart Contract an.exchange.IO("encode", ...)
Funktion, wennaddress
wenn der Parameter nicht übergeben wird, wird die Funktion verwendet, um die angegebene Typfolge zu kodieren, und ist funktionell gleichwertig mitabi.encode
inSolidity
- Ich weiß.
Anschrift
falsche
String
DiedataFormat
Der Parameter wird verwendet, um die Methode, den Typ und die Reihenfolge der codierten Daten anzugeben.
DatenFormat
- Das stimmt.
String
Diearg
Parameter wird verwendet, um den spezifischen Datenwert anzugeben, der demdataFormat
Es kann mehr als einearg
Parameter und die Art und Anzahl derarg
Parameter hängen von derdataFormat
Einstellung der Parameter.
Arg
falsche
String, number, tuple, array und alle anderen vom System unterstützten Typen
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)
}
Zum Beispiel, rufen Sie die CodierungsmethodeunwrapWETH9
:
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 ist gleichbedeutend mit dem Codierungsbeispiel vonabi.encode
inSolidity
:
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)
}
Es unterstützt die Codierung eines Tupels oder einer Typreihenfolge, die ein Tupel enthält.
Diese Typordnung besteht austuple
, bytes
Also, wenn Sie anrufenexchange.IO()
Für die Kodierung müssen Sie zwei Parameter weitergeben:
{
a: 30,
b: 20,
c: "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
}
Die eingegebenen Parameter müssen auch mit der Struktur und dem Typ dertuple
, wie sie in dertypes
Parameter des Formulars: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)
}
Es unterstützt die sequentielle Codierung von Arrays oder Arraytypen, die Arrays enthalten:
Dieexchange.IO()
Funktion umfasst dieencode
Methode, die den Funktionsanrufcode zurückgeben kannhex
Für spezifische Anwendungen können Sie sich auf die öffentlich zugänglichen Plattformen beziehen