diff --git a/artifacts/json/AddressUtils.json b/artifacts/json/AddressUtils.json index ac183cd2..535d642b 100644 --- a/artifacts/json/AddressUtils.json +++ b/artifacts/json/AddressUtils.json @@ -287,5 +287,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.426Z" + "updatedAt": "2018-10-09T23:15:05.485Z" } \ No newline at end of file diff --git a/artifacts/json/BasicToken.json b/artifacts/json/BasicToken.json index df62aa3e..061d157c 100644 --- a/artifacts/json/BasicToken.json +++ b/artifacts/json/BasicToken.json @@ -1435,5 +1435,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.453Z" + "updatedAt": "2018-10-09T23:15:05.503Z" } \ No newline at end of file diff --git a/artifacts/json/ClockAuction.json b/artifacts/json/ClockAuction.json index ddfed8d0..4fdc406f 100644 --- a/artifacts/json/ClockAuction.json +++ b/artifacts/json/ClockAuction.json @@ -51963,5 +51963,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:36.032Z" + "updatedAt": "2018-10-09T23:15:06.382Z" } \ No newline at end of file diff --git a/artifacts/json/ClockAuctionBase.json b/artifacts/json/ClockAuctionBase.json index 5bf7482e..845009ce 100644 --- a/artifacts/json/ClockAuctionBase.json +++ b/artifacts/json/ClockAuctionBase.json @@ -51731,5 +51731,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.834Z" + "updatedAt": "2018-10-09T23:15:06.058Z" } \ No newline at end of file diff --git a/artifacts/json/CollateralizedSimpleInterestTermsContract.json b/artifacts/json/CollateralizedSimpleInterestTermsContract.json index 1ce71c7d..25985526 100644 --- a/artifacts/json/CollateralizedSimpleInterestTermsContract.json +++ b/artifacts/json/CollateralizedSimpleInterestTermsContract.json @@ -411,7 +411,7 @@ }, { "attributes": { - "SourceUnit": 6053, + "SourceUnit": 6061, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/examples/SimpleInterestTermsContract.sol", "file": "./SimpleInterestTermsContract.sol", "scope": 5282, @@ -1334,7 +1334,7 @@ "42": { "events": {}, "links": {}, - "address": "0x7b7be94999219352b02c70b62b7cc09f7179b3b0" + "address": "0xf4ffba3867d4c9d388069a02fa36d3bfc234c979" }, "70": { "events": {}, @@ -1343,5 +1343,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:51:37.279Z" + "updatedAt": "2018-10-09T23:22:00.524Z" } \ No newline at end of file diff --git a/artifacts/json/Collateralizer.json b/artifacts/json/Collateralizer.json index 20bb2b24..664f61a8 100644 --- a/artifacts/json/Collateralizer.json +++ b/artifacts/json/Collateralizer.json @@ -526,7 +526,7 @@ }, { "attributes": { - "SourceUnit": 4758, + "SourceUnit": 4766, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/TermsContract.sol", "file": "./TermsContract.sol", "scope": 615, @@ -541,7 +541,7 @@ }, { "attributes": { - "SourceUnit": 3159, + "SourceUnit": 3167, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/DebtRegistry.sol", "file": "./DebtRegistry.sol", "scope": 615, @@ -556,7 +556,7 @@ }, { "attributes": { - "SourceUnit": 5114, + "SourceUnit": 5122, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/TokenRegistry.sol", "file": "./TokenRegistry.sol", "scope": 615, @@ -571,7 +571,7 @@ }, { "attributes": { - "SourceUnit": 5207, + "SourceUnit": 5215, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/TokenTransferProxy.sol", "file": "./TokenTransferProxy.sol", "scope": 615, @@ -586,7 +586,7 @@ }, { "attributes": { - "SourceUnit": 6272, + "SourceUnit": 6280, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/libraries/PermissionsLib.sol", "file": "./libraries/PermissionsLib.sol", "scope": 615, @@ -9801,7 +9801,7 @@ } }, "links": {}, - "address": "0x39ab84786d3696677cb62181f56286c9496b490b" + "address": "0x9075c9d39c3603d00629d8c1822da2d2f61605fb" }, "70": { "events": { @@ -9950,5 +9950,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:51:53.173Z" + "updatedAt": "2018-10-09T23:22:13.489Z" } \ No newline at end of file diff --git a/artifacts/json/ContractRegistry.json b/artifacts/json/ContractRegistry.json index 20035e8e..4c8cc2d9 100644 --- a/artifacts/json/ContractRegistry.json +++ b/artifacts/json/ContractRegistry.json @@ -280,7 +280,7 @@ }, { "attributes": { - "SourceUnit": 2631, + "SourceUnit": 2639, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/DebtKernel.sol", "file": "./DebtKernel.sol", "scope": 924, @@ -295,7 +295,7 @@ }, { "attributes": { - "SourceUnit": 3159, + "SourceUnit": 3167, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/DebtRegistry.sol", "file": "./DebtRegistry.sol", "scope": 924, @@ -310,7 +310,7 @@ }, { "attributes": { - "SourceUnit": 3541, + "SourceUnit": 3549, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/DebtToken.sol", "file": "./DebtToken.sol", "scope": 924, @@ -325,7 +325,7 @@ }, { "attributes": { - "SourceUnit": 4708, + "SourceUnit": 4716, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/RepaymentRouter.sol", "file": "./RepaymentRouter.sol", "scope": 924, @@ -340,7 +340,7 @@ }, { "attributes": { - "SourceUnit": 5114, + "SourceUnit": 5122, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/TokenRegistry.sol", "file": "./TokenRegistry.sol", "scope": 924, @@ -355,7 +355,7 @@ }, { "attributes": { - "SourceUnit": 5207, + "SourceUnit": 5215, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/TokenTransferProxy.sol", "file": "./TokenTransferProxy.sol", "scope": 924, @@ -4730,7 +4730,7 @@ } }, "links": {}, - "address": "0x342e4778937a0fa5879aa594d0f57370f1a0e5d9" + "address": "0x8a2e03a964c21731d451a66fa618ea9a14dded78" }, "70": { "events": { @@ -4779,5 +4779,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:53:24.840Z" + "updatedAt": "2018-10-09T23:24:24.851Z" } \ No newline at end of file diff --git a/artifacts/json/CreditorProxy.json b/artifacts/json/CreditorProxy.json index c1474921..db15c6c5 100644 --- a/artifacts/json/CreditorProxy.json +++ b/artifacts/json/CreditorProxy.json @@ -308,11 +308,11 @@ "type": "event" } ], - "bytecode": "0x606060405260008060146101000a81548160ff021916908315150217905550341561002957600080fd5b604051602080611be483398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050611b0e806100d66000396000f3006060604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633c1c90a7146100bf5780633f4ba83a1461015d57806347f7835d146101725780635c975abb146102d05780638456cb59146102fd5780638da5cb5b14610312578063a318b5f714610367578063abf410e5146103a6578063c1614d00146103fb578063e283040d1461043a578063f06bbf751461046b578063f2fde38b1461049c575b600080fd5b34156100ca57600080fd5b61015b60048080608001906004806020026040519081016040528092919082600460200280828437820191505050505091908060800190600480602002604051908101604052809291908260046020028082843782019150505050509190806020019060018060200260405190810160405280929190826001602002808284378201915050505050919050506104d5565b005b341561016857600080fd5b6101706105e1565b005b341561017d57600080fd5b6102b2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908060c001906006806020026040519081016040528092919082600660200280828437820191505050505091908061010001906008806020026040519081016040528092919082600860200280828437820191505050505091908060200190600180602002604051908101604052809291908260016020028082843782019150505050509190806060019060038060200260405190810160405280929190826003602002808284378201915050505050919080606001906003806020026040519081016040528092919082600360200280828437820191505050505091908060600190600380602002604051908101604052809291908260036020028082843782019150505050509190505061069f565b60405180826000191660001916815260200191505060405180910390f35b34156102db57600080fd5b6102e3610fa7565b604051808215151515815260200191505060405180910390f35b341561030857600080fd5b610310610fba565b005b341561031d57600080fd5b61032561107a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561037257600080fd5b61038c60048080356000191690602001909190505061109f565b604051808215151515815260200191505060405180910390f35b34156103b157600080fd5b6103b96110bf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561040657600080fd5b6104206004808035600019169060200190919050506110e5565b604051808215151515815260200191505060405180910390f35b341561044557600080fd5b61044d611105565b60405180826000191660001916815260200191505060405180910390f35b341561047657600080fd5b61047e61110d565b604051808261ffff1661ffff16815260200191505060405180910390f35b34156104a757600080fd5b6104d3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611113565b005b60008060149054906101000a900460ff161515156104f257600080fd5b83600060048110151561050157fe5b602002015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561053f57600080fd5b61054a848484611268565b9050600160026000836000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550806000191684600060048110151561059457fe5b602002015173ffffffffffffffffffffffffffffffffffffffff167f07d3242876ac355520b94ab74873262d83b5b81dbd5da781118f78cee0bbe74760405160405180910390a350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561063c57600080fd5b600060149054906101000a900460ff16151561065757600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600080600080600060149054906101000a900460ff161515156106c157600080fd5b6108436080604051908101604052808d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c600060068110151561071157fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c600260068110151561075657fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c600360068110151561079b57fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152506080604051908101604052808c60056008811015156107ea57fe5b602002015181526020018c600060088110151561080357fe5b602002015181526020018c600760088110151561081c57fe5b602002015181526020018c600160088110151561083557fe5b60200201518152508a611268565b925060036000846000191660001916815260200190815260200160002060009054906101000a900460ff16156108d75782600019168b73ffffffffffffffffffffffffffffffffffffffff166001600381111561089c57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f99565b60026000846000191660001916815260200190815260200160002060009054906101000a900460ff16156109695782600019168b73ffffffffffffffffffffffffffffffffffffffff166000600381111561092e57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f99565b6109af8b8489600160038110151561097d57fe5b602002015189600160038110151561099157fe5b60200201518960016003811015156109a557fe5b6020020151611468565b1515610a195782600019168b73ffffffffffffffffffffffffffffffffffffffff16600260038111156109de57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f99565b610a52896005600881101515610a2b57fe5b60200201518a6002600881101515610a3f57fe5b602002015161156f90919063ffffffff16565b9150610a728b8b6004600681101515610a6757fe5b60200201518461158d565b1515610adb5782600019168b73ffffffffffffffffffffffffffffffffffffffff16600380811115610aa057fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f99565b6000821115610b0f57610b038a6004600681101515610af657fe5b60200201518c30856116a9565b1515610b0e57600080fd5b5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663079dd4b76000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610b9d57600080fd5b6102c65a03f11515610bae57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663e6488fc9308c8c8c8c8c8c6000604051602001526040518863ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200187600660200280838360005b83811015610c6b578082015181840152602081019050610c50565b5050505090500186600860200280838360005b83811015610c99578082015181840152602081019050610c7e565b5050505090500185600160200280838360005b83811015610cc7578082015181840152602081019050610cac565b5050505090500184600360200280838360005b83811015610cf5578082015181840152602081019050610cda565b5050505090500183600360200280838360005b83811015610d23578082015181840152602081019050610d08565b5050505090500182600360200280838360005b83811015610d51578082015181840152602081019050610d36565b50505050905001975050505050505050602060405180830381600087803b1515610d7a57600080fd5b6102c65a03f11515610d8b57600080fd5b505050604051805190509050600060010260001916816000191614151515610db257600080fd5b600160036000856000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f8d898986000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610e7457600080fd5b6102c65a03f11515610e8557600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8c83600190046040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1515610f3457600080fd5b6102c65a03f11515610f4557600080fd5b505050806000191683600019168c73ffffffffffffffffffffffffffffffffffffffff167f44bca8cc6f9375e3d800b6361e71fdde37e4fc86bdc3a72c4f8f69bbd19a01f360405160405180910390a48093505b505050979650505050505050565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561101557600080fd5b600060149054906101000a900460ff1615151561103157600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60036020528060005260406000206000915054906101000a900460ff1681565b600060010281565b611f4081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561116e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156111aa57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600083600060048110151561127957fe5b602002015184600160048110151561128d57fe5b60200201518460006004811015156112a157fe5b60200201518660026004811015156112b557fe5b60200201518660016004811015156112c957fe5b60200201518860036004811015156112dd57fe5b60200201518760006001811015156112f157fe5b602002015189600260048110151561130557fe5b60200201518a600360048110151561131957fe5b6020020151604051808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018881526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140184600019166000191681526020018381526020018281526020019950505050505050505050604051809103902090509392505050565b600060018560405180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040518091039020858585604051600081526020016040526000604051602001526040518085600019166000191681526020018460ff1660ff16815260200183600019166000191681526020018260001916600019168152602001945050505050602060405160208103908084039060008661646e5a03f1151561152d57600080fd5b50506020604051035173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614905095945050505050565b600080828401905083811015151561158357fe5b8091505092915050565b60008060008061159e8688306117af565b92506115aa86886118a7565b9150848210806115b957508483105b156115c7576000935061169f565b61167a8630600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630eefdbad6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561165a57600080fd5b6102c65a03f1151561166b57600080fd5b505050604051805190506117af565b90508481101561169a5761168e868661196a565b151561169957600080fd5b5b600193505b5050509392505050565b60008473ffffffffffffffffffffffffffffffffffffffff166323b872dd8585856000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561178a57600080fd5b6102c65a03f1151561179b57600080fd5b505050604051805190509050949350505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e611f4061ffff1685856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600088803b151561188657600080fd5b87f1151561189357600080fd5b505050506040518051905090509392505050565b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231611f4061ffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600088803b151561194a57600080fd5b87f1151561195757600080fd5b5050505060405180519050905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630eefdbad6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611a1657600080fd5b6102c65a03f11515611a2757600080fd5b50505060405180519050846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611abf57600080fd5b6102c65a03f11515611ad057600080fd5b505050604051805190509050929150505600a165627a7a72305820627f64d2f5e59580e881310ad781c1c18c95e290f478ac08b283c8661b5071d90029", - "deployedBytecode": "0x6060604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633c1c90a7146100bf5780633f4ba83a1461015d57806347f7835d146101725780635c975abb146102d05780638456cb59146102fd5780638da5cb5b14610312578063a318b5f714610367578063abf410e5146103a6578063c1614d00146103fb578063e283040d1461043a578063f06bbf751461046b578063f2fde38b1461049c575b600080fd5b34156100ca57600080fd5b61015b60048080608001906004806020026040519081016040528092919082600460200280828437820191505050505091908060800190600480602002604051908101604052809291908260046020028082843782019150505050509190806020019060018060200260405190810160405280929190826001602002808284378201915050505050919050506104d5565b005b341561016857600080fd5b6101706105e1565b005b341561017d57600080fd5b6102b2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908060c001906006806020026040519081016040528092919082600660200280828437820191505050505091908061010001906008806020026040519081016040528092919082600860200280828437820191505050505091908060200190600180602002604051908101604052809291908260016020028082843782019150505050509190806060019060038060200260405190810160405280929190826003602002808284378201915050505050919080606001906003806020026040519081016040528092919082600360200280828437820191505050505091908060600190600380602002604051908101604052809291908260036020028082843782019150505050509190505061069f565b60405180826000191660001916815260200191505060405180910390f35b34156102db57600080fd5b6102e3610fa7565b604051808215151515815260200191505060405180910390f35b341561030857600080fd5b610310610fba565b005b341561031d57600080fd5b61032561107a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561037257600080fd5b61038c60048080356000191690602001909190505061109f565b604051808215151515815260200191505060405180910390f35b34156103b157600080fd5b6103b96110bf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561040657600080fd5b6104206004808035600019169060200190919050506110e5565b604051808215151515815260200191505060405180910390f35b341561044557600080fd5b61044d611105565b60405180826000191660001916815260200191505060405180910390f35b341561047657600080fd5b61047e61110d565b604051808261ffff1661ffff16815260200191505060405180910390f35b34156104a757600080fd5b6104d3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611113565b005b60008060149054906101000a900460ff161515156104f257600080fd5b83600060048110151561050157fe5b602002015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561053f57600080fd5b61054a848484611268565b9050600160026000836000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550806000191684600060048110151561059457fe5b602002015173ffffffffffffffffffffffffffffffffffffffff167f07d3242876ac355520b94ab74873262d83b5b81dbd5da781118f78cee0bbe74760405160405180910390a350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561063c57600080fd5b600060149054906101000a900460ff16151561065757600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600080600080600060149054906101000a900460ff161515156106c157600080fd5b6108436080604051908101604052808d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c600060068110151561071157fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c600260068110151561075657fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c600360068110151561079b57fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152506080604051908101604052808c60056008811015156107ea57fe5b602002015181526020018c600060088110151561080357fe5b602002015181526020018c600760088110151561081c57fe5b602002015181526020018c600160088110151561083557fe5b60200201518152508a611268565b925060036000846000191660001916815260200190815260200160002060009054906101000a900460ff16156108d75782600019168b73ffffffffffffffffffffffffffffffffffffffff166001600381111561089c57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f99565b60026000846000191660001916815260200190815260200160002060009054906101000a900460ff16156109695782600019168b73ffffffffffffffffffffffffffffffffffffffff166000600381111561092e57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f99565b6109af8b8489600160038110151561097d57fe5b602002015189600160038110151561099157fe5b60200201518960016003811015156109a557fe5b6020020151611468565b1515610a195782600019168b73ffffffffffffffffffffffffffffffffffffffff16600260038111156109de57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f99565b610a52896005600881101515610a2b57fe5b60200201518a6002600881101515610a3f57fe5b602002015161156f90919063ffffffff16565b9150610a728b8b6004600681101515610a6757fe5b60200201518461158d565b1515610adb5782600019168b73ffffffffffffffffffffffffffffffffffffffff16600380811115610aa057fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f99565b6000821115610b0f57610b038a6004600681101515610af657fe5b60200201518c30856116a9565b1515610b0e57600080fd5b5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663079dd4b76000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610b9d57600080fd5b6102c65a03f11515610bae57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663e6488fc9308c8c8c8c8c8c6000604051602001526040518863ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200187600660200280838360005b83811015610c6b578082015181840152602081019050610c50565b5050505090500186600860200280838360005b83811015610c99578082015181840152602081019050610c7e565b5050505090500185600160200280838360005b83811015610cc7578082015181840152602081019050610cac565b5050505090500184600360200280838360005b83811015610cf5578082015181840152602081019050610cda565b5050505090500183600360200280838360005b83811015610d23578082015181840152602081019050610d08565b5050505090500182600360200280838360005b83811015610d51578082015181840152602081019050610d36565b50505050905001975050505050505050602060405180830381600087803b1515610d7a57600080fd5b6102c65a03f11515610d8b57600080fd5b505050604051805190509050600060010260001916816000191614151515610db257600080fd5b600160036000856000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f8d898986000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610e7457600080fd5b6102c65a03f11515610e8557600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8c83600190046040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1515610f3457600080fd5b6102c65a03f11515610f4557600080fd5b505050806000191683600019168c73ffffffffffffffffffffffffffffffffffffffff167f44bca8cc6f9375e3d800b6361e71fdde37e4fc86bdc3a72c4f8f69bbd19a01f360405160405180910390a48093505b505050979650505050505050565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561101557600080fd5b600060149054906101000a900460ff1615151561103157600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60036020528060005260406000206000915054906101000a900460ff1681565b600060010281565b611f4081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561116e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156111aa57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600083600060048110151561127957fe5b602002015184600160048110151561128d57fe5b60200201518460006004811015156112a157fe5b60200201518660026004811015156112b557fe5b60200201518660016004811015156112c957fe5b60200201518860036004811015156112dd57fe5b60200201518760006001811015156112f157fe5b602002015189600260048110151561130557fe5b60200201518a600360048110151561131957fe5b6020020151604051808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018881526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140184600019166000191681526020018381526020018281526020019950505050505050505050604051809103902090509392505050565b600060018560405180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040518091039020858585604051600081526020016040526000604051602001526040518085600019166000191681526020018460ff1660ff16815260200183600019166000191681526020018260001916600019168152602001945050505050602060405160208103908084039060008661646e5a03f1151561152d57600080fd5b50506020604051035173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614905095945050505050565b600080828401905083811015151561158357fe5b8091505092915050565b60008060008061159e8688306117af565b92506115aa86886118a7565b9150848210806115b957508483105b156115c7576000935061169f565b61167a8630600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630eefdbad6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561165a57600080fd5b6102c65a03f1151561166b57600080fd5b505050604051805190506117af565b90508481101561169a5761168e868661196a565b151561169957600080fd5b5b600193505b5050509392505050565b60008473ffffffffffffffffffffffffffffffffffffffff166323b872dd8585856000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561178a57600080fd5b6102c65a03f1151561179b57600080fd5b505050604051805190509050949350505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e611f4061ffff1685856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600088803b151561188657600080fd5b87f1151561189357600080fd5b505050506040518051905090509392505050565b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231611f4061ffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600088803b151561194a57600080fd5b87f1151561195757600080fd5b5050505060405180519050905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630eefdbad6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611a1657600080fd5b6102c65a03f11515611a2757600080fd5b50505060405180519050846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611abf57600080fd5b6102c65a03f11515611ad057600080fd5b505050604051805190509050929150505600a165627a7a72305820627f64d2f5e59580e881310ad781c1c18c95e290f478ac08b283c8661b5071d90029", - "sourceMap": "1086:9807:2:-;;;268:5:37;247:26;;;;;;;;;;;;;;;;;;;;2040:140:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;509:10:39;501:5;;:18;;;;;;;;;;;;;;;;;;2155:17:2;2119:16;;:54;;;;;;;;;;;;;;;;;;2040:140;1086:9807;;;;;;", - "deployedSourceMap": "1086:9807:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5952:607;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;833:87:37;;;;;;;;;;;;;;2398:3455:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;247:26:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;666:85;;;;;;;;;;;;;;238:20:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1502:51:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1333:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1559:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1380:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1441:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;832:169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;5952:607:2;6246:30;416:6:37;;;;;;;;;;;415:7;407:16;;;;;;;;6213:19:2;6233:1;6213:22;;;;;;;;;;;;;6199:36;;:10;:36;;;6191:45;;;;;;;;6279:135;6318:19;6351:16;6381:23;6279:25;:135::i;:::-;6246:168;;6469:4;6424:18;:42;6443:22;6424:42;;;;;;;;;;;;;;;;;;:49;;;;;;;;;;;;;;;;;;6529:22;6483:69;;;6505:19;6525:1;6505:22;;;;;;;;;;;;;6483:69;;;;;;;;;;;;5952:607;;;;:::o;833:87:37:-;653:5:39;;;;;;;;;;;639:19;;:10;:19;;;631:28;;;;;;;;568:6:37;;;;;;;;;;;560:15;;;;;;;;895:5;886:6;;:14;;;;;;;;;;;;;;;;;;906:9;;;;;;;;;;833:87::o;2398:3455:2:-;2835:20;2872:30;4306:25;5247:19;416:6:37;;;;;;;;;;;415:7;407:16;;;;;;;;2905:550:2;;;;;;;;;;2962:8;2905:550;;;;;;;;2988:14;3003:1;2988:17;;;;;;;;;;;;;2905:550;;;;;;;;3051:14;3066:1;3051:17;;;;;;;;;;;;;2905:550;;;;;;;;3101:14;3116:1;3101:17;;;;;;;;;;;;;2905:550;;;;;;;;;;;;;;;;3181:11;3193:1;3181:14;;;;;;;;;;;;;2905:550;;;;3229:11;3241:1;3229:14;;;;;;;;;;;;;2905:550;;;;3286:11;3298:1;3286:14;;;;;;;;;;;;;2905:550;;;;3356:11;3368:1;3356:14;;;;;;;;;;;;;2905:550;;;3406:12;2905:25;:550::i;:::-;2872:583;;3470:15;:39;3486:22;3470:39;;;;;;;;;;;;;;;;;;;;;;;;;;;3466:192;;;3585:22;3525:83;;;3575:8;3525:83;;3540:32;3534:39;;;;;;;;3525:83;;;;;;;;;;;;1433:1;1425:10;;3622:25;;;;3466:192;3672:18;:42;3691:22;3672:42;;;;;;;;;;;;;;;;;;;;;;;;;;;3668:191;;;3785:22;3730:78;;;3775:8;3730:78;;3745:27;3739:34;;;;;;;;3730:78;;;;;;;;;;;;1433:1;1425:10;;3822:25;;;;3668:191;3874:168;3904:8;3926:22;3962:11;3974:1;3962:14;;;;;;;;;;;;;3990:11;4002:1;3990:14;;;;;;;;;;;;;4018:11;4030:1;4018:14;;;;;;;;;;;;;3874:16;:168::i;:::-;3873:169;3869:384;;;4167:22;4058:145;;;4141:8;4058:145;;4090:32;4084:39;;;;;;;;4058:145;;;;;;;;;;;;1433:1;1425:10;;4217:25;;;;3869:384;4334:34;4353:11;4365:1;4353:14;;;;;;;;;;;;;4334:11;4346:1;4334:14;;;;;;;;;;;;;:18;;:34;;;;:::i;:::-;4306:62;;4384:129;4430:8;4452:14;4467:1;4452:17;;;;;;;;;;;;;4483:20;4384:32;:129::i;:::-;4383:130;4379:362;;;4655:22;4529:162;;;4629:8;4529:162;;4561:49;4555:56;;;;;;;;4529:162;;;;;;;;;;;;1433:1;1425:10;;4705:25;;;;4379:362;4839:1;4816:20;:24;4812:276;;;4881:182;4921:14;4936:1;4921:17;;;;;;;;;;;;;4960:8;4998:4;5025:20;4881:18;:182::i;:::-;4856:221;;;;;;;;4812:276;5269:16;;;;;;;;;;;:27;;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:43;;;5334:4;5353:14;5381:11;5406:12;5432:11;5457;5482;5269:234;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5247:256:2;;1433:1;1425:10;;5522:33;;;:11;:33;;;;;5514:42;;;;;;;;5609:4;5567:15;:39;5583:22;5567:39;;;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;5672:16;;;;;;;;;;;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:37;;;5710:8;5728:11;5720:20;;;5672:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5805:11;5752:65;;;5781:22;5752:65;;;5771:8;5752:65;;;;;;;;;;;;5835:11;5828:18;;429:1:37;2398:3455:2;;;;;;;;;;;;:::o;247:26:37:-;;;;;;;;;;;;;:::o;666:85::-;653:5:39;;;;;;;;;;;639:19;;:10;:19;;;631:28;;;;;;;;416:6:37;;;;;;;;;;;415:7;407:16;;;;;;;;729:4;720:6;;:13;;;;;;;;;;;;;;;;;;739:7;;;;;;;;;;666:85::o;238:20:39:-;;;;;;;;;;;;;:::o;1502:51:2:-;;;;;;;;;;;;;;;;;;;;;;:::o;1333:40::-;;;;;;;;;;;;;:::o;1559:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;1380:55::-;1433:1;1425:10;;1380:55;:::o;1441:54::-;1491:4;1441:54;:::o;832:169:39:-;653:5;;;;;;;;;;;639:19;;:10;:19;;;631:28;;;;;;;;928:1;908:22;;:8;:22;;;;900:31;;;;;;;;965:8;937:37;;958:5;;;;;;;;;;;937:37;;;;;;;;;;;;988:8;980:5;;:16;;;;;;;;;;;;;;;;;;832:169;:::o;6749:761:2:-;6955:31;7032:19;7052:1;7032:22;;;;;;;;;;;;;7080:19;7100:1;7080:22;;;;;;;;;;;;;7144:16;7161:1;7144:19;;;;;;;;;;;;;7193;7213:1;7193:22;;;;;;;;;;;;;7244:16;7261:1;7244:19;;;;;;;;;;;;;7302;7322:1;7302:22;;;;;;;;;;;;;7355:23;7379:1;7355:26;;;;;;;;;;;;;7395:16;7412:1;7395:19;;;;;;;;;;;;;7466:16;7483:1;7466:19;;;;;;;;;;;;;7009:494;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7002:501;;6749:761;;;;;:::o;8965:360::-;9145:11;9189:129;9258:4;9212:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9277:1;9292;9307;9189:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9179:139;;:6;:139;;;9172:146;;8965:360;;;;;;;:::o;1007:129:38:-;1065:7;1080:9;1096:1;1092;:5;1080:17;;1115:1;1110;:6;;1103:14;;;;;;1130:1;1123:8;;1007:129;;;;;:::o;7721:1107:2:-;7896:37;8022:19;8107:20;8396:27;8044:53;8057:14;8073:8;8091:4;8044:12;:53::i;:::-;8022:75;;8130:36;8141:14;8157:8;8130:10;:36::i;:::-;8107:59;;8199:20;8181:15;:38;:79;;;;8240:20;8223:14;:37;8181:79;8177:122;;;8283:5;8276:12;;;;8177:122;8426:128;8452:14;8488:4;8507:16;;;;;;;;;;;:35;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8426:12;:128::i;:::-;8396:158;;8681:20;8656:22;:45;8652:148;;;8725:63;8751:14;8767:20;8725:25;:63::i;:::-;8717:72;;;;;;;;8652:148;8817:4;8810:11;;7721:1107;;;;;;;;;:::o;10643:248::-;10801:13;10843:6;10837:26;;;10864:5;10871:3;10876:7;10837:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10830:54;;10643:248;;;;;;:::o;9804:337::-;9950:15;10038:5;10032:22;;;1491:4;10032:52;;10098:5;10117:7;10032:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10025:109;;9804:337;;;;;:::o;9421:265::-;9540:13;9626:5;9620:22;;;1491:4;9620:52;;9673:5;9620:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9613:66;;9421:265;;;;:::o;10258:272::-;10377:13;10419:5;10413:20;;;10455:16;;;;;;;;;;;:35;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10507:6;10413:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10406:117;;10258:272;;;;:::o", - "source": "/*\n\n Copyright 2017 Dharma Labs Inc.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n*/\n\npragma solidity 0.4.18;\n\nimport \"./ContractRegistry.sol\";\nimport \"zeppelin-solidity/contracts/lifecycle/Pausable.sol\";\nimport \"zeppelin-solidity/contracts/math/SafeMath.sol\";\nimport \"zeppelin-solidity/contracts/token/ERC20/ERC20.sol\";\n\n\n/**\n * The CreditorProxy is a thin wrapper around the DebtKernel\n * It implements creditor-driven loans as specified by DIP-1\n *\n * Authors: Bo Henderson & Shivani Gupta & Dharma Team\n * DIP: https://github.com/dharmaprotocol/DIPs/issues/1\n */\ncontract CreditorProxy is Pausable {\n using SafeMath for uint;\n\n enum Errors {\n DEBT_OFFER_CANCELLED,\n DEBT_OFFER_ALREADY_FILLED,\n DEBT_OFFER_NON_CONSENSUAL,\n CREDITOR_BALANCE_OR_ALLOWANCE_INSUFFICIENT\n }\n\n ContractRegistry public contractRegistry;\n\n bytes32 constant public NULL_ISSUANCE_HASH = bytes32(0);\n uint16 constant public EXTERNAL_QUERY_GAS_LIMIT = 8000;\n\n mapping (bytes32 => bool) public debtOfferCancelled;\n mapping (bytes32 => bool) public debtOfferFilled;\n\n event LogDebtOfferCancelled(\n address indexed _creditor,\n bytes32 indexed _creditorCommitmentHash\n );\n\n event LogDebtOfferFilled(\n address indexed _creditor,\n bytes32 indexed _creditorCommitmentHash,\n bytes32 indexed _agreementId\n );\n\n event LogError(\n uint8 indexed _errorId,\n address indexed _creditor,\n bytes32 indexed _creditorCommitmentHash\n );\n\n function CreditorProxy(address _contractRegistry)\n public\n {\n contractRegistry = ContractRegistry(_contractRegistry);\n }\n\n /*\n * Submit debt order to DebtKernel if it is consensual with creditor's request\n * Creditor signature in arguments is only used internally,\n * It will not be verified by the Debt Kernel\n */\n function fillDebtOffer(\n address creditor,\n address[6] orderAddresses, // repayment-router, debtor, uw, tc, p-token, relayer\n uint[8] orderValues, // rr, salt, pa, uwFee, rFee, cFee, dFee, expTime\n bytes32[1] orderBytes32, // tcParams\n uint8[3] signaturesV, // debtV, credV, uwV\n bytes32[3] signaturesR,\n bytes32[3] signaturesS\n )\n public\n whenNotPaused\n returns (bytes32 _agreementId)\n {\n\n bytes32 creditorCommitmentHash = getCreditorCommitmentHash(\n [\n creditor,\n orderAddresses[0], // repayment router version\n orderAddresses[2], // underwriter\n orderAddresses[3] // termsContract\n ],\n [\n orderValues[5], // creditor fee\n orderValues[0], // underwriterRiskRating\n orderValues[7], // commitmentExpirationTimestampInSec\n orderValues[1] // salt\n ],\n orderBytes32 // termsContractParameters\n );\n\n if (debtOfferFilled[creditorCommitmentHash]) {\n LogError(uint8(Errors.DEBT_OFFER_ALREADY_FILLED), creditor, creditorCommitmentHash);\n return NULL_ISSUANCE_HASH;\n }\n\n if (debtOfferCancelled[creditorCommitmentHash]) {\n LogError(uint8(Errors.DEBT_OFFER_CANCELLED), creditor, creditorCommitmentHash);\n return NULL_ISSUANCE_HASH; \n }\n\n if (!isValidSignature(\n creditor,\n creditorCommitmentHash,\n signaturesV[1],\n signaturesR[1],\n signaturesS[1]\n )) {\n LogError(\n uint8(Errors.DEBT_OFFER_NON_CONSENSUAL),\n creditor,\n creditorCommitmentHash\n );\n return NULL_ISSUANCE_HASH;\n }\n\n // principal amount + creditor fee\n uint totalCreditorPayment = orderValues[2].add(orderValues[5]);\n\n if (!hasSufficientBalanceAndAllowance(\n creditor,\n orderAddresses[4],\n totalCreditorPayment\n )) {\n LogError(\n uint8(Errors.CREDITOR_BALANCE_OR_ALLOWANCE_INSUFFICIENT),\n creditor,\n creditorCommitmentHash\n );\n return NULL_ISSUANCE_HASH;\n }\n\n // Transfer principal from creditor to CreditorProxy\n if (totalCreditorPayment > 0) {\n require(\n transferTokensFrom(\n orderAddresses[4],\n creditor,\n address(this),\n totalCreditorPayment\n )\n );\n }\n\n // Grant allowance to the TokenTransferProxy for this contract.\n\n\n // Fill debt order with this contract playing the role of creditor\n bytes32 agreementId = contractRegistry.debtKernel().fillDebtOrder(\n address(this),\n orderAddresses,\n orderValues,\n orderBytes32,\n signaturesV,\n signaturesR,\n signaturesS\n );\n\n require(agreementId != NULL_ISSUANCE_HASH);\n\n debtOfferFilled[creditorCommitmentHash] = true;\n\n // transfer debt token to real creditor\n contractRegistry.debtToken().transfer(creditor, uint256(agreementId));\n\n LogDebtOfferFilled(creditor, creditorCommitmentHash, agreementId);\n\n return agreementId;\n }\n\n /**\n * Allows creditor to prevent a debt offer from being used in the future\n */\n function cancelDebtOffer(\n address[4] commitmentAddresses,\n uint[4] commitmentValues,\n bytes32[1] termsContractParameters\n )\n public\n whenNotPaused\n {\n // sender must be the creditor\n require(msg.sender == commitmentAddresses[0]);\n bytes32 creditorCommitmentHash = getCreditorCommitmentHash(\n commitmentAddresses,\n commitmentValues,\n termsContractParameters\n );\n debtOfferCancelled[creditorCommitmentHash] = true;\n LogDebtOfferCancelled(commitmentAddresses[0], creditorCommitmentHash);\n }\n\n ////////////////////////\n // INTERNAL FUNCTIONS //\n ////////////////////////\n\n /**\n * Returns the messaged signed by the creditor to indicate their commitment\n */\n function getCreditorCommitmentHash(\n address[4] commitmentAddresses,\n uint[4] commitmentValues,\n bytes32[1] termsContractParameters\n )\n internal\n pure\n returns (bytes32 _creditorCommitmentHash)\n {\n return keccak256(\n commitmentAddresses[0], // creditor\n commitmentAddresses[1], // repayment router version\n commitmentValues[0], // creditor fee\n commitmentAddresses[2], // underwriter\n commitmentValues[1], // underwriterRiskRating\n commitmentAddresses[3], // termsContract\n termsContractParameters[0],\n commitmentValues[2], // commitmentExpirationTimestampInSec\n commitmentValues[3] // salt\n );\n }\n\n\n /**\n * Assert that the creditor has a sufficient token balance and has granted the token transfer\n * proxy contract sufficient allowance to suffice for the principal and creditor fee.\n */\n function hasSufficientBalanceAndAllowance(\n address creditor,\n address principalToken,\n uint totalCreditorPayment\n )\n internal\n returns (bool _isBalanceAndAllowanceSufficient)\n {\n // The allowance that this contract has for a creditor's tokens.\n uint proxyAllowance = getAllowance(principalToken, creditor, address(this));\n uint creditorBalance = getBalance(principalToken, creditor);\n\n if (creditorBalance < totalCreditorPayment || proxyAllowance < totalCreditorPayment) {\n return false;\n }\n\n // The allowance that the token transfer proxy has for this contract's tokens.\n uint tokenTransferAllowance = getAllowance(\n principalToken,\n address(this),\n contractRegistry.tokenTransferProxy()\n );\n\n // Ensure the token transfer proxy can transfer tokens from the creditor proxy\n if (tokenTransferAllowance < totalCreditorPayment) {\n require(setTokenTransferAllowance(principalToken, totalCreditorPayment));\n }\n\n return true;\n }\n\n /**\n * Given a hashed message, a signer's address, and a signature,\n * returns whether the signature is valid.\n */\n function isValidSignature(\n address signer,\n bytes32 hash,\n uint8 v,\n bytes32 r,\n bytes32 s\n )\n internal\n pure\n returns (bool _valid)\n {\n return signer == ecrecover(\n keccak256(\"\\x19Ethereum Signed Message:\\n32\", hash),\n v,\n r,\n s\n );\n }\n\n /**\n * Helper function for querying an address' balance on a given token.\n */\n function getBalance(\n address token,\n address owner\n )\n internal\n view\n returns (uint _balance)\n {\n // Limit gas to prevent reentrancy.\n return ERC20(token).balanceOf.gas(EXTERNAL_QUERY_GAS_LIMIT)(owner);\n }\n\n /**\n * Helper function for querying this contract's allowance for transferring the given token.\n */\n function getAllowance(\n address token,\n address owner,\n address granter\n )\n internal\n view\n returns (uint _allowance)\n {\n // Limit gas to prevent reentrancy.\n return ERC20(token).allowance.gas(EXTERNAL_QUERY_GAS_LIMIT)(\n owner,\n granter\n );\n }\n\n /**\n * Helper function for approving this address' allowance to Dharma's token transfer proxy.\n */\n function setTokenTransferAllowance(\n address token,\n uint amount\n )\n internal\n returns (bool _success)\n {\n return ERC20(token).approve(\n address(contractRegistry.tokenTransferProxy()),\n amount\n );\n }\n\n\n /**\n * Helper function for transferring a specified amount of tokens between two parties.\n */\n function transferTokensFrom(\n address _token,\n address _from,\n address _to,\n uint _amount\n )\n internal\n returns (bool _success)\n {\n return ERC20(_token).transferFrom(_from, _to, _amount);\n }\n}\n", + "bytecode": "0x606060405260008060146101000a81548160ff021916908315150217905550341561002957600080fd5b604051602080611d1483398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050611c3e806100d66000396000f3006060604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633f4ba83a146100bf57806347f7835d146100d45780635c975abb146102325780638456cb591461025f5780638da5cb5b146102745780638f18b00b146102c9578063a318b5f714610367578063abf410e5146103a6578063c1614d00146103fb578063e283040d1461043a578063f06bbf751461046b578063f2fde38b1461049c575b600080fd5b34156100ca57600080fd5b6100d26104d5565b005b34156100df57600080fd5b610214600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908060c0019060068060200260405190810160405280929190826006602002808284378201915050505050919080610100019060088060200260405190810160405280929190826008602002808284378201915050505050919080602001906001806020026040519081016040528092919082600160200280828437820191505050505091908060600190600380602002604051908101604052809291908260036020028082843782019150505050509190806060019060038060200260405190810160405280929190826003602002808284378201915050505050919080606001906003806020026040519081016040528092919082600360200280828437820191505050505091905050610593565b60405180826000191660001916815260200191505060405180910390f35b341561023d57600080fd5b610245610f75565b604051808215151515815260200191505060405180910390f35b341561026a57600080fd5b610272610f88565b005b341561027f57600080fd5b610287611048565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102d457600080fd5b6103656004808060a0019060058060200260405190810160405280929190826005602002808284378201915050505050919080608001906004806020026040519081016040528092919082600460200280828437820191505050505091908060200190600180602002604051908101604052809291908260016020028082843782019150505050509190505061106d565b005b341561037257600080fd5b61038c600480803560001916906020019091905050611179565b604051808215151515815260200191505060405180910390f35b34156103b157600080fd5b6103b9611199565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561040657600080fd5b6104206004808035600019169060200190919050506111bf565b604051808215151515815260200191505060405180910390f35b341561044557600080fd5b61044d6111df565b60405180826000191660001916815260200191505060405180910390f35b341561047657600080fd5b61047e6111e7565b604051808261ffff1661ffff16815260200191505060405180910390f35b34156104a757600080fd5b6104d3600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111ed565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561053057600080fd5b600060149054906101000a900460ff16151561054b57600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600080600080600060149054906101000a900460ff161515156105b557600080fd5b61081160a0604051908101604052808d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663079dd4b76000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561068457600080fd5b6102c65a03f1151561069557600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c60006006811015156106df57fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c600360068110151561072457fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c600460068110151561076957fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152506080604051908101604052808c60016008811015156107b857fe5b602002015181526020018c60026008811015156107d157fe5b602002015181526020018c60056008811015156107ea57fe5b602002015181526020018c600760088110151561080357fe5b60200201518152508a611342565b925060036000846000191660001916815260200190815260200160002060009054906101000a900460ff16156108a55782600019168b73ffffffffffffffffffffffffffffffffffffffff166001600381111561086a57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f67565b60026000846000191660001916815260200190815260200160002060009054906101000a900460ff16156109375782600019168b73ffffffffffffffffffffffffffffffffffffffff16600060038111156108fc57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f67565b61097d8b8489600160038110151561094b57fe5b602002015189600160038110151561095f57fe5b602002015189600160038110151561097357fe5b6020020151611598565b15156109e75782600019168b73ffffffffffffffffffffffffffffffffffffffff16600260038111156109ac57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f67565b610a208960056008811015156109f957fe5b60200201518a6002600881101515610a0d57fe5b602002015161169f90919063ffffffff16565b9150610a408b8b6004600681101515610a3557fe5b6020020151846116bd565b1515610aa95782600019168b73ffffffffffffffffffffffffffffffffffffffff16600380811115610a6e57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f67565b6000821115610add57610ad18a6004600681101515610ac457fe5b60200201518c30856117d9565b1515610adc57600080fd5b5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663079dd4b76000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610b6b57600080fd5b6102c65a03f11515610b7c57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663e6488fc9308c8c8c8c8c8c6000604051602001526040518863ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200187600660200280838360005b83811015610c39578082015181840152602081019050610c1e565b5050505090500186600860200280838360005b83811015610c67578082015181840152602081019050610c4c565b5050505090500185600160200280838360005b83811015610c95578082015181840152602081019050610c7a565b5050505090500184600360200280838360005b83811015610cc3578082015181840152602081019050610ca8565b5050505090500183600360200280838360005b83811015610cf1578082015181840152602081019050610cd6565b5050505090500182600360200280838360005b83811015610d1f578082015181840152602081019050610d04565b50505050905001975050505050505050602060405180830381600087803b1515610d4857600080fd5b6102c65a03f11515610d5957600080fd5b505050604051805190509050600060010260001916816000191614151515610d8057600080fd5b600160036000856000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f8d898986000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610e4257600080fd5b6102c65a03f11515610e5357600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8c83600190046040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1515610f0257600080fd5b6102c65a03f11515610f1357600080fd5b505050806000191683600019168c73ffffffffffffffffffffffffffffffffffffffff167f44bca8cc6f9375e3d800b6361e71fdde37e4fc86bdc3a72c4f8f69bbd19a01f360405160405180910390a48093505b505050979650505050505050565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fe357600080fd5b600060149054906101000a900460ff16151515610fff57600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060149054906101000a900460ff1615151561108a57600080fd5b83600060058110151561109957fe5b602002015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110d757600080fd5b6110e2848484611342565b9050600160026000836000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550806000191684600060058110151561112c57fe5b602002015173ffffffffffffffffffffffffffffffffffffffff167f07d3242876ac355520b94ab74873262d83b5b81dbd5da781118f78cee0bbe74760405160405180910390a350505050565b60026020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60036020528060005260406000206000915054906101000a900460ff1681565b600060010281565b611f4081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561124857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561128457600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600083600060058110151561135357fe5b602002015184600160058110151561136757fe5b602002015185600260058110151561137b57fe5b602002015186600360058110151561138f57fe5b60200201518760046005811015156113a357fe5b60200201518760006004811015156113b757fe5b60200201518860016004811015156113cb57fe5b60200201518960026004811015156113df57fe5b60200201518a60036004811015156113f357fe5b60200201518a600060018110151561140757fe5b6020020151604051808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140186815260200185815260200184815260200183815260200182600019166000191681526020019a5050505050505050505050604051809103902090509392505050565b600060018560405180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040518091039020858585604051600081526020016040526000604051602001526040518085600019166000191681526020018460ff1660ff16815260200183600019166000191681526020018260001916600019168152602001945050505050602060405160208103908084039060008661646e5a03f1151561165d57600080fd5b50506020604051035173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614905095945050505050565b60008082840190508381101515156116b357fe5b8091505092915050565b6000806000806116ce8688306118df565b92506116da86886119d7565b9150848210806116e957508483105b156116f757600093506117cf565b6117aa8630600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630eefdbad6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561178a57600080fd5b6102c65a03f1151561179b57600080fd5b505050604051805190506118df565b9050848110156117ca576117be8686611a9a565b15156117c957600080fd5b5b600193505b5050509392505050565b60008473ffffffffffffffffffffffffffffffffffffffff166323b872dd8585856000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15156118ba57600080fd5b6102c65a03f115156118cb57600080fd5b505050604051805190509050949350505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e611f4061ffff1685856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600088803b15156119b657600080fd5b87f115156119c357600080fd5b505050506040518051905090509392505050565b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231611f4061ffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600088803b1515611a7a57600080fd5b87f11515611a8757600080fd5b5050505060405180519050905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630eefdbad6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611b4657600080fd5b6102c65a03f11515611b5757600080fd5b50505060405180519050846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611bef57600080fd5b6102c65a03f11515611c0057600080fd5b505050604051805190509050929150505600a165627a7a7230582051723af670e00f905ed79837151ff2f428c566a7778657a079e3873cc19020a10029", + "deployedBytecode": "0x6060604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633f4ba83a146100bf57806347f7835d146100d45780635c975abb146102325780638456cb591461025f5780638da5cb5b146102745780638f18b00b146102c9578063a318b5f714610367578063abf410e5146103a6578063c1614d00146103fb578063e283040d1461043a578063f06bbf751461046b578063f2fde38b1461049c575b600080fd5b34156100ca57600080fd5b6100d26104d5565b005b34156100df57600080fd5b610214600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908060c0019060068060200260405190810160405280929190826006602002808284378201915050505050919080610100019060088060200260405190810160405280929190826008602002808284378201915050505050919080602001906001806020026040519081016040528092919082600160200280828437820191505050505091908060600190600380602002604051908101604052809291908260036020028082843782019150505050509190806060019060038060200260405190810160405280929190826003602002808284378201915050505050919080606001906003806020026040519081016040528092919082600360200280828437820191505050505091905050610593565b60405180826000191660001916815260200191505060405180910390f35b341561023d57600080fd5b610245610f75565b604051808215151515815260200191505060405180910390f35b341561026a57600080fd5b610272610f88565b005b341561027f57600080fd5b610287611048565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102d457600080fd5b6103656004808060a0019060058060200260405190810160405280929190826005602002808284378201915050505050919080608001906004806020026040519081016040528092919082600460200280828437820191505050505091908060200190600180602002604051908101604052809291908260016020028082843782019150505050509190505061106d565b005b341561037257600080fd5b61038c600480803560001916906020019091905050611179565b604051808215151515815260200191505060405180910390f35b34156103b157600080fd5b6103b9611199565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561040657600080fd5b6104206004808035600019169060200190919050506111bf565b604051808215151515815260200191505060405180910390f35b341561044557600080fd5b61044d6111df565b60405180826000191660001916815260200191505060405180910390f35b341561047657600080fd5b61047e6111e7565b604051808261ffff1661ffff16815260200191505060405180910390f35b34156104a757600080fd5b6104d3600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111ed565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561053057600080fd5b600060149054906101000a900460ff16151561054b57600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600080600080600060149054906101000a900460ff161515156105b557600080fd5b61081160a0604051908101604052808d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663079dd4b76000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561068457600080fd5b6102c65a03f1151561069557600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c60006006811015156106df57fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c600360068110151561072457fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c600460068110151561076957fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152506080604051908101604052808c60016008811015156107b857fe5b602002015181526020018c60026008811015156107d157fe5b602002015181526020018c60056008811015156107ea57fe5b602002015181526020018c600760088110151561080357fe5b60200201518152508a611342565b925060036000846000191660001916815260200190815260200160002060009054906101000a900460ff16156108a55782600019168b73ffffffffffffffffffffffffffffffffffffffff166001600381111561086a57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f67565b60026000846000191660001916815260200190815260200160002060009054906101000a900460ff16156109375782600019168b73ffffffffffffffffffffffffffffffffffffffff16600060038111156108fc57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f67565b61097d8b8489600160038110151561094b57fe5b602002015189600160038110151561095f57fe5b602002015189600160038110151561097357fe5b6020020151611598565b15156109e75782600019168b73ffffffffffffffffffffffffffffffffffffffff16600260038111156109ac57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f67565b610a208960056008811015156109f957fe5b60200201518a6002600881101515610a0d57fe5b602002015161169f90919063ffffffff16565b9150610a408b8b6004600681101515610a3557fe5b6020020151846116bd565b1515610aa95782600019168b73ffffffffffffffffffffffffffffffffffffffff16600380811115610a6e57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f67565b6000821115610add57610ad18a6004600681101515610ac457fe5b60200201518c30856117d9565b1515610adc57600080fd5b5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663079dd4b76000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610b6b57600080fd5b6102c65a03f11515610b7c57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663e6488fc9308c8c8c8c8c8c6000604051602001526040518863ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200187600660200280838360005b83811015610c39578082015181840152602081019050610c1e565b5050505090500186600860200280838360005b83811015610c67578082015181840152602081019050610c4c565b5050505090500185600160200280838360005b83811015610c95578082015181840152602081019050610c7a565b5050505090500184600360200280838360005b83811015610cc3578082015181840152602081019050610ca8565b5050505090500183600360200280838360005b83811015610cf1578082015181840152602081019050610cd6565b5050505090500182600360200280838360005b83811015610d1f578082015181840152602081019050610d04565b50505050905001975050505050505050602060405180830381600087803b1515610d4857600080fd5b6102c65a03f11515610d5957600080fd5b505050604051805190509050600060010260001916816000191614151515610d8057600080fd5b600160036000856000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f8d898986000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610e4257600080fd5b6102c65a03f11515610e5357600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8c83600190046040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1515610f0257600080fd5b6102c65a03f11515610f1357600080fd5b505050806000191683600019168c73ffffffffffffffffffffffffffffffffffffffff167f44bca8cc6f9375e3d800b6361e71fdde37e4fc86bdc3a72c4f8f69bbd19a01f360405160405180910390a48093505b505050979650505050505050565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fe357600080fd5b600060149054906101000a900460ff16151515610fff57600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060149054906101000a900460ff1615151561108a57600080fd5b83600060058110151561109957fe5b602002015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110d757600080fd5b6110e2848484611342565b9050600160026000836000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550806000191684600060058110151561112c57fe5b602002015173ffffffffffffffffffffffffffffffffffffffff167f07d3242876ac355520b94ab74873262d83b5b81dbd5da781118f78cee0bbe74760405160405180910390a350505050565b60026020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60036020528060005260406000206000915054906101000a900460ff1681565b600060010281565b611f4081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561124857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561128457600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600083600060058110151561135357fe5b602002015184600160058110151561136757fe5b602002015185600260058110151561137b57fe5b602002015186600360058110151561138f57fe5b60200201518760046005811015156113a357fe5b60200201518760006004811015156113b757fe5b60200201518860016004811015156113cb57fe5b60200201518960026004811015156113df57fe5b60200201518a60036004811015156113f357fe5b60200201518a600060018110151561140757fe5b6020020151604051808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140186815260200185815260200184815260200183815260200182600019166000191681526020019a5050505050505050505050604051809103902090509392505050565b600060018560405180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040518091039020858585604051600081526020016040526000604051602001526040518085600019166000191681526020018460ff1660ff16815260200183600019166000191681526020018260001916600019168152602001945050505050602060405160208103908084039060008661646e5a03f1151561165d57600080fd5b50506020604051035173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614905095945050505050565b60008082840190508381101515156116b357fe5b8091505092915050565b6000806000806116ce8688306118df565b92506116da86886119d7565b9150848210806116e957508483105b156116f757600093506117cf565b6117aa8630600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630eefdbad6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561178a57600080fd5b6102c65a03f1151561179b57600080fd5b505050604051805190506118df565b9050848110156117ca576117be8686611a9a565b15156117c957600080fd5b5b600193505b5050509392505050565b60008473ffffffffffffffffffffffffffffffffffffffff166323b872dd8585856000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15156118ba57600080fd5b6102c65a03f115156118cb57600080fd5b505050604051805190509050949350505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e611f4061ffff1685856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600088803b15156119b657600080fd5b87f115156119c357600080fd5b505050506040518051905090509392505050565b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231611f4061ffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600088803b1515611a7a57600080fd5b87f11515611a8757600080fd5b5050505060405180519050905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630eefdbad6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611b4657600080fd5b6102c65a03f11515611b5757600080fd5b50505060405180519050846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611bef57600080fd5b6102c65a03f11515611c0057600080fd5b505050604051805190509050929150505600a165627a7a7230582051723af670e00f905ed79837151ff2f428c566a7778657a079e3873cc19020a10029", + "sourceMap": "1086:10007:2:-;;;268:5:37;247:26;;;;;;;;;;;;;;;;;;;;2040:140:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;509:10:39;501:5;;:18;;;;;;;;;;;;;;;;;;2155:17:2;2119:16;;:54;;;;;;;;;;;;;;;;;;2040:140;1086:10007;;;;;;", + "deployedSourceMap": "1086:10007:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;833:87:37;;;;;;;;;;;;;;2398:3551:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;247:26:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;666:85;;;;;;;;;;;;;;238:20:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6048:607:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1502:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1333:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1559:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1380:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1441:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;832:169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;833:87:37;653:5:39;;;;;;;;;;;639:19;;:10;:19;;;631:28;;;;;;;;568:6:37;;;;;;;;;;;560:15;;;;;;;;895:5;886:6;;:14;;;;;;;;;;;;;;;;;;906:9;;;;;;;;;;833:87::o;2398:3551:2:-;2835:20;2872:30;4402:25;5343:19;416:6:37;;;;;;;;;;;415:7;407:16;;;;;;;;2905:647:2;;;;;;;;;;2962:8;2905:647;;;;;;;;2996:16;;;;;;;;;;;:27;;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2905:647;;;;;;;;3067:14;3082:1;3067:17;;;;;;;;;;;;;2905:647;;;;;;;;3130:14;3145:1;3130:17;;;;;;;;;;;;;2905:647;;;;;;;;3191:14;3206:1;3191:17;;;;;;;;;;;;;2905:647;;;;;;;;;;;;;;;;3283:11;3295:1;3283:14;;;;;;;;;;;;;2905:647;;;;3323:11;3335:1;3323:14;;;;;;;;;;;;;2905:647;;;;3375:11;3387:1;3375:14;;;;;;;;;;;;;2905:647;;;;3423:11;3435:1;3423:14;;;;;;;;;;;;;2905:647;;;3503:12;2905:25;:647::i;:::-;2872:680;;3567:15;:39;3583:22;3567:39;;;;;;;;;;;;;;;;;;;;;;;;;;;3563:192;;;3682:22;3622:83;;;3672:8;3622:83;;3637:32;3631:39;;;;;;;;3622:83;;;;;;;;;;;;1433:1;1425:10;;3719:25;;;;3563:192;3769:18;:42;3788:22;3769:42;;;;;;;;;;;;;;;;;;;;;;;;;;;3765:190;;;3882:22;3827:78;;;3872:8;3827:78;;3842:27;3836:34;;;;;;;;3827:78;;;;;;;;;;;;1433:1;1425:10;;3919:25;;;;3765:190;3970:168;4000:8;4022:22;4058:11;4070:1;4058:14;;;;;;;;;;;;;4086:11;4098:1;4086:14;;;;;;;;;;;;;4114:11;4126:1;4114:14;;;;;;;;;;;;;3970:16;:168::i;:::-;3969:169;3965:384;;;4263:22;4154:145;;;4237:8;4154:145;;4186:32;4180:39;;;;;;;;4154:145;;;;;;;;;;;;1433:1;1425:10;;4313:25;;;;3965:384;4430:34;4449:11;4461:1;4449:14;;;;;;;;;;;;;4430:11;4442:1;4430:14;;;;;;;;;;;;;:18;;:34;;;;:::i;:::-;4402:62;;4480:129;4526:8;4548:14;4563:1;4548:17;;;;;;;;;;;;;4579:20;4480:32;:129::i;:::-;4479:130;4475:362;;;4751:22;4625:162;;;4725:8;4625:162;;4657:49;4651:56;;;;;;;;4625:162;;;;;;;;;;;;1433:1;1425:10;;4801:25;;;;4475:362;4935:1;4912:20;:24;4908:276;;;4977:182;5017:14;5032:1;5017:17;;;;;;;;;;;;;5056:8;5094:4;5121:20;4977:18;:182::i;:::-;4952:221;;;;;;;;4908:276;5365:16;;;;;;;;;;;:27;;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:43;;;5430:4;5449:14;5477:11;5502:12;5528:11;5553;5578;5365:234;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5343:256:2;;1433:1;1425:10;;5618:33;;;:11;:33;;;;;5610:42;;;;;;;;5705:4;5663:15;:39;5679:22;5663:39;;;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;5768:16;;;;;;;;;;;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:37;;;5806:8;5824:11;5816:20;;;5768:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5901:11;5848:65;;;5877:22;5848:65;;;5867:8;5848:65;;;;;;;;;;;;5931:11;5924:18;;429:1:37;2398:3551:2;;;;;;;;;;;;:::o;247:26:37:-;;;;;;;;;;;;;:::o;666:85::-;653:5:39;;;;;;;;;;;639:19;;:10;:19;;;631:28;;;;;;;;416:6:37;;;;;;;;;;;415:7;407:16;;;;;;;;729:4;720:6;;:13;;;;;;;;;;;;;;;;;;739:7;;;;;;;;;;666:85::o;238:20:39:-;;;;;;;;;;;;;:::o;6048:607:2:-;6342:30;416:6:37;;;;;;;;;;;415:7;407:16;;;;;;;;6309:19:2;6329:1;6309:22;;;;;;;;;;;;;6295:36;;:10;:36;;;6287:45;;;;;;;;6375:135;6414:19;6447:16;6477:23;6375:25;:135::i;:::-;6342:168;;6565:4;6520:18;:42;6539:22;6520:42;;;;;;;;;;;;;;;;;;:49;;;;;;;;;;;;;;;;;;6625:22;6579:69;;;6601:19;6621:1;6601:22;;;;;;;;;;;;;6579:69;;;;;;;;;;;;6048:607;;;;:::o;1502:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;1333:40::-;;;;;;;;;;;;;:::o;1559:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;1380:55::-;1433:1;1425:10;;1380:55;:::o;1441:54::-;1491:4;1441:54;:::o;832:169:39:-;653:5;;;;;;;;;;;639:19;;:10;:19;;;631:28;;;;;;;;928:1;908:22;;:8;:22;;;;900:31;;;;;;;;965:8;937:37;;958:5;;;;;;;;;;;937:37;;;;;;;;;;;;988:8;980:5;;:16;;;;;;;;;;;;;;;;;;832:169;:::o;6845:865:2:-;7051:31;7128:19;7148:1;7128:22;;;;;;;;;;;;;7176:19;7196:1;7176:22;;;;;;;;;;;;;7235:19;7255:1;7235:22;;;;;;;;;;;;;7299:19;7319:1;7299:22;;;;;;;;;;;;;7361:19;7381:1;7361:22;;;;;;;;;;;;;7424:16;7441:1;7424:19;;;;;;;;;;;;;7465:16;7482:1;7465:19;;;;;;;;;;;;;7518:16;7535:1;7518:19;;;;;;;;;;;;;7567:16;7584:1;7567:19;;;;;;;;;;;;;7638:23;7662:1;7638:26;;;;;;;;;;;;;7105:598;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7098:605;;6845:865;;;;;:::o;9165:360::-;9345:11;9389:129;9458:4;9412:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9477:1;9492;9507;9389:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9379:139;;:6;:139;;;9372:146;;9165:360;;;;;;;:::o;1007:129:38:-;1065:7;1080:9;1096:1;1092;:5;1080:17;;1115:1;1110;:6;;1103:14;;;;;;1130:1;1123:8;;1007:129;;;;;:::o;7921:1107:2:-;8096:37;8222:19;8307:20;8596:27;8244:53;8257:14;8273:8;8291:4;8244:12;:53::i;:::-;8222:75;;8330:36;8341:14;8357:8;8330:10;:36::i;:::-;8307:59;;8399:20;8381:15;:38;:79;;;;8440:20;8423:14;:37;8381:79;8377:122;;;8483:5;8476:12;;;;8377:122;8626:128;8652:14;8688:4;8707:16;;;;;;;;;;;:35;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8626:12;:128::i;:::-;8596:158;;8881:20;8856:22;:45;8852:148;;;8925:63;8951:14;8967:20;8925:25;:63::i;:::-;8917:72;;;;;;;;8852:148;9017:4;9010:11;;7921:1107;;;;;;;;;:::o;10843:248::-;11001:13;11043:6;11037:26;;;11064:5;11071:3;11076:7;11037:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11030:54;;10843:248;;;;;;:::o;10004:337::-;10150:15;10238:5;10232:22;;;1491:4;10232:52;;10298:5;10317:7;10232:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10225:109;;10004:337;;;;;:::o;9621:265::-;9740:13;9826:5;9820:22;;;1491:4;9820:52;;9873:5;9820:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9813:66;;9621:265;;;;:::o;10458:272::-;10577:13;10619:5;10613:20;;;10655:16;;;;;;;;;;;:35;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10707:6;10613:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10606:117;;10458:272;;;;:::o", + "source": "/*\n\n Copyright 2017 Dharma Labs Inc.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n*/\n\npragma solidity 0.4.18;\n\nimport \"./ContractRegistry.sol\";\nimport \"zeppelin-solidity/contracts/lifecycle/Pausable.sol\";\nimport \"zeppelin-solidity/contracts/math/SafeMath.sol\";\nimport \"zeppelin-solidity/contracts/token/ERC20/ERC20.sol\";\n\n\n/**\n * The CreditorProxy is a thin wrapper around the DebtKernel\n * It implements creditor-driven loans as specified by DIP-1\n *\n * Authors: Bo Henderson & Shivani Gupta & Dharma Team\n * DIP: https://github.com/dharmaprotocol/DIPs/issues/1\n */\ncontract CreditorProxy is Pausable {\n using SafeMath for uint;\n\n enum Errors {\n DEBT_OFFER_CANCELLED,\n DEBT_OFFER_ALREADY_FILLED,\n DEBT_OFFER_NON_CONSENSUAL,\n CREDITOR_BALANCE_OR_ALLOWANCE_INSUFFICIENT\n }\n\n ContractRegistry public contractRegistry;\n\n bytes32 constant public NULL_ISSUANCE_HASH = bytes32(0);\n uint16 constant public EXTERNAL_QUERY_GAS_LIMIT = 8000;\n\n mapping (bytes32 => bool) public debtOfferCancelled;\n mapping (bytes32 => bool) public debtOfferFilled;\n\n event LogDebtOfferCancelled(\n address indexed _creditor,\n bytes32 indexed _creditorCommitmentHash\n );\n\n event LogDebtOfferFilled(\n address indexed _creditor,\n bytes32 indexed _creditorCommitmentHash,\n bytes32 indexed _agreementId\n );\n\n event LogError(\n uint8 indexed _errorId,\n address indexed _creditor,\n bytes32 indexed _creditorCommitmentHash\n );\n\n function CreditorProxy(address _contractRegistry)\n public\n {\n contractRegistry = ContractRegistry(_contractRegistry);\n }\n\n /*\n * Submit debt order to DebtKernel if it is consensual with creditor's request\n * Creditor signature in arguments is only used internally,\n * It will not be verified by the Debt Kernel\n */\n function fillDebtOffer(\n address creditor,\n address[6] orderAddresses, // repayment-router, debtor, uw, tc, p-token, relayer\n uint[8] orderValues, // rr, salt, pa, uwFee, rFee, cFee, dFee, expTime\n bytes32[1] orderBytes32, // tcParams\n uint8[3] signaturesV, // debtV, credV, uwV\n bytes32[3] signaturesR,\n bytes32[3] signaturesS\n )\n public\n whenNotPaused\n returns (bytes32 _agreementId)\n {\n\n bytes32 creditorCommitmentHash = getCreditorCommitmentHash(\n [\n creditor,\n address(contractRegistry.debtKernel()), // debt kernel version\n orderAddresses[0], // repayment router version\n orderAddresses[3], // terms contract address\n orderAddresses[4] // principal token adddress\n\n ],\n [\n orderValues[1], // salt\n orderValues[2], // principal amount\n orderValues[5], // creditor fee\n orderValues[7] // commitmentExpirationTimestampInSec\n ],\n orderBytes32 // termsContractParameters\n );\n\n if (debtOfferFilled[creditorCommitmentHash]) {\n LogError(uint8(Errors.DEBT_OFFER_ALREADY_FILLED), creditor, creditorCommitmentHash);\n return NULL_ISSUANCE_HASH;\n }\n\n if (debtOfferCancelled[creditorCommitmentHash]) {\n LogError(uint8(Errors.DEBT_OFFER_CANCELLED), creditor, creditorCommitmentHash);\n return NULL_ISSUANCE_HASH;\n }\n\n if (!isValidSignature(\n creditor,\n creditorCommitmentHash,\n signaturesV[1],\n signaturesR[1],\n signaturesS[1]\n )) {\n LogError(\n uint8(Errors.DEBT_OFFER_NON_CONSENSUAL),\n creditor,\n creditorCommitmentHash\n );\n return NULL_ISSUANCE_HASH;\n }\n\n // principal amount + creditor fee\n uint totalCreditorPayment = orderValues[2].add(orderValues[5]);\n\n if (!hasSufficientBalanceAndAllowance(\n creditor,\n orderAddresses[4],\n totalCreditorPayment\n )) {\n LogError(\n uint8(Errors.CREDITOR_BALANCE_OR_ALLOWANCE_INSUFFICIENT),\n creditor,\n creditorCommitmentHash\n );\n return NULL_ISSUANCE_HASH;\n }\n\n // Transfer principal from creditor to CreditorProxy\n if (totalCreditorPayment > 0) {\n require(\n transferTokensFrom(\n orderAddresses[4],\n creditor,\n address(this),\n totalCreditorPayment\n )\n );\n }\n\n // Grant allowance to the TokenTransferProxy for this contract.\n\n\n // Fill debt order with this contract playing the role of creditor\n bytes32 agreementId = contractRegistry.debtKernel().fillDebtOrder(\n address(this),\n orderAddresses,\n orderValues,\n orderBytes32,\n signaturesV,\n signaturesR,\n signaturesS\n );\n\n require(agreementId != NULL_ISSUANCE_HASH);\n\n debtOfferFilled[creditorCommitmentHash] = true;\n\n // transfer debt token to real creditor\n contractRegistry.debtToken().transfer(creditor, uint256(agreementId));\n\n LogDebtOfferFilled(creditor, creditorCommitmentHash, agreementId);\n\n return agreementId;\n }\n\n /**\n * Allows creditor to prevent a debt offer from being used in the future\n */\n function cancelDebtOffer(\n address[5] commitmentAddresses,\n uint[4] commitmentValues,\n bytes32[1] termsContractParameters\n )\n public\n whenNotPaused\n {\n // sender must be the creditor\n require(msg.sender == commitmentAddresses[0]);\n bytes32 creditorCommitmentHash = getCreditorCommitmentHash(\n commitmentAddresses,\n commitmentValues,\n termsContractParameters\n );\n debtOfferCancelled[creditorCommitmentHash] = true;\n LogDebtOfferCancelled(commitmentAddresses[0], creditorCommitmentHash);\n }\n\n ////////////////////////\n // INTERNAL FUNCTIONS //\n ////////////////////////\n\n /**\n * Returns the messaged signed by the creditor to indicate their commitment\n */\n function getCreditorCommitmentHash(\n address[5] commitmentAddresses,\n uint[4] commitmentValues,\n bytes32[1] termsContractParameters\n )\n internal\n pure\n returns (bytes32 _creditorCommitmentHash)\n {\n return keccak256(\n commitmentAddresses[0], // creditor\n commitmentAddresses[1], // debt kernel version\n commitmentAddresses[2], // repayment router version\n commitmentAddresses[3], // terms contract address\n commitmentAddresses[4], // principal token address\n commitmentValues[0], // salt\n commitmentValues[1], // principal amount\n commitmentValues[2], // creditor fee\n commitmentValues[3], // commitmentExpirationTimestampInSec\n termsContractParameters[0] // terms contract parameters\n );\n }\n\n\n /**\n * Assert that the creditor has a sufficient token balance and has granted the token transfer\n * proxy contract sufficient allowance to suffice for the principal and creditor fee.\n */\n function hasSufficientBalanceAndAllowance(\n address creditor,\n address principalToken,\n uint totalCreditorPayment\n )\n internal\n returns (bool _isBalanceAndAllowanceSufficient)\n {\n // The allowance that this contract has for a creditor's tokens.\n uint proxyAllowance = getAllowance(principalToken, creditor, address(this));\n uint creditorBalance = getBalance(principalToken, creditor);\n\n if (creditorBalance < totalCreditorPayment || proxyAllowance < totalCreditorPayment) {\n return false;\n }\n\n // The allowance that the token transfer proxy has for this contract's tokens.\n uint tokenTransferAllowance = getAllowance(\n principalToken,\n address(this),\n contractRegistry.tokenTransferProxy()\n );\n\n // Ensure the token transfer proxy can transfer tokens from the creditor proxy\n if (tokenTransferAllowance < totalCreditorPayment) {\n require(setTokenTransferAllowance(principalToken, totalCreditorPayment));\n }\n\n return true;\n }\n\n /**\n * Given a hashed message, a signer's address, and a signature,\n * returns whether the signature is valid.\n */\n function isValidSignature(\n address signer,\n bytes32 hash,\n uint8 v,\n bytes32 r,\n bytes32 s\n )\n internal\n pure\n returns (bool _valid)\n {\n return signer == ecrecover(\n keccak256(\"\\x19Ethereum Signed Message:\\n32\", hash),\n v,\n r,\n s\n );\n }\n\n /**\n * Helper function for querying an address' balance on a given token.\n */\n function getBalance(\n address token,\n address owner\n )\n internal\n view\n returns (uint _balance)\n {\n // Limit gas to prevent reentrancy.\n return ERC20(token).balanceOf.gas(EXTERNAL_QUERY_GAS_LIMIT)(owner);\n }\n\n /**\n * Helper function for querying this contract's allowance for transferring the given token.\n */\n function getAllowance(\n address token,\n address owner,\n address granter\n )\n internal\n view\n returns (uint _allowance)\n {\n // Limit gas to prevent reentrancy.\n return ERC20(token).allowance.gas(EXTERNAL_QUERY_GAS_LIMIT)(\n owner,\n granter\n );\n }\n\n /**\n * Helper function for approving this address' allowance to Dharma's token transfer proxy.\n */\n function setTokenTransferAllowance(\n address token,\n uint amount\n )\n internal\n returns (bool _success)\n {\n return ERC20(token).approve(\n address(contractRegistry.tokenTransferProxy()),\n amount\n );\n }\n\n\n /**\n * Helper function for transferring a specified amount of tokens between two parties.\n */\n function transferTokensFrom(\n address _token,\n address _from,\n address _to,\n uint _amount\n )\n internal\n returns (bool _success)\n {\n return ERC20(_token).transferFrom(_from, _to, _amount);\n }\n}\n", "sourcePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/CreditorProxy.sol", "ast": { "attributes": { @@ -8923,7 +8923,7 @@ } }, "links": {}, - "address": "0xd9b303da12a84a405c482c91592b5bd00a2317e2" + "address": "0x384e128de8bc07a6ec4b09b3c09052037db23af1" }, "70": { "events": { @@ -9023,5 +9023,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:53:24.855Z" + "updatedAt": "2018-10-09T23:24:24.866Z" } \ No newline at end of file diff --git a/artifacts/json/DebtKernel.json b/artifacts/json/DebtKernel.json index c167c09b..18df4c19 100644 --- a/artifacts/json/DebtKernel.json +++ b/artifacts/json/DebtKernel.json @@ -436,7 +436,7 @@ }, { "attributes": { - "SourceUnit": 3541, + "SourceUnit": 3549, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/DebtToken.sol", "file": "./DebtToken.sol", "scope": 2639, @@ -451,7 +451,7 @@ }, { "attributes": { - "SourceUnit": 4758, + "SourceUnit": 4766, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/TermsContract.sol", "file": "./TermsContract.sol", "scope": 2639, @@ -466,7 +466,7 @@ }, { "attributes": { - "SourceUnit": 5207, + "SourceUnit": 5215, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/TokenTransferProxy.sol", "file": "./TokenTransferProxy.sol", "scope": 2639, @@ -17682,7 +17682,7 @@ } }, "links": {}, - "address": "0x4a42fbdae13791341361f9d2dd69873d83e4b816" + "address": "0x24db52da9748fbb889a5bcc4468b32fbc9172348" }, "70": { "events": { @@ -17814,5 +17814,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:51:53.185Z" + "updatedAt": "2018-10-09T23:22:13.505Z" } \ No newline at end of file diff --git a/artifacts/json/DebtRegistry.json b/artifacts/json/DebtRegistry.json index 048ed442..54b1f638 100644 --- a/artifacts/json/DebtRegistry.json +++ b/artifacts/json/DebtRegistry.json @@ -571,7 +571,7 @@ }, { "attributes": { - "SourceUnit": 6272, + "SourceUnit": 6280, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/libraries/PermissionsLib.sol", "file": "./libraries/PermissionsLib.sol", "scope": 3167, @@ -7984,7 +7984,7 @@ } }, "links": {}, - "address": "0x0db51854d2b302e35d8f0f7a4fabb2415f9e42a5" + "address": "0x3940a1aa50eac96c2b0f47befb1443f5636649ab" }, "70": { "events": { @@ -8164,5 +8164,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:51:53.167Z" + "updatedAt": "2018-10-09T23:22:13.473Z" } \ No newline at end of file diff --git a/artifacts/json/DebtToken.json b/artifacts/json/DebtToken.json index 7112b83f..903a52fe 100644 --- a/artifacts/json/DebtToken.json +++ b/artifacts/json/DebtToken.json @@ -768,7 +768,7 @@ }, { "attributes": { - "SourceUnit": 3159, + "SourceUnit": 3167, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/DebtRegistry.sol", "file": "./DebtRegistry.sol", "scope": 3549, @@ -783,7 +783,7 @@ }, { "attributes": { - "SourceUnit": 3551, + "SourceUnit": 3559, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/ERC165.sol", "file": "./ERC165.sol", "scope": 3549, @@ -798,7 +798,7 @@ }, { "attributes": { - "SourceUnit": 6272, + "SourceUnit": 6280, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/libraries/PermissionsLib.sol", "file": "./libraries/PermissionsLib.sol", "scope": 3549, @@ -6202,7 +6202,7 @@ } }, "links": {}, - "address": "0xa99e0834ce4ac707371cbd6d938773b660552b91" + "address": "0xf0b37b0f7e0715b5a7d19ffb2259bb9a8caa0720" }, "70": { "events": { @@ -6341,5 +6341,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:53:04.888Z" + "updatedAt": "2018-10-09T23:23:58.036Z" } \ No newline at end of file diff --git a/artifacts/json/DeprecatedERC721.json b/artifacts/json/DeprecatedERC721.json index d76c06de..c1fbbf80 100644 --- a/artifacts/json/DeprecatedERC721.json +++ b/artifacts/json/DeprecatedERC721.json @@ -789,5 +789,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.433Z" + "updatedAt": "2018-10-09T23:15:05.489Z" } \ No newline at end of file diff --git a/artifacts/json/DharmaMultiSigWallet.json b/artifacts/json/DharmaMultiSigWallet.json index 7b6035e6..9b392686 100644 --- a/artifacts/json/DharmaMultiSigWallet.json +++ b/artifacts/json/DharmaMultiSigWallet.json @@ -657,7 +657,7 @@ }, { "attributes": { - "SourceUnit": 13919, + "SourceUnit": 13927, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/wallet/MultiSigWallet.sol", "file": "./MultiSigWallet.sol", "scope": 12937, @@ -5191,7 +5191,7 @@ "42": { "events": {}, "links": {}, - "address": "0x73b8e624c2e0e55e7eaf5ff669a7c63f95781bb4" + "address": "0xa721f5c413fc06104e2544f0413075bfc94d8363" }, "70": { "events": {}, @@ -5200,5 +5200,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:53:24.844Z" + "updatedAt": "2018-10-09T23:24:24.856Z" } \ No newline at end of file diff --git a/artifacts/json/DummyContract.json b/artifacts/json/DummyContract.json index b15a666d..577d1488 100644 --- a/artifacts/json/DummyContract.json +++ b/artifacts/json/DummyContract.json @@ -216,7 +216,7 @@ }, { "attributes": { - "SourceUnit": 6272, + "SourceUnit": 6280, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/libraries/PermissionsLib.sol", "file": "../libraries/PermissionsLib.sol", "scope": 9944, @@ -1769,7 +1769,7 @@ "42": { "events": {}, "links": {}, - "address": "0x64481c13201a7baabd3a440eeba57170336f0e70" + "address": "0x6fc77e8aa556b15ac07e61ebc0a56a4ff636eee9" }, "70": { "events": {}, @@ -1778,5 +1778,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:01.258Z" + "updatedAt": "2018-10-09T23:19:45.788Z" } \ No newline at end of file diff --git a/artifacts/json/DummyToken.json b/artifacts/json/DummyToken.json index f6a09e18..a2526bce 100644 --- a/artifacts/json/DummyToken.json +++ b/artifacts/json/DummyToken.json @@ -2152,5 +2152,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:48:16.849Z" + "updatedAt": "2018-10-09T23:17:48.460Z" } \ No newline at end of file diff --git a/artifacts/json/ERC165.json b/artifacts/json/ERC165.json index b58933db..f8860473 100644 --- a/artifacts/json/ERC165.json +++ b/artifacts/json/ERC165.json @@ -171,5 +171,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.420Z" + "updatedAt": "2018-10-09T23:15:05.470Z" } \ No newline at end of file diff --git a/artifacts/json/ERC20.json b/artifacts/json/ERC20.json index ff4b5980..04ae070e 100644 --- a/artifacts/json/ERC20.json +++ b/artifacts/json/ERC20.json @@ -741,5 +741,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.433Z" + "updatedAt": "2018-10-09T23:15:05.489Z" } \ No newline at end of file diff --git a/artifacts/json/ERC20Basic.json b/artifacts/json/ERC20Basic.json index c8fd4704..01ff4d4c 100644 --- a/artifacts/json/ERC20Basic.json +++ b/artifacts/json/ERC20Basic.json @@ -510,5 +510,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.427Z" + "updatedAt": "2018-10-09T23:15:05.486Z" } \ No newline at end of file diff --git a/artifacts/json/ERC721.json b/artifacts/json/ERC721.json index 979c1171..0c283839 100644 --- a/artifacts/json/ERC721.json +++ b/artifacts/json/ERC721.json @@ -1110,5 +1110,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.439Z" + "updatedAt": "2018-10-09T23:15:05.493Z" } \ No newline at end of file diff --git a/artifacts/json/ERC721Basic.json b/artifacts/json/ERC721Basic.json index 284717af..5862045e 100644 --- a/artifacts/json/ERC721Basic.json +++ b/artifacts/json/ERC721Basic.json @@ -1663,5 +1663,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.452Z" + "updatedAt": "2018-10-09T23:15:05.501Z" } \ No newline at end of file diff --git a/artifacts/json/ERC721BasicToken.json b/artifacts/json/ERC721BasicToken.json index 1b7e3e95..5aab3489 100644 --- a/artifacts/json/ERC721BasicToken.json +++ b/artifacts/json/ERC721BasicToken.json @@ -8709,5 +8709,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.625Z" + "updatedAt": "2018-10-09T23:15:05.786Z" } \ No newline at end of file diff --git a/artifacts/json/ERC721CollateralizedSimpleInterestTermsContract.json b/artifacts/json/ERC721CollateralizedSimpleInterestTermsContract.json index d2894ee4..226d9cda 100644 --- a/artifacts/json/ERC721CollateralizedSimpleInterestTermsContract.json +++ b/artifacts/json/ERC721CollateralizedSimpleInterestTermsContract.json @@ -429,7 +429,7 @@ }, { "attributes": { - "SourceUnit": 6053, + "SourceUnit": 6061, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/examples/SimpleInterestTermsContract.sol", "file": "./SimpleInterestTermsContract.sol", "scope": 5357, @@ -444,7 +444,7 @@ }, { "attributes": { - "SourceUnit": 4167, + "SourceUnit": 4175, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/ERC721Collateralizer.sol", "file": "../ERC721Collateralizer.sol", "scope": 5357, @@ -1445,7 +1445,7 @@ "42": { "events": {}, "links": {}, - "address": "0xe44c8dbcb6dab51c4d5291788ec3fb82d2fbad12" + "address": "0x043e8c93aa3f535fb58e8280cead1d87100d8849" }, "70": { "events": {}, @@ -1454,5 +1454,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:53:04.862Z" + "updatedAt": "2018-10-09T23:23:58.011Z" } \ No newline at end of file diff --git a/artifacts/json/ERC721Collateralizer.json b/artifacts/json/ERC721Collateralizer.json index 4fd8da94..bc7432ca 100644 --- a/artifacts/json/ERC721Collateralizer.json +++ b/artifacts/json/ERC721Collateralizer.json @@ -516,7 +516,7 @@ }, { "attributes": { - "SourceUnit": 4758, + "SourceUnit": 4766, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/TermsContract.sol", "file": "./TermsContract.sol", "scope": 4175, @@ -531,7 +531,7 @@ }, { "attributes": { - "SourceUnit": 3159, + "SourceUnit": 3167, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/DebtRegistry.sol", "file": "./DebtRegistry.sol", "scope": 4175, @@ -561,7 +561,7 @@ }, { "attributes": { - "SourceUnit": 4458, + "SourceUnit": 4466, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/ERC721TokenRegistry.sol", "file": "./ERC721TokenRegistry.sol", "scope": 4175, @@ -576,7 +576,7 @@ }, { "attributes": { - "SourceUnit": 6272, + "SourceUnit": 6280, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/libraries/PermissionsLib.sol", "file": "./libraries/PermissionsLib.sol", "scope": 4175, @@ -9498,7 +9498,7 @@ } }, "links": {}, - "address": "0xf3abfc01a071e8bbf3f820c2629510b9bc5e3229" + "address": "0xa4408bcdbba1720d6973563a3c24965534c0d7b2" }, "70": { "events": { @@ -9647,5 +9647,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:53:04.896Z" + "updatedAt": "2018-10-09T23:23:58.045Z" } \ No newline at end of file diff --git a/artifacts/json/ERC721Enumerable.json b/artifacts/json/ERC721Enumerable.json index 0d273dce..00c0a7db 100644 --- a/artifacts/json/ERC721Enumerable.json +++ b/artifacts/json/ERC721Enumerable.json @@ -1063,5 +1063,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.440Z" + "updatedAt": "2018-10-09T23:15:05.493Z" } \ No newline at end of file diff --git a/artifacts/json/ERC721Metadata.json b/artifacts/json/ERC721Metadata.json index 335493ab..f4377eb1 100644 --- a/artifacts/json/ERC721Metadata.json +++ b/artifacts/json/ERC721Metadata.json @@ -1054,5 +1054,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.441Z" + "updatedAt": "2018-10-09T23:15:05.494Z" } \ No newline at end of file diff --git a/artifacts/json/ERC721Receiver.json b/artifacts/json/ERC721Receiver.json index 7060df18..955dbdeb 100644 --- a/artifacts/json/ERC721Receiver.json +++ b/artifacts/json/ERC721Receiver.json @@ -274,5 +274,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.427Z" + "updatedAt": "2018-10-09T23:15:05.486Z" } \ No newline at end of file diff --git a/artifacts/json/ERC721Token.json b/artifacts/json/ERC721Token.json index 419f43a3..d4e2a82f 100644 --- a/artifacts/json/ERC721Token.json +++ b/artifacts/json/ERC721Token.json @@ -5399,7 +5399,7 @@ "42": { "events": {}, "links": {}, - "address": "0xebc1a917d464d779ad5eba480de9935bf4ce9760" + "address": "0x3e9171ebba163b92a271144b2fe907b10c9a5131" }, "70": { "events": {}, @@ -5408,5 +5408,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:01.301Z" + "updatedAt": "2018-10-09T23:19:45.827Z" } \ No newline at end of file diff --git a/artifacts/json/ERC721TokenRegistry.json b/artifacts/json/ERC721TokenRegistry.json index b90e031d..b0b9a184 100644 --- a/artifacts/json/ERC721TokenRegistry.json +++ b/artifacts/json/ERC721TokenRegistry.json @@ -4183,7 +4183,7 @@ } }, "links": {}, - "address": "0xd1ec79ec665dddf7a65024c44dd75f625e88271f" + "address": "0xa6ff31840df1b2644f443410170412ed402df1bc" }, "70": { "events": { @@ -4210,5 +4210,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:53:04.870Z" + "updatedAt": "2018-10-09T23:23:58.017Z" } \ No newline at end of file diff --git a/artifacts/json/GeneScienceInterface.json b/artifacts/json/GeneScienceInterface.json index 3289d871..0199fd31 100644 --- a/artifacts/json/GeneScienceInterface.json +++ b/artifacts/json/GeneScienceInterface.json @@ -51683,5 +51683,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.863Z" + "updatedAt": "2018-10-09T23:15:06.621Z" } \ No newline at end of file diff --git a/artifacts/json/IncompatibleTermsContract.json b/artifacts/json/IncompatibleTermsContract.json index 3618cdfe..727aa889 100644 --- a/artifacts/json/IncompatibleTermsContract.json +++ b/artifacts/json/IncompatibleTermsContract.json @@ -151,7 +151,7 @@ }, { "attributes": { - "SourceUnit": 4758, + "SourceUnit": 4766, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/TermsContract.sol", "file": "../../TermsContract.sol", "scope": 12594, @@ -987,7 +987,7 @@ "42": { "events": {}, "links": {}, - "address": "0xc8d55fd3717f8c3f8d31456504ab84b11b80520e" + "address": "0x0c5fdac9b1fd226bc853375a2f8c68fcdde5d194" }, "70": { "events": {}, @@ -996,5 +996,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:25.365Z" + "updatedAt": "2018-10-09T23:20:25.126Z" } \ No newline at end of file diff --git a/artifacts/json/KittiesERC721.json b/artifacts/json/KittiesERC721.json index 1f18bb5d..d76cd445 100644 --- a/artifacts/json/KittiesERC721.json +++ b/artifacts/json/KittiesERC721.json @@ -51815,5 +51815,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.810Z" + "updatedAt": "2018-10-09T23:15:06.810Z" } \ No newline at end of file diff --git a/artifacts/json/KittiesERC721Metadata.json b/artifacts/json/KittiesERC721Metadata.json index 76b05352..05da4bef 100644 --- a/artifacts/json/KittiesERC721Metadata.json +++ b/artifacts/json/KittiesERC721Metadata.json @@ -51669,5 +51669,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.886Z" + "updatedAt": "2018-10-09T23:15:06.098Z" } \ No newline at end of file diff --git a/artifacts/json/KittiesOwnable.json b/artifacts/json/KittiesOwnable.json index ad0d1c79..a26f61b1 100644 --- a/artifacts/json/KittiesOwnable.json +++ b/artifacts/json/KittiesOwnable.json @@ -51676,5 +51676,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.914Z" + "updatedAt": "2018-10-09T23:15:06.145Z" } \ No newline at end of file diff --git a/artifacts/json/KittiesPausable.json b/artifacts/json/KittiesPausable.json index 1ae35d45..ca969678 100644 --- a/artifacts/json/KittiesPausable.json +++ b/artifacts/json/KittiesPausable.json @@ -51724,5 +51724,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.995Z" + "updatedAt": "2018-10-09T23:15:06.192Z" } \ No newline at end of file diff --git a/artifacts/json/KittyAccessControl.json b/artifacts/json/KittyAccessControl.json index e721103a..bfcdaa73 100644 --- a/artifacts/json/KittyAccessControl.json +++ b/artifacts/json/KittyAccessControl.json @@ -51770,5 +51770,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.953Z" + "updatedAt": "2018-10-09T23:15:06.235Z" } \ No newline at end of file diff --git a/artifacts/json/KittyAuction.json b/artifacts/json/KittyAuction.json index bffd0e59..158b53dd 100644 --- a/artifacts/json/KittyAuction.json +++ b/artifacts/json/KittyAuction.json @@ -52525,5 +52525,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:36.264Z" + "updatedAt": "2018-10-09T23:15:06.992Z" } \ No newline at end of file diff --git a/artifacts/json/KittyBase.json b/artifacts/json/KittyBase.json index bb533635..e7768587 100644 --- a/artifacts/json/KittyBase.json +++ b/artifacts/json/KittyBase.json @@ -51956,5 +51956,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:36.187Z" + "updatedAt": "2018-10-09T23:15:06.304Z" } \ No newline at end of file diff --git a/artifacts/json/KittyBreeding.json b/artifacts/json/KittyBreeding.json index cb6fb5f6..fdfa739f 100644 --- a/artifacts/json/KittyBreeding.json +++ b/artifacts/json/KittyBreeding.json @@ -52418,5 +52418,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:36.217Z" + "updatedAt": "2018-10-09T23:15:06.903Z" } \ No newline at end of file diff --git a/artifacts/json/KittyCore.json b/artifacts/json/KittyCore.json index 09b172c6..95894b85 100644 --- a/artifacts/json/KittyCore.json +++ b/artifacts/json/KittyCore.json @@ -52746,7 +52746,7 @@ "42": { "events": {}, "links": {}, - "address": "0x116a62dad694e694f17cbccc917739c3f0c51666" + "address": "0xb130247732a351dbe4f6a463d0c9dd045e9d5f9d" }, "70": { "events": {}, @@ -52755,5 +52755,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:53:04.937Z" + "updatedAt": "2018-10-09T23:23:58.086Z" } \ No newline at end of file diff --git a/artifacts/json/KittyMinting.json b/artifacts/json/KittyMinting.json index 537e8ea4..8f3a4353 100644 --- a/artifacts/json/KittyMinting.json +++ b/artifacts/json/KittyMinting.json @@ -52641,5 +52641,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:36.305Z" + "updatedAt": "2018-10-09T23:15:07.045Z" } \ No newline at end of file diff --git a/artifacts/json/KittyOwnership.json b/artifacts/json/KittyOwnership.json index 81c68859..ee45658e 100644 --- a/artifacts/json/KittyOwnership.json +++ b/artifacts/json/KittyOwnership.json @@ -52205,5 +52205,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:36.421Z" + "updatedAt": "2018-10-09T23:15:06.755Z" } \ No newline at end of file diff --git a/artifacts/json/Migrations.json b/artifacts/json/Migrations.json index 24aea637..ce2a6426 100644 --- a/artifacts/json/Migrations.json +++ b/artifacts/json/Migrations.json @@ -818,7 +818,7 @@ "42": { "events": {}, "links": {}, - "address": "0x4c4bd0258c47645a61a55c66c40168e61dcb19b2" + "address": "0x4ebdc600ff9d56be607c51ef918f0dcec4c0ebb8" }, "70": { "events": {}, @@ -827,5 +827,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:53:24.835Z" + "updatedAt": "2018-10-09T23:24:24.847Z" } \ No newline at end of file diff --git a/artifacts/json/MintableERC721Token.json b/artifacts/json/MintableERC721Token.json index 844a38e3..37774fdd 100644 --- a/artifacts/json/MintableERC721Token.json +++ b/artifacts/json/MintableERC721Token.json @@ -482,7 +482,7 @@ }, { "attributes": { - "SourceUnit": 3551, + "SourceUnit": 3559, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/ERC165.sol", "file": "../ERC165.sol", "scope": 10001, @@ -1236,7 +1236,7 @@ "42": { "events": {}, "links": {}, - "address": "0x67b0b219faf38b7a862c480213b2860e645c264f" + "address": "0x574bacd5fb68c4e004546fe87b108bb6f5240842" }, "70": { "events": {}, @@ -1245,5 +1245,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:53:04.860Z" + "updatedAt": "2018-10-09T23:23:58.009Z" } \ No newline at end of file diff --git a/artifacts/json/MintableToken.json b/artifacts/json/MintableToken.json index ce7e439e..d37c9384 100644 --- a/artifacts/json/MintableToken.json +++ b/artifacts/json/MintableToken.json @@ -1664,5 +1664,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.471Z" + "updatedAt": "2018-10-09T23:15:05.514Z" } \ No newline at end of file diff --git a/artifacts/json/MockCollateralizedTermsContract.json b/artifacts/json/MockCollateralizedTermsContract.json index 274e2827..2da29853 100644 --- a/artifacts/json/MockCollateralizedTermsContract.json +++ b/artifacts/json/MockCollateralizedTermsContract.json @@ -371,7 +371,7 @@ }, { "attributes": { - "SourceUnit": 10693, + "SourceUnit": 10701, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/test/mocks/MockContract.sol", "file": "./MockContract.sol", "scope": 10516, @@ -5722,7 +5722,7 @@ "42": { "events": {}, "links": {}, - "address": "0x67d4984f33adaa13b879dc532a49bc7a46140353" + "address": "0x261a62f4f3f50cedb05ba05236e04f1a67598352" }, "70": { "events": {}, @@ -5731,5 +5731,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:01.318Z" + "updatedAt": "2018-10-09T23:19:45.835Z" } \ No newline at end of file diff --git a/artifacts/json/MockContract.json b/artifacts/json/MockContract.json index 02a2223b..8a82e422 100644 --- a/artifacts/json/MockContract.json +++ b/artifacts/json/MockContract.json @@ -2543,5 +2543,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.500Z" + "updatedAt": "2018-10-09T23:15:05.525Z" } \ No newline at end of file diff --git a/artifacts/json/MockDebtKernel.json b/artifacts/json/MockDebtKernel.json index f4247e5c..32d1885a 100644 --- a/artifacts/json/MockDebtKernel.json +++ b/artifacts/json/MockDebtKernel.json @@ -186,7 +186,7 @@ }, { "attributes": { - "SourceUnit": 10693, + "SourceUnit": 10701, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/test/mocks/MockContract.sol", "file": "./MockContract.sol", "scope": 10844, @@ -2230,5 +2230,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.497Z" + "updatedAt": "2018-10-09T23:15:05.523Z" } \ No newline at end of file diff --git a/artifacts/json/MockDebtRegistry.json b/artifacts/json/MockDebtRegistry.json index 4ac80d6d..70f5c581 100644 --- a/artifacts/json/MockDebtRegistry.json +++ b/artifacts/json/MockDebtRegistry.json @@ -465,7 +465,7 @@ }, { "attributes": { - "SourceUnit": 10693, + "SourceUnit": 10701, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/test/mocks/MockContract.sol", "file": "./MockContract.sol", "scope": 11222, @@ -5996,7 +5996,7 @@ "42": { "events": {}, "links": {}, - "address": "0x7593f653e23985ac6371a1e2d0a681f6e5534007" + "address": "0x1776579cf04dc9c93212796cb286b712c243666e" }, "70": { "events": {}, @@ -6005,5 +6005,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:01.328Z" + "updatedAt": "2018-10-09T23:19:45.832Z" } \ No newline at end of file diff --git a/artifacts/json/MockDebtToken.json b/artifacts/json/MockDebtToken.json index e30f3b5b..186c62ed 100644 --- a/artifacts/json/MockDebtToken.json +++ b/artifacts/json/MockDebtToken.json @@ -352,7 +352,7 @@ }, { "attributes": { - "SourceUnit": 10693, + "SourceUnit": 10701, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/test/mocks/MockContract.sol", "file": "./MockContract.sol", "scope": 11511, @@ -4598,7 +4598,7 @@ "42": { "events": {}, "links": {}, - "address": "0xf655449119757b6fd26c45702718812dbbd51356" + "address": "0x939a43abc22d93c7d8146740a532b0d630f8239c" }, "70": { "events": {}, @@ -4607,5 +4607,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:01.286Z" + "updatedAt": "2018-10-09T23:19:45.820Z" } \ No newline at end of file diff --git a/artifacts/json/MockERC20Token.json b/artifacts/json/MockERC20Token.json index 939f70b6..4db91358 100644 --- a/artifacts/json/MockERC20Token.json +++ b/artifacts/json/MockERC20Token.json @@ -314,7 +314,7 @@ }, { "attributes": { - "SourceUnit": 10693, + "SourceUnit": 10701, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/test/mocks/MockContract.sol", "file": "./MockContract.sol", "scope": 11767, @@ -4016,7 +4016,7 @@ "42": { "events": {}, "links": {}, - "address": "0x80bd8dc16d0b1bee8ce941ce2fb9108177a7dc85" + "address": "0xdbe3b7d496724ad8308ab434d59ab9896ddf245f" }, "70": { "events": {}, @@ -4025,5 +4025,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:01.281Z" + "updatedAt": "2018-10-09T23:19:45.813Z" } \ No newline at end of file diff --git a/artifacts/json/MockERC721Receiver.json b/artifacts/json/MockERC721Receiver.json index 3f5c8b30..cce4279e 100644 --- a/artifacts/json/MockERC721Receiver.json +++ b/artifacts/json/MockERC721Receiver.json @@ -168,7 +168,7 @@ }, { "attributes": { - "SourceUnit": 10693, + "SourceUnit": 10701, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/test/mocks/MockContract.sol", "file": "./MockContract.sol", "scope": 11888, @@ -1844,7 +1844,7 @@ "42": { "events": {}, "links": {}, - "address": "0xeadebe1479a642dc27a2874233e5e2b6703a0442" + "address": "0x0ac01be77bebfd73d570fe3430eeaf731cc0f276" }, "70": { "events": {}, @@ -1853,5 +1853,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:01.261Z" + "updatedAt": "2018-10-09T23:19:45.792Z" } \ No newline at end of file diff --git a/artifacts/json/MockERC721Token.json b/artifacts/json/MockERC721Token.json index 1885a065..fd08c8c8 100644 --- a/artifacts/json/MockERC721Token.json +++ b/artifacts/json/MockERC721Token.json @@ -311,7 +311,7 @@ }, { "attributes": { - "SourceUnit": 10693, + "SourceUnit": 10701, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/test/mocks/MockContract.sol", "file": "./MockContract.sol", "scope": 12142, @@ -3994,7 +3994,7 @@ "42": { "events": {}, "links": {}, - "address": "0x5ff98c9ca70a7d2fdd1107c1a80d20c5fc8a3e40" + "address": "0x54115cd6562cb183cdd21a6e1fa5c6833f493dc2" }, "70": { "events": {}, @@ -4003,5 +4003,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:01.278Z" + "updatedAt": "2018-10-09T23:19:45.810Z" } \ No newline at end of file diff --git a/artifacts/json/MockTermsContract.json b/artifacts/json/MockTermsContract.json index 7c0892f5..d6652df5 100644 --- a/artifacts/json/MockTermsContract.json +++ b/artifacts/json/MockTermsContract.json @@ -275,7 +275,7 @@ }, { "attributes": { - "SourceUnit": 10693, + "SourceUnit": 10701, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/test/mocks/MockContract.sol", "file": "./MockContract.sol", "scope": 12354, @@ -3394,7 +3394,7 @@ "42": { "events": {}, "links": {}, - "address": "0x76dcdc1df7af00e87bb5dd8f600e5637053fc0e1" + "address": "0xb2864780e3d6eb844f2e2214ba12472eee6268fc" }, "70": { "events": {}, @@ -3403,5 +3403,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:01.274Z" + "updatedAt": "2018-10-09T23:19:45.804Z" } \ No newline at end of file diff --git a/artifacts/json/MockTokenRegistry.json b/artifacts/json/MockTokenRegistry.json index 13981a23..b0527024 100644 --- a/artifacts/json/MockTokenRegistry.json +++ b/artifacts/json/MockTokenRegistry.json @@ -160,7 +160,7 @@ }, { "attributes": { - "SourceUnit": 10693, + "SourceUnit": 10701, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/test/mocks/MockContract.sol", "file": "./MockContract.sol", "scope": 12450, @@ -1587,7 +1587,7 @@ "42": { "events": {}, "links": {}, - "address": "0x8d60b63345a4394a627672aca9f0f2541057d0ba" + "address": "0x173369a9a8fd5063849034932c1463562589e68c" }, "70": { "events": {}, @@ -1596,5 +1596,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:01.268Z" + "updatedAt": "2018-10-09T23:19:45.790Z" } \ No newline at end of file diff --git a/artifacts/json/MockTokenTransferProxy.json b/artifacts/json/MockTokenTransferProxy.json index 9c47af91..e4a4567a 100644 --- a/artifacts/json/MockTokenTransferProxy.json +++ b/artifacts/json/MockTokenTransferProxy.json @@ -148,7 +148,7 @@ }, { "attributes": { - "SourceUnit": 10693, + "SourceUnit": 10701, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/test/mocks/MockContract.sol", "file": "./MockContract.sol", "scope": 12526, @@ -1235,7 +1235,7 @@ "42": { "events": {}, "links": {}, - "address": "0xe73f46c08eb3a1d218af468c6dbefbc5967bb6bd" + "address": "0xc8ac0952c5752a371adbb8fff4a7ea90a69333ce" }, "70": { "events": {}, @@ -1244,5 +1244,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:01.252Z" + "updatedAt": "2018-10-09T23:19:45.785Z" } \ No newline at end of file diff --git a/artifacts/json/MultiSigWallet.json b/artifacts/json/MultiSigWallet.json index e4cb6848..64f7e3a2 100644 --- a/artifacts/json/MultiSigWallet.json +++ b/artifacts/json/MultiSigWallet.json @@ -13771,5 +13771,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.685Z" + "updatedAt": "2018-10-09T23:15:05.858Z" } \ No newline at end of file diff --git a/artifacts/json/Ownable.json b/artifacts/json/Ownable.json index b9481b9e..9100f7d5 100644 --- a/artifacts/json/Ownable.json +++ b/artifacts/json/Ownable.json @@ -837,5 +837,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.443Z" + "updatedAt": "2018-10-09T23:15:05.496Z" } \ No newline at end of file diff --git a/artifacts/json/Pausable.json b/artifacts/json/Pausable.json index b9c75863..46edf650 100644 --- a/artifacts/json/Pausable.json +++ b/artifacts/json/Pausable.json @@ -879,5 +879,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.444Z" + "updatedAt": "2018-10-09T23:15:05.496Z" } \ No newline at end of file diff --git a/artifacts/json/PermissionEvents.json b/artifacts/json/PermissionEvents.json index 13b8cba8..665491ec 100644 --- a/artifacts/json/PermissionEvents.json +++ b/artifacts/json/PermissionEvents.json @@ -2969,5 +2969,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.509Z" + "updatedAt": "2018-10-09T23:15:05.538Z" } \ No newline at end of file diff --git a/artifacts/json/PermissionsLib.json b/artifacts/json/PermissionsLib.json index b8fb9433..7d8bdc69 100644 --- a/artifacts/json/PermissionsLib.json +++ b/artifacts/json/PermissionsLib.json @@ -2976,7 +2976,7 @@ "42": { "events": {}, "links": {}, - "address": "0x7852987ebd814ccb8ae63ff0ebbebaf12b8b45ab" + "address": "0xb6bfbe48e19b22085ec4e256455052d950f2fc7d" }, "70": { "events": {}, @@ -2985,5 +2985,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:53:04.866Z" + "updatedAt": "2018-10-09T23:23:58.013Z" } \ No newline at end of file diff --git a/artifacts/json/RepaymentRouter.json b/artifacts/json/RepaymentRouter.json index 2b8ccec1..5cdc33db 100644 --- a/artifacts/json/RepaymentRouter.json +++ b/artifacts/json/RepaymentRouter.json @@ -240,7 +240,7 @@ }, { "attributes": { - "SourceUnit": 3159, + "SourceUnit": 3167, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/DebtRegistry.sol", "file": "./DebtRegistry.sol", "scope": 4716, @@ -255,7 +255,7 @@ }, { "attributes": { - "SourceUnit": 4758, + "SourceUnit": 4766, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/TermsContract.sol", "file": "./TermsContract.sol", "scope": 4716, @@ -270,7 +270,7 @@ }, { "attributes": { - "SourceUnit": 5207, + "SourceUnit": 5215, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/TokenTransferProxy.sol", "file": "./TokenTransferProxy.sol", "scope": 4716, @@ -3301,7 +3301,7 @@ } }, "links": {}, - "address": "0x03ff589c02e794dbb55394ba86c62ba68e399688" + "address": "0x68133aab29535c46b44cf0d31e0161905c57bc01" }, "70": { "events": { @@ -3389,5 +3389,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:51:53.137Z" + "updatedAt": "2018-10-09T23:22:13.417Z" } \ No newline at end of file diff --git a/artifacts/json/SafeMath.json b/artifacts/json/SafeMath.json index 57147ba1..4443bcb7 100644 --- a/artifacts/json/SafeMath.json +++ b/artifacts/json/SafeMath.json @@ -1343,5 +1343,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.450Z" + "updatedAt": "2018-10-09T23:15:05.500Z" } \ No newline at end of file diff --git a/artifacts/json/SaleClockAuction.json b/artifacts/json/SaleClockAuction.json index adae014f..053b7f3f 100644 --- a/artifacts/json/SaleClockAuction.json +++ b/artifacts/json/SaleClockAuction.json @@ -52024,5 +52024,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:36.391Z" + "updatedAt": "2018-10-09T23:15:06.528Z" } \ No newline at end of file diff --git a/artifacts/json/SimpleInterestTermsContract.json b/artifacts/json/SimpleInterestTermsContract.json index 5acc09a5..04daa487 100644 --- a/artifacts/json/SimpleInterestTermsContract.json +++ b/artifacts/json/SimpleInterestTermsContract.json @@ -10512,7 +10512,7 @@ "42": { "events": {}, "links": {}, - "address": "0x1cde816b6e0437f5b1b49edb58c4a8bf1dbda2d3" + "address": "0x77bdb2014e6048419706e50c2b7e53c662fe0fde" }, "70": { "events": {}, @@ -10521,5 +10521,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:25.381Z" + "updatedAt": "2018-10-09T23:20:25.143Z" } \ No newline at end of file diff --git a/artifacts/json/SiringClockAuction.json b/artifacts/json/SiringClockAuction.json index 21e2329b..fe797ac8 100644 --- a/artifacts/json/SiringClockAuction.json +++ b/artifacts/json/SiringClockAuction.json @@ -51977,5 +51977,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:36.126Z" + "updatedAt": "2018-10-09T23:15:06.459Z" } \ No newline at end of file diff --git a/artifacts/json/StandardToken.json b/artifacts/json/StandardToken.json index 9bfc50ae..c43d717e 100644 --- a/artifacts/json/StandardToken.json +++ b/artifacts/json/StandardToken.json @@ -3732,5 +3732,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.529Z" + "updatedAt": "2018-10-09T23:15:05.596Z" } \ No newline at end of file diff --git a/artifacts/json/TermsContract.json b/artifacts/json/TermsContract.json index 901bdfc4..1a358e08 100644 --- a/artifacts/json/TermsContract.json +++ b/artifacts/json/TermsContract.json @@ -779,5 +779,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.436Z" + "updatedAt": "2018-10-09T23:15:05.490Z" } \ No newline at end of file diff --git a/artifacts/json/TokenRegistry.json b/artifacts/json/TokenRegistry.json index 3a66a2eb..190d4041 100644 --- a/artifacts/json/TokenRegistry.json +++ b/artifacts/json/TokenRegistry.json @@ -5119,7 +5119,7 @@ } }, "links": {}, - "address": "0xb6cf5855a7598441e02e7cd4ffffb6e0426984ff" + "address": "0x4b0116505c34c6adb5ee741ee67ac52e5215f650" }, "70": { "events": { @@ -5146,5 +5146,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:51:53.143Z" + "updatedAt": "2018-10-09T23:22:13.423Z" } \ No newline at end of file diff --git a/artifacts/json/TokenTransferProxy.json b/artifacts/json/TokenTransferProxy.json index 461d4ca6..45ee0756 100644 --- a/artifacts/json/TokenTransferProxy.json +++ b/artifacts/json/TokenTransferProxy.json @@ -242,7 +242,7 @@ }, { "attributes": { - "SourceUnit": 3159, + "SourceUnit": 3167, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/DebtRegistry.sol", "file": "./DebtRegistry.sol", "scope": 5215, @@ -257,7 +257,7 @@ }, { "attributes": { - "SourceUnit": 6272, + "SourceUnit": 6280, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/libraries/PermissionsLib.sol", "file": "./libraries/PermissionsLib.sol", "scope": 5215, @@ -1612,7 +1612,7 @@ } }, "links": {}, - "address": "0xf8181406f844d5c947481ec67c835b1384013c7e" + "address": "0xedaabddfbf00182b2f4c9ff00689ddaf4ff9f9d0" }, "70": { "events": { @@ -1685,5 +1685,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:51:53.131Z" + "updatedAt": "2018-10-09T23:22:13.411Z" } \ No newline at end of file diff --git a/artifacts/ts/AddressUtils.ts b/artifacts/ts/AddressUtils.ts index bc1df997..25af3c63 100644 --- a/artifacts/ts/AddressUtils.ts +++ b/artifacts/ts/AddressUtils.ts @@ -288,5 +288,5 @@ export const AddressUtils = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.426Z" + "updatedAt": "2018-10-09T23:15:05.485Z" } \ No newline at end of file diff --git a/artifacts/ts/BasicToken.ts b/artifacts/ts/BasicToken.ts index d89fe22a..4c2f5324 100644 --- a/artifacts/ts/BasicToken.ts +++ b/artifacts/ts/BasicToken.ts @@ -1436,5 +1436,5 @@ export const BasicToken = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.453Z" + "updatedAt": "2018-10-09T23:15:05.503Z" } \ No newline at end of file diff --git a/artifacts/ts/ClockAuction.ts b/artifacts/ts/ClockAuction.ts index 0fdd7fe0..050c3e7b 100644 --- a/artifacts/ts/ClockAuction.ts +++ b/artifacts/ts/ClockAuction.ts @@ -51964,5 +51964,5 @@ export const ClockAuction = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:36.032Z" + "updatedAt": "2018-10-09T23:15:06.382Z" } \ No newline at end of file diff --git a/artifacts/ts/ClockAuctionBase.ts b/artifacts/ts/ClockAuctionBase.ts index 89bc31b5..7b52663d 100644 --- a/artifacts/ts/ClockAuctionBase.ts +++ b/artifacts/ts/ClockAuctionBase.ts @@ -51732,5 +51732,5 @@ export const ClockAuctionBase = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.834Z" + "updatedAt": "2018-10-09T23:15:06.058Z" } \ No newline at end of file diff --git a/artifacts/ts/CollateralizedSimpleInterestTermsContract.ts b/artifacts/ts/CollateralizedSimpleInterestTermsContract.ts index 1e4d788d..0095d25a 100644 --- a/artifacts/ts/CollateralizedSimpleInterestTermsContract.ts +++ b/artifacts/ts/CollateralizedSimpleInterestTermsContract.ts @@ -412,7 +412,7 @@ export const CollateralizedSimpleInterestTermsContract = }, { "attributes": { - "SourceUnit": 6053, + "SourceUnit": 6061, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/examples/SimpleInterestTermsContract.sol", "file": "./SimpleInterestTermsContract.sol", "scope": 5282, @@ -1335,7 +1335,7 @@ export const CollateralizedSimpleInterestTermsContract = "42": { "events": {}, "links": {}, - "address": "0x7b7be94999219352b02c70b62b7cc09f7179b3b0" + "address": "0xf4ffba3867d4c9d388069a02fa36d3bfc234c979" }, "70": { "events": {}, @@ -1344,5 +1344,5 @@ export const CollateralizedSimpleInterestTermsContract = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:51:37.279Z" + "updatedAt": "2018-10-09T23:22:00.524Z" } \ No newline at end of file diff --git a/artifacts/ts/Collateralizer.ts b/artifacts/ts/Collateralizer.ts index 0b6ce753..f0d66d5c 100644 --- a/artifacts/ts/Collateralizer.ts +++ b/artifacts/ts/Collateralizer.ts @@ -527,7 +527,7 @@ export const Collateralizer = }, { "attributes": { - "SourceUnit": 4758, + "SourceUnit": 4766, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/TermsContract.sol", "file": "./TermsContract.sol", "scope": 615, @@ -542,7 +542,7 @@ export const Collateralizer = }, { "attributes": { - "SourceUnit": 3159, + "SourceUnit": 3167, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/DebtRegistry.sol", "file": "./DebtRegistry.sol", "scope": 615, @@ -557,7 +557,7 @@ export const Collateralizer = }, { "attributes": { - "SourceUnit": 5114, + "SourceUnit": 5122, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/TokenRegistry.sol", "file": "./TokenRegistry.sol", "scope": 615, @@ -572,7 +572,7 @@ export const Collateralizer = }, { "attributes": { - "SourceUnit": 5207, + "SourceUnit": 5215, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/TokenTransferProxy.sol", "file": "./TokenTransferProxy.sol", "scope": 615, @@ -587,7 +587,7 @@ export const Collateralizer = }, { "attributes": { - "SourceUnit": 6272, + "SourceUnit": 6280, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/libraries/PermissionsLib.sol", "file": "./libraries/PermissionsLib.sol", "scope": 615, @@ -9802,7 +9802,7 @@ export const Collateralizer = } }, "links": {}, - "address": "0x39ab84786d3696677cb62181f56286c9496b490b" + "address": "0x9075c9d39c3603d00629d8c1822da2d2f61605fb" }, "70": { "events": { @@ -9951,5 +9951,5 @@ export const Collateralizer = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:51:53.173Z" + "updatedAt": "2018-10-09T23:22:13.489Z" } \ No newline at end of file diff --git a/artifacts/ts/ContractRegistry.ts b/artifacts/ts/ContractRegistry.ts index cff30b89..34b70f3d 100644 --- a/artifacts/ts/ContractRegistry.ts +++ b/artifacts/ts/ContractRegistry.ts @@ -281,7 +281,7 @@ export const ContractRegistry = }, { "attributes": { - "SourceUnit": 2631, + "SourceUnit": 2639, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/DebtKernel.sol", "file": "./DebtKernel.sol", "scope": 924, @@ -296,7 +296,7 @@ export const ContractRegistry = }, { "attributes": { - "SourceUnit": 3159, + "SourceUnit": 3167, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/DebtRegistry.sol", "file": "./DebtRegistry.sol", "scope": 924, @@ -311,7 +311,7 @@ export const ContractRegistry = }, { "attributes": { - "SourceUnit": 3541, + "SourceUnit": 3549, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/DebtToken.sol", "file": "./DebtToken.sol", "scope": 924, @@ -326,7 +326,7 @@ export const ContractRegistry = }, { "attributes": { - "SourceUnit": 4708, + "SourceUnit": 4716, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/RepaymentRouter.sol", "file": "./RepaymentRouter.sol", "scope": 924, @@ -341,7 +341,7 @@ export const ContractRegistry = }, { "attributes": { - "SourceUnit": 5114, + "SourceUnit": 5122, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/TokenRegistry.sol", "file": "./TokenRegistry.sol", "scope": 924, @@ -356,7 +356,7 @@ export const ContractRegistry = }, { "attributes": { - "SourceUnit": 5207, + "SourceUnit": 5215, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/TokenTransferProxy.sol", "file": "./TokenTransferProxy.sol", "scope": 924, @@ -4731,7 +4731,7 @@ export const ContractRegistry = } }, "links": {}, - "address": "0x342e4778937a0fa5879aa594d0f57370f1a0e5d9" + "address": "0x8a2e03a964c21731d451a66fa618ea9a14dded78" }, "70": { "events": { @@ -4780,5 +4780,5 @@ export const ContractRegistry = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:53:24.840Z" + "updatedAt": "2018-10-09T23:24:24.851Z" } \ No newline at end of file diff --git a/artifacts/ts/CreditorProxy.ts b/artifacts/ts/CreditorProxy.ts index a6600cbe..0b5a92e5 100644 --- a/artifacts/ts/CreditorProxy.ts +++ b/artifacts/ts/CreditorProxy.ts @@ -309,11 +309,11 @@ export const CreditorProxy = "type": "event" } ], - "bytecode": "0x606060405260008060146101000a81548160ff021916908315150217905550341561002957600080fd5b604051602080611be483398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050611b0e806100d66000396000f3006060604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633c1c90a7146100bf5780633f4ba83a1461015d57806347f7835d146101725780635c975abb146102d05780638456cb59146102fd5780638da5cb5b14610312578063a318b5f714610367578063abf410e5146103a6578063c1614d00146103fb578063e283040d1461043a578063f06bbf751461046b578063f2fde38b1461049c575b600080fd5b34156100ca57600080fd5b61015b60048080608001906004806020026040519081016040528092919082600460200280828437820191505050505091908060800190600480602002604051908101604052809291908260046020028082843782019150505050509190806020019060018060200260405190810160405280929190826001602002808284378201915050505050919050506104d5565b005b341561016857600080fd5b6101706105e1565b005b341561017d57600080fd5b6102b2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908060c001906006806020026040519081016040528092919082600660200280828437820191505050505091908061010001906008806020026040519081016040528092919082600860200280828437820191505050505091908060200190600180602002604051908101604052809291908260016020028082843782019150505050509190806060019060038060200260405190810160405280929190826003602002808284378201915050505050919080606001906003806020026040519081016040528092919082600360200280828437820191505050505091908060600190600380602002604051908101604052809291908260036020028082843782019150505050509190505061069f565b60405180826000191660001916815260200191505060405180910390f35b34156102db57600080fd5b6102e3610fa7565b604051808215151515815260200191505060405180910390f35b341561030857600080fd5b610310610fba565b005b341561031d57600080fd5b61032561107a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561037257600080fd5b61038c60048080356000191690602001909190505061109f565b604051808215151515815260200191505060405180910390f35b34156103b157600080fd5b6103b96110bf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561040657600080fd5b6104206004808035600019169060200190919050506110e5565b604051808215151515815260200191505060405180910390f35b341561044557600080fd5b61044d611105565b60405180826000191660001916815260200191505060405180910390f35b341561047657600080fd5b61047e61110d565b604051808261ffff1661ffff16815260200191505060405180910390f35b34156104a757600080fd5b6104d3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611113565b005b60008060149054906101000a900460ff161515156104f257600080fd5b83600060048110151561050157fe5b602002015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561053f57600080fd5b61054a848484611268565b9050600160026000836000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550806000191684600060048110151561059457fe5b602002015173ffffffffffffffffffffffffffffffffffffffff167f07d3242876ac355520b94ab74873262d83b5b81dbd5da781118f78cee0bbe74760405160405180910390a350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561063c57600080fd5b600060149054906101000a900460ff16151561065757600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600080600080600060149054906101000a900460ff161515156106c157600080fd5b6108436080604051908101604052808d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c600060068110151561071157fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c600260068110151561075657fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c600360068110151561079b57fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152506080604051908101604052808c60056008811015156107ea57fe5b602002015181526020018c600060088110151561080357fe5b602002015181526020018c600760088110151561081c57fe5b602002015181526020018c600160088110151561083557fe5b60200201518152508a611268565b925060036000846000191660001916815260200190815260200160002060009054906101000a900460ff16156108d75782600019168b73ffffffffffffffffffffffffffffffffffffffff166001600381111561089c57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f99565b60026000846000191660001916815260200190815260200160002060009054906101000a900460ff16156109695782600019168b73ffffffffffffffffffffffffffffffffffffffff166000600381111561092e57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f99565b6109af8b8489600160038110151561097d57fe5b602002015189600160038110151561099157fe5b60200201518960016003811015156109a557fe5b6020020151611468565b1515610a195782600019168b73ffffffffffffffffffffffffffffffffffffffff16600260038111156109de57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f99565b610a52896005600881101515610a2b57fe5b60200201518a6002600881101515610a3f57fe5b602002015161156f90919063ffffffff16565b9150610a728b8b6004600681101515610a6757fe5b60200201518461158d565b1515610adb5782600019168b73ffffffffffffffffffffffffffffffffffffffff16600380811115610aa057fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f99565b6000821115610b0f57610b038a6004600681101515610af657fe5b60200201518c30856116a9565b1515610b0e57600080fd5b5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663079dd4b76000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610b9d57600080fd5b6102c65a03f11515610bae57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663e6488fc9308c8c8c8c8c8c6000604051602001526040518863ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200187600660200280838360005b83811015610c6b578082015181840152602081019050610c50565b5050505090500186600860200280838360005b83811015610c99578082015181840152602081019050610c7e565b5050505090500185600160200280838360005b83811015610cc7578082015181840152602081019050610cac565b5050505090500184600360200280838360005b83811015610cf5578082015181840152602081019050610cda565b5050505090500183600360200280838360005b83811015610d23578082015181840152602081019050610d08565b5050505090500182600360200280838360005b83811015610d51578082015181840152602081019050610d36565b50505050905001975050505050505050602060405180830381600087803b1515610d7a57600080fd5b6102c65a03f11515610d8b57600080fd5b505050604051805190509050600060010260001916816000191614151515610db257600080fd5b600160036000856000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f8d898986000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610e7457600080fd5b6102c65a03f11515610e8557600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8c83600190046040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1515610f3457600080fd5b6102c65a03f11515610f4557600080fd5b505050806000191683600019168c73ffffffffffffffffffffffffffffffffffffffff167f44bca8cc6f9375e3d800b6361e71fdde37e4fc86bdc3a72c4f8f69bbd19a01f360405160405180910390a48093505b505050979650505050505050565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561101557600080fd5b600060149054906101000a900460ff1615151561103157600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60036020528060005260406000206000915054906101000a900460ff1681565b600060010281565b611f4081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561116e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156111aa57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600083600060048110151561127957fe5b602002015184600160048110151561128d57fe5b60200201518460006004811015156112a157fe5b60200201518660026004811015156112b557fe5b60200201518660016004811015156112c957fe5b60200201518860036004811015156112dd57fe5b60200201518760006001811015156112f157fe5b602002015189600260048110151561130557fe5b60200201518a600360048110151561131957fe5b6020020151604051808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018881526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140184600019166000191681526020018381526020018281526020019950505050505050505050604051809103902090509392505050565b600060018560405180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040518091039020858585604051600081526020016040526000604051602001526040518085600019166000191681526020018460ff1660ff16815260200183600019166000191681526020018260001916600019168152602001945050505050602060405160208103908084039060008661646e5a03f1151561152d57600080fd5b50506020604051035173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614905095945050505050565b600080828401905083811015151561158357fe5b8091505092915050565b60008060008061159e8688306117af565b92506115aa86886118a7565b9150848210806115b957508483105b156115c7576000935061169f565b61167a8630600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630eefdbad6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561165a57600080fd5b6102c65a03f1151561166b57600080fd5b505050604051805190506117af565b90508481101561169a5761168e868661196a565b151561169957600080fd5b5b600193505b5050509392505050565b60008473ffffffffffffffffffffffffffffffffffffffff166323b872dd8585856000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561178a57600080fd5b6102c65a03f1151561179b57600080fd5b505050604051805190509050949350505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e611f4061ffff1685856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600088803b151561188657600080fd5b87f1151561189357600080fd5b505050506040518051905090509392505050565b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231611f4061ffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600088803b151561194a57600080fd5b87f1151561195757600080fd5b5050505060405180519050905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630eefdbad6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611a1657600080fd5b6102c65a03f11515611a2757600080fd5b50505060405180519050846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611abf57600080fd5b6102c65a03f11515611ad057600080fd5b505050604051805190509050929150505600a165627a7a72305820627f64d2f5e59580e881310ad781c1c18c95e290f478ac08b283c8661b5071d90029", - "deployedBytecode": "0x6060604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633c1c90a7146100bf5780633f4ba83a1461015d57806347f7835d146101725780635c975abb146102d05780638456cb59146102fd5780638da5cb5b14610312578063a318b5f714610367578063abf410e5146103a6578063c1614d00146103fb578063e283040d1461043a578063f06bbf751461046b578063f2fde38b1461049c575b600080fd5b34156100ca57600080fd5b61015b60048080608001906004806020026040519081016040528092919082600460200280828437820191505050505091908060800190600480602002604051908101604052809291908260046020028082843782019150505050509190806020019060018060200260405190810160405280929190826001602002808284378201915050505050919050506104d5565b005b341561016857600080fd5b6101706105e1565b005b341561017d57600080fd5b6102b2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908060c001906006806020026040519081016040528092919082600660200280828437820191505050505091908061010001906008806020026040519081016040528092919082600860200280828437820191505050505091908060200190600180602002604051908101604052809291908260016020028082843782019150505050509190806060019060038060200260405190810160405280929190826003602002808284378201915050505050919080606001906003806020026040519081016040528092919082600360200280828437820191505050505091908060600190600380602002604051908101604052809291908260036020028082843782019150505050509190505061069f565b60405180826000191660001916815260200191505060405180910390f35b34156102db57600080fd5b6102e3610fa7565b604051808215151515815260200191505060405180910390f35b341561030857600080fd5b610310610fba565b005b341561031d57600080fd5b61032561107a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561037257600080fd5b61038c60048080356000191690602001909190505061109f565b604051808215151515815260200191505060405180910390f35b34156103b157600080fd5b6103b96110bf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561040657600080fd5b6104206004808035600019169060200190919050506110e5565b604051808215151515815260200191505060405180910390f35b341561044557600080fd5b61044d611105565b60405180826000191660001916815260200191505060405180910390f35b341561047657600080fd5b61047e61110d565b604051808261ffff1661ffff16815260200191505060405180910390f35b34156104a757600080fd5b6104d3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611113565b005b60008060149054906101000a900460ff161515156104f257600080fd5b83600060048110151561050157fe5b602002015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561053f57600080fd5b61054a848484611268565b9050600160026000836000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550806000191684600060048110151561059457fe5b602002015173ffffffffffffffffffffffffffffffffffffffff167f07d3242876ac355520b94ab74873262d83b5b81dbd5da781118f78cee0bbe74760405160405180910390a350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561063c57600080fd5b600060149054906101000a900460ff16151561065757600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600080600080600060149054906101000a900460ff161515156106c157600080fd5b6108436080604051908101604052808d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c600060068110151561071157fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c600260068110151561075657fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c600360068110151561079b57fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152506080604051908101604052808c60056008811015156107ea57fe5b602002015181526020018c600060088110151561080357fe5b602002015181526020018c600760088110151561081c57fe5b602002015181526020018c600160088110151561083557fe5b60200201518152508a611268565b925060036000846000191660001916815260200190815260200160002060009054906101000a900460ff16156108d75782600019168b73ffffffffffffffffffffffffffffffffffffffff166001600381111561089c57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f99565b60026000846000191660001916815260200190815260200160002060009054906101000a900460ff16156109695782600019168b73ffffffffffffffffffffffffffffffffffffffff166000600381111561092e57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f99565b6109af8b8489600160038110151561097d57fe5b602002015189600160038110151561099157fe5b60200201518960016003811015156109a557fe5b6020020151611468565b1515610a195782600019168b73ffffffffffffffffffffffffffffffffffffffff16600260038111156109de57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f99565b610a52896005600881101515610a2b57fe5b60200201518a6002600881101515610a3f57fe5b602002015161156f90919063ffffffff16565b9150610a728b8b6004600681101515610a6757fe5b60200201518461158d565b1515610adb5782600019168b73ffffffffffffffffffffffffffffffffffffffff16600380811115610aa057fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f99565b6000821115610b0f57610b038a6004600681101515610af657fe5b60200201518c30856116a9565b1515610b0e57600080fd5b5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663079dd4b76000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610b9d57600080fd5b6102c65a03f11515610bae57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663e6488fc9308c8c8c8c8c8c6000604051602001526040518863ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200187600660200280838360005b83811015610c6b578082015181840152602081019050610c50565b5050505090500186600860200280838360005b83811015610c99578082015181840152602081019050610c7e565b5050505090500185600160200280838360005b83811015610cc7578082015181840152602081019050610cac565b5050505090500184600360200280838360005b83811015610cf5578082015181840152602081019050610cda565b5050505090500183600360200280838360005b83811015610d23578082015181840152602081019050610d08565b5050505090500182600360200280838360005b83811015610d51578082015181840152602081019050610d36565b50505050905001975050505050505050602060405180830381600087803b1515610d7a57600080fd5b6102c65a03f11515610d8b57600080fd5b505050604051805190509050600060010260001916816000191614151515610db257600080fd5b600160036000856000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f8d898986000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610e7457600080fd5b6102c65a03f11515610e8557600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8c83600190046040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1515610f3457600080fd5b6102c65a03f11515610f4557600080fd5b505050806000191683600019168c73ffffffffffffffffffffffffffffffffffffffff167f44bca8cc6f9375e3d800b6361e71fdde37e4fc86bdc3a72c4f8f69bbd19a01f360405160405180910390a48093505b505050979650505050505050565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561101557600080fd5b600060149054906101000a900460ff1615151561103157600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60036020528060005260406000206000915054906101000a900460ff1681565b600060010281565b611f4081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561116e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156111aa57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600083600060048110151561127957fe5b602002015184600160048110151561128d57fe5b60200201518460006004811015156112a157fe5b60200201518660026004811015156112b557fe5b60200201518660016004811015156112c957fe5b60200201518860036004811015156112dd57fe5b60200201518760006001811015156112f157fe5b602002015189600260048110151561130557fe5b60200201518a600360048110151561131957fe5b6020020151604051808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018881526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140184600019166000191681526020018381526020018281526020019950505050505050505050604051809103902090509392505050565b600060018560405180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040518091039020858585604051600081526020016040526000604051602001526040518085600019166000191681526020018460ff1660ff16815260200183600019166000191681526020018260001916600019168152602001945050505050602060405160208103908084039060008661646e5a03f1151561152d57600080fd5b50506020604051035173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614905095945050505050565b600080828401905083811015151561158357fe5b8091505092915050565b60008060008061159e8688306117af565b92506115aa86886118a7565b9150848210806115b957508483105b156115c7576000935061169f565b61167a8630600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630eefdbad6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561165a57600080fd5b6102c65a03f1151561166b57600080fd5b505050604051805190506117af565b90508481101561169a5761168e868661196a565b151561169957600080fd5b5b600193505b5050509392505050565b60008473ffffffffffffffffffffffffffffffffffffffff166323b872dd8585856000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561178a57600080fd5b6102c65a03f1151561179b57600080fd5b505050604051805190509050949350505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e611f4061ffff1685856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600088803b151561188657600080fd5b87f1151561189357600080fd5b505050506040518051905090509392505050565b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231611f4061ffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600088803b151561194a57600080fd5b87f1151561195757600080fd5b5050505060405180519050905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630eefdbad6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611a1657600080fd5b6102c65a03f11515611a2757600080fd5b50505060405180519050846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611abf57600080fd5b6102c65a03f11515611ad057600080fd5b505050604051805190509050929150505600a165627a7a72305820627f64d2f5e59580e881310ad781c1c18c95e290f478ac08b283c8661b5071d90029", - "sourceMap": "1086:9807:2:-;;;268:5:37;247:26;;;;;;;;;;;;;;;;;;;;2040:140:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;509:10:39;501:5;;:18;;;;;;;;;;;;;;;;;;2155:17:2;2119:16;;:54;;;;;;;;;;;;;;;;;;2040:140;1086:9807;;;;;;", - "deployedSourceMap": "1086:9807:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5952:607;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;833:87:37;;;;;;;;;;;;;;2398:3455:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;247:26:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;666:85;;;;;;;;;;;;;;238:20:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1502:51:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1333:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1559:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1380:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1441:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;832:169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;5952:607:2;6246:30;416:6:37;;;;;;;;;;;415:7;407:16;;;;;;;;6213:19:2;6233:1;6213:22;;;;;;;;;;;;;6199:36;;:10;:36;;;6191:45;;;;;;;;6279:135;6318:19;6351:16;6381:23;6279:25;:135::i;:::-;6246:168;;6469:4;6424:18;:42;6443:22;6424:42;;;;;;;;;;;;;;;;;;:49;;;;;;;;;;;;;;;;;;6529:22;6483:69;;;6505:19;6525:1;6505:22;;;;;;;;;;;;;6483:69;;;;;;;;;;;;5952:607;;;;:::o;833:87:37:-;653:5:39;;;;;;;;;;;639:19;;:10;:19;;;631:28;;;;;;;;568:6:37;;;;;;;;;;;560:15;;;;;;;;895:5;886:6;;:14;;;;;;;;;;;;;;;;;;906:9;;;;;;;;;;833:87::o;2398:3455:2:-;2835:20;2872:30;4306:25;5247:19;416:6:37;;;;;;;;;;;415:7;407:16;;;;;;;;2905:550:2;;;;;;;;;;2962:8;2905:550;;;;;;;;2988:14;3003:1;2988:17;;;;;;;;;;;;;2905:550;;;;;;;;3051:14;3066:1;3051:17;;;;;;;;;;;;;2905:550;;;;;;;;3101:14;3116:1;3101:17;;;;;;;;;;;;;2905:550;;;;;;;;;;;;;;;;3181:11;3193:1;3181:14;;;;;;;;;;;;;2905:550;;;;3229:11;3241:1;3229:14;;;;;;;;;;;;;2905:550;;;;3286:11;3298:1;3286:14;;;;;;;;;;;;;2905:550;;;;3356:11;3368:1;3356:14;;;;;;;;;;;;;2905:550;;;3406:12;2905:25;:550::i;:::-;2872:583;;3470:15;:39;3486:22;3470:39;;;;;;;;;;;;;;;;;;;;;;;;;;;3466:192;;;3585:22;3525:83;;;3575:8;3525:83;;3540:32;3534:39;;;;;;;;3525:83;;;;;;;;;;;;1433:1;1425:10;;3622:25;;;;3466:192;3672:18;:42;3691:22;3672:42;;;;;;;;;;;;;;;;;;;;;;;;;;;3668:191;;;3785:22;3730:78;;;3775:8;3730:78;;3745:27;3739:34;;;;;;;;3730:78;;;;;;;;;;;;1433:1;1425:10;;3822:25;;;;3668:191;3874:168;3904:8;3926:22;3962:11;3974:1;3962:14;;;;;;;;;;;;;3990:11;4002:1;3990:14;;;;;;;;;;;;;4018:11;4030:1;4018:14;;;;;;;;;;;;;3874:16;:168::i;:::-;3873:169;3869:384;;;4167:22;4058:145;;;4141:8;4058:145;;4090:32;4084:39;;;;;;;;4058:145;;;;;;;;;;;;1433:1;1425:10;;4217:25;;;;3869:384;4334:34;4353:11;4365:1;4353:14;;;;;;;;;;;;;4334:11;4346:1;4334:14;;;;;;;;;;;;;:18;;:34;;;;:::i;:::-;4306:62;;4384:129;4430:8;4452:14;4467:1;4452:17;;;;;;;;;;;;;4483:20;4384:32;:129::i;:::-;4383:130;4379:362;;;4655:22;4529:162;;;4629:8;4529:162;;4561:49;4555:56;;;;;;;;4529:162;;;;;;;;;;;;1433:1;1425:10;;4705:25;;;;4379:362;4839:1;4816:20;:24;4812:276;;;4881:182;4921:14;4936:1;4921:17;;;;;;;;;;;;;4960:8;4998:4;5025:20;4881:18;:182::i;:::-;4856:221;;;;;;;;4812:276;5269:16;;;;;;;;;;;:27;;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:43;;;5334:4;5353:14;5381:11;5406:12;5432:11;5457;5482;5269:234;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5247:256:2;;1433:1;1425:10;;5522:33;;;:11;:33;;;;;5514:42;;;;;;;;5609:4;5567:15;:39;5583:22;5567:39;;;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;5672:16;;;;;;;;;;;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:37;;;5710:8;5728:11;5720:20;;;5672:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5805:11;5752:65;;;5781:22;5752:65;;;5771:8;5752:65;;;;;;;;;;;;5835:11;5828:18;;429:1:37;2398:3455:2;;;;;;;;;;;;:::o;247:26:37:-;;;;;;;;;;;;;:::o;666:85::-;653:5:39;;;;;;;;;;;639:19;;:10;:19;;;631:28;;;;;;;;416:6:37;;;;;;;;;;;415:7;407:16;;;;;;;;729:4;720:6;;:13;;;;;;;;;;;;;;;;;;739:7;;;;;;;;;;666:85::o;238:20:39:-;;;;;;;;;;;;;:::o;1502:51:2:-;;;;;;;;;;;;;;;;;;;;;;:::o;1333:40::-;;;;;;;;;;;;;:::o;1559:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;1380:55::-;1433:1;1425:10;;1380:55;:::o;1441:54::-;1491:4;1441:54;:::o;832:169:39:-;653:5;;;;;;;;;;;639:19;;:10;:19;;;631:28;;;;;;;;928:1;908:22;;:8;:22;;;;900:31;;;;;;;;965:8;937:37;;958:5;;;;;;;;;;;937:37;;;;;;;;;;;;988:8;980:5;;:16;;;;;;;;;;;;;;;;;;832:169;:::o;6749:761:2:-;6955:31;7032:19;7052:1;7032:22;;;;;;;;;;;;;7080:19;7100:1;7080:22;;;;;;;;;;;;;7144:16;7161:1;7144:19;;;;;;;;;;;;;7193;7213:1;7193:22;;;;;;;;;;;;;7244:16;7261:1;7244:19;;;;;;;;;;;;;7302;7322:1;7302:22;;;;;;;;;;;;;7355:23;7379:1;7355:26;;;;;;;;;;;;;7395:16;7412:1;7395:19;;;;;;;;;;;;;7466:16;7483:1;7466:19;;;;;;;;;;;;;7009:494;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7002:501;;6749:761;;;;;:::o;8965:360::-;9145:11;9189:129;9258:4;9212:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9277:1;9292;9307;9189:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9179:139;;:6;:139;;;9172:146;;8965:360;;;;;;;:::o;1007:129:38:-;1065:7;1080:9;1096:1;1092;:5;1080:17;;1115:1;1110;:6;;1103:14;;;;;;1130:1;1123:8;;1007:129;;;;;:::o;7721:1107:2:-;7896:37;8022:19;8107:20;8396:27;8044:53;8057:14;8073:8;8091:4;8044:12;:53::i;:::-;8022:75;;8130:36;8141:14;8157:8;8130:10;:36::i;:::-;8107:59;;8199:20;8181:15;:38;:79;;;;8240:20;8223:14;:37;8181:79;8177:122;;;8283:5;8276:12;;;;8177:122;8426:128;8452:14;8488:4;8507:16;;;;;;;;;;;:35;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8426:12;:128::i;:::-;8396:158;;8681:20;8656:22;:45;8652:148;;;8725:63;8751:14;8767:20;8725:25;:63::i;:::-;8717:72;;;;;;;;8652:148;8817:4;8810:11;;7721:1107;;;;;;;;;:::o;10643:248::-;10801:13;10843:6;10837:26;;;10864:5;10871:3;10876:7;10837:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10830:54;;10643:248;;;;;;:::o;9804:337::-;9950:15;10038:5;10032:22;;;1491:4;10032:52;;10098:5;10117:7;10032:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10025:109;;9804:337;;;;;:::o;9421:265::-;9540:13;9626:5;9620:22;;;1491:4;9620:52;;9673:5;9620:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9613:66;;9421:265;;;;:::o;10258:272::-;10377:13;10419:5;10413:20;;;10455:16;;;;;;;;;;;:35;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10507:6;10413:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10406:117;;10258:272;;;;:::o", - "source": "/*\n\n Copyright 2017 Dharma Labs Inc.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n*/\n\npragma solidity 0.4.18;\n\nimport \"./ContractRegistry.sol\";\nimport \"zeppelin-solidity/contracts/lifecycle/Pausable.sol\";\nimport \"zeppelin-solidity/contracts/math/SafeMath.sol\";\nimport \"zeppelin-solidity/contracts/token/ERC20/ERC20.sol\";\n\n\n/**\n * The CreditorProxy is a thin wrapper around the DebtKernel\n * It implements creditor-driven loans as specified by DIP-1\n *\n * Authors: Bo Henderson & Shivani Gupta & Dharma Team\n * DIP: https://github.com/dharmaprotocol/DIPs/issues/1\n */\ncontract CreditorProxy is Pausable {\n using SafeMath for uint;\n\n enum Errors {\n DEBT_OFFER_CANCELLED,\n DEBT_OFFER_ALREADY_FILLED,\n DEBT_OFFER_NON_CONSENSUAL,\n CREDITOR_BALANCE_OR_ALLOWANCE_INSUFFICIENT\n }\n\n ContractRegistry public contractRegistry;\n\n bytes32 constant public NULL_ISSUANCE_HASH = bytes32(0);\n uint16 constant public EXTERNAL_QUERY_GAS_LIMIT = 8000;\n\n mapping (bytes32 => bool) public debtOfferCancelled;\n mapping (bytes32 => bool) public debtOfferFilled;\n\n event LogDebtOfferCancelled(\n address indexed _creditor,\n bytes32 indexed _creditorCommitmentHash\n );\n\n event LogDebtOfferFilled(\n address indexed _creditor,\n bytes32 indexed _creditorCommitmentHash,\n bytes32 indexed _agreementId\n );\n\n event LogError(\n uint8 indexed _errorId,\n address indexed _creditor,\n bytes32 indexed _creditorCommitmentHash\n );\n\n function CreditorProxy(address _contractRegistry)\n public\n {\n contractRegistry = ContractRegistry(_contractRegistry);\n }\n\n /*\n * Submit debt order to DebtKernel if it is consensual with creditor's request\n * Creditor signature in arguments is only used internally,\n * It will not be verified by the Debt Kernel\n */\n function fillDebtOffer(\n address creditor,\n address[6] orderAddresses, // repayment-router, debtor, uw, tc, p-token, relayer\n uint[8] orderValues, // rr, salt, pa, uwFee, rFee, cFee, dFee, expTime\n bytes32[1] orderBytes32, // tcParams\n uint8[3] signaturesV, // debtV, credV, uwV\n bytes32[3] signaturesR,\n bytes32[3] signaturesS\n )\n public\n whenNotPaused\n returns (bytes32 _agreementId)\n {\n\n bytes32 creditorCommitmentHash = getCreditorCommitmentHash(\n [\n creditor,\n orderAddresses[0], // repayment router version\n orderAddresses[2], // underwriter\n orderAddresses[3] // termsContract\n ],\n [\n orderValues[5], // creditor fee\n orderValues[0], // underwriterRiskRating\n orderValues[7], // commitmentExpirationTimestampInSec\n orderValues[1] // salt\n ],\n orderBytes32 // termsContractParameters\n );\n\n if (debtOfferFilled[creditorCommitmentHash]) {\n LogError(uint8(Errors.DEBT_OFFER_ALREADY_FILLED), creditor, creditorCommitmentHash);\n return NULL_ISSUANCE_HASH;\n }\n\n if (debtOfferCancelled[creditorCommitmentHash]) {\n LogError(uint8(Errors.DEBT_OFFER_CANCELLED), creditor, creditorCommitmentHash);\n return NULL_ISSUANCE_HASH; \n }\n\n if (!isValidSignature(\n creditor,\n creditorCommitmentHash,\n signaturesV[1],\n signaturesR[1],\n signaturesS[1]\n )) {\n LogError(\n uint8(Errors.DEBT_OFFER_NON_CONSENSUAL),\n creditor,\n creditorCommitmentHash\n );\n return NULL_ISSUANCE_HASH;\n }\n\n // principal amount + creditor fee\n uint totalCreditorPayment = orderValues[2].add(orderValues[5]);\n\n if (!hasSufficientBalanceAndAllowance(\n creditor,\n orderAddresses[4],\n totalCreditorPayment\n )) {\n LogError(\n uint8(Errors.CREDITOR_BALANCE_OR_ALLOWANCE_INSUFFICIENT),\n creditor,\n creditorCommitmentHash\n );\n return NULL_ISSUANCE_HASH;\n }\n\n // Transfer principal from creditor to CreditorProxy\n if (totalCreditorPayment > 0) {\n require(\n transferTokensFrom(\n orderAddresses[4],\n creditor,\n address(this),\n totalCreditorPayment\n )\n );\n }\n\n // Grant allowance to the TokenTransferProxy for this contract.\n\n\n // Fill debt order with this contract playing the role of creditor\n bytes32 agreementId = contractRegistry.debtKernel().fillDebtOrder(\n address(this),\n orderAddresses,\n orderValues,\n orderBytes32,\n signaturesV,\n signaturesR,\n signaturesS\n );\n\n require(agreementId != NULL_ISSUANCE_HASH);\n\n debtOfferFilled[creditorCommitmentHash] = true;\n\n // transfer debt token to real creditor\n contractRegistry.debtToken().transfer(creditor, uint256(agreementId));\n\n LogDebtOfferFilled(creditor, creditorCommitmentHash, agreementId);\n\n return agreementId;\n }\n\n /**\n * Allows creditor to prevent a debt offer from being used in the future\n */\n function cancelDebtOffer(\n address[4] commitmentAddresses,\n uint[4] commitmentValues,\n bytes32[1] termsContractParameters\n )\n public\n whenNotPaused\n {\n // sender must be the creditor\n require(msg.sender == commitmentAddresses[0]);\n bytes32 creditorCommitmentHash = getCreditorCommitmentHash(\n commitmentAddresses,\n commitmentValues,\n termsContractParameters\n );\n debtOfferCancelled[creditorCommitmentHash] = true;\n LogDebtOfferCancelled(commitmentAddresses[0], creditorCommitmentHash);\n }\n\n ////////////////////////\n // INTERNAL FUNCTIONS //\n ////////////////////////\n\n /**\n * Returns the messaged signed by the creditor to indicate their commitment\n */\n function getCreditorCommitmentHash(\n address[4] commitmentAddresses,\n uint[4] commitmentValues,\n bytes32[1] termsContractParameters\n )\n internal\n pure\n returns (bytes32 _creditorCommitmentHash)\n {\n return keccak256(\n commitmentAddresses[0], // creditor\n commitmentAddresses[1], // repayment router version\n commitmentValues[0], // creditor fee\n commitmentAddresses[2], // underwriter\n commitmentValues[1], // underwriterRiskRating\n commitmentAddresses[3], // termsContract\n termsContractParameters[0],\n commitmentValues[2], // commitmentExpirationTimestampInSec\n commitmentValues[3] // salt\n );\n }\n\n\n /**\n * Assert that the creditor has a sufficient token balance and has granted the token transfer\n * proxy contract sufficient allowance to suffice for the principal and creditor fee.\n */\n function hasSufficientBalanceAndAllowance(\n address creditor,\n address principalToken,\n uint totalCreditorPayment\n )\n internal\n returns (bool _isBalanceAndAllowanceSufficient)\n {\n // The allowance that this contract has for a creditor's tokens.\n uint proxyAllowance = getAllowance(principalToken, creditor, address(this));\n uint creditorBalance = getBalance(principalToken, creditor);\n\n if (creditorBalance < totalCreditorPayment || proxyAllowance < totalCreditorPayment) {\n return false;\n }\n\n // The allowance that the token transfer proxy has for this contract's tokens.\n uint tokenTransferAllowance = getAllowance(\n principalToken,\n address(this),\n contractRegistry.tokenTransferProxy()\n );\n\n // Ensure the token transfer proxy can transfer tokens from the creditor proxy\n if (tokenTransferAllowance < totalCreditorPayment) {\n require(setTokenTransferAllowance(principalToken, totalCreditorPayment));\n }\n\n return true;\n }\n\n /**\n * Given a hashed message, a signer's address, and a signature,\n * returns whether the signature is valid.\n */\n function isValidSignature(\n address signer,\n bytes32 hash,\n uint8 v,\n bytes32 r,\n bytes32 s\n )\n internal\n pure\n returns (bool _valid)\n {\n return signer == ecrecover(\n keccak256(\"\\x19Ethereum Signed Message:\\n32\", hash),\n v,\n r,\n s\n );\n }\n\n /**\n * Helper function for querying an address' balance on a given token.\n */\n function getBalance(\n address token,\n address owner\n )\n internal\n view\n returns (uint _balance)\n {\n // Limit gas to prevent reentrancy.\n return ERC20(token).balanceOf.gas(EXTERNAL_QUERY_GAS_LIMIT)(owner);\n }\n\n /**\n * Helper function for querying this contract's allowance for transferring the given token.\n */\n function getAllowance(\n address token,\n address owner,\n address granter\n )\n internal\n view\n returns (uint _allowance)\n {\n // Limit gas to prevent reentrancy.\n return ERC20(token).allowance.gas(EXTERNAL_QUERY_GAS_LIMIT)(\n owner,\n granter\n );\n }\n\n /**\n * Helper function for approving this address' allowance to Dharma's token transfer proxy.\n */\n function setTokenTransferAllowance(\n address token,\n uint amount\n )\n internal\n returns (bool _success)\n {\n return ERC20(token).approve(\n address(contractRegistry.tokenTransferProxy()),\n amount\n );\n }\n\n\n /**\n * Helper function for transferring a specified amount of tokens between two parties.\n */\n function transferTokensFrom(\n address _token,\n address _from,\n address _to,\n uint _amount\n )\n internal\n returns (bool _success)\n {\n return ERC20(_token).transferFrom(_from, _to, _amount);\n }\n}\n", + "bytecode": "0x606060405260008060146101000a81548160ff021916908315150217905550341561002957600080fd5b604051602080611d1483398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050611c3e806100d66000396000f3006060604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633f4ba83a146100bf57806347f7835d146100d45780635c975abb146102325780638456cb591461025f5780638da5cb5b146102745780638f18b00b146102c9578063a318b5f714610367578063abf410e5146103a6578063c1614d00146103fb578063e283040d1461043a578063f06bbf751461046b578063f2fde38b1461049c575b600080fd5b34156100ca57600080fd5b6100d26104d5565b005b34156100df57600080fd5b610214600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908060c0019060068060200260405190810160405280929190826006602002808284378201915050505050919080610100019060088060200260405190810160405280929190826008602002808284378201915050505050919080602001906001806020026040519081016040528092919082600160200280828437820191505050505091908060600190600380602002604051908101604052809291908260036020028082843782019150505050509190806060019060038060200260405190810160405280929190826003602002808284378201915050505050919080606001906003806020026040519081016040528092919082600360200280828437820191505050505091905050610593565b60405180826000191660001916815260200191505060405180910390f35b341561023d57600080fd5b610245610f75565b604051808215151515815260200191505060405180910390f35b341561026a57600080fd5b610272610f88565b005b341561027f57600080fd5b610287611048565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102d457600080fd5b6103656004808060a0019060058060200260405190810160405280929190826005602002808284378201915050505050919080608001906004806020026040519081016040528092919082600460200280828437820191505050505091908060200190600180602002604051908101604052809291908260016020028082843782019150505050509190505061106d565b005b341561037257600080fd5b61038c600480803560001916906020019091905050611179565b604051808215151515815260200191505060405180910390f35b34156103b157600080fd5b6103b9611199565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561040657600080fd5b6104206004808035600019169060200190919050506111bf565b604051808215151515815260200191505060405180910390f35b341561044557600080fd5b61044d6111df565b60405180826000191660001916815260200191505060405180910390f35b341561047657600080fd5b61047e6111e7565b604051808261ffff1661ffff16815260200191505060405180910390f35b34156104a757600080fd5b6104d3600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111ed565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561053057600080fd5b600060149054906101000a900460ff16151561054b57600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600080600080600060149054906101000a900460ff161515156105b557600080fd5b61081160a0604051908101604052808d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663079dd4b76000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561068457600080fd5b6102c65a03f1151561069557600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c60006006811015156106df57fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c600360068110151561072457fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c600460068110151561076957fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152506080604051908101604052808c60016008811015156107b857fe5b602002015181526020018c60026008811015156107d157fe5b602002015181526020018c60056008811015156107ea57fe5b602002015181526020018c600760088110151561080357fe5b60200201518152508a611342565b925060036000846000191660001916815260200190815260200160002060009054906101000a900460ff16156108a55782600019168b73ffffffffffffffffffffffffffffffffffffffff166001600381111561086a57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f67565b60026000846000191660001916815260200190815260200160002060009054906101000a900460ff16156109375782600019168b73ffffffffffffffffffffffffffffffffffffffff16600060038111156108fc57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f67565b61097d8b8489600160038110151561094b57fe5b602002015189600160038110151561095f57fe5b602002015189600160038110151561097357fe5b6020020151611598565b15156109e75782600019168b73ffffffffffffffffffffffffffffffffffffffff16600260038111156109ac57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f67565b610a208960056008811015156109f957fe5b60200201518a6002600881101515610a0d57fe5b602002015161169f90919063ffffffff16565b9150610a408b8b6004600681101515610a3557fe5b6020020151846116bd565b1515610aa95782600019168b73ffffffffffffffffffffffffffffffffffffffff16600380811115610a6e57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f67565b6000821115610add57610ad18a6004600681101515610ac457fe5b60200201518c30856117d9565b1515610adc57600080fd5b5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663079dd4b76000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610b6b57600080fd5b6102c65a03f11515610b7c57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663e6488fc9308c8c8c8c8c8c6000604051602001526040518863ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200187600660200280838360005b83811015610c39578082015181840152602081019050610c1e565b5050505090500186600860200280838360005b83811015610c67578082015181840152602081019050610c4c565b5050505090500185600160200280838360005b83811015610c95578082015181840152602081019050610c7a565b5050505090500184600360200280838360005b83811015610cc3578082015181840152602081019050610ca8565b5050505090500183600360200280838360005b83811015610cf1578082015181840152602081019050610cd6565b5050505090500182600360200280838360005b83811015610d1f578082015181840152602081019050610d04565b50505050905001975050505050505050602060405180830381600087803b1515610d4857600080fd5b6102c65a03f11515610d5957600080fd5b505050604051805190509050600060010260001916816000191614151515610d8057600080fd5b600160036000856000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f8d898986000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610e4257600080fd5b6102c65a03f11515610e5357600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8c83600190046040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1515610f0257600080fd5b6102c65a03f11515610f1357600080fd5b505050806000191683600019168c73ffffffffffffffffffffffffffffffffffffffff167f44bca8cc6f9375e3d800b6361e71fdde37e4fc86bdc3a72c4f8f69bbd19a01f360405160405180910390a48093505b505050979650505050505050565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fe357600080fd5b600060149054906101000a900460ff16151515610fff57600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060149054906101000a900460ff1615151561108a57600080fd5b83600060058110151561109957fe5b602002015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110d757600080fd5b6110e2848484611342565b9050600160026000836000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550806000191684600060058110151561112c57fe5b602002015173ffffffffffffffffffffffffffffffffffffffff167f07d3242876ac355520b94ab74873262d83b5b81dbd5da781118f78cee0bbe74760405160405180910390a350505050565b60026020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60036020528060005260406000206000915054906101000a900460ff1681565b600060010281565b611f4081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561124857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561128457600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600083600060058110151561135357fe5b602002015184600160058110151561136757fe5b602002015185600260058110151561137b57fe5b602002015186600360058110151561138f57fe5b60200201518760046005811015156113a357fe5b60200201518760006004811015156113b757fe5b60200201518860016004811015156113cb57fe5b60200201518960026004811015156113df57fe5b60200201518a60036004811015156113f357fe5b60200201518a600060018110151561140757fe5b6020020151604051808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140186815260200185815260200184815260200183815260200182600019166000191681526020019a5050505050505050505050604051809103902090509392505050565b600060018560405180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040518091039020858585604051600081526020016040526000604051602001526040518085600019166000191681526020018460ff1660ff16815260200183600019166000191681526020018260001916600019168152602001945050505050602060405160208103908084039060008661646e5a03f1151561165d57600080fd5b50506020604051035173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614905095945050505050565b60008082840190508381101515156116b357fe5b8091505092915050565b6000806000806116ce8688306118df565b92506116da86886119d7565b9150848210806116e957508483105b156116f757600093506117cf565b6117aa8630600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630eefdbad6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561178a57600080fd5b6102c65a03f1151561179b57600080fd5b505050604051805190506118df565b9050848110156117ca576117be8686611a9a565b15156117c957600080fd5b5b600193505b5050509392505050565b60008473ffffffffffffffffffffffffffffffffffffffff166323b872dd8585856000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15156118ba57600080fd5b6102c65a03f115156118cb57600080fd5b505050604051805190509050949350505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e611f4061ffff1685856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600088803b15156119b657600080fd5b87f115156119c357600080fd5b505050506040518051905090509392505050565b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231611f4061ffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600088803b1515611a7a57600080fd5b87f11515611a8757600080fd5b5050505060405180519050905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630eefdbad6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611b4657600080fd5b6102c65a03f11515611b5757600080fd5b50505060405180519050846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611bef57600080fd5b6102c65a03f11515611c0057600080fd5b505050604051805190509050929150505600a165627a7a7230582051723af670e00f905ed79837151ff2f428c566a7778657a079e3873cc19020a10029", + "deployedBytecode": "0x6060604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633f4ba83a146100bf57806347f7835d146100d45780635c975abb146102325780638456cb591461025f5780638da5cb5b146102745780638f18b00b146102c9578063a318b5f714610367578063abf410e5146103a6578063c1614d00146103fb578063e283040d1461043a578063f06bbf751461046b578063f2fde38b1461049c575b600080fd5b34156100ca57600080fd5b6100d26104d5565b005b34156100df57600080fd5b610214600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908060c0019060068060200260405190810160405280929190826006602002808284378201915050505050919080610100019060088060200260405190810160405280929190826008602002808284378201915050505050919080602001906001806020026040519081016040528092919082600160200280828437820191505050505091908060600190600380602002604051908101604052809291908260036020028082843782019150505050509190806060019060038060200260405190810160405280929190826003602002808284378201915050505050919080606001906003806020026040519081016040528092919082600360200280828437820191505050505091905050610593565b60405180826000191660001916815260200191505060405180910390f35b341561023d57600080fd5b610245610f75565b604051808215151515815260200191505060405180910390f35b341561026a57600080fd5b610272610f88565b005b341561027f57600080fd5b610287611048565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102d457600080fd5b6103656004808060a0019060058060200260405190810160405280929190826005602002808284378201915050505050919080608001906004806020026040519081016040528092919082600460200280828437820191505050505091908060200190600180602002604051908101604052809291908260016020028082843782019150505050509190505061106d565b005b341561037257600080fd5b61038c600480803560001916906020019091905050611179565b604051808215151515815260200191505060405180910390f35b34156103b157600080fd5b6103b9611199565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561040657600080fd5b6104206004808035600019169060200190919050506111bf565b604051808215151515815260200191505060405180910390f35b341561044557600080fd5b61044d6111df565b60405180826000191660001916815260200191505060405180910390f35b341561047657600080fd5b61047e6111e7565b604051808261ffff1661ffff16815260200191505060405180910390f35b34156104a757600080fd5b6104d3600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111ed565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561053057600080fd5b600060149054906101000a900460ff16151561054b57600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600080600080600060149054906101000a900460ff161515156105b557600080fd5b61081160a0604051908101604052808d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663079dd4b76000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561068457600080fd5b6102c65a03f1151561069557600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c60006006811015156106df57fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c600360068110151561072457fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018c600460068110151561076957fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152506080604051908101604052808c60016008811015156107b857fe5b602002015181526020018c60026008811015156107d157fe5b602002015181526020018c60056008811015156107ea57fe5b602002015181526020018c600760088110151561080357fe5b60200201518152508a611342565b925060036000846000191660001916815260200190815260200160002060009054906101000a900460ff16156108a55782600019168b73ffffffffffffffffffffffffffffffffffffffff166001600381111561086a57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f67565b60026000846000191660001916815260200190815260200160002060009054906101000a900460ff16156109375782600019168b73ffffffffffffffffffffffffffffffffffffffff16600060038111156108fc57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f67565b61097d8b8489600160038110151561094b57fe5b602002015189600160038110151561095f57fe5b602002015189600160038110151561097357fe5b6020020151611598565b15156109e75782600019168b73ffffffffffffffffffffffffffffffffffffffff16600260038111156109ac57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f67565b610a208960056008811015156109f957fe5b60200201518a6002600881101515610a0d57fe5b602002015161169f90919063ffffffff16565b9150610a408b8b6004600681101515610a3557fe5b6020020151846116bd565b1515610aa95782600019168b73ffffffffffffffffffffffffffffffffffffffff16600380811115610a6e57fe5b60ff167f2ced8b4371717a8c6ce644dc517a7eaf4c7c0b52e5ab304c4c7472b15588b10260405160405180910390a460006001029350610f67565b6000821115610add57610ad18a6004600681101515610ac457fe5b60200201518c30856117d9565b1515610adc57600080fd5b5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663079dd4b76000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610b6b57600080fd5b6102c65a03f11515610b7c57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663e6488fc9308c8c8c8c8c8c6000604051602001526040518863ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200187600660200280838360005b83811015610c39578082015181840152602081019050610c1e565b5050505090500186600860200280838360005b83811015610c67578082015181840152602081019050610c4c565b5050505090500185600160200280838360005b83811015610c95578082015181840152602081019050610c7a565b5050505090500184600360200280838360005b83811015610cc3578082015181840152602081019050610ca8565b5050505090500183600360200280838360005b83811015610cf1578082015181840152602081019050610cd6565b5050505090500182600360200280838360005b83811015610d1f578082015181840152602081019050610d04565b50505050905001975050505050505050602060405180830381600087803b1515610d4857600080fd5b6102c65a03f11515610d5957600080fd5b505050604051805190509050600060010260001916816000191614151515610d8057600080fd5b600160036000856000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f8d898986000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610e4257600080fd5b6102c65a03f11515610e5357600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8c83600190046040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1515610f0257600080fd5b6102c65a03f11515610f1357600080fd5b505050806000191683600019168c73ffffffffffffffffffffffffffffffffffffffff167f44bca8cc6f9375e3d800b6361e71fdde37e4fc86bdc3a72c4f8f69bbd19a01f360405160405180910390a48093505b505050979650505050505050565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fe357600080fd5b600060149054906101000a900460ff16151515610fff57600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060149054906101000a900460ff1615151561108a57600080fd5b83600060058110151561109957fe5b602002015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110d757600080fd5b6110e2848484611342565b9050600160026000836000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550806000191684600060058110151561112c57fe5b602002015173ffffffffffffffffffffffffffffffffffffffff167f07d3242876ac355520b94ab74873262d83b5b81dbd5da781118f78cee0bbe74760405160405180910390a350505050565b60026020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60036020528060005260406000206000915054906101000a900460ff1681565b600060010281565b611f4081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561124857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561128457600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600083600060058110151561135357fe5b602002015184600160058110151561136757fe5b602002015185600260058110151561137b57fe5b602002015186600360058110151561138f57fe5b60200201518760046005811015156113a357fe5b60200201518760006004811015156113b757fe5b60200201518860016004811015156113cb57fe5b60200201518960026004811015156113df57fe5b60200201518a60036004811015156113f357fe5b60200201518a600060018110151561140757fe5b6020020151604051808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140186815260200185815260200184815260200183815260200182600019166000191681526020019a5050505050505050505050604051809103902090509392505050565b600060018560405180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040518091039020858585604051600081526020016040526000604051602001526040518085600019166000191681526020018460ff1660ff16815260200183600019166000191681526020018260001916600019168152602001945050505050602060405160208103908084039060008661646e5a03f1151561165d57600080fd5b50506020604051035173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614905095945050505050565b60008082840190508381101515156116b357fe5b8091505092915050565b6000806000806116ce8688306118df565b92506116da86886119d7565b9150848210806116e957508483105b156116f757600093506117cf565b6117aa8630600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630eefdbad6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561178a57600080fd5b6102c65a03f1151561179b57600080fd5b505050604051805190506118df565b9050848110156117ca576117be8686611a9a565b15156117c957600080fd5b5b600193505b5050509392505050565b60008473ffffffffffffffffffffffffffffffffffffffff166323b872dd8585856000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15156118ba57600080fd5b6102c65a03f115156118cb57600080fd5b505050604051805190509050949350505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e611f4061ffff1685856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600088803b15156119b657600080fd5b87f115156119c357600080fd5b505050506040518051905090509392505050565b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231611f4061ffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600088803b1515611a7a57600080fd5b87f11515611a8757600080fd5b5050505060405180519050905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630eefdbad6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611b4657600080fd5b6102c65a03f11515611b5757600080fd5b50505060405180519050846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611bef57600080fd5b6102c65a03f11515611c0057600080fd5b505050604051805190509050929150505600a165627a7a7230582051723af670e00f905ed79837151ff2f428c566a7778657a079e3873cc19020a10029", + "sourceMap": "1086:10007:2:-;;;268:5:37;247:26;;;;;;;;;;;;;;;;;;;;2040:140:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;509:10:39;501:5;;:18;;;;;;;;;;;;;;;;;;2155:17:2;2119:16;;:54;;;;;;;;;;;;;;;;;;2040:140;1086:10007;;;;;;", + "deployedSourceMap": "1086:10007:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;833:87:37;;;;;;;;;;;;;;2398:3551:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;247:26:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;666:85;;;;;;;;;;;;;;238:20:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6048:607:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1502:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1333:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1559:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1380:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1441:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;832:169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;833:87:37;653:5:39;;;;;;;;;;;639:19;;:10;:19;;;631:28;;;;;;;;568:6:37;;;;;;;;;;;560:15;;;;;;;;895:5;886:6;;:14;;;;;;;;;;;;;;;;;;906:9;;;;;;;;;;833:87::o;2398:3551:2:-;2835:20;2872:30;4402:25;5343:19;416:6:37;;;;;;;;;;;415:7;407:16;;;;;;;;2905:647:2;;;;;;;;;;2962:8;2905:647;;;;;;;;2996:16;;;;;;;;;;;:27;;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2905:647;;;;;;;;3067:14;3082:1;3067:17;;;;;;;;;;;;;2905:647;;;;;;;;3130:14;3145:1;3130:17;;;;;;;;;;;;;2905:647;;;;;;;;3191:14;3206:1;3191:17;;;;;;;;;;;;;2905:647;;;;;;;;;;;;;;;;3283:11;3295:1;3283:14;;;;;;;;;;;;;2905:647;;;;3323:11;3335:1;3323:14;;;;;;;;;;;;;2905:647;;;;3375:11;3387:1;3375:14;;;;;;;;;;;;;2905:647;;;;3423:11;3435:1;3423:14;;;;;;;;;;;;;2905:647;;;3503:12;2905:25;:647::i;:::-;2872:680;;3567:15;:39;3583:22;3567:39;;;;;;;;;;;;;;;;;;;;;;;;;;;3563:192;;;3682:22;3622:83;;;3672:8;3622:83;;3637:32;3631:39;;;;;;;;3622:83;;;;;;;;;;;;1433:1;1425:10;;3719:25;;;;3563:192;3769:18;:42;3788:22;3769:42;;;;;;;;;;;;;;;;;;;;;;;;;;;3765:190;;;3882:22;3827:78;;;3872:8;3827:78;;3842:27;3836:34;;;;;;;;3827:78;;;;;;;;;;;;1433:1;1425:10;;3919:25;;;;3765:190;3970:168;4000:8;4022:22;4058:11;4070:1;4058:14;;;;;;;;;;;;;4086:11;4098:1;4086:14;;;;;;;;;;;;;4114:11;4126:1;4114:14;;;;;;;;;;;;;3970:16;:168::i;:::-;3969:169;3965:384;;;4263:22;4154:145;;;4237:8;4154:145;;4186:32;4180:39;;;;;;;;4154:145;;;;;;;;;;;;1433:1;1425:10;;4313:25;;;;3965:384;4430:34;4449:11;4461:1;4449:14;;;;;;;;;;;;;4430:11;4442:1;4430:14;;;;;;;;;;;;;:18;;:34;;;;:::i;:::-;4402:62;;4480:129;4526:8;4548:14;4563:1;4548:17;;;;;;;;;;;;;4579:20;4480:32;:129::i;:::-;4479:130;4475:362;;;4751:22;4625:162;;;4725:8;4625:162;;4657:49;4651:56;;;;;;;;4625:162;;;;;;;;;;;;1433:1;1425:10;;4801:25;;;;4475:362;4935:1;4912:20;:24;4908:276;;;4977:182;5017:14;5032:1;5017:17;;;;;;;;;;;;;5056:8;5094:4;5121:20;4977:18;:182::i;:::-;4952:221;;;;;;;;4908:276;5365:16;;;;;;;;;;;:27;;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:43;;;5430:4;5449:14;5477:11;5502:12;5528:11;5553;5578;5365:234;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5343:256:2;;1433:1;1425:10;;5618:33;;;:11;:33;;;;;5610:42;;;;;;;;5705:4;5663:15;:39;5679:22;5663:39;;;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;5768:16;;;;;;;;;;;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:37;;;5806:8;5824:11;5816:20;;;5768:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5901:11;5848:65;;;5877:22;5848:65;;;5867:8;5848:65;;;;;;;;;;;;5931:11;5924:18;;429:1:37;2398:3551:2;;;;;;;;;;;;:::o;247:26:37:-;;;;;;;;;;;;;:::o;666:85::-;653:5:39;;;;;;;;;;;639:19;;:10;:19;;;631:28;;;;;;;;416:6:37;;;;;;;;;;;415:7;407:16;;;;;;;;729:4;720:6;;:13;;;;;;;;;;;;;;;;;;739:7;;;;;;;;;;666:85::o;238:20:39:-;;;;;;;;;;;;;:::o;6048:607:2:-;6342:30;416:6:37;;;;;;;;;;;415:7;407:16;;;;;;;;6309:19:2;6329:1;6309:22;;;;;;;;;;;;;6295:36;;:10;:36;;;6287:45;;;;;;;;6375:135;6414:19;6447:16;6477:23;6375:25;:135::i;:::-;6342:168;;6565:4;6520:18;:42;6539:22;6520:42;;;;;;;;;;;;;;;;;;:49;;;;;;;;;;;;;;;;;;6625:22;6579:69;;;6601:19;6621:1;6601:22;;;;;;;;;;;;;6579:69;;;;;;;;;;;;6048:607;;;;:::o;1502:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;1333:40::-;;;;;;;;;;;;;:::o;1559:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;1380:55::-;1433:1;1425:10;;1380:55;:::o;1441:54::-;1491:4;1441:54;:::o;832:169:39:-;653:5;;;;;;;;;;;639:19;;:10;:19;;;631:28;;;;;;;;928:1;908:22;;:8;:22;;;;900:31;;;;;;;;965:8;937:37;;958:5;;;;;;;;;;;937:37;;;;;;;;;;;;988:8;980:5;;:16;;;;;;;;;;;;;;;;;;832:169;:::o;6845:865:2:-;7051:31;7128:19;7148:1;7128:22;;;;;;;;;;;;;7176:19;7196:1;7176:22;;;;;;;;;;;;;7235:19;7255:1;7235:22;;;;;;;;;;;;;7299:19;7319:1;7299:22;;;;;;;;;;;;;7361:19;7381:1;7361:22;;;;;;;;;;;;;7424:16;7441:1;7424:19;;;;;;;;;;;;;7465:16;7482:1;7465:19;;;;;;;;;;;;;7518:16;7535:1;7518:19;;;;;;;;;;;;;7567:16;7584:1;7567:19;;;;;;;;;;;;;7638:23;7662:1;7638:26;;;;;;;;;;;;;7105:598;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7098:605;;6845:865;;;;;:::o;9165:360::-;9345:11;9389:129;9458:4;9412:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9477:1;9492;9507;9389:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9379:139;;:6;:139;;;9372:146;;9165:360;;;;;;;:::o;1007:129:38:-;1065:7;1080:9;1096:1;1092;:5;1080:17;;1115:1;1110;:6;;1103:14;;;;;;1130:1;1123:8;;1007:129;;;;;:::o;7921:1107:2:-;8096:37;8222:19;8307:20;8596:27;8244:53;8257:14;8273:8;8291:4;8244:12;:53::i;:::-;8222:75;;8330:36;8341:14;8357:8;8330:10;:36::i;:::-;8307:59;;8399:20;8381:15;:38;:79;;;;8440:20;8423:14;:37;8381:79;8377:122;;;8483:5;8476:12;;;;8377:122;8626:128;8652:14;8688:4;8707:16;;;;;;;;;;;:35;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8626:12;:128::i;:::-;8596:158;;8881:20;8856:22;:45;8852:148;;;8925:63;8951:14;8967:20;8925:25;:63::i;:::-;8917:72;;;;;;;;8852:148;9017:4;9010:11;;7921:1107;;;;;;;;;:::o;10843:248::-;11001:13;11043:6;11037:26;;;11064:5;11071:3;11076:7;11037:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11030:54;;10843:248;;;;;;:::o;10004:337::-;10150:15;10238:5;10232:22;;;1491:4;10232:52;;10298:5;10317:7;10232:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10225:109;;10004:337;;;;;:::o;9621:265::-;9740:13;9826:5;9820:22;;;1491:4;9820:52;;9873:5;9820:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9813:66;;9621:265;;;;:::o;10458:272::-;10577:13;10619:5;10613:20;;;10655:16;;;;;;;;;;;:35;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10707:6;10613:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10606:117;;10458:272;;;;:::o", + "source": "/*\n\n Copyright 2017 Dharma Labs Inc.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n*/\n\npragma solidity 0.4.18;\n\nimport \"./ContractRegistry.sol\";\nimport \"zeppelin-solidity/contracts/lifecycle/Pausable.sol\";\nimport \"zeppelin-solidity/contracts/math/SafeMath.sol\";\nimport \"zeppelin-solidity/contracts/token/ERC20/ERC20.sol\";\n\n\n/**\n * The CreditorProxy is a thin wrapper around the DebtKernel\n * It implements creditor-driven loans as specified by DIP-1\n *\n * Authors: Bo Henderson & Shivani Gupta & Dharma Team\n * DIP: https://github.com/dharmaprotocol/DIPs/issues/1\n */\ncontract CreditorProxy is Pausable {\n using SafeMath for uint;\n\n enum Errors {\n DEBT_OFFER_CANCELLED,\n DEBT_OFFER_ALREADY_FILLED,\n DEBT_OFFER_NON_CONSENSUAL,\n CREDITOR_BALANCE_OR_ALLOWANCE_INSUFFICIENT\n }\n\n ContractRegistry public contractRegistry;\n\n bytes32 constant public NULL_ISSUANCE_HASH = bytes32(0);\n uint16 constant public EXTERNAL_QUERY_GAS_LIMIT = 8000;\n\n mapping (bytes32 => bool) public debtOfferCancelled;\n mapping (bytes32 => bool) public debtOfferFilled;\n\n event LogDebtOfferCancelled(\n address indexed _creditor,\n bytes32 indexed _creditorCommitmentHash\n );\n\n event LogDebtOfferFilled(\n address indexed _creditor,\n bytes32 indexed _creditorCommitmentHash,\n bytes32 indexed _agreementId\n );\n\n event LogError(\n uint8 indexed _errorId,\n address indexed _creditor,\n bytes32 indexed _creditorCommitmentHash\n );\n\n function CreditorProxy(address _contractRegistry)\n public\n {\n contractRegistry = ContractRegistry(_contractRegistry);\n }\n\n /*\n * Submit debt order to DebtKernel if it is consensual with creditor's request\n * Creditor signature in arguments is only used internally,\n * It will not be verified by the Debt Kernel\n */\n function fillDebtOffer(\n address creditor,\n address[6] orderAddresses, // repayment-router, debtor, uw, tc, p-token, relayer\n uint[8] orderValues, // rr, salt, pa, uwFee, rFee, cFee, dFee, expTime\n bytes32[1] orderBytes32, // tcParams\n uint8[3] signaturesV, // debtV, credV, uwV\n bytes32[3] signaturesR,\n bytes32[3] signaturesS\n )\n public\n whenNotPaused\n returns (bytes32 _agreementId)\n {\n\n bytes32 creditorCommitmentHash = getCreditorCommitmentHash(\n [\n creditor,\n address(contractRegistry.debtKernel()), // debt kernel version\n orderAddresses[0], // repayment router version\n orderAddresses[3], // terms contract address\n orderAddresses[4] // principal token adddress\n\n ],\n [\n orderValues[1], // salt\n orderValues[2], // principal amount\n orderValues[5], // creditor fee\n orderValues[7] // commitmentExpirationTimestampInSec\n ],\n orderBytes32 // termsContractParameters\n );\n\n if (debtOfferFilled[creditorCommitmentHash]) {\n LogError(uint8(Errors.DEBT_OFFER_ALREADY_FILLED), creditor, creditorCommitmentHash);\n return NULL_ISSUANCE_HASH;\n }\n\n if (debtOfferCancelled[creditorCommitmentHash]) {\n LogError(uint8(Errors.DEBT_OFFER_CANCELLED), creditor, creditorCommitmentHash);\n return NULL_ISSUANCE_HASH;\n }\n\n if (!isValidSignature(\n creditor,\n creditorCommitmentHash,\n signaturesV[1],\n signaturesR[1],\n signaturesS[1]\n )) {\n LogError(\n uint8(Errors.DEBT_OFFER_NON_CONSENSUAL),\n creditor,\n creditorCommitmentHash\n );\n return NULL_ISSUANCE_HASH;\n }\n\n // principal amount + creditor fee\n uint totalCreditorPayment = orderValues[2].add(orderValues[5]);\n\n if (!hasSufficientBalanceAndAllowance(\n creditor,\n orderAddresses[4],\n totalCreditorPayment\n )) {\n LogError(\n uint8(Errors.CREDITOR_BALANCE_OR_ALLOWANCE_INSUFFICIENT),\n creditor,\n creditorCommitmentHash\n );\n return NULL_ISSUANCE_HASH;\n }\n\n // Transfer principal from creditor to CreditorProxy\n if (totalCreditorPayment > 0) {\n require(\n transferTokensFrom(\n orderAddresses[4],\n creditor,\n address(this),\n totalCreditorPayment\n )\n );\n }\n\n // Grant allowance to the TokenTransferProxy for this contract.\n\n\n // Fill debt order with this contract playing the role of creditor\n bytes32 agreementId = contractRegistry.debtKernel().fillDebtOrder(\n address(this),\n orderAddresses,\n orderValues,\n orderBytes32,\n signaturesV,\n signaturesR,\n signaturesS\n );\n\n require(agreementId != NULL_ISSUANCE_HASH);\n\n debtOfferFilled[creditorCommitmentHash] = true;\n\n // transfer debt token to real creditor\n contractRegistry.debtToken().transfer(creditor, uint256(agreementId));\n\n LogDebtOfferFilled(creditor, creditorCommitmentHash, agreementId);\n\n return agreementId;\n }\n\n /**\n * Allows creditor to prevent a debt offer from being used in the future\n */\n function cancelDebtOffer(\n address[5] commitmentAddresses,\n uint[4] commitmentValues,\n bytes32[1] termsContractParameters\n )\n public\n whenNotPaused\n {\n // sender must be the creditor\n require(msg.sender == commitmentAddresses[0]);\n bytes32 creditorCommitmentHash = getCreditorCommitmentHash(\n commitmentAddresses,\n commitmentValues,\n termsContractParameters\n );\n debtOfferCancelled[creditorCommitmentHash] = true;\n LogDebtOfferCancelled(commitmentAddresses[0], creditorCommitmentHash);\n }\n\n ////////////////////////\n // INTERNAL FUNCTIONS //\n ////////////////////////\n\n /**\n * Returns the messaged signed by the creditor to indicate their commitment\n */\n function getCreditorCommitmentHash(\n address[5] commitmentAddresses,\n uint[4] commitmentValues,\n bytes32[1] termsContractParameters\n )\n internal\n pure\n returns (bytes32 _creditorCommitmentHash)\n {\n return keccak256(\n commitmentAddresses[0], // creditor\n commitmentAddresses[1], // debt kernel version\n commitmentAddresses[2], // repayment router version\n commitmentAddresses[3], // terms contract address\n commitmentAddresses[4], // principal token address\n commitmentValues[0], // salt\n commitmentValues[1], // principal amount\n commitmentValues[2], // creditor fee\n commitmentValues[3], // commitmentExpirationTimestampInSec\n termsContractParameters[0] // terms contract parameters\n );\n }\n\n\n /**\n * Assert that the creditor has a sufficient token balance and has granted the token transfer\n * proxy contract sufficient allowance to suffice for the principal and creditor fee.\n */\n function hasSufficientBalanceAndAllowance(\n address creditor,\n address principalToken,\n uint totalCreditorPayment\n )\n internal\n returns (bool _isBalanceAndAllowanceSufficient)\n {\n // The allowance that this contract has for a creditor's tokens.\n uint proxyAllowance = getAllowance(principalToken, creditor, address(this));\n uint creditorBalance = getBalance(principalToken, creditor);\n\n if (creditorBalance < totalCreditorPayment || proxyAllowance < totalCreditorPayment) {\n return false;\n }\n\n // The allowance that the token transfer proxy has for this contract's tokens.\n uint tokenTransferAllowance = getAllowance(\n principalToken,\n address(this),\n contractRegistry.tokenTransferProxy()\n );\n\n // Ensure the token transfer proxy can transfer tokens from the creditor proxy\n if (tokenTransferAllowance < totalCreditorPayment) {\n require(setTokenTransferAllowance(principalToken, totalCreditorPayment));\n }\n\n return true;\n }\n\n /**\n * Given a hashed message, a signer's address, and a signature,\n * returns whether the signature is valid.\n */\n function isValidSignature(\n address signer,\n bytes32 hash,\n uint8 v,\n bytes32 r,\n bytes32 s\n )\n internal\n pure\n returns (bool _valid)\n {\n return signer == ecrecover(\n keccak256(\"\\x19Ethereum Signed Message:\\n32\", hash),\n v,\n r,\n s\n );\n }\n\n /**\n * Helper function for querying an address' balance on a given token.\n */\n function getBalance(\n address token,\n address owner\n )\n internal\n view\n returns (uint _balance)\n {\n // Limit gas to prevent reentrancy.\n return ERC20(token).balanceOf.gas(EXTERNAL_QUERY_GAS_LIMIT)(owner);\n }\n\n /**\n * Helper function for querying this contract's allowance for transferring the given token.\n */\n function getAllowance(\n address token,\n address owner,\n address granter\n )\n internal\n view\n returns (uint _allowance)\n {\n // Limit gas to prevent reentrancy.\n return ERC20(token).allowance.gas(EXTERNAL_QUERY_GAS_LIMIT)(\n owner,\n granter\n );\n }\n\n /**\n * Helper function for approving this address' allowance to Dharma's token transfer proxy.\n */\n function setTokenTransferAllowance(\n address token,\n uint amount\n )\n internal\n returns (bool _success)\n {\n return ERC20(token).approve(\n address(contractRegistry.tokenTransferProxy()),\n amount\n );\n }\n\n\n /**\n * Helper function for transferring a specified amount of tokens between two parties.\n */\n function transferTokensFrom(\n address _token,\n address _from,\n address _to,\n uint _amount\n )\n internal\n returns (bool _success)\n {\n return ERC20(_token).transferFrom(_from, _to, _amount);\n }\n}\n", "sourcePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/CreditorProxy.sol", "ast": { "attributes": { @@ -8924,7 +8924,7 @@ export const CreditorProxy = } }, "links": {}, - "address": "0xd9b303da12a84a405c482c91592b5bd00a2317e2" + "address": "0x384e128de8bc07a6ec4b09b3c09052037db23af1" }, "70": { "events": { @@ -9024,5 +9024,5 @@ export const CreditorProxy = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:53:24.855Z" + "updatedAt": "2018-10-09T23:24:24.866Z" } \ No newline at end of file diff --git a/artifacts/ts/DebtKernel.ts b/artifacts/ts/DebtKernel.ts index 3dedee10..aacbf302 100644 --- a/artifacts/ts/DebtKernel.ts +++ b/artifacts/ts/DebtKernel.ts @@ -437,7 +437,7 @@ export const DebtKernel = }, { "attributes": { - "SourceUnit": 3541, + "SourceUnit": 3549, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/DebtToken.sol", "file": "./DebtToken.sol", "scope": 2639, @@ -452,7 +452,7 @@ export const DebtKernel = }, { "attributes": { - "SourceUnit": 4758, + "SourceUnit": 4766, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/TermsContract.sol", "file": "./TermsContract.sol", "scope": 2639, @@ -467,7 +467,7 @@ export const DebtKernel = }, { "attributes": { - "SourceUnit": 5207, + "SourceUnit": 5215, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/TokenTransferProxy.sol", "file": "./TokenTransferProxy.sol", "scope": 2639, @@ -17683,7 +17683,7 @@ export const DebtKernel = } }, "links": {}, - "address": "0x4a42fbdae13791341361f9d2dd69873d83e4b816" + "address": "0x24db52da9748fbb889a5bcc4468b32fbc9172348" }, "70": { "events": { @@ -17815,5 +17815,5 @@ export const DebtKernel = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:51:53.185Z" + "updatedAt": "2018-10-09T23:22:13.505Z" } \ No newline at end of file diff --git a/artifacts/ts/DebtRegistry.ts b/artifacts/ts/DebtRegistry.ts index f6d3134a..2b26dc77 100644 --- a/artifacts/ts/DebtRegistry.ts +++ b/artifacts/ts/DebtRegistry.ts @@ -572,7 +572,7 @@ export const DebtRegistry = }, { "attributes": { - "SourceUnit": 6272, + "SourceUnit": 6280, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/libraries/PermissionsLib.sol", "file": "./libraries/PermissionsLib.sol", "scope": 3167, @@ -7985,7 +7985,7 @@ export const DebtRegistry = } }, "links": {}, - "address": "0x0db51854d2b302e35d8f0f7a4fabb2415f9e42a5" + "address": "0x3940a1aa50eac96c2b0f47befb1443f5636649ab" }, "70": { "events": { @@ -8165,5 +8165,5 @@ export const DebtRegistry = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:51:53.167Z" + "updatedAt": "2018-10-09T23:22:13.473Z" } \ No newline at end of file diff --git a/artifacts/ts/DebtToken.ts b/artifacts/ts/DebtToken.ts index fb14c3ea..864fa15d 100644 --- a/artifacts/ts/DebtToken.ts +++ b/artifacts/ts/DebtToken.ts @@ -769,7 +769,7 @@ export const DebtToken = }, { "attributes": { - "SourceUnit": 3159, + "SourceUnit": 3167, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/DebtRegistry.sol", "file": "./DebtRegistry.sol", "scope": 3549, @@ -784,7 +784,7 @@ export const DebtToken = }, { "attributes": { - "SourceUnit": 3551, + "SourceUnit": 3559, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/ERC165.sol", "file": "./ERC165.sol", "scope": 3549, @@ -799,7 +799,7 @@ export const DebtToken = }, { "attributes": { - "SourceUnit": 6272, + "SourceUnit": 6280, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/libraries/PermissionsLib.sol", "file": "./libraries/PermissionsLib.sol", "scope": 3549, @@ -6203,7 +6203,7 @@ export const DebtToken = } }, "links": {}, - "address": "0xa99e0834ce4ac707371cbd6d938773b660552b91" + "address": "0xf0b37b0f7e0715b5a7d19ffb2259bb9a8caa0720" }, "70": { "events": { @@ -6342,5 +6342,5 @@ export const DebtToken = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:53:04.888Z" + "updatedAt": "2018-10-09T23:23:58.036Z" } \ No newline at end of file diff --git a/artifacts/ts/DeprecatedERC721.ts b/artifacts/ts/DeprecatedERC721.ts index 82e60a06..18c8a5ed 100644 --- a/artifacts/ts/DeprecatedERC721.ts +++ b/artifacts/ts/DeprecatedERC721.ts @@ -790,5 +790,5 @@ export const DeprecatedERC721 = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.433Z" + "updatedAt": "2018-10-09T23:15:05.489Z" } \ No newline at end of file diff --git a/artifacts/ts/DharmaMultiSigWallet.ts b/artifacts/ts/DharmaMultiSigWallet.ts index d1966799..2c519028 100644 --- a/artifacts/ts/DharmaMultiSigWallet.ts +++ b/artifacts/ts/DharmaMultiSigWallet.ts @@ -658,7 +658,7 @@ export const DharmaMultiSigWallet = }, { "attributes": { - "SourceUnit": 13919, + "SourceUnit": 13927, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/wallet/MultiSigWallet.sol", "file": "./MultiSigWallet.sol", "scope": 12937, @@ -5192,7 +5192,7 @@ export const DharmaMultiSigWallet = "42": { "events": {}, "links": {}, - "address": "0x73b8e624c2e0e55e7eaf5ff669a7c63f95781bb4" + "address": "0xa721f5c413fc06104e2544f0413075bfc94d8363" }, "70": { "events": {}, @@ -5201,5 +5201,5 @@ export const DharmaMultiSigWallet = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:53:24.844Z" + "updatedAt": "2018-10-09T23:24:24.856Z" } \ No newline at end of file diff --git a/artifacts/ts/DummyContract.ts b/artifacts/ts/DummyContract.ts index a556e820..48e4b1ff 100644 --- a/artifacts/ts/DummyContract.ts +++ b/artifacts/ts/DummyContract.ts @@ -217,7 +217,7 @@ export const DummyContract = }, { "attributes": { - "SourceUnit": 6272, + "SourceUnit": 6280, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/libraries/PermissionsLib.sol", "file": "../libraries/PermissionsLib.sol", "scope": 9944, @@ -1770,7 +1770,7 @@ export const DummyContract = "42": { "events": {}, "links": {}, - "address": "0x64481c13201a7baabd3a440eeba57170336f0e70" + "address": "0x6fc77e8aa556b15ac07e61ebc0a56a4ff636eee9" }, "70": { "events": {}, @@ -1779,5 +1779,5 @@ export const DummyContract = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:01.258Z" + "updatedAt": "2018-10-09T23:19:45.788Z" } \ No newline at end of file diff --git a/artifacts/ts/DummyToken.ts b/artifacts/ts/DummyToken.ts index 06a643af..6313984c 100644 --- a/artifacts/ts/DummyToken.ts +++ b/artifacts/ts/DummyToken.ts @@ -2153,5 +2153,5 @@ export const DummyToken = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:48:16.849Z" + "updatedAt": "2018-10-09T23:17:48.460Z" } \ No newline at end of file diff --git a/artifacts/ts/ERC165.ts b/artifacts/ts/ERC165.ts index eb803e81..c3b10bc2 100644 --- a/artifacts/ts/ERC165.ts +++ b/artifacts/ts/ERC165.ts @@ -172,5 +172,5 @@ export const ERC165 = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.420Z" + "updatedAt": "2018-10-09T23:15:05.470Z" } \ No newline at end of file diff --git a/artifacts/ts/ERC20.ts b/artifacts/ts/ERC20.ts index b13e5057..4b869afa 100644 --- a/artifacts/ts/ERC20.ts +++ b/artifacts/ts/ERC20.ts @@ -742,5 +742,5 @@ export const ERC20 = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.433Z" + "updatedAt": "2018-10-09T23:15:05.489Z" } \ No newline at end of file diff --git a/artifacts/ts/ERC20Basic.ts b/artifacts/ts/ERC20Basic.ts index 54f34773..ef3c7682 100644 --- a/artifacts/ts/ERC20Basic.ts +++ b/artifacts/ts/ERC20Basic.ts @@ -511,5 +511,5 @@ export const ERC20Basic = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.427Z" + "updatedAt": "2018-10-09T23:15:05.486Z" } \ No newline at end of file diff --git a/artifacts/ts/ERC721.ts b/artifacts/ts/ERC721.ts index cff60308..663452c7 100644 --- a/artifacts/ts/ERC721.ts +++ b/artifacts/ts/ERC721.ts @@ -1111,5 +1111,5 @@ export const ERC721 = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.439Z" + "updatedAt": "2018-10-09T23:15:05.493Z" } \ No newline at end of file diff --git a/artifacts/ts/ERC721Basic.ts b/artifacts/ts/ERC721Basic.ts index de553412..954daf38 100644 --- a/artifacts/ts/ERC721Basic.ts +++ b/artifacts/ts/ERC721Basic.ts @@ -1664,5 +1664,5 @@ export const ERC721Basic = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.452Z" + "updatedAt": "2018-10-09T23:15:05.501Z" } \ No newline at end of file diff --git a/artifacts/ts/ERC721BasicToken.ts b/artifacts/ts/ERC721BasicToken.ts index 724fce61..4addd693 100644 --- a/artifacts/ts/ERC721BasicToken.ts +++ b/artifacts/ts/ERC721BasicToken.ts @@ -8710,5 +8710,5 @@ export const ERC721BasicToken = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.625Z" + "updatedAt": "2018-10-09T23:15:05.786Z" } \ No newline at end of file diff --git a/artifacts/ts/ERC721CollateralizedSimpleInterestTermsContract.ts b/artifacts/ts/ERC721CollateralizedSimpleInterestTermsContract.ts index 19e1fbc1..84b90dac 100644 --- a/artifacts/ts/ERC721CollateralizedSimpleInterestTermsContract.ts +++ b/artifacts/ts/ERC721CollateralizedSimpleInterestTermsContract.ts @@ -430,7 +430,7 @@ export const ERC721CollateralizedSimpleInterestTermsContract = }, { "attributes": { - "SourceUnit": 6053, + "SourceUnit": 6061, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/examples/SimpleInterestTermsContract.sol", "file": "./SimpleInterestTermsContract.sol", "scope": 5357, @@ -445,7 +445,7 @@ export const ERC721CollateralizedSimpleInterestTermsContract = }, { "attributes": { - "SourceUnit": 4167, + "SourceUnit": 4175, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/ERC721Collateralizer.sol", "file": "../ERC721Collateralizer.sol", "scope": 5357, @@ -1446,7 +1446,7 @@ export const ERC721CollateralizedSimpleInterestTermsContract = "42": { "events": {}, "links": {}, - "address": "0xe44c8dbcb6dab51c4d5291788ec3fb82d2fbad12" + "address": "0x043e8c93aa3f535fb58e8280cead1d87100d8849" }, "70": { "events": {}, @@ -1455,5 +1455,5 @@ export const ERC721CollateralizedSimpleInterestTermsContract = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:53:04.862Z" + "updatedAt": "2018-10-09T23:23:58.011Z" } \ No newline at end of file diff --git a/artifacts/ts/ERC721Collateralizer.ts b/artifacts/ts/ERC721Collateralizer.ts index 73ebdf03..912861de 100644 --- a/artifacts/ts/ERC721Collateralizer.ts +++ b/artifacts/ts/ERC721Collateralizer.ts @@ -517,7 +517,7 @@ export const ERC721Collateralizer = }, { "attributes": { - "SourceUnit": 4758, + "SourceUnit": 4766, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/TermsContract.sol", "file": "./TermsContract.sol", "scope": 4175, @@ -532,7 +532,7 @@ export const ERC721Collateralizer = }, { "attributes": { - "SourceUnit": 3159, + "SourceUnit": 3167, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/DebtRegistry.sol", "file": "./DebtRegistry.sol", "scope": 4175, @@ -562,7 +562,7 @@ export const ERC721Collateralizer = }, { "attributes": { - "SourceUnit": 4458, + "SourceUnit": 4466, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/ERC721TokenRegistry.sol", "file": "./ERC721TokenRegistry.sol", "scope": 4175, @@ -577,7 +577,7 @@ export const ERC721Collateralizer = }, { "attributes": { - "SourceUnit": 6272, + "SourceUnit": 6280, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/libraries/PermissionsLib.sol", "file": "./libraries/PermissionsLib.sol", "scope": 4175, @@ -9499,7 +9499,7 @@ export const ERC721Collateralizer = } }, "links": {}, - "address": "0xf3abfc01a071e8bbf3f820c2629510b9bc5e3229" + "address": "0xa4408bcdbba1720d6973563a3c24965534c0d7b2" }, "70": { "events": { @@ -9648,5 +9648,5 @@ export const ERC721Collateralizer = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:53:04.896Z" + "updatedAt": "2018-10-09T23:23:58.045Z" } \ No newline at end of file diff --git a/artifacts/ts/ERC721Enumerable.ts b/artifacts/ts/ERC721Enumerable.ts index 69ea9d81..a191859b 100644 --- a/artifacts/ts/ERC721Enumerable.ts +++ b/artifacts/ts/ERC721Enumerable.ts @@ -1064,5 +1064,5 @@ export const ERC721Enumerable = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.440Z" + "updatedAt": "2018-10-09T23:15:05.493Z" } \ No newline at end of file diff --git a/artifacts/ts/ERC721Metadata.ts b/artifacts/ts/ERC721Metadata.ts index 9876c535..d0e9e183 100644 --- a/artifacts/ts/ERC721Metadata.ts +++ b/artifacts/ts/ERC721Metadata.ts @@ -1055,5 +1055,5 @@ export const ERC721Metadata = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.441Z" + "updatedAt": "2018-10-09T23:15:05.494Z" } \ No newline at end of file diff --git a/artifacts/ts/ERC721Receiver.ts b/artifacts/ts/ERC721Receiver.ts index 546d13ee..96a0bf72 100644 --- a/artifacts/ts/ERC721Receiver.ts +++ b/artifacts/ts/ERC721Receiver.ts @@ -275,5 +275,5 @@ export const ERC721Receiver = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.427Z" + "updatedAt": "2018-10-09T23:15:05.486Z" } \ No newline at end of file diff --git a/artifacts/ts/ERC721Token.ts b/artifacts/ts/ERC721Token.ts index f4fdc93a..ded222ad 100644 --- a/artifacts/ts/ERC721Token.ts +++ b/artifacts/ts/ERC721Token.ts @@ -5400,7 +5400,7 @@ export const ERC721Token = "42": { "events": {}, "links": {}, - "address": "0xebc1a917d464d779ad5eba480de9935bf4ce9760" + "address": "0x3e9171ebba163b92a271144b2fe907b10c9a5131" }, "70": { "events": {}, @@ -5409,5 +5409,5 @@ export const ERC721Token = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:01.301Z" + "updatedAt": "2018-10-09T23:19:45.827Z" } \ No newline at end of file diff --git a/artifacts/ts/ERC721TokenRegistry.ts b/artifacts/ts/ERC721TokenRegistry.ts index 460559a1..1f83119f 100644 --- a/artifacts/ts/ERC721TokenRegistry.ts +++ b/artifacts/ts/ERC721TokenRegistry.ts @@ -4184,7 +4184,7 @@ export const ERC721TokenRegistry = } }, "links": {}, - "address": "0xd1ec79ec665dddf7a65024c44dd75f625e88271f" + "address": "0xa6ff31840df1b2644f443410170412ed402df1bc" }, "70": { "events": { @@ -4211,5 +4211,5 @@ export const ERC721TokenRegistry = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:53:04.870Z" + "updatedAt": "2018-10-09T23:23:58.017Z" } \ No newline at end of file diff --git a/artifacts/ts/GeneScienceInterface.ts b/artifacts/ts/GeneScienceInterface.ts index 72aa8950..c1297012 100644 --- a/artifacts/ts/GeneScienceInterface.ts +++ b/artifacts/ts/GeneScienceInterface.ts @@ -51684,5 +51684,5 @@ export const GeneScienceInterface = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.863Z" + "updatedAt": "2018-10-09T23:15:06.621Z" } \ No newline at end of file diff --git a/artifacts/ts/IncompatibleTermsContract.ts b/artifacts/ts/IncompatibleTermsContract.ts index 85dd95ff..88d76b8b 100644 --- a/artifacts/ts/IncompatibleTermsContract.ts +++ b/artifacts/ts/IncompatibleTermsContract.ts @@ -152,7 +152,7 @@ export const IncompatibleTermsContract = }, { "attributes": { - "SourceUnit": 4758, + "SourceUnit": 4766, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/TermsContract.sol", "file": "../../TermsContract.sol", "scope": 12594, @@ -988,7 +988,7 @@ export const IncompatibleTermsContract = "42": { "events": {}, "links": {}, - "address": "0xc8d55fd3717f8c3f8d31456504ab84b11b80520e" + "address": "0x0c5fdac9b1fd226bc853375a2f8c68fcdde5d194" }, "70": { "events": {}, @@ -997,5 +997,5 @@ export const IncompatibleTermsContract = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:25.365Z" + "updatedAt": "2018-10-09T23:20:25.126Z" } \ No newline at end of file diff --git a/artifacts/ts/KittiesERC721.ts b/artifacts/ts/KittiesERC721.ts index bd6edbce..ade81b43 100644 --- a/artifacts/ts/KittiesERC721.ts +++ b/artifacts/ts/KittiesERC721.ts @@ -51816,5 +51816,5 @@ export const KittiesERC721 = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.810Z" + "updatedAt": "2018-10-09T23:15:06.810Z" } \ No newline at end of file diff --git a/artifacts/ts/KittiesERC721Metadata.ts b/artifacts/ts/KittiesERC721Metadata.ts index e2be13a9..6c3a0e4e 100644 --- a/artifacts/ts/KittiesERC721Metadata.ts +++ b/artifacts/ts/KittiesERC721Metadata.ts @@ -51670,5 +51670,5 @@ export const KittiesERC721Metadata = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.886Z" + "updatedAt": "2018-10-09T23:15:06.098Z" } \ No newline at end of file diff --git a/artifacts/ts/KittiesOwnable.ts b/artifacts/ts/KittiesOwnable.ts index 04c33158..faa7de2e 100644 --- a/artifacts/ts/KittiesOwnable.ts +++ b/artifacts/ts/KittiesOwnable.ts @@ -51677,5 +51677,5 @@ export const KittiesOwnable = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.914Z" + "updatedAt": "2018-10-09T23:15:06.145Z" } \ No newline at end of file diff --git a/artifacts/ts/KittiesPausable.ts b/artifacts/ts/KittiesPausable.ts index fbd1fb79..c325d549 100644 --- a/artifacts/ts/KittiesPausable.ts +++ b/artifacts/ts/KittiesPausable.ts @@ -51725,5 +51725,5 @@ export const KittiesPausable = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.995Z" + "updatedAt": "2018-10-09T23:15:06.192Z" } \ No newline at end of file diff --git a/artifacts/ts/KittyAccessControl.ts b/artifacts/ts/KittyAccessControl.ts index ac12df76..a9df851b 100644 --- a/artifacts/ts/KittyAccessControl.ts +++ b/artifacts/ts/KittyAccessControl.ts @@ -51771,5 +51771,5 @@ export const KittyAccessControl = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.953Z" + "updatedAt": "2018-10-09T23:15:06.235Z" } \ No newline at end of file diff --git a/artifacts/ts/KittyAuction.ts b/artifacts/ts/KittyAuction.ts index d5f57a22..d054071b 100644 --- a/artifacts/ts/KittyAuction.ts +++ b/artifacts/ts/KittyAuction.ts @@ -52526,5 +52526,5 @@ export const KittyAuction = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:36.264Z" + "updatedAt": "2018-10-09T23:15:06.992Z" } \ No newline at end of file diff --git a/artifacts/ts/KittyBase.ts b/artifacts/ts/KittyBase.ts index 2be3ecef..f2d2d74c 100644 --- a/artifacts/ts/KittyBase.ts +++ b/artifacts/ts/KittyBase.ts @@ -51957,5 +51957,5 @@ export const KittyBase = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:36.187Z" + "updatedAt": "2018-10-09T23:15:06.304Z" } \ No newline at end of file diff --git a/artifacts/ts/KittyBreeding.ts b/artifacts/ts/KittyBreeding.ts index e0631a3c..4205ef44 100644 --- a/artifacts/ts/KittyBreeding.ts +++ b/artifacts/ts/KittyBreeding.ts @@ -52419,5 +52419,5 @@ export const KittyBreeding = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:36.217Z" + "updatedAt": "2018-10-09T23:15:06.903Z" } \ No newline at end of file diff --git a/artifacts/ts/KittyCore.ts b/artifacts/ts/KittyCore.ts index 132e3869..db483aa4 100644 --- a/artifacts/ts/KittyCore.ts +++ b/artifacts/ts/KittyCore.ts @@ -52747,7 +52747,7 @@ export const KittyCore = "42": { "events": {}, "links": {}, - "address": "0x116a62dad694e694f17cbccc917739c3f0c51666" + "address": "0xb130247732a351dbe4f6a463d0c9dd045e9d5f9d" }, "70": { "events": {}, @@ -52756,5 +52756,5 @@ export const KittyCore = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:53:04.937Z" + "updatedAt": "2018-10-09T23:23:58.086Z" } \ No newline at end of file diff --git a/artifacts/ts/KittyMinting.ts b/artifacts/ts/KittyMinting.ts index 5e0ec4cf..f3371232 100644 --- a/artifacts/ts/KittyMinting.ts +++ b/artifacts/ts/KittyMinting.ts @@ -52642,5 +52642,5 @@ export const KittyMinting = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:36.305Z" + "updatedAt": "2018-10-09T23:15:07.045Z" } \ No newline at end of file diff --git a/artifacts/ts/KittyOwnership.ts b/artifacts/ts/KittyOwnership.ts index e924c401..7f154603 100644 --- a/artifacts/ts/KittyOwnership.ts +++ b/artifacts/ts/KittyOwnership.ts @@ -52206,5 +52206,5 @@ export const KittyOwnership = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:36.421Z" + "updatedAt": "2018-10-09T23:15:06.755Z" } \ No newline at end of file diff --git a/artifacts/ts/Migrations.ts b/artifacts/ts/Migrations.ts index e73ffbe2..d5f992dc 100644 --- a/artifacts/ts/Migrations.ts +++ b/artifacts/ts/Migrations.ts @@ -819,7 +819,7 @@ export const Migrations = "42": { "events": {}, "links": {}, - "address": "0x4c4bd0258c47645a61a55c66c40168e61dcb19b2" + "address": "0x4ebdc600ff9d56be607c51ef918f0dcec4c0ebb8" }, "70": { "events": {}, @@ -828,5 +828,5 @@ export const Migrations = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:53:24.835Z" + "updatedAt": "2018-10-09T23:24:24.847Z" } \ No newline at end of file diff --git a/artifacts/ts/MintableERC721Token.ts b/artifacts/ts/MintableERC721Token.ts index c0294e99..5c238c67 100644 --- a/artifacts/ts/MintableERC721Token.ts +++ b/artifacts/ts/MintableERC721Token.ts @@ -483,7 +483,7 @@ export const MintableERC721Token = }, { "attributes": { - "SourceUnit": 3551, + "SourceUnit": 3559, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/ERC165.sol", "file": "../ERC165.sol", "scope": 10001, @@ -1237,7 +1237,7 @@ export const MintableERC721Token = "42": { "events": {}, "links": {}, - "address": "0x67b0b219faf38b7a862c480213b2860e645c264f" + "address": "0x574bacd5fb68c4e004546fe87b108bb6f5240842" }, "70": { "events": {}, @@ -1246,5 +1246,5 @@ export const MintableERC721Token = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:53:04.860Z" + "updatedAt": "2018-10-09T23:23:58.009Z" } \ No newline at end of file diff --git a/artifacts/ts/MintableToken.ts b/artifacts/ts/MintableToken.ts index 3edf2d40..f9c5f4a2 100644 --- a/artifacts/ts/MintableToken.ts +++ b/artifacts/ts/MintableToken.ts @@ -1665,5 +1665,5 @@ export const MintableToken = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.471Z" + "updatedAt": "2018-10-09T23:15:05.514Z" } \ No newline at end of file diff --git a/artifacts/ts/MockCollateralizedTermsContract.ts b/artifacts/ts/MockCollateralizedTermsContract.ts index 8f01cb98..3c104096 100644 --- a/artifacts/ts/MockCollateralizedTermsContract.ts +++ b/artifacts/ts/MockCollateralizedTermsContract.ts @@ -372,7 +372,7 @@ export const MockCollateralizedTermsContract = }, { "attributes": { - "SourceUnit": 10693, + "SourceUnit": 10701, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/test/mocks/MockContract.sol", "file": "./MockContract.sol", "scope": 10516, @@ -5723,7 +5723,7 @@ export const MockCollateralizedTermsContract = "42": { "events": {}, "links": {}, - "address": "0x67d4984f33adaa13b879dc532a49bc7a46140353" + "address": "0x261a62f4f3f50cedb05ba05236e04f1a67598352" }, "70": { "events": {}, @@ -5732,5 +5732,5 @@ export const MockCollateralizedTermsContract = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:01.318Z" + "updatedAt": "2018-10-09T23:19:45.835Z" } \ No newline at end of file diff --git a/artifacts/ts/MockContract.ts b/artifacts/ts/MockContract.ts index dae154a5..943a0e01 100644 --- a/artifacts/ts/MockContract.ts +++ b/artifacts/ts/MockContract.ts @@ -2544,5 +2544,5 @@ export const MockContract = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.500Z" + "updatedAt": "2018-10-09T23:15:05.525Z" } \ No newline at end of file diff --git a/artifacts/ts/MockDebtKernel.ts b/artifacts/ts/MockDebtKernel.ts index f281d6fb..68239f55 100644 --- a/artifacts/ts/MockDebtKernel.ts +++ b/artifacts/ts/MockDebtKernel.ts @@ -187,7 +187,7 @@ export const MockDebtKernel = }, { "attributes": { - "SourceUnit": 10693, + "SourceUnit": 10701, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/test/mocks/MockContract.sol", "file": "./MockContract.sol", "scope": 10844, @@ -2231,5 +2231,5 @@ export const MockDebtKernel = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.497Z" + "updatedAt": "2018-10-09T23:15:05.523Z" } \ No newline at end of file diff --git a/artifacts/ts/MockDebtRegistry.ts b/artifacts/ts/MockDebtRegistry.ts index a87ea4e9..09d06b09 100644 --- a/artifacts/ts/MockDebtRegistry.ts +++ b/artifacts/ts/MockDebtRegistry.ts @@ -466,7 +466,7 @@ export const MockDebtRegistry = }, { "attributes": { - "SourceUnit": 10693, + "SourceUnit": 10701, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/test/mocks/MockContract.sol", "file": "./MockContract.sol", "scope": 11222, @@ -5997,7 +5997,7 @@ export const MockDebtRegistry = "42": { "events": {}, "links": {}, - "address": "0x7593f653e23985ac6371a1e2d0a681f6e5534007" + "address": "0x1776579cf04dc9c93212796cb286b712c243666e" }, "70": { "events": {}, @@ -6006,5 +6006,5 @@ export const MockDebtRegistry = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:01.328Z" + "updatedAt": "2018-10-09T23:19:45.832Z" } \ No newline at end of file diff --git a/artifacts/ts/MockDebtToken.ts b/artifacts/ts/MockDebtToken.ts index 03043443..931cd528 100644 --- a/artifacts/ts/MockDebtToken.ts +++ b/artifacts/ts/MockDebtToken.ts @@ -353,7 +353,7 @@ export const MockDebtToken = }, { "attributes": { - "SourceUnit": 10693, + "SourceUnit": 10701, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/test/mocks/MockContract.sol", "file": "./MockContract.sol", "scope": 11511, @@ -4599,7 +4599,7 @@ export const MockDebtToken = "42": { "events": {}, "links": {}, - "address": "0xf655449119757b6fd26c45702718812dbbd51356" + "address": "0x939a43abc22d93c7d8146740a532b0d630f8239c" }, "70": { "events": {}, @@ -4608,5 +4608,5 @@ export const MockDebtToken = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:01.286Z" + "updatedAt": "2018-10-09T23:19:45.820Z" } \ No newline at end of file diff --git a/artifacts/ts/MockERC20Token.ts b/artifacts/ts/MockERC20Token.ts index 3262e1d1..75bedc17 100644 --- a/artifacts/ts/MockERC20Token.ts +++ b/artifacts/ts/MockERC20Token.ts @@ -315,7 +315,7 @@ export const MockERC20Token = }, { "attributes": { - "SourceUnit": 10693, + "SourceUnit": 10701, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/test/mocks/MockContract.sol", "file": "./MockContract.sol", "scope": 11767, @@ -4017,7 +4017,7 @@ export const MockERC20Token = "42": { "events": {}, "links": {}, - "address": "0x80bd8dc16d0b1bee8ce941ce2fb9108177a7dc85" + "address": "0xdbe3b7d496724ad8308ab434d59ab9896ddf245f" }, "70": { "events": {}, @@ -4026,5 +4026,5 @@ export const MockERC20Token = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:01.281Z" + "updatedAt": "2018-10-09T23:19:45.813Z" } \ No newline at end of file diff --git a/artifacts/ts/MockERC721Receiver.ts b/artifacts/ts/MockERC721Receiver.ts index c7f8df6e..f4e1383d 100644 --- a/artifacts/ts/MockERC721Receiver.ts +++ b/artifacts/ts/MockERC721Receiver.ts @@ -169,7 +169,7 @@ export const MockERC721Receiver = }, { "attributes": { - "SourceUnit": 10693, + "SourceUnit": 10701, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/test/mocks/MockContract.sol", "file": "./MockContract.sol", "scope": 11888, @@ -1845,7 +1845,7 @@ export const MockERC721Receiver = "42": { "events": {}, "links": {}, - "address": "0xeadebe1479a642dc27a2874233e5e2b6703a0442" + "address": "0x0ac01be77bebfd73d570fe3430eeaf731cc0f276" }, "70": { "events": {}, @@ -1854,5 +1854,5 @@ export const MockERC721Receiver = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:01.261Z" + "updatedAt": "2018-10-09T23:19:45.792Z" } \ No newline at end of file diff --git a/artifacts/ts/MockERC721Token.ts b/artifacts/ts/MockERC721Token.ts index c30efd25..30173d70 100644 --- a/artifacts/ts/MockERC721Token.ts +++ b/artifacts/ts/MockERC721Token.ts @@ -312,7 +312,7 @@ export const MockERC721Token = }, { "attributes": { - "SourceUnit": 10693, + "SourceUnit": 10701, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/test/mocks/MockContract.sol", "file": "./MockContract.sol", "scope": 12142, @@ -3995,7 +3995,7 @@ export const MockERC721Token = "42": { "events": {}, "links": {}, - "address": "0x5ff98c9ca70a7d2fdd1107c1a80d20c5fc8a3e40" + "address": "0x54115cd6562cb183cdd21a6e1fa5c6833f493dc2" }, "70": { "events": {}, @@ -4004,5 +4004,5 @@ export const MockERC721Token = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:01.278Z" + "updatedAt": "2018-10-09T23:19:45.810Z" } \ No newline at end of file diff --git a/artifacts/ts/MockTermsContract.ts b/artifacts/ts/MockTermsContract.ts index 39b11871..e3466071 100644 --- a/artifacts/ts/MockTermsContract.ts +++ b/artifacts/ts/MockTermsContract.ts @@ -276,7 +276,7 @@ export const MockTermsContract = }, { "attributes": { - "SourceUnit": 10693, + "SourceUnit": 10701, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/test/mocks/MockContract.sol", "file": "./MockContract.sol", "scope": 12354, @@ -3395,7 +3395,7 @@ export const MockTermsContract = "42": { "events": {}, "links": {}, - "address": "0x76dcdc1df7af00e87bb5dd8f600e5637053fc0e1" + "address": "0xb2864780e3d6eb844f2e2214ba12472eee6268fc" }, "70": { "events": {}, @@ -3404,5 +3404,5 @@ export const MockTermsContract = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:01.274Z" + "updatedAt": "2018-10-09T23:19:45.804Z" } \ No newline at end of file diff --git a/artifacts/ts/MockTokenRegistry.ts b/artifacts/ts/MockTokenRegistry.ts index a443b103..46d67c7b 100644 --- a/artifacts/ts/MockTokenRegistry.ts +++ b/artifacts/ts/MockTokenRegistry.ts @@ -161,7 +161,7 @@ export const MockTokenRegistry = }, { "attributes": { - "SourceUnit": 10693, + "SourceUnit": 10701, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/test/mocks/MockContract.sol", "file": "./MockContract.sol", "scope": 12450, @@ -1588,7 +1588,7 @@ export const MockTokenRegistry = "42": { "events": {}, "links": {}, - "address": "0x8d60b63345a4394a627672aca9f0f2541057d0ba" + "address": "0x173369a9a8fd5063849034932c1463562589e68c" }, "70": { "events": {}, @@ -1597,5 +1597,5 @@ export const MockTokenRegistry = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:01.268Z" + "updatedAt": "2018-10-09T23:19:45.790Z" } \ No newline at end of file diff --git a/artifacts/ts/MockTokenTransferProxy.ts b/artifacts/ts/MockTokenTransferProxy.ts index d8c1d6aa..b5e41915 100644 --- a/artifacts/ts/MockTokenTransferProxy.ts +++ b/artifacts/ts/MockTokenTransferProxy.ts @@ -149,7 +149,7 @@ export const MockTokenTransferProxy = }, { "attributes": { - "SourceUnit": 10693, + "SourceUnit": 10701, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/test/mocks/MockContract.sol", "file": "./MockContract.sol", "scope": 12526, @@ -1236,7 +1236,7 @@ export const MockTokenTransferProxy = "42": { "events": {}, "links": {}, - "address": "0xe73f46c08eb3a1d218af468c6dbefbc5967bb6bd" + "address": "0xc8ac0952c5752a371adbb8fff4a7ea90a69333ce" }, "70": { "events": {}, @@ -1245,5 +1245,5 @@ export const MockTokenTransferProxy = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:01.252Z" + "updatedAt": "2018-10-09T23:19:45.785Z" } \ No newline at end of file diff --git a/artifacts/ts/MultiSigWallet.ts b/artifacts/ts/MultiSigWallet.ts index 9b9c5a12..1519ddbf 100644 --- a/artifacts/ts/MultiSigWallet.ts +++ b/artifacts/ts/MultiSigWallet.ts @@ -13772,5 +13772,5 @@ export const MultiSigWallet = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.685Z" + "updatedAt": "2018-10-09T23:15:05.858Z" } \ No newline at end of file diff --git a/artifacts/ts/Ownable.ts b/artifacts/ts/Ownable.ts index 112c92a8..919a481c 100644 --- a/artifacts/ts/Ownable.ts +++ b/artifacts/ts/Ownable.ts @@ -838,5 +838,5 @@ export const Ownable = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.443Z" + "updatedAt": "2018-10-09T23:15:05.496Z" } \ No newline at end of file diff --git a/artifacts/ts/Pausable.ts b/artifacts/ts/Pausable.ts index 9e3d7a3d..7f1f5c72 100644 --- a/artifacts/ts/Pausable.ts +++ b/artifacts/ts/Pausable.ts @@ -880,5 +880,5 @@ export const Pausable = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.444Z" + "updatedAt": "2018-10-09T23:15:05.496Z" } \ No newline at end of file diff --git a/artifacts/ts/PermissionEvents.ts b/artifacts/ts/PermissionEvents.ts index d14ea932..27fda82f 100644 --- a/artifacts/ts/PermissionEvents.ts +++ b/artifacts/ts/PermissionEvents.ts @@ -2970,5 +2970,5 @@ export const PermissionEvents = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.509Z" + "updatedAt": "2018-10-09T23:15:05.538Z" } \ No newline at end of file diff --git a/artifacts/ts/PermissionsLib.ts b/artifacts/ts/PermissionsLib.ts index 90f2dc1e..ae89ad59 100644 --- a/artifacts/ts/PermissionsLib.ts +++ b/artifacts/ts/PermissionsLib.ts @@ -2977,7 +2977,7 @@ export const PermissionsLib = "42": { "events": {}, "links": {}, - "address": "0x7852987ebd814ccb8ae63ff0ebbebaf12b8b45ab" + "address": "0xb6bfbe48e19b22085ec4e256455052d950f2fc7d" }, "70": { "events": {}, @@ -2986,5 +2986,5 @@ export const PermissionsLib = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:53:04.866Z" + "updatedAt": "2018-10-09T23:23:58.013Z" } \ No newline at end of file diff --git a/artifacts/ts/RepaymentRouter.ts b/artifacts/ts/RepaymentRouter.ts index f4a9586b..5df66a6d 100644 --- a/artifacts/ts/RepaymentRouter.ts +++ b/artifacts/ts/RepaymentRouter.ts @@ -241,7 +241,7 @@ export const RepaymentRouter = }, { "attributes": { - "SourceUnit": 3159, + "SourceUnit": 3167, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/DebtRegistry.sol", "file": "./DebtRegistry.sol", "scope": 4716, @@ -256,7 +256,7 @@ export const RepaymentRouter = }, { "attributes": { - "SourceUnit": 4758, + "SourceUnit": 4766, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/TermsContract.sol", "file": "./TermsContract.sol", "scope": 4716, @@ -271,7 +271,7 @@ export const RepaymentRouter = }, { "attributes": { - "SourceUnit": 5207, + "SourceUnit": 5215, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/TokenTransferProxy.sol", "file": "./TokenTransferProxy.sol", "scope": 4716, @@ -3302,7 +3302,7 @@ export const RepaymentRouter = } }, "links": {}, - "address": "0x03ff589c02e794dbb55394ba86c62ba68e399688" + "address": "0x68133aab29535c46b44cf0d31e0161905c57bc01" }, "70": { "events": { @@ -3390,5 +3390,5 @@ export const RepaymentRouter = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:51:53.137Z" + "updatedAt": "2018-10-09T23:22:13.417Z" } \ No newline at end of file diff --git a/artifacts/ts/SafeMath.ts b/artifacts/ts/SafeMath.ts index 6913c02d..634eb141 100644 --- a/artifacts/ts/SafeMath.ts +++ b/artifacts/ts/SafeMath.ts @@ -1344,5 +1344,5 @@ export const SafeMath = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.450Z" + "updatedAt": "2018-10-09T23:15:05.500Z" } \ No newline at end of file diff --git a/artifacts/ts/SaleClockAuction.ts b/artifacts/ts/SaleClockAuction.ts index 2b0e1d19..c7e9de47 100644 --- a/artifacts/ts/SaleClockAuction.ts +++ b/artifacts/ts/SaleClockAuction.ts @@ -52025,5 +52025,5 @@ export const SaleClockAuction = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:36.391Z" + "updatedAt": "2018-10-09T23:15:06.528Z" } \ No newline at end of file diff --git a/artifacts/ts/SimpleInterestTermsContract.ts b/artifacts/ts/SimpleInterestTermsContract.ts index 6a63260c..54b40849 100644 --- a/artifacts/ts/SimpleInterestTermsContract.ts +++ b/artifacts/ts/SimpleInterestTermsContract.ts @@ -10513,7 +10513,7 @@ export const SimpleInterestTermsContract = "42": { "events": {}, "links": {}, - "address": "0x1cde816b6e0437f5b1b49edb58c4a8bf1dbda2d3" + "address": "0x77bdb2014e6048419706e50c2b7e53c662fe0fde" }, "70": { "events": {}, @@ -10522,5 +10522,5 @@ export const SimpleInterestTermsContract = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:50:25.381Z" + "updatedAt": "2018-10-09T23:20:25.143Z" } \ No newline at end of file diff --git a/artifacts/ts/SiringClockAuction.ts b/artifacts/ts/SiringClockAuction.ts index 22c8762c..2dce1b50 100644 --- a/artifacts/ts/SiringClockAuction.ts +++ b/artifacts/ts/SiringClockAuction.ts @@ -51978,5 +51978,5 @@ export const SiringClockAuction = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:36.126Z" + "updatedAt": "2018-10-09T23:15:06.459Z" } \ No newline at end of file diff --git a/artifacts/ts/StandardToken.ts b/artifacts/ts/StandardToken.ts index 25ff3669..b8257365 100644 --- a/artifacts/ts/StandardToken.ts +++ b/artifacts/ts/StandardToken.ts @@ -3733,5 +3733,5 @@ export const StandardToken = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.529Z" + "updatedAt": "2018-10-09T23:15:05.596Z" } \ No newline at end of file diff --git a/artifacts/ts/TermsContract.ts b/artifacts/ts/TermsContract.ts index 34aa45be..f34cd57d 100644 --- a/artifacts/ts/TermsContract.ts +++ b/artifacts/ts/TermsContract.ts @@ -780,5 +780,5 @@ export const TermsContract = }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:45:35.436Z" + "updatedAt": "2018-10-09T23:15:05.490Z" } \ No newline at end of file diff --git a/artifacts/ts/TokenRegistry.ts b/artifacts/ts/TokenRegistry.ts index 3f72ee50..2488393d 100644 --- a/artifacts/ts/TokenRegistry.ts +++ b/artifacts/ts/TokenRegistry.ts @@ -5120,7 +5120,7 @@ export const TokenRegistry = } }, "links": {}, - "address": "0xb6cf5855a7598441e02e7cd4ffffb6e0426984ff" + "address": "0x4b0116505c34c6adb5ee741ee67ac52e5215f650" }, "70": { "events": { @@ -5147,5 +5147,5 @@ export const TokenRegistry = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:51:53.143Z" + "updatedAt": "2018-10-09T23:22:13.423Z" } \ No newline at end of file diff --git a/artifacts/ts/TokenTransferProxy.ts b/artifacts/ts/TokenTransferProxy.ts index 94fc43c4..e9cce422 100644 --- a/artifacts/ts/TokenTransferProxy.ts +++ b/artifacts/ts/TokenTransferProxy.ts @@ -243,7 +243,7 @@ export const TokenTransferProxy = }, { "attributes": { - "SourceUnit": 3159, + "SourceUnit": 3167, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/DebtRegistry.sol", "file": "./DebtRegistry.sol", "scope": 5215, @@ -258,7 +258,7 @@ export const TokenTransferProxy = }, { "attributes": { - "SourceUnit": 6272, + "SourceUnit": 6280, "absolutePath": "/Users/chrismin/Documents/dev/dharma/charta/contracts/libraries/PermissionsLib.sol", "file": "./libraries/PermissionsLib.sol", "scope": 5215, @@ -1613,7 +1613,7 @@ export const TokenTransferProxy = } }, "links": {}, - "address": "0xf8181406f844d5c947481ec67c835b1384013c7e" + "address": "0xedaabddfbf00182b2f4c9ff00689ddaf4ff9f9d0" }, "70": { "events": { @@ -1686,5 +1686,5 @@ export const TokenTransferProxy = } }, "schemaVersion": "1.0.1", - "updatedAt": "2018-10-09T17:51:53.131Z" + "updatedAt": "2018-10-09T23:22:13.411Z" } \ No newline at end of file