量化合約開發運營版丨量化合約系統開發技術方案及原始碼
量化交易的主要特點:買賣雙方不再是由人們的主觀判斷決定的,改為由定量模型決定的。建立定量交易的數學模型,即為交易設定觸發條件。程式系統嚴格按照數學模型或市場交易條件,自動實現買賣的實際操作。
//SPDX-License-Identifier:MIT;
pragma solidity^0.8;
import"openzeppelin/contracts/token/ERC721/IERC721.sol";
import"openzeppelin/contracts/token/ERC20/IERC20.sol";
import"openzeppelin/contracts/token/ERC1155/IERC1155.sol";
contract kongTou{
address owner;
modifier onlyOwner(){
require(msg.sender==owner,"only owner can call this");
_;
}
modifier notAddress(address _useAdd){
require(_useAdd!=address(0),"address is error");
_;
}
event Received(address,uint);
constructor()payable{
owner=msg.sender;
}
receive()external payable{
emit Received(msg.sender,msg.value);
}
function pay()public payable{
}
function transferEthsAvg(address[]memory _tos)
payable
public
onlyOwner
returns(bool){
require(_tos.length>0);
uint >
for(uint i=0;i<_tos.length;i++){
require(_tos<i>!=address(0));
payable(_tos<i>).transfer(oneValue);
}
return true;
}
function transferEths(address[]memory _tos,uint256[]memory _values)
payable
public
onlyOwner
returns(bool){
require(_tos.length>0);
require(_tos.length==_values.length);
for(uint32 i=0;i<_tos.length;i++){
require(_tos<i>!=address(0));
require(_values<i>>0);
payable(_tos<i>).transfer(_values<i>);
}
return true;
}
function transferEth(address _to)
payable
public
onlyOwner
returns(bool){
require(_to!=address(0));
require(msg.value>0);
payable(_to).transfer(msg.value);
return true;
}
function checkBalance()
public
view
returns(uint){
return address(this).balance;
}
function destroy()
public
onlyOwner
{
selfdestruct(payable(msg.sender));
}
function transferTokensAvg(address from,address _constractAdd,address[]memory _tos,uint _v)
public
onlyOwner
notAddress(from)
notAddress(_constractAdd)
returns(bool){
require(_tos.length>0);
require(_v>0);
IERC20 _token=IERC20(_constractAdd);
//要呼叫的方法id進行編碼
//bytes4 methodId=bytes4(keccak256("transferFrom(address,address,uint256)"));
for(uint i=0;i<_tos.length;i++){
require(_tos<i>!=address(0));
require(_token.transferFrom(from,_tos<i>,_v));
//_constractAdd.call(abi.encodeWithSignature("transferFrom(address,address,uint256)",from,_tos<i>,_v));
//_constractAdd.call(methodId,from,_tos<i>,_v);
}
return true;
}
function transferTokens(address from,address _constractAdd,address[]memory _tos,uint[]memory _values)
public
onlyOwner
notAddress(from)
returns(bool){
require(_tos.length>0);
require(_values.length>0);
require(_values.length==_tos.length);
bool status;
bytes memory msgs;
//要呼叫的方法id進行編碼
//bytes4 methodId=bytes4(keccak256("transferFrom(address,address,uint256)"));
for(uint i=0;i<_tos.length;i++){
require(_tos<i>!=address(0));
require(_values<i>>0);
(status,msgs)=_constractAdd.call(abi.encodeWithSignature("transferFrom(address,address,uint256)",from,_tos<i>,_values<i>));
require(status==true);
//require(_constractAdd.call(methodId,from,_tos<i>,_values<i>));
}
return true;
}
function transferTokenOne(address _from,address _constractAdd,address _to,uint _tokenId)
public
notAddress(_from)
notAddress(_constractAdd)
notAddress(_to)
onlyOwner
returns(bool){
IERC721 _token=IERC721(_constractAdd);
_token.safeTransferFrom(_from,_to,_tokenId);
return true;
}
function transferToken1155(address _from,address _contractAdd,address _to,uint _tokenId,uint _num)
public
notAddress(_from)
notAddress(_contractAdd)
notAddress(_to)
returns(bool){
IERC1155 _token=IERC1155(_contractAdd);
_token.safeTransferFrom(_from,_to,_tokenId,_num,"");
return true;
}
function transferTokenBatch1155(address _from,address _contractAdd,address _to,uint[]memory _tokenIds,uint[]memory _nums)
public
notAddress(_from)
notAddress(_contractAdd)
notAddress(_to)
returns(bool){
IERC1155 _token=IERC1155(_contractAdd);
_token.safeBatchTransferFrom(_from,_to,_tokenIds,_nums,"");
return true;
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69956839/viewspace-2936988/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 量化合約開發需求版丨量化合約系統開發(開發方案及邏輯)丨量化合約原始碼及功能分析原始碼
- 量化合約開發(專案)丨量化合約系統開發(方案詳細)丨量化合約系統原始碼版原始碼
- 量化合約開發程式丨量化合約系統開發(方案及邏輯)丨量化合約成品原始碼部署原始碼
- 量化合約開發(原始碼)丨量化合約系統開發(海外版)丨量化合約系統開發(多語言)原始碼
- 量化合約開發說明丨量化合約系統開發(方案及策略)及案例原始碼原始碼
- Yes量化合約交易系統技術開發/原始碼/量化合約開發技術原始碼
- 量化合約開發原始碼丨量化合約系統開發(開發穩定版)及案例詳細原始碼
- 量化合約開發功能版丨量化合約系統開發(策略詳細)丨量化合約跟單原始碼成熟原始碼
- 量化合約系統開發 (參考版),量化合約開發策略原始碼方案原始碼
- 量化合約系統開發(原始碼)合約量化系統開發(技術方案)原始碼
- 量化合約丨合約量化開發原始碼版,合約量化丨量化合約系統開發(成熟案例)及詳細策略原始碼
- 量化合約系統開發(策略及規則)丨量化合約系統開發(詳情及原始碼)原始碼
- 量化合約開發專案丨量化合約系統開發(開發案例)及原始碼邏輯原始碼
- 量化合約系統開發策略及規則丨量化合約現成原始碼案例版原始碼
- 量化合約系統開發丨合約量化系統開發原始碼丨合約量化系統開發技術Demo原始碼
- 量化合約及合約量化機器人系統開發(開發策略)丨量化合約原始碼部署機器人原始碼
- 量化合約系統開發技術案例(原始碼)丨合約量化系統開發解決方案(搭建)原始碼
- 量化合約開發丨量化合約原始碼丨JAVA系統開發程式設計程式碼示例原始碼Java程式設計
- 量化合約系統開發(原始碼)合約量化系統開發(技術)原始碼
- 股票量化合約系統開發(方案設計)| 股票量化合約系統開發原始碼原始碼
- Python量化合約系統開發技術,合約量化原始碼系統開發技術方案Python原始碼
- 量化合約系統開發(專案方案),合約量化系統開發(原始碼技術)原始碼
- 量化合約系統開發穩定版,量合約系統開發(成熟及案例)
- 量化合約系統開發(功能詳細)丨量化合約系統開發(策略及分析)
- 量化合約跟單系統開發(開發平臺)丨量化合約跟單開發原始碼功能原始碼
- 量化合約原始碼開發技術/合約量化系統開發技術原始碼搭建程式原始碼
- what 量化合約交易系統開發原始碼丨 clear 合約量化系統開發技術(Demo 案例)原始碼
- 量化合約策略系統開發/合約量化系統開發技術方案講解(成熟原始碼)原始碼
- 合約量化/量化合約開發原始碼功能,量化合約/合約量化系統開發(開發策略)及案例詳情原始碼
- 量化合約原始碼搭建開發案例丨合約量化技術開發成熟Demo原始碼
- 闡述量化合約系統開發技術方案丨合約量化系統開發邏輯分析
- YYDS量化合約系統開發《原始碼》部署方案原始碼
- 量化合約系統開發/現貨量化技術開發/量化合約系統開發功能詳情
- 量化合約系統開發(方案模式)|合約量化系統開發(原始碼搭建)模式原始碼
- 合約量化系統開發(開發策略及詳細)丨量化合約系統開發(開發原始碼及說明)原始碼
- 合約量化系統開發原始碼部署(功能版)量化合約系統開發技術流程詳細原始碼
- 永續合約開發運營版丨永續合約系統開發(詳細規則)丨永續合約系統原始碼版及方案原始碼
- 量化合約系統開發方案(成熟Python)丨合約量化系統開發(OK、BSC)Python