Skip to content

Instantly share code, notes, and snippets.

@Tgb29
Created March 21, 2021 15:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Tgb29/4b1174373876bcd7b19a07b0b52b434d to your computer and use it in GitHub Desktop.
Save Tgb29/4b1174373876bcd7b19a07b0b52b434d to your computer and use it in GitHub Desktop.
front end NFT
<html>
<head>
<title>NiftyBooks</title>
</head>
<body>
<script src="https://cdn.jsdelivr.net/npm/web3@1.3.4/dist/web3.min.js" integrity="sha256-GQqI2JYavfgCtKq7m7vTVLWIudbQ76HvNgxy4n8V9dc=" crossorigin="anonymous"></script>
<script>
window.ethereum.enable();
window.web3 = new Web3(window.ethereum);
var author = "0x0A520389D05aAfF249a191E638Ab0620D92052c6";
var ipfsPinningProviderWallet = "0x950EaD03422C7C4d72173DA6f1ab5034A398a476" ;
var storageTrust = "0x16149000C53C3b7693A4afeB27D7d65b738Cd507" ;
var _name = "NFT Hacking Manual" ;
var _symbol = "NHM";
var royaltyFee = "500"; //wei
var host = "0x22ff293e14F1EC3A09B137e9e06084AFd63adDF9" ;
var cfa = "0xEd6BcbF6907D4feEEe8a8875543249bEa9D308E8";
var acceptedToken = "0xF2d68898557cCb2Cf4C10c3Ef2B034b2a69DAD00";
var demurragenftContract = new web3.eth.Contract([{"inputs":[{"internalType":"address","name":"author","type":"address"},{"internalType":"address","name":"ipfsPinningProviderWallet","type":"address"},{"internalType":"address","name":"storageTrust","type":"address"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"royaltyFee","type":"uint256"},{"internalType":"contract ISuperfluid","name":"host","type":"address"},{"internalType":"contract IConstantFlowAgreementV1","name":"cfa","type":"address"},{"internalType":"contract ISuperToken","name":"acceptedToken","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"receiver","type":"address"}],"name":"ReceiverChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"contract ISuperToken","name":"_superToken","type":"address"},{"internalType":"address","name":"_agreementClass","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"bytes","name":"_ctx","type":"bytes"}],"name":"afterAgreementCreated","outputs":[{"internalType":"bytes","name":"newCtx","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ISuperToken","name":"_superToken","type":"address"},{"internalType":"address","name":"_agreementClass","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"bytes","name":"_ctx","type":"bytes"}],"name":"afterAgreementTerminated","outputs":[{"internalType":"bytes","name":"newCtx","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ISuperToken","name":"_superToken","type":"address"},{"internalType":"address","name":"_agreementClass","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"bytes","name":"_ctx","type":"bytes"}],"name":"afterAgreementUpdated","outputs":[{"internalType":"bytes","name":"newCtx","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ISuperToken","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"beforeAgreementCreated","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ISuperToken","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"beforeAgreementTerminated","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ISuperToken","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"beforeAgreementUpdated","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentReceiver","outputs":[{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"int96","name":"flowRate","type":"int96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"transferPinningProviderWallet","outputs":[],"stateMutability":"nonpayable","type":"function"}]);
var demurragenft = demurragenftContract.deploy({
data: '0x60806040523480156200001157600080fd5b50604051620070ed380380620070ed83398181016040526101208110156200003857600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805160405193929190846401000000008211156200007757600080fd5b838201915060208201858111156200008e57600080fd5b8251866001820283011164010000000082111715620000ac57600080fd5b8083526020830192505050908051906020019080838360005b83811015620000e2578082015181840152602081019050620000c5565b50505050905090810190601f168015620001105780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200013457600080fd5b838201915060208201858111156200014b57600080fd5b82518660018202830111640100000000821117156200016957600080fd5b8083526020830192505050908051906020019080838360005b838110156200019f57808201518184015260208101905062000182565b50505050905090810190601f168015620001cd5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291908051906020019092919080519060200190929190805190602001909291905050508282828a89896200021d6301ffc9a760e01b620006f860201b60201c565b81600690805190602001906200023592919062001111565b5080600790805190602001906200024e92919062001111565b50620002676380ac58cd60e01b620006f860201b60201c565b6200027f635b5e139f60e01b620006f860201b60201c565b6200029763780e9d6360e01b620006f860201b60201c565b5050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415620002d157fe5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156200030957fe5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200034157fe5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156200037957fe5b83600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600064100000000064040000000064010000000060011717179050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad3915c8826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156200050e57600080fd5b505af115801562000523573d6000803e3d6000fd5b505050505050505050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156200056457fe5b600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614156200059c57fe5b600073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff161415620005d457fe5b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614156200060c57fe5b88600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360118190555086601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555087600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620006e98960016200080160201b60201c565b505050505050505050620011b7565b63ffffffff60e01b817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141562000795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4552433136353a20696e76616c696420696e746572666163652069640000000081525060200191505060405180910390fd5b6001600080837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620008a5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4552433732313a206d696e7420746f20746865207a65726f206164647265737381525060200191505060405180910390fd5b620008b68162000a1560201b60201c565b156200092a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000081525060200191505060405180910390fd5b6200093e6000838362000a3960201b60201c565b6200099681600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002062000ef160201b6200277c1790919060201c565b50620009b48183600262000f1360201b62002796179092919060201c565b50808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600062000a3282600262000f5060201b620027cb1790919060201c565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148062000b2e57503073ffffffffffffffffffffffffffffffffffffffff16636352211e826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801562000ac257600080fd5b505afa15801562000ad7573d6000803e3d6000fd5b505050506040513d602081101562000aee57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b62000b3557fe5b8173ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141562000b925762000eec565b600560115401600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801562000c2257600080fd5b505afa15801562000c37573d6000803e3d6000fd5b505050506040513d602081101562000c4e57600080fd5b8101908080519060200190929190505050101562000cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180620070b66037913960400191505060405180910390fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd83600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166011546040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801562000d8e57600080fd5b505af115801562000da3573d6000803e3d6000fd5b505050506040513d602081101562000dba57600080fd5b810190808051906020019092919050505062000dd257fe5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd83601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660056040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801562000ea757600080fd5b505af115801562000ebc573d6000803e3d6000fd5b505050506040513d602081101562000ed357600080fd5b810190808051906020019092919050505062000eeb57fe5b5b505050565b600062000f0b836000018360001b62000f7260201b60201c565b905092915050565b600062000f47846000018460001b8473ffffffffffffffffffffffffffffffffffffffff1660001b62000fec60201b60201c565b90509392505050565b600062000f6a836000018360001b620010cb60201b60201c565b905092915050565b600062000f868383620010ee60201b60201c565b62000fe157826000018290806001815401808255809150506001900390600052602060002001600090919091909150558260000180549050836001016000848152602001908152602001600020819055506001905062000fe6565b600090505b92915050565b60008084600101600085815260200190815260200160002054905060008114156200109557846000016040518060400160405280868152602001858152509080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015181600001556020820151816001015550508460000180549050856001016000868152602001908152602001600020819055506001915050620010c4565b82856000016001830381548110620010a957fe5b90600052602060002090600202016001018190555060009150505b9392505050565b600080836001016000848152602001908152602001600020541415905092915050565b600080836001016000848152602001908152602001600020541415905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200115457805160ff191683800117855562001185565b8280016001018555821562001185579182015b828111156200118457825182559160200191906001019062001167565b5b50905062001194919062001198565b5090565b5b80821115620011b357600081600090555060010162001199565b5090565b615eef80620011c76000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806353c11f99116100de578063884d1f4011610097578063b88d4fde11610071578063b88d4fde14610fb0578063c87b56dd146110b5578063d86ed3e51461115c578063e985e9c51461134257610173565b8063884d1f4014610d4c57806395d89b4114610edd578063a22cb46514610f6057610173565b806353c11f991461085e5780635f9e7d7714610a445780636352211e14610bd55780636c0360eb14610c2d57806370a0823114610cb05780638748328114610d0857610173565b806323b872dd1161013057806323b872dd1461050857806328d2bf94146105765780632f745c59146105bb57806330d9c9151461061d57806342842e0e146107ae5780634f6ccce71461081c57610173565b806301ffc9a71461017857806306fdde03146101db578063081812fc1461025e578063095ea7b3146102b657806318160ddd14610304578063230dbd2914610322575b600080fd5b6101c36004803603602081101561018e57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506113bc565b60405180821515815260200191505060405180910390f35b6101e3611423565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610223578082015181840152602081019050610208565b50505050905090810190601f1680156102505780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61028a6004803603602081101561027457600080fd5b81019080803590602001909291905050506114c5565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610302600480360360408110156102cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611560565b005b61030c6116a4565b6040518082815260200191505060405180910390f35b61048d600480360360c081101561033857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561039f57600080fd5b8201836020820111156103b157600080fd5b803590602001918460018302840111640100000000831117156103d357600080fd5b9091929391929390803590602001906401000000008111156103f457600080fd5b82018360208201111561040657600080fd5b8035906020019184600183028401116401000000008311171561042857600080fd5b90919293919293908035906020019064010000000081111561044957600080fd5b82018360208201111561045b57600080fd5b8035906020019184600183028401116401000000008311171561047d57600080fd5b90919293919293905050506116b5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104cd5780820151818401526020810190506104b2565b50505050905090810190601f1680156104fa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105746004803603606081101561051e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611853565b005b61057e6118c9565b604051808481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182600b0b8152602001935050505060405180910390f35b610607600480360360408110156105d157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611abb565b6040518082815260200191505060405180910390f35b610733600480360360a081101561063357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561069a57600080fd5b8201836020820111156106ac57600080fd5b803590602001918460018302840111640100000000831117156106ce57600080fd5b9091929391929390803590602001906401000000008111156106ef57600080fd5b82018360208201111561070157600080fd5b8035906020019184600183028401116401000000008311171561072357600080fd5b9091929391929390505050611b16565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610773578082015181840152602081019050610758565b50505050905090810190601f1680156107a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61081a600480360360608110156107c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b69565b005b6108486004803603602081101561083257600080fd5b8101908080359060200190929190505050611b89565b6040518082815260200191505060405180910390f35b6109c9600480360360c081101561087457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156108db57600080fd5b8201836020820111156108ed57600080fd5b8035906020019184600183028401116401000000008311171561090f57600080fd5b90919293919293908035906020019064010000000081111561093057600080fd5b82018360208201111561094257600080fd5b8035906020019184600183028401116401000000008311171561096457600080fd5b90919293919293908035906020019064010000000081111561098557600080fd5b82018360208201111561099757600080fd5b803590602001918460018302840111640100000000831117156109b957600080fd5b9091929391929390505050611bac565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a095780820151818401526020810190506109ee565b50505050905090810190601f168015610a365780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610b5a600480360360a0811015610a5a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190640100000000811115610ac157600080fd5b820183602082011115610ad357600080fd5b80359060200191846001830284011164010000000083111715610af557600080fd5b909192939192939080359060200190640100000000811115610b1657600080fd5b820183602082011115610b2857600080fd5b80359060200191846001830284011164010000000083111715610b4a57600080fd5b9091929391929390505050611cda565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b9a578082015181840152602081019050610b7f565b50505050905090810190601f168015610bc75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610c0160048036036020811015610beb57600080fd5b8101908080359060200190929190505050611d2d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610c35611d64565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c75578082015181840152602081019050610c5a565b50505050905090810190601f168015610ca25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610cf260048036036020811015610cc657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e06565b6040518082815260200191505060405180910390f35b610d4a60048036036020811015610d1e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611edb565b005b610e62600480360360a0811015610d6257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190640100000000811115610dc957600080fd5b820183602082011115610ddb57600080fd5b80359060200191846001830284011164010000000083111715610dfd57600080fd5b909192939192939080359060200190640100000000811115610e1e57600080fd5b820183602082011115610e3057600080fd5b80359060200191846001830284011164010000000083111715610e5257600080fd5b9091929391929390505050611f3e565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610ea2578082015181840152602081019050610e87565b50505050905090810190601f168015610ecf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610ee5611f91565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610f25578082015181840152602081019050610f0a565b50505050905090810190601f168015610f525780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610fae60048036036040811015610f7657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050612033565b005b6110b360048036036080811015610fc657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561102d57600080fd5b82018360208201111561103f57600080fd5b8035906020019184600183028401116401000000008311171561106157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506121e9565b005b6110e1600480360360208110156110cb57600080fd5b8101908080359060200190929190505050612261565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015611121578082015181840152602081019050611106565b50505050905090810190601f16801561114e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6112c7600480360360c081101561117257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156111d957600080fd5b8201836020820111156111eb57600080fd5b8035906020019184600183028401116401000000008311171561120d57600080fd5b90919293919293908035906020019064010000000081111561122e57600080fd5b82018360208201111561124057600080fd5b8035906020019184600183028401116401000000008311171561126257600080fd5b90919293919293908035906020019064010000000081111561128357600080fd5b82018360208201111561129557600080fd5b803590602001918460018302840111640100000000831117156112b757600080fd5b909192939192939050505061254a565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156113075780820151818401526020810190506112ec565b50505050905090810190601f1680156113345780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6113a46004803603604081101561135857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126e8565b60405180821515815260200191505060405180910390f35b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b606060068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114bb5780601f10611490576101008083540402835291602001916114bb565b820191906000526020600020905b81548152906001019060200180831161149e57829003601f168201915b5050505050905090565b60006114d0826127e5565b611525576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180615d86602c913960400191505060405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061156b82611d2d565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156115f2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180615e0a6021913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16611611612802565b73ffffffffffffffffffffffffffffffffffffffff161480611640575061163f8161163a612802565b6126e8565b5b611695576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526038815260200180615cb76038913960400191505060405180910390fd5b61169f838361280a565b505050565b60006116b060026128c3565b905090565b606089896116c2826128d8565b611734576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265646972656374416c6c3a206e6f7420616363657074656420746f6b656e0081525060200191505060405180910390fd5b61173d81612932565b611792576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180615b886021913960400191505060405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611838576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615c456022913960400191505060405180910390fd5b61184285856129de565b925050509998505050505050505050565b61186461185e612802565b82613c53565b6118b9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180615e5a6031913960400191505060405180910390fd5b6118c4838383613d47565b505050565b60008060008073ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ab657600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e6a1e888600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff168152602001935050505060806040518083038186803b158015611a2c57600080fd5b505afa158015611a40573d6000803e3d6000fd5b505050506040513d6080811015611a5657600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050509050508092508194505050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505b909192565b6000611b0e82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020613f8a90919063ffffffff16565b905092915050565b60606040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180615e8b602f913960400191505060405180910390fd5b611b84838383604051806020016040528060008152506121e9565b505050565b600080611ba0836002613fa490919063ffffffff16565b50905080915050919050565b6060600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615c456022913960400191505060405180910390fd5b611c5d8a6128d8565b1580611c6f5750611c6d89612932565b155b15611cc05782828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509050611ccd565b611cca83836129de565b90505b9998505050505050505050565b60606040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526033815260200180615c126033913960400191505060405180910390fd5b6000611d5d82604051806060016040528060298152602001615d19602991396002613fd09092919063ffffffff16565b9050919050565b606060098054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611dfc5780601f10611dd157610100808354040283529160200191611dfc565b820191906000526020600020905b815481529060010190602001808311611ddf57829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180615cef602a913960400191505060405180910390fd5b611ed4600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020613fef565b9050919050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611f3b57611f3a81614004565b5b50565b60606040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180615e2b602f913960400191505060405180910390fd5b606060078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156120295780601f10611ffe57610100808354040283529160200191612029565b820191906000526020600020905b81548152906001019060200180831161200c57829003601f168201915b5050505050905090565b61203b612802565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156120dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4552433732313a20617070726f766520746f2063616c6c65720000000000000081525060200191505060405180910390fd5b80600560006120e9612802565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16612196612802565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405180821515815260200191505060405180910390a35050565b6121fa6121f4612802565b83613c53565b61224f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180615e5a6031913960400191505060405180910390fd5b61225b84848484614bbe565b50505050565b606061226c826127e5565b6122c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180615ddb602f913960400191505060405180910390fd5b6060600860008481526020019081526020016000208054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561236a5780601f1061233f5761010080835404028352916020019161236a565b820191906000526020600020905b81548152906001019060200180831161234d57829003601f168201915b505050505090506000600980546001816001161561010002031660029004905014156123995780915050612545565b6000815111156124725760098160405160200180838054600181600116156101000203166002900480156124045780601f106123e2576101008083540402835291820191612404565b820191906000526020600020905b8154815290600101906020018083116123f0575b505082805190602001908083835b602083106124355780518252602082019150602081019050602083039250612412565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052915050612545565b600961247d84614c30565b60405160200180838054600181600116156101000203166002900480156124db5780601f106124b95761010080835404028352918201916124db565b820191906000526020600020905b8154815290600101906020018083116124c7575b505082805190602001908083835b6020831061250c57805182526020820191506020810190506020830392506124e9565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529150505b919050565b60608989612557826128d8565b6125c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265646972656374416c6c3a206e6f7420616363657074656420746f6b656e0081525060200191505060405180910390fd5b6125d281612932565b612627576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180615b886021913960400191505060405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146126cd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615c456022913960400191505060405180910390fd5b6126d785856129de565b925050509998505050505050505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600061278e836000018360001b614d77565b905092915050565b60006127c2846000018460001b8473ffffffffffffffffffffffffffffffffffffffff1660001b614de7565b90509392505050565b60006127dd836000018360001b614ec3565b905092915050565b60006127fb8260026127cb90919063ffffffff16565b9050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661287d83611d2d565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006128d182600001614ee6565b9050919050565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60007fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd38273ffffffffffffffffffffffffffffffffffffffff16637730599e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561299b57600080fd5b505afa1580156129af573d6000803e3d6000fd5b505050506040513d60208110156129c557600080fd5b8101908080519060200190929190505050149050919050565b606082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505090506000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e8e7e2d1600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015612af257600080fd5b505afa158015612b06573d6000803e3d6000fd5b505050506040513d6020811015612b1c57600080fd5b810190808051906020019092919050505090506000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e6a1e888600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff168152602001935050505060806040518083038186803b158015612c3a57600080fd5b505afa158015612c4e573d6000803e3d6000fd5b505050506040513d6080811015612c6457600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050505050915050600081830190506000600b0b82600b0b146131d757600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634329d293600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166350209a6260e01b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686600067ffffffffffffffff81118015612d7557600080fd5b506040519080825280601f01601f191660200182016040528015612da85781602001600182028036833780820191505090505b50604051602401808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200183600b0b815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612e2d578082015181840152602081019050612e12565b50505050905090810190601f168015612e5a5780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050876040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845286818151815260200191508051906020019080838360005b83811015612f33578082015181840152602081019050612f18565b50505050905090810190601f168015612f605780820380516001836020036101000a031916815260200191505b50848103835260028152602001807f3078000000000000000000000000000000000000000000000000000000000000815250602001848103825285818151815260200191508051906020019080838360005b83811015612fcd578082015181840152602081019050612fb2565b50505050905090810190601f168015612ffa5780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b15801561301d57600080fd5b505af1158015613031573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250604081101561305b57600080fd5b810190808051604051939291908464010000000082111561307b57600080fd5b8382019150602082018581111561309157600080fd5b82518660018202830111640100000000821117156130ae57600080fd5b8083526020830192505050908051906020019080838360005b838110156130e25780820151818401526020810190506130c7565b50505050905090810190601f16801561310f5780820380516001836020036101000a031916815260200191505b506040526020018051604051939291908464010000000082111561313257600080fd5b8382019150602082018581111561314857600080fd5b825186600182028301116401000000008211171561316557600080fd5b8083526020830192505050908051906020019080838360005b8381101561319957808201518184015260208101905061317e565b50505050905090810190601f1680156131c65780820380516001836020036101000a031916815260200191505b506040525050505080945050613c4a565b6000600b0b81600b0b141561372357600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634329d293600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1663b4b333c660e01b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600067ffffffffffffffff811180156132ae57600080fd5b506040519080825280601f01601f1916602001820160405280156132e15781602001600182028036833780820191505090505b50604051602401808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561337957808201518184015260208101905061335e565b50505050905090810190601f1680156133a65780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050876040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845286818151815260200191508051906020019080838360005b8381101561347f578082015181840152602081019050613464565b50505050905090810190601f1680156134ac5780820380516001836020036101000a031916815260200191505b50848103835260028152602001807f3078000000000000000000000000000000000000000000000000000000000000815250602001848103825285818151815260200191508051906020019080838360005b838110156135195780820151818401526020810190506134fe565b50505050905090810190601f1680156135465780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b15801561356957600080fd5b505af115801561357d573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060408110156135a757600080fd5b81019080805160405193929190846401000000008211156135c757600080fd5b838201915060208201858111156135dd57600080fd5b82518660018202830111640100000000821117156135fa57600080fd5b8083526020830192505050908051906020019080838360005b8381101561362e578082015181840152602081019050613613565b50505050905090810190601f16801561365b5780820380516001836020036101000a031916815260200191505b506040526020018051604051939291908464010000000082111561367e57600080fd5b8382019150602082018581111561369457600080fd5b82518660018202830111640100000000821117156136b157600080fd5b8083526020830192505050908051906020019080838360005b838110156136e55780820151818401526020810190506136ca565b50505050905090810190601f1680156137125780820380516001836020036101000a031916815260200191505b506040525050505080945050613c49565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634329d293600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166362fc305e60e01b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686600067ffffffffffffffff811180156137eb57600080fd5b506040519080825280601f01601f19166020018201604052801561381e5781602001600182028036833780820191505090505b50604051602401808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200183600b0b815260200180602001828103825283818151815260200191508051906020019080838360005b838110156138a3578082015181840152602081019050613888565b50505050905090810190601f1680156138d05780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050876040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845286818151815260200191508051906020019080838360005b838110156139a957808201518184015260208101905061398e565b50505050905090810190601f1680156139d65780820380516001836020036101000a031916815260200191505b50848103835260028152602001807f3078000000000000000000000000000000000000000000000000000000000000815250602001848103825285818151815260200191508051906020019080838360005b83811015613a43578082015181840152602081019050613a28565b50505050905090810190601f168015613a705780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b158015613a9357600080fd5b505af1158015613aa7573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506040811015613ad157600080fd5b8101908080516040519392919084640100000000821115613af157600080fd5b83820191506020820185811115613b0757600080fd5b8251866001820283011164010000000082111715613b2457600080fd5b8083526020830192505050908051906020019080838360005b83811015613b58578082015181840152602081019050613b3d565b50505050905090810190601f168015613b855780820380516001836020036101000a031916815260200191505b5060405260200180516040519392919084640100000000821115613ba857600080fd5b83820191506020820185811115613bbe57600080fd5b8251866001820283011164010000000082111715613bdb57600080fd5b8083526020830192505050908051906020019080838360005b83811015613c0f578082015181840152602081019050613bf4565b50505050905090810190601f168015613c3c5780820380516001836020036101000a031916815260200191505b5060405250505050809450505b5b50505092915050565b6000613c5e826127e5565b613cb3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180615c8b602c913960400191505060405180910390fd5b6000613cbe83611d2d565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480613d2d57508373ffffffffffffffffffffffffffffffffffffffff16613d15846114c5565b73ffffffffffffffffffffffffffffffffffffffff16145b80613d3e5750613d3d81856126e8565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16613d6782611d2d565b73ffffffffffffffffffffffffffffffffffffffff1614613dd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180615db26029913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613e59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180615c676024913960400191505060405180910390fd5b613e64838383614ef7565b613e6f60008261280a565b613ec081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061539b90919063ffffffff16565b50613f1281600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061277c90919063ffffffff16565b50613f29818360026127969092919063ffffffff16565b50808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000613f9983600001836153b5565b60001c905092915050565b600080600080613fb78660000186615438565b915091508160001c8160001c9350935050509250929050565b6000613fe3846000018460001b846154d1565b60001c90509392505050565b6000613ffd826000016155c7565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156140a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4e6577207265636569766572206973207a65726f20616464726573730000000081525060200191505060405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633ca3ad4e826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561413057600080fd5b505afa158015614144573d6000803e3d6000fd5b505050506040513d602081101561415a57600080fd5b8101908080519060200190929190505050156141c1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615d426022913960400191505060405180910390fd5b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561421c57614bbb565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166339255d5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1663b4b333c660e01b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600067ffffffffffffffff811180156142e457600080fd5b506040519080825280601f01601f1916602001820160405280156143175781602001600182028036833780820191505090505b50604051602401808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156143af578082015181840152602081019050614394565b50505050905090810190601f1680156143dc5780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001838103835284818151815260200191508051906020019080838360005b838110156144b0578082015181840152602081019050614495565b50505050905090810190601f1680156144dd5780820380516001836020036101000a031916815260200191505b50838103825260028152602001807f3078000000000000000000000000000000000000000000000000000000000000815250602001945050505050600060405180830381600087803b15801561453257600080fd5b505af1158015614546573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561457057600080fd5b810190808051604051939291908464010000000082111561459057600080fd5b838201915060208201858111156145a657600080fd5b82518660018202830111640100000000821117156145c357600080fd5b8083526020830192505050908051906020019080838360005b838110156145f75780820151818401526020810190506145dc565b50505050905090810190601f1680156146245780820380516001836020036101000a031916815260200191505b5060405250505050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166339255d5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166362fc305e60e01b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e8e7e2d1600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561478257600080fd5b505afa158015614796573d6000803e3d6000fd5b505050506040513d60208110156147ac57600080fd5b8101908080519060200190929190505050600067ffffffffffffffff811180156147d557600080fd5b506040519080825280601f01601f1916602001820160405280156148085781602001600182028036833780820191505090505b50604051602401808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200183600b0b815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561488d578082015181840152602081019050614872565b50505050905090810190601f1680156148ba5780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001838103835284818151815260200191508051906020019080838360005b8381101561498e578082015181840152602081019050614973565b50505050905090810190601f1680156149bb5780820380516001836020036101000a031916815260200191505b50838103825260028152602001807f3078000000000000000000000000000000000000000000000000000000000000815250602001945050505050600060405180830381600087803b158015614a1057600080fd5b505af1158015614a24573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015614a4e57600080fd5b8101908080516040519392919084640100000000821115614a6e57600080fd5b83820191506020820185811115614a8457600080fd5b8251866001820283011164010000000082111715614aa157600080fd5b8083526020830192505050908051906020019080838360005b83811015614ad5578082015181840152602081019050614aba565b50505050905090810190601f168015614b025780820380516001836020036101000a031916815260200191505b506040525050505080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f7dfb1d59db37a3fd2e15e796c189dcab714cdbb18650d68a1de58f8fa60718c9600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b50565b614bc9848484613d47565b614bd5848484846155d8565b614c2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180615ba96032913960400191505060405180910390fd5b50505050565b60606000821415614c78576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050614d72565b600082905060005b60008214614ca2578080600101915050600a8281614c9a57fe5b049150614c80565b60608167ffffffffffffffff81118015614cbb57600080fd5b506040519080825280601f01601f191660200182016040528015614cee5781602001600182028036833780820191505090505b50905060006001830390508593505b60008414614d6a57600a8481614d0f57fe5b0660300160f81b82828060019003935081518110614d2957fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8481614d6257fe5b049350614cfd565b819450505050505b919050565b6000614d8383836157f1565b614ddc578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050614de1565b600090505b92915050565b6000808460010160008581526020019081526020016000205490506000811415614e8e57846000016040518060400160405280868152602001858152509080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015181600001556020820151816001015550508460000180549050856001016000868152602001908152602001600020819055506001915050614ebc565b82856000016001830381548110614ea157fe5b90600052602060002090600202016001018190555060009150505b9392505050565b600080836001016000848152602001908152602001600020541415905092915050565b600081600001805490509050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480614fe857503073ffffffffffffffffffffffffffffffffffffffff16636352211e826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015614f7e57600080fd5b505afa158015614f92573d6000803e3d6000fd5b505050506040513d6020811015614fa857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b614fee57fe5b8173ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561504957615396565b600560115401600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156150d857600080fd5b505afa1580156150ec573d6000803e3d6000fd5b505050506040513d602081101561510257600080fd5b8101908080519060200190929190505050101561516a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180615bdb6037913960400191505060405180910390fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd83600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166011546040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561523f57600080fd5b505af1158015615253573d6000803e3d6000fd5b505050506040513d602081101561526957600080fd5b810190808051906020019092919050505061528057fe5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd83601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660056040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561535457600080fd5b505af1158015615368573d6000803e3d6000fd5b505050506040513d602081101561537e57600080fd5b810190808051906020019092919050505061539557fe5b5b505050565b60006153ad836000018360001b615814565b905092915050565b600081836000018054905011615416576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615b666022913960400191505060405180910390fd5b82600001828154811061542557fe5b9060005260206000200154905092915050565b6000808284600001805490501161549a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615d646022913960400191505060405180910390fd5b60008460000184815481106154ab57fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b60008084600101600085815260200190815260200160002054905060008114158390615598576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561555d578082015181840152602081019050615542565b50505050905090810190601f16801561558a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508460000160018203815481106155ab57fe5b9060005260206000209060020201600101549150509392505050565b600081600001805490509050919050565b60006155f98473ffffffffffffffffffffffffffffffffffffffff166158fc565b61560657600190506157e9565b606061577063150b7a0260e01b61561b612802565b888787604051602401808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561569f578082015181840152602081019050615684565b50505050905090810190601f1680156156cc5780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051806060016040528060328152602001615ba9603291398773ffffffffffffffffffffffffffffffffffffffff166159479092919063ffffffff16565b9050600081806020019051602081101561578957600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614925050505b949350505050565b600080836001016000848152602001908152602001600020541415905092915050565b600080836001016000848152602001908152602001600020549050600081146158f0576000600182039050600060018660000180549050039050600086600001828154811061585f57fe5b906000526020600020015490508087600001848154811061587c57fe5b90600052602060002001819055506001830187600101600083815260200190815260200160002081905550866000018054806158b457fe5b600190038181906000526020600020016000905590558660010160008781526020019081526020016000206000905560019450505050506158f6565b60009150505b92915050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561593e57506000801b8214155b92505050919050565b6060615956848460008561595f565b90509392505050565b606061596a856158fc565b6159dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000081525060200191505060405180910390fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b60208310615a2c5780518252602082019150602081019050602083039250615a09565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114615a8e576040519150601f19603f3d011682016040523d82523d6000602084013e615a93565b606091505b50915091508115615aa8578092505050615b5d565b600081511115615abb5780518082602001fd5b836040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015615b22578082015181840152602081019050615b07565b50505050905090810190601f168015615b4f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b94935050505056fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64735265646972656374416c6c3a206f6e6c7920434641763120737570706f727465644552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724e6f7420656e6f756768206d6f6e65792073656e7420746f20636f76657220726f79616c7479202b2073746f7261676520636f7374732e556e737570706f727465642063616c6c6261636b202d20204265666f72652041677265656d656e74205465726d696e617465645265646972656374416c6c3a20737570706f7274206f6e6c79206f6e6520686f73744552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4e65772072656365697665722063616e206e6f742062652061207375706572417070456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e64734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e6572556e737570706f727465642063616c6c6261636b202d204265666f72652041677265656d656e7420757064617465644552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564556e737570706f727465642063616c6c6261636b202d204265666f72652041677265656d656e742043726561746564a2646970667358221220ca7a836b482c2552e399ab2b465c89a46f22fe4618c37f702687a43bb53ecbcb64736f6c634300070000334e6f7420656e6f756768206d6f6e65792073656e7420746f20636f76657220726f79616c7479202b2073746f7261676520636f7374732e',
arguments: [
author,
ipfsPinningProviderWallet,
storageTrust,
_name,
_symbol,
royaltyFee,
host,
cfa,
acceptedToken,
]
}).send({
from: web3.eth.accounts[0],
gas: '4700000'
}, function (e, contract){
console.log(e, contract);
if (typeof contract.address !== 'undefined') {
console.log('Contract mined! address: ' + contract.address + ' transactionHash: ' + contract.transactionHash);
}
})
function transferStorageProvider(addr){
// becaue I'm the author it transfers
demurragenft.methods.transferPinningProviderWallet(addr).send({from: "0x0A520389D05aAfF249a191E638Ab0620D92052c6"});
}
function sendNFT(to, tokenId, from = '0x0A520389D05aAfF249a191E638Ab0620D92052c6'){
demurragenft.methods.approve(from, tokenId).send({from: '0x0A520389D05aAfF249a191E638Ab0620D92052c6'});
demurragenft.methods.transferFrom(from, to, tokenId).send({from: '0x0A520389D05aAfF249a191E638Ab0620D92052c6'});
}
function approveRoyalty(to, amount){
fetch('api.json').then(e => e.innerText).then(abi => {
const fDAIxAbi = abi;
var fDaiXContract = web3.eth.Contract(abi, "0xF2d68898557cCb2Cf4C10c3Ef2B034b2a69DAD00");
// function increaseAllowance(address spender, uint256 addedValue)
fDaiXContract.methods.increaseAllowance(to, amount).send({from: to});
});
}
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment