{
  "contractName": "BusinessDayConventions",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "timestamp",
          "type": "uint256"
        },
        {
          "internalType": "enum BusinessDayConvention",
          "name": "convention",
          "type": "uint8"
        },
        {
          "internalType": "enum Calendar",
          "name": "calendar",
          "type": "uint8"
        },
        {
          "internalType": "uint256",
          "name": "maturityDate",
          "type": "uint256"
        }
      ],
      "name": "shiftCalcTime",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "timestamp",
          "type": "uint256"
        },
        {
          "internalType": "enum BusinessDayConvention",
          "name": "convention",
          "type": "uint8"
        },
        {
          "internalType": "enum Calendar",
          "name": "calendar",
          "type": "uint8"
        },
        {
          "internalType": "uint256",
          "name": "maturityDate",
          "type": "uint256"
        }
      ],
      "name": "shiftEventTime",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.6.11+commit.5ef660b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"enum BusinessDayConvention\",\"name\":\"convention\",\"type\":\"uint8\"},{\"internalType\":\"enum Calendar\",\"name\":\"calendar\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"maturityDate\",\"type\":\"uint256\"}],\"name\":\"shiftCalcTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"enum BusinessDayConvention\",\"name\":\"convention\",\"type\":\"uint8\"},{\"internalType\":\"enum Calendar\",\"name\":\"calendar\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"maturityDate\",\"type\":\"uint256\"}],\"name\":\"shiftEventTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"BusinessDayConventions\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"shiftCalcTime(uint256,uint8,uint8,uint256)\":{\"notice\":\"Used in POFs and STFs for DCFs. No shifting is applied if a Calc/Shift instead of Shift/Calc BDC is provided.\"}},\"notice\":\"Contains conventions of how to handle non-business days when generating schedules of events. The events schedule time can be shifted or not, if shifted it is possible that it is shifted to the next or previous valid business days, etc.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"@atpar/actus-solidity/contracts/Core/Conventions/BusinessDayConventions.sol\":\"BusinessDayConventions\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@atpar/actus-solidity/contracts/Core/ACTUSTypes.sol\":{\"keccak256\":\"0x4374a4c79ef02bb008994431870badedd532d09639fef8d7378039faee88d4dd\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c0d32929c237f8d04ff4117611292f874bb1dd785b8ec94c04389d608c11481c\",\"dweb:/ipfs/QmVu3awVGWDvqMCjPhmzcCQCRg4VNr5XxcDRWDECTr17TV\"]},\"@atpar/actus-solidity/contracts/Core/Conventions/BusinessDayConventions.sol\":{\"keccak256\":\"0xb67309595d06a957324467896ed9ece5db6c064a40733528d2405593d083f358\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a77e96b548901c4ee87943de5a7093d178bffe1daa72b6e303ddc1fac93f5173\",\"dweb:/ipfs/QmctKP5Hp7B4YtzzC5q3cRJJiiPS4a5US6vpHDb94paaFT\"]},\"@atpar/actus-solidity/contracts/external/BokkyPooBah/BokkyPooBahsDateTimeLibrary.sol\":{\"keccak256\":\"0x679533db9ba3257086015c0435c7d0de7a0a2f352a9de725db294e3f42c17391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c586a5d8d9a654840c3655ccd4e47458d1e781c7542ec6fd2c29638b0dee57d\",\"dweb:/ipfs/QmeoQpnTMU4pa4iwKJcKmbNm7P54UCxux2G9rJyTCyq8GZ\"]}},\"version\":1}",
  "bytecode": "0x608060405234801561001057600080fd5b5061044f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063e726d6801461003b578063f5586e0514610083575b600080fd5b6100716004803603608081101561005157600080fd5b5080359060ff6020820135811691604081013590911690606001356100b9565b60408051918252519081900360200190f35b6100716004803603608081101561009957600080fd5b5080359060ff60208201358116916040810135909116906060013561020e565b6000818514156100ca575083610206565b60018460088111156100d857fe5b14806100ef575060038460088111156100ed57fe5b145b15610105576100fe8584610282565b9050610206565b600284600881111561011357fe5b148061012a5750600484600881111561012857fe5b145b1561016e57600061013b8685610282565b9050610146866102e0565b61014f826102e0565b141561015c579050610206565b61016686856102f8565b915050610206565b600584600881111561017c57fe5b14806101935750600784600881111561019157fe5b145b156101a2576100fe85846102f8565b60068460088111156101b057fe5b14806101c7575060088460088111156101c557fe5b145b156102035760006101d886856102f8565b90506101e3866102e0565b6101ec826102e0565b14156101f9579050610206565b6101668685610282565b50835b949350505050565b6000600384600881111561021e57fe5b14806102355750600484600881111561023357fe5b145b8061024b5750600784600881111561024957fe5b145b806102615750600884600881111561025f57fe5b145b1561026d575083610206565b610279858585856100b9565b95945050505050565b6000600182600181111561029257fe5b14156102d7576102a183610346565b600614156102bb576102b4836002610359565b90506102da565b6102c483610346565b600714156102d7576102b4836001610359565b50815b92915050565b60006102f062015180830461036e565b509392505050565b6000600182600181111561030857fe5b14156102d75761031783610346565b6006141561032a576102b4836001610404565b61033383610346565b600714156102d7576102b4836002610404565b6007620151809091046003010660010190565b6201518081028201828110156102da57600080fd5b60008080836226496581018262023ab1600483020590506004600362023ab18302010590910390600062164b09610fa0600185010205905060046105b58202058303601f019250600061098f84605002816103c557fe5b0590506000605061098f83020585039050600b820560301994909401606402929092018301996002600c90940290910392909201975095509350505050565b6201518081028203828111156102da57600080fdfea2646970667358221220d0744a43de820f6cd30387ea8b06a4f28fb5e0f99599b6ed12c480ec330affeb64736f6c634300060b0033",
  "immutableReferences": {},
  "compiler": {
    "name": "solc",
    "version": "0.6.11+commit.5ef660b1.Emscripten.clang"
  },
  "updatedAt": "2020-08-12T09:47:18.265Z"
}
