| 6 | "": "State.init({\\\\n videoes: [],\\\\n isNotEmpty: false,\\\\n});\\\\n\\\\nfunction getSigner() {\\\\n return Ethers.provider().getSigner();\\\\n}\\\\n\\\\nconst abi = [\\\\n {\\\\n inputs: [],\\\\n stateMutability: \\\\\\\"nonpayable\\\\\\\",\\\\n type: \\\\\\\"constructor\\\\\\\",\\\\n },\\\\n {\\\\n inputs: [\\\\n {\\\\n internalType: \\\\\\\"address\\\\\\\",\\\\n name: \\\\\\\"account\\\\\\\",\\\\n type: \\\\\\\"address\\\\\\\",\\\\n },\\\\n ],\\\\n name: \\\\\\\"addAdmin\\\\\\\",\\\\n outputs: [],\\\\n stateMutability: \\\\\\\"nonpayable\\\\\\\",\\\\n type: \\\\\\\"function\\\\\\\",\\\\n },\\\\n {\\\\n inputs: [\\\\n {\\\\n internalType: \\\\\\\"uint256\\\\\\\",\\\\n name: \\\\\\\"video_id\\\\\\\",\\\\n type: \\\\\\\"uint256\\\\\\\",\\\\n },\\\\n {\\\\n internalType: \\\\\\\"string\\\\\\\",\\\\n name: \\\\\\\"comment_message\\\\\\\",\\\\n type: \\\\\\\"string\\\\\\\",\\\\n },\\\\n ],\\\\n name: \\\\\\\"addComment\\\\\\\",\\\\n outputs: [],\\\\n stateMutability: \\\\\\\"payable\\\\\\\",\\\\n type: \\\\\\\"function\\\\\\\",\\\\n },\\\\n {\\\\n inputs: [\\\\n {\\\\n internalType: \\\\\\\"string\\\\\\\",\\\\n name: \\\\\\\"_title\\\\\\\",\\\\n type: \\\\\\\"string\\\\\\\",\\\\n },\\\\n {\\\\n internalType: \\\\\\\"string\\\\\\\",\\\\n name: \\\\\\\"_description\\\\\\\",\\\\n type: \\\\\\\"string\\\\\\\",\\\\n },\\\\n {\\\\n internalType: \\\\\\\"string\\\\\\\",\\\\n name: \\\\\\\"_url\\\\\\\",\\\\n type: \\\\\\\"string\\\\\\\",\\\\n },\\\\n {\\\\n internalType: \\\\\\\"string\\\\\\\",\\\\n name: \\\\\\\"_thumb_url\\\\\\\",\\\\n type: \\\\\\\"string\\\\\\\",\\\\n },\\\\n {\\\\n internalType: \\\\\\\"uint256\\\\\\\",\\\\n name: \\\\\\\"_duration\\\\\\\",\\\\n type: \\\\\\\"uint256\\\\\\\",\\\\n },\\\\n {\\\\n internalType: \\\\\\\"string[]\\\\\\\",\\\\n name: \\\\\\\"_keywords\\\\\\\",\\\\n type: \\\\\\\"string[]\\\\\\\",\\\\n },\\\\n ],\\\\n name: \\\\\\\"addVideo\\\\\\\",\\\\n outputs: [],\\\\n stateMutability: \\\\\\\"nonpayable\\\\\\\",\\\\n type: \\\\\\\"function\\\\\\\",\\\\n },\\\\n {\\\\n inputs: [\\\\n {\\\\n internalType: \\\\\\\"uint256\\\\\\\",\\\\n name: \\\\\\\"video_id\\\\\\\",\\\\n type: \\\\\\\"uint256\\\\\\\",\\\\n },\\\\n ],\\\\n name: \\\\\\\"getAttributions\\\\\\\",\\\\n outputs: [\\\\n {\\\\n internalType: \\\\\\\"uint256[]\\\\\\\",\\\\n name: \\\\\\\"\\\\\\\",\\\\n type: \\\\\\\"uint256[]\\\\\\\",\\\\n },\\\\n ],\\\\n stateMutability: \\\\\\\"view\\\\\\\",\\\\n type: \\\\\\\"function\\\\\\\",\\\\n },\\\\n {\\\\n inputs: [\\\\n {\\\\n internalType: \\\\\\\"uint256\\\\\\\",\\\\n name: \\\\\\\"video_id\\\\\\\",\\\\n type: \\\\\\\"uint256\\\\\\\",\\\\n },\\\\n ],\\\\n name: \\\\\\\"getComments\\\\\\\",\\\\n outputs: [\\\\n {\\\\n components: [\\\\n {\\\\n internalType: \\\\\\\"address\\\\\\\",\\\\n name: \\\\\\\"poster\\\\\\\",\\\\n type: \\\\\\\"address\\\\\\\",\\\\n },\\\\n {\\\\n internalType: \\\\\\\"string\\\\\\\",\\\\n name: \\\\\\\"message\\\\\\\",\\\\n type: \\\\\\\"string\\\\\\\",\\\\n },\\\\n {\\\\n internalType: \\\\\\\"uint256\\\\\\\",\\\\n name: \\\\\\\"amount\\\\\\\",\\\\n type: \\\\\\\"uint256\\\\\\\",\\\\n },\\\\n {\\\\n internalType: \\\\\\\"uint256\\\\\\\",\\\\n name: \\\\\\\"timestamp\\\\\\\",\\\\n type: \\\\\\\"uint256\\\\\\\",\\\\n },\\\\n ],\\\\n internalType: \\\\\\\"struct Atomic.Comment[]\\\\\\\",\\\\n name: \\\\\\\"\\\\\\\",\\\\n type: \\\\\\\"tuple[]\\\\\\\",\\\\n },\\\\n ],\\\\n stateMutability: \\\\\\\"view\\\\\\\",\\\\n type: \\\\\\\"function\\\\\\\",\\\\n },\\\\n {\\\\n inputs: [\\\\n {\\\\n internalType: \\\\\\\"uint256\\\\\\\",\\\\n name: \\\\\\\"size\\\\\\\",\\\\n type: \\\\\\\"uint256\\\\\\\",\\\\n },\\\\n ],\\\\n name: \\\\\\\"getLatestVideos\\\\\\\",\\\\n outputs: [\\\\n {\\\\n components: [\\\\n {\\\\n internalType: \\\\\\\"uint256\\\\\\\",\\\\n name: \\\\\\\"id\\\\\\\",\\\\n type: \\\\\\\"uint256\\\\\\\",\\\\n },\\\\n {\\\\n internalType: \\\\\\\"string\\\\\\\",\\\\n name: \\\\\\\"title\\\\\\\",\\\\n type: \\\\\\\"string\\\\\\\",\\\\n },\\\\n {\\\\n internalType: \\\\\\\"string\\\\\\\",\\\\n name: \\\\\\\"description\\\\\\\",\\\\n type: \\\\\\\"string\\\\\\\",\\\\n },\\\\n {\\\\n internalType: \\\\\\\"string\\\\\\\",\\\\n name: \\\\\\\"url\\\\\\\",\\\\n type: \\\\\\\"string\\\\\\\",\\\\n },\\\\n {\\\\n internalType: \\\\\\\"string\\\\\\\",\\\\n name: \\\\\\\"thumb_url\\\\\\\",\\\\n type: \\\\\\\"string\\\\\\\",\\\\n },\\\\n {\\\\n internalType: \\\\\\\"string[]\\\\\\\",\\\\n name: \\\\\\\"keywords\\\\\\\",\\\\n type: \\\\\\\"string[]\\\\\\\",\\\\n },\\\\n {\\\\n internalType: \\\\\\\"uint256\\\\\\\",\\\\n name: \\\\\\\"duration\\\\\\\",\\\\n type: \\\\\\\"uint256\\\\\\\",\\\\n },\\\\n {\\\\n internalType: \\\\\\\"uint256\\\\\\\",\\\\n name: \\\\\\\"timestamp\\\\\\\",\\\\n type: \\\\\\\"uint256\\\\\\\",\\\\n },\\\\n ],\\\\n internalType: \\\\\\\"struct Atomic.Video[]\\\\\\\",\\\\n name: \\\\\\\"\\\\\\\",\\\\n type: \\\\\\\"tuple[]\\\\\\\",\\\\n },\\\\n ],\\\\n stateMutability: \\\\\\\"view\\\\\\\",\\\\n type: \\\\\\\"function\\\\\\\",\\\\n },\\\\n {\\\\n inputs: [\\\\n {\\\\n internalType: \\\\\\\"string\\\\\\\",\\\\n name: \\\\\\\"_near_id\\\\\\\",\\\\n type: \\\\\\\"string\\\\\\\",\\\\n },\\\\n ],\\\\n name: \\\\\\\"getVideoByNearID\\\\\\\",\\\\n outputs: [\\\\n {\\\\n components: [\\\\n {\\\\n internalType: \\\\\\\"uint256\\\\\\\",\\\\n name: \\\\\\\"id\\\\\\\",\\\\n type: \\\\\\\"uint256\\\\\\\",\\\\n },\\\\n {\\\\n internalType: \\\\\\\"string\\\\\\\",\\\\n name: \\\\\\\"title\\\\\\\",\\\\n type: \\\\\\\"string\\\\\\\",\\\\n },\\\\n {\\\\n internalType: \\\\\\\"string\\\\\\\",\\\\n name: \\\\\\\"description\\\\\\\",\\\\n type: \\\\\\\"string\\\\\\\",\\\\n },\\\\n {\\\\n internalType: \\\\\\\"string\\\\\\\",\\\\n name: \\\\\\\"url\\\\\\\",\\\\n type: \\\\\\\"string\\\\\\\",\\\\n },\\\\n {\\\\n internalType: \\\\\\\"string\\\\\\\",\\\\n name: \\\\\\\"thumb_url\\\\\\\",\\\\n type: \\\\\\\"string\\\\\\\",\\\\n },\\\\n {\\\\n internalType: \\\\\\\"string[]\\\\\\\",\\\\n name: \\\\\\\"keywords\\\\\\\",\\\\n type: \\\\\\\"string[]\\\\\\\",\\\\n },\\\\n {\\\\n internalType: \\\\\\\"uint256\\\\\\\",\\\\n name: \\\\\\\"duration\\\\\\\",\\\\n type: \\\\\\\"uint256\\\\\\\",\\\\n },\\\\n {\\\\n internalType: \\\\\\\"uint256\\\\\\\",\\\\n name: \\\\\\\"timestamp\\\\\\\",\\\\n type: \\\\\\\"uint256\\\\\\\",\\\\n },\\\\n ],\\\\n internalType: \\\\\\\"struct Atomic.Video[]\\\\\\\",\\\\n name: \\\\\\\"\\\\\\\",\\\\n type: \\\\\\\"tuple[]\\\\\\\",\\\\n },\\\\n ],\\\\n stateMutability: \\\\\\\"view\\\\\\\",\\\\n type: \\\\\\\"function\\\\\\\",\\\\n },\\\\n {\\\\n inputs: [\\\\n {\\\\n internalType: \\\\\\\"uint256\\\\\\\",\\\\n name: \\\\\\\"video_id\\\\\\\",\\\\n type: \\\\\\\"uint256\\\\\\\",\\\\n },\\\\n {\\\\n internalType: \\\\\\\"uint256[]\\\\\\\",\\\\n name: \\\\\\\"attributions\\\\\\\",\\\\n type: \\\\\\\"uint256[]\\\\\\\",\\\\n },\\\\n ],\\\\n name: \\\\\\\"setAttributions\\\\\\\",\\\\n outputs: [],\\\\n stateMutability: \\\\\\\"nonpayable\\\\\\\",\\\\n type: \\\\\\\"function\\\\\\\",\\\\n },\\\\n {\\\\n inputs: [\\\\n {\\\\n internalType: \\\\\\\"string\\\\\\\",\\\\n name: \\\\\\\"_near_id\\\\\\\",\\\\n type: \\\\\\\"string\\\\\\\",\\\\n },\\\\n ],\\\\n name: \\\\\\\"setNearID\\\\\\\",\\\\n outputs: [],\\\\n stateMutability: \\\\\\\"nonpayable\\\\\\\",\\\\n type: \\\\\\\"function\\\\\\\",\\\\n },\\\\n];\\\\n\\\\nconst CONTRACT_ADDRESS = \\\\\\\"0x881dD9499C3CB0176406D895a4abc8D0c5fB88DC\\\\\\\";\\\\nconst signer = Ethers.provider().getSigner();\\\\nconst contract = new ethers.Contract(CONTRACT_ADDRESS, abi, signer);\\\\n\\\\nfunction fetchVdo() {\\\\n contract.getLastestVideos(5).then((res) => {\\\\n if (res.hash) {\\\\n console.log(\\\\\\\"Success! \\\\\\\" + res);\\\\n State.update({ videoes: res.data, isNotEmpty: true });\\\\n } else {\\\\n console.log(\\\\\\\"Failed!\\\\\\\");\\\\n }\\\\n });\\\\n}\\\\nfetchVdo();\\\\n\\\\nreturn <div>{isNotEmpty ? <>Hello</> : <>Bye</>}</div>;\\\\n", |