QDuel
Idx 23·Since e202·3 ABI versions
XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXNMD
Procedures
7procCreateRoom#1
in 56Bout 1B
→input4 fields · 56B
| name | type | offset | bytes | layout |
|---|---|---|---|---|
| allowedPlayer | id | 0 | 32 | |
| stake | sint64 | 32 | 8 | |
| raiseStep | sint64 | 40 | 8 | |
| maxStake | sint64 | 48 | 8 |
←output1 field · 1B
| name | type | offset | bytes | layout |
|---|---|---|---|---|
| returnCode | uint8 | 0 | 1 |
procConnectToRoom#2
in 32Bout 33B
→input1 field · 32B
| name | type | offset | bytes | layout |
|---|---|---|---|---|
| roomId | id | 0 | 32 |
←output2 fields · 33B
| name | type | offset | bytes | layout |
|---|---|---|---|---|
| winner | id | 0 | 32 | |
| returnCode | uint8 | 32 | 1 |
procSetPercentFees#3
in 5Bout 1B
→input4 fields · 5B
| name | type | offset | bytes | layout |
|---|---|---|---|---|
| devFeePercentBps | uint8 | 0 | 1 | |
| burnFeePercentBps | uint8 | 1 | 1 | |
| shareholdersFeePercentBps | uint8 | 2 | 1 | |
| percentScale | uint16 | 3 | 2 |
←output1 field · 1B
| name | type | offset | bytes | layout |
|---|---|---|---|---|
| returnCode | uint8 | 0 | 1 |
procSetTTLHours#4
in 1Bout 1B
→input1 field · 1B
| name | type | offset | bytes | layout |
|---|---|---|---|---|
| ttlHours | uint8 | 0 | 1 |
←output1 field · 1B
| name | type | offset | bytes | layout |
|---|---|---|---|---|
| returnCode | uint8 | 0 | 1 |
procDeposit#5
in 0Bout 1B
←output1 field · 1B
| name | type | offset | bytes | layout |
|---|---|---|---|---|
| returnCode | uint8 | 0 | 1 |
procWithdraw#6
in 8Bout 1B
→input1 field · 8B
| name | type | offset | bytes | layout |
|---|---|---|---|---|
| amount | sint64 | 0 | 8 |
←output1 field · 1B
| name | type | offset | bytes | layout |
|---|---|---|---|---|
| returnCode | uint8 | 0 | 1 |
procCloseRoom#7
in 0Bout 1B
←output1 field · 1B
| name | type | offset | bytes | layout |
|---|---|---|---|---|
| returnCode | uint8 | 0 | 1 |
Functions
6funcGetPercentFees#1
in 0Bout 13B
←output5 fields · 13B
| name | type | offset | bytes | layout |
|---|---|---|---|---|
| devFeePercentBps | uint8 | 0 | 1 | |
| burnFeePercentBps | uint8 | 1 | 1 | |
| shareholdersFeePercentBps | uint8 | 2 | 1 | |
| percentScale | uint16 | 3 | 2 | |
| returnCode | uint64 | 5 | 8 |
funcGetRooms#2
in 0Bout 61441B
←output2 fields · 61441B
| name | type | offset | bytes | layout |
|---|---|---|---|---|
| rooms | RoomInfo[512] | 0 | 61440 | |
| returnCode | uint8 | 61440 | 1 |
funcGetTTLHours#3
in 0Bout 2B
←output2 fields · 2B
| name | type | offset | bytes | layout |
|---|---|---|---|---|
| ttlHours | uint8 | 0 | 1 | |
| returnCode | uint8 | 1 | 1 |
funcGetUserProfile#4
in 32Bout 73B
→input1 field · 32B
| name | type | offset | bytes | layout |
|---|---|---|---|---|
| userId | id | 0 | 32 |
←output7 fields · 73B
| name | type | offset | bytes | layout |
|---|---|---|---|---|
| roomId | id | 0 | 32 | |
| depositedAmount | uint64 | 32 | 8 | |
| locked | uint64 | 40 | 8 | |
| stake | uint64 | 48 | 8 | |
| raiseStep | uint64 | 56 | 8 | |
| maxStake | uint64 | 64 | 8 | |
| returnCode | uint8 | 72 | 1 |
funcCalculateRevenue#5
in 8Bout 32B
→input1 field · 8B
| name | type | offset | bytes | layout |
|---|---|---|---|---|
| amount | uint64 | 0 | 8 |
←output4 fields · 32B
| name | type | offset | bytes | layout |
|---|---|---|---|---|
| devFee | uint64 | 0 | 8 | |
| burnFee | uint64 | 8 | 8 | |
| shareholdersFee | uint64 | 16 | 8 | |
| winner | uint64 | 24 | 8 |
funcGetLastWinners#6
in 0Bout 13313B
←output2 fields · 13313B
| name | type | offset | bytes | layout |
|---|---|---|---|---|
| winners | WinnerData[128] | 0 | 13312 | |
| returnCode | uint8 | 13312 | 1 |
Structs
3structRoomInfo
120B6 fields
fields
| name | type | offset | bytes | layout |
|---|---|---|---|---|
| roomId | id | 0 | 32 | |
| owner | id | 32 | 32 | |
| allowedPlayer | id | 64 | 32 | |
| amount | sint64 | 96 | 8 | |
| closeTimer | uint64 | 104 | 8 | |
| lastUpdate | DateAndTime | 112 | 8 |
structWinnerData
104B4 fields
fields
| name | type | offset | bytes | layout |
|---|---|---|---|---|
| player1 | id | 0 | 32 | |
| player2 | id | 32 | 32 | |
| winner | id | 64 | 32 | |
| revenue | uint64 | 96 | 8 |
structDateAndTime
8B1 field
fields
| name | type | offset | bytes | layout |
|---|---|---|---|---|
| value | uint64 | 0 | 8 |
Raw JSON
{ "contractIndex": 23, "contractName": "QDuel", "contractAddress": "XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXNMD", "epoch": 202, "coreVersion": "v1.280.0", "structs": { "RoomInfo": { "name": "RoomInfo", "fields": [ { "name": "roomId", "type": "id", "offset": 0, "byteLength": 32 }, { "name": "owner", "type": "id", "offset": 32, "byteLength": 32 }, { "name": "allowedPlayer", "type": "id", "offset": 64, "byteLength": 32 }, { "name": "amount", "type": "sint64", "offset": 96, "byteLength": 8 }, { "name": "closeTimer", "type": "uint64", "offset": 104, "byteLength": 8 }, { "name": "lastUpdate", "type": "struct", "offset": 112, "byteLength": 8, "structRef": "DateAndTime" } ], "byteLength": 120 }, "WinnerData": { "name": "WinnerData", "fields": [ { "name": "player1", "type": "id", "offset": 0, "byteLength": 32 }, { "name": "player2", "type": "id", "offset": 32, "byteLength": 32 }, { "name": "winner", "type": "id", "offset": 64, "byteLength": 32 }, { "name": "revenue", "type": "uint64", "offset": 96, "byteLength": 8 } ], "byteLength": 104 }, "DateAndTime": { "name": "DateAndTime", "byteLength": 8, "fields": [ { "name": "value", "type": "uint64", "offset": 0, "byteLength": 8 } ] } }, "procedures": [ { "kind": "procedure", "inputType": 1, "name": "CreateRoom", "inputFields": [ { "name": "allowedPlayer", "type": "id", "offset": 0, "byteLength": 32 }, { "name": "stake", "type": "sint64", "offset": 32, "byteLength": 8 }, { "name": "raiseStep", "type": "sint64", "offset": 40, "byteLength": 8 }, { "name": "maxStake", "type": "sint64", "offset": 48, "byteLength": 8 } ], "outputFields": [ { "name": "returnCode", "type": "uint8", "offset": 0, "byteLength": 1 } ], "inputSize": 56, "outputSize": 1 }, { "kind": "procedure", "inputType": 2, "name": "ConnectToRoom", "inputFields": [ { "name": "roomId", "type": "id", "offset": 0, "byteLength": 32 } ], "outputFields": [ { "name": "winner", "type": "id", "offset": 0, "byteLength": 32 }, { "name": "returnCode", "type": "uint8", "offset": 32, "byteLength": 1 } ], "inputSize": 32, "outputSize": 33 }, { "kind": "procedure", "inputType": 3, "name": "SetPercentFees", "inputFields": [ { "name": "devFeePercentBps", "type": "uint8", "offset": 0, "byteLength": 1 }, { "name": "burnFeePercentBps", "type": "uint8", "offset": 1, "byteLength": 1 }, { "name": "shareholdersFeePercentBps", "type": "uint8", "offset": 2, "byteLength": 1 }, { "name": "percentScale", "type": "uint16", "offset": 3, "byteLength": 2 } ], "outputFields": [ { "name": "returnCode", "type": "uint8", "offset": 0, "byteLength": 1 } ], "inputSize": 5, "outputSize": 1 }, { "kind": "procedure", "inputType": 4, "name": "SetTTLHours", "inputFields": [ { "name": "ttlHours", "type": "uint8", "offset": 0, "byteLength": 1 } ], "outputFields": [ { "name": "returnCode", "type": "uint8", "offset": 0, "byteLength": 1 } ], "inputSize": 1, "outputSize": 1 }, { "kind": "procedure", "inputType": 5, "name": "Deposit", "inputFields": [], "outputFields": [ { "name": "returnCode", "type": "uint8", "offset": 0, "byteLength": 1 } ], "inputSize": 0, "outputSize": 1 }, { "kind": "procedure", "inputType": 6, "name": "Withdraw", "inputFields": [ { "name": "amount", "type": "sint64", "offset": 0, "byteLength": 8 } ], "outputFields": [ { "name": "returnCode", "type": "uint8", "offset": 0, "byteLength": 1 } ], "inputSize": 8, "outputSize": 1 }, { "kind": "procedure", "inputType": 7, "name": "CloseRoom", "inputFields": [], "outputFields": [ { "name": "returnCode", "type": "uint8", "offset": 0, "byteLength": 1 } ], "inputSize": 0, "outputSize": 1 } ], "functions": [ { "kind": "function", "inputType": 1, "name": "GetPercentFees", "inputFields": [], "outputFields": [ { "name": "devFeePercentBps", "type": "uint8", "offset": 0, "byteLength": 1 }, { "name": "burnFeePercentBps", "type": "uint8", "offset": 1, "byteLength": 1 }, { "name": "shareholdersFeePercentBps", "type": "uint8", "offset": 2, "byteLength": 1 }, { "name": "percentScale", "type": "uint16", "offset": 3, "byteLength": 2 }, { "name": "returnCode", "type": "uint64", "offset": 5, "byteLength": 8 } ], "inputSize": 0, "outputSize": 13 }, { "kind": "function", "inputType": 2, "name": "GetRooms", "inputFields": [], "outputFields": [ { "name": "rooms", "type": "array", "offset": 0, "byteLength": 61440, "arrayLength": 512, "arrayItemStructRef": "RoomInfo", "arrayItemByteLength": 120 }, { "name": "returnCode", "type": "uint8", "offset": 61440, "byteLength": 1 } ], "inputSize": 0, "outputSize": 61441 }, { "kind": "function", "inputType": 3, "name": "GetTTLHours", "inputFields": [], "outputFields": [ { "name": "ttlHours", "type": "uint8", "offset": 0, "byteLength": 1 }, { "name": "returnCode", "type": "uint8", "offset": 1, "byteLength": 1 } ], "inputSize": 0, "outputSize": 2 }, { "kind": "function", "inputType": 4, "name": "GetUserProfile", "inputFields": [ { "name": "userId", "type": "id", "offset": 0, "byteLength": 32 } ], "outputFields": [ { "name": "roomId", "type": "id", "offset": 0, "byteLength": 32 }, { "name": "depositedAmount", "type": "uint64", "offset": 32, "byteLength": 8 }, { "name": "locked", "type": "uint64", "offset": 40, "byteLength": 8 }, { "name": "stake", "type": "uint64", "offset": 48, "byteLength": 8 }, { "name": "raiseStep", "type": "uint64", "offset": 56, "byteLength": 8 }, { "name": "maxStake", "type": "uint64", "offset": 64, "byteLength": 8 }, { "name": "returnCode", "type": "uint8", "offset": 72, "byteLength": 1 } ], "inputSize": 32, "outputSize": 73 }, { "kind": "function", "inputType": 5, "name": "CalculateRevenue", "inputFields": [ { "name": "amount", "type": "uint64", "offset": 0, "byteLength": 8 } ], "outputFields": [ { "name": "devFee", "type": "uint64", "offset": 0, "byteLength": 8 }, { "name": "burnFee", "type": "uint64", "offset": 8, "byteLength": 8 }, { "name": "shareholdersFee", "type": "uint64", "offset": 16, "byteLength": 8 }, { "name": "winner", "type": "uint64", "offset": 24, "byteLength": 8 } ], "inputSize": 8, "outputSize": 32 }, { "kind": "function", "inputType": 6, "name": "GetLastWinners", "inputFields": [], "outputFields": [ { "name": "winners", "type": "array", "offset": 0, "byteLength": 13312, "arrayLength": 128, "arrayItemStructRef": "WinnerData", "arrayItemByteLength": 104 }, { "name": "returnCode", "type": "uint8", "offset": 13312, "byteLength": 1 } ], "inputSize": 0, "outputSize": 13313 } ], "effectiveFromEpoch": 202, "effectiveToEpoch": null }