UNPKG

@zkp2p/reclaim-witness-sdk

Version:

<div> <div> <img src="https://raw.githubusercontent.com/reclaimprotocol/.github/main/assets/banners/Attestor-Core.png" /> </div> </div>

513 lines 24.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.taskABI = void 0; exports.taskABI = [ { 'inputs': [ { 'internalType': 'address', 'name': 'initialOwner', 'type': 'address' }, { 'internalType': 'address', 'name': '_governanceAddress', 'type': 'address' } ], 'stateMutability': 'nonpayable', 'type': 'constructor' }, { 'inputs': [], 'name': 'ECDSAInvalidSignature', 'type': 'error' }, { 'inputs': [ { 'internalType': 'uint256', 'name': 'length', 'type': 'uint256' } ], 'name': 'ECDSAInvalidSignatureLength', 'type': 'error' }, { 'inputs': [ { 'internalType': 'bytes32', 'name': 's', 'type': 'bytes32' } ], 'name': 'ECDSAInvalidSignatureS', 'type': 'error' }, { 'inputs': [ { 'internalType': 'address', 'name': 'owner', 'type': 'address' } ], 'name': 'OwnableInvalidOwner', 'type': 'error' }, { 'inputs': [ { 'internalType': 'address', 'name': 'account', 'type': 'address' } ], 'name': 'OwnableUnauthorizedAccount', 'type': 'error' }, { 'anonymous': false, 'inputs': [ { 'indexed': true, 'internalType': 'address', 'name': 'previousOwner', 'type': 'address' }, { 'indexed': true, 'internalType': 'address', 'name': 'newOwner', 'type': 'address' } ], 'name': 'OwnershipTransferred', 'type': 'event' }, { 'anonymous': false, 'inputs': [ { 'components': [ { 'internalType': 'uint32', 'name': 'id', 'type': 'uint32' }, { 'internalType': 'uint32', 'name': 'timestampStart', 'type': 'uint32' }, { 'internalType': 'uint32', 'name': 'timestampEnd', 'type': 'uint32' }, { 'components': [ { 'internalType': 'address', 'name': 'addr', 'type': 'address' }, { 'internalType': 'string', 'name': 'host', 'type': 'string' } ], 'internalType': 'struct ReclaimTask.Attestor[]', 'name': 'attestors', 'type': 'tuple[]' } ], 'indexed': false, 'internalType': 'struct ReclaimTask.Task', 'name': 'task', 'type': 'tuple' } ], 'name': 'TaskAdded', 'type': 'event' }, { 'inputs': [], 'name': 'ZERO_ADDRESS', 'outputs': [ { 'internalType': 'address', 'name': '', 'type': 'address' } ], 'stateMutability': 'view', 'type': 'function' }, { 'inputs': [ { 'internalType': 'uint32', 'name': '', 'type': 'uint32' } ], 'name': 'consensusReached', 'outputs': [ { 'internalType': 'bool', 'name': '', 'type': 'bool' } ], 'stateMutability': 'view', 'type': 'function' }, { 'inputs': [ { 'internalType': 'bytes32', 'name': 'seed', 'type': 'bytes32' }, { 'internalType': 'uint32', 'name': 'timestamp', 'type': 'uint32' } ], 'name': 'createNewTaskRequest', 'outputs': [ { 'internalType': 'uint32', 'name': '', 'type': 'uint32' }, { 'components': [ { 'internalType': 'address', 'name': 'addr', 'type': 'address' }, { 'internalType': 'string', 'name': 'host', 'type': 'string' } ], 'internalType': 'struct ReclaimTask.Attestor[]', 'name': '', 'type': 'tuple[]' } ], 'stateMutability': 'nonpayable', 'type': 'function' }, { 'inputs': [], 'name': 'currentTask', 'outputs': [ { 'internalType': 'uint32', 'name': '', 'type': 'uint32' } ], 'stateMutability': 'view', 'type': 'function' }, { 'inputs': [ { 'internalType': 'bytes32', 'name': 'seed', 'type': 'bytes32' }, { 'internalType': 'uint32', 'name': 'timestamp', 'type': 'uint32' } ], 'name': 'fetchAttestorsForClaim', 'outputs': [ { 'components': [ { 'internalType': 'address', 'name': 'addr', 'type': 'address' }, { 'internalType': 'string', 'name': 'host', 'type': 'string' } ], 'internalType': 'struct ReclaimTask.Attestor[]', 'name': '', 'type': 'tuple[]' } ], 'stateMutability': 'view', 'type': 'function' }, { 'inputs': [ { 'internalType': 'uint32', 'name': 'task', 'type': 'uint32' } ], 'name': 'fetchTask', 'outputs': [ { 'components': [ { 'internalType': 'uint32', 'name': 'id', 'type': 'uint32' }, { 'internalType': 'uint32', 'name': 'timestampStart', 'type': 'uint32' }, { 'internalType': 'uint32', 'name': 'timestampEnd', 'type': 'uint32' }, { 'components': [ { 'internalType': 'address', 'name': 'addr', 'type': 'address' }, { 'internalType': 'string', 'name': 'host', 'type': 'string' } ], 'internalType': 'struct ReclaimTask.Attestor[]', 'name': 'attestors', 'type': 'tuple[]' } ], 'internalType': 'struct ReclaimTask.Task', 'name': '', 'type': 'tuple' } ], 'stateMutability': 'view', 'type': 'function' }, { 'inputs': [], 'name': 'governanceAddress', 'outputs': [ { 'internalType': 'address', 'name': '', 'type': 'address' } ], 'stateMutability': 'view', 'type': 'function' }, { 'inputs': [], 'name': 'owner', 'outputs': [ { 'internalType': 'address', 'name': '', 'type': 'address' } ], 'stateMutability': 'view', 'type': 'function' }, { 'inputs': [], 'name': 'renounceOwnership', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function' }, { 'inputs': [], 'name': 'requiredAttestors', 'outputs': [ { 'internalType': 'uint8', 'name': '', 'type': 'uint8' } ], 'stateMutability': 'view', 'type': 'function' }, { 'inputs': [ { 'internalType': 'uint8', 'name': '_requiredAttestors', 'type': 'uint8' } ], 'name': 'setRequiredAttestors', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function' }, { 'inputs': [], 'name': 'taskDurationS', 'outputs': [ { 'internalType': 'uint32', 'name': '', 'type': 'uint32' } ], 'stateMutability': 'view', 'type': 'function' }, { 'inputs': [ { 'internalType': 'uint256', 'name': '', 'type': 'uint256' } ], 'name': 'tasks', 'outputs': [ { 'internalType': 'uint32', 'name': 'id', 'type': 'uint32' }, { 'internalType': 'uint32', 'name': 'timestampStart', 'type': 'uint32' }, { 'internalType': 'uint32', 'name': 'timestampEnd', 'type': 'uint32' } ], 'stateMutability': 'view', 'type': 'function' }, { 'inputs': [ { 'internalType': 'address', 'name': 'newOwner', 'type': 'address' } ], 'name': 'transferOwnership', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function' }, { 'inputs': [ { 'components': [ { 'components': [ { 'internalType': 'string', 'name': 'provider', 'type': 'string' }, { 'internalType': 'string', 'name': 'parameters', 'type': 'string' }, { 'internalType': 'string', 'name': 'context', 'type': 'string' } ], 'internalType': 'struct Claims.ClaimInfo', 'name': 'claimInfo', 'type': 'tuple' }, { 'components': [ { 'components': [ { 'internalType': 'bytes32', 'name': 'identifier', 'type': 'bytes32' }, { 'internalType': 'address', 'name': 'owner', 'type': 'address' }, { 'internalType': 'uint32', 'name': 'timestampS', 'type': 'uint32' }, { 'internalType': 'uint32', 'name': 'epoch', 'type': 'uint32' } ], 'internalType': 'struct Claims.CompleteClaimData', 'name': 'claim', 'type': 'tuple' }, { 'internalType': 'bytes[]', 'name': 'signatures', 'type': 'bytes[]' } ], 'internalType': 'struct Claims.SignedClaim', 'name': 'signedClaim', 'type': 'tuple' } ], 'internalType': 'struct ReclaimTask.Proof[]', 'name': 'proofs', 'type': 'tuple[]' }, { 'internalType': 'uint32', 'name': 'taskId', 'type': 'uint32' } ], 'name': 'verifyProofs', 'outputs': [ { 'internalType': 'bool', 'name': '', 'type': 'bool' } ], 'stateMutability': 'payable', 'type': 'function' } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza0FCSS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tZWNoYWluL2FiaXMvdGFza0FCSS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLE9BQU8sR0FBRztJQUN0QjtRQUNFLFFBQVEsRUFBRTtZQUNWO2dCQUNDLGNBQWMsRUFBRSxTQUFTO2dCQUN6QixNQUFNLEVBQUUsY0FBYztnQkFDdEIsTUFBTSxFQUFFLFNBQVM7YUFDakI7WUFDRDtnQkFDQyxjQUFjLEVBQUUsU0FBUztnQkFDekIsTUFBTSxFQUFFLG9CQUFvQjtnQkFDNUIsTUFBTSxFQUFFLFNBQVM7YUFDakI7U0FDQTtRQUNELGlCQUFpQixFQUFFLFlBQVk7UUFDL0IsTUFBTSxFQUFFLGFBQWE7S0FDdEI7SUFDRDtRQUNFLFFBQVEsRUFBRSxFQUFFO1FBQ1osTUFBTSxFQUFFLHVCQUF1QjtRQUMvQixNQUFNLEVBQUUsT0FBTztLQUNoQjtJQUNEO1FBQ0UsUUFBUSxFQUFFO1lBQ1Y7Z0JBQ0MsY0FBYyxFQUFFLFNBQVM7Z0JBQ3pCLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixNQUFNLEVBQUUsU0FBUzthQUNqQjtTQUNBO1FBQ0QsTUFBTSxFQUFFLDZCQUE2QjtRQUNyQyxNQUFNLEVBQUUsT0FBTztLQUNoQjtJQUNEO1FBQ0UsUUFBUSxFQUFFO1lBQ1Y7Z0JBQ0MsY0FBYyxFQUFFLFNBQVM7Z0JBQ3pCLE1BQU0sRUFBRSxHQUFHO2dCQUNYLE1BQU0sRUFBRSxTQUFTO2FBQ2pCO1NBQ0E7UUFDRCxNQUFNLEVBQUUsd0JBQXdCO1FBQ2hDLE1BQU0sRUFBRSxPQUFPO0tBQ2hCO0lBQ0Q7UUFDRSxRQUFRLEVBQUU7WUFDVjtnQkFDQyxjQUFjLEVBQUUsU0FBUztnQkFDekIsTUFBTSxFQUFFLE9BQU87Z0JBQ2YsTUFBTSxFQUFFLFNBQVM7YUFDakI7U0FDQTtRQUNELE1BQU0sRUFBRSxxQkFBcUI7UUFDN0IsTUFBTSxFQUFFLE9BQU87S0FDaEI7SUFD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