全部版块 我的主页
论坛 数据科学与人工智能 IT基础
593 0
2023-05-22

core偏核心逻辑,单个swap的逻辑。periphery偏外围服务,一个个swap的基础上构建服务。单个swap,两种代币形成的交易对,俗称“池子”。每个交易对有一些基本属性:reserve0/reserve1以及total supply。reserve0/reserve1是交易对的两种代币的储存量。total supply是当前流动性代币的总量。每个交易对都对应一个流动性代币(LPT-liquidity provider token)。简单的说,LPT记录了所有流动性提供者的贡献。所有流动性代币的总和就是total supply。Uniswap协议的思想是reserve0*reserve1的乘积不变。

pair_addr = factory.getPair(WBTC.address, USDT.address)  流动性挖矿系统开发源码唯:Congge420

pair = w3.eth.contract(address = pair_addr, abi = pair_abi)

nonce = pair.functions.nonces(public_key).call()

signature = sign(pair_addr, public_key, router.address, permit_value, nonce, deadline, private_key)

invocation = router.functions.removeLiquidityWithPermit(

                                            WBTC.address, USDT.address,

                                            permit_value,

                                            0, 0,

                                            public_key,

                                            deadline,

                                            False,

                                            signature.v,  Web3.toBytes(signature.r),  Web3.toBytes(signature.s)

                                        )

tx = invocation.buildTransaction({

    'from': public_key,

    'nonce':  w3.eth.get_transaction_count(public_key)

})

signed_tx = w3.eth.account.sign_transaction(tx, private_key = private_key)

tx_hash = w3.eth.send_raw_transaction(signed_tx.rawTransaction)

tx_receipt = w3.eth.wait_for_transaction_receipt(tx_has

constructor() public {

    uint chainId;

    assembly {

        chainId := chainid

    }

    DOMAIN_SEPARATOR = keccak256(

        abi.encode(

            keccak256('EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)'),

            keccak256(bytes(name)),

            keccak256(bytes('1')),

            chainId,


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群