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,


雷达卡



京公网安备 11010802022788号







