UNPKG

@layerzerolabs/hyperliquid-composer

Version:

LayerZero Labs reference EVM OmniChain Fungible Token (OFT) implementation for Hyperliquid

589 lines (588 loc) 21.9 kB
{ "abi": [ { "type": "function", "name": "sendCDeposit", "inputs": [ { "name": "_wei", "type": "uint64", "internalType": "uint64" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "sendCWithdrawal", "inputs": [ { "name": "_wei", "type": "uint64", "internalType": "uint64" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "sendIocOrder", "inputs": [ { "name": "asset", "type": "uint32", "internalType": "uint32" }, { "name": "isBuy", "type": "bool", "internalType": "bool" }, { "name": "limitPx", "type": "uint64", "internalType": "uint64" }, { "name": "sz", "type": "uint64", "internalType": "uint64" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "sendSpot", "inputs": [ { "name": "destination", "type": "address", "internalType": "address" }, { "name": "token", "type": "uint64", "internalType": "uint64" }, { "name": "_wei", "type": "uint64", "internalType": "uint64" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "sendTokenDelegate", "inputs": [ { "name": "validator", "type": "address", "internalType": "address" }, { "name": "_wei", "type": "uint64", "internalType": "uint64" }, { "name": "isUndelegate", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "sendUsdClassTransfer", "inputs": [ { "name": "ntl", "type": "uint64", "internalType": "uint64" }, { "name": "toPerp", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "sendVaultTransfer", "inputs": [ { "name": "vault", "type": "address", "internalType": "address" }, { "name": "isDeposit", "type": "bool", "internalType": "bool" }, { "name": "usd", "type": "uint64", "internalType": "uint64" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "CDeposit", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "_wei", "type": "uint64", "indexed": false, "internalType": "uint64" } ], "anonymous": false }, { "type": "event", "name": "CWithdrawal", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "_wei", "type": "uint64", "indexed": false, "internalType": "uint64" } ], "anonymous": false }, { "type": "event", "name": "IocOrder", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "asset", "type": "uint32", "indexed": false, "internalType": "uint32" }, { "name": "isBuy", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "limitPx", "type": "uint64", "indexed": false, "internalType": "uint64" }, { "name": "sz", "type": "uint64", "indexed": false, "internalType": "uint64" } ], "anonymous": false }, { "type": "event", "name": "SpotSend", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "destination", "type": "address", "indexed": true, "internalType": "address" }, { "name": "token", "type": "uint64", "indexed": false, "internalType": "uint64" }, { "name": "_wei", "type": "uint64", "indexed": false, "internalType": "uint64" } ], "anonymous": false }, { "type": "event", "name": "TokenDelegate", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "validator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "_wei", "type": "uint64", "indexed": false, "internalType": "uint64" }, { "name": "isUndelegate", "type": "bool", "indexed": false, "internalType": "bool" } ], "anonymous": false }, { "type": "event", "name": "UsdClassTransfer", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "ntl", "type": "uint64", "indexed": false, "internalType": "uint64" }, { "name": "toPerp", "type": "bool", "indexed": false, "internalType": "bool" } ], "anonymous": false }, { "type": "event", "name": "VaultTransfer", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "vault", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isDeposit", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "usd", "type": "uint64", "indexed": false, "internalType": "uint64" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "sendCDeposit(uint64)": "414fa437", "sendCWithdrawal(uint64)": "84918d1e", "sendIocOrder(uint32,bool,uint64,uint64)": "4e4719ab", "sendSpot(address,uint64,uint64)": "0b0ac0ab", "sendTokenDelegate(address,uint64,bool)": "db30aa53", "sendUsdClassTransfer(uint64,bool)": "2d9d5db6", "sendVaultTransfer(address,bool,uint64)": "258f0dcc" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"_wei\",\"type\":\"uint64\"}],\"name\":\"CDeposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"_wei\",\"type\":\"uint64\"}],\"name\":\"CWithdrawal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"asset\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isBuy\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"limitPx\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"sz\",\"type\":\"uint64\"}],\"name\":\"IocOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"destination\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"token\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"_wei\",\"type\":\"uint64\"}],\"name\":\"SpotSend\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"validator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"_wei\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isUndelegate\",\"type\":\"bool\"}],\"name\":\"TokenDelegate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"ntl\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"toPerp\",\"type\":\"bool\"}],\"name\":\"UsdClassTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vault\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isDeposit\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"usd\",\"type\":\"uint64\"}],\"name\":\"VaultTransfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"_wei\",\"type\":\"uint64\"}],\"name\":\"sendCDeposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"_wei\",\"type\":\"uint64\"}],\"name\":\"sendCWithdrawal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"asset\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"isBuy\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"limitPx\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"sz\",\"type\":\"uint64\"}],\"name\":\"sendIocOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"destination\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"token\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"_wei\",\"type\":\"uint64\"}],\"name\":\"sendSpot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"validator\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"_wei\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isUndelegate\",\"type\":\"bool\"}],\"name\":\"sendTokenDelegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"ntl\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"toPerp\",\"type\":\"bool\"}],\"name\":\"sendUsdClassTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vault\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"isDeposit\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"usd\",\"type\":\"uint64\"}],\"name\":\"sendVaultTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IHyperLiquidWritePrecompile.sol\":\"IHyperLiquidWritePrecompile\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":@layerzerolabs/=node_modules/@layerzerolabs/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":ds-test/=node_modules/@layerzerolabs/toolbox-foundry/lib/ds-test/\",\":forge-std/=node_modules/@layerzerolabs/toolbox-foundry/lib/forge-std/\",\":hardhat/=node_modules/hardhat/\",\":solidity-bytes-utils/contracts/=node_modules/@layerzerolabs/toolbox-foundry/lib/solidity-bytes-utils/\"]},\"sources\":{\"contracts/interfaces/IHyperLiquidWritePrecompile.sol\":{\"keccak256\":\"0xbfa7d38d7675898af0def60823f15550730af3bacb64068a09e1746b21c2cf4b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5cba8210ee21bd186dfddbaa2b3f1ceaeb597763cac1e6271c9ae6e8ff4b53f\",\"dweb:/ipfs/QmVV8BtvpwQQ3jqUdTEFs2nnT9Q7gxTajRqgJPmKQuforV\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.22+commit.4fc1097e" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "uint64", "name": "_wei", "type": "uint64", "indexed": false } ], "type": "event", "name": "CDeposit", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "uint64", "name": "_wei", "type": "uint64", "indexed": false } ], "type": "event", "name": "CWithdrawal", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "uint32", "name": "asset", "type": "uint32", "indexed": false }, { "internalType": "bool", "name": "isBuy", "type": "bool", "indexed": false }, { "internalType": "uint64", "name": "limitPx", "type": "uint64", "indexed": false }, { "internalType": "uint64", "name": "sz", "type": "uint64", "indexed": false } ], "type": "event", "name": "IocOrder", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "address", "name": "destination", "type": "address", "indexed": true }, { "internalType": "uint64", "name": "token", "type": "uint64", "indexed": false }, { "internalType": "uint64", "name": "_wei", "type": "uint64", "indexed": false } ], "type": "event", "name": "SpotSend", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "address", "name": "validator", "type": "address", "indexed": true }, { "internalType": "uint64", "name": "_wei", "type": "uint64", "indexed": false }, { "internalType": "bool", "name": "isUndelegate", "type": "bool", "indexed": false } ], "type": "event", "name": "TokenDelegate", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "uint64", "name": "ntl", "type": "uint64", "indexed": false }, { "internalType": "bool", "name": "toPerp", "type": "bool", "indexed": false } ], "type": "event", "name": "UsdClassTransfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "address", "name": "vault", "type": "address", "indexed": true }, { "internalType": "bool", "name": "isDeposit", "type": "bool", "indexed": false }, { "internalType": "uint64", "name": "usd", "type": "uint64", "indexed": false } ], "type": "event", "name": "VaultTransfer", "anonymous": false }, { "inputs": [ { "internalType": "uint64", "name": "_wei", "type": "uint64" } ], "stateMutability": "nonpayable", "type": "function", "name": "sendCDeposit" }, { "inputs": [ { "internalType": "uint64", "name": "_wei", "type": "uint64" } ], "stateMutability": "nonpayable", "type": "function", "name": "sendCWithdrawal" }, { "inputs": [ { "internalType": "uint32", "name": "asset", "type": "uint32" }, { "internalType": "bool", "name": "isBuy", "type": "bool" }, { "internalType": "uint64", "name": "limitPx", "type": "uint64" }, { "internalType": "uint64", "name": "sz", "type": "uint64" } ], "stateMutability": "nonpayable", "type": "function", "name": "sendIocOrder" }, { "inputs": [ { "internalType": "address", "name": "destination", "type": "address" }, { "internalType": "uint64", "name": "token", "type": "uint64" }, { "internalType": "uint64", "name": "_wei", "type": "uint64" } ], "stateMutability": "nonpayable", "type": "function", "name": "sendSpot" }, { "inputs": [ { "internalType": "address", "name": "validator", "type": "address" }, { "internalType": "uint64", "name": "_wei", "type": "uint64" }, { "internalType": "bool", "name": "isUndelegate", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "sendTokenDelegate" }, { "inputs": [ { "internalType": "uint64", "name": "ntl", "type": "uint64" }, { "internalType": "bool", "name": "toPerp", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "sendUsdClassTransfer" }, { "inputs": [ { "internalType": "address", "name": "vault", "type": "address" }, { "internalType": "bool", "name": "isDeposit", "type": "bool" }, { "internalType": "uint64", "name": "usd", "type": "uint64" } ], "stateMutability": "nonpayable", "type": "function", "name": "sendVaultTransfer" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@layerzerolabs/=node_modules/@layerzerolabs/", "@openzeppelin/=node_modules/@openzeppelin/", "ds-test/=node_modules/@layerzerolabs/toolbox-foundry/lib/ds-test/", "forge-std/=node_modules/@layerzerolabs/toolbox-foundry/lib/forge-std/", "hardhat/=node_modules/hardhat/", "solidity-bytes-utils/contracts/=node_modules/@layerzerolabs/toolbox-foundry/lib/solidity-bytes-utils/" ], "optimizer": { "enabled": true, "runs": 20000 }, "metadata": { "bytecodeHash": "ipfs" }, "compilationTarget": { "contracts/interfaces/IHyperLiquidWritePrecompile.sol": "IHyperLiquidWritePrecompile" }, "evmVersion": "shanghai", "libraries": {} }, "sources": { "contracts/interfaces/IHyperLiquidWritePrecompile.sol": { "keccak256": "0xbfa7d38d7675898af0def60823f15550730af3bacb64068a09e1746b21c2cf4b", "urls": [ "bzz-raw://a5cba8210ee21bd186dfddbaa2b3f1ceaeb597763cac1e6271c9ae6e8ff4b53f", "dweb:/ipfs/QmVV8BtvpwQQ3jqUdTEFs2nnT9Q7gxTajRqgJPmKQuforV" ], "license": "MIT" } }, "version": 1 }, "id": 6 }