@lambdapay/onchain
Version: 
LambdaPay (🪜,💰) onchain smart contracts
1 lines • 41 kB
JSON
{"abi":[{"type":"constructor","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"decimals","type":"uint8","internalType":"uint8"},{"name":"feePercentage","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFeePercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60806040523461037b57610bc1803803806100198161037f565b92833981019060808183031261037b5780516001600160401b03811161037b57826100459183016103a4565b602082015190926001600160401b03821161037b576100659183016103a4565b9060408101519060ff821680920361037b576060015183519091906001600160401b03811161028c57600354600181811c91168015610371575b602082101461026e57601f811161030e575b50602094601f82116001146102ab579481929394955f926102a0575b50508160011b915f199060031b1c1916176003555b82516001600160401b03811161028c57600454600181811c91168015610282575b602082101461026e57601f811161020b575b506020601f82116001146101a857819293945f9261019d575b50508160011b915f199060031b1c1916176004555b60ff1960055416176005556127108111610169576006556040516107cb90816103f68239f35b60405162461bcd60e51b815260206004820152600c60248201526b08ccaca40e8dede40d0d2ced60a31b6044820152606490fd5b015190505f8061012e565b601f1982169060045f52805f20915f5b8181106101f3575095836001959697106101db575b505050811b01600455610143565b01515f1960f88460031b161c191690555f80806101cd565b9192602060018192868b0151815501940192016101b8565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c81019160208410610264575b601f0160051c01905b8181106102595750610115565b5f815560010161024c565b9091508190610243565b634e487b7160e01b5f52602260045260245ffd5b90607f1690610103565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100cd565b601f1982169560035f52805f20915f5b8881106102f6575083600195969798106102de575b505050811b016003556100e2565b01515f1960f88460031b161c191690555f80806102d0565b919260206001819286850151815501940192016102bb565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c81019160208410610367575b601f0160051c01905b81811061035c57506100b1565b5f815560010161034f565b9091508190610346565b90607f169061009f565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761028c57604052565b81601f8201121561037b578051906001600160401b03821161028c576103d3601f8301601f191660200161037f565b928284526020838301011161037b57815f9260208093018386015e830101529056fe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461052857508063095ea7b3146104a657806318160ddd1461048957806323b872dd1461038e578063313ce5671461036e57806340c10f19146102df57806370a08231146102a857806395d89b411461018d5780639d11aaaa146101705780639dc29fac14610149578063a9059cbb146100f45763dd62ed3e146100a0575f80fd5b346100f05760403660031901126100f0576100b9610621565b6100c1610637565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b5f80fd5b346100f05760403660031901126100f05761013e610110610621565b602435906101386101316127106101296006548661064d565b048094610660565b923361066d565b336106f1565b602060405160018152f35b346100f05760403660031901126100f05761016e610165610621565b6024359061066d565b005b346100f0575f3660031901126100f0576020600654604051908152f35b346100f0575f3660031901126100f0576040515f6004548060011c9060018116801561029e575b60208310811461028a5782855290811561026e5750600114610218575b50819003601f01601f19168101906001600160401b0382118183101761020457610200829182604052826105f7565b0390f35b634e487b7160e01b5f52604160045260245ffd5b60045f9081529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828210610258575060209150820101826101d1565b6001816020925483858801015201910190610243565b90506020925060ff191682840152151560051b820101826101d1565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101b4565b346100f05760203660031901126100f0576001600160a01b036102c9610621565b165f525f602052602060405f2054604051908152f35b346100f05760403660031901126100f0576102f8610621565b6001600160a01b0316602435811561035b57600254908082018092116103475760205f5160206107765f395f51905f52915f9360025584845283825260408420818154019055604051908152a3005b634e487b7160e01b5f52601160045260245ffd5b63ec442f0560e01b5f525f60045260245ffd5b346100f0575f3660031901126100f057602060ff60055416604051908152f35b346100f05760603660031901126100f0576103a7610621565b6103af610637565b604435906103cf6103c86127106101296006548661064d565b928461066d565b6001600160a01b0383165f8181526001602090815260408083203384529091529020549093905f198110610409575b5061013e93506106f1565b83811061046e57841561045b5733156104485761013e945f52600160205260405f2060018060a01b0333165f526020528360405f2091039055846103fe565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8390637dc7a0d960e11b5f523360045260245260445260645ffd5b346100f0575f3660031901126100f0576020600254604051908152f35b346100f05760403660031901126100f0576104bf610621565b60243590331561045b576001600160a01b031690811561044857335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b346100f0575f3660031901126100f0575f6003548060011c906001811680156105ed575b60208310811461028a5782855290811561026e57506001146105975750819003601f01601f19168101906001600160401b0382118183101761020457610200829182604052826105f7565b60035f9081529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8282106105d7575060209150820101826101d1565b60018160209254838588010152019101906105c2565b91607f169161054c565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b03821682036100f057565b602435906001600160a01b03821682036100f057565b8181029291811591840414171561034757565b9190820391821161034757565b9091906001600160a01b031680156106de57805f525f60205260405f20548381106106c4576020845f94955f5160206107765f395f51905f52938587528684520360408620558060025403600255604051908152a3565b915063391434e360e21b5f5260045260245260445260645ffd5b634b637e8f60e11b5f525f60045260245ffd5b6001600160a01b03169081156106de576001600160a01b031691821561035b57815f525f60205260405f205481811061075c57815f5160206107765f395f51905f5292602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122009694ea1b85a19f145157a4a810e2931b9b599e12de85a1bbb15f50fdbdb7ef564736f6c634300081c0033","sourceMap":"263:1266:83:-:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;263:1266:83;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;263:1266:83;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;263:1266:83;;;;1648:13:43;263:1266:83;;;;;;;;;;;-1:-1:-1;263:1266:83;;;;;;;;;;;-1:-1:-1;263:1266:83;;;;;;;;;;;;;;;;-1:-1:-1;263:1266:83;;;;;;;;;;;;;1648:13:43;263:1266:83;;;;;1648:13:43;263:1266:83;;;;-1:-1:-1;;;;;263:1266:83;;;;1671:17:43;263:1266:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;263:1266:83;;;;;;;;;;;;;1648:13:43;263:1266:83;;;;;1671:17:43;263:1266:83;;;;360:21:81;263:1266:83;;;360:21:81;263:1266:83;571:5;554:22;;263:1266;;615:37;263:1266;;;;;;;;;;;;;-1:-1:-1;;;263:1266:83;;;1671:17:43;263:1266:83;;;;;;;;-1:-1:-1;;;263:1266:83;;;;;;;;;;;-1:-1:-1;263:1266:83;;;;;;;;;;1671:17:43;-1:-1:-1;263:1266:83;;-1:-1:-1;263:1266:83;;-1:-1:-1;263:1266:83;;;;;;;;;;;;;;;;;;;;;;;1671:17:43;263:1266:83;;;;;;;;;;1648:13:43;263:1266:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1671:17:43;-1:-1:-1;263:1266:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;263:1266:83;;;;;;;;;-1:-1:-1;263:1266:83;;;;;;;;-1:-1:-1;263:1266:83;;1671:17:43;263:1266:83;;-1:-1:-1;263:1266:83;;;;;;;;;;;;-1:-1:-1;263:1266:83;;1671:17:43;263:1266:83;;-1:-1:-1;263:1266:83;;;;;-1:-1:-1;263:1266:83;;;;;;;;;;1648:13:43;-1:-1:-1;263:1266:83;;-1:-1:-1;263:1266:83;;-1:-1:-1;263:1266:83;;;;;;;;;;;;;;;;;;;;;;;1648:13:43;263:1266:83;;;;;;;;;;1648:13:43;263:1266:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1648:13:43;-1:-1:-1;263:1266:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;263:1266:83;;;;;;;;;-1:-1:-1;263:1266:83;;;;;;;;;;;;-1:-1:-1;263:1266:83;;;;;;;;;-1:-1:-1;;263:1266:83;;;-1:-1:-1;;;;;263:1266:83;;;;;;;;;;:::o;:::-;;;;;;;;;;;;-1:-1:-1;;;;;263:1266:83;;;;;;;;-1:-1:-1;;263:1266:83;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;263:1266:83;;;;;;;;;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461052857508063095ea7b3146104a657806318160ddd1461048957806323b872dd1461038e578063313ce5671461036e57806340c10f19146102df57806370a08231146102a857806395d89b411461018d5780639d11aaaa146101705780639dc29fac14610149578063a9059cbb146100f45763dd62ed3e146100a0575f80fd5b346100f05760403660031901126100f0576100b9610621565b6100c1610637565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b5f80fd5b346100f05760403660031901126100f05761013e610110610621565b602435906101386101316127106101296006548661064d565b048094610660565b923361066d565b336106f1565b602060405160018152f35b346100f05760403660031901126100f05761016e610165610621565b6024359061066d565b005b346100f0575f3660031901126100f0576020600654604051908152f35b346100f0575f3660031901126100f0576040515f6004548060011c9060018116801561029e575b60208310811461028a5782855290811561026e5750600114610218575b50819003601f01601f19168101906001600160401b0382118183101761020457610200829182604052826105f7565b0390f35b634e487b7160e01b5f52604160045260245ffd5b60045f9081529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828210610258575060209150820101826101d1565b6001816020925483858801015201910190610243565b90506020925060ff191682840152151560051b820101826101d1565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101b4565b346100f05760203660031901126100f0576001600160a01b036102c9610621565b165f525f602052602060405f2054604051908152f35b346100f05760403660031901126100f0576102f8610621565b6001600160a01b0316602435811561035b57600254908082018092116103475760205f5160206107765f395f51905f52915f9360025584845283825260408420818154019055604051908152a3005b634e487b7160e01b5f52601160045260245ffd5b63ec442f0560e01b5f525f60045260245ffd5b346100f0575f3660031901126100f057602060ff60055416604051908152f35b346100f05760603660031901126100f0576103a7610621565b6103af610637565b604435906103cf6103c86127106101296006548661064d565b928461066d565b6001600160a01b0383165f8181526001602090815260408083203384529091529020549093905f198110610409575b5061013e93506106f1565b83811061046e57841561045b5733156104485761013e945f52600160205260405f2060018060a01b0333165f526020528360405f2091039055846103fe565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8390637dc7a0d960e11b5f523360045260245260445260645ffd5b346100f0575f3660031901126100f0576020600254604051908152f35b346100f05760403660031901126100f0576104bf610621565b60243590331561045b576001600160a01b031690811561044857335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b346100f0575f3660031901126100f0575f6003548060011c906001811680156105ed575b60208310811461028a5782855290811561026e57506001146105975750819003601f01601f19168101906001600160401b0382118183101761020457610200829182604052826105f7565b60035f9081529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8282106105d7575060209150820101826101d1565b60018160209254838588010152019101906105c2565b91607f169161054c565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b03821682036100f057565b602435906001600160a01b03821682036100f057565b8181029291811591840414171561034757565b9190820391821161034757565b9091906001600160a01b031680156106de57805f525f60205260405f20548381106106c4576020845f94955f5160206107765f395f51905f52938587528684520360408620558060025403600255604051908152a3565b915063391434e360e21b5f5260045260245260445260645ffd5b634b637e8f60e11b5f525f60045260245ffd5b6001600160a01b03169081156106de576001600160a01b031691821561035b57815f525f60205260405f205481811061075c57815f5160206107765f395f51905f5292602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122009694ea1b85a19f145157a4a810e2931b9b599e12de85a1bbb15f50fdbdb7ef564736f6c634300081c0033","sourceMap":"263:1266:83:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;263:1266:83;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;263:1266:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;263:1266:83;;;;3440:5:43;263:1266:83;;:::i;:::-;;;;990:3;899:12;861:5;827:30;836:21;263:1266;827:30;;:::i;:::-;263:1266;899:12;;;:::i;:::-;978:10;;990:3;:::i;:::-;978:10;3440:5:43;:::i;:::-;263:1266:83;;;;;;;;;;;;;-1:-1:-1;;263:1266:83;;;;1078:6:81;263:1266:83;;:::i;:::-;;;1078:6:81;;:::i;:::-;263:1266:83;;;;;;;-1:-1:-1;;263:1266:83;;;;;314:36;263:1266;;;;;;;;;;;;;-1:-1:-1;;263:1266:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;263:1266:83;;;;;-1:-1:-1;;263:1266:83;;;;-1:-1:-1;;;;;263:1266:83;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;263:1266:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;263:1266:83;;;;-1:-1:-1;;;;;263:1266:83;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;263:1266:83;;;;;;:::i;:::-;-1:-1:-1;;;;;263:1266:83;;;7509:21:43;;7505:91;;6214:21;263:1266:83;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;263:1266:83;;;6214:21:43;263:1266:83;;;;;;;;;;;;;;;;;;;;;7064:25:43;263:1266:83;;;;;;;;;;;;;7505:91:43;7553:32;;;263:1266:83;7553:32:43;263:1266:83;;;;;7553:32:43;263:1266:83;;;;;;-1:-1:-1;;263:1266:83;;;;;;546:9:81;263:1266:83;;;;;;;;;;;;;;-1:-1:-1;;263:1266:83;;;;;;:::i;:::-;;;:::i;:::-;;;;1427:3;1342:12;1304:5;1270:30;1279:21;263:1266;1270:30;;:::i;1342:12::-;1427:3;;;:::i;:::-;-1:-1:-1;;;;;263:1266:83;;;;;;;;;;;;;;;735:10:50;263:1266:83;;;;;;;;;;;-1:-1:-1;;10561:36:43;;10557:309;;263:1266:83;4967:5:43;;;;;:::i;10557:309::-;10617:24;;;10613:130;;9794:19;;9790:89;;735:10:50;9892:21:43;9888:90;;4967:5;263:1266:83;;;;;;;;;;;;;;735:10:50;263:1266:83;-1:-1:-1;263:1266:83;;;;;-1:-1:-1;263:1266:83;;;;;10557:309:43;;;9888:90;9936:31;;;263:1266:83;9936:31:43;263:1266:83;;;;;9936:31:43;9790:89;9836:32;;;263:1266:83;9836:32:43;263:1266:83;;;;;9836:32:43;10613:130;10668:60;;;;;263:1266:83;10668:60:43;735:10:50;263:1266:83;;;;;;;;10668:60:43;263:1266:83;;;;;;-1:-1:-1;;263:1266:83;;;;;2908:12:43;263:1266:83;;;;;;;;;;;;;-1:-1:-1;;263:1266:83;;;;;;:::i;:::-;;;735:10:50;;9794:19:43;9790:89;;-1:-1:-1;;;;;263:1266:83;;9892:21:43;;9888:90;;735:10:50;263:1266:83;;;;;;;;;-1:-1:-1;263:1266:83;;;;;-1:-1:-1;263:1266:83;;;;;;;10066:31:43;263:1266:83;735:10:50;10066:31:43;;263:1266:83;;;;;;;;;;;;;-1:-1:-1;;263:1266:83;;;;;1837:5:43;263:1266:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;263:1266:83;;;;;-1:-1:-1;;263:1266:83;;;;-1:-1:-1;;;;;263:1266:83;;;;;;;;;;;;;;;;:::i;:::-;1837:5:43;263:1266:83;;;;;;-1:-1:-1;263:1266:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;263:1266:83;;;;:::o;:::-;;;;-1:-1:-1;;;;;263:1266:83;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;263:1266:83;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;7965:206:43:-;;;;-1:-1:-1;;;;;263:1266:83;8035:21:43;;8031:89;;263:1266:83;8054:1:43;263:1266:83;8054:1:43;263:1266:83;;;8054:1:43;263:1266:83;;6321:19:43;;;6317:115;;263:1266:83;;8054:1:43;263:1266:83;;-1:-1:-1;;;;;;;;;;;263:1266:83;;;;;;;;;;;;;6791:21:43;263:1266:83;;6791:21:43;263:1266:83;;;;;;7064:25:43;7965:206::o;6317:115::-;6367:50;;;;;8054:1;6367:50;;263:1266:83;;;;;;8054:1:43;6367:50;8031:89;8079:30;;;8054:1;8079:30;8054:1;8079:30;263:1266:83;;8054:1:43;8079:30;5374:300;-1:-1:-1;;;;;263:1266:83;;5457:18:43;;5453:86;;-1:-1:-1;;;;;263:1266:83;;5552:16:43;;5548:86;;263:1266:83;5473:1:43;263:1266:83;5473:1:43;263:1266:83;;;5473:1:43;263:1266:83;;6321:19:43;;;6317:115;;263:1266:83;-1:-1:-1;;;;;;;;;;;263:1266:83;;;;5473:1:43;263:1266:83;5473:1:43;263:1266:83;;;;5473:1:43;263:1266:83;;;5473:1:43;263:1266:83;5473:1:43;263:1266:83;;;5473:1:43;263:1266:83;;;;;;;;;;;;7064:25:43;5374:300::o;6317:115::-;6367:50;;;;5473:1;6367:50;;263:1266:83;;;;;;5473:1:43;6367:50","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(address,uint256)":"9dc29fac","decimals()":"313ce567","mint(address,uint256)":"40c10f19","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFeePercentage()":"9d11aaaa","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"feePercentage\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"transferFeePercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Mock ERC20 token that takes a fee on each transfer, to test LambdaPay's protection against non-standard tokens.\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"burn(address,uint256)\":{\"details\":\"Burns tokens from the specified address\",\"params\":{\"amount\":\"The amount of tokens to burn\",\"from\":\"The address to burn tokens from\"}},\"decimals()\":{\"details\":\"Returns the number of decimals used for the token\"},\"mint(address,uint256)\":{\"details\":\"Mints tokens to the specified address\",\"params\":{\"amount\":\"The amount of tokens to mint\",\"to\":\"The address to mint tokens to\"}},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"Override transfer to take a fee\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Override transferFrom to take a fee\"}},\"title\":\"MockFeeOnTransferToken\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/mocks/MockFeeOnTransferToken.sol\":\"MockFeeOnTransferToken\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[\":@lambdapay/onchain/contracts/=contracts/\",\":@openzeppelin/=lib/openzeppelin-contracts/\",\":@uniswap/universal-router/=lib/universal-router/\",\":ds-test/=lib/universal-router/solmate/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/universal-router/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":permit2/=lib/universal-router/lib/permit2/\",\":solmate/=lib/universal-router/lib/solmate/\",\":universal-router/=lib/universal-router/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x41f6b3b9e030561e7896dbef372b499cc8d418a80c3884a4d65a68f2fdc7493a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://80b0992a11b2fd1f75ced2971696d07bbd1d19ce6761dd50d8b6d48aa435f42a\",\"dweb:/ipfs/QmZDe5xd2gXHjVEjv9t8C1KQ68K5T8qFwdinwQgmP3rF3x\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"test/mocks/MockERC20.sol\":{\"keccak256\":\"0x7c92528f1764527c12edf31033cdc25befb5b2a7823834fae0ca4276d55d4ece\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84e82244047bb009197977cec6b3d790f4475680f24db9181b1c6c2d084daa20\",\"dweb:/ipfs/QmUNM8jjJPsfwoTqFnWwmChZvsHKMzHJw3fiaRk4Pyosqx\"]},\"test/mocks/MockFeeOnTransferToken.sol\":{\"keccak256\":\"0x0e5ab1fd9ea062e117d231309f73a268ec4eade2a9b1111eeb1a532763d20ca2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://62ffc369b52c08e447453859c8f66267f7d15c1a84eee3b6daf1409726386dc1\",\"dweb:/ipfs/Qmdkz9scSiL9r4FHPKsCF1CzHdeK1auzAjTqKXRzba7zfc\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint8","name":"decimals","type":"uint8"},{"internalType":"uint256","name":"feePercentage","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientAllowance"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientBalance"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"type":"error","name":"ERC20InvalidApprover"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"type":"error","name":"ERC20InvalidReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"ERC20InvalidSender"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"type":"error","name":"ERC20InvalidSpender"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"transferFeePercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"burn(address,uint256)":{"details":"Burns tokens from the specified address","params":{"amount":"The amount of tokens to burn","from":"The address to burn tokens from"}},"decimals()":{"details":"Returns the number of decimals used for the token"},"mint(address,uint256)":{"details":"Mints tokens to the specified address","params":{"amount":"The amount of tokens to mint","to":"The address to mint tokens to"}},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"Override transfer to take a fee"},"transferFrom(address,address,uint256)":{"details":"Override transferFrom to take a fee"}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lambdapay/onchain/contracts/=contracts/","@openzeppelin/=lib/openzeppelin-contracts/","@uniswap/universal-router/=lib/universal-router/","ds-test/=lib/universal-router/solmate/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/universal-router/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","permit2/=lib/universal-router/lib/permit2/","solmate/=lib/universal-router/lib/solmate/","universal-router/=lib/universal-router/"],"optimizer":{"enabled":true,"runs":1},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"test/mocks/MockFeeOnTransferToken.sol":"MockFeeOnTransferToken"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b","urls":["bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b","dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0x41f6b3b9e030561e7896dbef372b499cc8d418a80c3884a4d65a68f2fdc7493a","urls":["bzz-raw://80b0992a11b2fd1f75ced2971696d07bbd1d19ce6761dd50d8b6d48aa435f42a","dweb:/ipfs/QmZDe5xd2gXHjVEjv9t8C1KQ68K5T8qFwdinwQgmP3rF3x"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330","urls":["bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf","dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"test/mocks/MockERC20.sol":{"keccak256":"0x7c92528f1764527c12edf31033cdc25befb5b2a7823834fae0ca4276d55d4ece","urls":["bzz-raw://84e82244047bb009197977cec6b3d790f4475680f24db9181b1c6c2d084daa20","dweb:/ipfs/QmUNM8jjJPsfwoTqFnWwmChZvsHKMzHJw3fiaRk4Pyosqx"],"license":"MIT"},"test/mocks/MockFeeOnTransferToken.sol":{"keccak256":"0x0e5ab1fd9ea062e117d231309f73a268ec4eade2a9b1111eeb1a532763d20ca2","urls":["bzz-raw://62ffc369b52c08e447453859c8f66267f7d15c1a84eee3b6daf1409726386dc1","dweb:/ipfs/Qmdkz9scSiL9r4FHPKsCF1CzHdeK1auzAjTqKXRzba7zfc"],"license":"MIT"}},"version":1},"id":83}