Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@rsksmart/rif-marketplace-storage

Package Overview
Dependencies
Maintainers
2
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@rsksmart/rif-marketplace-storage - npm Package Compare versions

Comparing version 0.1.0-dev.0 to 0.1.0-dev.1

26

build/contracts/Migrations.json

@@ -20,3 +20,4 @@ {

"stateMutability": "view",
"type": "function"
"type": "function",
"constant": true
},

@@ -34,3 +35,4 @@ {

"stateMutability": "view",
"type": "function"
"type": "function",
"constant": true
},

@@ -1399,5 +1401,19 @@ {

},
"networks": {},
"schemaVersion": "3.1.0",
"updatedAt": "2020-05-07T08:03:15.562Z",
"networks": {
"5777": {
"events": {},
"links": {},
"address": "0x217Db8497b5C9017ca0a2010E2E84B6847649591",
"transactionHash": "0x6117d672246686f2b3fec48c4d13df015ef3c50a4e2a53085902a0b2e8e3c2e4"
},
"8545": {
"events": {},
"links": {},
"address": "0x812DA9c78d3c4A4E1b8713eB44C0E257e9C32B37",
"transactionHash": "0xbe9b02b3bc7c3c842396ae0cefb6741729f6426c08ff7079925bcd55ba5ef94f"
}
},
"schemaVersion": "3.2.2",
"updatedAt": "2020-07-31T06:03:32.452Z",
"networkType": "ethereum",
"devdoc": {

@@ -1404,0 +1420,0 @@ "methods": {}

@@ -0,4 +1,38 @@

<a name="0.1.0-dev.1"></a>
# 0.1.0-dev.1 (2020-08-13)
### Bug Fixes
* commented that a price change to 0 removes the period ([#33](https://github.com/rsksmart/rif-marketplace-storage/issues/33)) ([a072530](https://github.com/rsksmart/rif-marketplace-storage/commit/a072530))
* correct tracking of utilized capacity and termination of offer ([#50](https://github.com/rsksmart/rif-marketplace-storage/issues/50)) ([7e7e6ae](https://github.com/rsksmart/rif-marketplace-storage/commit/7e7e6ae))
* depositFunds strict check for billing plans ([94184e1](https://github.com/rsksmart/rif-marketplace-storage/commit/94184e1))
* disallow deposit funds to expired agreement ([1f0dd1c](https://github.com/rsksmart/rif-marketplace-storage/commit/1f0dd1c))
* error in if clause ([#35](https://github.com/rsksmart/rif-marketplace-storage/issues/35)) ([83b0f7a](https://github.com/rsksmart/rif-marketplace-storage/commit/83b0f7a))
* fix off by one error ([#21](https://github.com/rsksmart/rif-marketplace-storage/issues/21)) ([cc5c812](https://github.com/rsksmart/rif-marketplace-storage/commit/cc5c812))
* make numberOfPeriodsDeposit dependent on size ([0ccaeb1](https://github.com/rsksmart/rif-marketplace-storage/commit/0ccaeb1))
* not indexed filereference ([a7f7e37](https://github.com/rsksmart/rif-marketplace-storage/commit/a7f7e37))
* payout newAgreement for existing agreements ([23380ad](https://github.com/rsksmart/rif-marketplace-storage/commit/23380ad))
* payoutFunds should not do anything if nothing is to be payed ([b22a13c](https://github.com/rsksmart/rif-marketplace-storage/commit/b22a13c))
* solc version mismatch ([#4](https://github.com/rsksmart/rif-marketplace-storage/issues/4)) ([5d05e26](https://github.com/rsksmart/rif-marketplace-storage/commit/5d05e26))
### Features
* agreement funds support and operations around it ([#46](https://github.com/rsksmart/rif-marketplace-storage/issues/46)) ([dde817f](https://github.com/rsksmart/rif-marketplace-storage/commit/dde817f))
* allow storageProvider to emit message ([#20](https://github.com/rsksmart/rif-marketplace-storage/issues/20)) ([301c36a](https://github.com/rsksmart/rif-marketplace-storage/commit/301c36a))
* change billinprice to uint128 ([25b780a](https://github.com/rsksmart/rif-marketplace-storage/commit/25b780a))
* change sizes variables to uint64 ([2a93a9e](https://github.com/rsksmart/rif-marketplace-storage/commit/2a93a9e))
* changing comments about storage unit to megabytes ([00a3751](https://github.com/rsksmart/rif-marketplace-storage/commit/00a3751))
* enforce max-duration of period ([#51](https://github.com/rsksmart/rif-marketplace-storage/issues/51)) ([fb9fa56](https://github.com/rsksmart/rif-marketplace-storage/commit/fb9fa56))
* remove accept request flow ([#22](https://github.com/rsksmart/rif-marketplace-storage/issues/22)) ([a4e0bc2](https://github.com/rsksmart/rif-marketplace-storage/commit/a4e0bc2))
* support for generated types ([#52](https://github.com/rsksmart/rif-marketplace-storage/issues/52)) ([81827a4](https://github.com/rsksmart/rif-marketplace-storage/commit/81827a4))
* using only safemath for calculations ([38eb7ea](https://github.com/rsksmart/rif-marketplace-storage/commit/38eb7ea))
<a name="0.1.0-dev.0"></a>
# 0.1.0-dev.0 (2020-05-07)
First dev release. Includes basically working contract shallowly tested.

@@ -5,0 +39,0 @@ ### Bug Fixes

17

package.json
{
"name": "@rsksmart/rif-marketplace-storage",
"version": "0.1.0-dev.0",
"version": "0.1.0-dev.1",
"description": "Contracts for incentivized pinning",

@@ -41,14 +41,15 @@ "keywords": [

"devDependencies": {
"@openzeppelin/test-helpers": "^0.5.5",
"@openzeppelin/contracts": "^3.1.0",
"@openzeppelin/test-helpers": "^0.5.6",
"@typechain/ethers-v4": "^1.0.0",
"@typechain/truffle-v4": "^1.0.0",
"@typechain/truffle-v5": "^1.0.0",
"@typechain/truffle-v4": "^2.0.3",
"@typechain/truffle-v5": "^2.0.2",
"@typechain/web3-v1": "^1.0.0",
"chai": "^4.2.0",
"tasegir": "^1.7.1",
"truffle": "^5.1.24",
"truffle-security": "^1.6.2",
"truffle": "^5.1.37",
"truffle-security": "^1.7.3",
"typechain": "^2.0.0",
"typescript": "^3.8.3",
"web3-utils": "^1.2.7"
"typescript": "^3.9.7",
"web3-utils": "^1.2.11"
},

@@ -55,0 +56,0 @@ "engines": {

@@ -41,2 +41,7 @@ /**

networks: {
ganache: {
host: "127.0.0.1", // Localhost (default: none)
port: 8545, // Standard Ethereum port (default: none)
network_id: "*", // Any network (default: none)
},
// Useful for testing. The `development` name is special - truffle uses it by default

@@ -43,0 +48,0 @@ // if it's defined here and no other network is specified at the command line.

@@ -167,7 +167,7 @@ /* Generated by ts-generator ver. 0.0.8 */

/**
* - Use this function when initiating an Offer or when the users wants to change more than one parameter at once. - Exercise caution with assigning additional capacity when capacity is already taken. It may happen that when a lot of capacity is available and we release already-taken capacity, capacity overflows. We explicitly allow this overflow to happen on the smart-contract level, because the worst thing that can happen is that the provider now has less storage available than planned (in which case he can top it up himself). However, take care of this in the client. REF_CAPACITY - make sure that any period * prices does not cause an overflow, as this can never be accepted (REF_MAX_PRICE) and hence is pointless
* - Use this function when initiating an Offer or when the users wants to change more than one parameter at once. - make sure that any period * prices does not cause an overflow, as this can never be accepted (REF_MAX_PRICE) and hence is pointless
* >> FOR PROVIDERset the totalCapacity and billingPlans of a Offer.
* @param billingPeriods the offered periods. Length must be equal to the lenght of billingPrices.
* @param billingPeriods the offered periods in seconds. Length must be equal to the lenght of billingPrices.
* @param billingPrices the prices for the offered periods. Each entry at index corresponds to the same index at periods. When a price is 0, the matching period is not offered.
* @param capacity the amount of bytes offered. If already active before and set to 0, existing contracts can't be prolonged / re-started, no new contracts can be started.
* @param capacity the amount of MB offered. If already active before and set to 0, existing contracts can't be prolonged / re-started, no new contracts can be started.
* @param message the Provider may include a message (e.g. his nodeID). Message should be structured such that the first two bits specify the message type, followed with the message). 0x01 == nodeID

@@ -194,3 +194,3 @@ */

* no new Agreement can be created and no existing Agreement can be prolonged. All existing Agreement are still valid for the amount of periods still deposited.
* >> FOR PROVIDERstops the Offer. It sets
* >> FOR PROVIDERstops the Offer. It sets the totalCapacity to 0 which indicates terminated Offer.
*/

@@ -205,3 +205,3 @@ terminateOffer(

* @param billingPeriods the offered periods. Length must be equal to billingPrices.
* @param billingPrices the prices for the offered periods. Each entry at index corresponds to the same index at periods. 0 means that the particular period is not offered.
* @param billingPrices the prices for the offered periods in seconds. Each entry at index corresponds to the same index at periods. 0 means that the particular period is not offered.
*/

@@ -224,9 +224,9 @@ setBillingPlans(

/**
* - The to-be-pinned data reference's size in bytes (rounded up) must be equal in size to param size. - Provider can reject to pin data reference when it exceeds specified size. - The ownership of Agreement is enforced with agreementReference structure which is calculated as: hash(msg.sender, dataReference)
* - The to-be-pinned data reference's size in MB (rounded up) must be equal in size to param size. - Provider can reject to pin data reference when it exceeds specified size. - The ownership of Agreement is enforced with agreementReference structure which is calculated as: hash(msg.sender, dataReference)
* >> FOR CONSUMERnew Agreement for given Offer
* @param agreementsReferencesToBePayedOut Agreements that are supposed to be terminated and should be payed-out and capacity freed up.
* @param billingPeriod the chosen period for billing.
* @param billingPeriod the chosen period for billing in seconds.
* @param dataReference the reference to an Data Source, can be several things.
* @param provider the provider from which is proposed to take a Offer.
* @param size the size of the to-be-pinned file in bytes (rounded up).
* @param size the size of the to-be-pinned file in MB (rounded up).
*/

@@ -243,3 +243,3 @@ newAgreement(

/**
* - depositing funds to Agreement that is linked to terminated Offer is not possible
* - depositing funds to Agreement that is linked to terminated Offer is not possible - depositing funds to Agreement that already is expired (eq. ran out of funds at some point) is not possible. Call NewAgreement instead. The data needs to be re-provided though.
* >> FOR CONSUMERdeposits new funds to the Agreement.

@@ -269,3 +269,3 @@ * @param dataReference data reference where should be deposited funds.

/**
* - Provider must call an expired agreement themselves as soon as the agreement is expired, to add back the capacity to their Offer.
* - Provider must call an expired agreement themselves as soon as the agreement is expired, to add back the capacity to their Offer. - Payout can be triggered by other events as well. Like in newAgreement call with either existing agreement or when other Agreements are passed to the agreementsReferencesToBePayedOut array.
* >> FOR PROVIDERpayout already earned funds of one or more Agreement

@@ -295,7 +295,7 @@ * @param agreementReferences reference to one or more Agreement

/**
* - Use this function when initiating an Offer or when the users wants to change more than one parameter at once. - Exercise caution with assigning additional capacity when capacity is already taken. It may happen that when a lot of capacity is available and we release already-taken capacity, capacity overflows. We explicitly allow this overflow to happen on the smart-contract level, because the worst thing that can happen is that the provider now has less storage available than planned (in which case he can top it up himself). However, take care of this in the client. REF_CAPACITY - make sure that any period * prices does not cause an overflow, as this can never be accepted (REF_MAX_PRICE) and hence is pointless
* - Use this function when initiating an Offer or when the users wants to change more than one parameter at once. - make sure that any period * prices does not cause an overflow, as this can never be accepted (REF_MAX_PRICE) and hence is pointless
* >> FOR PROVIDERset the totalCapacity and billingPlans of a Offer.
* @param billingPeriods the offered periods. Length must be equal to the lenght of billingPrices.
* @param billingPeriods the offered periods in seconds. Length must be equal to the lenght of billingPrices.
* @param billingPrices the prices for the offered periods. Each entry at index corresponds to the same index at periods. When a price is 0, the matching period is not offered.
* @param capacity the amount of bytes offered. If already active before and set to 0, existing contracts can't be prolonged / re-started, no new contracts can be started.
* @param capacity the amount of MB offered. If already active before and set to 0, existing contracts can't be prolonged / re-started, no new contracts can be started.
* @param message the Provider may include a message (e.g. his nodeID). Message should be structured such that the first two bits specify the message type, followed with the message). 0x01 == nodeID

@@ -322,3 +322,3 @@ */

* no new Agreement can be created and no existing Agreement can be prolonged. All existing Agreement are still valid for the amount of periods still deposited.
* >> FOR PROVIDERstops the Offer. It sets
* >> FOR PROVIDERstops the Offer. It sets the totalCapacity to 0 which indicates terminated Offer.
*/

@@ -333,3 +333,3 @@ terminateOffer(

* @param billingPeriods the offered periods. Length must be equal to billingPrices.
* @param billingPrices the prices for the offered periods. Each entry at index corresponds to the same index at periods. 0 means that the particular period is not offered.
* @param billingPrices the prices for the offered periods in seconds. Each entry at index corresponds to the same index at periods. 0 means that the particular period is not offered.
*/

@@ -352,9 +352,9 @@ setBillingPlans(

/**
* - The to-be-pinned data reference's size in bytes (rounded up) must be equal in size to param size. - Provider can reject to pin data reference when it exceeds specified size. - The ownership of Agreement is enforced with agreementReference structure which is calculated as: hash(msg.sender, dataReference)
* - The to-be-pinned data reference's size in MB (rounded up) must be equal in size to param size. - Provider can reject to pin data reference when it exceeds specified size. - The ownership of Agreement is enforced with agreementReference structure which is calculated as: hash(msg.sender, dataReference)
* >> FOR CONSUMERnew Agreement for given Offer
* @param agreementsReferencesToBePayedOut Agreements that are supposed to be terminated and should be payed-out and capacity freed up.
* @param billingPeriod the chosen period for billing.
* @param billingPeriod the chosen period for billing in seconds.
* @param dataReference the reference to an Data Source, can be several things.
* @param provider the provider from which is proposed to take a Offer.
* @param size the size of the to-be-pinned file in bytes (rounded up).
* @param size the size of the to-be-pinned file in MB (rounded up).
*/

@@ -371,3 +371,3 @@ newAgreement(

/**
* - depositing funds to Agreement that is linked to terminated Offer is not possible
* - depositing funds to Agreement that is linked to terminated Offer is not possible - depositing funds to Agreement that already is expired (eq. ran out of funds at some point) is not possible. Call NewAgreement instead. The data needs to be re-provided though.
* >> FOR CONSUMERdeposits new funds to the Agreement.

@@ -397,3 +397,3 @@ * @param dataReference data reference where should be deposited funds.

/**
* - Provider must call an expired agreement themselves as soon as the agreement is expired, to add back the capacity to their Offer.
* - Provider must call an expired agreement themselves as soon as the agreement is expired, to add back the capacity to their Offer. - Payout can be triggered by other events as well. Like in newAgreement call with either existing agreement or when other Agreements are passed to the agreementsReferencesToBePayedOut array.
* >> FOR PROVIDERpayout already earned funds of one or more Agreement

@@ -400,0 +400,0 @@ * @param agreementReferences reference to one or more Agreement

@@ -124,5 +124,5 @@ /* Generated by ts-generator ver. 0.0.8 */

indexed: false,
internalType: "uint64",
internalType: "uint128",
name: "price",
type: "uint64"
type: "uint128"
}

@@ -193,5 +193,5 @@ ],

indexed: false,
internalType: "uint64",
internalType: "uint128",
name: "billingPrice",
type: "uint64"
type: "uint128"
},

@@ -219,5 +219,5 @@ {

indexed: false,
internalType: "uint128",
internalType: "uint64",
name: "capacity",
type: "uint128"
type: "uint64"
}

@@ -239,10 +239,10 @@ ],

{
internalType: "uint128",
internalType: "uint64",
name: "utilizedCapacity",
type: "uint128"
type: "uint64"
},
{
internalType: "uint128",
internalType: "uint64",
name: "totalCapacity",
type: "uint128"
type: "uint64"
}

@@ -256,5 +256,5 @@ ],

{
internalType: "uint128",
internalType: "uint64",
name: "capacity",
type: "uint128"
type: "uint64"
},

@@ -267,5 +267,5 @@ {

{
internalType: "uint64[]",
internalType: "uint128[]",
name: "billingPrices",
type: "uint64[]"
type: "uint128[]"
},

@@ -286,5 +286,5 @@ {

{
internalType: "uint128",
internalType: "uint64",
name: "capacity",
type: "uint128"
type: "uint64"
}

@@ -312,5 +312,5 @@ ],

{
internalType: "uint64[]",
internalType: "uint128[]",
name: "billingPrices",
type: "uint64[]"
type: "uint128[]"
}

@@ -349,5 +349,5 @@ ],

{
internalType: "uint128",
internalType: "uint64",
name: "size",
type: "uint128"
type: "uint64"
},

@@ -451,2 +451,2 @@ {

const _bytecode =
"0x608060405234801561001057600080fd5b506130a8806100206000396000f3fe60806040526004361061009c5760003560e01c80638f5c5fc8116100645780638f5c5fc814610581578063b4d6273e14610635578063b585969314610682578063ba10a1e014610699578063f04c898b146107f2578063fb295912146108eb5761009c565b8063020f6c74146100a15780632fd09ef914610166578063754347c31461022b57806377d97feb146103c7578063781542d31461049f575b600080fd5b3480156100ad57600080fd5b50610164600480360360208110156100c457600080fd5b81019080803590602001906401000000008111156100e157600080fd5b8201836020820111156100f357600080fd5b8035906020019184602083028401116401000000008311171561011557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610af4565b005b34801561017257600080fd5b506102296004803603602081101561018957600080fd5b81019080803590602001906401000000008111156101a657600080fd5b8201836020820111156101b857600080fd5b803590602001918460208302840111640100000000831117156101da57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610b01565b005b6103c5600480360360a081101561024157600080fd5b810190808035906020019064010000000081111561025e57600080fd5b82018360208201111561027057600080fd5b8035906020019184602083028401116401000000008311171561029257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff1690602001909291908035906020019064010000000081111561034257600080fd5b82018360208201111561035457600080fd5b8035906020019184602083028401116401000000008311171561037657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610b0d565b005b61049d600480360360408110156103dd57600080fd5b81019080803590602001906401000000008111156103fa57600080fd5b82018360208201111561040c57600080fd5b8035906020019184602083028401116401000000008311171561042e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611280565b005b61057f600480360360608110156104b557600080fd5b81019080803590602001906401000000008111156104d257600080fd5b8201836020820111156104e457600080fd5b8035906020019184602083028401116401000000008311171561050657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611659565b005b34801561058d57600080fd5b506105d0600480360360208110156105a457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b79565b60405180836fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b34801561064157600080fd5b506106806004803603602081101561065857600080fd5b8101908080356fffffffffffffffffffffffffffffffff169060200190929190505050611bd5565b005b34801561068e57600080fd5b50610697611d34565b005b3480156106a557600080fd5b506107f0600480360360408110156106bc57600080fd5b81019080803590602001906401000000008111156106d957600080fd5b8201836020820111156106eb57600080fd5b8035906020019184602083028401116401000000008311171561070d57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561076d57600080fd5b82018360208201111561077f57600080fd5b803590602001918460208302840111640100000000831117156107a157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611ee7565b005b3480156107fe57600080fd5b506108d56004803603604081101561081557600080fd5b810190808035906020019064010000000081111561083257600080fd5b82018360208201111561084457600080fd5b8035906020019184602083028401116401000000008311171561086657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061210a565b6040518082815260200191505060405180910390f35b3480156108f757600080fd5b50610af26004803603608081101561090e57600080fd5b8101908080356fffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561094757600080fd5b82018360208201111561095957600080fd5b8035906020019184602083028401116401000000008311171561097b57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156109db57600080fd5b8201836020820111156109ed57600080fd5b80359060200191846020830284011164010000000083111715610a0f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610a6f57600080fd5b820183602082011115610a8157600080fd5b80359060200191846020830284011164010000000083111715610aa357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929050505061219f565b005b610afe8133612310565b50565b610b0a8161293e565b50565b8360008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160000160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161415610bdc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180612def6035913960400191505060405180910390fd5b60008467ffffffffffffffff161415610c40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180612d8f602f913960400191505060405180910390fd5b6000856fffffffffffffffffffffffffffffffff1611610cab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180612ede602c913960400191505060405180910390fd5b60008060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000610cf9893361210a565b90506000826002016000838152602001908152602001600020905060008160020160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1614610d9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612f8f6028913960400191505060405180910390fd5b60008360010160008967ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060009054906101000a900467ffffffffffffffff16905060008167ffffffffffffffff161415610e45576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603581526020018061303e6035913960400191505060405180910390fd5b610e5c3483600101546129d090919063ffffffff16565b82600101819055508067ffffffffffffffff1689026fffffffffffffffffffffffffffffffff1682600101541015610edf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526049815260200180612e686049913960600191505060405180910390fd5b888260020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550808260000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550878260000160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550610f78612a58565b8260020160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550600087511115610fc757610fc6878b612310565b5b6000808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020935061105e896fffffffffffffffffffffffffffffffff168560000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166129d090919063ffffffff16565b8460000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055508360000160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168460000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161115611155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180612eb1602d913960400191505060405180910390fd5b8973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc6cb14b4af81c8a949cb6c23fab93f1bda9df891d699331ec927044a1e2e93c1858e8d8d8789600101546040518087815260200180602001866fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020018567ffffffffffffffff1667ffffffffffffffff1681526020018467ffffffffffffffff1667ffffffffffffffff168152602001838152602001828103825287818151815260200191508051906020019060200280838360005b8381101561125b578082015181840152602081019050611240565b5050505090500197505050505050505060405180910390a35050505050505050505050565b8060008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160000160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16141561134f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180612def6035913960400191505060405180910390fd5b838360008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600061139f843361210a565b90506000826002016000838152602001908152602001600020905060008160020160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161415611446576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526036815260200180612f356036913960400191505060405180910390fd5b60006114528a3361210a565b905060008060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816002016000848152602001908152602001600020905060008160020160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16141561153b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612f6b6024913960400191505060405180910390fd5b60008260010160008360000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060009054906101000a900467ffffffffffffffff1667ffffffffffffffff1614156115f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180612f0a602b913960400191505060405180910390fd5b61160b3482600101546129d090919063ffffffff16565b8160010181905550827f642834973b6a33d6361521d505770b0a82d783d94aa057e125e4f01f3c8ac388346040518082815260200191505060405180910390a2505050505050505050505050565b828260008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006116a9843361210a565b90506000826002016000838152602001908152602001600020905060008160020160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161415611750576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526036815260200180612f356036913960400191505060405180910390fd5b60008060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600061179e8a3361210a565b9050600082600201600083815260200190815260200160002090506000808260020160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1614156118015781600101549050611978565b8160020160009054906101000a90046fffffffffffffffffffffffffffffffff168260000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16026fffffffffffffffffffffffffffffffff1661196e836040518060a00160405290816000820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016000820160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff168152602001600182015481526020016002820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016002820160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681525050612a60565b8360010154030390505b60008a1415611985578099505b808a11156119de576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612e246021913960400191505060405180910390fd5b6119f58a8360010154612af890919063ffffffff16565b826001018190555060008a11611a56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612e456023913960400191505060405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff168b60405180600001905060006040518083038185875af1925050503d8060008114611ab6576040519150601f19603f3d011682016040523d82523d6000602084013e611abb565b606091505b5050905080611b32576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5472616e73666572206661696c65642e0000000000000000000000000000000081525060200191505060405180910390fd5b837fb0a67554221bac7cd8600d6718cbf9d810a5861dac56510b0cc5950d8c459f6b8c6040518082815260200191505060405180910390a250505050505050505050505050565b60006020528060005260406000206000915090508060000160009054906101000a90046fffffffffffffffffffffffffffffffff16908060000160109054906101000a90046fffffffffffffffffffffffffffffffff16905082565b6000816fffffffffffffffffffffffffffffffff161415611c41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526034815260200180612fe56034913960400191505060405180910390fd5b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050818160000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167f80ee1396a7850602e7f8471e9e7c3eabfca1b79d20e9055b9e1885f689eb81798360405180826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200191505060405180910390a25050565b3360008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160000160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161415611e03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180612def6035913960400191505060405180910390fd5b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167f80ee1396a7850602e7f8471e9e7c3eabfca1b79d20e9055b9e1885f689eb8179600060405180826fffffffffffffffffffffffffffffffff16815260200191505060405180910390a2505050565b3360008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160000160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161415611fb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180612def6035913960400191505060405180910390fd5b6000845111612010576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612fb7602e913960400191505060405180910390fd5b825184511461206a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526049815260200180612d466049913960600191505060405180910390fd5b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008090505b85518160ff161015612102576120f582878360ff16815181106120d157fe5b6020026020010151878460ff16815181106120e857fe5b6020026020010151612b42565b80806001019150506120b2565b505050505050565b60008183604051602001808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b8152601401828051906020019060200280838360005b8381101561217657808201518184015260208101905061215b565b505050509050019250505060405160208183030381529060405280519060200120905092915050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506121ea85611bd5565b6000845111612244576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612fb7602e913960400191505060405180910390fd5b825184511461229e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526049815260200180612d466049913960600191505060405180910390fd5b60008090505b84518160ff1610156122f4576122e782868360ff16815181106122c357fe5b6020026020010151868460ff16815181106122da57fe5b6020026020010151612b42565b80806001019150506122a4565b50600082511115612309576123088261293e565b5b5050505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600080905060008090505b84518160ff161015612801576000836002016000878460ff168151811061238057fe5b60200260200101518152602001908152602001600020905060008160020160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161415612424576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526036815260200180612f356036913960400191505060405180910390fd5b60008160020160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1614156124b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806130196025913960400191505060405180910390fd5b60006125c8826040518060a00160405290816000820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016000820160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff168152602001600182015481526020016002820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016002820160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681525050612a60565b90506125e1818360010154612af890919063ffffffff16565b82600101819055506125fc81856129d090919063ffffffff16565b93508160020160009054906101000a90046fffffffffffffffffffffffffffffffff168260000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16026fffffffffffffffffffffffffffffffff16826001015410156127615760008260020160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055508160020160009054906101000a90046fffffffffffffffffffffffffffffffff168560000160009054906101000a90046fffffffffffffffffffffffffffffffff16038560000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550868360ff168151811061272857fe5b60200260200101517f28b8eb5ccfb9c485b6ee9be3b0153679351f87ca0753786218a455bc3bbe5fdf60405160405180910390a26127a4565b612769612a58565b8260020160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b868360ff16815181106127b357fe5b60200260200101517f9d3a0426e996245d7bac3a65ff1a596f72a9b3051ebb8fdb1e2e62071e930f93826040518082815260200191505060405180910390a25050808060010191505061235d565b506000811161285b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612e456023913960400191505060405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d80600081146128bb576040519150601f19603f3d011682016040523d82523d6000602084013e6128c0565b606091505b5050905080612937576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f53746f726167654d616e616765723a205472616e73666572206661696c65642e81525060200191505060405180910390fd5b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff167f8e9ae80d46259102dfbf4ae6121dbe6548e85c8c0494163e8e0bf0e87bcd5876826040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156129ba57808201518184015260208101905061299f565b505050509050019250505060405180910390a250565b600080828401905083811015612a4e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600042905090565b600080826000015167ffffffffffffffff168360600151026fffffffffffffffffffffffffffffffff1690506000836020015167ffffffffffffffff1684608001516fffffffffffffffffffffffffffffffff16612abc612a58565b0381612ac457fe5b049050600082820290508460400151811115612aed578283866040015181612ae857fe5b040290505b809350505050919050565b6000612b3a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612c85565b905092915050565b62ed4e0067ffffffffffffffff168267ffffffffffffffff161115612bb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180612dbe6031913960400191505060405180910390fd5b808360010160008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167fb178a96fffb23bde93e06bc8bf7a7f2046791fc0f35babd9bf32c3f77828b77f8383604051808367ffffffffffffffff1667ffffffffffffffff1681526020018267ffffffffffffffff1667ffffffffffffffff1681526020019250505060405180910390a2505050565b6000838311158290612d32576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612cf7578082015181840152602081019050612cdc565b50505050905090810190601f168015612d245780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe53746f726167654d616e616765723a2042696c6c696e6720706c616e73206172726179206c656e6774682068617320746f20657175616c20746f2062696c6c696e672070726963657353746f726167654d616e616765723a2042696c6c696e6720706572696f64206f662030206e6f7420616c6c6f77656453746f726167654d616e616765723a2042696c6c696e6720706572696f6420657863656564206d61782e206c656e67746853746f726167654d616e616765723a204f6666657220666f7220746869732050726f766964657220646f65736e277420657869737453746f726167654d616e616765723a20416d6f756e7420697320746f6f2062696753746f726167654d616e616765723a204e6f7468696e6720746f20776974686472617753746f726167654d616e616765723a2046756e6473206465706f73697465642068617320746f20626520666f72206174206c65617374206f6e652062696c6c696e6720706572696f6453746f726167654d616e616765723a20496e73756666696369656e74204f66666572277320636170616369747953746f726167654d616e616765723a2053697a652068617320746f20626520626967676572207468656e203053746f726167654d616e616765723a205072696365206e6f7420617661696c61626c6520616e796d6f726553746f726167654d616e616765723a2041677265656d656e7420666f722074686973204f6666657220646f65736e277420657869737453746f726167654d616e616765723a2041677265656d656e74206e6f742061637469766553746f726167654d616e616765723a2041677265656d656e7420616c72656164792061637469766553746f726167654d616e616765723a204f66666572206e6565647320736f6d652062696c6c696e6720706c616e7353746f726167654d616e616765723a2043617061636974792068617320746f2062652067726561746572207468656e207a65726f53746f726167654d616e616765723a2041677265656d656e7420697320696e61637469766553746f726167654d616e616765723a2042696c6c696e6720707269636520646f65736e277420657869737420666f72204f66666572a2646970667358221220cec0646d133d4f35ee95c756f65e81f35d36e7a0797c91495dc9dfe3e5b8a5fb64736f6c63430006020033";
"0x608060405234801561001057600080fd5b506131e9806100206000396000f3fe60806040526004361061009c5760003560e01c8063781542d311610064578063781542d3146105f05780638f5c5fc8146106d2578063b585969314610766578063b9abccdc1461077d578063f04c898b1461097e578063f650ca7414610a775761009c565b8063020f6c74146100a1578063090efce01461016657806327c4d193146102bf5780632fd09ef91461045357806377d97feb14610518575b600080fd5b3480156100ad57600080fd5b50610164600480360360208110156100c457600080fd5b81019080803590602001906401000000008111156100e157600080fd5b8201836020820111156100f357600080fd5b8035906020019184602083028401116401000000008311171561011557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610abc565b005b34801561017257600080fd5b506102bd6004803603604081101561018957600080fd5b81019080803590602001906401000000008111156101a657600080fd5b8201836020820111156101b857600080fd5b803590602001918460208302840111640100000000831117156101da57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561023a57600080fd5b82018360208201111561024c57600080fd5b8035906020019184602083028401116401000000008311171561026e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610ac9565b005b610451600480360360a08110156102d557600080fd5b81019080803590602001906401000000008111156102f257600080fd5b82018360208201111561030457600080fd5b8035906020019184602083028401116401000000008311171561032657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190803590602001906401000000008111156103ce57600080fd5b8201836020820111156103e057600080fd5b8035906020019184602083028401116401000000008311171561040257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610c97565b005b34801561045f57600080fd5b506105166004803603602081101561047657600080fd5b810190808035906020019064010000000081111561049357600080fd5b8201836020820111156104a557600080fd5b803590602001918460208302840111640100000000831117156104c757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611397565b005b6105ee6004803603604081101561052e57600080fd5b810190808035906020019064010000000081111561054b57600080fd5b82018360208201111561055d57600080fd5b8035906020019184602083028401116401000000008311171561057f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113a3565b005b6106d06004803603606081101561060657600080fd5b810190808035906020019064010000000081111561062357600080fd5b82018360208201111561063557600080fd5b8035906020019184602083028401116401000000008311171561065757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118d0565b005b3480156106de57600080fd5b50610721600480360360208110156106f557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d90565b604051808367ffffffffffffffff1667ffffffffffffffff1681526020018267ffffffffffffffff1667ffffffffffffffff1681526020019250505060405180910390f35b34801561077257600080fd5b5061077b611ddc565b005b34801561078957600080fd5b5061097c600480360360808110156107a057600080fd5b81019080803567ffffffffffffffff169060200190929190803590602001906401000000008111156107d157600080fd5b8201836020820111156107e357600080fd5b8035906020019184602083028401116401000000008311171561080557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561086557600080fd5b82018360208201111561087757600080fd5b8035906020019184602083028401116401000000008311171561089957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156108f957600080fd5b82018360208201111561090b57600080fd5b8035906020019184602083028401116401000000008311171561092d57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611f22565b005b34801561098a57600080fd5b50610a61600480360360408110156109a157600080fd5b81019080803590602001906401000000008111156109be57600080fd5b8201836020820111156109d057600080fd5b803590602001918460208302840111640100000000831117156109f257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612093565b6040518082815260200191505060405180910390f35b348015610a8357600080fd5b50610aba60048036036020811015610a9a57600080fd5b81019080803567ffffffffffffffff169060200190929190505050612128565b005b610ac6813361225f565b50565b6000825111610b23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806130f8602e913960400191505060405180910390fd5b8051825114610b7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526049815260200180612e5c6049913960600191505060405180910390fd5b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff161415610c3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180612f056035913960400191505060405180910390fd5b60008090505b83518160ff161015610c9157610c8482858360ff1681518110610c6057fe5b6020026020010151858460ff1681518110610c7757fe5b602002602001015161284c565b8080600101915050610c41565b50505050565b60008267ffffffffffffffff161415610cfb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180612ea5602f913960400191505060405180910390fd5b60008367ffffffffffffffff1611610d5e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180613026602c913960400191505060405180910390fd5b60008060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff161415610e1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180612f056035913960400191505060405180910390fd5b6000610e288733612093565b90506000826002016000838152602001908152602001600020905060008160020160089054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1614610ed85760606001604051908082528060200260200182016040528015610eaf5781602001602082028038833980820191505090505b5090508281600081518110610ec057fe5b602002602001018181525050610ed6818961225f565b505b60008360010160008767ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060009054906101000a90046fffffffffffffffffffffffffffffffff1690506000816fffffffffffffffffffffffffffffffff161415610f8e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603581526020018061317f6035913960400191505060405180910390fd5b610fa53483600101546129af90919063ffffffff16565b8260010181905550610fdc816fffffffffffffffffffffffffffffffff168867ffffffffffffffff16612a3790919063ffffffff16565b82600101541015611038576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526049815260200180612fb06049913960600191505060405180910390fd5b868260020160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550808260000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550858260000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506110d1612abd565b8260020160086101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506000855111156111205761111f858961225f565b5b6000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020935061119f8767ffffffffffffffff168560000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff166129af90919063ffffffff16565b8460000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508360000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff168460000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff161115611266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180612ff9602d913960400191505060405180910390fd5b8773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f9022090c2228102f5e14eaa83a38348ef0b192f2cb08b06afcf1622a9c0498b3858c8b8b87896001015460405180878152602001806020018667ffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020018567ffffffffffffffff1667ffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001838152602001828103825287818151815260200191508051906020019060200280838360005b83811015611374578082015181840152602081019050611359565b5050505090500197505050505050505060405180910390a3505050505050505050565b6113a081612ac5565b50565b60006113af8333612093565b905060008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff16141561146f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180612f056035913960400191505060405180910390fd5b6000816002016000848152602001908152602001600020905060008160020160009054906101000a900467ffffffffffffffff1667ffffffffffffffff161415611504576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603681526020018061307d6036913960400191505060405180910390fd5b60008160020160089054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161415611590576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806130b36024913960400191505060405180910390fd5b8060000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168260010160008360000160109054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1614611689576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180613052602b913960400191505060405180910390fd5b6116f08160020160009054906101000a900467ffffffffffffffff1667ffffffffffffffff168260000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16612a3790919063ffffffff16565b61181c611809836040518060a00160405290816000820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016000820160109054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff168152602001600182015481526020016002820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016002820160089054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681525050612b57565b8360010154612c4190919063ffffffff16565b11611872576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180612f3a6032913960400191505060405180910390fd5b6118893482600101546129af90919063ffffffff16565b8160010181905550827f642834973b6a33d6361521d505770b0a82d783d94aa057e125e4f01f3c8ac388346040518082815260200191505060405180910390a25050505050565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600061191e8533612093565b90506000826002016000838152602001908152602001600020905060008160020160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1614156119b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603681526020018061307d6036913960400191505060405180910390fd5b6000808260020160089054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1614156119fd5781600101549050611b94565b611b918260020160009054906101000a900467ffffffffffffffff1667ffffffffffffffff168360000160009054906101000a90046fffffffffffffffffffffffffffffffff16026fffffffffffffffffffffffffffffffff16611b83611b70856040518060a00160405290816000820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016000820160109054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff168152602001600182015481526020016002820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016002820160089054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681525050612b57565b8560010154612c4190919063ffffffff16565b612c4190919063ffffffff16565b90505b6000851415611ba1578094505b80851115611bfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612f6c6021913960400191505060405180910390fd5b611c11858360010154612c4190919063ffffffff16565b826001018190555060008511611c72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612f8d6023913960400191505060405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff168660405180600001905060006040518083038185875af1925050503d8060008114611cd2576040519150601f19603f3d011682016040523d82523d6000602084013e611cd7565b606091505b5050905080611d4e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5472616e73666572206661696c65642e0000000000000000000000000000000081525060200191505060405180910390fd5b837fb0a67554221bac7cd8600d6718cbf9d810a5861dac56510b0cc5950d8c459f6b876040518082815260200191505060405180910390a25050505050505050565b60006020528060005260406000206000915090508060000160009054906101000a900467ffffffffffffffff16908060000160089054906101000a900467ffffffffffffffff16905082565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff161415611e9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180612f056035913960400191505060405180910390fd5b60008160000160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167f7267987f11d91dd9b618677a5f4e5596eca75f9e97d880452c73c2dbd8ebfae36000604051808267ffffffffffffffff16815260200191505060405180910390a250565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050611f6d85612128565b6000845111611fc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806130f8602e913960400191505060405180910390fd5b8251845114612021576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526049815260200180612e5c6049913960600191505060405180910390fd5b60008090505b84518160ff1610156120775761206a82868360ff168151811061204657fe5b6020026020010151868460ff168151811061205d57fe5b602002602001015161284c565b8080600101915050612027565b5060008251111561208c5761208b82612ac5565b5b5050505050565b60008183604051602001808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b8152601401828051906020019060200280838360005b838110156120ff5780820151818401526020810190506120e4565b505050509050019250505060405160208183030381529060405280519060200120905092915050565b60008167ffffffffffffffff16141561218c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260348152602001806131266034913960400191505060405180910390fd5b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050818160000160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167f7267987f11d91dd9b618677a5f4e5596eca75f9e97d880452c73c2dbd8ebfae383604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390a25050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600080905060008090505b84518160ff16101561275e576000836002016000878460ff16815181106122cf57fe5b60200260200101518152602001908152602001600020905060008160020160009054906101000a900467ffffffffffffffff1667ffffffffffffffff161415612363576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603681526020018061307d6036913960400191505060405180910390fd5b60008160020160089054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1614156123ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061315a6025913960400191505060405180910390fd5b6000612507826040518060a00160405290816000820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016000820160109054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff168152602001600182015481526020016002820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016002820160089054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681525050612b57565b9050600081111561274f57612529818360010154612c4190919063ffffffff16565b826001018190555061254481856129af90919063ffffffff16565b93506125ad8260020160009054906101000a900467ffffffffffffffff1667ffffffffffffffff168360000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16612a3790919063ffffffff16565b826001015410156126bd5760008260020160086101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555061264b8260020160009054906101000a900467ffffffffffffffff1667ffffffffffffffff168660000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16612c4190919063ffffffff16565b8560000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550868360ff168151811061268457fe5b60200260200101517f28b8eb5ccfb9c485b6ee9be3b0153679351f87ca0753786218a455bc3bbe5fdf60405160405180910390a2612700565b6126c5612abd565b8260020160086101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b868360ff168151811061270f57fe5b60200260200101517f9d3a0426e996245d7bac3a65ff1a596f72a9b3051ebb8fdb1e2e62071e930f93826040518082815260200191505060405180910390a25b505080806001019150506122ac565b5060008111156128465760008373ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d80600081146127c8576040519150601f19603f3d011682016040523d82523d6000602084013e6127cd565b606091505b5050905080612844576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f53746f726167654d616e616765723a205472616e73666572206661696c65642e81525060200191505060405180910390fd5b505b50505050565b62ed4e0067ffffffffffffffff168267ffffffffffffffff1611156128bc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180612ed46031913960400191505060405180910390fd5b808360010160008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167fe79861b9288e9749c171fee8279f44035d89662c2a9a088865a68898ec50185c8383604051808367ffffffffffffffff1667ffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020019250505060405180910390a2505050565b600080828401905083811015612a2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600080831415612a4a5760009050612ab7565b6000828402905082848281612a5b57fe5b0414612ab2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806130d76021913960400191505060405180910390fd5b809150505b92915050565b600042905090565b3373ffffffffffffffffffffffffffffffffffffffff167f8e9ae80d46259102dfbf4ae6121dbe6548e85c8c0494163e8e0bf0e87bcd5876826040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015612b41578082015181840152602081019050612b26565b505050509050019250505060405180910390a250565b600080612b9183600001516fffffffffffffffffffffffffffffffff16846060015167ffffffffffffffff16612a3790919063ffffffff16565b90506000612be5846020015167ffffffffffffffff16612bd786608001516fffffffffffffffffffffffffffffffff16612bc9612abd565b612c4190919063ffffffff16565b612c8b90919063ffffffff16565b90506000612bfc8383612a3790919063ffffffff16565b90508460400151811115612c3657612c3383612c25858860400151612c8b90919063ffffffff16565b612a3790919063ffffffff16565b90505b809350505050919050565b6000612c8383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612cd5565b905092915050565b6000612ccd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612d95565b905092915050565b6000838311158290612d82576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612d47578082015181840152602081019050612d2c565b50505050905090810190601f168015612d745780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290612e41576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612e06578082015181840152602081019050612deb565b50505050905090810190601f168015612e335780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612e4d57fe5b04905080915050939250505056fe53746f726167654d616e616765723a2042696c6c696e6720706c616e73206172726179206c656e6774682068617320746f20657175616c20746f2062696c6c696e672070726963657353746f726167654d616e616765723a2042696c6c696e6720706572696f64206f662030206e6f7420616c6c6f77656453746f726167654d616e616765723a2042696c6c696e6720706572696f6420657863656564206d61782e206c656e67746853746f726167654d616e616765723a204f6666657220666f7220746869732050726f766964657220646f65736e277420657869737453746f726167654d616e616765723a2041677265656d656e7420616c72656164792072616e206f7574206f662066756e647353746f726167654d616e616765723a20416d6f756e7420697320746f6f2062696753746f726167654d616e616765723a204e6f7468696e6720746f20776974686472617753746f726167654d616e616765723a2046756e6473206465706f73697465642068617320746f20626520666f72206174206c65617374206f6e652062696c6c696e6720706572696f6453746f726167654d616e616765723a20496e73756666696369656e74204f66666572277320636170616369747953746f726167654d616e616765723a2053697a652068617320746f20626520626967676572207468656e203053746f726167654d616e616765723a205072696365206e6f7420617661696c61626c6520616e796d6f726553746f726167654d616e616765723a2041677265656d656e7420666f722074686973204f6666657220646f65736e277420657869737453746f726167654d616e616765723a2041677265656d656e74206e6f7420616374697665536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753746f726167654d616e616765723a204f66666572206e6565647320736f6d652062696c6c696e6720706c616e7353746f726167654d616e616765723a2043617061636974792068617320746f2062652067726561746572207468656e207a65726f53746f726167654d616e616765723a2041677265656d656e7420697320696e61637469766553746f726167654d616e616765723a2042696c6c696e6720707269636520646f65736e277420657869737420666f72204f66666572a2646970667358221220924b8bfdbf76af246060198dc0e2ed33095654d4c89883a428d566d461125e8a64736f6c63430006020033";

@@ -13,1 +13,6 @@ /* Generated by ts-generator ver. 0.0.8 */

}
export {
StorageManagerContract,
StorageManagerInstance
} from "./StorageManager";

@@ -98,7 +98,7 @@ /* Generated by ts-generator ver. 0.0.8 */

/**
* - Use this function when initiating an Offer or when the users wants to change more than one parameter at once. - Exercise caution with assigning additional capacity when capacity is already taken. It may happen that when a lot of capacity is available and we release already-taken capacity, capacity overflows. We explicitly allow this overflow to happen on the smart-contract level, because the worst thing that can happen is that the provider now has less storage available than planned (in which case he can top it up himself). However, take care of this in the client. REF_CAPACITY - make sure that any period * prices does not cause an overflow, as this can never be accepted (REF_MAX_PRICE) and hence is pointless
* - Use this function when initiating an Offer or when the users wants to change more than one parameter at once. - make sure that any period * prices does not cause an overflow, as this can never be accepted (REF_MAX_PRICE) and hence is pointless
* >> FOR PROVIDERset the totalCapacity and billingPlans of a Offer.
* @param billingPeriods the offered periods. Length must be equal to the lenght of billingPrices.
* @param billingPeriods the offered periods in seconds. Length must be equal to the lenght of billingPrices.
* @param billingPrices the prices for the offered periods. Each entry at index corresponds to the same index at periods. When a price is 0, the matching period is not offered.
* @param capacity the amount of bytes offered. If already active before and set to 0, existing contracts can't be prolonged / re-started, no new contracts can be started.
* @param capacity the amount of MB offered. If already active before and set to 0, existing contracts can't be prolonged / re-started, no new contracts can be started.
* @param message the Provider may include a message (e.g. his nodeID). Message should be structured such that the first two bits specify the message type, followed with the message). 0x01 == nodeID

@@ -162,3 +162,3 @@ */

* no new Agreement can be created and no existing Agreement can be prolonged. All existing Agreement are still valid for the amount of periods still deposited.
* >> FOR PROVIDERstops the Offer. It sets
* >> FOR PROVIDERstops the Offer. It sets the totalCapacity to 0 which indicates terminated Offer.
*/

@@ -178,3 +178,3 @@ terminateOffer: {

* @param billingPeriods the offered periods. Length must be equal to billingPrices.
* @param billingPrices the prices for the offered periods. Each entry at index corresponds to the same index at periods. 0 means that the particular period is not offered.
* @param billingPrices the prices for the offered periods in seconds. Each entry at index corresponds to the same index at periods. 0 means that the particular period is not offered.
*/

@@ -228,9 +228,9 @@ setBillingPlans: {

/**
* - The to-be-pinned data reference's size in bytes (rounded up) must be equal in size to param size. - Provider can reject to pin data reference when it exceeds specified size. - The ownership of Agreement is enforced with agreementReference structure which is calculated as: hash(msg.sender, dataReference)
* - The to-be-pinned data reference's size in MB (rounded up) must be equal in size to param size. - Provider can reject to pin data reference when it exceeds specified size. - The ownership of Agreement is enforced with agreementReference structure which is calculated as: hash(msg.sender, dataReference)
* >> FOR CONSUMERnew Agreement for given Offer
* @param agreementsReferencesToBePayedOut Agreements that are supposed to be terminated and should be payed-out and capacity freed up.
* @param billingPeriod the chosen period for billing.
* @param billingPeriod the chosen period for billing in seconds.
* @param dataReference the reference to an Data Source, can be several things.
* @param provider the provider from which is proposed to take a Offer.
* @param size the size of the to-be-pinned file in bytes (rounded up).
* @param size the size of the to-be-pinned file in MB (rounded up).
*/

@@ -273,3 +273,3 @@ newAgreement: {

/**
* - depositing funds to Agreement that is linked to terminated Offer is not possible
* - depositing funds to Agreement that is linked to terminated Offer is not possible - depositing funds to Agreement that already is expired (eq. ran out of funds at some point) is not possible. Call NewAgreement instead. The data needs to be re-provided though.
* >> FOR CONSUMERdeposits new funds to the Agreement.

@@ -336,3 +336,3 @@ * @param dataReference data reference where should be deposited funds.

/**
* - Provider must call an expired agreement themselves as soon as the agreement is expired, to add back the capacity to their Offer.
* - Provider must call an expired agreement themselves as soon as the agreement is expired, to add back the capacity to their Offer. - Payout can be triggered by other events as well. Like in newAgreement call with either existing agreement or when other Agreements are passed to the agreementsReferencesToBePayedOut array.
* >> FOR PROVIDERpayout already earned funds of one or more Agreement

@@ -339,0 +339,0 @@ * @param agreementReferences reference to one or more Agreement

@@ -9,4 +9,3 @@ /* Generated by ts-generator ver. 0.0.8 */

declare type BN = import("bn.js");
declare type Web3 = import("web3").default;
declare type BigNumber = import("bignumber.js").default;

@@ -16,4 +15,2 @@ declare const assert: Chai.AssertStatic;

declare const web3: Web3;
declare const artifacts: Truffle.Artifacts;

@@ -57,5 +54,5 @@

from?: string;
gas?: BN | number | string;
gasPrice?: BN | number | string;
value?: BN | string;
gas?: BigNumber | number | string;
gasPrice?: BigNumber | number | string;
value?: BigNumber | string;
}

@@ -88,3 +85,5 @@

deployed(): Promise<T>;
at(address: string): T;
at(address: string): Promise<T>;
link(name: string, address: string): void;
link<U>(contract: Contract<U>): void;
address: string;

@@ -91,0 +90,0 @@ contractName: string;

@@ -13,1 +13,6 @@ /* Generated by ts-generator ver. 0.0.8 */

}
export {
StorageManagerContract,
StorageManagerInstance
} from "./StorageManager";

@@ -121,7 +121,7 @@ /* Generated by ts-generator ver. 0.0.8 */

/**
* - Use this function when initiating an Offer or when the users wants to change more than one parameter at once. - Exercise caution with assigning additional capacity when capacity is already taken. It may happen that when a lot of capacity is available and we release already-taken capacity, capacity overflows. We explicitly allow this overflow to happen on the smart-contract level, because the worst thing that can happen is that the provider now has less storage available than planned (in which case he can top it up himself). However, take care of this in the client. REF_CAPACITY - make sure that any period * prices does not cause an overflow, as this can never be accepted (REF_MAX_PRICE) and hence is pointless
* - Use this function when initiating an Offer or when the users wants to change more than one parameter at once. - make sure that any period * prices does not cause an overflow, as this can never be accepted (REF_MAX_PRICE) and hence is pointless
* >> FOR PROVIDERset the totalCapacity and billingPlans of a Offer.
* @param billingPeriods the offered periods. Length must be equal to the lenght of billingPrices.
* @param billingPeriods the offered periods in seconds. Length must be equal to the lenght of billingPrices.
* @param billingPrices the prices for the offered periods. Each entry at index corresponds to the same index at periods. When a price is 0, the matching period is not offered.
* @param capacity the amount of bytes offered. If already active before and set to 0, existing contracts can't be prolonged / re-started, no new contracts can be started.
* @param capacity the amount of MB offered. If already active before and set to 0, existing contracts can't be prolonged / re-started, no new contracts can be started.
* @param message the Provider may include a message (e.g. his nodeID). Message should be structured such that the first two bits specify the message type, followed with the message). 0x01 == nodeID

@@ -185,3 +185,3 @@ */

* no new Agreement can be created and no existing Agreement can be prolonged. All existing Agreement are still valid for the amount of periods still deposited.
* >> FOR PROVIDERstops the Offer. It sets
* >> FOR PROVIDERstops the Offer. It sets the totalCapacity to 0 which indicates terminated Offer.
*/

@@ -201,3 +201,3 @@ terminateOffer: {

* @param billingPeriods the offered periods. Length must be equal to billingPrices.
* @param billingPrices the prices for the offered periods. Each entry at index corresponds to the same index at periods. 0 means that the particular period is not offered.
* @param billingPrices the prices for the offered periods in seconds. Each entry at index corresponds to the same index at periods. 0 means that the particular period is not offered.
*/

@@ -250,9 +250,9 @@ setBillingPlans: {

/**
* - The to-be-pinned data reference's size in bytes (rounded up) must be equal in size to param size. - Provider can reject to pin data reference when it exceeds specified size. - The ownership of Agreement is enforced with agreementReference structure which is calculated as: hash(msg.sender, dataReference)
* - The to-be-pinned data reference's size in MB (rounded up) must be equal in size to param size. - Provider can reject to pin data reference when it exceeds specified size. - The ownership of Agreement is enforced with agreementReference structure which is calculated as: hash(msg.sender, dataReference)
* >> FOR CONSUMERnew Agreement for given Offer
* @param agreementsReferencesToBePayedOut Agreements that are supposed to be terminated and should be payed-out and capacity freed up.
* @param billingPeriod the chosen period for billing.
* @param billingPeriod the chosen period for billing in seconds.
* @param dataReference the reference to an Data Source, can be several things.
* @param provider the provider from which is proposed to take a Offer.
* @param size the size of the to-be-pinned file in bytes (rounded up).
* @param size the size of the to-be-pinned file in MB (rounded up).
*/

@@ -295,3 +295,3 @@ newAgreement: {

/**
* - depositing funds to Agreement that is linked to terminated Offer is not possible
* - depositing funds to Agreement that is linked to terminated Offer is not possible - depositing funds to Agreement that already is expired (eq. ran out of funds at some point) is not possible. Call NewAgreement instead. The data needs to be re-provided though.
* >> FOR CONSUMERdeposits new funds to the Agreement.

@@ -358,3 +358,3 @@ * @param dataReference data reference where should be deposited funds.

/**
* - Provider must call an expired agreement themselves as soon as the agreement is expired, to add back the capacity to their Offer.
* - Provider must call an expired agreement themselves as soon as the agreement is expired, to add back the capacity to their Offer. - Payout can be triggered by other events as well. Like in newAgreement call with either existing agreement or when other Agreements are passed to the agreementsReferencesToBePayedOut array.
* >> FOR PROVIDERpayout already earned funds of one or more Agreement

@@ -395,7 +395,7 @@ * @param agreementReferences reference to one or more Agreement

/**
* - Use this function when initiating an Offer or when the users wants to change more than one parameter at once. - Exercise caution with assigning additional capacity when capacity is already taken. It may happen that when a lot of capacity is available and we release already-taken capacity, capacity overflows. We explicitly allow this overflow to happen on the smart-contract level, because the worst thing that can happen is that the provider now has less storage available than planned (in which case he can top it up himself). However, take care of this in the client. REF_CAPACITY - make sure that any period * prices does not cause an overflow, as this can never be accepted (REF_MAX_PRICE) and hence is pointless
* - Use this function when initiating an Offer or when the users wants to change more than one parameter at once. - make sure that any period * prices does not cause an overflow, as this can never be accepted (REF_MAX_PRICE) and hence is pointless
* >> FOR PROVIDERset the totalCapacity and billingPlans of a Offer.
* @param billingPeriods the offered periods. Length must be equal to the lenght of billingPrices.
* @param billingPeriods the offered periods in seconds. Length must be equal to the lenght of billingPrices.
* @param billingPrices the prices for the offered periods. Each entry at index corresponds to the same index at periods. When a price is 0, the matching period is not offered.
* @param capacity the amount of bytes offered. If already active before and set to 0, existing contracts can't be prolonged / re-started, no new contracts can be started.
* @param capacity the amount of MB offered. If already active before and set to 0, existing contracts can't be prolonged / re-started, no new contracts can be started.
* @param message the Provider may include a message (e.g. his nodeID). Message should be structured such that the first two bits specify the message type, followed with the message). 0x01 == nodeID

@@ -459,3 +459,3 @@ */

* no new Agreement can be created and no existing Agreement can be prolonged. All existing Agreement are still valid for the amount of periods still deposited.
* >> FOR PROVIDERstops the Offer. It sets
* >> FOR PROVIDERstops the Offer. It sets the totalCapacity to 0 which indicates terminated Offer.
*/

@@ -475,3 +475,3 @@ terminateOffer: {

* @param billingPeriods the offered periods. Length must be equal to billingPrices.
* @param billingPrices the prices for the offered periods. Each entry at index corresponds to the same index at periods. 0 means that the particular period is not offered.
* @param billingPrices the prices for the offered periods in seconds. Each entry at index corresponds to the same index at periods. 0 means that the particular period is not offered.
*/

@@ -524,9 +524,9 @@ setBillingPlans: {

/**
* - The to-be-pinned data reference's size in bytes (rounded up) must be equal in size to param size. - Provider can reject to pin data reference when it exceeds specified size. - The ownership of Agreement is enforced with agreementReference structure which is calculated as: hash(msg.sender, dataReference)
* - The to-be-pinned data reference's size in MB (rounded up) must be equal in size to param size. - Provider can reject to pin data reference when it exceeds specified size. - The ownership of Agreement is enforced with agreementReference structure which is calculated as: hash(msg.sender, dataReference)
* >> FOR CONSUMERnew Agreement for given Offer
* @param agreementsReferencesToBePayedOut Agreements that are supposed to be terminated and should be payed-out and capacity freed up.
* @param billingPeriod the chosen period for billing.
* @param billingPeriod the chosen period for billing in seconds.
* @param dataReference the reference to an Data Source, can be several things.
* @param provider the provider from which is proposed to take a Offer.
* @param size the size of the to-be-pinned file in bytes (rounded up).
* @param size the size of the to-be-pinned file in MB (rounded up).
*/

@@ -569,3 +569,3 @@ newAgreement: {

/**
* - depositing funds to Agreement that is linked to terminated Offer is not possible
* - depositing funds to Agreement that is linked to terminated Offer is not possible - depositing funds to Agreement that already is expired (eq. ran out of funds at some point) is not possible. Call NewAgreement instead. The data needs to be re-provided though.
* >> FOR CONSUMERdeposits new funds to the Agreement.

@@ -632,3 +632,3 @@ * @param dataReference data reference where should be deposited funds.

/**
* - Provider must call an expired agreement themselves as soon as the agreement is expired, to add back the capacity to their Offer.
* - Provider must call an expired agreement themselves as soon as the agreement is expired, to add back the capacity to their Offer. - Payout can be triggered by other events as well. Like in newAgreement call with either existing agreement or when other Agreements are passed to the agreementsReferencesToBePayedOut array.
* >> FOR PROVIDERpayout already earned funds of one or more Agreement

@@ -635,0 +635,0 @@ * @param agreementReferences reference to one or more Agreement

@@ -85,3 +85,5 @@ /* Generated by ts-generator ver. 0.0.8 */

deployed(): Promise<T>;
at(address: string): T;
at(address: string): Promise<T>;
link(name: string, address: string): void;
link<U>(contract: Contract<U>): void;
address: string;

@@ -88,0 +90,0 @@ contractName: string;

@@ -102,7 +102,7 @@ /* Generated by ts-generator ver. 0.0.8 */

/**
* - Use this function when initiating an Offer or when the users wants to change more than one parameter at once. - Exercise caution with assigning additional capacity when capacity is already taken. It may happen that when a lot of capacity is available and we release already-taken capacity, capacity overflows. We explicitly allow this overflow to happen on the smart-contract level, because the worst thing that can happen is that the provider now has less storage available than planned (in which case he can top it up himself). However, take care of this in the client. REF_CAPACITY - make sure that any period * prices does not cause an overflow, as this can never be accepted (REF_MAX_PRICE) and hence is pointless
* - Use this function when initiating an Offer or when the users wants to change more than one parameter at once. - make sure that any period * prices does not cause an overflow, as this can never be accepted (REF_MAX_PRICE) and hence is pointless
* >> FOR PROVIDERset the totalCapacity and billingPlans of a Offer.
* @param billingPeriods the offered periods. Length must be equal to the lenght of billingPrices.
* @param billingPeriods the offered periods in seconds. Length must be equal to the lenght of billingPrices.
* @param billingPrices the prices for the offered periods. Each entry at index corresponds to the same index at periods. When a price is 0, the matching period is not offered.
* @param capacity the amount of bytes offered. If already active before and set to 0, existing contracts can't be prolonged / re-started, no new contracts can be started.
* @param capacity the amount of MB offered. If already active before and set to 0, existing contracts can't be prolonged / re-started, no new contracts can be started.
* @param message the Provider may include a message (e.g. his nodeID). Message should be structured such that the first two bits specify the message type, followed with the message). 0x01 == nodeID

@@ -127,3 +127,3 @@ */

* no new Agreement can be created and no existing Agreement can be prolonged. All existing Agreement are still valid for the amount of periods still deposited.
* >> FOR PROVIDERstops the Offer. It sets
* >> FOR PROVIDERstops the Offer. It sets the totalCapacity to 0 which indicates terminated Offer.
*/

@@ -136,3 +136,3 @@ terminateOffer(): NonPayableTransactionObject<void>;

* @param billingPeriods the offered periods. Length must be equal to billingPrices.
* @param billingPrices the prices for the offered periods. Each entry at index corresponds to the same index at periods. 0 means that the particular period is not offered.
* @param billingPrices the prices for the offered periods in seconds. Each entry at index corresponds to the same index at periods. 0 means that the particular period is not offered.
*/

@@ -153,9 +153,9 @@ setBillingPlans(

/**
* - The to-be-pinned data reference's size in bytes (rounded up) must be equal in size to param size. - Provider can reject to pin data reference when it exceeds specified size. - The ownership of Agreement is enforced with agreementReference structure which is calculated as: hash(msg.sender, dataReference)
* - The to-be-pinned data reference's size in MB (rounded up) must be equal in size to param size. - Provider can reject to pin data reference when it exceeds specified size. - The ownership of Agreement is enforced with agreementReference structure which is calculated as: hash(msg.sender, dataReference)
* >> FOR CONSUMERnew Agreement for given Offer
* @param agreementsReferencesToBePayedOut Agreements that are supposed to be terminated and should be payed-out and capacity freed up.
* @param billingPeriod the chosen period for billing.
* @param billingPeriod the chosen period for billing in seconds.
* @param dataReference the reference to an Data Source, can be several things.
* @param provider the provider from which is proposed to take a Offer.
* @param size the size of the to-be-pinned file in bytes (rounded up).
* @param size the size of the to-be-pinned file in MB (rounded up).
*/

@@ -171,3 +171,3 @@ newAgreement(

/**
* - depositing funds to Agreement that is linked to terminated Offer is not possible
* - depositing funds to Agreement that is linked to terminated Offer is not possible - depositing funds to Agreement that already is expired (eq. ran out of funds at some point) is not possible. Call NewAgreement instead. The data needs to be re-provided though.
* >> FOR CONSUMERdeposits new funds to the Agreement.

@@ -195,3 +195,3 @@ * @param dataReference data reference where should be deposited funds.

/**
* - Provider must call an expired agreement themselves as soon as the agreement is expired, to add back the capacity to their Offer.
* - Provider must call an expired agreement themselves as soon as the agreement is expired, to add back the capacity to their Offer. - Payout can be triggered by other events as well. Like in newAgreement call with either existing agreement or when other Agreements are passed to the agreementsReferencesToBePayedOut array.
* >> FOR PROVIDERpayout already earned funds of one or more Agreement

@@ -198,0 +198,0 @@ * @param agreementReferences reference to one or more Agreement

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc