{
"contractIndex": 4,
"contractName": "QUtil",
"contractAddress": "EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVWRF",
"epoch": 210,
"coreVersion": "v1.288.0",
"structs": {
"Asset": {
"name": "Asset",
"byteLength": 40,
"fields": [
{
"name": "issuer",
"type": "id",
"offset": 0,
"byteLength": 32
},
{
"name": "assetName",
"type": "uint64",
"offset": 32,
"byteLength": 8
}
]
},
"OI::Price::OracleQuery": {
"name": "OI::Price::OracleQuery",
"byteLength": 104,
"fields": [
{
"name": "oracle",
"type": "id",
"offset": 0,
"byteLength": 32
},
{
"name": "timestamp",
"type": "struct",
"offset": 32,
"byteLength": 8,
"structRef": "DateAndTime"
},
{
"name": "currency1",
"type": "id",
"offset": 40,
"byteLength": 32
},
{
"name": "currency2",
"type": "id",
"offset": 72,
"byteLength": 32
}
]
},
"Poll": {
"name": "Poll",
"fields": [
{
"name": "poll_name",
"type": "id",
"offset": 0,
"byteLength": 32
},
{
"name": "poll_type",
"type": "uint64",
"offset": 32,
"byteLength": 8
},
{
"name": "min_amount",
"type": "uint64",
"offset": 40,
"byteLength": 8
},
{
"name": "is_active",
"type": "uint64",
"offset": 48,
"byteLength": 8
},
{
"name": "creator",
"type": "id",
"offset": 56,
"byteLength": 32
},
{
"name": "allowed_assets",
"type": "array",
"offset": 88,
"byteLength": 640,
"arrayLength": 16,
"arrayItemStructRef": "Asset",
"arrayItemByteLength": 40
},
{
"name": "num_assets",
"type": "uint64",
"offset": 728,
"byteLength": 8
}
],
"byteLength": 736
},
"DateAndTime": {
"name": "DateAndTime",
"byteLength": 8,
"fields": [
{
"name": "value",
"type": "uint64",
"offset": 0,
"byteLength": 8
}
]
}
},
"procedures": [
{
"kind": "procedure",
"inputType": 1,
"name": "SendToManyV1",
"inputFields": [
{
"name": "dst0",
"type": "id",
"offset": 0,
"byteLength": 32
},
{
"name": "amt0",
"type": "sint64",
"offset": 32,
"byteLength": 8
}
],
"outputFields": [
{
"name": "returnCode",
"type": "sint32",
"offset": 0,
"byteLength": 4
}
],
"inputSize": 40,
"outputSize": 4
},
{
"kind": "procedure",
"inputType": 2,
"name": "BurnQubic",
"inputFields": [
{
"name": "amount",
"type": "sint64",
"offset": 0,
"byteLength": 8
}
],
"outputFields": [
{
"name": "amount",
"type": "sint64",
"offset": 0,
"byteLength": 8
}
],
"inputSize": 8,
"outputSize": 8
},
{
"kind": "procedure",
"inputType": 3,
"name": "SendToManyBenchmark",
"inputFields": [
{
"name": "dstCount",
"type": "sint64",
"offset": 0,
"byteLength": 8
},
{
"name": "numTransfersEach",
"type": "sint64",
"offset": 8,
"byteLength": 8
}
],
"outputFields": [
{
"name": "dstCount",
"type": "sint64",
"offset": 0,
"byteLength": 8
},
{
"name": "returnCode",
"type": "sint32",
"offset": 8,
"byteLength": 4
},
{
"name": "total",
"type": "sint64",
"offset": 12,
"byteLength": 8
}
],
"inputSize": 16,
"outputSize": 20
},
{
"kind": "procedure",
"inputType": 4,
"name": "CreatePoll",
"inputFields": [
{
"name": "poll_name",
"type": "id",
"offset": 0,
"byteLength": 32
},
{
"name": "poll_type",
"type": "uint64",
"offset": 32,
"byteLength": 8
},
{
"name": "min_amount",
"type": "uint64",
"offset": 40,
"byteLength": 8
},
{
"name": "github_link",
"type": "array",
"offset": 48,
"byteLength": 256,
"arrayLength": 256,
"arrayItemType": "uint8",
"arrayItemByteLength": 1
},
{
"name": "allowed_assets",
"type": "array",
"offset": 304,
"byteLength": 640,
"arrayLength": 16,
"arrayItemStructRef": "Asset",
"arrayItemByteLength": 40
},
{
"name": "num_assets",
"type": "uint64",
"offset": 944,
"byteLength": 8
}
],
"outputFields": [
{
"name": "poll_id",
"type": "uint64",
"offset": 0,
"byteLength": 8
}
],
"inputSize": 952,
"outputSize": 8
},
{
"kind": "procedure",
"inputType": 5,
"name": "Vote",
"inputFields": [
{
"name": "poll_id",
"type": "uint64",
"offset": 0,
"byteLength": 8
},
{
"name": "address",
"type": "id",
"offset": 8,
"byteLength": 32
},
{
"name": "amount",
"type": "uint64",
"offset": 40,
"byteLength": 8
},
{
"name": "chosen_option",
"type": "uint64",
"offset": 48,
"byteLength": 8
}
],
"outputFields": [
{
"name": "success",
"type": "uint8",
"offset": 0,
"byteLength": 1
}
],
"inputSize": 56,
"outputSize": 1
},
{
"kind": "procedure",
"inputType": 6,
"name": "CancelPoll",
"inputFields": [
{
"name": "poll_id",
"type": "uint64",
"offset": 0,
"byteLength": 8
}
],
"outputFields": [
{
"name": "success",
"type": "uint8",
"offset": 0,
"byteLength": 1
}
],
"inputSize": 8,
"outputSize": 1
},
{
"kind": "procedure",
"inputType": 7,
"name": "DistributeQuToShareholders",
"inputFields": [
{
"name": "asset",
"type": "struct",
"offset": 0,
"byteLength": 40,
"structRef": "Asset"
}
],
"outputFields": [
{
"name": "shareholders",
"type": "sint64",
"offset": 0,
"byteLength": 8
},
{
"name": "totalShares",
"type": "sint64",
"offset": 8,
"byteLength": 8
},
{
"name": "amountPerShare",
"type": "sint64",
"offset": 16,
"byteLength": 8
},
{
"name": "fees",
"type": "sint64",
"offset": 24,
"byteLength": 8
}
],
"inputSize": 40,
"outputSize": 32
},
{
"kind": "procedure",
"inputType": 8,
"name": "BurnQubicForContract",
"inputFields": [
{
"name": "contractIndexBurnedFor",
"type": "uint32",
"offset": 0,
"byteLength": 4
}
],
"outputFields": [
{
"name": "amount",
"type": "sint64",
"offset": 0,
"byteLength": 8
}
],
"inputSize": 4,
"outputSize": 8
},
{
"kind": "procedure",
"inputType": 9,
"name": "TransferSharesToManyV1",
"inputFields": [
{
"name": "issuer",
"type": "id",
"offset": 0,
"byteLength": 32
},
{
"name": "assetName",
"type": "uint64",
"offset": 32,
"byteLength": 8
},
{
"name": "dst0",
"type": "id",
"offset": 40,
"byteLength": 32
},
{
"name": "amt0",
"type": "sint64",
"offset": 72,
"byteLength": 8
}
],
"outputFields": [
{
"name": "returnCode",
"type": "sint32",
"offset": 0,
"byteLength": 4
}
],
"inputSize": 80,
"outputSize": 4
},
{
"kind": "procedure",
"inputType": 10,
"name": "TransferSharesManagementRights",
"inputFields": [
{
"name": "asset",
"type": "struct",
"offset": 0,
"byteLength": 40,
"structRef": "Asset"
},
{
"name": "numberOfShares",
"type": "sint64",
"offset": 40,
"byteLength": 8
},
{
"name": "newManagingContractIndex",
"type": "uint32",
"offset": 48,
"byteLength": 4
}
],
"outputFields": [
{
"name": "transferredNumberOfShares",
"type": "sint64",
"offset": 0,
"byteLength": 8
}
],
"inputSize": 52,
"outputSize": 8
},
{
"kind": "procedure",
"inputType": 100,
"name": "QueryPriceOracle",
"inputFields": [
{
"name": "priceOracleQuery",
"type": "struct",
"offset": 0,
"byteLength": 104,
"structRef": "OI::Price::OracleQuery"
},
{
"name": "timeoutMilliseconds",
"type": "uint32",
"offset": 104,
"byteLength": 4
}
],
"outputFields": [
{
"name": "oracleQueryId",
"type": "sint64",
"offset": 0,
"byteLength": 8
}
],
"inputSize": 108,
"outputSize": 8
},
{
"kind": "procedure",
"inputType": 101,
"name": "SubscribePriceOracle",
"inputFields": [
{
"name": "priceOracleQuery",
"type": "struct",
"offset": 0,
"byteLength": 104,
"structRef": "OI::Price::OracleQuery"
},
{
"name": "subscriptionPeriodMilliseconds",
"type": "uint32",
"offset": 104,
"byteLength": 4
},
{
"name": "notifyPreviousValue",
"type": "uint8",
"offset": 108,
"byteLength": 1
}
],
"outputFields": [
{
"name": "oracleSubscriptionId",
"type": "sint32",
"offset": 0,
"byteLength": 4
}
],
"inputSize": 109,
"outputSize": 4
},
{
"kind": "procedure",
"inputType": 102,
"name": "UnsubscribeOracle",
"inputFields": [
{
"name": "subscriptionId",
"type": "sint32",
"offset": 0,
"byteLength": 4
}
],
"outputFields": [
{
"name": "success",
"type": "uint8",
"offset": 0,
"byteLength": 1
}
],
"inputSize": 4,
"outputSize": 1
}
],
"functions": [
{
"kind": "function",
"inputType": 1,
"name": "GetSendToManyV1Fee",
"inputFields": [],
"outputFields": [
{
"name": "fee",
"type": "sint64",
"offset": 0,
"byteLength": 8
}
],
"inputSize": 0,
"outputSize": 8
},
{
"kind": "function",
"inputType": 2,
"name": "GetTotalNumberOfAssetShares",
"inputFields": [
{
"name": "issuer",
"type": "id",
"offset": 0,
"byteLength": 32
},
{
"name": "assetName",
"type": "uint64",
"offset": 32,
"byteLength": 8
}
],
"outputFields": [
{
"name": "value",
"type": "sint64",
"offset": 0,
"byteLength": 8
}
],
"inputSize": 40,
"outputSize": 8
},
{
"kind": "function",
"inputType": 3,
"name": "GetCurrentResult",
"inputFields": [
{
"name": "poll_id",
"type": "uint64",
"offset": 0,
"byteLength": 8
}
],
"outputFields": [
{
"name": "result",
"type": "array",
"offset": 0,
"byteLength": 512,
"arrayLength": 64,
"arrayItemType": "uint64",
"arrayItemByteLength": 8
},
{
"name": "voter_count",
"type": "array",
"offset": 512,
"byteLength": 512,
"arrayLength": 64,
"arrayItemType": "uint64",
"arrayItemByteLength": 8
},
{
"name": "is_active",
"type": "uint64",
"offset": 1024,
"byteLength": 8
}
],
"inputSize": 8,
"outputSize": 1032
},
{
"kind": "function",
"inputType": 4,
"name": "GetPollsByCreator",
"inputFields": [
{
"name": "creator",
"type": "id",
"offset": 0,
"byteLength": 32
}
],
"outputFields": [
{
"name": "poll_ids",
"type": "array",
"offset": 0,
"byteLength": 512,
"arrayLength": 64,
"arrayItemType": "uint64",
"arrayItemByteLength": 8
},
{
"name": "count",
"type": "uint64",
"offset": 512,
"byteLength": 8
}
],
"inputSize": 32,
"outputSize": 520
},
{
"kind": "function",
"inputType": 5,
"name": "GetCurrentPollId",
"inputFields": [],
"outputFields": [
{
"name": "current_poll_id",
"type": "uint64",
"offset": 0,
"byteLength": 8
},
{
"name": "active_poll_ids",
"type": "array",
"offset": 8,
"byteLength": 512,
"arrayLength": 64,
"arrayItemType": "uint64",
"arrayItemByteLength": 8
},
{
"name": "active_count",
"type": "uint64",
"offset": 520,
"byteLength": 8
}
],
"inputSize": 0,
"outputSize": 528
},
{
"kind": "function",
"inputType": 6,
"name": "GetPollInfo",
"inputFields": [
{
"name": "poll_id",
"type": "uint64",
"offset": 0,
"byteLength": 8
}
],
"outputFields": [
{
"name": "found",
"type": "uint64",
"offset": 0,
"byteLength": 8
},
{
"name": "poll_info",
"type": "struct",
"offset": 8,
"byteLength": 736,
"structRef": "Poll"
},
{
"name": "poll_link",
"type": "array",
"offset": 744,
"byteLength": 256,
"arrayLength": 256,
"arrayItemType": "uint8",
"arrayItemByteLength": 1
}
],
"inputSize": 8,
"outputSize": 1000
},
{
"kind": "function",
"inputType": 7,
"name": "GetFees",
"inputFields": [],
"outputFields": [
{
"name": "smt1InvocationFee",
"type": "sint64",
"offset": 0,
"byteLength": 8
},
{
"name": "pollCreationFee",
"type": "sint64",
"offset": 8,
"byteLength": 8
},
{
"name": "pollVoteFee",
"type": "sint64",
"offset": 16,
"byteLength": 8
},
{
"name": "distributeQuToShareholderFeePerShareholder",
"type": "sint64",
"offset": 24,
"byteLength": 8
},
{
"name": "shareholderProposalFee",
"type": "sint64",
"offset": 32,
"byteLength": 8
},
{
"name": "_futureFeePlaceholder0",
"type": "sint64",
"offset": 40,
"byteLength": 8
},
{
"name": "_futureFeePlaceholder1",
"type": "sint64",
"offset": 48,
"byteLength": 8
},
{
"name": "_futureFeePlaceholder2",
"type": "sint64",
"offset": 56,
"byteLength": 8
},
{
"name": "_futureFeePlaceholder3",
"type": "sint64",
"offset": 64,
"byteLength": 8
},
{
"name": "_futureFeePlaceholder4",
"type": "sint64",
"offset": 72,
"byteLength": 8
},
{
"name": "_futureFeePlaceholder5",
"type": "sint64",
"offset": 80,
"byteLength": 8
}
],
"inputSize": 0,
"outputSize": 88
},
{
"kind": "function",
"inputType": 8,
"name": "QueryFeeReserve",
"inputFields": [
{
"name": "contractIndex",
"type": "uint32",
"offset": 0,
"byteLength": 4
}
],
"outputFields": [
{
"name": "reserveAmount",
"type": "sint64",
"offset": 0,
"byteLength": 8
}
],
"inputSize": 4,
"outputSize": 8
},
{
"kind": "function",
"inputType": 9,
"name": "GetBalances16",
"inputFields": [
{
"name": "publicKeys",
"type": "array",
"offset": 0,
"byteLength": 512,
"arrayLength": 16,
"arrayItemType": "id",
"arrayItemByteLength": 32
}
],
"outputFields": [
{
"name": "balances",
"type": "array",
"offset": 0,
"byteLength": 128,
"arrayLength": 16,
"arrayItemType": "sint64",
"arrayItemByteLength": 8
}
],
"inputSize": 512,
"outputSize": 128
}
],
"effectiveFromEpoch": 210,
"effectiveToEpoch": null
}