SC CODE: // Copyright 2024. Civilware. All rights reserved.
// TELA Decentralized Web Document (TELA-DOC-1)
Function InitializePrivate() Uint64
10 IF init() == 0 THEN GOTO 30
20 RETURN 1
30 STORE("nameHdr", "mm.js")
31 STORE("descrHdr", "MetaMask and .sol contract")
32 STORE("iconURLHdr", "")
33 STORE("dURL", "mm.js")
34 STORE("docType", "TELA-JS-1")
35 STORE("subDir", "")
36 STORE("fileCheckC", "16a6a5caf351d3c4e753616b591e5ad425499ac97d6cd2196c0d308f93598f77")
37 STORE("fileCheckS", "266f4124d37fad0ea2fa8fe14ae7602d75c84693720efe4cfee56727037f9dea")
100 RETURN 0
End Function
Function init() Uint64
10 IF EXISTS("owner") == 0 THEN GOTO 30
20 RETURN 1
30 STORE("owner", address())
50 STORE("docVersion", "1.0.0")
60 STORE("hash", HEX(TXID()))
70 STORE("likes", 0)
80 STORE("dislikes", 0)
100 RETURN 0
End Function
Function address() String
10 DIM s as String
20 LET s = SIGNER()
30 IF IS_ADDRESS_VALID(s) THEN GOTO 50
40 RETURN "anon"
50 RETURN ADDRESS_STRING(s)
End Function
Function Rate(r Uint64) Uint64
10 DIM addr as String
15 LET addr = address()
16 IF r < 100 && EXISTS(addr) == 0 && addr != "anon" THEN GOTO 30
20 RETURN 1
30 STORE(addr, ""+r+"_"+BLOCK_HEIGHT())
40 IF r < 50 THEN GOTO 70
50 STORE("likes", LOAD("likes")+1)
60 RETURN 0
70 STORE("dislikes", LOAD("dislikes")+1)
100 RETURN 0
End Function
/*const use_chain_id = 369;
const messages = document.querySelector('.messages');
// Account and connection stuff
const ethereumButton = document.querySelector('.enableEthereumButton');
const showAccount = document.querySelector('.showAccount');
const showChainId = document.querySelector('.showChainId');
var web3;
var connected_evm_account='';
window.addEventListener('load', function () {
// check if web3 is available
if (typeof window.ethereum !== 'undefined') {
// use the browser injected Ethereum provider
web3 = new Web3(window.ethereum);
setChainId();
registerHandlers();
web3.eth.transactionPollingTimeout = 1000;
} else {
// if window.ethereum is not available, give instructions to install MetaMask
messages.innerHTML =
'Please install MetaMask to connect';
}
});
ethereumButton.addEventListener('click', async () => {
setChainId();
connectToMetaMask();
});
async function connectToMetaMask(){
handleConnectButton("Waiting");
let error = await requestAccounts();
if(error === ''){
messages.innerHTML = "";
getAccount();
}else{
if (error.code === 4001) {
handleConnectButton("Connect");
messages.innerHTML = "Please connect to MetaMask.";
}else if(error.code === -32002){
messages.innerHTML = "Waiting for sign-in.";
}
}
}
async function requestAccounts() {
let error ='';
await window.ethereum.request({ method: 'eth_requestAccounts' })
.catch((err) => {
error = err;
});
return error;
}
async function getAccount() {
handleConnectButton("Connect");
// get list of accounts
const accounts = await web3.eth.getAccounts();
if(accounts.length > 0){
// show the first account
connected_evm_account = accounts[0];
showAccount.innerHTML = connected_evm_account;
handleConnectButton();
}
}
var chain_selected = 0;
function displayChainInfo(chainId){
chain_selected = web3.utils.hexToNumberString(chainId);
let chains = [];
chains[369] = 'pls';
chains[943] = 'plsV4testnet';
chains[1] = 'eth';
showChainId.innerHTML = chain_selected + "-"+ chains[chain_selected];
}
async function setChainId(){
var chainId = await window.ethereum.request({ method: 'eth_chainId' });
displayChainInfo(chainId);
}
function handleConnectButton(text=""){
if(text != ""){
ethereumButton.innerHTML = text;
}else if(window.ethereum.isConnected()){
ethereumButton.innerHTML = "Connected";
ethereumButton.style.color = "green";
CStatusChange();
}else{
ethereumButton.innerHTML = "Connect";
CStatusChange();
}
}
function registerHandlers(){
window.ethereum.on('chainChanged', displayChainInfo);
window.ethereum.on("accountsChanged", getAccount);
window.ethereum.on("disconnect", handleConnectButton);
}
//Check / update this before deployment
async function connectionOK(){
if(chain_selected == use_chain_id && connected_evm_account != ""){
return true;
}
await alertModal("MetaMask Wallet connection required. Make sure you are connected to PulseChain (chain id 369)");
return false;
}
const HTLContractABI = [
{
"inputs": [
{
"internalType": "address",
"name": "_receiver_address",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "deadline",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "deposited",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "hash",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "key",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address payable",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "receiver",
"outputs": [
{
"internalType": "address payable",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "refund",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_hash",
"type": "bytes32"
}
],
"name": "startSwap",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "_key",
"type": "string"
}
],
"name": "withdraw",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "payable",
"type": "function"
}
];
function getInstallByteCode(days){
let insert_1;
let insert_2;
if (days === 1){
insert_1 = "1518";
insert_2 = "791becb0b975fcb0df4d838bf1f780704fd0955926e0818c772d27e74382e462";
}else if(days === 2){
insert_1 = "2a30";
insert_2 = "aed8476fda76aa8834ce628a6106d7fbc037b5f261e3196438227391d77b0467";
}else{
return false;
}
return "60806040523480156200001157600080fd5b50604051620014e2380380620014e28339818101604052810190620000379190620000de565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060038190555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505062000163565b600081519050620000d88162000149565b92915050565b600060208284031215620000f757620000f662000144565b5b60006200010784828501620000c7565b91505092915050565b60006200011d8262000124565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b620001548162000110565b81146200016057600080fd5b50565b61136f80620001736000396000f3fe6080604052600436106100915760003560e01c806341dc248e1161005957806341dc248e14610172578063590e1ae3146101a25780638da5cb5b146101c0578063eef49ee3146101eb578063f7260d3e1461021657610091565b806309bd5a601461009657806312065fe0146100c157806329dcb0cf146100ec57806331fb67c2146101175780633943380c14610147575b600080fd5b3480156100a257600080fd5b506100ab610241565b6040516100b89190610dde565b60405180910390f35b3480156100cd57600080fd5b506100d6610247565b6040516100e39190610f3b565b60405180910390f35b3480156100f857600080fd5b5061010161026b565b60405161010e9190610f3b565b60405180910390f35b610131600480360381019061012c9190610a72565b610271565b60405161013e9190610df9565b60405180910390f35b34801561015357600080fd5b5061015c610555565b6040516101699190610df9565b60405180910390f35b61018c60048036038101906101879190610a18565b6105e3565b6040516101999190610df9565b60405180910390f35b6101aa6106da565b6040516101b79190610df9565b60405180910390f35b3480156101cc57600080fd5b506101d56108a5565b6040516101e29190610dc3565b60405180910390f35b3480156101f757600080fd5b506102006108c9565b60405161020d9190610f3b565b60405180910390f35b34801561022257600080fd5b5061022b6108cf565b6040516102389190610dc3565b60405180910390f35b60035481565b6000803090508073ffffffffffffffffffffffffffffffffffffffff163191505090565b60045481565b6060600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fa90610f1b565b60405180910390fd5b4260045411610347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033e90610e3b565b60405180910390fd5b602083839050111561038e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038590610e7b565b60405180910390fd5b600283836040516020016103a3929190610d4d565b6040516020818303038152906040526040516103bf9190610d36565b602060405180830381855afa1580156103dc573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906103ff9190610a45565b60035414610442576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043990610e1b565b60405180910390fd5b8282600291906104539291906108f5565b50600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610498610247565b6040516104a490610dae565b60006040518083038185875af1925050503d80600081146104e1576040519150601f19603f3d011682016040523d82523d6000602084013e6104e6565b606091505b50915091508161052b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052290610edb565b60405180910390fd5b8060405160200161053c9190610d8c565b6040516020818303038152906040529250505092915050565b6002805461056290611071565b80601f016020809104026020016040519081016040528092919081815260200182805461058e90611071565b80156105db5780601f106105b0576101008083540402835291602001916105db565b820191906000526020600020905b8154815290600101906020018083116105be57829003601f168201915b505050505081565b60606000341415610629576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062090610efb565b60405180910390fd5b60006003541461066e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066590610e9b565b60405180910390fd5b81600381905550620"+insert_1+"0426106849190610f93565b60048190555034600581905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516020016106c49190610d66565b6040516020818303038152906040529050919050565b606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461076a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076190610e5b565b60405180910390fd5b42600454106107ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a590610ebb565b60405180910390fd5b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166005546040516107f790610dae565b60006040518083038185875af1925050503d8060008114610834576040519150601f19603f3d011682016040523d82523d6000602084013e610839565b606091505b50915091508161087e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087590610edb565b60405180910390fd5b8060405160200161088f9190610d8c565b6040516020818303038152906040529250505090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b82805461090190611071565b90600052602060002090601f016020900481019282610923576000855561096a565b82601f1061093c57803560ff191683800117855561096a565b8280016001018555821561096a579182015b8281111561096957823582559160200191906001019061094e565b5b509050610977919061097b565b5090565b5b8082111561099457600081600090555060010161097c565b5090565b6000813590506109a781611322565b92915050565b6000815190506109bc81611322565b92915050565b60008083601f8401126109d8576109d761112a565b5b8235905067ffffffffffffffff8111156109f5576109f4611125565b5b602083019150836001820283011115610a1157610a1061112f565b5b9250929050565b600060208284031215610a2e57610a2d611139565b5b6000610a3c84828501610998565b91505092915050565b600060208284031215610a5b57610a5a611139565b5b6000610a69848285016109ad565b91505092915050565b60008060208385031215610a8957610a88611139565b5b600083013567ffffffffffffffff811115610aa757610aa6611134565b5b610ab3858286016109c2565b92509250509250929050565b610ac881610fe9565b82525050565b610adf610ada82610fe9565b6110a3565b82525050565b610aee81610ffb565b82525050565b6000610aff82610f56565b610b098185610f6c565b9350610b1981856020860161103e565b80840191505092915050565b6000610b318385610f88565b9350610b3e83858461102f565b82840190509392505050565b6000610b5582610f61565b610b5f8185610f77565b9350610b6f81856020860161103e565b610b788161113e565b840191505092915050565b6000610b90601283610f88565b9150610b9b8261115c565b601282019050919050565b6000610bb3601183610f77565b9150610bbe82611185565b602082019050919050565b6000610bd6600f83610f77565b9150610be1826111ae565b602082019050919050565b6000610bf9600283610f88565b9150610c04826111d7565b600282019050919050565b6000610c1c601383610f77565b9150610c2782611200565b602082019050919050565b6000610c3f601383610f77565b9150610c4a82611229565b602082019050919050565b6000610c62600083610f6c565b9150610c6d82611252565b600082019050919050565b6000610c85601483610f77565b9150610c9082611255565b602082019050919050565b6000610ca8601483610f77565b9150610cb38261127e565b602082019050919050565b6000610ccb600e83610f77565b9150610cd6826112a7565b602082019050919050565b6000610cee601083610f77565b9150610cf9826112d0565b602082019050919050565b6000610d11601683610f77565b9150610d1c826112f9565b602082019050919050565b610d3081611025565b82525050565b6000610d428284610af4565b915081905092915050565b6000610d5a828486610b25565b91508190509392505050565b6000610d7182610b83565b9150610d7d8284610ace565b60148201915081905092915050565b6000610d9782610bec565b9150610da38284610af4565b915081905092915050565b6000610db982610c55565b9150819050919050565b6000602082019050610dd86000830184610abf565b92915050565b6000602082019050610df36000830184610ae5565b92915050565b60006020820190508181036000830152610e138184610b4a565b905092915050565b60006020820190508181036000830152610e3481610ba6565b9050919050565b60006020820190508181036000830152610e5481610bc9565b9050919050565b60006020820190508181036000830152610e7481610c0f565b9050919050565b60006020820190508181036000830152610e9481610c32565b9050919050565b60006020820190508181036000830152610eb481610c78565b9050919050565b60006020820190508181036000830152610ed481610c9b565b9050919050565b60006020820190508181036000830152610ef481610cbe565b9050919050565b60006020820190508181036000830152610f1481610ce1565b9050919050565b60006020820190508181036000830152610f3481610d04565b9050919050565b6000602082019050610f506000830184610d27565b92915050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000610f9e82611025565b9150610fa983611025565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610fde57610fdd6110c7565b5b828201905092915050565b6000610ff482611005565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561105c578082015181840152602081019050611041565b8381111561106b576000848401525b50505050565b6000600282049050600182168061108957607f821691505b6020821081141561109d5761109c6110f6565b5b50919050565b60006110ae826110b5565b9050919050565b60006110c08261114f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f5377617020737461727465642077697468200000000000000000000000000000600082015250565b7f4661696c6564206861736820636865636b000000000000000000000000000000600082015250565b7f4d697373656420446561646c696e650000000000000000000000000000000000600082015250565b7f4f6b000000000000000000000000000000000000000000000000000000000000600082015250565b7f43616c6c6572206973206e6f74206f776e657200000000000000000000000000600082015250565b7f4661696c6564206c656e67746820636865636b00000000000000000000000000600082015250565b50565b7f5377617020616c72656164792073746172746564000000000000000000000000600082015250565b7f57616974696e6720666f7220646561646c696e65000000000000000000000000600082015250565b7f4661696c656420746f2073656e64000000000000000000000000000000000000600082015250565b7f496e636f727265637420616d6f756e7400000000000000000000000000000000600082015250565b7f43616c6c6572206973206e6f7420726563656976657200000000000000000000600082015250565b61132b81610ffb565b811461133657600080fd5b5056fea2646970667358221220"+insert_2+"64736f6c63430008070033";
}
*/ |
SC Arguments: [Name:SC_ACTION Type:uint64 Value:'1' Name:SC_CODE Type:string Value:'// Copyright 2024. Civilware. All rights reserved.
// TELA Decentralized Web Document (TELA-DOC-1)
Function InitializePrivate() Uint64
10 IF init() == 0 THEN GOTO 30
20 RETURN 1
30 STORE("nameHdr", "mm.js")
31 STORE("descrHdr", "MetaMask and .sol contract")
32 STORE("iconURLHdr", "")
33 STORE("dURL", "mm.js")
34 STORE("docType", "TELA-JS-1")
35 STORE("subDir", "")
36 STORE("fileCheckC", "16a6a5caf351d3c4e753616b591e5ad425499ac97d6cd2196c0d308f93598f77")
37 STORE("fileCheckS", "266f4124d37fad0ea2fa8fe14ae7602d75c84693720efe4cfee56727037f9dea")
100 RETURN 0
End Function
Function init() Uint64
10 IF EXISTS("owner") == 0 THEN GOTO 30
20 RETURN 1
30 STORE("owner", address())
50 STORE("docVersion", "1.0.0")
60 STORE("hash", HEX(TXID()))
70 STORE("likes", 0)
80 STORE("dislikes", 0)
100 RETURN 0
End Function
Function address() String
10 DIM s as String
20 LET s = SIGNER()
30 IF IS_ADDRESS_VALID(s) THEN GOTO 50
40 RETURN "anon"
50 RETURN ADDRESS_STRING(s)
End Function
Function Rate(r Uint64) Uint64
10 DIM addr as String
15 LET addr = address()
16 IF r < 100 && EXISTS(addr) == 0 && addr != "anon" THEN GOTO 30
20 RETURN 1
30 STORE(addr, ""+r+"_"+BLOCK_HEIGHT())
40 IF r < 50 THEN GOTO 70
50 STORE("likes", LOAD("likes")+1)
60 RETURN 0
70 STORE("dislikes", LOAD("dislikes")+1)
100 RETURN 0
End Function
/*const use_chain_id = 369;
const messages = document.querySelector('.messages');
// Account and connection stuff
const ethereumButton = document.querySelector('.enableEthereumButton');
const showAccount = document.querySelector('.showAccount');
const showChainId = document.querySelector('.showChainId');
var web3;
var connected_evm_account='';
window.addEventListener('load', function () {
// check if web3 is available
if (typeof window.ethereum !== 'undefined') {
// use the browser injected Ethereum provider
web3 = new Web3(window.ethereum);
setChainId();
registerHandlers();
web3.eth.transactionPollingTimeout = 1000;
} else {
// if window.ethereum is not available, give instructions to install MetaMask
messages.innerHTML =
'Please install MetaMask to connect';
}
});
ethereumButton.addEventListener('click', async () => {
setChainId();
connectToMetaMask();
});
async function connectToMetaMask(){
handleConnectButton("Waiting");
let error = await requestAccounts();
if(error === ''){
messages.innerHTML = "";
getAccount();
}else{
if (error.code === 4001) {
handleConnectButton("Connect");
messages.innerHTML = "Please connect to MetaMask.";
}else if(error.code === -32002){
messages.innerHTML = "Waiting for sign-in.";
}
}
}
async function requestAccounts() {
let error ='';
await window.ethereum.request({ method: 'eth_requestAccounts' })
.catch((err) => {
error = err;
});
return error;
}
async function getAccount() {
handleConnectButton("Connect");
// get list of accounts
const accounts = await web3.eth.getAccounts();
if(accounts.length > 0){
// show the first account
connected_evm_account = accounts[0];
showAccount.innerHTML = connected_evm_account;
handleConnectButton();
}
}
var chain_selected = 0;
function displayChainInfo(chainId){
chain_selected = web3.utils.hexToNumberString(chainId);
let chains = [];
chains[369] = 'pls';
chains[943] = 'plsV4testnet';
chains[1] = 'eth';
showChainId.innerHTML = chain_selected + "-"+ chains[chain_selected];
}
async function setChainId(){
var chainId = await window.ethereum.request({ method: 'eth_chainId' });
displayChainInfo(chainId);
}
function handleConnectButton(text=""){
if(text != ""){
ethereumButton.innerHTML = text;
}else if(window.ethereum.isConnected()){
ethereumButton.innerHTML = "Connected";
ethereumButton.style.color = "green";
CStatusChange();
}else{
ethereumButton.innerHTML = "Connect";
CStatusChange();
}
}
function registerHandlers(){
window.ethereum.on('chainChanged', displayChainInfo);
window.ethereum.on("accountsChanged", getAccount);
window.ethereum.on("disconnect", handleConnectButton);
}
//Check / update this before deployment
async function connectionOK(){
if(chain_selected == use_chain_id && connected_evm_account != ""){
return true;
}
await alertModal("MetaMask Wallet connection required. Make sure you are connected to PulseChain (chain id 369)");
return false;
}
const HTLContractABI = [
{
"inputs": [
{
"internalType": "address",
"name": "_receiver_address",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "deadline",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "deposited",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "hash",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "key",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address payable",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "receiver",
"outputs": [
{
"internalType": "address payable",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "refund",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_hash",
"type": "bytes32"
}
],
"name": "startSwap",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "_key",
"type": "string"
}
],
"name": "withdraw",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "payable",
"type": "function"
}
];
function getInstallByteCode(days){
let insert_1;
let insert_2;
if (days === 1){
insert_1 = "1518";
insert_2 = "791becb0b975fcb0df4d838bf1f780704fd0955926e0818c772d27e74382e462";
}else if(days === 2){
insert_1 = "2a30";
insert_2 = "aed8476fda76aa8834ce628a6106d7fbc037b5f261e3196438227391d77b0467";
}else{
return false;
}
return "60806040523480156200001157600080fd5b50604051620014e2380380620014e28339818101604052810190620000379190620000de565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060038190555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505062000163565b600081519050620000d88162000149565b92915050565b600060208284031215620000f757620000f662000144565b5b60006200010784828501620000c7565b91505092915050565b60006200011d8262000124565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b620001548162000110565b81146200016057600080fd5b50565b61136f80620001736000396000f3fe6080604052600436106100915760003560e01c806341dc248e1161005957806341dc248e14610172578063590e1ae3146101a25780638da5cb5b146101c0578063eef49ee3146101eb578063f7260d3e1461021657610091565b806309bd5a601461009657806312065fe0146100c157806329dcb0cf146100ec57806331fb67c2146101175780633943380c14610147575b600080fd5b3480156100a257600080fd5b506100ab610241565b6040516100b89190610dde565b60405180910390f35b3480156100cd57600080fd5b506100d6610247565b6040516100e39190610f3b565b60405180910390f35b3480156100f857600080fd5b5061010161026b565b60405161010e9190610f3b565b60405180910390f35b610131600480360381019061012c9190610a72565b610271565b60405161013e9190610df9565b60405180910390f35b34801561015357600080fd5b5061015c610555565b6040516101699190610df9565b60405180910390f35b61018c60048036038101906101879190610a18565b6105e3565b6040516101999190610df9565b60405180910390f35b6101aa6106da565b6040516101b79190610df9565b60405180910390f35b3480156101cc57600080fd5b506101d56108a5565b6040516101e29190610dc3565b60405180910390f35b3480156101f757600080fd5b506102006108c9565b60405161020d9190610f3b565b60405180910390f35b34801561022257600080fd5b5061022b6108cf565b6040516102389190610dc3565b60405180910390f35b60035481565b6000803090508073ffffffffffffffffffffffffffffffffffffffff163191505090565b60045481565b6060600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fa90610f1b565b60405180910390fd5b4260045411610347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033e90610e3b565b60405180910390fd5b602083839050111561038e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038590610e7b565b60405180910390fd5b600283836040516020016103a3929190610d4d565b6040516020818303038152906040526040516103bf9190610d36565b602060405180830381855afa1580156103dc573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906103ff9190610a45565b60035414610442576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043990610e1b565b60405180910390fd5b8282600291906104539291906108f5565b50600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610498610247565b6040516104a490610dae565b60006040518083038185875af1925050503d80600081146104e1576040519150601f19603f3d011682016040523d82523d6000602084013e6104e6565b606091505b50915091508161052b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052290610edb565b60405180910390fd5b8060405160200161053c9190610d8c565b6040516020818303038152906040529250505092915050565b6002805461056290611071565b80601f016020809104026020016040519081016040528092919081815260200182805461058e90611071565b80156105db5780601f106105b0576101008083540402835291602001916105db565b820191906000526020600020905b8154815290600101906020018083116105be57829003601f168201915b505050505081565b60606000341415610629576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062090610efb565b60405180910390fd5b60006003541461066e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066590610e9b565b60405180910390fd5b81600381905550620"+insert_1+"0426106849190610f93565b60048190555034600581905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516020016106c49190610d66565b6040516020818303038152906040529050919050565b606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461076a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076190610e5b565b60405180910390fd5b42600454106107ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a590610ebb565b60405180910390fd5b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166005546040516107f790610dae565b60006040518083038185875af1925050503d8060008114610834576040519150601f19603f3d011682016040523d82523d6000602084013e610839565b606091505b50915091508161087e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087590610edb565b60405180910390fd5b8060405160200161088f9190610d8c565b6040516020818303038152906040529250505090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b82805461090190611071565b90600052602060002090601f016020900481019282610923576000855561096a565b82601f1061093c57803560ff191683800117855561096a565b8280016001018555821561096a579182015b8281111561096957823582559160200191906001019061094e565b5b509050610977919061097b565b5090565b5b8082111561099457600081600090555060010161097c565b5090565b6000813590506109a781611322565b92915050565b6000815190506109bc81611322565b92915050565b60008083601f8401126109d8576109d761112a565b5b8235905067ffffffffffffffff8111156109f5576109f4611125565b5b602083019150836001820283011115610a1157610a1061112f565b5b9250929050565b600060208284031215610a2e57610a2d611139565b5b6000610a3c84828501610998565b91505092915050565b600060208284031215610a5b57610a5a611139565b5b6000610a69848285016109ad565b91505092915050565b60008060208385031215610a8957610a88611139565b5b600083013567ffffffffffffffff811115610aa757610aa6611134565b5b610ab3858286016109c2565b92509250509250929050565b610ac881610fe9565b82525050565b610adf610ada82610fe9565b6110a3565b82525050565b610aee81610ffb565b82525050565b6000610aff82610f56565b610b098185610f6c565b9350610b1981856020860161103e565b80840191505092915050565b6000610b318385610f88565b9350610b3e83858461102f565b82840190509392505050565b6000610b5582610f61565b610b5f8185610f77565b9350610b6f81856020860161103e565b610b788161113e565b840191505092915050565b6000610b90601283610f88565b9150610b9b8261115c565b601282019050919050565b6000610bb3601183610f77565b9150610bbe82611185565b602082019050919050565b6000610bd6600f83610f77565b9150610be1826111ae565b602082019050919050565b6000610bf9600283610f88565b9150610c04826111d7565b600282019050919050565b6000610c1c601383610f77565b9150610c2782611200565b602082019050919050565b6000610c3f601383610f77565b9150610c4a82611229565b602082019050919050565b6000610c62600083610f6c565b9150610c6d82611252565b600082019050919050565b6000610c85601483610f77565b9150610c9082611255565b602082019050919050565b6000610ca8601483610f77565b9150610cb38261127e565b602082019050919050565b6000610ccb600e83610f77565b9150610cd6826112a7565b602082019050919050565b6000610cee601083610f77565b9150610cf9826112d0565b602082019050919050565b6000610d11601683610f77565b9150610d1c826112f9565b602082019050919050565b610d3081611025565b82525050565b6000610d428284610af4565b915081905092915050565b6000610d5a828486610b25565b91508190509392505050565b6000610d7182610b83565b9150610d7d8284610ace565b60148201915081905092915050565b6000610d9782610bec565b9150610da38284610af4565b915081905092915050565b6000610db982610c55565b9150819050919050565b6000602082019050610dd86000830184610abf565b92915050565b6000602082019050610df36000830184610ae5565b92915050565b60006020820190508181036000830152610e138184610b4a565b905092915050565b60006020820190508181036000830152610e3481610ba6565b9050919050565b60006020820190508181036000830152610e5481610bc9565b9050919050565b60006020820190508181036000830152610e7481610c0f565b9050919050565b60006020820190508181036000830152610e9481610c32565b9050919050565b60006020820190508181036000830152610eb481610c78565b9050919050565b60006020820190508181036000830152610ed481610c9b565b9050919050565b60006020820190508181036000830152610ef481610cbe565b9050919050565b60006020820190508181036000830152610f1481610ce1565b9050919050565b60006020820190508181036000830152610f3481610d04565b9050919050565b6000602082019050610f506000830184610d27565b92915050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000610f9e82611025565b9150610fa983611025565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610fde57610fdd6110c7565b5b828201905092915050565b6000610ff482611005565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561105c578082015181840152602081019050611041565b8381111561106b576000848401525b50505050565b6000600282049050600182168061108957607f821691505b6020821081141561109d5761109c6110f6565b5b50919050565b60006110ae826110b5565b9050919050565b60006110c08261114f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f5377617020737461727465642077697468200000000000000000000000000000600082015250565b7f4661696c6564206861736820636865636b000000000000000000000000000000600082015250565b7f4d697373656420446561646c696e650000000000000000000000000000000000600082015250565b7f4f6b000000000000000000000000000000000000000000000000000000000000600082015250565b7f43616c6c6572206973206e6f74206f776e657200000000000000000000000000600082015250565b7f4661696c6564206c656e67746820636865636b00000000000000000000000000600082015250565b50565b7f5377617020616c72656164792073746172746564000000000000000000000000600082015250565b7f57616974696e6720666f7220646561646c696e65000000000000000000000000600082015250565b7f4661696c656420746f2073656e64000000000000000000000000000000000000600082015250565b7f496e636f727265637420616d6f756e7400000000000000000000000000000000600082015250565b7f43616c6c6572206973206e6f7420726563656976657200000000000000000000600082015250565b61132b81610ffb565b811461133657600080fd5b5056fea2646970667358221220"+insert_2+"64736f6c63430008070033";
}
*/'] |