// This file was autogenerated by hardhat-viem, do not edit it. // prettier-ignore // tslint:disable // eslint-disable import type { Address } from "viem"; import type { AbiParameterToPrimitiveType, GetContractReturnType } from "@nomicfoundation/hardhat-viem/types"; import "@nomicfoundation/hardhat-viem/types"; export interface ExampleVestingVault$Type { "_format": "hh-sol-artifact-1", "contractName": "ExampleVestingVault", "sourceName": "contracts/ExampleVestingVault.sol", "abi": [ { "inputs": [ { "internalType": "contract IERC20", "name": "token_", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AccessControlBadConfirmation", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bytes32", "name": "neededRole", "type": "bytes32" } ], "name": "AccessControlUnauthorizedAccount", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "beneficiary", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "releaseTime", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "tokenAmount", "type": "uint256" } ], "name": "VestingLockedIn", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "beneficiary", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "releaseTime", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "tokenAmount", "type": "uint256" } ], "name": "VestingReleased", "type": "event" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "VAULT_CONTROLLER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "beneficiary_", "type": "address" }, { "internalType": "uint256", "name": "releaseTime_", "type": "uint256" }, { "internalType": "uint256", "name": "tokenAmount_", "type": "uint256" } ], "name": "addBeneficiary", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "release", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "callerConfirmation", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "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": "token", "outputs": [ { "internalType": "contract IERC20", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "beneficiary_", "type": "address" } ], "name": "vestingFor", "outputs": [ { "components": [ { "internalType": "address", "name": "beneficiary", "type": "address" }, { "internalType": "uint256", "name": "releaseTime", "type": "uint256" }, { "internalType": "uint256", "name": "tokenAmount", "type": "uint256" } ], "internalType": "struct IVestingVault.Vesting[]", "name": "", "type": "tuple[]" } ], "stateMutability": "view", "type": "function" } ], "bytecode": "0x60a0346100f057601f610d1438819003918201601f19168301916001600160401b038311848410176100f4578084926020946040528339810103126100f057516001600160a01b03811681036100f05760805261005b33610108565b507f9872d9a33a826e6fa63de183f4672fa7578a62703fcc3dcc926810a2b5a12fd95f81815260208190527f18b789f689298f9861c64acec43fb83a444fe0a0d93f282ad4f66651300c99a5805490829055604051927fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8380a4610b629081610192823960805181818160b501526104860152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b0381165f9081525f516020610cf45f395f51905f52602052604090205460ff1661018c576001600160a01b03165f8181525f516020610cf45f395f51905f5260205260408120805460ff191660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b505f9056fe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a7146106cf57508063248a9ca31461069d5780632f2ff15d1461066057806336568abe1461061c578063704e2b2d146105e257806386d1a69f1461034957806391d1485414610301578063a217fddf146102e7578063d547741f146102a5578063f4753b3814610181578063f74bc9d6146100e85763fc0c546a146100a0575f80fd5b346100e4575f3660031901126100e4576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5f80fd5b346100e45760603660031901126100e457610101610752565b335f9081527f18b789f689298f9861c64acec43fb83a444fe0a0d93f282ad4f66651300c99a4602052604090205460ff161561014a57610148906044359060243590610808565b005b63e2517d3f60e01b5f52336004527f9872d9a33a826e6fa63de183f4672fa7578a62703fcc3dcc926810a2b5a12fd960245260445ffd5b346100e45760203660031901126100e4576001600160a01b036101a2610752565b165f52600160205260405f2080549067ffffffffffffffff821161029157604051916101d460208260051b0184610784565b8083526020830180925f5260205f205f915b838310610253578486604051918291602083019060208452518091526040830191905f5b818110610218575050500390f35b825180516001600160a01b0316855260208181015181870152604091820151918601919091528695506060909401939092019160010161020a565b6003602060019260405161026681610768565b848060a01b0386541681528486015483820152600286015460408201528152019201920191906101e6565b634e487b7160e01b5f52604160045260245ffd5b346100e45760403660031901126100e4576101486004356102c461073c565b906102e26102dd825f525f602052600160405f20015490565b6109ec565b610aac565b346100e4575f3660031901126100e45760206040515f8152f35b346100e45760403660031901126100e45761031a61073c565b6004355f525f60205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b346100e4575f3660031901126100e457335f52600160205260405f20805467ffffffffffffffff8111610291576040519161038a60208360051b0184610784565b81835260208301905f5260205f205f915b8383106105a4575f85815b815181101561045b574260206103bc83856107a6565b51015111156103ce575b6001016103a6565b916103ea60019160406103e186866107a6565b510151906107ce565b9260206103f782856107a6565b510151604061040683866107a6565b51015160405191825260208201527fc35bc0b152cc4084b62942d2235605f7e5db6fc6217bc7ef532ba71acf7a58ce60403392a2335f52816020525f600261045183604084206107ef565b50015590506103c6565b8280156105515760405163a9059cbb60e01b815233600482015260248101919091526020816044815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1908115610546575f9161050b575b50156104c657005b60405162461bcd60e51b815260206004820152601b60248201527f546f6b656e207472616e7366657220756e7375636365737366756c00000000006044820152606490fd5b90506020813d60201161053e575b8161052660209383610784565b810103126100e4575180151581036100e457816104be565b3d9150610519565b6040513d5f823e3d90fd5b60405162461bcd60e51b815260206004820152602560248201527f56657374696e675661756c743a2043616e6e6f742072656c65617365203020746044820152646f6b656e7360d81b6064820152608490fd5b600360206001926040516105b781610768565b848060a01b03865416815284860154838201526002860154604082015281520192019201919061039b565b346100e4575f3660031901126100e45760206040517f9872d9a33a826e6fa63de183f4672fa7578a62703fcc3dcc926810a2b5a12fd98152f35b346100e45760403660031901126100e45761063561073c565b336001600160a01b038216036106515761014890600435610aac565b63334bd91960e11b5f5260045ffd5b346100e45760403660031901126100e45761014860043561067f61073c565b906106986102dd825f525f602052600160405f20015490565b610a24565b346100e45760203660031901126100e45760206106c76004355f525f602052600160405f20015490565b604051908152f35b346100e45760203660031901126100e4576004359063ffffffff60e01b82168092036100e4576020916379e3001b60e01b8114908115610711575b5015158152f35b637965db0b60e01b81149150811561072b575b508361070a565b6301ffc9a760e01b14905083610724565b602435906001600160a01b03821682036100e457565b600435906001600160a01b03821682036100e457565b6060810190811067ffffffffffffffff82111761029157604052565b90601f8019910116810190811067ffffffffffffffff82111761029157604052565b80518210156107ba5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b919082018092116107db57565b634e487b7160e01b5f52601160045260245ffd5b80548210156107ba575f52600360205f20910201905f90565b60018060a01b031690815f52600160205260405f2092835467ffffffffffffffff8111610291576040519461084360208360051b0187610784565b81865260208601905f5260205f205f915b8383106109ae57505050505f5b84518110156108e157602061087682876107a6565b510151831461088757600101610861565b8394509060026108c5604094937f970b25b911957fbf97ef28d72fcbb6175e7b3b97729a26ef75ce09e4a72c0fac965f526001602052855f206107ef565b50016108d28282546107ce565b905582519182526020820152a2565b5090919250825f52600160205260405f20916040519161090083610768565b8483526020830192828452604081019482865280546801000000000000000081101561029157610935916001820181556107ef565b91909161099b577f970b25b911957fbf97ef28d72fcbb6175e7b3b97729a26ef75ce09e4a72c0fac9560409560029260018060a01b039051166bffffffffffffffffffffffff60a01b8554161784555160018401555191015582519182526020820152a2565b634e487b7160e01b5f525f60045260245ffd5b600360206001926040516109c181610768565b848060a01b038654168152848601548382015260028601546040820152815201920192019190610854565b5f8181526020818152604080832033845290915290205460ff1615610a0e5750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f818152602081815260408083206001600160a01b038616845290915290205460ff16610aa6575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1615610aa6575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a460019056fea2646970667358221220d0d10f5b60502edcd226790588710621beed37fca8077f6cdc46cb29d765da5b64736f6c634300081e0033ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5", "deployedBytecode": "0x6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a7146106cf57508063248a9ca31461069d5780632f2ff15d1461066057806336568abe1461061c578063704e2b2d146105e257806386d1a69f1461034957806391d1485414610301578063a217fddf146102e7578063d547741f146102a5578063f4753b3814610181578063f74bc9d6146100e85763fc0c546a146100a0575f80fd5b346100e4575f3660031901126100e4576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5f80fd5b346100e45760603660031901126100e457610101610752565b335f9081527f18b789f689298f9861c64acec43fb83a444fe0a0d93f282ad4f66651300c99a4602052604090205460ff161561014a57610148906044359060243590610808565b005b63e2517d3f60e01b5f52336004527f9872d9a33a826e6fa63de183f4672fa7578a62703fcc3dcc926810a2b5a12fd960245260445ffd5b346100e45760203660031901126100e4576001600160a01b036101a2610752565b165f52600160205260405f2080549067ffffffffffffffff821161029157604051916101d460208260051b0184610784565b8083526020830180925f5260205f205f915b838310610253578486604051918291602083019060208452518091526040830191905f5b818110610218575050500390f35b825180516001600160a01b0316855260208181015181870152604091820151918601919091528695506060909401939092019160010161020a565b6003602060019260405161026681610768565b848060a01b0386541681528486015483820152600286015460408201528152019201920191906101e6565b634e487b7160e01b5f52604160045260245ffd5b346100e45760403660031901126100e4576101486004356102c461073c565b906102e26102dd825f525f602052600160405f20015490565b6109ec565b610aac565b346100e4575f3660031901126100e45760206040515f8152f35b346100e45760403660031901126100e45761031a61073c565b6004355f525f60205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b346100e4575f3660031901126100e457335f52600160205260405f20805467ffffffffffffffff8111610291576040519161038a60208360051b0184610784565b81835260208301905f5260205f205f915b8383106105a4575f85815b815181101561045b574260206103bc83856107a6565b51015111156103ce575b6001016103a6565b916103ea60019160406103e186866107a6565b510151906107ce565b9260206103f782856107a6565b510151604061040683866107a6565b51015160405191825260208201527fc35bc0b152cc4084b62942d2235605f7e5db6fc6217bc7ef532ba71acf7a58ce60403392a2335f52816020525f600261045183604084206107ef565b50015590506103c6565b8280156105515760405163a9059cbb60e01b815233600482015260248101919091526020816044815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1908115610546575f9161050b575b50156104c657005b60405162461bcd60e51b815260206004820152601b60248201527f546f6b656e207472616e7366657220756e7375636365737366756c00000000006044820152606490fd5b90506020813d60201161053e575b8161052660209383610784565b810103126100e4575180151581036100e457816104be565b3d9150610519565b6040513d5f823e3d90fd5b60405162461bcd60e51b815260206004820152602560248201527f56657374696e675661756c743a2043616e6e6f742072656c65617365203020746044820152646f6b656e7360d81b6064820152608490fd5b600360206001926040516105b781610768565b848060a01b03865416815284860154838201526002860154604082015281520192019201919061039b565b346100e4575f3660031901126100e45760206040517f9872d9a33a826e6fa63de183f4672fa7578a62703fcc3dcc926810a2b5a12fd98152f35b346100e45760403660031901126100e45761063561073c565b336001600160a01b038216036106515761014890600435610aac565b63334bd91960e11b5f5260045ffd5b346100e45760403660031901126100e45761014860043561067f61073c565b906106986102dd825f525f602052600160405f20015490565b610a24565b346100e45760203660031901126100e45760206106c76004355f525f602052600160405f20015490565b604051908152f35b346100e45760203660031901126100e4576004359063ffffffff60e01b82168092036100e4576020916379e3001b60e01b8114908115610711575b5015158152f35b637965db0b60e01b81149150811561072b575b508361070a565b6301ffc9a760e01b14905083610724565b602435906001600160a01b03821682036100e457565b600435906001600160a01b03821682036100e457565b6060810190811067ffffffffffffffff82111761029157604052565b90601f8019910116810190811067ffffffffffffffff82111761029157604052565b80518210156107ba5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b919082018092116107db57565b634e487b7160e01b5f52601160045260245ffd5b80548210156107ba575f52600360205f20910201905f90565b60018060a01b031690815f52600160205260405f2092835467ffffffffffffffff8111610291576040519461084360208360051b0187610784565b81865260208601905f5260205f205f915b8383106109ae57505050505f5b84518110156108e157602061087682876107a6565b510151831461088757600101610861565b8394509060026108c5604094937f970b25b911957fbf97ef28d72fcbb6175e7b3b97729a26ef75ce09e4a72c0fac965f526001602052855f206107ef565b50016108d28282546107ce565b905582519182526020820152a2565b5090919250825f52600160205260405f20916040519161090083610768565b8483526020830192828452604081019482865280546801000000000000000081101561029157610935916001820181556107ef565b91909161099b577f970b25b911957fbf97ef28d72fcbb6175e7b3b97729a26ef75ce09e4a72c0fac9560409560029260018060a01b039051166bffffffffffffffffffffffff60a01b8554161784555160018401555191015582519182526020820152a2565b634e487b7160e01b5f525f60045260245ffd5b600360206001926040516109c181610768565b848060a01b038654168152848601548382015260028601546040820152815201920192019190610854565b5f8181526020818152604080832033845290915290205460ff1615610a0e5750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f818152602081815260408083206001600160a01b038616845290915290205460ff16610aa6575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1615610aa6575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a460019056fea2646970667358221220d0d10f5b60502edcd226790588710621beed37fca8077f6cdc46cb29d765da5b64736f6c634300081e0033", "linkReferences": {}, "deployedLinkReferences": {} } declare module "@nomicfoundation/hardhat-viem/types" { export function deployContract( contractName: "ExampleVestingVault", constructorArgs: [token_: AbiParameterToPrimitiveType<{"name":"token_","type":"address"}>], config?: DeployContractConfig ): Promise>; export function deployContract( contractName: "contracts/ExampleVestingVault.sol:ExampleVestingVault", constructorArgs: [token_: AbiParameterToPrimitiveType<{"name":"token_","type":"address"}>], config?: DeployContractConfig ): Promise>; export function sendDeploymentTransaction( contractName: "ExampleVestingVault", constructorArgs: [token_: AbiParameterToPrimitiveType<{"name":"token_","type":"address"}>], config?: SendDeploymentTransactionConfig ): Promise<{ contract: GetContractReturnType; deploymentTransaction: GetTransactionReturnType; }>; export function sendDeploymentTransaction( contractName: "contracts/ExampleVestingVault.sol:ExampleVestingVault", constructorArgs: [token_: AbiParameterToPrimitiveType<{"name":"token_","type":"address"}>], config?: SendDeploymentTransactionConfig ): Promise<{ contract: GetContractReturnType; deploymentTransaction: GetTransactionReturnType; }>; export function getContractAt( contractName: "ExampleVestingVault", address: Address, config?: GetContractAtConfig ): Promise>; export function getContractAt( contractName: "contracts/ExampleVestingVault.sol:ExampleVestingVault", address: Address, config?: GetContractAtConfig ): Promise>; }