0 txs
28 calls
constructor
No constructor.
functions
buildAndEncodeTransceiverMessage
purefunction buildAndEncodeTransceiverMessage(bytes4 prefix, bytes32 sourceNttManagerAddress, bytes32 recipientNttManagerAddress, bytes nttManagerMessage, bytes transceiverPayload) pure returns (tuple, bytes)
decodeTransceiverInit
purefunction decodeTransceiverInit(bytes encoded) pure returns (tuple init)
decodeTransceiverRegistration
purefunction decodeTransceiverRegistration(bytes encoded) pure returns (tuple registration)
encodeNativeTokenTransfer
purefunction encodeNativeTokenTransfer(tuple m) pure returns (bytes encoded)
encodeNttManagerMessage
purefunction encodeNttManagerMessage(tuple m) pure returns (bytes encoded)
encodeTransceiverInit
purefunction encodeTransceiverInit(tuple init) pure returns (bytes)
encodeTransceiverInstruction
purefunction encodeTransceiverInstruction(tuple instruction) pure returns (bytes)
encodeTransceiverInstructions
purefunction encodeTransceiverInstructions(tuple[] instructions) pure returns (bytes)
encodeTransceiverMessage
purefunction encodeTransceiverMessage(bytes4 prefix, tuple m) pure returns (bytes encoded)
encodeTransceiverRegistration
purefunction encodeTransceiverRegistration(tuple registration) pure returns (bytes)
nttManagerMessageDigest
purefunction nttManagerMessageDigest(uint16 sourceChainId, tuple m) pure returns (bytes32)
parseNativeTokenTransfer
purefunction parseNativeTokenTransfer(bytes encoded) pure returns (tuple nativeTokenTransfer)
parseNttManagerMessage
purefunction parseNttManagerMessage(bytes encoded) pure returns (tuple nttManagerMessage)
parseTransceiverAndNttManagerMessage
purefunction parseTransceiverAndNttManagerMessage(bytes4 expectedPrefix, bytes payload) pure returns (tuple, tuple)
parseTransceiverInstructionChecked
purefunction parseTransceiverInstructionChecked(bytes encoded) pure returns (tuple instruction)
parseTransceiverInstructions
purefunction parseTransceiverInstructions(bytes encoded, uint256 numRegisteredTransceivers) pure returns (tuple[])
parseTransceiverInstructionUnchecked
purefunction parseTransceiverInstructionUnchecked(bytes encoded, uint256 offset) pure returns (tuple instruction, uint256 nextOffset)
events
No events.
errors
IncorrectPrefix
error IncorrectPrefix(bytes4 prefix)
InvalidInstructionIndex
error InvalidInstructionIndex(uint256 providedIndex, uint256 numTransceivers)
LengthMismatch
error LengthMismatch(uint256 encodedLength, uint256 expectedLength)
PayloadTooLong
error PayloadTooLong(uint256 size)
UnorderedInstructions
error UnorderedInstructions(uint256 lastIndex, uint256 instructionIndex)
creation bytecode
0x6080806040523461001a5761166a9081610020823930815050f35b600080fdfe608060408181526004918236101561001657600080fd5b600092833560e01c918263054a7d8414610c6457508163055cedbd14610ae457816308a700d6146109e2578163107383fb146109975781631185b23c146108ed57816322cebdee146108b55781632b9f47961461080a5781633906001d1461076257816340d2f75a14610731578163433e3f29146106805781635f396d4b146106015781638b4979b8146105bb578163a733bdaa14610479578163b3f07bbd146103ee578163b620e87214610262578163c9bc77bb14610178575063eeca1f60146100e057600080fd5b6060366003190112610174578051906100f882610d53565b610100610dc5565b918281526024359361ffff851685036101715750838161016d95602085940152604435928391015282519363ffffffff60e01b16602085015261ffff60f01b9060f01b16602484015260268301526026825261015b82610d53565b51918291602083526020830190610e04565b0390f35b80fd5b5080fd5b9050602036600319011261025e5780356001600160401b03811161025a576101a39036908301610e40565b918051926101b084610d07565b848452602084018581528285019186835260608601948786526080870197885263ffffffff60e01b91828282015160e01b1688526024810151845260ff60258201511685526045810151875260ff6046820151168952516046810361023d5760a08860ff8b8a8a838b8b8b8451985116885251602088015251169085015251606084015251166080820152f35b85516355c5b3e360e11b8152918201526046602482015260449150fd5b8380fd5b8280fd5b828461026d36610f4d565b6001808301519093928492909160ff9081169061028983610e29565b9861029689519a8b610da4565b838a52601f196102a585610e29565b01875b8181106103d15750508693875b84811061032857505050505050906102cc916110c6565b825192602080850191818652865180935281818701918460051b880101970193905b8382106102fb5786880387f35b90919293948380610317839a603f198b82030186528951610f7e565b9997019594939190910191016102ee565b9091929394966103449061033d9c9a9c611597565b50876115b1565b97908581511691831515806103c7575b6103ab57508382101561038f5791610381828c989796959461037a82610387969b61160a565b528c61160a565b506115e5565b9a989a6102b5565b60448585848f519263344fa80b60e11b84528301526024820152fd5b85836044928f5192630555a4b960e01b84528301526024820152fd5b5080831115610354565b6020906103df9c9a9c611597565b82828d010152019a989a6102a8565b8284816003193601126101715782359061ffff8216820361017157602435906001600160401b038211610171575061042e60209461043392369101610f9e565b610fe8565b61046f6022845180938782019561ffff60f01b9060f01b16865261045f815180928a8686019101610de1565b8101036002810184520182610da4565b5190209051908152f35b90508260203660031901126101715781356001600160401b038111610174576104a59036908401610e40565b8351926104b184610d07565b828452602084018381528585019084825260608601928584526080870195606087525063ffffffff60e01b8186015160e01b16632653951560e21b81036105a55768ffffffffffffffffff8861016d898989898f8a600585015168ffffffffffffffff0060ff600d88015192169160081b16178852602d8501518152604d8501518352610557604f86015195604f9061ffff809816875260518151101561058a576110c6565b815198899860208a52511660208901525190870152516060860152511660808401525160a08084015260c0830190610e04565b905061059c8760518301511682611169565b919089526110c6565b88516356d2569d60e01b81529182015260249150fd5b82846020366003190112610171578235906001600160401b038211610171575061042e61016d936105ee92369101610f9e565b9051918291602083526020830190610e04565b82846020366003190112610171578235906001600160401b038211610171575061016d9261063191369101610e40565b9061063a611597565b5061066e610646611597565b9260ff600182015116845261066260ff60028301511682611259565b919060208601526110c6565b51918291602083526020830190610f7e565b838360203660031901126101745782356001600160401b03811161025e576106ab9036908501610e40565b918151926106b884610d53565b8184526020840182815283850192835263ffffffff60e01b808784015160e01b16865261ffff928360068201511683526026810151855251966026880361071357506060965084519551168552511660208401525190820152f35b85516355c5b3e360e11b815290810188905260266024820152604490fd5b8261074461073e36610f4d565b906115b1565b825183815292839261075891840190610f7e565b9060208301520390f35b9050600319828136011261025a57610778610dc5565b91602435916001600160401b0390818411610806576080908436030112610802578451956107a587610d38565b838301358752602484013560208801526044840135828111610174576107d090843691870101610e40565b868801526064840135918211610171575061016d95926105ee94926107f89236920101610e40565b6060830152611471565b8580fd5b8680fd5b600319915060203683011261025a578035916001600160401b03908184116108025760a09084360301126108b15783519461084486610d07565b8383013568ffffffffffffffffff8116810361017457865260248401356020870152604484013585870152606484013561ffff81168103610174576060870152608484013591821161017157506105ee9261016d95926108a79236920101610e40565b6080820152611345565b8480fd5b82846020366003190112610171578235906001600160401b03821161017157506108e861016d936105ee92369101610e96565b611548565b828460a036600319011261017157610903610dc5565b926001600160401b0360643581811161025a576109239036908401610e40565b926084359182116101715750916109436109769261016d94369101610e40565b9461094c611522565b50845195869261095b84610d38565b60243584526044356020850152868401526060830152611471565b6109898351948486958652850190610ee5565b908382036020850152610e04565b82846020366003190112610171578235906001600160401b03821161017157506109ca61016d936109cf92369101610e40565b611088565b9051918291602083526020830190610f26565b90508160031936011261025e576109f7610dc5565b92602435906001600160401b0382116101715750610a189036908301610e40565b90610a21611522565b50610a2a611067565b50610a33611522565b9363ffffffff60e01b808385015160e01b1691168103610ace575050610aad81602461016d930151855260448101516020860152610aa761ffff91610a9b6002610a8385604685015116846110f1565b919095898b01968752818386010151169101836112d1565b919060608901526110c6565b51611088565b610ac08351948486958652850190610ee5565b908382036020850152610f26565b83516356d2569d60e01b81529182015260249150fd5b60209291503660031901831361025a578035906001600160401b03908183116108025736602384011215610802578281013591610b2083610e29565b93610b2d86519586610da4565b838552868501906024809560051b82010192368411610c6057858201925b848410610c36575050505050825160ff8111610c2457505050805190606094905b828210610bc357505090610bb4602161016d93835196879160ff60f81b9060f81b1687830152610ba481518092898686019101610de1565b8101036001810187520185610da4565b51928284938452830190610e04565b9094610c1e90610c1886610be0610bda8a8761160a565b51611548565b9287519381610bf88693518092868087019101610de1565b8201610c0c82518093868085019101610de1565b01038084520182610da4565b956115e5565b90610b6c565b845163a341969160e01b815291820152fd5b8335828111610c5c578a91610c5183928a3691880101610e96565b815201930192610b4b565b8b80fd5b8980fd5b848460a036600319011261017457610c7b83610d07565b610c83610dc5565b91828452602435908160208601526044359160ff83168303610174578284870152606435908160608801526084359260ff84168403610171575082608061016d98015284519563ffffffff60e01b166020870152602486015260ff60f81b809360f81b166044860152604585015260f81b1660658301526046825261015b82610d38565b60a081019081106001600160401b03821117610d2257604052565b634e487b7160e01b600052604160045260246000fd5b608081019081106001600160401b03821117610d2257604052565b606081019081106001600160401b03821117610d2257604052565b604081019081106001600160401b03821117610d2257604052565b602081019081106001600160401b03821117610d2257604052565b90601f801991011681019081106001600160401b03821117610d2257604052565b600435906001600160e01b031982168203610ddc57565b600080fd5b60005b838110610df45750506000910152565b8181015183820152602001610de4565b90602091610e1d81518092818552858086019101610de1565b601f01601f1916010190565b6001600160401b038111610d225760051b60200190565b81601f82011215610ddc578035906001600160401b038211610d225760405192610e74601f8401601f191660200185610da4565b82845260208383010111610ddc57816000926020809301838601378301015290565b9190604083820312610ddc5760405190610eaf82610d6e565b8193803560ff81168103610ddc5783526020810135916001600160401b038311610ddc57602092610ee09201610e40565b910152565b610f239181518152602082015160208201526060610f126040840151608060408501526080840190610e04565b920151906060818403910152610e04565b90565b9060606040610f239380518452602081015160208501520151918160408201520190610e04565b6040600319820112610ddc57600435906001600160401b038211610ddc57610f7791600401610e40565b9060243590565b9060406020610f239360ff81511684520151918160208201520190610e04565b9190606083820312610ddc5760405190610fb782610d53565b819380358352602081013560208401526040810135916001600160401b038311610ddc57604092610ee09201610e40565b6040810180515161ffff811161104f57506062610f2391519283519360208251920151946040519586936020850152604084015261ffff60f01b9060f01b16606083015261103f8151809260208686019101610de1565b8101036042810184520182610da4565b6024906040519063a341969160e01b82526004820152fd5b6040519061107482610d53565b606060408360008152600060208201520152565b906110c4611094611067565b9260208101518452604081015160208501526110b861ffff604283015116826111e1565b919060408601526110c6565b565b51908082036110d3575050565b60449250604051916355c5b3e360e11b835260048301526024820152fd5b9091821561114b57826046019160405193601f8116918215611142575b6046838701938385019201015b8184106111325750508452601f01601f1916604052565b805184526020938401930161111b565b6020925061110e565b91505060405161115a81610d89565b60008152600036813790604690565b909182156111c357826051019160405193601f81169182156111ba575b6051838701938385019201015b8184106111aa5750508452601f01601f1916604052565b8051845260209384019301611193565b60209250611186565b9150506040516111d281610d89565b60008152600036813790605190565b9091821561123b57826042019160405193601f8116918215611232575b6042838701938385019201015b8184106112225750508452601f01601f1916604052565b805184526020938401930161120b565b602092506111fe565b91505060405161124a81610d89565b60008152600036813790604290565b909182156112b357826002019160405193601f81169182156112aa575b6002838701938385019201015b81841061129a5750508452601f01601f1916604052565b8051845260209384019301611283565b60209250611276565b9150506040516112c281610d89565b60008152600036813790600290565b92908215611328578281019260405194601f821692831561131f575b838701938385019201015b81841061130f5750508452601f01601f1916604052565b80518452602093840193016112f8565b602093506112ed565b9250905060405161133881610d89565b6000815260003681379190565b805160808201805151806113cd5750506020808301516040808501516060909501519051632653951560e21b9381019390935260f884901b6001600160f81b031916602484015260b89390931b6001600160c01b0319166025830152602d820152604d81019290925260f01b6001600160f01b031916606d820152604f8152610f2381610d38565b61ffff811161104f5750610f2391607191518051946020810151956060604083015192015191604051978895632653951560e21b602088015260ff60f81b8160f81b1660248801526001600160401b0360c01b9060b81b166025870152602d860152604d85015261ffff60f01b809260f01b16606d85015260f01b16606f8301526114618151809260208686019101610de1565b8101036051810184520182610da4565b604082018051519061ffff9182811161104f575080515191606085019081515190811161104f575091610f23939160689351918251916020885198015190519060405198899663ffffffff60e01b1660208801526024870152604486015261ffff60f01b809260f01b1660648601526114f4815180926020606689019101610de1565b84019160f01b1660668201526115138251809360208785019101610de1565b01036048810184520182610da4565b6040519061152f82610d38565b6060808360008152600060208201528160408201520152565b6020810180515160ff811161104f57506022610f23915192835190519360405194859260ff60f81b809260f81b16602085015260f81b16602183015261045f8151809260208686019101610de1565b604051906115a482610d6e565b6060602083600081520152565b91906115dc906115bf611597565b93600260ff818484018260018201511689520151169201906112d1565b91906020840152565b60001981146115f45760010190565b634e487b7160e01b600052601160045260246000fd5b805182101561161e5760209160051b010190565b634e487b7160e01b600052603260045260246000fdfea26469706673582212202416703b748d809f3fdf29d2d7e3228193290f2d6b5e94954f7a13943dc10e6464736f6c63430008130033