..exchange.IO("encode", ...)
फ़ंक्शन को डेटा एन्कोडिंग के लिए बुलाया जाता है.
..exchange.IO("encode", ...)
फ़ंक्शन एन्कोडेड डेटा लौटाता है.
स्ट्रिंग
exchange.IO(k, dataFormat,...args)exchange.IO(k, पता, डेटा प्रारूप)exchange.IO(k, पता, डेटाफॉर्मेट,...args)
..k
पैरामीटर का उपयोग फंक्शन सेट करने के लिए किया जाता हैexchange.IO()
फंक्शन, पर सेट"encode"
इसका अर्थ है कि फ़ंक्शन का उपयोग डेटा कोडिंग के लिए किया जाता है।
क
सच
स्ट्रिंग
दaddress
पैरामीटर का उपयोग स्मार्ट अनुबंध का पता सेट करने के लिए किया जाता है।exchange.IO("encode", ...)
कार्य, में पारितaddress
पैरामीटर स्मार्ट अनुबंध पर विधि कॉल को एन्कोडिंग इंगित करता है.exchange.IO("encode", ...)
कार्य, यदिaddress
पैरामीटर पारित नहीं किया जाता है, समारोह निर्दिष्ट प्रकार आदेश को कोड करने के लिए प्रयोग किया जाता है और कार्यात्मक रूप से बराबर हैabi.encode
मेंSolidity
.
पता
झूठी
स्ट्रिंग
दdataFormat
पैरामीटर का उपयोग एन्कोडेड डेटा की विधि, प्रकार और क्रम को निर्दिष्ट करने के लिए किया जाता है।
डेटाफ़ॉर्मेट
सच
स्ट्रिंग
द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()
एन्कोडिंग के लिए, आप दो मापदंडों पारित करने के लिए जारी रखने की जरूरत हैः
{
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
विशिष्ट उपयोग के लिए, आप सार्वजनिक रूप से उपलब्ध प्लेटफार्मों का संदर्भ ले सकते हैं