0 txs
4 calls
constructor
constructor()
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
FEE_COLLECTOR
viewfunction FEE_COLLECTOR() view returns (address)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
PERMIT2
viewfunction PERMIT2() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
PROXYCALL
viewfunction PROXYCALL() view returns (address)
STABLECOIN
viewfunction STABLECOIN() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
VAULT
viewfunction VAULT() view returns (address)
createOrderPermit2
payablefunction createOrderPermit2(bytes32 seed, tuple permitBatch, bytes permitSignature, uint256 destChainId, uint256 fee, bytes32 receiver, uint256 minAmountOut, bytes32 tokenOut) payable
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address permit2, address vault, address proxycall, address feeCollector, address _admin)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setGeniusProxyCall
nonpayablefunction setGeniusProxyCall(address _proxyCall)
swapAndCreateOrder
payablefunction swapAndCreateOrder(bytes32 seed, address[] tokensIn, uint256[] amountsIn, address target, address toApprove, bytes data, address owner, uint256 destChainId, uint256 feeSurplus, bytes32 receiver, uint256 minAmountOut, bytes32 tokenOut) payable
swapAndCreateOrderPermit2
payablefunction swapAndCreateOrderPermit2(bytes32 seed, tuple permitBatch, bytes permitSignature, address target, address toApprove, bytes data, uint256 destChainId, uint256 feeSurplus, bytes32 receiver, uint256 minAmountOut, bytes32 tokenOut) payable
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
Initialized
event Initialized(uint64 version)
ProxyCallChanged
event ProxyCallChanged(address indexed newProxyCall)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
Upgraded
event Upgraded(address indexed implementation)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
ArrayLengthsMismatch
error ArrayLengthsMismatch()
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedInnerCall
error FailedInnerCall()
InvalidInitialization
error InvalidInitialization()
InvalidSpender
error InvalidSpender()
InvalidTokenIn
error InvalidTokenIn()
IsNotAdmin
error IsNotAdmin()
NonAddress0
error NonAddress0()
NotInitializing
error NotInitializing()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a080604052346100cc57306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c166100bd57506001600160401b036002600160401b031982821601610078575b60405161214090816100d18239608051818181610b6e0152610c530152f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610059565b63f92ee8a960e01b8152600490fd5b5f80fdfe608080604052600436101561006b575b50361561001a575f80fd5b60405162461bcd60e51b815260206004820152602360248201527f4e617469766520746f6b656e73206e6f74206163636570746564206469726563604482015262746c7960e81b6064820152608490fd5b5f905f3560e01c90816301ffc9a7146116b657508063039836181461129f5780631459457a14610ff65780631abb339114610f57578063248a9ca314610f1e5780632f2ff15d14610ed457806335b17ed814610eab57806336568abe14610e63578063411557d114610e3a5780634f1ef28614610bd857806352d1902d14610b5b5780636afdd85014610b325780637f660b0114610b0957806391d1485414610ab357806393a3977614610a8c578063a217fddf14610a70578063ad3cb1cc146109e1578063aeea86bc14610782578063b8f21cf01461019f5763d547741f0361000f573461019c57604036600319011261019c5761019860043561016e611778565b908084525f805160206120eb8339815191526020526101936001604086200154611f4c565b611f98565b5080f35b80fd5b50600319906101803683011261019c576024356001600160401b038111610570576101ce903690600401611828565b92906044356001600160401b03811161077e576101ef903690600401611828565b9490926101fa611736565b9161020361174c565b9160a4356001600160401b03811161077a57610223903690600401611709565b60c4359791969094916001600160a01b038916890361048c578a850361076857895b85811061065b575050600354989950969789976001600160a01b0391821693909187168085036105785750506003546001600160a01b031693505050813b159050610574576102ad93859360405195869485938493631cff79cd60e01b855260048501611878565b039134905af180156104505761055c575b50505b81546040516370a0823160e01b815230600482015283916020916001600160a01b03909116908281602481855afa90811561055157849161051b575b506044929394608060018060a01b0360045416604051958680926302b8d7d960e61b825286600483015260e43560248301525afa9384156105105786946104df575b506001546040516382c947b760e01b8082526001600160a01b039384166004830152929091169490938685602481895afa9485156104d45788956104a2575b5060405192835260048301528582602481885afa91821561049757879261045f575b506103b3906060610104359101516118d9565b92604051956103c1876117b5565b6004358752860152610124356040860152606085015261016435608085015260a08401526101443560c08401524660e084015260e435610100840152610120830152803b1561045b5760405163938d6e5d60e01b8152918391839182908490829061042f90600483016118fa565b03925af18015610450576104405750f35b610449906117a2565b61019c5780f35b6040513d84823e3d90fd5b5050fd5b965090508486813d8111610490575b61047881836117ec565b8101031261048c57945186956103b36103a0565b5f80fd5b503d61046e565b6040513d89823e3d90fd5b975093508587813d81116104cd575b6104bb81836117ec565b8101031261048c57879651935f61037e565b503d6104b1565b6040513d8a823e3d90fd5b61050291945060803d608011610509575b6104fa81836117ec565b81019061189d565b925f61033f565b503d6104f0565b6040513d88823e3d90fd5b83809550819492503d831161054a575b61053581836117ec565b8101031261048c5790518492919060446102fd565b503d61052b565b6040513d86823e3d90fd5b610565906117a2565b61057057815f6102be565b5080fd5b8480fd5b91959498509195508296923b1561065757604051632f0eb84b60e01b815260806004820152608481018990528a989097969560a4890195949392918a5b81811061061e575050508896948896929487959486956105e2946024880152868403016044870152611858565b6001600160a01b039091166064830152039134905af180156104505761060a575b50506102c1565b610613906117a2565b61057057815f610603565b919798999a509192939495600190818060a01b0361063b8a61178e565b168152602080910198019101918c9a99989796959493926105b5565b8980fd5b6003548c906001600160a01b03163381900361067c575b5050600101610245565b6106a3836001600160a01b0361069b610696838d8b6119e9565b6119d5565b1693866119e9565b35604051916323b872dd60e01b602084015233602484015260448301526064908183015281528060a08101106001600160401b0360a083011117610754578c808260a0610707940160405260208151910182865af1610700612058565b9083612087565b8051908115159182610739575b5050610721578c90610672565b60249060405190635274afe760e01b82526004820152fd5b61074c9250602080918301019101611964565b155f80610714565b634e487b7160e01b5f52604160045260245ffd5b604051631dc0052360e11b8152600490fd5b8780fd5b8380fd5b5060031961010036820181136109dd57602435916001600160401b03908184116105745760609084600401943603011261077e5760443590811161077e576107ce903690600401611709565b60016107dd858095949561197c565b905003610768576107ee848061197c565b156109c9576107fc906119d5565b85546001600160a01b039491908516908516036109b75785946108229230923392611a37565b5081835416906040516370a0823160e01b81523060048201526020938482602481875afa918215610510578692610985575b5060015416926040516382c947b760e01b918282523360048301528682602481895afa9182156104d4578892610953575b5060405192835260048301528582602481885afa918215610497578792610921575b50604051956108b5876117b5565b600435875286015260a4356040860152606085015260e435608085015260a084015260c43560c08401524660e084015260643590830152608435610120830152803b1561045b5760405163938d6e5d60e01b8152918391839182908490829061042f90600483016118fa565b965090508486813d811161094c575b61093a81836117ec565b8101031261048c57869551905f6108a7565b503d610930565b975090508587813d811161097e575b61096c81836117ec565b8101031261048c57879651905f610885565b503d610962565b955090508385813d81116109b0575b61099e81836117ec565b8101031261048c57859451905f610854565b503d610994565b604051636b8794e960e11b8152600490fd5b634e487b7160e01b86526032600452602486fd5b8280fd5b503461019c578060031936011261019c57604051604081018181106001600160401b038211176107545760405260058152602091640352e302e360dc1b602083015260405192839160208352835191826020850152815b838110610a5957505060408094508284010152601f80199101168101030190f35b808601820151878201604001528694508101610a38565b503461019c578060031936011261019c57602090604051908152f35b503461019c578060031936011261019c57546040516001600160a01b039091168152602090f35b503461019c57604036600319011261019c576040610acf611778565b9160043581525f805160206120eb833981519152602052209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b503461019c578060031936011261019c576004546040516001600160a01b039091168152602090f35b503461019c578060031936011261019c576002546040516001600160a01b039091168152602090f35b503461019c578060031936011261019c577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610bc65760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b60405163703e46dd60e11b8152600490fd5b50604036600319011261019c57610bed611762565b60249182356001600160401b038111610570573660238201121561057057806004013592610c1a8461180d565b610c2760405191826117ec565b8481526020948582019336888383010111610e3657818692898993018737830101526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116308114908115610e08575b50610bc6578480525f805160206120eb833981519152865260408520335f52865260ff60405f20541615610df6576040516352d1902d60e01b81529083169580826004818a5afa9182918793610dc6575b5050610cee57604051634c9c8ce360e01b8152600481018790528790fd5b8590877f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc91828103610db15750843b15610d9b575080546001600160a01b031916821790556040518592917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a2815115610d7e57506101989382915190845af4610d78612058565b91612087565b935050505034610d8c575080f35b63b398979f60e01b8152600490fd5b604051634c9c8ce360e01b815260048101849052fd5b60405190632a87526960e21b82526004820152fd5b9080929350813d8311610def575b610dde81836117ec565b8101031261048c5751905f80610cd0565b503d610dd4565b60405163088f2b9960e21b8152600490fd5b9050817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541614155f610c7f565b8580fd5b503461019c578060031936011261019c576001546040516001600160a01b039091168152602090f35b503461019c57604036600319011261019c57610e7d611778565b336001600160a01b03821603610e995761019890600435611f98565b60405163334bd91960e11b8152600490fd5b503461019c578060031936011261019c576003546040516001600160a01b039091168152602090f35b503461019c57604036600319011261019c57610198600435610ef4611778565b908084525f805160206120eb833981519152602052610f196001604086200154611f4c565b611ec2565b503461019c57602036600319011261019c576001604060209260043581525f805160206120eb8339815191528452200154604051908152f35b503461019c57602036600319011261019c57610f71611762565b8180525f805160206120eb83398151915260205260408220335f5260205260ff60405f20541615610df6576001600160a01b03168015610fe457600380546001600160a01b031916821790557f112a6b97ba0274976aefefd3e84abdbbfd7456b66f26e6d95196e2c50a778cf38280a280f35b6040516302b6392d60e41b8152600490fd5b503461019c5760a036600319011261019c57611010611762565b611018611778565b906001600160a01b03906044358281169081900361048c57611038611736565b9361104161174c565b907ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0095865460ff8160401c1615956001600160401b03821680159081611297575b600114908161128d575b159081611284575b506112725767ffffffffffffffff1982166001178955879187611253575b5016918215610fe4578616908115610fe4578415610fe45786168015610fe45786841615610fe457889485916110e6612017565b6110ee612017565b6bffffffffffffffffffffffff60a01b94856002541617600255600154918486841617600155856003541617600355846004541617600455161794604051916349d1cbbb60e11b83526020968784600481845afa801561051057889387918290611211575b60449495965016808254958616178255604051978895869463095ea7b360e01b865260048601525f19602486015216175af19182156105105761119b926111e4575b50611e25565b506111a4578280f35b7fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29168ff000000000000000019815416905560405160018152a15f808280f35b61120390853d871161120a575b6111fb81836117ec565b810190611964565b505f611195565b503d6111f1565b509293905084819592953d831161124c575b61122d81836117ec565b81010312610e365751928184168403610e365787938493928791611153565b503d611223565b68ffffffffffffffffff1916680100000000000000011789555f6110b2565b60405163f92ee8a960e01b8152600490fd5b9050155f611094565b303b15915061108c565b889150611082565b5061016036600319011261048c57602480356001600160401b0380821161048c576060600319833603011261048c5760443581811161048c576112e6903690600401611709565b9190926112f1611736565b916112fa61174c565b9060a43590811161048c578795611318611331923690600401611709565b94909660018060a01b0360035416923392600401611a37565b6003546001600160a01b03908116929190851683036115dc5750506003546001600160a01b03169050803b156105745761138493859360405195869485938493631cff79cd60e01b855260048501611878565b039134905af18015610450576115c8575b50505b81546040516370a0823160e01b81523060048201526001600160a01b039091169183916020919082818381885afa908115610551578491611592575b506044929394608060018060a01b0360045416604051958680926302b8d7d960e61b825286600483015260c435888301525afa938415610510578694611571575b5060018060a01b036001541693604051936382c947b760e01b90818652336004870152878682818a5afa958615611566578996611532575b509087916040519485928352600483015281885afa9182156104975787926114fe575b5061148290606060e4359101516118d9565b9260405195611490876117b5565b6004358752860152610104356040860152606085015261014435608085015260a08401526101243560c08401524660e084015260c435610100840152610120830152803b1561045b5760405163938d6e5d60e01b8152918391839182908490829061042f90600483016118fa565b965090508486813d811161152b575b61151781836117ec565b8101031261048c5794518695611482611470565b503d61150d565b91985094508681813d811161155f575b61154c81836117ec565b8101031261048c5751889790948761144d565b503d611542565b6040513d8b823e3d90fd5b61158b91945060803d608011610509576104fa81836117ec565b925f611415565b83809550819492503d83116115c1575b6115ac81836117ec565b8101031261048c5790518492919060446113d4565b503d6115a2565b6115d1906117a2565b61057057815f611395565b92918095919496503b1561048c5794929190604051958694632f0eb84b60e01b865260848601608060048801528451809152602060a488019501905f5b818110611694575050506001600160a01b0316888601528483036003190160448601525f959385938493919261164f9290611858565b6001600160a01b039091166064830152039134905af1801561168957611676575b50611398565b6116819192506117a2565b5f905f611670565b6040513d5f823e3d90fd5b82516001600160a01b031687528a985060209687019690920191600101611619565b3461048c57602036600319011261048c576004359063ffffffff60e01b821680920361048c57602091637965db0b60e01b81149081156116f8575b5015158152f35b6301ffc9a760e01b149050836116f1565b9181601f8401121561048c578235916001600160401b03831161048c576020838186019501011161048c57565b606435906001600160a01b038216820361048c57565b608435906001600160a01b038216820361048c57565b600435906001600160a01b038216820361048c57565b602435906001600160a01b038216820361048c57565b35906001600160a01b038216820361048c57565b6001600160401b03811161075457604052565b61014081019081106001600160401b0382111761075457604052565b608081019081106001600160401b0382111761075457604052565b90601f801991011681019081106001600160401b0382111761075457604052565b6001600160401b03811161075457601f01601f191660200190565b9181601f8401121561048c578235916001600160401b03831161048c576020808501948460051b01011161048c57565b908060209392818452848401375f828201840152601f01601f1916010190565b6001600160a01b03909116815260406020820181905261189a93910191611858565b90565b9081608091031261048c576060604051916118b7836117d1565b8051835260208101516020840152604081015160408401520151606082015290565b919082018092116118e657565b634e487b7160e01b5f52601160045260245ffd5b919091610140810192805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201519083015261012080910151910152565b9081602091031261048c5751801515810361048c5790565b903590601e198136030182121561048c57018035906001600160401b03821161048c57602001918160071b3603831361048c57565b91908110156119c15760071b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b038116810361048c5790565b91908110156119c15760051b0190565b6001600160401b0381116107545760051b60200190565b359065ffffffffffff8216820361048c57565b80518210156119c15760209160051b010190565b9493919294611a46818061197c565b90505f92611a6c611a56836119f9565b92611a6460405194856117ec565b8084526119f9565b601f19989089013660208501378291611a87602086016119d5565b306001600160a01b0390911603611e13576002546001600160a01b031690813b1561048c57604051632a2d80d160e01b81526001600160a01b03909316600484018190526060602485015298863536889003601e190181121561048c578701916001600160401b0383351161048c57823560071b3603602084011361048c579084929160606064850152823560c48501528860e485019360208101905f905b80358210611d9157505050611b705f9694869488946040879560018060a01b03611b526020830161178e565b166084880152013560a4860152848303600319016044860152611858565b03925af1801561168957611d7e575b50611b8a838061197c565b989050611baf611b998a6119f9565b99611ba76040519b8c6117ec565b808b526119f9565b01845b818110611d4f575050835b611bc7848061197c565b9050811015611c8157611be761069682611be1878061197c565b906119b1565b611bf18285611a23565b6001600160a01b0390911690526020611c0e82611be1878061197c565b01356001600160a01b03811690819003610e365790600191611c3761069683611be1898061197c565b60405191611c44836117d1565b8a8352848060a01b038a1660208401526040830152838060a01b03166060820152611c6f828c611a23565b52611c7a818b611a23565b5001611bbd565b50600254909793955092935050506001600160a01b0316803b156109dd57908290604051928391630d58b1db60e01b835260248301602060048501528151809152602060448501920190855b818110611cfe575050508383809203925af1801561045057611ced575050565b611cf782916117a2565b61019c5750565b825180516001600160a01b0390811686526020808301518216818801526040808401518316908801526060928301519091169186019190915289975088965060809094019390920191600101611ccd565b602090604051611d5e816117d1565b878152878382015287604082015287606082015282828d01015201611bb2565b611d899194506117a2565b5f925f611b7f565b91965093949293929091506001600160a01b03611dad8761178e565b16815260208601356001600160a01b038116919082900361048c576001916020820152611ddc60408801611a10565b65ffffffffffff8091166040830152611df760608901611a10565b1660608201526080809101960192019187959493928b92611b26565b604051635461585f60e01b8152600490fd5b6001600160a01b03165f8181527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206120eb8339815191529060ff16611ebc575f805260205260405f20815f5260205260405f20600160ff1982541617905533905f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b90815f525f805160206120eb8339815191528060205260405f209160018060a01b031691825f5260205260ff60405f205416155f14611f4557825f5260205260405f20815f5260205260405f20600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b805f525f805160206120eb83398151915260205260405f20335f5260205260ff60405f20541615611f7a5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b90815f525f805160206120eb8339815191528060205260405f209160018060a01b031691825f5260205260ff60405f2054165f14611f4557825f5260205260405f20815f5260205260405f2060ff19815416905533917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561204657565b604051631afcd79f60e31b8152600490fd5b3d15612082573d906120698261180d565b9161207760405193846117ec565b82523d5f602084013e565b606090565b906120ae575080511561209c57805190602001fd5b604051630a12f52160e11b8152600490fd5b815115806120e1575b6120bf575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156120b756fe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a2646970667358221220579776c76bce264a29410f66372d2e028f022c1be1ffc6a9449bbf4c48bb5d1264736f6c63430008180033