UNPKG

@offchainlabs/stablecoin-evm

Version:

Circle's Stablecoin Smart Contracts on EVM-compatible blockchains

231 lines (230 loc) 19.6 kB
{ "_format": "hh-sol-artifact-1", "contractName": "MockFiatTokenFeeAdapterWithExposedFunctions", "sourceName": "contracts/test/celo/MockFiatTokenFeeAdapterWithExposedFunctions.sol", "abi": [ { "inputs": [], "name": "adaptedToken", "outputs": [ { "internalType": "contract ICeloGasToken", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "adapterDecimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "refundRecipient", "type": "address" }, { "internalType": "address", "name": "feeRecipient", "type": "address" }, { "internalType": "address", "name": "gatewayFeeRecipient", "type": "address" }, { "internalType": "address", "name": "communityFund", "type": "address" }, { "internalType": "uint256", "name": "refund", "type": "uint256" }, { "internalType": "uint256", "name": "tipTxFee", "type": "uint256" }, { "internalType": "uint256", "name": "gatewayFee", "type": "uint256" }, { "internalType": "uint256", "name": "baseTxFee", "type": "uint256" } ], "name": "creditGasFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "debitGasFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_adaptedToken", "type": "address" }, { "internalType": "uint8", "name": "_adapterDecimals", "type": "uint8" } ], "name": "initializeV1", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "internal_debitedValue", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "internal_downscale", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "internal_upscale", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newVmCallerAddress", "type": "address" } ], "name": "setVmCallerAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "tokenDecimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "upscaleFactor", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" } ], "bytecode": "0x6080604052600060025534801561001557600080fd5b50610e48806100256000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c8063647061cb116100815780637ab4222f1161005b5780637ab4222f1461025a578063989516db14610296578063b3a9a954146102c7576100d4565b8063647061cb146101b95780636a30b253146101c157806370a0823114610227576100d4565b8063566b89c7116100b2578063566b89c71461015b57806358cf96721461017857806360e7f8a0146101b1576100d4565b80632e7629cc146100d95780633b97e856146101085780634a61a82014610126575b600080fd5b6100f6600480360360208110156100ef57600080fd5b50356102cf565b60408051918252519081900360200190f35b6101106102e0565b6040805160ff9092168252519081900360200190f35b6101596004803603602081101561013c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610303565b005b6100f66004803603602081101561017157600080fd5b503561034a565b6101596004803603604081101561018e57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610355565b6100f66104c6565b6101106104cc565b61015960048036036101008110156101d857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135821691604082013581169160608101359091169060808101359060a08101359060c08101359060e001356104ee565b6100f66004803603602081101561023d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661075b565b6101596004803603604081101561027057600080fd5b50803573ffffffffffffffffffffffffffffffffffffffff16906020013560ff16610805565b61029e610ab8565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100f6610ad4565b60006102da82610ada565b92915050565b600054760100000000000000000000000000000000000000000000900460ff1681565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60006102da82610af1565b60035473ffffffffffffffffffffffffffffffffffffffff1633146103c5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180610d556027913960400191505060405180910390fd5b6002541561041e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180610cef6035913960400191505060405180910390fd5b600061042982610af1565b60008054604080517f58cf967200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88811660048301526024820186905291519495509116926358cf96729260448084019391929182900301818387803b1580156104a457600080fd5b505af11580156104b8573d6000803e3d6000fd5b505050600291909155505050565b60015481565b6000547501000000000000000000000000000000000000000000900460ff1681565b60035473ffffffffffffffffffffffffffffffffffffffff16331461055e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180610d556027913960400191505060405180910390fd5b60025461056a57610751565b600061057585610af1565b9050600061058285610af1565b9050600061058f84610af1565b905060006105a7826105a18686610b08565b90610b08565b9050600254811115610604576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526036815260200180610d7c6036913960400191505060405180910390fd5b6002546000906106149083610b83565b90508015610629576106268382610b08565b92505b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a30b2538e8e60008e8a8a60008b6040518963ffffffff1660e01b8152600401808973ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff16815260200185815260200184815260200183815260200182815260200198505050505050505050600060405180830381600087803b15801561072e57600080fd5b505af1158015610742573d6000803e3d6000fd5b50506000600255505050505050505b5050505050505050565b60008054604080517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015291516102da9392909216916370a0823191602480820192602092909190829003018186803b1580156107d457600080fd5b505afa1580156107e8573d6000803e3d6000fd5b505050506040513d60208110156107fe57600080fd5b5051610ada565b60005474010000000000000000000000000000000000000000900460ff161561082d57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561087357600080fd5b505afa158015610887573d6000803e3d6000fd5b505050506040513d602081101561089d57600080fd5b5051600080547fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff1676010000000000000000000000000000000000000000000060ff9384168102919091179182905583831691049091161061094a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180610dd36040913960400191505060405180910390fd5b600054604e76010000000000000000000000000000000000000000000090910460ff908116830316106109c8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180610d246031913960400191505060405180910390fd5b60008054760100000000000000000000000000000000000000000000810460ff90811684038116600a0a600155740100000000000000000000000000000000000000007fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff90921675010000000000000000000000000000000000000000009490911693909302929092177fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff93909316929092177fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16179055565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60025490565b60006102da60015483610bfa90919063ffffffff16565b60006102da60015483610c6d90919063ffffffff16565b600082820183811015610b7c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082821115610bf457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082610c09575060006102da565b82820282848281610c1657fe5b0414610b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610db26021913960400191505060405180910390fd5b6000808211610cdd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610ce657fe5b04939250505056fe46696174546f6b656e4665654164617074657256313a204d7573742066756c6c7920637265646974206265666f726520646562697446696174546f6b656e4665654164617074657256313a20446967697420646966666572656e636520746f6f206c6172676546696174546f6b656e4665654164617074657256313a2063616c6c6572206973206e6f7420564d46696174546f6b656e4665654164617074657256313a2043616e6e6f7420637265646974206d6f7265207468616e2064656269746564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7746696174546f6b656e4665654164617074657256313a20546f6b656e20646563696d616c73206d757374206265203c206164617074657220646563696d616c73a26469706673582212203523a9fb9d5627aff2039c4eb848771c52bcabee76014ccf23944f97e7b912a264736f6c634300060c0033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100d45760003560e01c8063647061cb116100815780637ab4222f1161005b5780637ab4222f1461025a578063989516db14610296578063b3a9a954146102c7576100d4565b8063647061cb146101b95780636a30b253146101c157806370a0823114610227576100d4565b8063566b89c7116100b2578063566b89c71461015b57806358cf96721461017857806360e7f8a0146101b1576100d4565b80632e7629cc146100d95780633b97e856146101085780634a61a82014610126575b600080fd5b6100f6600480360360208110156100ef57600080fd5b50356102cf565b60408051918252519081900360200190f35b6101106102e0565b6040805160ff9092168252519081900360200190f35b6101596004803603602081101561013c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610303565b005b6100f66004803603602081101561017157600080fd5b503561034a565b6101596004803603604081101561018e57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610355565b6100f66104c6565b6101106104cc565b61015960048036036101008110156101d857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135821691604082013581169160608101359091169060808101359060a08101359060c08101359060e001356104ee565b6100f66004803603602081101561023d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661075b565b6101596004803603604081101561027057600080fd5b50803573ffffffffffffffffffffffffffffffffffffffff16906020013560ff16610805565b61029e610ab8565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100f6610ad4565b60006102da82610ada565b92915050565b600054760100000000000000000000000000000000000000000000900460ff1681565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60006102da82610af1565b60035473ffffffffffffffffffffffffffffffffffffffff1633146103c5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180610d556027913960400191505060405180910390fd5b6002541561041e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180610cef6035913960400191505060405180910390fd5b600061042982610af1565b60008054604080517f58cf967200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88811660048301526024820186905291519495509116926358cf96729260448084019391929182900301818387803b1580156104a457600080fd5b505af11580156104b8573d6000803e3d6000fd5b505050600291909155505050565b60015481565b6000547501000000000000000000000000000000000000000000900460ff1681565b60035473ffffffffffffffffffffffffffffffffffffffff16331461055e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180610d556027913960400191505060405180910390fd5b60025461056a57610751565b600061057585610af1565b9050600061058285610af1565b9050600061058f84610af1565b905060006105a7826105a18686610b08565b90610b08565b9050600254811115610604576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526036815260200180610d7c6036913960400191505060405180910390fd5b6002546000906106149083610b83565b90508015610629576106268382610b08565b92505b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a30b2538e8e60008e8a8a60008b6040518963ffffffff1660e01b8152600401808973ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff16815260200185815260200184815260200183815260200182815260200198505050505050505050600060405180830381600087803b15801561072e57600080fd5b505af1158015610742573d6000803e3d6000fd5b50506000600255505050505050505b5050505050505050565b60008054604080517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015291516102da9392909216916370a0823191602480820192602092909190829003018186803b1580156107d457600080fd5b505afa1580156107e8573d6000803e3d6000fd5b505050506040513d60208110156107fe57600080fd5b5051610ada565b60005474010000000000000000000000000000000000000000900460ff161561082d57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561087357600080fd5b505afa158015610887573d6000803e3d6000fd5b505050506040513d602081101561089d57600080fd5b5051600080547fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff1676010000000000000000000000000000000000000000000060ff9384168102919091179182905583831691049091161061094a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180610dd36040913960400191505060405180910390fd5b600054604e76010000000000000000000000000000000000000000000090910460ff908116830316106109c8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180610d246031913960400191505060405180910390fd5b60008054760100000000000000000000000000000000000000000000810460ff90811684038116600a0a600155740100000000000000000000000000000000000000007fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff90921675010000000000000000000000000000000000000000009490911693909302929092177fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff93909316929092177fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16179055565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60025490565b60006102da60015483610bfa90919063ffffffff16565b60006102da60015483610c6d90919063ffffffff16565b600082820183811015610b7c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082821115610bf457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082610c09575060006102da565b82820282848281610c1657fe5b0414610b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610db26021913960400191505060405180910390fd5b6000808211610cdd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610ce657fe5b04939250505056fe46696174546f6b656e4665654164617074657256313a204d7573742066756c6c7920637265646974206265666f726520646562697446696174546f6b656e4665654164617074657256313a20446967697420646966666572656e636520746f6f206c6172676546696174546f6b656e4665654164617074657256313a2063616c6c6572206973206e6f7420564d46696174546f6b656e4665654164617074657256313a2043616e6e6f7420637265646974206d6f7265207468616e2064656269746564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7746696174546f6b656e4665654164617074657256313a20546f6b656e20646563696d616c73206d757374206265203c206164617074657220646563696d616c73a26469706673582212203523a9fb9d5627aff2039c4eb848771c52bcabee76014ccf23944f97e7b912a264736f6c634300060c0033", "linkReferences": {}, "deployedLinkReferences": {} }