@settlemint/solidity-diamond-bond
Version:
Smart contract set to build an enterprise bond usecase in SettleMint
522 lines (521 loc) • 27.3 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "GenericToken",
"sourceName": "contracts/GenericToken.sol",
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "name_",
"type": "string"
},
{
"internalType": "string",
"name": "symbol_",
"type": "string"
}
],
"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"
},
{
"inputs": [],
"name": "EnforcedPause",
"type": "error"
},
{
"inputs": [],
"name": "ExpectedPause",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "OwnableInvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "OwnableUnauthorizedAccount",
"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": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Paused",
"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"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Unpaused",
"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": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "burn",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "burnFrom",
"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": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "paused",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"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": "value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "unpause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x608060405234610439576112c5803803806100198161043e565b9283398101906040818303126104395780516001600160401b0381116104395782610045918301610463565b60208201519092906001600160401b038111610439576100659201610463565b81516001600160401b03811161034457600354600181811c9116801561042f575b602082101461032457601f81116103ca575b50602092601f8211600114610365579281929360009261035a575b50508160011b916000199060031b1c1916176003555b80516001600160401b03811161034457600454600181811c9116801561033a575b602082101461032457601f81116102bf575b50602091601f821160011461025b57918192600092610250575b50508160011b916000199060031b1c1916176004555b331561023a5760058054610100600160a81b0319811633600881811b610100600160a81b03169290921790935590919082901c6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a360ff6000911661022b5760025469d3c21bcecceda100000081018091116102175760025550336000526000602052604060002069d3c21bcecceda1000000815401905560405169d3c21bcecceda1000000815260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a3604051610df690816104cf8239f35b634e487b7160e01b82526011600452602482fd5b63d93c066560e01b8152600490fd5b631e4fbdf760e01b600052600060045260246000fd5b015190503880610116565b601f198216926004600052806000209160005b8581106102a75750836001951061028e575b505050811b0160045561012c565b015160001960f88460031b161c19169055388080610280565b9192602060018192868501518155019401920161026e565b60046000527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c8101916020841061031a575b601f0160051c01905b81811061030e57506100fc565b60008155600101610301565b90915081906102f8565b634e487b7160e01b600052602260045260246000fd5b90607f16906100ea565b634e487b7160e01b600052604160045260246000fd5b0151905038806100b3565b601f198216936003600052806000209160005b8681106103b25750836001959610610399575b505050811b016003556100c9565b015160001960f88460031b161c1916905538808061038b565b91926020600181928685015181550194019201610378565b60036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c81019160208410610425575b601f0160051c01905b8181106104195750610098565b6000815560010161040c565b9091508190610403565b90607f1690610086565b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761034457604052565b81601f82011215610439578051906001600160401b03821161034457610492601f8301601f191660200161043e565b92828452602083830101116104395760005b8281106104b957505060206000918301015290565b806020809284010151828287010152016104a456fe608080604052600436101561001357600080fd5b60003560e01c90816306fdde03146108ed57508063095ea7b3146107fc57806318160ddd146107de57806323b872dd146107a6578063313ce5671461078a5780633f4ba83a146106ea57806340c10f19146105ef57806342966c68146105d25780635c975abb146105af57806370a0823114610568578063715018a6146104e557806379cc6790146104b35780638456cb591461043b5780638da5cb5b1461040457806395d89b4114610281578063a9059cbb14610250578063dd62ed3e146101de5763f2fde38b146100e557600080fd5b346101d95760206003193601126101d9576100fe610a14565b610106610c89565b73ffffffffffffffffffffffffffffffffffffffff81169081156101aa5773ffffffffffffffffffffffffffffffffffffffff9074ffffffffffffffffffffffffffffffffffffffff006005549160081b167fffffffffffffffffffffff0000000000000000000000000000000000000000ff82161760055560081c167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b7f1e4fbdf700000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b600080fd5b346101d95760406003193601126101d9576101f7610a14565b73ffffffffffffffffffffffffffffffffffffffff610214610a37565b9116600052600160205273ffffffffffffffffffffffffffffffffffffffff604060002091166000526020526020604060002054604051908152f35b346101d95760406003193601126101d95761027661026c610a14565b6024359033610b86565b602060405160018152f35b346101d95760006003193601126101d957604051600090600454918260011c600184169384156103fa575b6020821085146103cd578394828552908160001461038b575060011461032e575b5003601f01601f191681019067ffffffffffffffff8211818310176102ff576102fb829182604052826109ca565b0390f35b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6004600090815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b81831061036f5750508101602001601f196102cd565b6020919350806001915483858801015201910190918392610359565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b84019091019150601f1990506102cd565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526022600452fd5b90607f16906102ac565b346101d95760006003193601126101d957602073ffffffffffffffffffffffffffffffffffffffff60055460081c16604051908152f35b346101d95760006003193601126101d957610454610c89565b61045c610cdb565b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0060055416176005557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b346101d95760406003193601126101d9576104e36104cf610a14565b602435906104de823383610a5a565b610d11565b005b346101d95760006003193601126101d9576104fe610c89565b600073ffffffffffffffffffffffffffffffffffffffff6005547fffffffffffffffffffffff0000000000000000000000000000000000000000ff811660055560081c167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346101d95760206003193601126101d95773ffffffffffffffffffffffffffffffffffffffff610596610a14565b1660005260006020526020604060002054604051908152f35b346101d95760006003193601126101d957602060ff600554166040519015158152f35b346101d95760206003193601126101d9576104e360043533610d11565b346101d95760406003193601126101d957610608610a14565b73ffffffffffffffffffffffffffffffffffffffff60243591610629610cdb565b1680156106bb57610638610cdb565b6002549180830180931161068c576020926002557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600093849284845283825260408420818154019055604051908152a380f35b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7fec442f0500000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b346101d95760006003193601126101d957610703610c89565b60055460ff811615610760577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166005557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b7f8dfc202b0000000000000000000000000000000000000000000000000000000060005260046000fd5b346101d95760006003193601126101d957602060405160128152f35b346101d95760606003193601126101d9576102766107c2610a14565b6107ca610a37565b604435916107d9833383610a5a565b610b86565b346101d95760006003193601126101d9576020600254604051908152f35b346101d95760406003193601126101d957610815610a14565b6024359033156108be5773ffffffffffffffffffffffffffffffffffffffff1690811561088f57336000526001602052604060002082600052602052806040600020556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b7f94280d6200000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b7fe602df0500000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b346101d95760006003193601126101d957600090600354918260011c600184169384156109c0575b6020821085146103cd578394828552908160001461038b5750600114610963575003601f01601f191681019067ffffffffffffffff8211818310176102ff576102fb829182604052826109ca565b6003600090815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8183106109a45750508101602001601f196102cd565b602091935080600191548385880101520191019091839261098e565b90607f1690610915565b9190916020815282519283602083015260005b8481106109fe575050601f19601f8460006040809697860101520116010190565b80602080928401015160408286010152016109dd565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036101d957565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036101d957565b73ffffffffffffffffffffffffffffffffffffffff909291921691826000526001602052604060002073ffffffffffffffffffffffffffffffffffffffff8216600052602052604060002054927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8410610ad5575b50505050565b828410610b3a5780156108be5773ffffffffffffffffffffffffffffffffffffffff82161561088f57600052600160205273ffffffffffffffffffffffffffffffffffffffff6040600020911660005260205260406000209103905538808080610acf565b5073ffffffffffffffffffffffffffffffffffffffff83917ffb8f41b2000000000000000000000000000000000000000000000000000000006000521660045260245260445260646000fd5b73ffffffffffffffffffffffffffffffffffffffff16908115610c5a5773ffffffffffffffffffffffffffffffffffffffff169182156106bb57610bc8610cdb565b6000828152806020526040812054828110610c275791604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815280845220818154019055604051908152a3565b6064937fe450d38c0000000000000000000000000000000000000000000000000000000083949352600452602452604452fd5b7f96c6fd1e00000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff60055460081c163303610cad57565b7f118cdaa7000000000000000000000000000000000000000000000000000000006000523360045260246000fd5b60ff60055416610ce757565b7fd93c06650000000000000000000000000000000000000000000000000000000060005260046000fd5b73ffffffffffffffffffffffffffffffffffffffff168015610c5a57610d35610cdb565b600091818352826020526040832054818110610d8e57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef926020928587528684520360408620558060025403600255604051908152a3565b83927fe450d38c0000000000000000000000000000000000000000000000000000000060649552600452602452604452fdfea2646970667358221220380193a6ed82ce46847a8e57c393111db6ebba81ba53f3fad049ee8234ce4ebc64736f6c634300081b0033",
"deployedBytecode": "0x608080604052600436101561001357600080fd5b60003560e01c90816306fdde03146108ed57508063095ea7b3146107fc57806318160ddd146107de57806323b872dd146107a6578063313ce5671461078a5780633f4ba83a146106ea57806340c10f19146105ef57806342966c68146105d25780635c975abb146105af57806370a0823114610568578063715018a6146104e557806379cc6790146104b35780638456cb591461043b5780638da5cb5b1461040457806395d89b4114610281578063a9059cbb14610250578063dd62ed3e146101de5763f2fde38b146100e557600080fd5b346101d95760206003193601126101d9576100fe610a14565b610106610c89565b73ffffffffffffffffffffffffffffffffffffffff81169081156101aa5773ffffffffffffffffffffffffffffffffffffffff9074ffffffffffffffffffffffffffffffffffffffff006005549160081b167fffffffffffffffffffffff0000000000000000000000000000000000000000ff82161760055560081c167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b7f1e4fbdf700000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b600080fd5b346101d95760406003193601126101d9576101f7610a14565b73ffffffffffffffffffffffffffffffffffffffff610214610a37565b9116600052600160205273ffffffffffffffffffffffffffffffffffffffff604060002091166000526020526020604060002054604051908152f35b346101d95760406003193601126101d95761027661026c610a14565b6024359033610b86565b602060405160018152f35b346101d95760006003193601126101d957604051600090600454918260011c600184169384156103fa575b6020821085146103cd578394828552908160001461038b575060011461032e575b5003601f01601f191681019067ffffffffffffffff8211818310176102ff576102fb829182604052826109ca565b0390f35b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6004600090815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b81831061036f5750508101602001601f196102cd565b6020919350806001915483858801015201910190918392610359565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b84019091019150601f1990506102cd565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526022600452fd5b90607f16906102ac565b346101d95760006003193601126101d957602073ffffffffffffffffffffffffffffffffffffffff60055460081c16604051908152f35b346101d95760006003193601126101d957610454610c89565b61045c610cdb565b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0060055416176005557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b346101d95760406003193601126101d9576104e36104cf610a14565b602435906104de823383610a5a565b610d11565b005b346101d95760006003193601126101d9576104fe610c89565b600073ffffffffffffffffffffffffffffffffffffffff6005547fffffffffffffffffffffff0000000000000000000000000000000000000000ff811660055560081c167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346101d95760206003193601126101d95773ffffffffffffffffffffffffffffffffffffffff610596610a14565b1660005260006020526020604060002054604051908152f35b346101d95760006003193601126101d957602060ff600554166040519015158152f35b346101d95760206003193601126101d9576104e360043533610d11565b346101d95760406003193601126101d957610608610a14565b73ffffffffffffffffffffffffffffffffffffffff60243591610629610cdb565b1680156106bb57610638610cdb565b6002549180830180931161068c576020926002557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600093849284845283825260408420818154019055604051908152a380f35b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7fec442f0500000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b346101d95760006003193601126101d957610703610c89565b60055460ff811615610760577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166005557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b7f8dfc202b0000000000000000000000000000000000000000000000000000000060005260046000fd5b346101d95760006003193601126101d957602060405160128152f35b346101d95760606003193601126101d9576102766107c2610a14565b6107ca610a37565b604435916107d9833383610a5a565b610b86565b346101d95760006003193601126101d9576020600254604051908152f35b346101d95760406003193601126101d957610815610a14565b6024359033156108be5773ffffffffffffffffffffffffffffffffffffffff1690811561088f57336000526001602052604060002082600052602052806040600020556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b7f94280d6200000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b7fe602df0500000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b346101d95760006003193601126101d957600090600354918260011c600184169384156109c0575b6020821085146103cd578394828552908160001461038b5750600114610963575003601f01601f191681019067ffffffffffffffff8211818310176102ff576102fb829182604052826109ca565b6003600090815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8183106109a45750508101602001601f196102cd565b602091935080600191548385880101520191019091839261098e565b90607f1690610915565b9190916020815282519283602083015260005b8481106109fe575050601f19601f8460006040809697860101520116010190565b80602080928401015160408286010152016109dd565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036101d957565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036101d957565b73ffffffffffffffffffffffffffffffffffffffff909291921691826000526001602052604060002073ffffffffffffffffffffffffffffffffffffffff8216600052602052604060002054927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8410610ad5575b50505050565b828410610b3a5780156108be5773ffffffffffffffffffffffffffffffffffffffff82161561088f57600052600160205273ffffffffffffffffffffffffffffffffffffffff6040600020911660005260205260406000209103905538808080610acf565b5073ffffffffffffffffffffffffffffffffffffffff83917ffb8f41b2000000000000000000000000000000000000000000000000000000006000521660045260245260445260646000fd5b73ffffffffffffffffffffffffffffffffffffffff16908115610c5a5773ffffffffffffffffffffffffffffffffffffffff169182156106bb57610bc8610cdb565b6000828152806020526040812054828110610c275791604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815280845220818154019055604051908152a3565b6064937fe450d38c0000000000000000000000000000000000000000000000000000000083949352600452602452604452fd5b7f96c6fd1e00000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff60055460081c163303610cad57565b7f118cdaa7000000000000000000000000000000000000000000000000000000006000523360045260246000fd5b60ff60055416610ce757565b7fd93c06650000000000000000000000000000000000000000000000000000000060005260046000fd5b73ffffffffffffffffffffffffffffffffffffffff168015610c5a57610d35610cdb565b600091818352826020526040832054818110610d8e57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef926020928587528684520360408620558060025403600255604051908152a3565b83927fe450d38c0000000000000000000000000000000000000000000000000000000060649552600452602452604452fdfea2646970667358221220380193a6ed82ce46847a8e57c393111db6ebba81ba53f3fad049ee8234ce4ebc64736f6c634300081b0033",
"linkReferences": {},
"deployedLinkReferences": {}
}