@uniswap/v4-periphery
Version:
🦄 Peripheral smart contracts for interacting with Uniswap v4
1 lines • 7.75 kB
JSON
{"abi":[{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"word","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"bitmap","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"revokeNonce","inputs":[{"name":"nonce","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"error","name":"NonceAlreadyUsed","inputs":[]}],"bytecode":{"object":"0x60808060405234601557610135908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c806305c1ee20146100a45763502e1a161461002f575f80fd5b346100a05760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a05760043573ffffffffffffffffffffffffffffffffffffffff81168091036100a0575f525f60205260405f206024355f52602052602060405f2054604051908152f35b5f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a057600435600160ff82161b90335f525f60205260405f209060081c5f5260205260405f2081815418809155161561010057005b7f1fb09b80000000000000000000000000000000000000000000000000000000005f5260045ffdfea164736f6c634300081a000a","sourceMap":"232:883:104:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806305c1ee20146100a45763502e1a161461002f575f80fd5b346100a05760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a05760043573ffffffffffffffffffffffffffffffffffffffff81168091036100a0575f525f60205260405f206024355f52602052602060405f2054604051908152f35b5f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a057600435600160ff82161b90335f525f60205260405f209060081c5f5260205260405f2081815418809155161561010057005b7f1fb09b80000000000000000000000000000000000000000000000000000000005f5260045ffdfea164736f6c634300081a000a","sourceMap":"232:883:104:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1088:10;;232:883;;;;;;;;;765:1;232:883;;;;;;;;;;;869:29;232:883;;;912:13;:18;908:49;;232:883;908:49;939:18;232:883;939:18;232:883;;939:18","linkReferences":{}},"methodIdentifiers":{"nonces(address,uint256)":"502e1a16","revokeNonce(uint256)":"05c1ee20"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"NonceAlreadyUsed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"word\",\"type\":\"uint256\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"bitmap\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"revokeNonce\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"revokeNonce(uint256)\":{\"details\":\"Used in cases where a valid nonce has not been broadcasted onchain, and the owner wants to revoke the validity of the noncepayable so it can be multicalled with native-token related actions\"}},\"stateVariables\":{\"nonces\":{\"details\":\"word is at most type(uint248).max\"}},\"title\":\"Unordered Nonce\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"nonces(address,uint256)\":{\"notice\":\"mapping of nonces consumed by each address, where a nonce is a single bit on the 256-bit bitmap\"},\"revokeNonce(uint256)\":{\"notice\":\"Revoke a nonce by spending it, preventing it from being used again\"}},\"notice\":\"Contract state and methods for using unordered nonces in signatures\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/base/UnorderedNonce.sol\":\"UnorderedNonce\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":44444444},\"remappings\":[\":@ensdomains/=lib/v4-core/node_modules/@ensdomains/\",\":@openzeppelin/=lib/v4-core/lib/openzeppelin-contracts/\",\":@uniswap/v4-core/=lib/v4-core/\",\":ds-test/=lib/v4-core/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/v4-core/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/v4-core/lib/forge-std/src/\",\":hardhat/=lib/v4-core/node_modules/hardhat/\",\":openzeppelin-contracts/=lib/v4-core/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/v4-core/lib/solmate/\",\":v4-core/=lib/v4-core/src/\"],\"viaIR\":true},\"sources\":{\"src/base/UnorderedNonce.sol\":{\"keccak256\":\"0x0ec175bf2213d75606ebb770227e8622ae9666fbde8ff2d1682d85890b81676e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://079952902a4be56b5e963585349988fcbea853bf8271a5cb88e7629cafb06bcf\",\"dweb:/ipfs/Qmere81cd2Wq9Vq4rL5G1nW4Jv54YJeMr1oaej7468xrgi\"]},\"src/interfaces/IUnorderedNonce.sol\":{\"keccak256\":\"0xd7f32fee74dc7d1a3b078ca1263961baccaa6bf434c79e8fe0e092e30c3e0ec3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7d1e92d89d5f49c84aa82f3b259678c2c97a4473b22d753ca4411a6b0cec36d\",\"dweb:/ipfs/QmNZoQyminStaAdaLqoDLoWaBU5QWrWjXFjmBm4aFhzL8i\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"NonceAlreadyUsed"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"word","type":"uint256"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"bitmap","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"nonce","type":"uint256"}],"stateMutability":"payable","type":"function","name":"revokeNonce"}],"devdoc":{"kind":"dev","methods":{"revokeNonce(uint256)":{"details":"Used in cases where a valid nonce has not been broadcasted onchain, and the owner wants to revoke the validity of the noncepayable so it can be multicalled with native-token related actions"}},"version":1},"userdoc":{"kind":"user","methods":{"nonces(address,uint256)":{"notice":"mapping of nonces consumed by each address, where a nonce is a single bit on the 256-bit bitmap"},"revokeNonce(uint256)":{"notice":"Revoke a nonce by spending it, preventing it from being used again"}},"version":1}},"settings":{"remappings":["@ensdomains/=lib/v4-core/node_modules/@ensdomains/","@openzeppelin/=lib/v4-core/lib/openzeppelin-contracts/","@uniswap/v4-core/=lib/v4-core/","ds-test/=lib/v4-core/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/v4-core/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/v4-core/lib/forge-std/src/","hardhat/=lib/v4-core/node_modules/hardhat/","openzeppelin-contracts/=lib/v4-core/lib/openzeppelin-contracts/","permit2/=lib/permit2/","solmate/=lib/v4-core/lib/solmate/","v4-core/=lib/v4-core/src/"],"optimizer":{"enabled":true,"runs":44444444},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/base/UnorderedNonce.sol":"UnorderedNonce"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"src/base/UnorderedNonce.sol":{"keccak256":"0x0ec175bf2213d75606ebb770227e8622ae9666fbde8ff2d1682d85890b81676e","urls":["bzz-raw://079952902a4be56b5e963585349988fcbea853bf8271a5cb88e7629cafb06bcf","dweb:/ipfs/Qmere81cd2Wq9Vq4rL5G1nW4Jv54YJeMr1oaej7468xrgi"],"license":"MIT"},"src/interfaces/IUnorderedNonce.sol":{"keccak256":"0xd7f32fee74dc7d1a3b078ca1263961baccaa6bf434c79e8fe0e092e30c3e0ec3","urls":["bzz-raw://e7d1e92d89d5f49c84aa82f3b259678c2c97a4473b22d753ca4411a6b0cec36d","dweb:/ipfs/QmNZoQyminStaAdaLqoDLoWaBU5QWrWjXFjmBm4aFhzL8i"],"license":"MIT"}},"version":1},"id":47}