0 txs
103 calls
constructor
No constructor.
functions
buildIntegrityFunctionPointers
purefunction buildIntegrityFunctionPointers() pure returns (bytes)
buildLiteralParserFunctionPointers
purefunction buildLiteralParserFunctionPointers() pure returns (bytes)
buildOpcodeFunctionPointers
purefunction buildOpcodeFunctionPointers() pure returns (bytes)
buildOperandHandlerFunctionPointers
purefunction buildOperandHandlerFunctionPointers() pure returns (bytes)
buildSubParserWordParsers
purefunction buildSubParserWordParsers() pure returns (bytes)
describedByMetaV1
purefunction describedByMetaV1() pure returns (bytes32)
extern
viewfunction extern(uint256 dispatch, uint256[] inputs) view returns (uint256[] outputs)
externIntegrity
purefunction externIntegrity(uint256 dispatch, uint256 expectedInputs, uint256 expectedOutputs) pure returns (uint256 actualInputs, uint256 actualOutputs)
subParseLiteral
viewfunction subParseLiteral(bytes32 compatibility, bytes data) view returns (bool, uint256)
subParseWord
purefunction subParseWord(bytes32 compatibility, bytes data) pure returns (bool, bytes, uint256[])
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
events
No events.
errors
ExponentOverflow
error ExponentOverflow(int256 signedCoefficient, int256 exponent)
ExternDispatchConstantsHeightOverflow
error ExternDispatchConstantsHeightOverflow(uint256 constantsHeight)
IncompatibleSubParser
error IncompatibleSubParser()
LossyConversionFromFloat
error LossyConversionFromFloat(int256 signedCoefficient, int256 exponent)
NegativeFixedDecimalConversion
error NegativeFixedDecimalConversion(int256 signedCoefficient, int256 exponent)
UnexpectedOperand
error UnexpectedOperand()
UnsupportedChainId
error UnsupportedChainId()
UnsupportedFeedSymbol
error UnsupportedFeedSymbol()
WordSize
error WordSize(string word)
creation bytecode
0x6080604052348015600f57600080fd5b50611bc58061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c8063b92d755311610081578063ccf447751161005b578063ccf44775146101bb578063d6d8c9a8146101cf578063f6dd97f9146101d757600080fd5b8063b92d755314610161578063beef26df14610169578063c7dc72871461019157600080fd5b8063514b5d4f116100b2578063514b5d4f1461010b5780636f5aa28d14610113578063b65ad6831461014157600080fd5b806301ffc9a7146100ce578063336284d4146100f6575b600080fd5b6100e16100dc3660046115a8565b6101f9565b60405190151581526020015b60405180910390f35b6100fe61020a565b6040516100ed9190611655565b6100fe61027d565b6040517fe7bb5842b2cf1d25681a9885109fbf8943495bcebb9ec049bc3790e5db57fa8081526020016100ed565b61015461014f3660046116e6565b6102c6565b6040516100ed91906117d4565b6100fe610356565b61017c6101773660046117e7565b61039f565b604080519283526020830191909152016100ed565b6101a461019f366004611813565b610436565b6040805192151583526020830191909152016100ed565b6040805160208101909152600081526100fe565b6100fe6104d1565b6101ea6101e5366004611813565b61051a565b6040516100ed939291906118d0565b6000610204826106e0565b92915050565b60408051600180825281830190925260609160009190816020015b61159e81526020019060019003908161022557905050905061078281600081518110610253576102536118fd565b67ffffffffffffffff9092166020928302919091019091015280610276816107a4565b9250505090565b60408051600180825281830190925260609160009190816020015b61159e81526020019060019003908161029857905050905061083581600081518110610253576102536118fd565b6060600061030460408051808201909152600281527f0835000000000000000000000000000000000000000000000000000000000000602082015290565b9050600060028251816103195761031961192c565b04601086901c61ffff9081168281066002028501602090810151939450850192909188169060f01c610349828983565b9998505050505050505050565b60408051600180825281830190925260609160009190816020015b61159e81526020019060019003908161037157905050905061086f81600081518110610253576102536118fd565b60008060006103de60408051808201909152600281527f086f000000000000000000000000000000000000000000000000000000000000602082015290565b9050600060028251816103f3576103f361192c565b04601088901c61ffff908116828106600202850160209081015193945085019290918a169060f01c610424828b8b84565b909c909b509950505050505050505050565b600080837f5836ed68c3ff94ac90fe739dd43b89a6043a4bb56bc7556b9034f4752e80fe998114610493576040517f3c7d5e3100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060006104bb876002810151815160228084019461ffff93909316840101920160200190565b506000975087965050505050505b509250929050565b60408051600180825281830190925260609160009190816020015b61159e8152602001906001900390816104ec57905050905061087c81600081518110610253576102536118fd565b6000606080847f5836ed68c3ff94ac90fe739dd43b89a6043a4bb56bc7556b9034f4752e80fe998114610579576040517f3c7d5e3100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060006105c38861058a6108c1565b60408051808201909152600281527f087c00000000000000000000000000000000000000000000000000000000000060208201526108e1565b92509250925060006105da82610220015160200190565b9050600082610220015151826105f0919061198a565b9050600061060f83836f07fffffe0000000003ff2000000000006109dc565b809250819450505060008061062986610240015184610ab5565b9150915081156106b157600061063f8783610b72565b905061159e600061068060408051808201909152600281527f0782000000000000000000000000000000000000000000000000000000000000602082015290565b6001850160020281015161ffff169250905061069b8b8b8585565b9e509e509e5050505050505050505050506106d8565b505060408051600080825281830190925260208101828152919b5090995097505050505050505b509250925092565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f3101e57e00000000000000000000000000000000000000000000000000000000148061077357507fffffffff0000000000000000000000000000000000000000000000000000000082167f6f5aa28d00000000000000000000000000000000000000000000000000000000145b80610204575061020482610ba2565b6000606080610795308787876000610c39565b92509250925093509350939050565b60606000825160020267ffffffffffffffff8111156107c5576107c5611668565b6040519080825280601f01601f1916602001820160405280156107ef576020820181803683370190505b50905061ffff80196020850160208651028101600285015b8183101561082957805183518616908516178152602090920191600201610807565b50939695505050505050565b6020810151604082015160609190600061084f8383610ced565b604080518082019091526001815260208101919091529695505050505050565b600260015b935093915050565b600081516000146108b9576040517f9f16b02000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000919050565b6060604051806060016040528060268152602001611b9f60269139905090565b600080610979604051806102600160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016060815260200160608152602001606081526020016000815260200160608152602001606081525090565b606061ffff600288015116935060ff600388015116925061ffff6005880151166005880197508088526020810188019150506109c687878760405180602001604052806000815250610dc8565b915080826101e001819052505093509350939050565b60008080600181878703602081116109f457806109f7565b60205b915050875192505b8519600184841a1b16158183101615610a1d576001820191506109ff565b9681019660208290036008810293841c90931b92610aa857604080516020810185905201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527fe47fe8b7000000000000000000000000000000000000000000000000000000008252610a9f91600401611655565b60405180910390fd5b5095969095509350505050565b600182810180516000928392600560ff93909316602102870192830192909101835b81831015610b5f576001830151602190930180519093600090819060ff168180610b01838e610fc7565b91509150600087610b16600185038916610fe9565b016004028b015195505062ffffff9081169350841683039150610b4a9050575060019750601c1a9550610b6b945050505050565b610b5383610fe9565b84019350505050610ad7565b60008095509550505050505b9250929050565b6101c08201516002828102820101516101e084015160009261ffff9092169190610b999083565b95945050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f08b5f05c00000000000000000000000000000000000000000000000000000000148061020457507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610204565b600060608061ffff871115610c7d576040517fcc3c82b100000000000000000000000000000000000000000000000000000000815260048101889052602401610a9f565b6040805160248101909152600481018890526002876021830153806020830153506004815260408051808201909152600180825260109690961b9690961760a01b73ffffffffffffffffffffffffffffffffffffffff999099169890981760208601525091969294509192505050565b600080610cf9846110c2565b90506000610d064661136f565b6040517fa4ae35e0000000000000000000000000000000000000000000000000000000008152600481018490526024810186905290915060009073ffffffffffffffffffffffffffffffffffffffff83169063a4ae35e090604401608060405180830381865afa158015610d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da2919061199d565b9050610dbe816000015160070b826040015160030b60126113eb565b9695505050505050565b610e5d604051806102600160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016060815260200160608152602001606081526020016000815260200160608152602001606081525090565b600060405180610260016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016004815260200160008152602001600081526020016000815260200160008152602001848152602001858152602001600467ffffffffffffffff811115610eec57610eec611668565b604051908082528060200260200182016040528015610f15578160200160208202803683370190505b5081526000602080830182905260408084018b905260609384018a90528051601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016828152808301825283517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001681178452855290840182905283018190529082018190526080820181905260a08201819052610120820181905261014082018190526102008201529050610b99565b60008082600052836020536021600020905060018160001a1b91509250929050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361101b5750610100919050565b507f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f5555555555555555555555555555555555555555555555555555555555555555600183901c16909103600281901c7f3333333333333333333333333333333333333333333333333333333333333333908116911601600481901c01167f01010101010101010101010101010101010101010101010101010101010101010260f81c90565b6000817f6dba8e8a968b86d1aaacd1b8b0b0b8d0aaacbc00000000000000000000000000810161111457507fe65ff435be42630439c96396653a342829e877e2aafaeaf1a10d0ee5fd2cf3f292915050565b7f924571756974792e55532e414d5a4e2f55534400000000000000000000000000810361116357507fb5d0e0fa58a1f8b81498ae670ce93c872d14434b72c364885d4fa1b257cbb07a92915050565b7f924571756974792e55532e4141504c2f5553440000000000000000000000000081036111b257507f49f6b65cb1de6b10eaf75e7c03ca029c306d0357e91b5311b175084a5ad5568892915050565b7f924571756974792e55532e4d5346542f55534400000000000000000000000000810361120157507fd0ca23c1cc005e004ccf1db5bf76aeb6a49218f43dac3d4b275e92de12ded4d192915050565b7f924571756974792e55532e54534c412f55534400000000000000000000000000810361125057507f16dad506d7db8da01c87581c87ca897a012a153557d4d578c3b9c9e1bc0632f192915050565b7f924571756974792e55532e4e5644412f55534400000000000000000000000000810361129f57507fb1073854ed24cbc755dc527418f52b7d271f6cc967bbf8d8129112b18860a59392915050565b7f924571756974792e55532e4d4554412f5553440000000000000000000000000081036112ee57507f78a3e3b8e676a8f73c439f5d749737034b139bbbe899ba5775216fba596607fe92915050565b7f914571756974792e55532e474d452f5553440000000000000000000000000000810361133d57507f6f9cd89ef1b7fd39f667101a91ad578b6c6ace4579d5f7f285a4b06aa4504be692915050565b6040517ff949964400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061a4b18203611395575073ff1a0f4744e8582df1ae09d5611b887b6a12925c919050565b61210582036113b95750738250f4af4b972684f7b336503e2d6dfedeb1487a919050565b6040517fc08c729700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060006113fb868686611449565b9150915080611440576040517f05e476780000000000000000000000000000000000000000000000000000000081526004810187905260248101869052604401610a9f565b50949350505050565b6000806000851215611491576040517f4a7d166b0000000000000000000000000000000000000000000000000000000081526004810186905260248101859052604401610a9f565b846000036114a55750600090506001610874565b8460ff84168501858112156114f0576040517fd556b1110000000000000000000000000000000000000000000000000000000081526004810188905260248101879052604401610a9f565b600080600083121561155e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb3831215611534576000809550955050505050610874565b82600003600a0a915081848161154c5761154c61192c565b04955050840290911491506108749050565b600083131561158e5761157283600a611b4c565b915061157e8285611b58565b9550600194506108749350505050565b8360019550955050505050610874565b6115a6611b6f565b565b6000602082840312156115ba57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146115ea57600080fd5b9392505050565b6000815180845260005b81811015611617576020818501810151868301820152016115fb565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006115ea60208301846115f1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156116de576116de611668565b604052919050565b600080604083850312156116f957600080fd5b8235915060208084013567ffffffffffffffff8082111561171957600080fd5b818601915086601f83011261172d57600080fd5b81358181111561173f5761173f611668565b8060051b9150611750848301611697565b818152918301840191848101908984111561176a57600080fd5b938501935b838510156117885784358252938501939085019061176f565b8096505050505050509250929050565b60008151808452602080850194506020840160005b838110156117c9578151875295820195908201906001016117ad565b509495945050505050565b6020815260006115ea6020830184611798565b6000806000606084860312156117fc57600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561182657600080fd5b8235915060208084013567ffffffffffffffff8082111561184657600080fd5b818601915086601f83011261185a57600080fd5b81358181111561186c5761186c611668565b61189c847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611697565b915080825287848285010111156118b257600080fd5b80848401858401376000848284010152508093505050509250929050565b83151581526060602082015260006118eb60608301856115f1565b8281036040840152610dbe8185611798565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156102045761020461195b565b6000608082840312156119af57600080fd5b6040516080810167ffffffffffffffff82821081831117156119d3576119d3611668565b81604052845191508160070b82146119ea57600080fd5b9082526020840151908082168214611a0157600080fd5b5060208201526040830151600381900b8114611a1c57600080fd5b60408201526060928301519281019290925250919050565b600181815b808511156104c957817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115611a7357611a7361195b565b80851615611a8057918102915b93841c9390800290611a39565b600082611a9c57506001610204565b81611aa957506000610204565b8160018114611abf5760028114611ac957611ae5565b6001915050610204565b60ff841115611ada57611ada61195b565b50506001821b610204565b5060208310610133831016604e8410600b8410161715611b08575081810a610204565b611b128383611a34565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115611b4457611b4461195b565b029392505050565b60006115ea8383611a8d565b80820281158282048414176102045761020461195b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052605160045260246000fdfe0100000000000000000000000000000000000000000000004000000000000000000000b29071