79 txs
2.3k calls
constructor
constructor(address _owner, string _name, string _symbol, uint8 _decimals)
functions
allowance
viewfunction allowance(address, address) view returns (uint256)
authority
viewfunction authority() view returns (address)
balanceOf
viewfunction balanceOf(address) view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
DOMAIN_SEPARATOR
viewfunction DOMAIN_SEPARATOR() view returns (bytes32)
hook
viewfunction hook() view returns (address)
name
viewfunction name() view returns (string)
nonces
viewfunction nonces(address) view returns (uint256)
owner
viewfunction owner() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
enter
nonpayablefunction enter(address from, address asset, uint256 assetAmount, address to, uint256 shareAmount)
exit
nonpayablefunction exit(address to, address asset, uint256 assetAmount, address from, uint256 shareAmount)
manage
nonpayablefunction manage(address target, bytes data, uint256 value) returns (bytes result)
manage
nonpayablefunction manage(address[] targets, bytes[] data, uint256[] values) returns (bytes[] results)
onERC1155BatchReceived
nonpayablefunction onERC1155BatchReceived(address, address, uint256[], uint256[], bytes) returns (bytes4)
onERC1155Received
nonpayablefunction onERC1155Received(address, address, uint256, uint256, bytes) returns (bytes4)
onERC721Received
nonpayablefunction onERC721Received(address, address, uint256, bytes) returns (bytes4)
permit
nonpayablefunction permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)
setAuthority
nonpayablefunction setAuthority(address newAuthority)
setBeforeTransferHook
nonpayablefunction setBeforeTransferHook(address _hook)
setNameAndSymbol
nonpayablefunction setNameAndSymbol(string _name, string _symbol)
transfer
nonpayablefunction transfer(address to, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 amount) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 amount)
AuthorityUpdated
event AuthorityUpdated(address indexed user, address indexed newAuthority)
Enter
event Enter(address indexed from, address indexed asset, uint256 amount, address indexed to, uint256 shares)
Exit
event Exit(address indexed to, address indexed asset, uint256 amount, address indexed from, uint256 shares)
OwnershipTransferred
event OwnershipTransferred(address indexed user, address indexed newOwner)
Transfer
event Transfer(address indexed from, address indexed to, uint256 amount)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
FailedCall
error FailedCall()
InsufficientBalance
error InsufficientBalance(uint256 balance, uint256 needed)
creation bytecode
0x60e060405234801562000010575f80fd5b506040516200241038038062002410833981016040819052620000339162000263565b835f848484836200004584826200038c565b5060016200005483826200038c565b5060ff81166080524660a0526200006a6200010b565b60c0525050600680546001600160a01b038086166001600160a01b03199283168117909355600780549186169190921617905560405190915033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a3505050505050620004ce565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516200013d919062000454565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112620001c9575f80fd5b81516001600160401b0380821115620001e657620001e6620001a5565b604051601f8301601f19908116603f01168101908282118183101715620002115762000211620001a5565b816040528381526020925086838588010111156200022d575f80fd5b5f91505b8382101562000250578582018301518183018401529082019062000231565b5f93810190920192909252949350505050565b5f805f806080858703121562000277575f80fd5b84516001600160a01b03811681146200028e575f80fd5b60208601519094506001600160401b0380821115620002ab575f80fd5b620002b988838901620001b9565b94506040870151915080821115620002cf575f80fd5b50620002de87828801620001b9565b925050606085015160ff81168114620002f5575f80fd5b939692955090935050565b600181811c908216806200031557607f821691505b6020821081036200033457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000387575f81815260208120601f850160051c81016020861015620003625750805b601f850160051c820191505b8181101562000383578281556001016200036e565b5050505b505050565b81516001600160401b03811115620003a857620003a8620001a5565b620003c081620003b9845462000300565b846200033a565b602080601f831160018114620003f6575f8415620003de5750858301515b5f19600386901b1c1916600185901b17855562000383565b5f85815260208120601f198616915b82811015620004265788860151825594840194600190910190840162000405565b50858210156200044457878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b5f808354620004638162000300565b600182811680156200047e57600181146200049457620004c2565b60ff1984168752821515830287019450620004c2565b875f526020805f205f5b85811015620004b95781548a8201529084019082016200049e565b50505082870194505b50929695505050505050565b60805160a05160c051611f17620004f95f395f61096001525f61092b01525f6102fa0152611f175ff3fe608060405260043610610198575f3560e01c80637a9e5e4b116100e7578063bc197c8111610087578063dd62ed3e11610062578063dd62ed3e14610506578063f23a6e611461053c578063f2fde38b14610567578063f6e715d014610586575f80fd5b8063bc197c811461049d578063bf7e214f146104c8578063d505accf146104e7575f80fd5b80638929565f116100c25780638929565f1461042c5780638da5cb5b1461044b57806395d89b411461046a578063a9059cbb1461047e575f80fd5b80637a9e5e4b146103ab5780637ecebe00146103ca5780637f5a7c7b146103f5575f80fd5b8063224d8703116101525780633644e5151161012d5780633644e5151461032e57806339d6ba32146103425780635a4462151461036157806370a0823114610380575f80fd5b8063224d87031461029e57806323b872dd146102ca578063313ce567146102e9575f80fd5b806301ffc9a7146101a357806306fdde03146101d7578063095ea7b3146101f8578063150b7a021461021757806318160ddd1461025a57806318457e611461027d575f80fd5b3661019f57005b5f80fd5b3480156101ae575f80fd5b506101c26101bd366004611508565b6105a5565b60405190151581526020015b60405180910390f35b3480156101e2575f80fd5b506101eb6105db565b6040516101ce919061157c565b348015610203575f80fd5b506101c26102123660046115a2565b610666565b348015610222575f80fd5b5061024161023136600461167b565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020016101ce565b348015610265575f80fd5b5061026f60025481565b6040519081526020016101ce565b348015610288575f80fd5b5061029c6102973660046116e2565b6106d1565b005b3480156102a9575f80fd5b506102bd6102b8366004611780565b610796565b6040516101ce9190611812565b3480156102d5575f80fd5b506101c26102e4366004611872565b610909565b3480156102f4575f80fd5b5061031c7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016101ce565b348015610339575f80fd5b5061026f610928565b34801561034d575f80fd5b5061029c61035c3660046116e2565b610982565b34801561036c575f80fd5b5061029c61037b3660046118b0565b610a30565b34801561038b575f80fd5b5061026f61039a36600461190f565b60036020525f908152604090205481565b3480156103b6575f80fd5b5061029c6103c536600461190f565b610a7e565b3480156103d5575f80fd5b5061026f6103e436600461190f565b60056020525f908152604090205481565b348015610400575f80fd5b50600854610414906001600160a01b031681565b6040516001600160a01b0390911681526020016101ce565b348015610437575f80fd5b5061029c61044636600461190f565b610b63565b348015610456575f80fd5b50600654610414906001600160a01b031681565b348015610475575f80fd5b506101eb610bb6565b348015610489575f80fd5b506101c26104983660046115a2565b610bc3565b3480156104a8575f80fd5b506102416104b73660046119a6565b63bc197c8160e01b95945050505050565b3480156104d3575f80fd5b50600754610414906001600160a01b031681565b3480156104f2575f80fd5b5061029c610501366004611a4c565b610bd7565b348015610511575f80fd5b5061026f610520366004611abd565b600460209081525f928352604080842090915290825290205481565b348015610547575f80fd5b50610241610556366004611af4565b63f23a6e6160e01b95945050505050565b348015610572575f80fd5b5061029c61058136600461190f565b610e15565b348015610591575f80fd5b506101eb6105a0366004611b57565b610e91565b5f6001600160e01b03198216630271189760e51b14806105d557506301ffc9a760e01b6001600160e01b03198316145b92915050565b5f80546105e790611bda565b80601f016020809104026020016040519081016040528092919081815260200182805461061390611bda565b801561065e5780601f106106355761010080835404028352916020019161065e565b820191905f5260205f20905b81548152906001019060200180831161064157829003601f168201915b505050505081565b335f8181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106c09086815260200190565b60405180910390a350600192915050565b6106e6335f356001600160e01b031916610f17565b61070b5760405162461bcd60e51b815260040161070290611c12565b60405180910390fd5b6107158282610fbe565b821561072f5761072f6001600160a01b0385168685611025565b816001600160a01b0316846001600160a01b0316866001600160a01b03167fe0c82280a1164680e0cf43be7db4c4c9f985423623ad7a544fb76c772bdc60438685604051610787929190918252602082015260400190565b60405180910390a45050505050565b60606107ad335f356001600160e01b031916610f17565b6107c95760405162461bcd60e51b815260040161070290611c12565b85806001600160401b038111156107e2576107e26115cc565b60405190808252806020026020018201604052801561081557816020015b60608152602001906001900390816108005790505b5091505f5b818110156108fd576108cf87878381811061083757610837611c38565b90506020028101906108499190611c4c565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525089925088915085905081811061089157610891611c38565b905060200201358b8b858181106108aa576108aa611c38565b90506020020160208101906108bf919061190f565b6001600160a01b031691906110b4565b8382815181106108e1576108e1611c38565b6020026020010181905250806108f690611ca2565b905061081a565b50509695505050505050565b5f61091384611154565b61091e8484846111c2565b90505b9392505050565b5f7f0000000000000000000000000000000000000000000000000000000000000000461461095d5761095861129c565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b610997335f356001600160e01b031916610f17565b6109b35760405162461bcd60e51b815260040161070290611c12565b82156109ce576109ce6001600160a01b038516863086611334565b6109d882826113d1565b816001600160a01b0316846001600160a01b0316866001600160a01b03167fea00f88768a86184a6e515238a549c171769fe7460a011d6fd0bcd48ca078ea48685604051610787929190918252602082015260400190565b610a45335f356001600160e01b031916610f17565b610a615760405162461bcd60e51b815260040161070290611c12565b5f610a6c8382611d07565b506001610a798282611d07565b505050565b6006546001600160a01b0316331480610b10575060075460405163b700961360e01b81526001600160a01b039091169063b700961390610ad190339030906001600160e01b03195f351690600401611dc2565b602060405180830381865afa158015610aec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b109190611def565b610b18575f80fd5b600780546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b610b78335f356001600160e01b031916610f17565b610b945760405162461bcd60e51b815260040161070290611c12565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b600180546105e790611bda565b5f610bcd33611154565b6109218383611420565b42841015610c275760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610702565b5f6001610c32610928565b6001600160a01b038a81165f8181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610d3a573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b03811615801590610d705750876001600160a01b0316816001600160a01b0316145b610dad5760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610702565b6001600160a01b039081165f9081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b610e2a335f356001600160e01b031916610f17565b610e465760405162461bcd60e51b815260040161070290611c12565b600680546001600160a01b0319166001600160a01b03831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a350565b6060610ea8335f356001600160e01b031916610f17565b610ec45760405162461bcd60e51b815260040161070290611c12565b610f0e84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050506001600160a01b038816919050846110b4565b95945050505050565b6007545f906001600160a01b03168015801590610f9e575060405163b700961360e01b81526001600160a01b0382169063b700961390610f5f90879030908890600401611dc2565b602060405180830381865afa158015610f7a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f9e9190611def565b80610fb657506006546001600160a01b038581169116145b949350505050565b6001600160a01b0382165f9081526003602052604081208054839290610fe5908490611e0e565b90915550506002805482900390556040518181525f906001600160a01b038416905f80516020611ec2833981519152906020015b60405180910390a35050565b5f60405163a9059cbb60e01b81526001600160a01b038416600482015282602482015260205f6044835f895af191505080601f3d1160015f51141615161561106f5750823b153d17155b806110ae5760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b6044820152606401610702565b50505050565b6060814710156110e05760405163cf47918160e01b815247600482015260248101839052604401610702565b5f80856001600160a01b031684866040516110fb9190611e21565b5f6040518083038185875af1925050503d805f8114611135576040519150601f19603f3d011682016040523d82523d5f602084013e61113a565b606091505b509150915061114a868383611483565b9695505050505050565b6008546001600160a01b0316156111bf5760085460405163e83931af60e01b81526001600160a01b0383811660048301529091169063e83931af906024015f6040518083038186803b1580156111a8575f80fd5b505afa1580156111ba573d5f803e3d5ffd5b505050505b50565b6001600160a01b0383165f9081526004602090815260408083203384529091528120545f19811461121b576111f78382611e0e565b6001600160a01b0386165f9081526004602090815260408083203384529091529020555b6001600160a01b0385165f9081526003602052604081208054859290611242908490611e0e565b90915550506001600160a01b038085165f81815260036020526040908190208054870190555190918716905f80516020611ec2833981519152906112899087815260200190565b60405180910390a3506001949350505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516112cc9190611e3c565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f6040516323b872dd60e01b81526001600160a01b03851660048201526001600160a01b038416602482015282604482015260205f6064835f8a5af191505080601f3d1160015f51141615161561138d5750833b153d17155b806111ba5760405162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b6044820152606401610702565b8060025f8282546113e29190611eae565b90915550506001600160a01b0382165f818152600360209081526040808320805486019055518481525f80516020611ec28339815191529101611019565b335f90815260036020526040812080548391908390611440908490611e0e565b90915550506001600160a01b0383165f81815260036020526040908190208054850190555133905f80516020611ec2833981519152906106c09086815260200190565b60608261149857611493826114df565b610921565b81511580156114af57506001600160a01b0384163b155b156114d857604051639996b31560e01b81526001600160a01b0385166004820152602401610702565b5080610921565b8051156114ef5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b5f60208284031215611518575f80fd5b81356001600160e01b031981168114610921575f80fd5b5f5b83811015611549578181015183820152602001611531565b50505f910152565b5f815180845261156881602086016020860161152f565b601f01601f19169290920160200192915050565b602081525f6109216020830184611551565b6001600160a01b03811681146111bf575f80fd5b5f80604083850312156115b3575f80fd5b82356115be8161158e565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715611608576116086115cc565b604052919050565b5f82601f83011261161f575f80fd5b81356001600160401b03811115611638576116386115cc565b61164b601f8201601f19166020016115e0565b81815284602083860101111561165f575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f806080858703121561168e575f80fd5b84356116998161158e565b935060208501356116a98161158e565b92506040850135915060608501356001600160401b038111156116ca575f80fd5b6116d687828801611610565b91505092959194509250565b5f805f805f60a086880312156116f6575f80fd5b85356117018161158e565b945060208601356117118161158e565b93506040860135925060608601356117288161158e565b949793965091946080013592915050565b5f8083601f840112611749575f80fd5b5081356001600160401b0381111561175f575f80fd5b6020830191508360208260051b8501011115611779575f80fd5b9250929050565b5f805f805f8060608789031215611795575f80fd5b86356001600160401b03808211156117ab575f80fd5b6117b78a838b01611739565b909850965060208901359150808211156117cf575f80fd5b6117db8a838b01611739565b909650945060408901359150808211156117f3575f80fd5b5061180089828a01611739565b979a9699509497509295939492505050565b5f602080830181845280855180835260408601915060408160051b87010192508387015f5b8281101561186557603f19888603018452611853858351611551565b94509285019290850190600101611837565b5092979650505050505050565b5f805f60608486031215611884575f80fd5b833561188f8161158e565b9250602084013561189f8161158e565b929592945050506040919091013590565b5f80604083850312156118c1575f80fd5b82356001600160401b03808211156118d7575f80fd5b6118e386838701611610565b935060208501359150808211156118f8575f80fd5b5061190585828601611610565b9150509250929050565b5f6020828403121561191f575f80fd5b81356109218161158e565b5f82601f830112611939575f80fd5b813560206001600160401b03821115611954576119546115cc565b8160051b6119638282016115e0565b928352848101820192828101908785111561197c575f80fd5b83870192505b8483101561199b57823582529183019190830190611982565b979650505050505050565b5f805f805f60a086880312156119ba575f80fd5b85356119c58161158e565b945060208601356119d58161158e565b935060408601356001600160401b03808211156119f0575f80fd5b6119fc89838a0161192a565b94506060880135915080821115611a11575f80fd5b611a1d89838a0161192a565b93506080880135915080821115611a32575f80fd5b50611a3f88828901611610565b9150509295509295909350565b5f805f805f805f60e0888a031215611a62575f80fd5b8735611a6d8161158e565b96506020880135611a7d8161158e565b95506040880135945060608801359350608088013560ff81168114611aa0575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f8060408385031215611ace575f80fd5b8235611ad98161158e565b91506020830135611ae98161158e565b809150509250929050565b5f805f805f60a08688031215611b08575f80fd5b8535611b138161158e565b94506020860135611b238161158e565b9350604086013592506060860135915060808601356001600160401b03811115611b4b575f80fd5b611a3f88828901611610565b5f805f8060608587031215611b6a575f80fd5b8435611b758161158e565b935060208501356001600160401b0380821115611b90575f80fd5b818701915087601f830112611ba3575f80fd5b813581811115611bb1575f80fd5b886020828501011115611bc2575f80fd5b95986020929092019750949560400135945092505050565b600181811c90821680611bee57607f821691505b602082108103611c0c57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112611c61575f80fd5b8301803591506001600160401b03821115611c7a575f80fd5b602001915036819003821315611779575f80fd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201611cb357611cb3611c8e565b5060010190565b601f821115610a79575f81815260208120601f850160051c81016020861015611ce05750805b601f850160051c820191505b81811015611cff57828155600101611cec565b505050505050565b81516001600160401b03811115611d2057611d206115cc565b611d3481611d2e8454611bda565b84611cba565b602080601f831160018114611d67575f8415611d505750858301515b5f19600386901b1c1916600185901b178555611cff565b5f85815260208120601f198616915b82811015611d9557888601518255948401946001909101908401611d76565b5085821015611db257878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f60208284031215611dff575f80fd5b81518015158114610921575f80fd5b818103818111156105d5576105d5611c8e565b5f8251611e3281846020870161152f565b9190910192915050565b5f808354611e4981611bda565b60018281168015611e615760018114611e7657611ea2565b60ff1984168752821515830287019450611ea2565b875f526020805f205f5b85811015611e995781548a820152908401908201611e80565b50505082870194505b50929695505050505050565b808201808211156105d5576105d5611c8e56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220317838d155718d22f2452c153840f214c05ad140fadd0a6c690f8a40295032e964736f6c6343000815003300000000000000000000000004354e44ed31022716e77ec6320c04eda153010c000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000e4e65737420525741205661756c7400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046e52574100000000000000000000000000000000000000000000000000000000