Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
Latest 10 from a total of 10 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Calculate AI Res... | 6648157 | 222 days ago | IN | 0.0234 ETH | 0.01912839 | ||||
Calculate AI Res... | 6531255 | 241 days ago | IN | 0.0191 ETH | 0.010408 | ||||
Calculate AI Res... | 6466881 | 251 days ago | IN | 0.05 ETH | 0.05206725 | ||||
Calculate AI Res... | 6462545 | 252 days ago | IN | 0.032 ETH | 0.01454292 | ||||
Calculate AI Res... | 6462499 | 252 days ago | IN | 0.0287 ETH | 0.01290134 | ||||
Calculate AI Res... | 6462476 | 252 days ago | IN | 0.0179 ETH | 0.00081168 | ||||
Calculate AI Res... | 6462475 | 252 days ago | IN | 0.0179 ETH | 0.01194291 | ||||
Calculate AI Res... | 6236812 | 288 days ago | IN | 0.1793 ETH | 0.16287117 | ||||
Calculate AI Res... | 6236576 | 288 days ago | IN | 0.1206 ETH | 0.09334576 | ||||
Calculate AI Res... | 6236576 | 288 days ago | IN | 0.0752 ETH | 0.00365468 |
Latest 10 internal transactions
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
Request Callback | 6648157 | 222 days ago | 0.0234 ETH | ||||
Request Callback | 6531255 | 241 days ago | 0.0191 ETH | ||||
Request Callback | 6466881 | 251 days ago | 0.05 ETH | ||||
Request Callback | 6462545 | 252 days ago | 0.032 ETH | ||||
Request Callback | 6462499 | 252 days ago | 0.0287 ETH | ||||
Request Callback | 6462476 | 252 days ago | 0.0179 ETH | ||||
Request Callback | 6462475 | 252 days ago | 0.0179 ETH | ||||
Request Callback | 6236812 | 288 days ago | 0.1793 ETH | ||||
Request Callback | 6236576 | 288 days ago | 0.1206 ETH | ||||
Request Callback | 6236576 | 288 days ago | 0.0752 ETH |
Loading...
Loading
Contract Name:
Prompt
Compiler Version
v0.8.21+commit.d9974bed
Optimization Enabled:
Yes with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.13; import {IAIOracle} from "OAO/contracts/interfaces/IAIOracle.sol"; import {AIOracleCallbackReceiver} from "OAO/contracts/AIOracleCallbackReceiver.sol"; /// @notice User interfacing contract that interacts with OAO /// @dev Prompt contract inherits AIOracleCallbackReceiver, so that OPML nodes can callback with the result. contract Prompt is AIOracleCallbackReceiver { event promptsUpdated( uint256 requestId, uint256 modelId, string input, string output, bytes callbackData ); event ScoreUpdated(address indexed user, uint8 newScore); event promptRequest( uint256 requestId, address sender, uint256 modelId, string prompt ); struct AIOracleRequest { address sender; uint256 modelId; bytes input; bytes output; } address public owner; string private systemPrompt = "7007 protocol tokenizes AI outputs as unique inference assets, each representing a specific AI-generated data piece. This protocol makes AI inferences verifiable, immutable, and non-fungible, securing data and computation integrity on the blockchain. You are rating community members engagement with and potential to improve a crypto project. Rate replies based on: 0-1: The reply does not contribute value or is unclear/incomplete/short. 2-5: The member only wants financial incentive only but provides insufficient details to introduce their potential contribution. 6-9: The member could potentially improve the project and explains their plans and contribution convincingly. 10: The reply shows special passion and benefits for the project. You must output only the score in the format:"; modifier onlyOwner() { require(msg.sender == owner, "Only owner"); _; } /// @dev requestId => AIOracleRequest mapping(uint256 => AIOracleRequest) public requests; /// @dev modelId => callback gasLimit mapping(uint256 => uint64) public callbackGasLimit; // @dev address => score mapping(address => uint8) public addressScore; /// @notice Initialize the contract, binding it to a specified AIOracle. constructor(IAIOracle _aiOracle) AIOracleCallbackReceiver(_aiOracle) { owner = msg.sender; callbackGasLimit[14] = 2_500_000; // score checking } /// @notice sets the callback gas limit for a model /// @dev only owner can set the gas limit function setCallbackGasLimit( uint256 modelId, uint64 gasLimit ) external onlyOwner { callbackGasLimit[modelId] = gasLimit; } /// @dev uint256: modelID => (string: prompt => string: output) mapping(uint256 => mapping(string => string)) public prompts; /// @notice returns the output for the specified model and prompt function getAIResult( uint256 modelId, string calldata prompt ) external view returns (string memory) { string memory input = string( abi.encodePacked( '{"instruction":"', systemPrompt, '",', '"input": "', prompt, '"}' ) ); return prompts[modelId][input]; } /// @notice OAO executes this method after it finishes with computation /// @param requestId id of the request /// @param output result of the OAO computation /// @param callbackData optional data that is executed in the callback function aiOracleCallback( uint256 requestId, bytes calldata output, bytes calldata callbackData ) external override onlyAIOracleCallback { // since we do not set the callbackData in this example, the callbackData should be empty AIOracleRequest storage request = requests[requestId]; require(request.sender != address(0), "request does not exist"); request.output = output; prompts[request.modelId][string(request.input)] = string(output); uint8 outputScore = safelyConvertToScore(output); address sender = request.sender; uint8 currentScore = addressScore[sender]; if (outputScore > currentScore) { addressScore[sender] = outputScore; emit ScoreUpdated(sender, outputScore); } emit promptsUpdated( requestId, request.modelId, string(request.input), string(output), callbackData ); } function safelyConvertToScore( bytes memory b ) public pure returns (uint8) { if (b.length == 0) return 5; // Empty input // Only consider the first byte uint8 firstByte = uint8(b[0]); if (firstByte >= 48 && firstByte <= 57) { uint8 digit = firstByte - 48; if (digit >= 1 && digit <= 10) { return digit; } } // Default to 5 for any invalid input return 5; } /// @notice estimating fee that is spent by OAO function estimateFee(uint256 modelId) public view returns (uint256) { return aiOracle.estimateFee(modelId, callbackGasLimit[modelId]); } function setSystemPrompt(string calldata _systemPrompt) external onlyOwner { systemPrompt = _systemPrompt; } /// @notice main point of interaction with OAO /// @dev aiOracle.requestCallback sends request to OAO function calculateAIResult( uint256 modelId, string calldata prompt ) external payable returns (uint256) { bytes memory input = bytes( abi.encodePacked( '{"instruction":"', systemPrompt, '",', '"input": "', prompt, '"}' ) ); uint256 requestId = aiOracle.requestCallback{value: msg.value}( modelId, input, address(this), callbackGasLimit[modelId], "" ); AIOracleRequest storage request = requests[requestId]; request.input = input; request.sender = msg.sender; request.modelId = modelId; emit promptRequest(requestId, msg.sender, modelId, prompt); return requestId; } }
// SampleContract.sol // SPDX-License-Identifier: MIT pragma solidity ^0.8.9; interface IAIOracle { /// @notice Event emitted upon receiving a callback request through requestCallback. event AICallbackRequest( address indexed account, uint256 indexed requestId, uint256 modelId, bytes input, address callbackContract, uint64 gasLimit, bytes callbackData ); /// @notice Event emitted when the result is uploaded or update. event AICallbackResult( address indexed account, uint256 indexed requestId, address invoker, bytes output ); /** * initiate a request in OAO * @param modelId ID for AI model * @param input input for AI model * @param callbackContract address of callback contract * @param gasLimit gas limitation of calling the callback function * @param callbackData optional, user-defined data, will send back to the callback function * @return requestID */ function requestCallback( uint256 modelId, bytes memory input, address callbackContract, uint64 gasLimit, bytes memory callbackData ) external payable returns (uint256); function estimateFee(uint256 modelId, uint256 gasLimit) external view returns (uint256); function isFinalized(uint256 requestId) external view returns (bool); }
// SampleContract.sol // SPDX-License-Identifier: MIT pragma solidity ^0.8.9; import "./interfaces/IAIOracle.sol"; /// @notice A base contract for writing a AIOracle app abstract contract AIOracleCallbackReceiver { // Address of the AIOracle contract IAIOracle public immutable aiOracle; // Invalid callback source error error UnauthorizedCallbackSource(IAIOracle expected, IAIOracle found); /// @notice Initialize the contract, binding it to a specified AIOracle contract constructor(IAIOracle _aiOracle) { aiOracle = _aiOracle; } /// @notice Verify this is a callback by the aiOracle contract modifier onlyAIOracleCallback() { IAIOracle foundRelayAddress = IAIOracle(msg.sender); if (foundRelayAddress != aiOracle) { revert UnauthorizedCallbackSource(aiOracle, foundRelayAddress); } _; } /** * @dev the callback function in OAO, should add the modifier onlyAIOracleCallback! * @param requestId Id for the request in OAO (unique per request) * @param output AI model's output * @param callbackData user-defined data (The same as when the user call aiOracle.requestCallback) */ function aiOracleCallback(uint256 requestId, bytes calldata output, bytes calldata callbackData) external virtual; function isFinalized(uint256 requestId) external view returns (bool) { return aiOracle.isFinalized(requestId); } }
{ "remappings": [ "@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/", "OAO/=lib/OAO/", "forge-std/=lib/forge-std/src/", "@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/" ], "optimizer": { "enabled": true, "runs": 200 }, "metadata": { "useLiteralContent": false, "bytecodeHash": "ipfs", "appendCBOR": true }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "evmVersion": "paris", "viaIR": false, "libraries": {} }
Contract ABI
API[{"inputs":[{"internalType":"contract IAIOracle","name":"_aiOracle","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"contract IAIOracle","name":"expected","type":"address"},{"internalType":"contract IAIOracle","name":"found","type":"address"}],"name":"UnauthorizedCallbackSource","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint8","name":"newScore","type":"uint8"}],"name":"ScoreUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"requestId","type":"uint256"},{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"modelId","type":"uint256"},{"indexed":false,"internalType":"string","name":"prompt","type":"string"}],"name":"promptRequest","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"requestId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"modelId","type":"uint256"},{"indexed":false,"internalType":"string","name":"input","type":"string"},{"indexed":false,"internalType":"string","name":"output","type":"string"},{"indexed":false,"internalType":"bytes","name":"callbackData","type":"bytes"}],"name":"promptsUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"addressScore","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"aiOracle","outputs":[{"internalType":"contract IAIOracle","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"requestId","type":"uint256"},{"internalType":"bytes","name":"output","type":"bytes"},{"internalType":"bytes","name":"callbackData","type":"bytes"}],"name":"aiOracleCallback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"modelId","type":"uint256"},{"internalType":"string","name":"prompt","type":"string"}],"name":"calculateAIResult","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"callbackGasLimit","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"modelId","type":"uint256"}],"name":"estimateFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"modelId","type":"uint256"},{"internalType":"string","name":"prompt","type":"string"}],"name":"getAIResult","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"requestId","type":"uint256"}],"name":"isFinalized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"string","name":"","type":"string"}],"name":"prompts","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"requests","outputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"modelId","type":"uint256"},{"internalType":"bytes","name":"input","type":"bytes"},{"internalType":"bytes","name":"output","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"b","type":"bytes"}],"name":"safelyConvertToScore","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"modelId","type":"uint256"},{"internalType":"uint64","name":"gasLimit","type":"uint64"}],"name":"setCallbackGasLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_systemPrompt","type":"string"}],"name":"setSystemPrompt","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6103e060405261031660a081815290620017e060c0396001906200002490826200015b565b503480156200003257600080fd5b5060405162001af638038062001af6833981016040819052620000559162000227565b6001600160a01b0316608052600080546001600160a01b03191633178155600e905260036020527fd6ebcc64c739277b117ce359e436534b234b76e914c80ad276abf5b56207893980546001600160401b031916622625a017905562000259565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000e157607f821691505b6020821081036200010257634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200015657600081815260208120601f850160051c81016020861015620001315750805b601f850160051c820191505b8181101562000152578281556001016200013d565b5050505b505050565b81516001600160401b03811115620001775762000177620000b6565b6200018f81620001888454620000cc565b8462000108565b602080601f831160018114620001c75760008415620001ae5750858301515b600019600386901b1c1916600185901b17855562000152565b600085815260208120601f198616915b82811015620001f857888601518255948401946001909101908401620001d7565b5085821015620002175787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200023a57600080fd5b81516001600160a01b03811681146200025257600080fd5b9392505050565b60805161154862000298600039600081816101a201528181610387015281816105000152818161087e015281816108bb0152610b6e01526115486000f3fe6080604052600436106100dd5760003560e01c8063813d1e151161007f5780638da5cb5b116100595780638da5cb5b146102e0578063b034781414610300578063dd3c176114610320578063fac5d7e11461034057600080fd5b8063813d1e151461026e57806381d12c58146102905780638cbc52d9146102c057600080fd5b806331b221cd116100bb57806331b221cd1461019057806333727c4d146101dc578063482640341461020c578063629942d51461023e57600080fd5b8063127e8e4d146100e257806320f38718146101155780632c6296b714610163575b600080fd5b3480156100ee57600080fd5b506101026100fd366004610c79565b610353565b6040519081526020015b60405180910390f35b34801561012157600080fd5b5061014b610130366004610c79565b6003602052600090815260409020546001600160401b031681565b6040516001600160401b03909116815260200161010c565b34801561016f57600080fd5b5061018361017e366004610cda565b6103ff565b60405161010c9190610d75565b34801561019c57600080fd5b506101c47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161010c565b3480156101e857600080fd5b506101fc6101f7366004610c79565b6104e7565b604051901515815260200161010c565b34801561021857600080fd5b5061022c610227366004610e1a565b610573565b60405160ff909116815260200161010c565b34801561024a57600080fd5b5061022c610259366004610e6a565b60046020526000908152604090205460ff1681565b34801561027a57600080fd5b5061028e610289366004610e93565b6105fd565b005b34801561029c57600080fd5b506102b06102ab366004610c79565b610678565b60405161010c9493929190610ecf565b3480156102cc57600080fd5b506101836102db366004610f13565b6107bd565b3480156102ec57600080fd5b506000546101c4906001600160a01b031681565b34801561030c57600080fd5b5061028e61031b366004610f6d565b610873565b34801561032c57600080fd5b5061028e61033b366004610fe6565b610ac5565b61010261034e366004610cda565b610b1e565b600081815260036020526040808220549051620e1d8d60e41b8152600481018490526001600160401b0390911660248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169062e1d8d090604401602060405180830381865afa1580156103d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f99190611027565b92915050565b6060600060018484604051602001610419939291906110ed565b60408051601f1981840301815282825260008881526005602052919091209092509061044690839061114f565b9081526020016040518091039020805461045f90611040565b80601f016020809104026020016040519081016040528092919081815260200182805461048b90611040565b80156104d85780601f106104ad576101008083540402835291602001916104d8565b820191906000526020600020905b8154815290600101906020018083116104bb57829003601f168201915b50505050509150509392505050565b6040516333727c4d60e01b8152600481018290526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906333727c4d90602401602060405180830381865afa15801561054f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f9919061116b565b6000815160000361058657506005919050565b60008260008151811061059b5761059b61118d565b016020015160f81c9050603081108015906105ba575060398160ff1611155b156105f45760006105cc6030836111a3565b905060018160ff16101580156105e65750600a8160ff1611155b156105f2579392505050565b505b50600592915050565b6000546001600160a01b031633146106495760405162461bcd60e51b815260206004820152600a60248201526927b7363c9037bbb732b960b11b60448201526064015b60405180910390fd5b600091825260036020526040909120805467ffffffffffffffff19166001600160401b03909216919091179055565b60026020819052600091825260409091208054600182015492820180546001600160a01b039092169392916106ac90611040565b80601f01602080910402602001604051908101604052809291908181526020018280546106d890611040565b80156107255780601f106106fa57610100808354040283529160200191610725565b820191906000526020600020905b81548152906001019060200180831161070857829003601f168201915b50505050509080600301805461073a90611040565b80601f016020809104026020016040519081016040528092919081815260200182805461076690611040565b80156107b35780601f10610788576101008083540402835291602001916107b3565b820191906000526020600020905b81548152906001019060200180831161079657829003601f168201915b5050505050905084565b60056020908152600092835260409092208151808301840180519281529084019290930191909120915280546107f290611040565b80601f016020809104026020016040519081016040528092919081815260200182805461081e90611040565b801561086b5780601f106108405761010080835404028352916020019161086b565b820191906000526020600020905b81548152906001019060200180831161084e57829003601f168201915b505050505081565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001681146108f05760405163432e033760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015282166024820152604401610640565b600086815260026020526040902080546001600160a01b031661094e5760405162461bcd60e51b81526020600482015260166024820152751c995c5d595cdd08191bd95cc81b9bdd08195e1a5cdd60521b6044820152606401610640565b6003810161095d868883611218565b50858560056000846001015481526020019081526020016000208360020160405161098891906112d8565b908152602001604051809103902091826109a3929190611218565b5060006109e587878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061057392505050565b82546001600160a01b03166000818152600460205260409020549192509060ff908116908316811015610a6f576001600160a01b038216600081815260046020908152604091829020805460ff191660ff881690811790915591519182527fcd1a12ecb9eefeb52825050dd2d30ccc9a4bc1466bd71e9a4c376548b3b71af6910160405180910390a25b7faf2b2381ddcb18a2b18a7826186fd216acdd9c852a8c7a9a49e7eab127f96ccf8a8560010154866002018c8c8c8c604051610ab1979695949392919061130d565b60405180910390a150505050505050505050565b6000546001600160a01b03163314610b0c5760405162461bcd60e51b815260206004820152600a60248201526927b7363c9037bbb732b960b11b6044820152606401610640565b6001610b19828483611218565b505050565b60008060018484604051602001610b37939291906110ed565b60408051601f198184030181528282526000888152600360205291822054632dca9c0360e11b845290935090916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691635b953806913491610bb3918b91889130916001600160401b0316906004016113d3565b60206040518083038185885af1158015610bd1573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610bf69190611027565b60008181526002602081905260409091209192508101610c168482611425565b5080546001600160a01b031916339081178255600182018890556040517fa0faead83d70148ae18b694377f9bef079251342ab90e14af0f9ef68b891269f91610c67918591908b908b908b906114e4565b60405180910390a15095945050505050565b600060208284031215610c8b57600080fd5b5035919050565b60008083601f840112610ca457600080fd5b5081356001600160401b03811115610cbb57600080fd5b602083019150836020828501011115610cd357600080fd5b9250929050565b600080600060408486031215610cef57600080fd5b8335925060208401356001600160401b03811115610d0c57600080fd5b610d1886828701610c92565b9497909650939450505050565b60005b83811015610d40578181015183820152602001610d28565b50506000910152565b60008151808452610d61816020860160208601610d25565b601f01601f19169290920160200192915050565b602081526000610d886020830184610d49565b9392505050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b0380841115610dbf57610dbf610d8f565b604051601f8501601f19908116603f01168101908282118183101715610de757610de7610d8f565b81604052809350858152868686011115610e0057600080fd5b858560208301376000602087830101525050509392505050565b600060208284031215610e2c57600080fd5b81356001600160401b03811115610e4257600080fd5b8201601f81018413610e5357600080fd5b610e6284823560208401610da5565b949350505050565b600060208284031215610e7c57600080fd5b81356001600160a01b0381168114610d8857600080fd5b60008060408385031215610ea657600080fd5b8235915060208301356001600160401b0381168114610ec457600080fd5b809150509250929050565b60018060a01b0385168152836020820152608060408201526000610ef66080830185610d49565b8281036060840152610f088185610d49565b979650505050505050565b60008060408385031215610f2657600080fd5b8235915060208301356001600160401b03811115610f4357600080fd5b8301601f81018513610f5457600080fd5b610f6385823560208401610da5565b9150509250929050565b600080600080600060608688031215610f8557600080fd5b8535945060208601356001600160401b0380821115610fa357600080fd5b610faf89838a01610c92565b90965094506040880135915080821115610fc857600080fd5b50610fd588828901610c92565b969995985093965092949392505050565b60008060208385031215610ff957600080fd5b82356001600160401b0381111561100f57600080fd5b61101b85828601610c92565b90969095509350505050565b60006020828403121561103957600080fd5b5051919050565b600181811c9082168061105457607f821691505b60208210810361107457634e487b7160e01b600052602260045260246000fd5b50919050565b6000815461108781611040565b6001828116801561109f57600181146110b4576110e3565b60ff19841687528215158302870194506110e3565b8560005260208060002060005b858110156110da5781548a8201529084019082016110c1565b50505082870194505b5050505092915050565b6f3d9134b739ba393ab1ba34b7b7111d1160811b81526000611112601083018661107a565b61088b60f21b8152691134b7383aba111d101160b11b60028201528385600c83013761227d60f01b9301600c8101939093525050600e0192915050565b60008251611161818460208701610d25565b9190910192915050565b60006020828403121561117d57600080fd5b81518015158114610d8857600080fd5b634e487b7160e01b600052603260045260246000fd5b60ff82811682821603908111156103f957634e487b7160e01b600052601160045260246000fd5b601f821115610b1957600081815260208120601f850160051c810160208610156111f15750805b601f850160051c820191505b81811015611210578281556001016111fd565b505050505050565b6001600160401b0383111561122f5761122f610d8f565b6112438361123d8354611040565b836111ca565b6000601f841160018114611277576000851561125f5750838201355b600019600387901b1c1916600186901b1783556112d1565b600083815260209020601f19861690835b828110156112a85786850135825560209485019460019092019101611288565b50868210156112c55760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6000610d88828461107a565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b87815260006020888184015260a060408401526000885461132d81611040565b8060a087015260c060018084166000811461134f576001811461136957611397565b60ff1985168984015283151560051b890183019550611397565b8d6000528660002060005b8581101561138f5781548b8201860152908301908801611374565b8a0184019650505b505050505083810360608501526113af81888a6112e4565b91505082810360808401526113c58185876112e4565b9a9950505050505050505050565b84815260a0602082015260006113ec60a0830186610d49565b6001600160a01b03949094166040830152506001600160401b039190911660608201528082036080909101526000815260200192915050565b81516001600160401b0381111561143e5761143e610d8f565b6114528161144c8454611040565b846111ca565b602080601f831160018114611487576000841561146f5750858301515b600019600386901b1c1916600185901b178555611210565b600085815260208120601f198616915b828110156114b657888601518255948401946001909101908401611497565b50858210156114d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b85815260018060a01b0385166020820152836040820152608060608201526000610f086080830184866112e456fea2646970667358221220fe6f8bf814dde03abb2edca5df7036eae7a0d78adea70d765b1fa11c5c79982964736f6c63430008150033373030372070726f746f636f6c20746f6b656e697a6573204149206f75747075747320617320756e6971756520696e666572656e636520206173736574732c206561636820726570726573656e74696e6720612073706563696669632041492d67656e65726174656420646174612070696563652e20546869732070726f746f636f6c206d616b657320414920696e666572656e6365732076657269666961626c652c20696d6d757461626c652c20616e64206e6f6e2d66756e6769626c652c207365637572696e67206461746120616e6420636f6d7075746174696f6e20696e74656772697479206f6e2074686520626c6f636b636861696e2e20596f752061726520726174696e6720636f6d6d756e697479206d656d6265727320656e676167656d656e74207769746820616e6420706f74656e7469616c20746f20696d70726f766520612063727970746f2070726f6a6563742e2052617465207265706c696573206261736564206f6e3a20302d313a20546865207265706c7920646f6573206e6f7420636f6e747269627574652076616c7565206f7220697320756e636c6561722f696e636f6d706c6574652f73686f72742e20322d353a20546865206d656d626572206f6e6c792077616e74732066696e616e6369616c20696e63656e74697665206f6e6c79206275742070726f766964657320696e73756666696369656e742064657461696c7320746f20696e74726f6475636520746865697220706f74656e7469616c20636f6e747269627574696f6e2e20362d393a20546865206d656d62657220636f756c6420706f74656e7469616c6c7920696d70726f7665207468652070726f6a65637420616e64206578706c61696e7320746865697220706c616e7320616e6420636f6e747269627574696f6e20636f6e76696e63696e676c792e2031303a20546865207265706c792073686f7773207370656369616c2070617373696f6e20616e642062656e656669747320666f72207468652070726f6a6563742e20596f75206d757374206f7574707574206f6e6c79207468652073636f726520696e2074686520666f726d61743a0000000000000000000000000a0f4321214bb6c7811dd8a71cf587bdaf03f0a0
Deployed Bytecode
0x6080604052600436106100dd5760003560e01c8063813d1e151161007f5780638da5cb5b116100595780638da5cb5b146102e0578063b034781414610300578063dd3c176114610320578063fac5d7e11461034057600080fd5b8063813d1e151461026e57806381d12c58146102905780638cbc52d9146102c057600080fd5b806331b221cd116100bb57806331b221cd1461019057806333727c4d146101dc578063482640341461020c578063629942d51461023e57600080fd5b8063127e8e4d146100e257806320f38718146101155780632c6296b714610163575b600080fd5b3480156100ee57600080fd5b506101026100fd366004610c79565b610353565b6040519081526020015b60405180910390f35b34801561012157600080fd5b5061014b610130366004610c79565b6003602052600090815260409020546001600160401b031681565b6040516001600160401b03909116815260200161010c565b34801561016f57600080fd5b5061018361017e366004610cda565b6103ff565b60405161010c9190610d75565b34801561019c57600080fd5b506101c47f0000000000000000000000000a0f4321214bb6c7811dd8a71cf587bdaf03f0a081565b6040516001600160a01b03909116815260200161010c565b3480156101e857600080fd5b506101fc6101f7366004610c79565b6104e7565b604051901515815260200161010c565b34801561021857600080fd5b5061022c610227366004610e1a565b610573565b60405160ff909116815260200161010c565b34801561024a57600080fd5b5061022c610259366004610e6a565b60046020526000908152604090205460ff1681565b34801561027a57600080fd5b5061028e610289366004610e93565b6105fd565b005b34801561029c57600080fd5b506102b06102ab366004610c79565b610678565b60405161010c9493929190610ecf565b3480156102cc57600080fd5b506101836102db366004610f13565b6107bd565b3480156102ec57600080fd5b506000546101c4906001600160a01b031681565b34801561030c57600080fd5b5061028e61031b366004610f6d565b610873565b34801561032c57600080fd5b5061028e61033b366004610fe6565b610ac5565b61010261034e366004610cda565b610b1e565b600081815260036020526040808220549051620e1d8d60e41b8152600481018490526001600160401b0390911660248201527f0000000000000000000000000a0f4321214bb6c7811dd8a71cf587bdaf03f0a06001600160a01b03169062e1d8d090604401602060405180830381865afa1580156103d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f99190611027565b92915050565b6060600060018484604051602001610419939291906110ed565b60408051601f1981840301815282825260008881526005602052919091209092509061044690839061114f565b9081526020016040518091039020805461045f90611040565b80601f016020809104026020016040519081016040528092919081815260200182805461048b90611040565b80156104d85780601f106104ad576101008083540402835291602001916104d8565b820191906000526020600020905b8154815290600101906020018083116104bb57829003601f168201915b50505050509150509392505050565b6040516333727c4d60e01b8152600481018290526000907f0000000000000000000000000a0f4321214bb6c7811dd8a71cf587bdaf03f0a06001600160a01b0316906333727c4d90602401602060405180830381865afa15801561054f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f9919061116b565b6000815160000361058657506005919050565b60008260008151811061059b5761059b61118d565b016020015160f81c9050603081108015906105ba575060398160ff1611155b156105f45760006105cc6030836111a3565b905060018160ff16101580156105e65750600a8160ff1611155b156105f2579392505050565b505b50600592915050565b6000546001600160a01b031633146106495760405162461bcd60e51b815260206004820152600a60248201526927b7363c9037bbb732b960b11b60448201526064015b60405180910390fd5b600091825260036020526040909120805467ffffffffffffffff19166001600160401b03909216919091179055565b60026020819052600091825260409091208054600182015492820180546001600160a01b039092169392916106ac90611040565b80601f01602080910402602001604051908101604052809291908181526020018280546106d890611040565b80156107255780601f106106fa57610100808354040283529160200191610725565b820191906000526020600020905b81548152906001019060200180831161070857829003601f168201915b50505050509080600301805461073a90611040565b80601f016020809104026020016040519081016040528092919081815260200182805461076690611040565b80156107b35780601f10610788576101008083540402835291602001916107b3565b820191906000526020600020905b81548152906001019060200180831161079657829003601f168201915b5050505050905084565b60056020908152600092835260409092208151808301840180519281529084019290930191909120915280546107f290611040565b80601f016020809104026020016040519081016040528092919081815260200182805461081e90611040565b801561086b5780601f106108405761010080835404028352916020019161086b565b820191906000526020600020905b81548152906001019060200180831161084e57829003601f168201915b505050505081565b336001600160a01b037f0000000000000000000000000a0f4321214bb6c7811dd8a71cf587bdaf03f0a01681146108f05760405163432e033760e11b81526001600160a01b037f0000000000000000000000000a0f4321214bb6c7811dd8a71cf587bdaf03f0a08116600483015282166024820152604401610640565b600086815260026020526040902080546001600160a01b031661094e5760405162461bcd60e51b81526020600482015260166024820152751c995c5d595cdd08191bd95cc81b9bdd08195e1a5cdd60521b6044820152606401610640565b6003810161095d868883611218565b50858560056000846001015481526020019081526020016000208360020160405161098891906112d8565b908152602001604051809103902091826109a3929190611218565b5060006109e587878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061057392505050565b82546001600160a01b03166000818152600460205260409020549192509060ff908116908316811015610a6f576001600160a01b038216600081815260046020908152604091829020805460ff191660ff881690811790915591519182527fcd1a12ecb9eefeb52825050dd2d30ccc9a4bc1466bd71e9a4c376548b3b71af6910160405180910390a25b7faf2b2381ddcb18a2b18a7826186fd216acdd9c852a8c7a9a49e7eab127f96ccf8a8560010154866002018c8c8c8c604051610ab1979695949392919061130d565b60405180910390a150505050505050505050565b6000546001600160a01b03163314610b0c5760405162461bcd60e51b815260206004820152600a60248201526927b7363c9037bbb732b960b11b6044820152606401610640565b6001610b19828483611218565b505050565b60008060018484604051602001610b37939291906110ed565b60408051601f198184030181528282526000888152600360205291822054632dca9c0360e11b845290935090916001600160a01b037f0000000000000000000000000a0f4321214bb6c7811dd8a71cf587bdaf03f0a01691635b953806913491610bb3918b91889130916001600160401b0316906004016113d3565b60206040518083038185885af1158015610bd1573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610bf69190611027565b60008181526002602081905260409091209192508101610c168482611425565b5080546001600160a01b031916339081178255600182018890556040517fa0faead83d70148ae18b694377f9bef079251342ab90e14af0f9ef68b891269f91610c67918591908b908b908b906114e4565b60405180910390a15095945050505050565b600060208284031215610c8b57600080fd5b5035919050565b60008083601f840112610ca457600080fd5b5081356001600160401b03811115610cbb57600080fd5b602083019150836020828501011115610cd357600080fd5b9250929050565b600080600060408486031215610cef57600080fd5b8335925060208401356001600160401b03811115610d0c57600080fd5b610d1886828701610c92565b9497909650939450505050565b60005b83811015610d40578181015183820152602001610d28565b50506000910152565b60008151808452610d61816020860160208601610d25565b601f01601f19169290920160200192915050565b602081526000610d886020830184610d49565b9392505050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b0380841115610dbf57610dbf610d8f565b604051601f8501601f19908116603f01168101908282118183101715610de757610de7610d8f565b81604052809350858152868686011115610e0057600080fd5b858560208301376000602087830101525050509392505050565b600060208284031215610e2c57600080fd5b81356001600160401b03811115610e4257600080fd5b8201601f81018413610e5357600080fd5b610e6284823560208401610da5565b949350505050565b600060208284031215610e7c57600080fd5b81356001600160a01b0381168114610d8857600080fd5b60008060408385031215610ea657600080fd5b8235915060208301356001600160401b0381168114610ec457600080fd5b809150509250929050565b60018060a01b0385168152836020820152608060408201526000610ef66080830185610d49565b8281036060840152610f088185610d49565b979650505050505050565b60008060408385031215610f2657600080fd5b8235915060208301356001600160401b03811115610f4357600080fd5b8301601f81018513610f5457600080fd5b610f6385823560208401610da5565b9150509250929050565b600080600080600060608688031215610f8557600080fd5b8535945060208601356001600160401b0380821115610fa357600080fd5b610faf89838a01610c92565b90965094506040880135915080821115610fc857600080fd5b50610fd588828901610c92565b969995985093965092949392505050565b60008060208385031215610ff957600080fd5b82356001600160401b0381111561100f57600080fd5b61101b85828601610c92565b90969095509350505050565b60006020828403121561103957600080fd5b5051919050565b600181811c9082168061105457607f821691505b60208210810361107457634e487b7160e01b600052602260045260246000fd5b50919050565b6000815461108781611040565b6001828116801561109f57600181146110b4576110e3565b60ff19841687528215158302870194506110e3565b8560005260208060002060005b858110156110da5781548a8201529084019082016110c1565b50505082870194505b5050505092915050565b6f3d9134b739ba393ab1ba34b7b7111d1160811b81526000611112601083018661107a565b61088b60f21b8152691134b7383aba111d101160b11b60028201528385600c83013761227d60f01b9301600c8101939093525050600e0192915050565b60008251611161818460208701610d25565b9190910192915050565b60006020828403121561117d57600080fd5b81518015158114610d8857600080fd5b634e487b7160e01b600052603260045260246000fd5b60ff82811682821603908111156103f957634e487b7160e01b600052601160045260246000fd5b601f821115610b1957600081815260208120601f850160051c810160208610156111f15750805b601f850160051c820191505b81811015611210578281556001016111fd565b505050505050565b6001600160401b0383111561122f5761122f610d8f565b6112438361123d8354611040565b836111ca565b6000601f841160018114611277576000851561125f5750838201355b600019600387901b1c1916600186901b1783556112d1565b600083815260209020601f19861690835b828110156112a85786850135825560209485019460019092019101611288565b50868210156112c55760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6000610d88828461107a565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b87815260006020888184015260a060408401526000885461132d81611040565b8060a087015260c060018084166000811461134f576001811461136957611397565b60ff1985168984015283151560051b890183019550611397565b8d6000528660002060005b8581101561138f5781548b8201860152908301908801611374565b8a0184019650505b505050505083810360608501526113af81888a6112e4565b91505082810360808401526113c58185876112e4565b9a9950505050505050505050565b84815260a0602082015260006113ec60a0830186610d49565b6001600160a01b03949094166040830152506001600160401b039190911660608201528082036080909101526000815260200192915050565b81516001600160401b0381111561143e5761143e610d8f565b6114528161144c8454611040565b846111ca565b602080601f831160018114611487576000841561146f5750858301515b600019600386901b1c1916600185901b178555611210565b600085815260208120601f198616915b828110156114b657888601518255948401946001909101908401611497565b50858210156114d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b85815260018060a01b0385166020820152836040820152608060608201526000610f086080830184866112e456fea2646970667358221220fe6f8bf814dde03abb2edca5df7036eae7a0d78adea70d765b1fa11c5c79982964736f6c63430008150033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000a0f4321214bb6c7811dd8a71cf587bdaf03f0a0
-----Decoded View---------------
Arg [0] : _aiOracle (address): 0x0A0f4321214BB6C7811dD8a71cF587bdaF03f0A0
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000a0f4321214bb6c7811dd8a71cf587bdaf03f0a0
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.