রিসোর্স লোড হচ্ছে... লোডিং...

exchange.IO("কোড",...)

দ্যexchange.IO("encode", ...)ফাংশনটি ডাটা কোডিং এর জন্য কল করা হয়।

দ্যexchange.IO("encode", ...)ফাংশন এনকোড করা ডেটা ফেরত দেয়। স্ট্রিং

exchange.IO(k, dataFormat,...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প্যারামিটারটি কোড করা ডেটার পদ্ধতি, প্রকার এবং ক্রম নির্দিষ্ট করতে ব্যবহৃত হয়। তথ্যফরম্যাট সত্য স্ট্রিং দ্য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()এনকোডিং এর জন্য, আপনাকে দুটি পরামিতি পাস করতে হবেঃ

    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 টেমপ্লেট. যখন কোডিং পদ্ধতি স্মার্ট কন্ট্রাক্টকে কল করে, তখন প্রথমে সংশ্লিষ্ট এবিআই নিবন্ধন করতে হবে।

বিনিময়.IO (("api", "eth",...) exchange.IO (("encodePacked",...)