diff --git a/src/Layout/Layout.js b/src/Layout/Layout.js
index 3760efc..897c8da 100644
--- a/src/Layout/Layout.js
+++ b/src/Layout/Layout.js
@@ -46,7 +46,6 @@ export const Layout = () => {
dispatch(signOut());
}
});
-
//enable metamask
const isEnabled = await enable(dispatch);
if (isEnabled) {
@@ -66,18 +65,13 @@ export const Layout = () => {
setupApp(dispatch);
listenNetworkChange(dispatch);
}, []);
- useEffect(() => {
- console.log("appState.isAppLoaded");
- console.log(appState.isAppLoaded);
- },[appState.isAppLoaded])
+
useEffect(() => {
//listen account changed event
listenAccountChange(user.address, dispatch);
dispatch(setIsUserAccountSelected(appState.currentAccount === user.address));
- console.log("user")
- console.log(user)
}, [user]);
diff --git a/src/components/NavigationBar/NavigationBar.js b/src/components/NavigationBar/NavigationBar.js
index 59ccc61..eeb5053 100644
--- a/src/components/NavigationBar/NavigationBar.js
+++ b/src/components/NavigationBar/NavigationBar.js
@@ -41,7 +41,7 @@ export const NavigationBar = () => {
}
id="basic-nav-dropdown">
Profile
- Sign Out
+ Sign Out
;
if (auth.loading) {
diff --git a/src/containers/Campaigns/Campaigns.js b/src/containers/Campaigns/Campaigns.js
index 2f2e0dc..3efd590 100644
--- a/src/containers/Campaigns/Campaigns.js
+++ b/src/containers/Campaigns/Campaigns.js
@@ -7,7 +7,7 @@ import * as ethService from '../../services/ethereum/ethService';
export const Campaigns = () => {
const [campaigns, setCampaigns] = useState([]);
const [count, setCount] = useState(0);
- const [isLoading, setIsLoading] = useState(false)
+ // const [isLoading, setIsLoading] = useState(false)
const loadCampaigns = useCallback(async () => {
//get campaign count
diff --git a/src/contract/CampaignFactory.json b/src/contract/CampaignFactory.json
index 2404eda..a7e0cfb 100644
--- a/src/contract/CampaignFactory.json
+++ b/src/contract/CampaignFactory.json
@@ -1,1971 +1,1891 @@
{
- "contractName": "CampaignFactory",
- "abi": [
- {
- "constant": true,
- "inputs": [
+ "contractName": "CampaignFactory",
+ "abi": [
{
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "deployedCampaigns",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_manager",
- "type": "address"
- },
- {
- "internalType": "string",
- "name": "_title",
- "type": "string"
+ "constant": false,
+ "inputs": [
+ { "internalType": "address", "name": "_manager", "type": "address" },
+ { "internalType": "string", "name": "_title", "type": "string" },
+ { "internalType": "string", "name": "_description", "type": "string" },
+ { "internalType": "uint256", "name": "_initialAmountGoal", "type": "uint256" },
+ { "internalType": "uint256", "name": "_createdAt", "type": "uint256" },
+ { "internalType": "uint256", "name": "_closedAt", "type": "uint256" }
+ ],
+ "name": "createCampaign",
+ "outputs": [],
+ "payable": false,
+ "stateMutability": "nonpayable",
+ "type": "function"
},
{
- "internalType": "string",
- "name": "_description",
- "type": "string"
+ "constant": true,
+ "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
+ "name": "deployedCampaigns",
+ "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
+ "payable": false,
+ "stateMutability": "view",
+ "type": "function"
},
{
- "internalType": "uint256",
- "name": "_initialAmountGoal",
- "type": "uint256"
+ "constant": true,
+ "inputs": [],
+ "name": "getCampaignsCount",
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
+ "payable": false,
+ "stateMutability": "view",
+ "type": "function"
},
{
- "internalType": "uint256",
- "name": "_createdAt",
- "type": "uint256"
+ "constant": true,
+ "inputs": [],
+ "name": "getDeployedCampaigns",
+ "outputs": [{ "internalType": "address[]", "name": "", "type": "address[]" }],
+ "payable": false,
+ "stateMutability": "view",
+ "type": "function"
},
{
- "internalType": "uint256",
- "name": "_closedAt",
- "type": "uint256"
- }
- ],
- "name": "createCampaign",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "getCampaignsCount",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "getDeployedCampaigns",
- "outputs": [
- {
- "internalType": "address[]",
- "name": "",
- "type": "address[]"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "getLastDeployedContract",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
+ "constant": true,
+ "inputs": [],
+ "name": "getLastDeployedContract",
+ "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
+ "payable": false,
+ "stateMutability": "view",
+ "type": "function"
}
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- }
- ],
- "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_title\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_description\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_initialAmountGoal\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_createdAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_closedAt\",\"type\":\"uint256\"}],\"name\":\"createCampaign\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"deployedCampaigns\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCampaignsCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getDeployedCampaigns\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getLastDeployedContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/F/Software Development/React Projects/de-care/ethereum/contracts/CampaignFactory.sol\":\"CampaignFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/F/Software Development/React Projects/de-care/ethereum/contracts/Campaign.sol\":{\"keccak256\":\"0x0f36051132469a844a56435cf1945f3961dcde490901be36571b1fec3a0de3f9\",\"urls\":[\"bzz-raw://1bb604d41bf8c31ea746501dbfb547682a7c6c64ad09d6b53bb35d7db7ebb894\",\"dweb:/ipfs/QmesM9XS59xH12y2jcAoEEnyaMTjF6xPPNZCRhqrHvpZEi\"]},\"/F/Software Development/React Projects/de-care/ethereum/contracts/CampaignFactory.sol\":{\"keccak256\":\"0xa6696b0dd859ff283f90434d2a89eb822f729e7ddc7594db5b68e901496273c1\",\"urls\":[\"bzz-raw://3403999126cc745e48bf2b6f76e228594805019d82b5cd73776afe8c45d819a9\",\"dweb:/ipfs/Qmcby5UkjhjQmPUPi2hwSAuyhAEEoUNM8s7zhovdshgNgV\"]}},\"version\":1}",
- "bytecode": "0x608060405234801561001057600080fd5b5061326c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063339d50a51461005c5780634acb9d4f146100ca5780637e6253da14610129578063a3012d5314610147578063ec8e0ac1146102d7575b600080fd5b6100886004803603602081101561007257600080fd5b8101908080359060200190929190505050610321565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100d261035d565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156101155780820151818401526020810190506100fa565b505050509050019250505060405180910390f35b6101316103eb565b6040518082815260200191505060405180910390f35b6102d5600480360360c081101561015d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561019a57600080fd5b8201836020820111156101ac57600080fd5b803590602001918460018302840111640100000000831117156101ce57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561023157600080fd5b82018360208201111561024357600080fd5b8035906020019184600183028401116401000000008311171561026557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190803590602001909291905050506103f7565b005b6102df6105bc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000818154811061032e57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060008054806020026020016040519081016040528092919081815260200182805480156103e157602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610397575b5050505050905090565b60008080549050905090565b600086868686868660405161040b90610602565b808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001868152602001858152602001848152602001838103835288818151815260200191508051906020019080838360005b83811015610490578082015181840152602081019050610475565b50505050905090810190601f1680156104bd5780820380516001836020036101000a031916815260200191505b50838103825287818151815260200191508051906020019080838360005b838110156104f65780820151818401526020810190506104db565b50505050905090810190601f1680156105235780820380516001836020036101000a031916815260200191505b5098505050505050505050604051809103906000f08015801561054a573d6000803e3d6000fd5b50905060008190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050505050565b600080600160008054905003815481106105d257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b612c28806106108339019056fe60806040523480156200001157600080fd5b5060405162002c2838038062002c28833981810160405260c08110156200003757600080fd5b8101908080519060200190929190805160405193929190846401000000008211156200006257600080fd5b838201915060208201858111156200007957600080fd5b82518660018202830111640100000000821117156200009757600080fd5b8083526020830192505050908051906020019080838360005b83811015620000cd578082015181840152602081019050620000b0565b50505050905090810190601f168015620000fb5780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011f57600080fd5b838201915060208201858111156200013657600080fd5b82518660018202830111640100000000821117156200015457600080fd5b8083526020830192505050908051906020019080838360005b838110156200018a5780820151818401526020810190506200016d565b50505050905090810190601f168015620001b85780820380516001836020036101000a031916815260200191505b506040526020018051906020019092919080519060200190929190805190602001909291905050508181116200023a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018062002bf9602f913960400191505060405180910390fd5b6000831162000295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018062002bcb602e913960400191505060405180910390fd5b856000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508460019080519060200190620002ed929190620003fb565b50836002908051906020019062000306929190620003fb565b508260038190555081600b8190555080600c819055506203f480600a819055506001600d60006101000a81548160ff02191690831515021790555060076040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505050505050505050620004aa565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200043e57805160ff19168380011785556200046f565b828001600101855582156200046f579182015b828111156200046e57825182559160200191906001019062000451565b5b5090506200047e919062000482565b5090565b620004a791905b80821115620004a357600081600090555060010162000489565b5090565b90565b61271180620004ba6000396000f3fe6080604052600436106101355760003560e01c806360713609116100ab578063a96271361161006f578063a9627136146108c8578063ca0cdea81461094a578063cf09e0d0146109af578063d2765c94146109da578063e81e1ccc14610a15578063ed88c68e14610a4057610135565b8063607136091461078c5780636a3d9a4a146107b75780637284e416146107e2578063777016fb146108725780639ef27b001461089d57610135565b80634051ddac116100fd5780634051ddac14610404578063481c6a751461057d5780634a79d50c146105d45780634dfa84341461066457806351b42b001461074a5780635c8d71521461076157610135565b80631b0f5fc21461013a57806321464bfe1461017557806322f3e2d4146101b0578063332f7acf146101df578063372bfd9c1461020a575b600080fd5b34801561014657600080fd5b506101736004803603602081101561015d57600080fd5b8101908080359060200190929190505050610a4a565b005b34801561018157600080fd5b506101ae6004803603602081101561019857600080fd5b8101908080359060200190929190505050610cc9565b005b3480156101bc57600080fd5b506101c5610fbb565b604051808215151515815260200191505060405180910390f35b3480156101eb57600080fd5b506101f4610fce565b6040518082815260200191505060405180910390f35b34801561021657600080fd5b506104026004803603608081101561022d57600080fd5b810190808035906020019064010000000081111561024a57600080fd5b82018360208201111561025c57600080fd5b8035906020019184600183028401116401000000008311171561027e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803590602001906401000000008111156102eb57600080fd5b8201836020820111156102fd57600080fd5b8035906020019184602083028401116401000000008311171561031f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561037f57600080fd5b82018360208201111561039157600080fd5b803590602001918460208302840111640100000000831117156103b357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610fd4565b005b34801561041057600080fd5b50610419611583565b604051808e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001806020018d81526020018c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018415151515815260200183810383528f818151815260200191508051906020019080838360005b838110156104cf5780820151818401526020810190506104b4565b50505050905090810190601f1680156104fc5780820380516001836020036101000a031916815260200191505b5083810382528e818151815260200191508051906020019080838360005b8381101561053557808201518184015260208101905061051a565b50505050905090810190601f1680156105625780820380516001836020036101000a031916815260200191505b509f5050505050505050505050505050505060405180910390f35b34801561058957600080fd5b5061059261174f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105e057600080fd5b506105e9611774565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561062957808201518184015260208101905061060e565b50505050905090810190601f1680156106565780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561067057600080fd5b5061069d6004803603602081101561068757600080fd5b8101908080359060200190929190505050611812565b60405180806020018881526020018781526020018681526020018581526020018415151515815260200183151515158152602001828103825289818151815260200191508051906020019080838360005b838110156107095780820151818401526020810190506106ee565b50505050905090810190601f1680156107365780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b34801561075657600080fd5b5061075f6119e8565b005b34801561076d57600080fd5b50610776611b06565b6040518082815260200191505060405180910390f35b34801561079857600080fd5b506107a1611b0c565b6040518082815260200191505060405180910390f35b3480156107c357600080fd5b506107cc611b12565b6040518082815260200191505060405180910390f35b3480156107ee57600080fd5b506107f7611b18565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561083757808201518184015260208101905061081c565b50505050905090810190601f1680156108645780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561087e57600080fd5b50610887611bb6565b6040518082815260200191505060405180910390f35b3480156108a957600080fd5b506108b2611bbc565b6040518082815260200191505060405180910390f35b3480156108d457600080fd5b50610901600480360360208110156108eb57600080fd5b8101908080359060200190929190505050611bc2565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b34801561095657600080fd5b506109996004803603602081101561096d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c13565b6040518082815260200191505060405180910390f35b3480156109bb57600080fd5b506109c4611c2b565b6040518082815260200191505060405180910390f35b3480156109e657600080fd5b50610a13600480360360208110156109fd57600080fd5b8101908080359060200190929190505050611c31565b005b348015610a2157600080fd5b50610a2a611eca565b6040518082815260200191505060405180910390f35b610a486121a0565b005b60011515600d60009054906101000a900460ff16151514610ad3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e747261637420697320636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b78576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806125a56023913960400191505060405180910390fd5b600060098281548110610b8757fe5b9060005260206000209060080201905042600a54826006015401118015610bb657506007805490508160050154105b8015610bd157508060070160009054906101000a900460ff16155b15610cc55760018160070160006101000a81548160ff0219169083151502179055508060010154600560008282540392505081905550806001015460066000828254019250508190555060008090505b8160030154811015610cc357600082600201600083815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc82600101549081150290604051600060405180830381858888f19350505050158015610cb4573d6000803e3d6000fd5b50508080600101915050610c21565b505b5050565b60011515600d60009054906101000a900460ff16151514610d52576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e747261637420697320636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610dea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806125c86022913960400191505060405180910390fd5b60008111610e43576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806126236021913960400191505060405180910390fd5b6009805490508110610ebd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f46756e64205265717565737420646f6e27742065786973742e0000000000000081525060200191505060405180910390fd5b600060098281548110610ecc57fe5b906000526020600020906008020160040190508060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610fb75760008160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060098281548110610f9457fe5b906000526020600020906008020160050160008154809291906001900391905055505b5050565b600d60009054906101000a900460ff1681565b60045481565b60011515600d60009054906101000a900460ff1615151461105d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e747261637420697320636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611102576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806125a56023913960400191505060405180910390fd5b42600c54118015611117575060035460045410155b61116c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806124e96023913960400191505060405180910390fd5b600083116111e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f416d6f756e742063616e6e6f74206265207a65726f2e0000000000000000000081525060200191505060405180910390fd5b600082511180156111f4575060008151115b611249576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612549602a913960400191505060405180910390fd5b80518251146112a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d81526020018061250c603d913960400191505060405180910390fd5b8260055460065460045403031015611306576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806125736032913960400191505060405180910390fd5b600080905060005b825181101561133c5782818151811061132357fe5b602002602001015182019150808060010191505061130e565b50838114611395576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260558152602001806126446055913960600191505060405180910390fd5b60096040518060c00160405280878152602001868152602001600081526020016000815260200142815260200160001515815250908060018154018082558091505090600182039060005260206000209060080201600090919290919091506000820151816000019080519060200190611410929190612443565b506020820151816001015560408201518160030155606082015181600501556080820151816006015560a08201518160070160006101000a81548160ff021916908315150217905550505050600060096001600980549050038154811061147357fe5b90600052602060002090600802019050600081600201905060008090505b85518110156115725760405180604001604052808783815181106114b157fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1681526020018683815181106114e057fe5b602002602001015181525082600083815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015590505082600301600081548092919060010191905055508080600101915050611491565b508560058190555050505050505050565b60006060806000806000806000806000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016002600354600454600554600654600a54600b54600c54600780549050600980549050600d60009054906101000a900460ff168b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116835780601f1061165857610100808354040283529160200191611683565b820191906000526020600020905b81548152906001019060200180831161166657829003601f168201915b50505050509b508a8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561171f5780601f106116f45761010080835404028352916020019161171f565b820191906000526020600020905b81548152906001019060200180831161170257829003601f168201915b50505050509a509c509c509c509c509c509c509c509c509c509c509c509c509c50909192939495969798999a9b9c565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561180a5780601f106117df5761010080835404028352916020019161180a565b820191906000526020600020905b8154815290600101906020018083116117ed57829003601f168201915b505050505081565b6060600080600080600080876001600980549050011161189a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f496e646578206973206f7574206f662072616e67652e0000000000000000000081525060200191505060405180910390fd5b6000600989815481106118a957fe5b906000526020600020906008020190508060000181600101548260030154836005015484600601548560070160009054906101000a900460ff168660040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16868054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119c75780601f1061199c576101008083540402835291602001916119c7565b820191906000526020600020905b8154815290600101906020018083116119aa57829003601f168201915b50505050509650975097509750975097509750975050919395979092949650565b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a8d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806125a56023913960400191505060405180910390fd5b60065460045414611ae9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260448152602001806126996044913960600191505060405180910390fd5b6000600d60006101000a81548160ff021916908315150217905550565b60065481565b60055481565b60035481565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611bae5780601f10611b8357610100808354040283529160200191611bae565b820191906000526020600020905b815481529060010190602001808311611b9157829003601f168201915b505050505081565b600a5481565b600c5481565b60078181548110611bcf57fe5b90600052602060002090600202016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b60086020528060005260406000206000915090505481565b600b5481565b60011515600d60009054906101000a900460ff16151514611cba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e747261637420697320636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611d52576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806125c86022913960400191505060405180910390fd5b60008111611dab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806126236021913960400191505060405180910390fd5b6009805490508110611e25576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f46756e64205265717565737420646f6e27742065786973742e0000000000000081525060200191505060405180910390fd5b600160098281548110611e3457fe5b906000526020600020906008020160040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060098181548110611ea657fe5b90600052602060002090600802016005016000815480929190600101919050555050565b600060011515600d60009054906101000a900460ff16151514611f55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e747261637420697320636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b6003546004541080611f68575042600c54115b611fda576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f446f6e6174696f6e2063616e6e6f742062652077697468647261776e0000000081525060200191505060405180910390fd5b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008111612077576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001806125ea6039913960400191505060405180910390fd5b60006007828154811061208657fe5b90600052602060002090600202016001015490506000811115612196576000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600782815481106120f557fe5b9060005260206000209060020201600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560018201600090555050806004600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561218b573d6000803e3d6000fd5b50809250505061219d565b6000925050505b90565b60011515600d60009054906101000a900460ff16151514612229576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e747261637420697320636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b60003414156122a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f416d6f756e74206d7573742062652067726561746572207468616e207a65726f81525060200191505060405180910390fd5b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008114156123e6576001905080600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760405180604001604052803373ffffffffffffffffffffffffffffffffffffffff168152602001348152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505050612430565b6000600782815481106123f557fe5b90600052602060002090600202016001015490503481016007838154811061241957fe5b906000526020600020906002020160010181905550505b3460046000828254019250508190555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061248457805160ff19168380011785556124b2565b828001600101855582156124b2579182015b828111156124b1578251825591602001919060010190612496565b5b5090506124bf91906124c3565b5090565b6124e591905b808211156124e15760008160009055506001016124c9565b5090565b9056fe43616d706169676e20636f756c646e277420726561636865642069747320676f616c2e54686572652073686f756c6420626520657175616c206e6f2e206f6620726563697069656e74732061646472657373657320616e6420616d6f756e747352657175657374206d75737420636f6e7461696e2061746c65617374206f6e6520726563697069656e7443616d706169676e20646f6e2774206861766520656e6f7567682066756e647320666f7220796f757220726571756573742e4f6e6c79204d616e616765722063616e2063616c6c20746869732066756e6374696f6e4f6e6c7920446f6e6f722063616e2063616c6c20746869732066756e6374696f6e73596f75206861766520746f206265206120646f6e6f7220696e206f7264657220746f20776974686472617720796f757220646f6e6174696f6e496e6465782073686f756c642062652067726561746572207468616e207a65726f546f74616c20616d6f756e742064656c65676174656420746f20726563697069656e7473206d75737420626520657175616c20746f2074686520746f74616c20616d6f756e7420696e20746865207265717565737443616d706169676e2063616e6e6f7420626520636c6f7365642c2062656361757365206974207374696c6c2068617320736f6d6520756e7370656e6465642066756e6473a265627a7a723158203354e64b6629497e4dedf0da004c5f49deee4d3c8eff75143459a26de090479364736f6c63430005100032496e697469616c20616d6f756e7420676f616c20206d7573742062652067726561746572207468616e207a65726f43616d706169676e2073746172742074696d65206d757374206265206c657373207468616e20656e642074696d652ea265627a7a72315820afd89288c02b11cf1b929f07d9e12b7d81a1b1dfdb246eb906f544a2154d004464736f6c63430005100032",
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c8063339d50a51461005c5780634acb9d4f146100ca5780637e6253da14610129578063a3012d5314610147578063ec8e0ac1146102d7575b600080fd5b6100886004803603602081101561007257600080fd5b8101908080359060200190929190505050610321565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100d261035d565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156101155780820151818401526020810190506100fa565b505050509050019250505060405180910390f35b6101316103eb565b6040518082815260200191505060405180910390f35b6102d5600480360360c081101561015d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561019a57600080fd5b8201836020820111156101ac57600080fd5b803590602001918460018302840111640100000000831117156101ce57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561023157600080fd5b82018360208201111561024357600080fd5b8035906020019184600183028401116401000000008311171561026557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190803590602001909291905050506103f7565b005b6102df6105bc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000818154811061032e57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060008054806020026020016040519081016040528092919081815260200182805480156103e157602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610397575b5050505050905090565b60008080549050905090565b600086868686868660405161040b90610602565b808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001868152602001858152602001848152602001838103835288818151815260200191508051906020019080838360005b83811015610490578082015181840152602081019050610475565b50505050905090810190601f1680156104bd5780820380516001836020036101000a031916815260200191505b50838103825287818151815260200191508051906020019080838360005b838110156104f65780820151818401526020810190506104db565b50505050905090810190601f1680156105235780820380516001836020036101000a031916815260200191505b5098505050505050505050604051809103906000f08015801561054a573d6000803e3d6000fd5b50905060008190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050505050565b600080600160008054905003815481106105d257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b612c28806106108339019056fe60806040523480156200001157600080fd5b5060405162002c2838038062002c28833981810160405260c08110156200003757600080fd5b8101908080519060200190929190805160405193929190846401000000008211156200006257600080fd5b838201915060208201858111156200007957600080fd5b82518660018202830111640100000000821117156200009757600080fd5b8083526020830192505050908051906020019080838360005b83811015620000cd578082015181840152602081019050620000b0565b50505050905090810190601f168015620000fb5780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011f57600080fd5b838201915060208201858111156200013657600080fd5b82518660018202830111640100000000821117156200015457600080fd5b8083526020830192505050908051906020019080838360005b838110156200018a5780820151818401526020810190506200016d565b50505050905090810190601f168015620001b85780820380516001836020036101000a031916815260200191505b506040526020018051906020019092919080519060200190929190805190602001909291905050508181116200023a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018062002bf9602f913960400191505060405180910390fd5b6000831162000295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018062002bcb602e913960400191505060405180910390fd5b856000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508460019080519060200190620002ed929190620003fb565b50836002908051906020019062000306929190620003fb565b508260038190555081600b8190555080600c819055506203f480600a819055506001600d60006101000a81548160ff02191690831515021790555060076040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505050505050505050620004aa565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200043e57805160ff19168380011785556200046f565b828001600101855582156200046f579182015b828111156200046e57825182559160200191906001019062000451565b5b5090506200047e919062000482565b5090565b620004a791905b80821115620004a357600081600090555060010162000489565b5090565b90565b61271180620004ba6000396000f3fe6080604052600436106101355760003560e01c806360713609116100ab578063a96271361161006f578063a9627136146108c8578063ca0cdea81461094a578063cf09e0d0146109af578063d2765c94146109da578063e81e1ccc14610a15578063ed88c68e14610a4057610135565b8063607136091461078c5780636a3d9a4a146107b75780637284e416146107e2578063777016fb146108725780639ef27b001461089d57610135565b80634051ddac116100fd5780634051ddac14610404578063481c6a751461057d5780634a79d50c146105d45780634dfa84341461066457806351b42b001461074a5780635c8d71521461076157610135565b80631b0f5fc21461013a57806321464bfe1461017557806322f3e2d4146101b0578063332f7acf146101df578063372bfd9c1461020a575b600080fd5b34801561014657600080fd5b506101736004803603602081101561015d57600080fd5b8101908080359060200190929190505050610a4a565b005b34801561018157600080fd5b506101ae6004803603602081101561019857600080fd5b8101908080359060200190929190505050610cc9565b005b3480156101bc57600080fd5b506101c5610fbb565b604051808215151515815260200191505060405180910390f35b3480156101eb57600080fd5b506101f4610fce565b6040518082815260200191505060405180910390f35b34801561021657600080fd5b506104026004803603608081101561022d57600080fd5b810190808035906020019064010000000081111561024a57600080fd5b82018360208201111561025c57600080fd5b8035906020019184600183028401116401000000008311171561027e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803590602001906401000000008111156102eb57600080fd5b8201836020820111156102fd57600080fd5b8035906020019184602083028401116401000000008311171561031f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561037f57600080fd5b82018360208201111561039157600080fd5b803590602001918460208302840111640100000000831117156103b357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610fd4565b005b34801561041057600080fd5b50610419611583565b604051808e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001806020018d81526020018c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018415151515815260200183810383528f818151815260200191508051906020019080838360005b838110156104cf5780820151818401526020810190506104b4565b50505050905090810190601f1680156104fc5780820380516001836020036101000a031916815260200191505b5083810382528e818151815260200191508051906020019080838360005b8381101561053557808201518184015260208101905061051a565b50505050905090810190601f1680156105625780820380516001836020036101000a031916815260200191505b509f5050505050505050505050505050505060405180910390f35b34801561058957600080fd5b5061059261174f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105e057600080fd5b506105e9611774565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561062957808201518184015260208101905061060e565b50505050905090810190601f1680156106565780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561067057600080fd5b5061069d6004803603602081101561068757600080fd5b8101908080359060200190929190505050611812565b60405180806020018881526020018781526020018681526020018581526020018415151515815260200183151515158152602001828103825289818151815260200191508051906020019080838360005b838110156107095780820151818401526020810190506106ee565b50505050905090810190601f1680156107365780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b34801561075657600080fd5b5061075f6119e8565b005b34801561076d57600080fd5b50610776611b06565b6040518082815260200191505060405180910390f35b34801561079857600080fd5b506107a1611b0c565b6040518082815260200191505060405180910390f35b3480156107c357600080fd5b506107cc611b12565b6040518082815260200191505060405180910390f35b3480156107ee57600080fd5b506107f7611b18565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561083757808201518184015260208101905061081c565b50505050905090810190601f1680156108645780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561087e57600080fd5b50610887611bb6565b6040518082815260200191505060405180910390f35b3480156108a957600080fd5b506108b2611bbc565b6040518082815260200191505060405180910390f35b3480156108d457600080fd5b50610901600480360360208110156108eb57600080fd5b8101908080359060200190929190505050611bc2565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b34801561095657600080fd5b506109996004803603602081101561096d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c13565b6040518082815260200191505060405180910390f35b3480156109bb57600080fd5b506109c4611c2b565b6040518082815260200191505060405180910390f35b3480156109e657600080fd5b50610a13600480360360208110156109fd57600080fd5b8101908080359060200190929190505050611c31565b005b348015610a2157600080fd5b50610a2a611eca565b6040518082815260200191505060405180910390f35b610a486121a0565b005b60011515600d60009054906101000a900460ff16151514610ad3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e747261637420697320636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b78576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806125a56023913960400191505060405180910390fd5b600060098281548110610b8757fe5b9060005260206000209060080201905042600a54826006015401118015610bb657506007805490508160050154105b8015610bd157508060070160009054906101000a900460ff16155b15610cc55760018160070160006101000a81548160ff0219169083151502179055508060010154600560008282540392505081905550806001015460066000828254019250508190555060008090505b8160030154811015610cc357600082600201600083815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc82600101549081150290604051600060405180830381858888f19350505050158015610cb4573d6000803e3d6000fd5b50508080600101915050610c21565b505b5050565b60011515600d60009054906101000a900460ff16151514610d52576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e747261637420697320636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610dea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806125c86022913960400191505060405180910390fd5b60008111610e43576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806126236021913960400191505060405180910390fd5b6009805490508110610ebd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f46756e64205265717565737420646f6e27742065786973742e0000000000000081525060200191505060405180910390fd5b600060098281548110610ecc57fe5b906000526020600020906008020160040190508060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610fb75760008160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060098281548110610f9457fe5b906000526020600020906008020160050160008154809291906001900391905055505b5050565b600d60009054906101000a900460ff1681565b60045481565b60011515600d60009054906101000a900460ff1615151461105d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e747261637420697320636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611102576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806125a56023913960400191505060405180910390fd5b42600c54118015611117575060035460045410155b61116c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806124e96023913960400191505060405180910390fd5b600083116111e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f416d6f756e742063616e6e6f74206265207a65726f2e0000000000000000000081525060200191505060405180910390fd5b600082511180156111f4575060008151115b611249576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612549602a913960400191505060405180910390fd5b80518251146112a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d81526020018061250c603d913960400191505060405180910390fd5b8260055460065460045403031015611306576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806125736032913960400191505060405180910390fd5b600080905060005b825181101561133c5782818151811061132357fe5b602002602001015182019150808060010191505061130e565b50838114611395576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260558152602001806126446055913960600191505060405180910390fd5b60096040518060c00160405280878152602001868152602001600081526020016000815260200142815260200160001515815250908060018154018082558091505090600182039060005260206000209060080201600090919290919091506000820151816000019080519060200190611410929190612443565b506020820151816001015560408201518160030155606082015181600501556080820151816006015560a08201518160070160006101000a81548160ff021916908315150217905550505050600060096001600980549050038154811061147357fe5b90600052602060002090600802019050600081600201905060008090505b85518110156115725760405180604001604052808783815181106114b157fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1681526020018683815181106114e057fe5b602002602001015181525082600083815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015590505082600301600081548092919060010191905055508080600101915050611491565b508560058190555050505050505050565b60006060806000806000806000806000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016002600354600454600554600654600a54600b54600c54600780549050600980549050600d60009054906101000a900460ff168b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116835780601f1061165857610100808354040283529160200191611683565b820191906000526020600020905b81548152906001019060200180831161166657829003601f168201915b50505050509b508a8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561171f5780601f106116f45761010080835404028352916020019161171f565b820191906000526020600020905b81548152906001019060200180831161170257829003601f168201915b50505050509a509c509c509c509c509c509c509c509c509c509c509c509c509c50909192939495969798999a9b9c565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561180a5780601f106117df5761010080835404028352916020019161180a565b820191906000526020600020905b8154815290600101906020018083116117ed57829003601f168201915b505050505081565b6060600080600080600080876001600980549050011161189a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f496e646578206973206f7574206f662072616e67652e0000000000000000000081525060200191505060405180910390fd5b6000600989815481106118a957fe5b906000526020600020906008020190508060000181600101548260030154836005015484600601548560070160009054906101000a900460ff168660040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16868054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119c75780601f1061199c576101008083540402835291602001916119c7565b820191906000526020600020905b8154815290600101906020018083116119aa57829003601f168201915b50505050509650975097509750975097509750975050919395979092949650565b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a8d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806125a56023913960400191505060405180910390fd5b60065460045414611ae9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260448152602001806126996044913960600191505060405180910390fd5b6000600d60006101000a81548160ff021916908315150217905550565b60065481565b60055481565b60035481565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611bae5780601f10611b8357610100808354040283529160200191611bae565b820191906000526020600020905b815481529060010190602001808311611b9157829003601f168201915b505050505081565b600a5481565b600c5481565b60078181548110611bcf57fe5b90600052602060002090600202016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b60086020528060005260406000206000915090505481565b600b5481565b60011515600d60009054906101000a900460ff16151514611cba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e747261637420697320636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611d52576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806125c86022913960400191505060405180910390fd5b60008111611dab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806126236021913960400191505060405180910390fd5b6009805490508110611e25576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f46756e64205265717565737420646f6e27742065786973742e0000000000000081525060200191505060405180910390fd5b600160098281548110611e3457fe5b906000526020600020906008020160040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060098181548110611ea657fe5b90600052602060002090600802016005016000815480929190600101919050555050565b600060011515600d60009054906101000a900460ff16151514611f55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e747261637420697320636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b6003546004541080611f68575042600c54115b611fda576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f446f6e6174696f6e2063616e6e6f742062652077697468647261776e0000000081525060200191505060405180910390fd5b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008111612077576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001806125ea6039913960400191505060405180910390fd5b60006007828154811061208657fe5b90600052602060002090600202016001015490506000811115612196576000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600782815481106120f557fe5b9060005260206000209060020201600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560018201600090555050806004600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561218b573d6000803e3d6000fd5b50809250505061219d565b6000925050505b90565b60011515600d60009054906101000a900460ff16151514612229576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e747261637420697320636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b60003414156122a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f416d6f756e74206d7573742062652067726561746572207468616e207a65726f81525060200191505060405180910390fd5b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008114156123e6576001905080600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760405180604001604052803373ffffffffffffffffffffffffffffffffffffffff168152602001348152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505050612430565b6000600782815481106123f557fe5b90600052602060002090600202016001015490503481016007838154811061241957fe5b906000526020600020906002020160010181905550505b3460046000828254019250508190555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061248457805160ff19168380011785556124b2565b828001600101855582156124b2579182015b828111156124b1578251825591602001919060010190612496565b5b5090506124bf91906124c3565b5090565b6124e591905b808211156124e15760008160009055506001016124c9565b5090565b9056fe43616d706169676e20636f756c646e277420726561636865642069747320676f616c2e54686572652073686f756c6420626520657175616c206e6f2e206f6620726563697069656e74732061646472657373657320616e6420616d6f756e747352657175657374206d75737420636f6e7461696e2061746c65617374206f6e6520726563697069656e7443616d706169676e20646f6e2774206861766520656e6f7567682066756e647320666f7220796f757220726571756573742e4f6e6c79204d616e616765722063616e2063616c6c20746869732066756e6374696f6e4f6e6c7920446f6e6f722063616e2063616c6c20746869732066756e6374696f6e73596f75206861766520746f206265206120646f6e6f7220696e206f7264657220746f20776974686472617720796f757220646f6e6174696f6e496e6465782073686f756c642062652067726561746572207468616e207a65726f546f74616c20616d6f756e742064656c65676174656420746f20726563697069656e7473206d75737420626520657175616c20746f2074686520746f74616c20616d6f756e7420696e20746865207265717565737443616d706169676e2063616e6e6f7420626520636c6f7365642c2062656361757365206974207374696c6c2068617320736f6d6520756e7370656e6465642066756e6473a265627a7a723158203354e64b6629497e4dedf0da004c5f49deee4d3c8eff75143459a26de090479364736f6c63430005100032496e697469616c20616d6f756e7420676f616c20206d7573742062652067726561746572207468616e207a65726f43616d706169676e2073746172742074696d65206d757374206265206c657373207468616e20656e642074696d652ea265627a7a72315820afd89288c02b11cf1b929f07d9e12b7d81a1b1dfdb246eb906f544a2154d004464736f6c63430005100032",
- "sourceMap": "146:948:1:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;146:948:1;;;;;;;",
- "deployedSourceMap": "146:948:1:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;146:948:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;225:34;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;225:34:1;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;833:112;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;833:112:1;;;;;;;;;;;;;;;;;716:105;;;:::i;:::-;;;;;;;;;;;;;;;;;;;302:402;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;302:402:1;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;302:402:1;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;302:402:1;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;302:402:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;302:402:1;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;302:402:1;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;302:402:1;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;302:402:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;302:402:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;957:134;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;225:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;833:112::-;885:16;920:17;913:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;833:112;:::o;716:105::-;765:4;789:17;:24;;;;782:31;;716:105;:::o;302:402::-;529:20;566:8;576:6;585:12;599:18;619:10;631:9;552:89;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;552:89:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;552:89:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;552:89:1;529:112;;652:17;683:11;652:44;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;652:44:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;302:402;;;;;;;:::o;957:134::-;1012:7;1038:17;1081:1;1056:17;:24;;;;:26;1038:45;;;;;;;;;;;;;;;;;;;;;;;;;1031:52;;957:134;:::o;146:948::-;;;;;;;;:::o",
- "source": "pragma solidity ^0.5.16;\r\nimport \"./Campaign.sol\";\r\n\r\n\r\n//Campaign factory: This contract is used to deploy and keep track of deployed Campaigns\r\ncontract CampaignFactory{\r\n \r\n //list of all the deployed Campaigns\r\n address[] public deployedCampaigns;\r\n \r\n //deploys a new Campaign\r\n function createCampaign(\r\n address _manager, \r\n string memory _title, \r\n string memory _description, \r\n uint _initialAmountGoal, \r\n uint _createdAt,\r\n uint _closedAt) public {\r\n Campaign newCampaign = new Campaign( _manager, _title, _description, _initialAmountGoal, _createdAt, _closedAt);\r\n deployedCampaigns.push(address(newCampaign));\r\n }\r\n \r\n function getCampaignsCount() public view returns(uint) {\r\n return deployedCampaigns.length;\r\n }\r\n \r\n function getDeployedCampaigns() public view returns(address[] memory){\r\n return deployedCampaigns;\r\n }\r\n \r\n function getLastDeployedContract() public view returns(address){\r\n return deployedCampaigns[deployedCampaigns.length-1];\r\n }\r\n}",
- "sourcePath": "F:/Software Development/React Projects/de-care/ethereum/contracts/CampaignFactory.sol",
- "ast": {
- "absolutePath": "/F/Software Development/React Projects/de-care/ethereum/contracts/CampaignFactory.sol",
- "exportedSymbols": {
- "CampaignFactory": [
- 850
- ]
- },
- "id": 851,
- "nodeType": "SourceUnit",
- "nodes": [
- {
- "id": 778,
- "literals": [
- "solidity",
- "^",
- "0.5",
- ".16"
- ],
- "nodeType": "PragmaDirective",
- "src": "0:24:1"
- },
- {
- "absolutePath": "/F/Software Development/React Projects/de-care/ethereum/contracts/Campaign.sol",
- "file": "./Campaign.sol",
- "id": 779,
- "nodeType": "ImportDirective",
- "scope": 851,
- "sourceUnit": 777,
- "src": "26:24:1",
- "symbolAliases": [],
- "unitAlias": ""
- },
- {
- "baseContracts": [],
- "contractDependencies": [
- 776
- ],
- "contractKind": "contract",
- "documentation": null,
- "fullyImplemented": true,
- "id": 850,
- "linearizedBaseContracts": [
- 850
- ],
- "name": "CampaignFactory",
- "nodeType": "ContractDefinition",
+ ],
+ "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_title\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_description\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_initialAmountGoal\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_createdAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_closedAt\",\"type\":\"uint256\"}],\"name\":\"createCampaign\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"deployedCampaigns\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCampaignsCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getDeployedCampaigns\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getLastDeployedContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/F/Software Development/React Projects/de-care/ethereum/contracts/CampaignFactory.sol\":\"CampaignFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/F/Software Development/React Projects/de-care/ethereum/contracts/Campaign.sol\":{\"keccak256\":\"0x0f36051132469a844a56435cf1945f3961dcde490901be36571b1fec3a0de3f9\",\"urls\":[\"bzz-raw://1bb604d41bf8c31ea746501dbfb547682a7c6c64ad09d6b53bb35d7db7ebb894\",\"dweb:/ipfs/QmesM9XS59xH12y2jcAoEEnyaMTjF6xPPNZCRhqrHvpZEi\"]},\"/F/Software Development/React Projects/de-care/ethereum/contracts/CampaignFactory.sol\":{\"keccak256\":\"0xa6696b0dd859ff283f90434d2a89eb822f729e7ddc7594db5b68e901496273c1\",\"urls\":[\"bzz-raw://3403999126cc745e48bf2b6f76e228594805019d82b5cd73776afe8c45d819a9\",\"dweb:/ipfs/Qmcby5UkjhjQmPUPi2hwSAuyhAEEoUNM8s7zhovdshgNgV\"]}},\"version\":1}",
+ "bytecode": "0x608060405234801561001057600080fd5b5061326c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063339d50a51461005c5780634acb9d4f146100ca5780637e6253da14610129578063a3012d5314610147578063ec8e0ac1146102d7575b600080fd5b6100886004803603602081101561007257600080fd5b8101908080359060200190929190505050610321565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100d261035d565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156101155780820151818401526020810190506100fa565b505050509050019250505060405180910390f35b6101316103eb565b6040518082815260200191505060405180910390f35b6102d5600480360360c081101561015d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561019a57600080fd5b8201836020820111156101ac57600080fd5b803590602001918460018302840111640100000000831117156101ce57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561023157600080fd5b82018360208201111561024357600080fd5b8035906020019184600183028401116401000000008311171561026557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190803590602001909291905050506103f7565b005b6102df6105bc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000818154811061032e57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060008054806020026020016040519081016040528092919081815260200182805480156103e157602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610397575b5050505050905090565b60008080549050905090565b600086868686868660405161040b90610602565b808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001868152602001858152602001848152602001838103835288818151815260200191508051906020019080838360005b83811015610490578082015181840152602081019050610475565b50505050905090810190601f1680156104bd5780820380516001836020036101000a031916815260200191505b50838103825287818151815260200191508051906020019080838360005b838110156104f65780820151818401526020810190506104db565b50505050905090810190601f1680156105235780820380516001836020036101000a031916815260200191505b5098505050505050505050604051809103906000f08015801561054a573d6000803e3d6000fd5b50905060008190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050505050565b600080600160008054905003815481106105d257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b612c28806106108339019056fe60806040523480156200001157600080fd5b5060405162002c2838038062002c28833981810160405260c08110156200003757600080fd5b8101908080519060200190929190805160405193929190846401000000008211156200006257600080fd5b838201915060208201858111156200007957600080fd5b82518660018202830111640100000000821117156200009757600080fd5b8083526020830192505050908051906020019080838360005b83811015620000cd578082015181840152602081019050620000b0565b50505050905090810190601f168015620000fb5780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011f57600080fd5b838201915060208201858111156200013657600080fd5b82518660018202830111640100000000821117156200015457600080fd5b8083526020830192505050908051906020019080838360005b838110156200018a5780820151818401526020810190506200016d565b50505050905090810190601f168015620001b85780820380516001836020036101000a031916815260200191505b506040526020018051906020019092919080519060200190929190805190602001909291905050508181116200023a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018062002bf9602f913960400191505060405180910390fd5b6000831162000295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018062002bcb602e913960400191505060405180910390fd5b856000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508460019080519060200190620002ed929190620003fb565b50836002908051906020019062000306929190620003fb565b508260038190555081600b8190555080600c819055506203f480600a819055506001600d60006101000a81548160ff02191690831515021790555060076040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505050505050505050620004aa565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200043e57805160ff19168380011785556200046f565b828001600101855582156200046f579182015b828111156200046e57825182559160200191906001019062000451565b5b5090506200047e919062000482565b5090565b620004a791905b80821115620004a357600081600090555060010162000489565b5090565b90565b61271180620004ba6000396000f3fe6080604052600436106101355760003560e01c806360713609116100ab578063a96271361161006f578063a9627136146108c8578063ca0cdea81461094a578063cf09e0d0146109af578063d2765c94146109da578063e81e1ccc14610a15578063ed88c68e14610a4057610135565b8063607136091461078c5780636a3d9a4a146107b75780637284e416146107e2578063777016fb146108725780639ef27b001461089d57610135565b80634051ddac116100fd5780634051ddac14610404578063481c6a751461057d5780634a79d50c146105d45780634dfa84341461066457806351b42b001461074a5780635c8d71521461076157610135565b80631b0f5fc21461013a57806321464bfe1461017557806322f3e2d4146101b0578063332f7acf146101df578063372bfd9c1461020a575b600080fd5b34801561014657600080fd5b506101736004803603602081101561015d57600080fd5b8101908080359060200190929190505050610a4a565b005b34801561018157600080fd5b506101ae6004803603602081101561019857600080fd5b8101908080359060200190929190505050610cc9565b005b3480156101bc57600080fd5b506101c5610fbb565b604051808215151515815260200191505060405180910390f35b3480156101eb57600080fd5b506101f4610fce565b6040518082815260200191505060405180910390f35b34801561021657600080fd5b506104026004803603608081101561022d57600080fd5b810190808035906020019064010000000081111561024a57600080fd5b82018360208201111561025c57600080fd5b8035906020019184600183028401116401000000008311171561027e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803590602001906401000000008111156102eb57600080fd5b8201836020820111156102fd57600080fd5b8035906020019184602083028401116401000000008311171561031f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561037f57600080fd5b82018360208201111561039157600080fd5b803590602001918460208302840111640100000000831117156103b357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610fd4565b005b34801561041057600080fd5b50610419611583565b604051808e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001806020018d81526020018c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018415151515815260200183810383528f818151815260200191508051906020019080838360005b838110156104cf5780820151818401526020810190506104b4565b50505050905090810190601f1680156104fc5780820380516001836020036101000a031916815260200191505b5083810382528e818151815260200191508051906020019080838360005b8381101561053557808201518184015260208101905061051a565b50505050905090810190601f1680156105625780820380516001836020036101000a031916815260200191505b509f5050505050505050505050505050505060405180910390f35b34801561058957600080fd5b5061059261174f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105e057600080fd5b506105e9611774565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561062957808201518184015260208101905061060e565b50505050905090810190601f1680156106565780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561067057600080fd5b5061069d6004803603602081101561068757600080fd5b8101908080359060200190929190505050611812565b60405180806020018881526020018781526020018681526020018581526020018415151515815260200183151515158152602001828103825289818151815260200191508051906020019080838360005b838110156107095780820151818401526020810190506106ee565b50505050905090810190601f1680156107365780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b34801561075657600080fd5b5061075f6119e8565b005b34801561076d57600080fd5b50610776611b06565b6040518082815260200191505060405180910390f35b34801561079857600080fd5b506107a1611b0c565b6040518082815260200191505060405180910390f35b3480156107c357600080fd5b506107cc611b12565b6040518082815260200191505060405180910390f35b3480156107ee57600080fd5b506107f7611b18565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561083757808201518184015260208101905061081c565b50505050905090810190601f1680156108645780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561087e57600080fd5b50610887611bb6565b6040518082815260200191505060405180910390f35b3480156108a957600080fd5b506108b2611bbc565b6040518082815260200191505060405180910390f35b3480156108d457600080fd5b50610901600480360360208110156108eb57600080fd5b8101908080359060200190929190505050611bc2565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b34801561095657600080fd5b506109996004803603602081101561096d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c13565b6040518082815260200191505060405180910390f35b3480156109bb57600080fd5b506109c4611c2b565b6040518082815260200191505060405180910390f35b3480156109e657600080fd5b50610a13600480360360208110156109fd57600080fd5b8101908080359060200190929190505050611c31565b005b348015610a2157600080fd5b50610a2a611eca565b6040518082815260200191505060405180910390f35b610a486121a0565b005b60011515600d60009054906101000a900460ff16151514610ad3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e747261637420697320636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b78576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806125a56023913960400191505060405180910390fd5b600060098281548110610b8757fe5b9060005260206000209060080201905042600a54826006015401118015610bb657506007805490508160050154105b8015610bd157508060070160009054906101000a900460ff16155b15610cc55760018160070160006101000a81548160ff0219169083151502179055508060010154600560008282540392505081905550806001015460066000828254019250508190555060008090505b8160030154811015610cc357600082600201600083815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc82600101549081150290604051600060405180830381858888f19350505050158015610cb4573d6000803e3d6000fd5b50508080600101915050610c21565b505b5050565b60011515600d60009054906101000a900460ff16151514610d52576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e747261637420697320636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610dea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806125c86022913960400191505060405180910390fd5b60008111610e43576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806126236021913960400191505060405180910390fd5b6009805490508110610ebd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f46756e64205265717565737420646f6e27742065786973742e0000000000000081525060200191505060405180910390fd5b600060098281548110610ecc57fe5b906000526020600020906008020160040190508060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610fb75760008160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060098281548110610f9457fe5b906000526020600020906008020160050160008154809291906001900391905055505b5050565b600d60009054906101000a900460ff1681565b60045481565b60011515600d60009054906101000a900460ff1615151461105d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e747261637420697320636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611102576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806125a56023913960400191505060405180910390fd5b42600c54118015611117575060035460045410155b61116c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806124e96023913960400191505060405180910390fd5b600083116111e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f416d6f756e742063616e6e6f74206265207a65726f2e0000000000000000000081525060200191505060405180910390fd5b600082511180156111f4575060008151115b611249576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612549602a913960400191505060405180910390fd5b80518251146112a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d81526020018061250c603d913960400191505060405180910390fd5b8260055460065460045403031015611306576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806125736032913960400191505060405180910390fd5b600080905060005b825181101561133c5782818151811061132357fe5b602002602001015182019150808060010191505061130e565b50838114611395576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260558152602001806126446055913960600191505060405180910390fd5b60096040518060c00160405280878152602001868152602001600081526020016000815260200142815260200160001515815250908060018154018082558091505090600182039060005260206000209060080201600090919290919091506000820151816000019080519060200190611410929190612443565b506020820151816001015560408201518160030155606082015181600501556080820151816006015560a08201518160070160006101000a81548160ff021916908315150217905550505050600060096001600980549050038154811061147357fe5b90600052602060002090600802019050600081600201905060008090505b85518110156115725760405180604001604052808783815181106114b157fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1681526020018683815181106114e057fe5b602002602001015181525082600083815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015590505082600301600081548092919060010191905055508080600101915050611491565b508560058190555050505050505050565b60006060806000806000806000806000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016002600354600454600554600654600a54600b54600c54600780549050600980549050600d60009054906101000a900460ff168b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116835780601f1061165857610100808354040283529160200191611683565b820191906000526020600020905b81548152906001019060200180831161166657829003601f168201915b50505050509b508a8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561171f5780601f106116f45761010080835404028352916020019161171f565b820191906000526020600020905b81548152906001019060200180831161170257829003601f168201915b50505050509a509c509c509c509c509c509c509c509c509c509c509c509c509c50909192939495969798999a9b9c565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561180a5780601f106117df5761010080835404028352916020019161180a565b820191906000526020600020905b8154815290600101906020018083116117ed57829003601f168201915b505050505081565b6060600080600080600080876001600980549050011161189a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f496e646578206973206f7574206f662072616e67652e0000000000000000000081525060200191505060405180910390fd5b6000600989815481106118a957fe5b906000526020600020906008020190508060000181600101548260030154836005015484600601548560070160009054906101000a900460ff168660040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16868054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119c75780601f1061199c576101008083540402835291602001916119c7565b820191906000526020600020905b8154815290600101906020018083116119aa57829003601f168201915b50505050509650975097509750975097509750975050919395979092949650565b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a8d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806125a56023913960400191505060405180910390fd5b60065460045414611ae9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260448152602001806126996044913960600191505060405180910390fd5b6000600d60006101000a81548160ff021916908315150217905550565b60065481565b60055481565b60035481565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611bae5780601f10611b8357610100808354040283529160200191611bae565b820191906000526020600020905b815481529060010190602001808311611b9157829003601f168201915b505050505081565b600a5481565b600c5481565b60078181548110611bcf57fe5b90600052602060002090600202016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b60086020528060005260406000206000915090505481565b600b5481565b60011515600d60009054906101000a900460ff16151514611cba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e747261637420697320636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611d52576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806125c86022913960400191505060405180910390fd5b60008111611dab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806126236021913960400191505060405180910390fd5b6009805490508110611e25576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f46756e64205265717565737420646f6e27742065786973742e0000000000000081525060200191505060405180910390fd5b600160098281548110611e3457fe5b906000526020600020906008020160040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060098181548110611ea657fe5b90600052602060002090600802016005016000815480929190600101919050555050565b600060011515600d60009054906101000a900460ff16151514611f55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e747261637420697320636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b6003546004541080611f68575042600c54115b611fda576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f446f6e6174696f6e2063616e6e6f742062652077697468647261776e0000000081525060200191505060405180910390fd5b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008111612077576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001806125ea6039913960400191505060405180910390fd5b60006007828154811061208657fe5b90600052602060002090600202016001015490506000811115612196576000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600782815481106120f557fe5b9060005260206000209060020201600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560018201600090555050806004600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561218b573d6000803e3d6000fd5b50809250505061219d565b6000925050505b90565b60011515600d60009054906101000a900460ff16151514612229576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e747261637420697320636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b60003414156122a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f416d6f756e74206d7573742062652067726561746572207468616e207a65726f81525060200191505060405180910390fd5b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008114156123e6576001905080600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760405180604001604052803373ffffffffffffffffffffffffffffffffffffffff168152602001348152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505050612430565b6000600782815481106123f557fe5b90600052602060002090600202016001015490503481016007838154811061241957fe5b906000526020600020906002020160010181905550505b3460046000828254019250508190555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061248457805160ff19168380011785556124b2565b828001600101855582156124b2579182015b828111156124b1578251825591602001919060010190612496565b5b5090506124bf91906124c3565b5090565b6124e591905b808211156124e15760008160009055506001016124c9565b5090565b9056fe43616d706169676e20636f756c646e277420726561636865642069747320676f616c2e54686572652073686f756c6420626520657175616c206e6f2e206f6620726563697069656e74732061646472657373657320616e6420616d6f756e747352657175657374206d75737420636f6e7461696e2061746c65617374206f6e6520726563697069656e7443616d706169676e20646f6e2774206861766520656e6f7567682066756e647320666f7220796f757220726571756573742e4f6e6c79204d616e616765722063616e2063616c6c20746869732066756e6374696f6e4f6e6c7920446f6e6f722063616e2063616c6c20746869732066756e6374696f6e73596f75206861766520746f206265206120646f6e6f7220696e206f7264657220746f20776974686472617720796f757220646f6e6174696f6e496e6465782073686f756c642062652067726561746572207468616e207a65726f546f74616c20616d6f756e742064656c65676174656420746f20726563697069656e7473206d75737420626520657175616c20746f2074686520746f74616c20616d6f756e7420696e20746865207265717565737443616d706169676e2063616e6e6f7420626520636c6f7365642c2062656361757365206974207374696c6c2068617320736f6d6520756e7370656e6465642066756e6473a265627a7a723158203354e64b6629497e4dedf0da004c5f49deee4d3c8eff75143459a26de090479364736f6c63430005100032496e697469616c20616d6f756e7420676f616c20206d7573742062652067726561746572207468616e207a65726f43616d706169676e2073746172742074696d65206d757374206265206c657373207468616e20656e642074696d652ea265627a7a72315820afd89288c02b11cf1b929f07d9e12b7d81a1b1dfdb246eb906f544a2154d004464736f6c63430005100032",
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c8063339d50a51461005c5780634acb9d4f146100ca5780637e6253da14610129578063a3012d5314610147578063ec8e0ac1146102d7575b600080fd5b6100886004803603602081101561007257600080fd5b8101908080359060200190929190505050610321565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100d261035d565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156101155780820151818401526020810190506100fa565b505050509050019250505060405180910390f35b6101316103eb565b6040518082815260200191505060405180910390f35b6102d5600480360360c081101561015d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561019a57600080fd5b8201836020820111156101ac57600080fd5b803590602001918460018302840111640100000000831117156101ce57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561023157600080fd5b82018360208201111561024357600080fd5b8035906020019184600183028401116401000000008311171561026557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190803590602001909291905050506103f7565b005b6102df6105bc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000818154811061032e57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060008054806020026020016040519081016040528092919081815260200182805480156103e157602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610397575b5050505050905090565b60008080549050905090565b600086868686868660405161040b90610602565b808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001868152602001858152602001848152602001838103835288818151815260200191508051906020019080838360005b83811015610490578082015181840152602081019050610475565b50505050905090810190601f1680156104bd5780820380516001836020036101000a031916815260200191505b50838103825287818151815260200191508051906020019080838360005b838110156104f65780820151818401526020810190506104db565b50505050905090810190601f1680156105235780820380516001836020036101000a031916815260200191505b5098505050505050505050604051809103906000f08015801561054a573d6000803e3d6000fd5b50905060008190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050505050565b600080600160008054905003815481106105d257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b612c28806106108339019056fe60806040523480156200001157600080fd5b5060405162002c2838038062002c28833981810160405260c08110156200003757600080fd5b8101908080519060200190929190805160405193929190846401000000008211156200006257600080fd5b838201915060208201858111156200007957600080fd5b82518660018202830111640100000000821117156200009757600080fd5b8083526020830192505050908051906020019080838360005b83811015620000cd578082015181840152602081019050620000b0565b50505050905090810190601f168015620000fb5780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011f57600080fd5b838201915060208201858111156200013657600080fd5b82518660018202830111640100000000821117156200015457600080fd5b8083526020830192505050908051906020019080838360005b838110156200018a5780820151818401526020810190506200016d565b50505050905090810190601f168015620001b85780820380516001836020036101000a031916815260200191505b506040526020018051906020019092919080519060200190929190805190602001909291905050508181116200023a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018062002bf9602f913960400191505060405180910390fd5b6000831162000295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018062002bcb602e913960400191505060405180910390fd5b856000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508460019080519060200190620002ed929190620003fb565b50836002908051906020019062000306929190620003fb565b508260038190555081600b8190555080600c819055506203f480600a819055506001600d60006101000a81548160ff02191690831515021790555060076040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505050505050505050620004aa565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200043e57805160ff19168380011785556200046f565b828001600101855582156200046f579182015b828111156200046e57825182559160200191906001019062000451565b5b5090506200047e919062000482565b5090565b620004a791905b80821115620004a357600081600090555060010162000489565b5090565b90565b61271180620004ba6000396000f3fe6080604052600436106101355760003560e01c806360713609116100ab578063a96271361161006f578063a9627136146108c8578063ca0cdea81461094a578063cf09e0d0146109af578063d2765c94146109da578063e81e1ccc14610a15578063ed88c68e14610a4057610135565b8063607136091461078c5780636a3d9a4a146107b75780637284e416146107e2578063777016fb146108725780639ef27b001461089d57610135565b80634051ddac116100fd5780634051ddac14610404578063481c6a751461057d5780634a79d50c146105d45780634dfa84341461066457806351b42b001461074a5780635c8d71521461076157610135565b80631b0f5fc21461013a57806321464bfe1461017557806322f3e2d4146101b0578063332f7acf146101df578063372bfd9c1461020a575b600080fd5b34801561014657600080fd5b506101736004803603602081101561015d57600080fd5b8101908080359060200190929190505050610a4a565b005b34801561018157600080fd5b506101ae6004803603602081101561019857600080fd5b8101908080359060200190929190505050610cc9565b005b3480156101bc57600080fd5b506101c5610fbb565b604051808215151515815260200191505060405180910390f35b3480156101eb57600080fd5b506101f4610fce565b6040518082815260200191505060405180910390f35b34801561021657600080fd5b506104026004803603608081101561022d57600080fd5b810190808035906020019064010000000081111561024a57600080fd5b82018360208201111561025c57600080fd5b8035906020019184600183028401116401000000008311171561027e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803590602001906401000000008111156102eb57600080fd5b8201836020820111156102fd57600080fd5b8035906020019184602083028401116401000000008311171561031f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561037f57600080fd5b82018360208201111561039157600080fd5b803590602001918460208302840111640100000000831117156103b357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610fd4565b005b34801561041057600080fd5b50610419611583565b604051808e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001806020018d81526020018c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018415151515815260200183810383528f818151815260200191508051906020019080838360005b838110156104cf5780820151818401526020810190506104b4565b50505050905090810190601f1680156104fc5780820380516001836020036101000a031916815260200191505b5083810382528e818151815260200191508051906020019080838360005b8381101561053557808201518184015260208101905061051a565b50505050905090810190601f1680156105625780820380516001836020036101000a031916815260200191505b509f5050505050505050505050505050505060405180910390f35b34801561058957600080fd5b5061059261174f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105e057600080fd5b506105e9611774565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561062957808201518184015260208101905061060e565b50505050905090810190601f1680156106565780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561067057600080fd5b5061069d6004803603602081101561068757600080fd5b8101908080359060200190929190505050611812565b60405180806020018881526020018781526020018681526020018581526020018415151515815260200183151515158152602001828103825289818151815260200191508051906020019080838360005b838110156107095780820151818401526020810190506106ee565b50505050905090810190601f1680156107365780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b34801561075657600080fd5b5061075f6119e8565b005b34801561076d57600080fd5b50610776611b06565b6040518082815260200191505060405180910390f35b34801561079857600080fd5b506107a1611b0c565b6040518082815260200191505060405180910390f35b3480156107c357600080fd5b506107cc611b12565b6040518082815260200191505060405180910390f35b3480156107ee57600080fd5b506107f7611b18565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561083757808201518184015260208101905061081c565b50505050905090810190601f1680156108645780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561087e57600080fd5b50610887611bb6565b6040518082815260200191505060405180910390f35b3480156108a957600080fd5b506108b2611bbc565b6040518082815260200191505060405180910390f35b3480156108d457600080fd5b50610901600480360360208110156108eb57600080fd5b8101908080359060200190929190505050611bc2565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b34801561095657600080fd5b506109996004803603602081101561096d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c13565b6040518082815260200191505060405180910390f35b3480156109bb57600080fd5b506109c4611c2b565b6040518082815260200191505060405180910390f35b3480156109e657600080fd5b50610a13600480360360208110156109fd57600080fd5b8101908080359060200190929190505050611c31565b005b348015610a2157600080fd5b50610a2a611eca565b6040518082815260200191505060405180910390f35b610a486121a0565b005b60011515600d60009054906101000a900460ff16151514610ad3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e747261637420697320636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b78576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806125a56023913960400191505060405180910390fd5b600060098281548110610b8757fe5b9060005260206000209060080201905042600a54826006015401118015610bb657506007805490508160050154105b8015610bd157508060070160009054906101000a900460ff16155b15610cc55760018160070160006101000a81548160ff0219169083151502179055508060010154600560008282540392505081905550806001015460066000828254019250508190555060008090505b8160030154811015610cc357600082600201600083815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc82600101549081150290604051600060405180830381858888f19350505050158015610cb4573d6000803e3d6000fd5b50508080600101915050610c21565b505b5050565b60011515600d60009054906101000a900460ff16151514610d52576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e747261637420697320636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610dea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806125c86022913960400191505060405180910390fd5b60008111610e43576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806126236021913960400191505060405180910390fd5b6009805490508110610ebd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f46756e64205265717565737420646f6e27742065786973742e0000000000000081525060200191505060405180910390fd5b600060098281548110610ecc57fe5b906000526020600020906008020160040190508060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610fb75760008160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060098281548110610f9457fe5b906000526020600020906008020160050160008154809291906001900391905055505b5050565b600d60009054906101000a900460ff1681565b60045481565b60011515600d60009054906101000a900460ff1615151461105d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e747261637420697320636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611102576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806125a56023913960400191505060405180910390fd5b42600c54118015611117575060035460045410155b61116c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806124e96023913960400191505060405180910390fd5b600083116111e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f416d6f756e742063616e6e6f74206265207a65726f2e0000000000000000000081525060200191505060405180910390fd5b600082511180156111f4575060008151115b611249576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612549602a913960400191505060405180910390fd5b80518251146112a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d81526020018061250c603d913960400191505060405180910390fd5b8260055460065460045403031015611306576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806125736032913960400191505060405180910390fd5b600080905060005b825181101561133c5782818151811061132357fe5b602002602001015182019150808060010191505061130e565b50838114611395576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260558152602001806126446055913960600191505060405180910390fd5b60096040518060c00160405280878152602001868152602001600081526020016000815260200142815260200160001515815250908060018154018082558091505090600182039060005260206000209060080201600090919290919091506000820151816000019080519060200190611410929190612443565b506020820151816001015560408201518160030155606082015181600501556080820151816006015560a08201518160070160006101000a81548160ff021916908315150217905550505050600060096001600980549050038154811061147357fe5b90600052602060002090600802019050600081600201905060008090505b85518110156115725760405180604001604052808783815181106114b157fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1681526020018683815181106114e057fe5b602002602001015181525082600083815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015590505082600301600081548092919060010191905055508080600101915050611491565b508560058190555050505050505050565b60006060806000806000806000806000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016002600354600454600554600654600a54600b54600c54600780549050600980549050600d60009054906101000a900460ff168b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116835780601f1061165857610100808354040283529160200191611683565b820191906000526020600020905b81548152906001019060200180831161166657829003601f168201915b50505050509b508a8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561171f5780601f106116f45761010080835404028352916020019161171f565b820191906000526020600020905b81548152906001019060200180831161170257829003601f168201915b50505050509a509c509c509c509c509c509c509c509c509c509c509c509c509c50909192939495969798999a9b9c565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561180a5780601f106117df5761010080835404028352916020019161180a565b820191906000526020600020905b8154815290600101906020018083116117ed57829003601f168201915b505050505081565b6060600080600080600080876001600980549050011161189a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f496e646578206973206f7574206f662072616e67652e0000000000000000000081525060200191505060405180910390fd5b6000600989815481106118a957fe5b906000526020600020906008020190508060000181600101548260030154836005015484600601548560070160009054906101000a900460ff168660040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16868054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119c75780601f1061199c576101008083540402835291602001916119c7565b820191906000526020600020905b8154815290600101906020018083116119aa57829003601f168201915b50505050509650975097509750975097509750975050919395979092949650565b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a8d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806125a56023913960400191505060405180910390fd5b60065460045414611ae9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260448152602001806126996044913960600191505060405180910390fd5b6000600d60006101000a81548160ff021916908315150217905550565b60065481565b60055481565b60035481565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611bae5780601f10611b8357610100808354040283529160200191611bae565b820191906000526020600020905b815481529060010190602001808311611b9157829003601f168201915b505050505081565b600a5481565b600c5481565b60078181548110611bcf57fe5b90600052602060002090600202016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b60086020528060005260406000206000915090505481565b600b5481565b60011515600d60009054906101000a900460ff16151514611cba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e747261637420697320636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611d52576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806125c86022913960400191505060405180910390fd5b60008111611dab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806126236021913960400191505060405180910390fd5b6009805490508110611e25576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f46756e64205265717565737420646f6e27742065786973742e0000000000000081525060200191505060405180910390fd5b600160098281548110611e3457fe5b906000526020600020906008020160040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060098181548110611ea657fe5b90600052602060002090600802016005016000815480929190600101919050555050565b600060011515600d60009054906101000a900460ff16151514611f55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e747261637420697320636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b6003546004541080611f68575042600c54115b611fda576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f446f6e6174696f6e2063616e6e6f742062652077697468647261776e0000000081525060200191505060405180910390fd5b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008111612077576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001806125ea6039913960400191505060405180910390fd5b60006007828154811061208657fe5b90600052602060002090600202016001015490506000811115612196576000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600782815481106120f557fe5b9060005260206000209060020201600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560018201600090555050806004600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561218b573d6000803e3d6000fd5b50809250505061219d565b6000925050505b90565b60011515600d60009054906101000a900460ff16151514612229576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e747261637420697320636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b60003414156122a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f416d6f756e74206d7573742062652067726561746572207468616e207a65726f81525060200191505060405180910390fd5b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008114156123e6576001905080600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760405180604001604052803373ffffffffffffffffffffffffffffffffffffffff168152602001348152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505050612430565b6000600782815481106123f557fe5b90600052602060002090600202016001015490503481016007838154811061241957fe5b906000526020600020906002020160010181905550505b3460046000828254019250508190555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061248457805160ff19168380011785556124b2565b828001600101855582156124b2579182015b828111156124b1578251825591602001919060010190612496565b5b5090506124bf91906124c3565b5090565b6124e591905b808211156124e15760008160009055506001016124c9565b5090565b9056fe43616d706169676e20636f756c646e277420726561636865642069747320676f616c2e54686572652073686f756c6420626520657175616c206e6f2e206f6620726563697069656e74732061646472657373657320616e6420616d6f756e747352657175657374206d75737420636f6e7461696e2061746c65617374206f6e6520726563697069656e7443616d706169676e20646f6e2774206861766520656e6f7567682066756e647320666f7220796f757220726571756573742e4f6e6c79204d616e616765722063616e2063616c6c20746869732066756e6374696f6e4f6e6c7920446f6e6f722063616e2063616c6c20746869732066756e6374696f6e73596f75206861766520746f206265206120646f6e6f7220696e206f7264657220746f20776974686472617720796f757220646f6e6174696f6e496e6465782073686f756c642062652067726561746572207468616e207a65726f546f74616c20616d6f756e742064656c65676174656420746f20726563697069656e7473206d75737420626520657175616c20746f2074686520746f74616c20616d6f756e7420696e20746865207265717565737443616d706169676e2063616e6e6f7420626520636c6f7365642c2062656361757365206974207374696c6c2068617320736f6d6520756e7370656e6465642066756e6473a265627a7a723158203354e64b6629497e4dedf0da004c5f49deee4d3c8eff75143459a26de090479364736f6c63430005100032496e697469616c20616d6f756e7420676f616c20206d7573742062652067726561746572207468616e207a65726f43616d706169676e2073746172742074696d65206d757374206265206c657373207468616e20656e642074696d652ea265627a7a72315820afd89288c02b11cf1b929f07d9e12b7d81a1b1dfdb246eb906f544a2154d004464736f6c63430005100032",
+ "sourceMap": "146:948:1:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;146:948:1;;;;;;;",
+ "deployedSourceMap": "146:948:1:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;146:948:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;225:34;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;225:34:1;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;833:112;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;833:112:1;;;;;;;;;;;;;;;;;716:105;;;:::i;:::-;;;;;;;;;;;;;;;;;;;302:402;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;302:402:1;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;302:402:1;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;302:402:1;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;302:402:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;302:402:1;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;302:402:1;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;302:402:1;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;302:402:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;302:402:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;957:134;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;225:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;833:112::-;885:16;920:17;913:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;833:112;:::o;716:105::-;765:4;789:17;:24;;;;782:31;;716:105;:::o;302:402::-;529:20;566:8;576:6;585:12;599:18;619:10;631:9;552:89;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;552:89:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;552:89:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;552:89:1;529:112;;652:17;683:11;652:44;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;652:44:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;302:402;;;;;;;:::o;957:134::-;1012:7;1038:17;1081:1;1056:17;:24;;;;:26;1038:45;;;;;;;;;;;;;;;;;;;;;;;;;1031:52;;957:134;:::o;146:948::-;;;;;;;;:::o",
+ "source": "pragma solidity ^0.5.16;\r\nimport \"./Campaign.sol\";\r\n\r\n\r\n//Campaign factory: This contract is used to deploy and keep track of deployed Campaigns\r\ncontract CampaignFactory{\r\n \r\n //list of all the deployed Campaigns\r\n address[] public deployedCampaigns;\r\n \r\n //deploys a new Campaign\r\n function createCampaign(\r\n address _manager, \r\n string memory _title, \r\n string memory _description, \r\n uint _initialAmountGoal, \r\n uint _createdAt,\r\n uint _closedAt) public {\r\n Campaign newCampaign = new Campaign( _manager, _title, _description, _initialAmountGoal, _createdAt, _closedAt);\r\n deployedCampaigns.push(address(newCampaign));\r\n }\r\n \r\n function getCampaignsCount() public view returns(uint) {\r\n return deployedCampaigns.length;\r\n }\r\n \r\n function getDeployedCampaigns() public view returns(address[] memory){\r\n return deployedCampaigns;\r\n }\r\n \r\n function getLastDeployedContract() public view returns(address){\r\n return deployedCampaigns[deployedCampaigns.length-1];\r\n }\r\n}",
+ "sourcePath": "F:/Software Development/React Projects/de-care/ethereum/contracts/CampaignFactory.sol",
+ "ast": {
+ "absolutePath": "/F/Software Development/React Projects/de-care/ethereum/contracts/CampaignFactory.sol",
+ "exportedSymbols": {
+ "CampaignFactory": [850]
+ },
+ "id": 851,
+ "nodeType": "SourceUnit",
"nodes": [
- {
- "constant": false,
- "id": 782,
- "name": "deployedCampaigns",
- "nodeType": "VariableDeclaration",
- "scope": 850,
- "src": "225:34:1",
- "stateVariable": true,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_array$_t_address_$dyn_storage",
- "typeString": "address[]"
+ {
+ "id": 778,
+ "literals": ["solidity", "^", "0.5", ".16"],
+ "nodeType": "PragmaDirective",
+ "src": "0:24:1"
},
- "typeName": {
- "baseType": {
- "id": 780,
- "name": "address",
- "nodeType": "ElementaryTypeName",
- "src": "225:7:1",
- "stateMutability": "nonpayable",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- "id": 781,
- "length": null,
- "nodeType": "ArrayTypeName",
- "src": "225:9:1",
- "typeDescriptions": {
- "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
- "typeString": "address[]"
- }
+ {
+ "absolutePath": "/F/Software Development/React Projects/de-care/ethereum/contracts/Campaign.sol",
+ "file": "./Campaign.sol",
+ "id": 779,
+ "nodeType": "ImportDirective",
+ "scope": 851,
+ "sourceUnit": 777,
+ "src": "26:24:1",
+ "symbolAliases": [],
+ "unitAlias": ""
},
- "value": null,
- "visibility": "public"
- },
- {
- "body": {
- "id": 817,
- "nodeType": "Block",
- "src": "518:186:1",
- "statements": [
- {
- "assignments": [
- 798
- ],
- "declarations": [
+ {
+ "baseContracts": [],
+ "contractDependencies": [776],
+ "contractKind": "contract",
+ "documentation": null,
+ "fullyImplemented": true,
+ "id": 850,
+ "linearizedBaseContracts": [850],
+ "name": "CampaignFactory",
+ "nodeType": "ContractDefinition",
+ "nodes": [
{
- "constant": false,
- "id": 798,
- "name": "newCampaign",
- "nodeType": "VariableDeclaration",
- "scope": 817,
- "src": "529:20:1",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_contract$_Campaign_$776",
- "typeString": "contract Campaign"
- },
- "typeName": {
- "contractScope": null,
- "id": 797,
- "name": "Campaign",
- "nodeType": "UserDefinedTypeName",
- "referencedDeclaration": 776,
- "src": "529:8:1",
- "typeDescriptions": {
- "typeIdentifier": "t_contract$_Campaign_$776",
- "typeString": "contract Campaign"
- }
- },
- "value": null,
- "visibility": "internal"
- }
- ],
- "id": 808,
- "initialValue": {
- "argumentTypes": null,
- "arguments": [
- {
- "argumentTypes": null,
- "id": 801,
- "name": "_manager",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 784,
- "src": "566:8:1",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- {
- "argumentTypes": null,
- "id": 802,
- "name": "_title",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 786,
- "src": "576:6:1",
- "typeDescriptions": {
- "typeIdentifier": "t_string_memory_ptr",
- "typeString": "string memory"
- }
- },
- {
- "argumentTypes": null,
- "id": 803,
- "name": "_description",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 788,
- "src": "585:12:1",
- "typeDescriptions": {
- "typeIdentifier": "t_string_memory_ptr",
- "typeString": "string memory"
- }
- },
- {
- "argumentTypes": null,
- "id": 804,
- "name": "_initialAmountGoal",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 790,
- "src": "599:18:1",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- {
- "argumentTypes": null,
- "id": 805,
- "name": "_createdAt",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 792,
- "src": "619:10:1",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- {
- "argumentTypes": null,
- "id": 806,
- "name": "_closedAt",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 794,
- "src": "631:9:1",
+ "constant": false,
+ "id": 782,
+ "name": "deployedCampaigns",
+ "nodeType": "VariableDeclaration",
+ "scope": 850,
+ "src": "225:34:1",
+ "stateVariable": true,
+ "storageLocation": "default",
"typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_address",
- "typeString": "address"
+ "typeIdentifier": "t_array$_t_address_$dyn_storage",
+ "typeString": "address[]"
},
- {
- "typeIdentifier": "t_string_memory_ptr",
- "typeString": "string memory"
+ "typeName": {
+ "baseType": {
+ "id": 780,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "225:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 781,
+ "length": null,
+ "nodeType": "ArrayTypeName",
+ "src": "225:9:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
+ "typeString": "address[]"
+ }
},
- {
- "typeIdentifier": "t_string_memory_ptr",
- "typeString": "string memory"
+ "value": null,
+ "visibility": "public"
+ },
+ {
+ "body": {
+ "id": 817,
+ "nodeType": "Block",
+ "src": "518:186:1",
+ "statements": [
+ {
+ "assignments": [798],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 798,
+ "name": "newCampaign",
+ "nodeType": "VariableDeclaration",
+ "scope": 817,
+ "src": "529:20:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_Campaign_$776",
+ "typeString": "contract Campaign"
+ },
+ "typeName": {
+ "contractScope": null,
+ "id": 797,
+ "name": "Campaign",
+ "nodeType": "UserDefinedTypeName",
+ "referencedDeclaration": 776,
+ "src": "529:8:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_Campaign_$776",
+ "typeString": "contract Campaign"
+ }
+ },
+ "value": null,
+ "visibility": "internal"
+ }
+ ],
+ "id": 808,
+ "initialValue": {
+ "argumentTypes": null,
+ "arguments": [
+ {
+ "argumentTypes": null,
+ "id": 801,
+ "name": "_manager",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 784,
+ "src": "566:8:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "argumentTypes": null,
+ "id": 802,
+ "name": "_title",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 786,
+ "src": "576:6:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ {
+ "argumentTypes": null,
+ "id": 803,
+ "name": "_description",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 788,
+ "src": "585:12:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ {
+ "argumentTypes": null,
+ "id": 804,
+ "name": "_initialAmountGoal",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 790,
+ "src": "599:18:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "argumentTypes": null,
+ "id": 805,
+ "name": "_createdAt",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 792,
+ "src": "619:10:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "argumentTypes": null,
+ "id": 806,
+ "name": "_closedAt",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 794,
+ "src": "631:9:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ },
+ {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 800,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "NewExpression",
+ "src": "552:12:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_contract$_Campaign_$776_$",
+ "typeString": "function (address,string memory,string memory,uint256,uint256,uint256) returns (contract Campaign)"
+ },
+ "typeName": {
+ "contractScope": null,
+ "id": 799,
+ "name": "Campaign",
+ "nodeType": "UserDefinedTypeName",
+ "referencedDeclaration": 776,
+ "src": "556:8:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_Campaign_$776",
+ "typeString": "contract Campaign"
+ }
+ }
+ },
+ "id": 807,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "552:89:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_Campaign_$776",
+ "typeString": "contract Campaign"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "529:112:1"
+ },
+ {
+ "expression": {
+ "argumentTypes": null,
+ "arguments": [
+ {
+ "argumentTypes": null,
+ "arguments": [
+ {
+ "argumentTypes": null,
+ "id": 813,
+ "name": "newCampaign",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 798,
+ "src": "683:11:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_Campaign_$776",
+ "typeString": "contract Campaign"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_contract$_Campaign_$776",
+ "typeString": "contract Campaign"
+ }
+ ],
+ "id": 812,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "675:7:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": "address"
+ },
+ "id": 814,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "675:20:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "expression": {
+ "argumentTypes": null,
+ "id": 809,
+ "name": "deployedCampaigns",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 782,
+ "src": "652:17:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_address_$dyn_storage",
+ "typeString": "address[] storage ref"
+ }
+ },
+ "id": 811,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "push",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": null,
+ "src": "652:22:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$",
+ "typeString": "function (address) returns (uint256)"
+ }
+ },
+ "id": 815,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "652:44:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 816,
+ "nodeType": "ExpressionStatement",
+ "src": "652:44:1"
+ }
+ ]
},
- {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
+ "documentation": null,
+ "id": 818,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "createCampaign",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 795,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 784,
+ "name": "_manager",
+ "nodeType": "VariableDeclaration",
+ "scope": 818,
+ "src": "336:16:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 783,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "336:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "value": null,
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 786,
+ "name": "_title",
+ "nodeType": "VariableDeclaration",
+ "scope": 818,
+ "src": "364:20:1",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 785,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "364:6:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "value": null,
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 788,
+ "name": "_description",
+ "nodeType": "VariableDeclaration",
+ "scope": 818,
+ "src": "396:26:1",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 787,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "396:6:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "value": null,
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 790,
+ "name": "_initialAmountGoal",
+ "nodeType": "VariableDeclaration",
+ "scope": 818,
+ "src": "434:23:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 789,
+ "name": "uint",
+ "nodeType": "ElementaryTypeName",
+ "src": "434:4:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "value": null,
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 792,
+ "name": "_createdAt",
+ "nodeType": "VariableDeclaration",
+ "scope": 818,
+ "src": "469:15:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 791,
+ "name": "uint",
+ "nodeType": "ElementaryTypeName",
+ "src": "469:4:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "value": null,
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 794,
+ "name": "_closedAt",
+ "nodeType": "VariableDeclaration",
+ "scope": 818,
+ "src": "495:14:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 793,
+ "name": "uint",
+ "nodeType": "ElementaryTypeName",
+ "src": "495:4:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "value": null,
+ "visibility": "internal"
+ }
+ ],
+ "src": "325:185:1"
},
- {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
+ "returnParameters": {
+ "id": 796,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "518:0:1"
},
- {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- ],
- "id": 800,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "nodeType": "NewExpression",
- "src": "552:12:1",
- "typeDescriptions": {
- "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_contract$_Campaign_$776_$",
- "typeString": "function (address,string memory,string memory,uint256,uint256,uint256) returns (contract Campaign)"
- },
- "typeName": {
- "contractScope": null,
- "id": 799,
- "name": "Campaign",
- "nodeType": "UserDefinedTypeName",
- "referencedDeclaration": 776,
- "src": "556:8:1",
- "typeDescriptions": {
- "typeIdentifier": "t_contract$_Campaign_$776",
- "typeString": "contract Campaign"
- }
- }
+ "scope": 850,
+ "src": "302:402:1",
+ "stateMutability": "nonpayable",
+ "superFunction": null,
+ "visibility": "public"
},
- "id": 807,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "kind": "functionCall",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "552:89:1",
- "typeDescriptions": {
- "typeIdentifier": "t_contract$_Campaign_$776",
- "typeString": "contract Campaign"
- }
- },
- "nodeType": "VariableDeclarationStatement",
- "src": "529:112:1"
- },
- {
- "expression": {
- "argumentTypes": null,
- "arguments": [
- {
- "argumentTypes": null,
- "arguments": [
- {
- "argumentTypes": null,
- "id": 813,
- "name": "newCampaign",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 798,
- "src": "683:11:1",
- "typeDescriptions": {
- "typeIdentifier": "t_contract$_Campaign_$776",
- "typeString": "contract Campaign"
- }
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_contract$_Campaign_$776",
- "typeString": "contract Campaign"
- }
- ],
- "id": 812,
- "isConstant": false,
- "isLValue": false,
- "isPure": true,
- "lValueRequested": false,
- "nodeType": "ElementaryTypeNameExpression",
- "src": "675:7:1",
- "typeDescriptions": {
- "typeIdentifier": "t_type$_t_address_$",
- "typeString": "type(address)"
- },
- "typeName": "address"
+ {
+ "body": {
+ "id": 826,
+ "nodeType": "Block",
+ "src": "771:50:1",
+ "statements": [
+ {
+ "expression": {
+ "argumentTypes": null,
+ "expression": {
+ "argumentTypes": null,
+ "id": 823,
+ "name": "deployedCampaigns",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 782,
+ "src": "789:17:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_address_$dyn_storage",
+ "typeString": "address[] storage ref"
+ }
+ },
+ "id": 824,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "length",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": null,
+ "src": "789:24:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "functionReturnParameters": 822,
+ "id": 825,
+ "nodeType": "Return",
+ "src": "782:31:1"
+ }
+ ]
},
- "id": 814,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "kind": "typeConversion",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "675:20:1",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- ],
- "expression": {
- "argumentTypes": null,
- "id": 809,
- "name": "deployedCampaigns",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 782,
- "src": "652:17:1",
- "typeDescriptions": {
- "typeIdentifier": "t_array$_t_address_$dyn_storage",
- "typeString": "address[] storage ref"
- }
- },
- "id": 811,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "memberName": "push",
- "nodeType": "MemberAccess",
- "referencedDeclaration": null,
- "src": "652:22:1",
- "typeDescriptions": {
- "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$",
- "typeString": "function (address) returns (uint256)"
- }
- },
- "id": 815,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "kind": "functionCall",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "652:44:1",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "id": 816,
- "nodeType": "ExpressionStatement",
- "src": "652:44:1"
- }
- ]
- },
- "documentation": null,
- "id": 818,
- "implemented": true,
- "kind": "function",
- "modifiers": [],
- "name": "createCampaign",
- "nodeType": "FunctionDefinition",
- "parameters": {
- "id": 795,
- "nodeType": "ParameterList",
- "parameters": [
- {
- "constant": false,
- "id": 784,
- "name": "_manager",
- "nodeType": "VariableDeclaration",
- "scope": 818,
- "src": "336:16:1",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- },
- "typeName": {
- "id": 783,
- "name": "address",
- "nodeType": "ElementaryTypeName",
- "src": "336:7:1",
- "stateMutability": "nonpayable",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- "value": null,
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 786,
- "name": "_title",
- "nodeType": "VariableDeclaration",
- "scope": 818,
- "src": "364:20:1",
- "stateVariable": false,
- "storageLocation": "memory",
- "typeDescriptions": {
- "typeIdentifier": "t_string_memory_ptr",
- "typeString": "string"
- },
- "typeName": {
- "id": 785,
- "name": "string",
- "nodeType": "ElementaryTypeName",
- "src": "364:6:1",
- "typeDescriptions": {
- "typeIdentifier": "t_string_storage_ptr",
- "typeString": "string"
- }
- },
- "value": null,
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 788,
- "name": "_description",
- "nodeType": "VariableDeclaration",
- "scope": 818,
- "src": "396:26:1",
- "stateVariable": false,
- "storageLocation": "memory",
- "typeDescriptions": {
- "typeIdentifier": "t_string_memory_ptr",
- "typeString": "string"
- },
- "typeName": {
- "id": 787,
- "name": "string",
- "nodeType": "ElementaryTypeName",
- "src": "396:6:1",
- "typeDescriptions": {
- "typeIdentifier": "t_string_storage_ptr",
- "typeString": "string"
- }
- },
- "value": null,
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 790,
- "name": "_initialAmountGoal",
- "nodeType": "VariableDeclaration",
- "scope": 818,
- "src": "434:23:1",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "typeName": {
- "id": 789,
- "name": "uint",
- "nodeType": "ElementaryTypeName",
- "src": "434:4:1",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "value": null,
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 792,
- "name": "_createdAt",
- "nodeType": "VariableDeclaration",
- "scope": 818,
- "src": "469:15:1",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "typeName": {
- "id": 791,
- "name": "uint",
- "nodeType": "ElementaryTypeName",
- "src": "469:4:1",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "value": null,
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 794,
- "name": "_closedAt",
- "nodeType": "VariableDeclaration",
- "scope": 818,
- "src": "495:14:1",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "typeName": {
- "id": 793,
- "name": "uint",
- "nodeType": "ElementaryTypeName",
- "src": "495:4:1",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "value": null,
- "visibility": "internal"
- }
- ],
- "src": "325:185:1"
- },
- "returnParameters": {
- "id": 796,
- "nodeType": "ParameterList",
- "parameters": [],
- "src": "518:0:1"
- },
- "scope": 850,
- "src": "302:402:1",
- "stateMutability": "nonpayable",
- "superFunction": null,
- "visibility": "public"
- },
- {
- "body": {
- "id": 826,
- "nodeType": "Block",
- "src": "771:50:1",
- "statements": [
- {
- "expression": {
- "argumentTypes": null,
- "expression": {
- "argumentTypes": null,
- "id": 823,
- "name": "deployedCampaigns",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 782,
- "src": "789:17:1",
- "typeDescriptions": {
- "typeIdentifier": "t_array$_t_address_$dyn_storage",
- "typeString": "address[] storage ref"
- }
- },
- "id": 824,
- "isConstant": false,
- "isLValue": true,
- "isPure": false,
- "lValueRequested": false,
- "memberName": "length",
- "nodeType": "MemberAccess",
- "referencedDeclaration": null,
- "src": "789:24:1",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "functionReturnParameters": 822,
- "id": 825,
- "nodeType": "Return",
- "src": "782:31:1"
- }
- ]
- },
- "documentation": null,
- "id": 827,
- "implemented": true,
- "kind": "function",
- "modifiers": [],
- "name": "getCampaignsCount",
- "nodeType": "FunctionDefinition",
- "parameters": {
- "id": 819,
- "nodeType": "ParameterList",
- "parameters": [],
- "src": "742:2:1"
- },
- "returnParameters": {
- "id": 822,
- "nodeType": "ParameterList",
- "parameters": [
- {
- "constant": false,
- "id": 821,
- "name": "",
- "nodeType": "VariableDeclaration",
- "scope": 827,
- "src": "765:4:1",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "typeName": {
- "id": 820,
- "name": "uint",
- "nodeType": "ElementaryTypeName",
- "src": "765:4:1",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "value": null,
- "visibility": "internal"
- }
- ],
- "src": "764:6:1"
- },
- "scope": 850,
- "src": "716:105:1",
- "stateMutability": "view",
- "superFunction": null,
- "visibility": "public"
- },
- {
- "body": {
- "id": 835,
- "nodeType": "Block",
- "src": "902:43:1",
- "statements": [
- {
- "expression": {
- "argumentTypes": null,
- "id": 833,
- "name": "deployedCampaigns",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 782,
- "src": "920:17:1",
- "typeDescriptions": {
- "typeIdentifier": "t_array$_t_address_$dyn_storage",
- "typeString": "address[] storage ref"
- }
- },
- "functionReturnParameters": 832,
- "id": 834,
- "nodeType": "Return",
- "src": "913:24:1"
- }
- ]
- },
- "documentation": null,
- "id": 836,
- "implemented": true,
- "kind": "function",
- "modifiers": [],
- "name": "getDeployedCampaigns",
- "nodeType": "FunctionDefinition",
- "parameters": {
- "id": 828,
- "nodeType": "ParameterList",
- "parameters": [],
- "src": "862:2:1"
- },
- "returnParameters": {
- "id": 832,
- "nodeType": "ParameterList",
- "parameters": [
- {
- "constant": false,
- "id": 831,
- "name": "",
- "nodeType": "VariableDeclaration",
- "scope": 836,
- "src": "885:16:1",
- "stateVariable": false,
- "storageLocation": "memory",
- "typeDescriptions": {
- "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
- "typeString": "address[]"
- },
- "typeName": {
- "baseType": {
- "id": 829,
- "name": "address",
- "nodeType": "ElementaryTypeName",
- "src": "885:7:1",
- "stateMutability": "nonpayable",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- "id": 830,
- "length": null,
- "nodeType": "ArrayTypeName",
- "src": "885:9:1",
- "typeDescriptions": {
- "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
- "typeString": "address[]"
- }
- },
- "value": null,
- "visibility": "internal"
- }
- ],
- "src": "884:18:1"
- },
- "scope": 850,
- "src": "833:112:1",
- "stateMutability": "view",
- "superFunction": null,
- "visibility": "public"
- },
- {
- "body": {
- "id": 848,
- "nodeType": "Block",
- "src": "1020:71:1",
- "statements": [
- {
- "expression": {
- "argumentTypes": null,
- "baseExpression": {
- "argumentTypes": null,
- "id": 841,
- "name": "deployedCampaigns",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 782,
- "src": "1038:17:1",
- "typeDescriptions": {
- "typeIdentifier": "t_array$_t_address_$dyn_storage",
- "typeString": "address[] storage ref"
- }
+ "documentation": null,
+ "id": 827,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "getCampaignsCount",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 819,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "742:2:1"
+ },
+ "returnParameters": {
+ "id": 822,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 821,
+ "name": "",
+ "nodeType": "VariableDeclaration",
+ "scope": 827,
+ "src": "765:4:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 820,
+ "name": "uint",
+ "nodeType": "ElementaryTypeName",
+ "src": "765:4:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "value": null,
+ "visibility": "internal"
+ }
+ ],
+ "src": "764:6:1"
+ },
+ "scope": 850,
+ "src": "716:105:1",
+ "stateMutability": "view",
+ "superFunction": null,
+ "visibility": "public"
},
- "id": 846,
- "indexExpression": {
- "argumentTypes": null,
- "commonType": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "id": 845,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "leftExpression": {
- "argumentTypes": null,
- "expression": {
- "argumentTypes": null,
- "id": 842,
- "name": "deployedCampaigns",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 782,
- "src": "1056:17:1",
- "typeDescriptions": {
- "typeIdentifier": "t_array$_t_address_$dyn_storage",
- "typeString": "address[] storage ref"
- }
+ {
+ "body": {
+ "id": 835,
+ "nodeType": "Block",
+ "src": "902:43:1",
+ "statements": [
+ {
+ "expression": {
+ "argumentTypes": null,
+ "id": 833,
+ "name": "deployedCampaigns",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 782,
+ "src": "920:17:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_address_$dyn_storage",
+ "typeString": "address[] storage ref"
+ }
+ },
+ "functionReturnParameters": 832,
+ "id": 834,
+ "nodeType": "Return",
+ "src": "913:24:1"
+ }
+ ]
},
- "id": 843,
- "isConstant": false,
- "isLValue": true,
- "isPure": false,
- "lValueRequested": false,
- "memberName": "length",
- "nodeType": "MemberAccess",
- "referencedDeclaration": null,
- "src": "1056:24:1",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "nodeType": "BinaryOperation",
- "operator": "-",
- "rightExpression": {
- "argumentTypes": null,
- "hexValue": "31",
- "id": 844,
- "isConstant": false,
- "isLValue": false,
- "isPure": true,
- "kind": "number",
- "lValueRequested": false,
- "nodeType": "Literal",
- "src": "1081:1:1",
- "subdenomination": null,
- "typeDescriptions": {
- "typeIdentifier": "t_rational_1_by_1",
- "typeString": "int_const 1"
+ "documentation": null,
+ "id": 836,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "getDeployedCampaigns",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 828,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "862:2:1"
+ },
+ "returnParameters": {
+ "id": 832,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 831,
+ "name": "",
+ "nodeType": "VariableDeclaration",
+ "scope": 836,
+ "src": "885:16:1",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
+ "typeString": "address[]"
+ },
+ "typeName": {
+ "baseType": {
+ "id": 829,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "885:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 830,
+ "length": null,
+ "nodeType": "ArrayTypeName",
+ "src": "885:9:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
+ "typeString": "address[]"
+ }
+ },
+ "value": null,
+ "visibility": "internal"
+ }
+ ],
+ "src": "884:18:1"
},
- "value": "1"
- },
- "src": "1056:26:1",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
+ "scope": 850,
+ "src": "833:112:1",
+ "stateMutability": "view",
+ "superFunction": null,
+ "visibility": "public"
},
- "isConstant": false,
- "isLValue": true,
- "isPure": false,
- "lValueRequested": false,
- "nodeType": "IndexAccess",
- "src": "1038:45:1",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- "functionReturnParameters": 840,
- "id": 847,
- "nodeType": "Return",
- "src": "1031:52:1"
- }
- ]
- },
- "documentation": null,
- "id": 849,
- "implemented": true,
- "kind": "function",
- "modifiers": [],
- "name": "getLastDeployedContract",
- "nodeType": "FunctionDefinition",
- "parameters": {
- "id": 837,
- "nodeType": "ParameterList",
- "parameters": [],
- "src": "989:2:1"
- },
- "returnParameters": {
- "id": 840,
- "nodeType": "ParameterList",
- "parameters": [
- {
- "constant": false,
- "id": 839,
- "name": "",
- "nodeType": "VariableDeclaration",
- "scope": 849,
- "src": "1012:7:1",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- },
- "typeName": {
- "id": 838,
- "name": "address",
- "nodeType": "ElementaryTypeName",
- "src": "1012:7:1",
- "stateMutability": "nonpayable",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
+ {
+ "body": {
+ "id": 848,
+ "nodeType": "Block",
+ "src": "1020:71:1",
+ "statements": [
+ {
+ "expression": {
+ "argumentTypes": null,
+ "baseExpression": {
+ "argumentTypes": null,
+ "id": 841,
+ "name": "deployedCampaigns",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 782,
+ "src": "1038:17:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_address_$dyn_storage",
+ "typeString": "address[] storage ref"
+ }
+ },
+ "id": 846,
+ "indexExpression": {
+ "argumentTypes": null,
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 845,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "argumentTypes": null,
+ "expression": {
+ "argumentTypes": null,
+ "id": 842,
+ "name": "deployedCampaigns",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 782,
+ "src": "1056:17:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_address_$dyn_storage",
+ "typeString": "address[] storage ref"
+ }
+ },
+ "id": 843,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "length",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": null,
+ "src": "1056:24:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "-",
+ "rightExpression": {
+ "argumentTypes": null,
+ "hexValue": "31",
+ "id": 844,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1081:1:1",
+ "subdenomination": null,
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1_by_1",
+ "typeString": "int_const 1"
+ },
+ "value": "1"
+ },
+ "src": "1056:26:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "1038:45:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "functionReturnParameters": 840,
+ "id": 847,
+ "nodeType": "Return",
+ "src": "1031:52:1"
+ }
+ ]
+ },
+ "documentation": null,
+ "id": 849,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "getLastDeployedContract",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 837,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "989:2:1"
+ },
+ "returnParameters": {
+ "id": 840,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 839,
+ "name": "",
+ "nodeType": "VariableDeclaration",
+ "scope": 849,
+ "src": "1012:7:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 838,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1012:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "value": null,
+ "visibility": "internal"
+ }
+ ],
+ "src": "1011:9:1"
+ },
+ "scope": 850,
+ "src": "957:134:1",
+ "stateMutability": "view",
+ "superFunction": null,
+ "visibility": "public"
}
- },
- "value": null,
- "visibility": "internal"
- }
- ],
- "src": "1011:9:1"
- },
- "scope": 850,
- "src": "957:134:1",
- "stateMutability": "view",
- "superFunction": null,
- "visibility": "public"
- }
+ ],
+ "scope": 851,
+ "src": "146:948:1"
+ }
],
- "scope": 851,
- "src": "146:948:1"
- }
- ],
- "src": "0:1094:1"
- },
- "legacyAST": {
- "absolutePath": "/F/Software Development/React Projects/de-care/ethereum/contracts/CampaignFactory.sol",
- "exportedSymbols": {
- "CampaignFactory": [
- 850
- ]
+ "src": "0:1094:1"
},
- "id": 851,
- "nodeType": "SourceUnit",
- "nodes": [
- {
- "id": 778,
- "literals": [
- "solidity",
- "^",
- "0.5",
- ".16"
- ],
- "nodeType": "PragmaDirective",
- "src": "0:24:1"
- },
- {
- "absolutePath": "/F/Software Development/React Projects/de-care/ethereum/contracts/Campaign.sol",
- "file": "./Campaign.sol",
- "id": 779,
- "nodeType": "ImportDirective",
- "scope": 851,
- "sourceUnit": 777,
- "src": "26:24:1",
- "symbolAliases": [],
- "unitAlias": ""
- },
- {
- "baseContracts": [],
- "contractDependencies": [
- 776
- ],
- "contractKind": "contract",
- "documentation": null,
- "fullyImplemented": true,
- "id": 850,
- "linearizedBaseContracts": [
- 850
- ],
- "name": "CampaignFactory",
- "nodeType": "ContractDefinition",
+ "legacyAST": {
+ "absolutePath": "/F/Software Development/React Projects/de-care/ethereum/contracts/CampaignFactory.sol",
+ "exportedSymbols": {
+ "CampaignFactory": [850]
+ },
+ "id": 851,
+ "nodeType": "SourceUnit",
"nodes": [
- {
- "constant": false,
- "id": 782,
- "name": "deployedCampaigns",
- "nodeType": "VariableDeclaration",
- "scope": 850,
- "src": "225:34:1",
- "stateVariable": true,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_array$_t_address_$dyn_storage",
- "typeString": "address[]"
+ {
+ "id": 778,
+ "literals": ["solidity", "^", "0.5", ".16"],
+ "nodeType": "PragmaDirective",
+ "src": "0:24:1"
},
- "typeName": {
- "baseType": {
- "id": 780,
- "name": "address",
- "nodeType": "ElementaryTypeName",
- "src": "225:7:1",
- "stateMutability": "nonpayable",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- "id": 781,
- "length": null,
- "nodeType": "ArrayTypeName",
- "src": "225:9:1",
- "typeDescriptions": {
- "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
- "typeString": "address[]"
- }
+ {
+ "absolutePath": "/F/Software Development/React Projects/de-care/ethereum/contracts/Campaign.sol",
+ "file": "./Campaign.sol",
+ "id": 779,
+ "nodeType": "ImportDirective",
+ "scope": 851,
+ "sourceUnit": 777,
+ "src": "26:24:1",
+ "symbolAliases": [],
+ "unitAlias": ""
},
- "value": null,
- "visibility": "public"
- },
- {
- "body": {
- "id": 817,
- "nodeType": "Block",
- "src": "518:186:1",
- "statements": [
- {
- "assignments": [
- 798
- ],
- "declarations": [
+ {
+ "baseContracts": [],
+ "contractDependencies": [776],
+ "contractKind": "contract",
+ "documentation": null,
+ "fullyImplemented": true,
+ "id": 850,
+ "linearizedBaseContracts": [850],
+ "name": "CampaignFactory",
+ "nodeType": "ContractDefinition",
+ "nodes": [
{
- "constant": false,
- "id": 798,
- "name": "newCampaign",
- "nodeType": "VariableDeclaration",
- "scope": 817,
- "src": "529:20:1",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_contract$_Campaign_$776",
- "typeString": "contract Campaign"
- },
- "typeName": {
- "contractScope": null,
- "id": 797,
- "name": "Campaign",
- "nodeType": "UserDefinedTypeName",
- "referencedDeclaration": 776,
- "src": "529:8:1",
- "typeDescriptions": {
- "typeIdentifier": "t_contract$_Campaign_$776",
- "typeString": "contract Campaign"
- }
- },
- "value": null,
- "visibility": "internal"
- }
- ],
- "id": 808,
- "initialValue": {
- "argumentTypes": null,
- "arguments": [
- {
- "argumentTypes": null,
- "id": 801,
- "name": "_manager",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 784,
- "src": "566:8:1",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- {
- "argumentTypes": null,
- "id": 802,
- "name": "_title",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 786,
- "src": "576:6:1",
- "typeDescriptions": {
- "typeIdentifier": "t_string_memory_ptr",
- "typeString": "string memory"
- }
- },
- {
- "argumentTypes": null,
- "id": 803,
- "name": "_description",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 788,
- "src": "585:12:1",
- "typeDescriptions": {
- "typeIdentifier": "t_string_memory_ptr",
- "typeString": "string memory"
- }
- },
- {
- "argumentTypes": null,
- "id": 804,
- "name": "_initialAmountGoal",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 790,
- "src": "599:18:1",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- {
- "argumentTypes": null,
- "id": 805,
- "name": "_createdAt",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 792,
- "src": "619:10:1",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- {
- "argumentTypes": null,
- "id": 806,
- "name": "_closedAt",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 794,
- "src": "631:9:1",
+ "constant": false,
+ "id": 782,
+ "name": "deployedCampaigns",
+ "nodeType": "VariableDeclaration",
+ "scope": 850,
+ "src": "225:34:1",
+ "stateVariable": true,
+ "storageLocation": "default",
"typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_address",
- "typeString": "address"
+ "typeIdentifier": "t_array$_t_address_$dyn_storage",
+ "typeString": "address[]"
},
- {
- "typeIdentifier": "t_string_memory_ptr",
- "typeString": "string memory"
+ "typeName": {
+ "baseType": {
+ "id": 780,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "225:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 781,
+ "length": null,
+ "nodeType": "ArrayTypeName",
+ "src": "225:9:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
+ "typeString": "address[]"
+ }
},
- {
- "typeIdentifier": "t_string_memory_ptr",
- "typeString": "string memory"
+ "value": null,
+ "visibility": "public"
+ },
+ {
+ "body": {
+ "id": 817,
+ "nodeType": "Block",
+ "src": "518:186:1",
+ "statements": [
+ {
+ "assignments": [798],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 798,
+ "name": "newCampaign",
+ "nodeType": "VariableDeclaration",
+ "scope": 817,
+ "src": "529:20:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_Campaign_$776",
+ "typeString": "contract Campaign"
+ },
+ "typeName": {
+ "contractScope": null,
+ "id": 797,
+ "name": "Campaign",
+ "nodeType": "UserDefinedTypeName",
+ "referencedDeclaration": 776,
+ "src": "529:8:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_Campaign_$776",
+ "typeString": "contract Campaign"
+ }
+ },
+ "value": null,
+ "visibility": "internal"
+ }
+ ],
+ "id": 808,
+ "initialValue": {
+ "argumentTypes": null,
+ "arguments": [
+ {
+ "argumentTypes": null,
+ "id": 801,
+ "name": "_manager",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 784,
+ "src": "566:8:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "argumentTypes": null,
+ "id": 802,
+ "name": "_title",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 786,
+ "src": "576:6:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ {
+ "argumentTypes": null,
+ "id": 803,
+ "name": "_description",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 788,
+ "src": "585:12:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ {
+ "argumentTypes": null,
+ "id": 804,
+ "name": "_initialAmountGoal",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 790,
+ "src": "599:18:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "argumentTypes": null,
+ "id": 805,
+ "name": "_createdAt",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 792,
+ "src": "619:10:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "argumentTypes": null,
+ "id": 806,
+ "name": "_closedAt",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 794,
+ "src": "631:9:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ },
+ {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 800,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "NewExpression",
+ "src": "552:12:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_contract$_Campaign_$776_$",
+ "typeString": "function (address,string memory,string memory,uint256,uint256,uint256) returns (contract Campaign)"
+ },
+ "typeName": {
+ "contractScope": null,
+ "id": 799,
+ "name": "Campaign",
+ "nodeType": "UserDefinedTypeName",
+ "referencedDeclaration": 776,
+ "src": "556:8:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_Campaign_$776",
+ "typeString": "contract Campaign"
+ }
+ }
+ },
+ "id": 807,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "552:89:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_Campaign_$776",
+ "typeString": "contract Campaign"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "529:112:1"
+ },
+ {
+ "expression": {
+ "argumentTypes": null,
+ "arguments": [
+ {
+ "argumentTypes": null,
+ "arguments": [
+ {
+ "argumentTypes": null,
+ "id": 813,
+ "name": "newCampaign",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 798,
+ "src": "683:11:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_Campaign_$776",
+ "typeString": "contract Campaign"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_contract$_Campaign_$776",
+ "typeString": "contract Campaign"
+ }
+ ],
+ "id": 812,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "675:7:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": "address"
+ },
+ "id": 814,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "675:20:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "expression": {
+ "argumentTypes": null,
+ "id": 809,
+ "name": "deployedCampaigns",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 782,
+ "src": "652:17:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_address_$dyn_storage",
+ "typeString": "address[] storage ref"
+ }
+ },
+ "id": 811,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "push",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": null,
+ "src": "652:22:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$",
+ "typeString": "function (address) returns (uint256)"
+ }
+ },
+ "id": 815,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "652:44:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 816,
+ "nodeType": "ExpressionStatement",
+ "src": "652:44:1"
+ }
+ ]
},
- {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
+ "documentation": null,
+ "id": 818,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "createCampaign",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 795,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 784,
+ "name": "_manager",
+ "nodeType": "VariableDeclaration",
+ "scope": 818,
+ "src": "336:16:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 783,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "336:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "value": null,
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 786,
+ "name": "_title",
+ "nodeType": "VariableDeclaration",
+ "scope": 818,
+ "src": "364:20:1",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 785,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "364:6:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "value": null,
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 788,
+ "name": "_description",
+ "nodeType": "VariableDeclaration",
+ "scope": 818,
+ "src": "396:26:1",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 787,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "396:6:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "value": null,
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 790,
+ "name": "_initialAmountGoal",
+ "nodeType": "VariableDeclaration",
+ "scope": 818,
+ "src": "434:23:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 789,
+ "name": "uint",
+ "nodeType": "ElementaryTypeName",
+ "src": "434:4:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "value": null,
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 792,
+ "name": "_createdAt",
+ "nodeType": "VariableDeclaration",
+ "scope": 818,
+ "src": "469:15:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 791,
+ "name": "uint",
+ "nodeType": "ElementaryTypeName",
+ "src": "469:4:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "value": null,
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 794,
+ "name": "_closedAt",
+ "nodeType": "VariableDeclaration",
+ "scope": 818,
+ "src": "495:14:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 793,
+ "name": "uint",
+ "nodeType": "ElementaryTypeName",
+ "src": "495:4:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "value": null,
+ "visibility": "internal"
+ }
+ ],
+ "src": "325:185:1"
},
- {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
+ "returnParameters": {
+ "id": 796,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "518:0:1"
},
- {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- ],
- "id": 800,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "nodeType": "NewExpression",
- "src": "552:12:1",
- "typeDescriptions": {
- "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_contract$_Campaign_$776_$",
- "typeString": "function (address,string memory,string memory,uint256,uint256,uint256) returns (contract Campaign)"
- },
- "typeName": {
- "contractScope": null,
- "id": 799,
- "name": "Campaign",
- "nodeType": "UserDefinedTypeName",
- "referencedDeclaration": 776,
- "src": "556:8:1",
- "typeDescriptions": {
- "typeIdentifier": "t_contract$_Campaign_$776",
- "typeString": "contract Campaign"
- }
- }
+ "scope": 850,
+ "src": "302:402:1",
+ "stateMutability": "nonpayable",
+ "superFunction": null,
+ "visibility": "public"
},
- "id": 807,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "kind": "functionCall",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "552:89:1",
- "typeDescriptions": {
- "typeIdentifier": "t_contract$_Campaign_$776",
- "typeString": "contract Campaign"
- }
- },
- "nodeType": "VariableDeclarationStatement",
- "src": "529:112:1"
- },
- {
- "expression": {
- "argumentTypes": null,
- "arguments": [
- {
- "argumentTypes": null,
- "arguments": [
- {
- "argumentTypes": null,
- "id": 813,
- "name": "newCampaign",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 798,
- "src": "683:11:1",
- "typeDescriptions": {
- "typeIdentifier": "t_contract$_Campaign_$776",
- "typeString": "contract Campaign"
- }
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_contract$_Campaign_$776",
- "typeString": "contract Campaign"
- }
- ],
- "id": 812,
- "isConstant": false,
- "isLValue": false,
- "isPure": true,
- "lValueRequested": false,
- "nodeType": "ElementaryTypeNameExpression",
- "src": "675:7:1",
- "typeDescriptions": {
- "typeIdentifier": "t_type$_t_address_$",
- "typeString": "type(address)"
- },
- "typeName": "address"
+ {
+ "body": {
+ "id": 826,
+ "nodeType": "Block",
+ "src": "771:50:1",
+ "statements": [
+ {
+ "expression": {
+ "argumentTypes": null,
+ "expression": {
+ "argumentTypes": null,
+ "id": 823,
+ "name": "deployedCampaigns",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 782,
+ "src": "789:17:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_address_$dyn_storage",
+ "typeString": "address[] storage ref"
+ }
+ },
+ "id": 824,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "length",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": null,
+ "src": "789:24:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "functionReturnParameters": 822,
+ "id": 825,
+ "nodeType": "Return",
+ "src": "782:31:1"
+ }
+ ]
},
- "id": 814,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "kind": "typeConversion",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "675:20:1",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- }
- ],
- "expression": {
- "argumentTypes": [
- {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- ],
- "expression": {
- "argumentTypes": null,
- "id": 809,
- "name": "deployedCampaigns",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 782,
- "src": "652:17:1",
- "typeDescriptions": {
- "typeIdentifier": "t_array$_t_address_$dyn_storage",
- "typeString": "address[] storage ref"
- }
- },
- "id": 811,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "memberName": "push",
- "nodeType": "MemberAccess",
- "referencedDeclaration": null,
- "src": "652:22:1",
- "typeDescriptions": {
- "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$",
- "typeString": "function (address) returns (uint256)"
- }
- },
- "id": 815,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "kind": "functionCall",
- "lValueRequested": false,
- "names": [],
- "nodeType": "FunctionCall",
- "src": "652:44:1",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "id": 816,
- "nodeType": "ExpressionStatement",
- "src": "652:44:1"
- }
- ]
- },
- "documentation": null,
- "id": 818,
- "implemented": true,
- "kind": "function",
- "modifiers": [],
- "name": "createCampaign",
- "nodeType": "FunctionDefinition",
- "parameters": {
- "id": 795,
- "nodeType": "ParameterList",
- "parameters": [
- {
- "constant": false,
- "id": 784,
- "name": "_manager",
- "nodeType": "VariableDeclaration",
- "scope": 818,
- "src": "336:16:1",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- },
- "typeName": {
- "id": 783,
- "name": "address",
- "nodeType": "ElementaryTypeName",
- "src": "336:7:1",
- "stateMutability": "nonpayable",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- "value": null,
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 786,
- "name": "_title",
- "nodeType": "VariableDeclaration",
- "scope": 818,
- "src": "364:20:1",
- "stateVariable": false,
- "storageLocation": "memory",
- "typeDescriptions": {
- "typeIdentifier": "t_string_memory_ptr",
- "typeString": "string"
- },
- "typeName": {
- "id": 785,
- "name": "string",
- "nodeType": "ElementaryTypeName",
- "src": "364:6:1",
- "typeDescriptions": {
- "typeIdentifier": "t_string_storage_ptr",
- "typeString": "string"
- }
- },
- "value": null,
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 788,
- "name": "_description",
- "nodeType": "VariableDeclaration",
- "scope": 818,
- "src": "396:26:1",
- "stateVariable": false,
- "storageLocation": "memory",
- "typeDescriptions": {
- "typeIdentifier": "t_string_memory_ptr",
- "typeString": "string"
- },
- "typeName": {
- "id": 787,
- "name": "string",
- "nodeType": "ElementaryTypeName",
- "src": "396:6:1",
- "typeDescriptions": {
- "typeIdentifier": "t_string_storage_ptr",
- "typeString": "string"
- }
- },
- "value": null,
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 790,
- "name": "_initialAmountGoal",
- "nodeType": "VariableDeclaration",
- "scope": 818,
- "src": "434:23:1",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "typeName": {
- "id": 789,
- "name": "uint",
- "nodeType": "ElementaryTypeName",
- "src": "434:4:1",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "value": null,
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 792,
- "name": "_createdAt",
- "nodeType": "VariableDeclaration",
- "scope": 818,
- "src": "469:15:1",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "typeName": {
- "id": 791,
- "name": "uint",
- "nodeType": "ElementaryTypeName",
- "src": "469:4:1",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "value": null,
- "visibility": "internal"
- },
- {
- "constant": false,
- "id": 794,
- "name": "_closedAt",
- "nodeType": "VariableDeclaration",
- "scope": 818,
- "src": "495:14:1",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "typeName": {
- "id": 793,
- "name": "uint",
- "nodeType": "ElementaryTypeName",
- "src": "495:4:1",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "value": null,
- "visibility": "internal"
- }
- ],
- "src": "325:185:1"
- },
- "returnParameters": {
- "id": 796,
- "nodeType": "ParameterList",
- "parameters": [],
- "src": "518:0:1"
- },
- "scope": 850,
- "src": "302:402:1",
- "stateMutability": "nonpayable",
- "superFunction": null,
- "visibility": "public"
- },
- {
- "body": {
- "id": 826,
- "nodeType": "Block",
- "src": "771:50:1",
- "statements": [
- {
- "expression": {
- "argumentTypes": null,
- "expression": {
- "argumentTypes": null,
- "id": 823,
- "name": "deployedCampaigns",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 782,
- "src": "789:17:1",
- "typeDescriptions": {
- "typeIdentifier": "t_array$_t_address_$dyn_storage",
- "typeString": "address[] storage ref"
- }
- },
- "id": 824,
- "isConstant": false,
- "isLValue": true,
- "isPure": false,
- "lValueRequested": false,
- "memberName": "length",
- "nodeType": "MemberAccess",
- "referencedDeclaration": null,
- "src": "789:24:1",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "functionReturnParameters": 822,
- "id": 825,
- "nodeType": "Return",
- "src": "782:31:1"
- }
- ]
- },
- "documentation": null,
- "id": 827,
- "implemented": true,
- "kind": "function",
- "modifiers": [],
- "name": "getCampaignsCount",
- "nodeType": "FunctionDefinition",
- "parameters": {
- "id": 819,
- "nodeType": "ParameterList",
- "parameters": [],
- "src": "742:2:1"
- },
- "returnParameters": {
- "id": 822,
- "nodeType": "ParameterList",
- "parameters": [
- {
- "constant": false,
- "id": 821,
- "name": "",
- "nodeType": "VariableDeclaration",
- "scope": 827,
- "src": "765:4:1",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "typeName": {
- "id": 820,
- "name": "uint",
- "nodeType": "ElementaryTypeName",
- "src": "765:4:1",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "value": null,
- "visibility": "internal"
- }
- ],
- "src": "764:6:1"
- },
- "scope": 850,
- "src": "716:105:1",
- "stateMutability": "view",
- "superFunction": null,
- "visibility": "public"
- },
- {
- "body": {
- "id": 835,
- "nodeType": "Block",
- "src": "902:43:1",
- "statements": [
- {
- "expression": {
- "argumentTypes": null,
- "id": 833,
- "name": "deployedCampaigns",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 782,
- "src": "920:17:1",
- "typeDescriptions": {
- "typeIdentifier": "t_array$_t_address_$dyn_storage",
- "typeString": "address[] storage ref"
- }
- },
- "functionReturnParameters": 832,
- "id": 834,
- "nodeType": "Return",
- "src": "913:24:1"
- }
- ]
- },
- "documentation": null,
- "id": 836,
- "implemented": true,
- "kind": "function",
- "modifiers": [],
- "name": "getDeployedCampaigns",
- "nodeType": "FunctionDefinition",
- "parameters": {
- "id": 828,
- "nodeType": "ParameterList",
- "parameters": [],
- "src": "862:2:1"
- },
- "returnParameters": {
- "id": 832,
- "nodeType": "ParameterList",
- "parameters": [
- {
- "constant": false,
- "id": 831,
- "name": "",
- "nodeType": "VariableDeclaration",
- "scope": 836,
- "src": "885:16:1",
- "stateVariable": false,
- "storageLocation": "memory",
- "typeDescriptions": {
- "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
- "typeString": "address[]"
- },
- "typeName": {
- "baseType": {
- "id": 829,
- "name": "address",
- "nodeType": "ElementaryTypeName",
- "src": "885:7:1",
- "stateMutability": "nonpayable",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- "id": 830,
- "length": null,
- "nodeType": "ArrayTypeName",
- "src": "885:9:1",
- "typeDescriptions": {
- "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
- "typeString": "address[]"
- }
- },
- "value": null,
- "visibility": "internal"
- }
- ],
- "src": "884:18:1"
- },
- "scope": 850,
- "src": "833:112:1",
- "stateMutability": "view",
- "superFunction": null,
- "visibility": "public"
- },
- {
- "body": {
- "id": 848,
- "nodeType": "Block",
- "src": "1020:71:1",
- "statements": [
- {
- "expression": {
- "argumentTypes": null,
- "baseExpression": {
- "argumentTypes": null,
- "id": 841,
- "name": "deployedCampaigns",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 782,
- "src": "1038:17:1",
- "typeDescriptions": {
- "typeIdentifier": "t_array$_t_address_$dyn_storage",
- "typeString": "address[] storage ref"
- }
+ "documentation": null,
+ "id": 827,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "getCampaignsCount",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 819,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "742:2:1"
+ },
+ "returnParameters": {
+ "id": 822,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 821,
+ "name": "",
+ "nodeType": "VariableDeclaration",
+ "scope": 827,
+ "src": "765:4:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 820,
+ "name": "uint",
+ "nodeType": "ElementaryTypeName",
+ "src": "765:4:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "value": null,
+ "visibility": "internal"
+ }
+ ],
+ "src": "764:6:1"
+ },
+ "scope": 850,
+ "src": "716:105:1",
+ "stateMutability": "view",
+ "superFunction": null,
+ "visibility": "public"
},
- "id": 846,
- "indexExpression": {
- "argumentTypes": null,
- "commonType": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- },
- "id": 845,
- "isConstant": false,
- "isLValue": false,
- "isPure": false,
- "lValueRequested": false,
- "leftExpression": {
- "argumentTypes": null,
- "expression": {
- "argumentTypes": null,
- "id": 842,
- "name": "deployedCampaigns",
- "nodeType": "Identifier",
- "overloadedDeclarations": [],
- "referencedDeclaration": 782,
- "src": "1056:17:1",
- "typeDescriptions": {
- "typeIdentifier": "t_array$_t_address_$dyn_storage",
- "typeString": "address[] storage ref"
- }
+ {
+ "body": {
+ "id": 835,
+ "nodeType": "Block",
+ "src": "902:43:1",
+ "statements": [
+ {
+ "expression": {
+ "argumentTypes": null,
+ "id": 833,
+ "name": "deployedCampaigns",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 782,
+ "src": "920:17:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_address_$dyn_storage",
+ "typeString": "address[] storage ref"
+ }
+ },
+ "functionReturnParameters": 832,
+ "id": 834,
+ "nodeType": "Return",
+ "src": "913:24:1"
+ }
+ ]
},
- "id": 843,
- "isConstant": false,
- "isLValue": true,
- "isPure": false,
- "lValueRequested": false,
- "memberName": "length",
- "nodeType": "MemberAccess",
- "referencedDeclaration": null,
- "src": "1056:24:1",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
- },
- "nodeType": "BinaryOperation",
- "operator": "-",
- "rightExpression": {
- "argumentTypes": null,
- "hexValue": "31",
- "id": 844,
- "isConstant": false,
- "isLValue": false,
- "isPure": true,
- "kind": "number",
- "lValueRequested": false,
- "nodeType": "Literal",
- "src": "1081:1:1",
- "subdenomination": null,
- "typeDescriptions": {
- "typeIdentifier": "t_rational_1_by_1",
- "typeString": "int_const 1"
+ "documentation": null,
+ "id": 836,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "getDeployedCampaigns",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 828,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "862:2:1"
+ },
+ "returnParameters": {
+ "id": 832,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 831,
+ "name": "",
+ "nodeType": "VariableDeclaration",
+ "scope": 836,
+ "src": "885:16:1",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
+ "typeString": "address[]"
+ },
+ "typeName": {
+ "baseType": {
+ "id": 829,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "885:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 830,
+ "length": null,
+ "nodeType": "ArrayTypeName",
+ "src": "885:9:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
+ "typeString": "address[]"
+ }
+ },
+ "value": null,
+ "visibility": "internal"
+ }
+ ],
+ "src": "884:18:1"
},
- "value": "1"
- },
- "src": "1056:26:1",
- "typeDescriptions": {
- "typeIdentifier": "t_uint256",
- "typeString": "uint256"
- }
+ "scope": 850,
+ "src": "833:112:1",
+ "stateMutability": "view",
+ "superFunction": null,
+ "visibility": "public"
},
- "isConstant": false,
- "isLValue": true,
- "isPure": false,
- "lValueRequested": false,
- "nodeType": "IndexAccess",
- "src": "1038:45:1",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- }
- },
- "functionReturnParameters": 840,
- "id": 847,
- "nodeType": "Return",
- "src": "1031:52:1"
- }
- ]
- },
- "documentation": null,
- "id": 849,
- "implemented": true,
- "kind": "function",
- "modifiers": [],
- "name": "getLastDeployedContract",
- "nodeType": "FunctionDefinition",
- "parameters": {
- "id": 837,
- "nodeType": "ParameterList",
- "parameters": [],
- "src": "989:2:1"
- },
- "returnParameters": {
- "id": 840,
- "nodeType": "ParameterList",
- "parameters": [
- {
- "constant": false,
- "id": 839,
- "name": "",
- "nodeType": "VariableDeclaration",
- "scope": 849,
- "src": "1012:7:1",
- "stateVariable": false,
- "storageLocation": "default",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
- },
- "typeName": {
- "id": 838,
- "name": "address",
- "nodeType": "ElementaryTypeName",
- "src": "1012:7:1",
- "stateMutability": "nonpayable",
- "typeDescriptions": {
- "typeIdentifier": "t_address",
- "typeString": "address"
+ {
+ "body": {
+ "id": 848,
+ "nodeType": "Block",
+ "src": "1020:71:1",
+ "statements": [
+ {
+ "expression": {
+ "argumentTypes": null,
+ "baseExpression": {
+ "argumentTypes": null,
+ "id": 841,
+ "name": "deployedCampaigns",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 782,
+ "src": "1038:17:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_address_$dyn_storage",
+ "typeString": "address[] storage ref"
+ }
+ },
+ "id": 846,
+ "indexExpression": {
+ "argumentTypes": null,
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 845,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "argumentTypes": null,
+ "expression": {
+ "argumentTypes": null,
+ "id": 842,
+ "name": "deployedCampaigns",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 782,
+ "src": "1056:17:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_address_$dyn_storage",
+ "typeString": "address[] storage ref"
+ }
+ },
+ "id": 843,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "length",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": null,
+ "src": "1056:24:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "-",
+ "rightExpression": {
+ "argumentTypes": null,
+ "hexValue": "31",
+ "id": 844,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1081:1:1",
+ "subdenomination": null,
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1_by_1",
+ "typeString": "int_const 1"
+ },
+ "value": "1"
+ },
+ "src": "1056:26:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "1038:45:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "functionReturnParameters": 840,
+ "id": 847,
+ "nodeType": "Return",
+ "src": "1031:52:1"
+ }
+ ]
+ },
+ "documentation": null,
+ "id": 849,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "getLastDeployedContract",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 837,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "989:2:1"
+ },
+ "returnParameters": {
+ "id": 840,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 839,
+ "name": "",
+ "nodeType": "VariableDeclaration",
+ "scope": 849,
+ "src": "1012:7:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 838,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1012:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "value": null,
+ "visibility": "internal"
+ }
+ ],
+ "src": "1011:9:1"
+ },
+ "scope": 850,
+ "src": "957:134:1",
+ "stateMutability": "view",
+ "superFunction": null,
+ "visibility": "public"
}
- },
- "value": null,
- "visibility": "internal"
- }
- ],
- "src": "1011:9:1"
- },
- "scope": 850,
- "src": "957:134:1",
- "stateMutability": "view",
- "superFunction": null,
- "visibility": "public"
- }
+ ],
+ "scope": 851,
+ "src": "146:948:1"
+ }
],
- "scope": 851,
- "src": "146:948:1"
- }
- ],
- "src": "0:1094:1"
- },
- "compiler": {
- "name": "solc",
- "version": "0.5.16+commit.9c3226ce.Emscripten.clang"
- },
- "networks": {},
- "schemaVersion": "3.2.2",
- "updatedAt": "2020-08-08T17:27:45.274Z",
- "devdoc": {
- "methods": {}
- },
- "userdoc": {
- "methods": {}
- }
-}
\ No newline at end of file
+ "src": "0:1094:1"
+ },
+ "compiler": {
+ "name": "solc",
+ "version": "0.5.16+commit.9c3226ce.Emscripten.clang"
+ },
+ "networks": {},
+ "schemaVersion": "3.2.2",
+ "updatedAt": "2020-08-08T17:27:45.274Z",
+ "devdoc": {
+ "methods": {}
+ },
+ "userdoc": {
+ "methods": {}
+ }
+}
diff --git a/src/services/ethereum/ethService.js b/src/services/ethereum/ethService.js
index 68808a8..3b72e94 100644
--- a/src/services/ethereum/ethService.js
+++ b/src/services/ethereum/ethService.js
@@ -43,6 +43,7 @@ export const listenNetworkChange = (dispatch) => {
export const enable = async (dispatch) => {
//get campagin factory address from firebase
factoryAddress = await getCampaginFactoryAddress();
+
factory = new Contract(CAMPAIGN_FACTORY_ABI, factoryAddress);
if (web3.givenProvider) {
@@ -122,6 +123,7 @@ export const getCampaign = async (campaignAddress, userAddress) => {
export const getCampaignsCount = async () => {
let count = await factory.methods.getCampaignsCount().call();
+ console.log("count",count);
return count;
}
diff --git a/src/services/firebase/config.js b/src/services/firebase/config.js
index 838d14f..b0ced96 100644
--- a/src/services/firebase/config.js
+++ b/src/services/firebase/config.js
@@ -2,22 +2,23 @@ import firebase from 'firebase';
import 'firebase/auth';
import 'firebase/storage';
import 'firebase/database';
+import 'firebase/firestore';
// Set the configuration for your app
// TODO: Replace with your app's config object
const firebaseConfig = {
- apiKey: "AIzaSyC3LNbwxHFGGPl5jKXG3CjBVBrER350fR8",
- authDomain: "de-care-11445.firebaseapp.com",
- databaseURL: "https://de-care-11445.firebaseio.com",
- projectId: "de-care-11445",
- storageBucket: "de-care-11445.appspot.com",
- messagingSenderId: "1080234101368",
- appId: "1:1080234101368:web:83946f7ea4a35d12077b8d",
- measurementId: "G-KJ4Z9S3NFC"
-};
+ apiKey: "AIzaSyB8cMdUj1VTodhe85kwwJ_g3jMJyHa_e6k",
+ authDomain: "fypdecare.firebaseapp.com",
+ projectId: "fypdecare",
+ storageBucket: "fypdecare.appspot.com",
+ messagingSenderId: "199245709655",
+ appId: "1:199245709655:web:e1b321a748ede6c535fe12",
+ measurementId: "G-WP7GCMCDLT"
+ };
firebase.initializeApp(firebaseConfig);
export const database = firebase.database();
+export const firestore = firebase.firestore();
export const storage = firebase.storage();
export const auth = firebase.auth();
\ No newline at end of file
diff --git a/src/services/firebase/databaseService.js b/src/services/firebase/databaseService.js
index ba70985..6536e45 100644
--- a/src/services/firebase/databaseService.js
+++ b/src/services/firebase/databaseService.js
@@ -1,4 +1,4 @@
-import { database } from './config';
+import { database, firestore } from './config';
const write = async (node, jsonData) => {
await database.ref(node).set(jsonData);
@@ -49,7 +49,11 @@ export const getUserDonations = async (userAddress) => {
}
export const getCampaginFactoryAddress = async () => {
- return await read('campaignFactoryAddress');
+ const res = await firestore.collection("campaignFactoryAddress").get();
+ const address = res.docs.find(doc => {
+ if(doc.data().value !== "") return doc.data().value;
+ } )
+ return address.data().value;
}
//donations structure
// const donations = {