@magicnewton/newton-protocol-sdk 0.0.8 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- "use strict";var u=require("../../abis/newtonAbi.js"),a=require("../../const.js"),E=require("../../types/task.js"),g=require("../../utils/bytes.js"),P=require("../../utils/https.js"),h=require("../../utils/intent.js"),m=require("../../utils/task.js"),d=require("viem"),p=require("viem/chains");const I={[p.sepolia.id]:BigInt(9223883),[p.mainnet.id]:BigInt(23385048)},v=async(t,e,s)=>{if(!e.taskId)throw new Error("Newton SDK: waitForTaskResponded requires taskId");const r=d.padHex(e.taskId,{size:32}),A=I[t.chain?.id??1],i=s??A,c=(await t.getContractEvents({address:t.chain?.testnet?a.SEPOLIA_NEWTON_PROVER_TASK_MANAGER:a.MAINNET_NEWTON_PROVER_TASK_MANAGER,abi:u.NewtonProverTaskManagerAbi,eventName:"TaskResponded",fromBlock:i,toBlock:"latest"})).find(n=>d.padHex(n.args.taskResponse.taskId,{size:32})===r);return c?m.convertLogToTaskResponse(c):new Promise((n,R)=>{let N,k;const l=o=>{N?.(),k&&clearTimeout(k),o&&R(o)};if(e.timeoutMs&&e.timeoutMs>0&&(k=setTimeout(()=>l(new Error("waitForTaskResponded: timeout")),e.timeoutMs)),e.abortSignal){if(e.abortSignal.aborted){l(new Error("waitForTaskResponded: aborted"));return}e.abortSignal.addEventListener("abort",()=>l(new Error("waitForTaskResponded: aborted")),{once:!0})}N=t.watchContractEvent({address:t.chain?.testnet?a.SEPOLIA_NEWTON_PROVER_TASK_MANAGER:a.MAINNET_NEWTON_PROVER_TASK_MANAGER,abi:u.NewtonProverTaskManagerAbi,eventName:"TaskResponded",onLogs:o=>{for(const _ of o)if(d.padHex(_.args.taskResponse.taskId,{size:32})===r){const w=m.convertLogToTaskResponse(_);l(),n(w);return}},onError:o=>{l(o)}})})},O=(t,e)=>t.readContract({address:t.chain?.testnet?a.SEPOLIA_NEWTON_PROVER_TASK_MANAGER:a.MAINNET_NEWTON_PROVER_TASK_MANAGER,abi:u.NewtonProverTaskManagerAbi,functionName:"allTaskHashes",args:[e.taskId]}),q=async(t,e)=>{const s=t.chain?.testnet?a.SEPOLIA_NEWTON_PROVER_TASK_MANAGER:a.MAINNET_NEWTON_PROVER_TASK_MANAGER,r=await t.readContract({address:s,abi:u.NewtonProverTaskManagerAbi,functionName:"allTaskHashes",args:[e.taskId]});if(!d.hexToBigInt(r))throw new Error(`Failed to retrieve task status for taskId ${e.taskId}`);const A=await t.readContract({address:s,abi:u.NewtonProverTaskManagerAbi,functionName:"allTaskResponses",args:[e.taskId]}),i=!!d.hexToBigInt(A);if(!i)return E.TaskStatus.Created;const c=(await t.getContractEvents({address:t.chain?.testnet?a.SEPOLIA_NEWTON_PROVER_TASK_MANAGER:a.MAINNET_NEWTON_PROVER_TASK_MANAGER,abi:u.NewtonProverTaskManagerAbi,eventName:"TaskResponded",fromBlock:I[t.chain?.id??1],toBlock:"latest"})).find(k=>d.padHex(k.args.taskResponse.taskId,{size:32})===e.taskId);if(!c)throw new Error(`Failed to retrieve task status for taskId ${e.taskId}`);const n=m.convertLogToTaskResponse(c),R=await t.getBlockNumber();if(n?.responseCertificate?.responseExpireBlock&&R>n.responseCertificate.responseExpireBlock)return E.TaskStatus.AttestationExpired;const N=await t.readContract({address:s,abi:u.NewtonProverTaskManagerAbi,functionName:"attestations",args:[e.taskId]});return d.hexToBigInt(N)?await t.readContract({address:s,abi:u.NewtonProverTaskManagerAbi,functionName:"taskSuccesfullyChallenged",args:[e.taskId]})?E.TaskStatus.SuccessfullyChallenged:i?E.TaskStatus.Responded:E.TaskStatus.Created:E.TaskStatus.AttestationSpent};async function C(t,e){const s=t.extend(d.publicActions),r={taskRequestedAtBlock:await s.getBlockNumber()},A=new P.AvsHttpService(!!s?.chain?.testnet),i=t.account;if(!i||!i.sign)throw new Error("Newton SDK: walletClient must have a local account to sign the request");const{policyClient:c,quorumNumber:n,quorumThresholdPercentage:R,timeout:N}=e,k=h.normalizeIntent(e.intent),l=m.getEvaluationRequestHash({policyClient:c,intent:k,quorumNumber:n?g.normalizeBytes(n):"0x",quorumThresholdPercentage:R,timeout:N}),o=await i.sign({hash:l}),_=h.hexlifyIntentForRequest(e.intent),w={policy_client:e.policyClient,intent:_,quorum_number:e.quorumNumber?g.normalizeBytes(e.quorumNumber):null,quorum_threshold_percentage:e.quorumThresholdPercentage??null,timeout:e.timeout,signature:o},T=await A.Post(a.AVS_METHODS.createTaskAndWait,[w],o);if(T.error)throw T.error;if(T.result.error)throw new Error(T.result.error);const b=T.result;r.taskId=b.result.task_id;const S={get taskId(){return r.taskId},waitForTaskResponded:async({timeoutMs:f})=>{const M=r.taskId;return v(s,{taskId:M,timeoutMs:f},r.taskRequestedAtBlock)}};return{result:{taskId:T.result.task_id,txHash:T.result.tx_hash},...S}}exports.getTaskResponseHash=O,exports.getTaskStatus=q,exports.submitEvaluationRequest=C,exports.waitForTaskResponded=v;
1
+ "use strict";var u=require("../../abis/newtonAbi.js"),a=require("../../const.js"),A=require("../../types/task.js"),w=require("../../utils/bytes.js"),O=require("../../utils/https.js"),h=require("../../utils/intent.js"),g=require("../../utils/task.js"),d=require("viem"),I=require("viem/chains");const p={[I.sepolia.id]:BigInt(9223883),[I.mainnet.id]:BigInt(23385048)},v=async(t,e,s)=>{if(!e.taskId)throw new Error("Newton SDK: waitForTaskResponded requires taskId");const r=d.padHex(e.taskId,{size:32}),E=p[t.chain?.id??1],o=s??E,c=(await t.getContractEvents({address:t.chain?.testnet?a.SEPOLIA_NEWTON_PROVER_TASK_MANAGER:a.MAINNET_NEWTON_PROVER_TASK_MANAGER,abi:u.NewtonProverTaskManagerAbi,eventName:"TaskResponded",fromBlock:o,toBlock:"latest"})).find(n=>d.padHex(n.args.taskResponse.taskId,{size:32})===r);return c?g.convertLogToTaskResponse(c):new Promise((n,m)=>{let k,l;const T=i=>{k?.(),l&&clearTimeout(l),i&&m(i)};if(e.timeoutMs&&e.timeoutMs>0&&(l=setTimeout(()=>T(new Error("waitForTaskResponded: timeout")),e.timeoutMs)),e.abortSignal){if(e.abortSignal.aborted){T(new Error("waitForTaskResponded: aborted"));return}e.abortSignal.addEventListener("abort",()=>T(new Error("waitForTaskResponded: aborted")),{once:!0})}k=t.watchContractEvent({address:t.chain?.testnet?a.SEPOLIA_NEWTON_PROVER_TASK_MANAGER:a.MAINNET_NEWTON_PROVER_TASK_MANAGER,abi:u.NewtonProverTaskManagerAbi,eventName:"TaskResponded",onLogs:i=>{for(const R of i)if(d.padHex(R.args.taskResponse.taskId,{size:32})===r){const _=g.convertLogToTaskResponse(R);T(),n(_);return}},onError:i=>{T(i)}})})},q=(t,e)=>t.readContract({address:t.chain?.testnet?a.SEPOLIA_NEWTON_PROVER_TASK_MANAGER:a.MAINNET_NEWTON_PROVER_TASK_MANAGER,abi:u.NewtonProverTaskManagerAbi,functionName:"allTaskHashes",args:[e.taskId]}),B=async(t,e)=>{const s=t.chain?.testnet?a.SEPOLIA_NEWTON_PROVER_TASK_MANAGER:a.MAINNET_NEWTON_PROVER_TASK_MANAGER,r=await t.readContract({address:s,abi:u.NewtonProverTaskManagerAbi,functionName:"allTaskHashes",args:[e.taskId]});if(!d.hexToBigInt(r))throw new Error(`Failed to retrieve task status for taskId ${e.taskId}`);const E=await t.readContract({address:s,abi:u.NewtonProverTaskManagerAbi,functionName:"allTaskResponses",args:[e.taskId]}),o=!!d.hexToBigInt(E);if(!o)return A.TaskStatus.Created;const c=(await t.getContractEvents({address:t.chain?.testnet?a.SEPOLIA_NEWTON_PROVER_TASK_MANAGER:a.MAINNET_NEWTON_PROVER_TASK_MANAGER,abi:u.NewtonProverTaskManagerAbi,eventName:"TaskResponded",fromBlock:p[t.chain?.id??1],toBlock:"latest"})).find(l=>d.padHex(l.args.taskResponse.taskId,{size:32})===e.taskId);if(!c)throw new Error(`Failed to retrieve task status for taskId ${e.taskId}`);const n=g.convertLogToTaskResponse(c),m=await t.getBlockNumber();if(n?.responseCertificate?.responseExpireBlock&&m>n.responseCertificate.responseExpireBlock)return A.TaskStatus.AttestationExpired;const k=await t.readContract({address:s,abi:u.NewtonProverTaskManagerAbi,functionName:"attestations",args:[e.taskId]});return d.hexToBigInt(k)?await t.readContract({address:s,abi:u.NewtonProverTaskManagerAbi,functionName:"taskSuccesfullyChallenged",args:[e.taskId]})?A.TaskStatus.SuccessfullyChallenged:o?A.TaskStatus.Responded:A.TaskStatus.Created:A.TaskStatus.AttestationSpent};async function C(t,e){const s=t.extend(d.publicActions),r={taskRequestedAtBlock:await s.getBlockNumber()},E=new O.AvsHttpService(!!s?.chain?.testnet),o=t.account;if(!o||!o.sign)throw new Error("Newton SDK: walletClient must have a local account to sign the request");const{policyClient:c,quorumNumber:n,quorumThresholdPercentage:m,wasmArgs:k,timeout:l}=e,T=h.normalizeIntent(e.intent),i=g.getEvaluationRequestHash({policyClient:c,intent:T,quorumNumber:n?w.normalizeBytes(n):"0x",quorumThresholdPercentage:m,wasmArgs:k?w.normalizeBytes(k):"0x",timeout:l}),R=await o.sign({hash:i}),_=h.hexlifyIntentForRequest(e.intent),b={policy_client:e.policyClient,intent:_,quorum_number:e.quorumNumber?w.normalizeBytes(e.quorumNumber):null,quorum_threshold_percentage:e.quorumThresholdPercentage??null,wasm_args:e.wasmArgs?w.normalizeBytes(e.wasmArgs):null,timeout:e.timeout,signature:R},N=await E.Post(a.AVS_METHODS.createTaskAndWait,[b],R);if(N.error)throw N.error;if(N.result.error)throw new Error(N.result.error);const S=N.result;r.taskId=S.result.task_id;const f={get taskId(){return r.taskId},waitForTaskResponded:async({timeoutMs:M})=>{const P=r.taskId;return v(s,{taskId:P,timeoutMs:M},r.taskRequestedAtBlock)}};return{result:{taskId:N.result.task_id,txHash:N.result.tx_hash},...f}}exports.getTaskResponseHash=q,exports.getTaskStatus=B,exports.submitEvaluationRequest=C,exports.waitForTaskResponded=v;
@@ -1 +1 @@
1
- "use strict";var i=require("viem"),r=require("./intent.js"),u=require("./bytes.js");const c=e=>{const{policyClient:t,quorumNumber:n,quorumThresholdPercentage:a,timeout:o}=e,s=r.normalizeIntent(e.intent);return i.keccak256(i.encodePacked(["address","address","address","uint256","bytes","uint256","bytes","bytes","uint32","uint64"],[t,s.from,s.to,s.value,s.data,s.chainId,s.functionSignature,n?u.normalizeBytes(n):"0x",a??0,BigInt(o)]))};function p(e){const t={...e.args.taskResponse,intent:{...e.args.taskResponse.intent,value:BigInt(e.args.taskResponse.intent.value),data:e.args.taskResponse.intent.data,chainId:BigInt(e.args.taskResponse.intent.chainId)},evaluationResult:!!(e.args.taskResponse.evaluationResult&&i.hexToBigInt(e.args.taskResponse.evaluationResult))},n={taskResponsedBlock:Number(e.args.responseCertificate.taskResponsedBlock),responseExpireBlock:Number(e.args.responseCertificate.responseExpireBlock),hashOfNonSigners:e.args.responseCertificate.hashOfNonSigners},a={taskId:t.taskId,policyId:t.policyId,policyClient:t.policyClient,intent:t.intent,expiration:n.responseExpireBlock};return{taskResponse:t,responseCertificate:n,attestation:a}}exports.convertLogToTaskResponse=p,exports.getEvaluationRequestHash=c;
1
+ "use strict";var i=require("viem"),c=require("./intent.js"),r=require("./bytes.js");const l=e=>{const{policyClient:s,quorumNumber:n,quorumThresholdPercentage:a,wasmArgs:o,timeout:u}=e,t=c.normalizeIntent(e.intent);return i.keccak256(i.encodePacked(["address","address","address","uint256","bytes","uint256","bytes","bytes","uint32","bytes","uint64"],[s,t.from,t.to,t.value,t.data,t.chainId,t.functionSignature,n?r.normalizeBytes(n):"0x",a??0,o?r.normalizeBytes(o):"0x",BigInt(u)]))};function p(e){const s={...e.args.taskResponse,intent:{...e.args.taskResponse.intent,value:BigInt(e.args.taskResponse.intent.value),data:e.args.taskResponse.intent.data,chainId:BigInt(e.args.taskResponse.intent.chainId)},evaluationResult:!!(e.args.taskResponse.evaluationResult&&i.hexToBigInt(e.args.taskResponse.evaluationResult))},n={taskResponsedBlock:Number(e.args.responseCertificate.taskResponsedBlock),responseExpireBlock:Number(e.args.responseCertificate.responseExpireBlock),hashOfNonSigners:e.args.responseCertificate.hashOfNonSigners},a={taskId:s.taskId,policyId:s.policyId,policyClient:s.policyClient,intent:s.intent,expiration:n.responseExpireBlock};return{taskResponse:s,responseCertificate:n,attestation:a}}exports.convertLogToTaskResponse=p,exports.getEvaluationRequestHash=l;
@@ -1 +1 @@
1
- import{NewtonProverTaskManagerAbi as i}from"../../abis/newtonAbi.js";import{SEPOLIA_NEWTON_PROVER_TASK_MANAGER as w,MAINNET_NEWTON_PROVER_TASK_MANAGER as h,AVS_METHODS as q}from"../../const.js";import{TaskStatus as k}from"../../types/task.js";import{normalizeBytes as b}from"../../utils/bytes.js";import{AvsHttpService as B}from"../../utils/https.js";import{normalizeIntent as y,hexlifyIntentForRequest as x}from"../../utils/intent.js";import{convertLogToTaskResponse as I,getEvaluationRequestHash as M}from"../../utils/task.js";import{hexToBigInt as R,padHex as T,publicActions as F}from"viem";import{mainnet as P,sepolia as H}from"viem/chains";const N={[H.id]:BigInt(9223883),[P.id]:BigInt(23385048)},C=async(e,t,a)=>{if(!t.taskId)throw new Error("Newton SDK: waitForTaskResponded requires taskId");const s=T(t.taskId,{size:32}),p=N[e.chain?.id??1],n=a??p,d=(await e.getContractEvents({address:e.chain?.testnet?w:h,abi:i,eventName:"TaskResponded",fromBlock:n,toBlock:"latest"})).find(r=>T(r.args.taskResponse.taskId,{size:32})===s);return d?I(d):new Promise((r,f)=>{let m,u;const c=o=>{m?.(),u&&clearTimeout(u),o&&f(o)};if(t.timeoutMs&&t.timeoutMs>0&&(u=setTimeout(()=>c(new Error("waitForTaskResponded: timeout")),t.timeoutMs)),t.abortSignal){if(t.abortSignal.aborted){c(new Error("waitForTaskResponded: aborted"));return}t.abortSignal.addEventListener("abort",()=>c(new Error("waitForTaskResponded: aborted")),{once:!0})}m=e.watchContractEvent({address:e.chain?.testnet?w:h,abi:i,eventName:"TaskResponded",onLogs:o=>{for(const g of o)if(T(g.args.taskResponse.taskId,{size:32})===s){const E=I(g);c(),r(E);return}},onError:o=>{c(o)}})})},O=(e,t)=>e.readContract({address:e.chain?.testnet?w:h,abi:i,functionName:"allTaskHashes",args:[t.taskId]}),z=async(e,t)=>{const a=e.chain?.testnet?w:h,s=await e.readContract({address:a,abi:i,functionName:"allTaskHashes",args:[t.taskId]});if(!R(s))throw new Error(`Failed to retrieve task status for taskId ${t.taskId}`);const p=await e.readContract({address:a,abi:i,functionName:"allTaskResponses",args:[t.taskId]}),n=!!R(p);if(!n)return k.Created;const d=(await e.getContractEvents({address:e.chain?.testnet?w:h,abi:i,eventName:"TaskResponded",fromBlock:N[e.chain?.id??1],toBlock:"latest"})).find(u=>T(u.args.taskResponse.taskId,{size:32})===t.taskId);if(!d)throw new Error(`Failed to retrieve task status for taskId ${t.taskId}`);const r=I(d),f=await e.getBlockNumber();if(r?.responseCertificate?.responseExpireBlock&&f>r.responseCertificate.responseExpireBlock)return k.AttestationExpired;const m=await e.readContract({address:a,abi:i,functionName:"attestations",args:[t.taskId]});return R(m)?await e.readContract({address:a,abi:i,functionName:"taskSuccesfullyChallenged",args:[t.taskId]})?k.SuccessfullyChallenged:n?k.Responded:k.Created:k.AttestationSpent};async function K(e,t){const a=e.extend(F),s={taskRequestedAtBlock:await a.getBlockNumber()},p=new B(!!a?.chain?.testnet),n=e.account;if(!n||!n.sign)throw new Error("Newton SDK: walletClient must have a local account to sign the request");const{policyClient:d,quorumNumber:r,quorumThresholdPercentage:f,timeout:m}=t,u=y(t.intent),c=M({policyClient:d,intent:u,quorumNumber:r?b(r):"0x",quorumThresholdPercentage:f,timeout:m}),o=await n.sign({hash:c}),g=x(t.intent),E={policy_client:t.policyClient,intent:g,quorum_number:t.quorumNumber?b(t.quorumNumber):null,quorum_threshold_percentage:t.quorumThresholdPercentage??null,timeout:t.timeout,signature:o},l=await p.Post(q.createTaskAndWait,[E],o);if(l.error)throw l.error;if(l.result.error)throw new Error(l.result.error);const A=l.result;s.taskId=A.result.task_id;const v={get taskId(){return s.taskId},waitForTaskResponded:async({timeoutMs:S})=>{const _=s.taskId;return C(a,{taskId:_,timeoutMs:S},s.taskRequestedAtBlock)}};return{result:{taskId:l.result.task_id,txHash:l.result.tx_hash},...v}}export{O as getTaskResponseHash,z as getTaskStatus,K as submitEvaluationRequest,C as waitForTaskResponded};
1
+ import{NewtonProverTaskManagerAbi as i}from"../../abis/newtonAbi.js";import{SEPOLIA_NEWTON_PROVER_TASK_MANAGER as g,MAINNET_NEWTON_PROVER_TASK_MANAGER as h,AVS_METHODS as B}from"../../const.js";import{TaskStatus as k}from"../../types/task.js";import{normalizeBytes as I}from"../../utils/bytes.js";import{AvsHttpService as x}from"../../utils/https.js";import{normalizeIntent as y,hexlifyIntentForRequest as M}from"../../utils/intent.js";import{convertLogToTaskResponse as R,getEvaluationRequestHash as F}from"../../utils/task.js";import{hexToBigInt as b,padHex as T,publicActions as P}from"viem";import{mainnet as H,sepolia as z}from"viem/chains";const N={[z.id]:BigInt(9223883),[H.id]:BigInt(23385048)},A=async(e,t,s)=>{if(!t.taskId)throw new Error("Newton SDK: waitForTaskResponded requires taskId");const a=T(t.taskId,{size:32}),w=N[e.chain?.id??1],o=s??w,d=(await e.getContractEvents({address:e.chain?.testnet?g:h,abi:i,eventName:"TaskResponded",fromBlock:o,toBlock:"latest"})).find(r=>T(r.args.taskResponse.taskId,{size:32})===a);return d?R(d):new Promise((r,p)=>{let u,c;const l=n=>{u?.(),c&&clearTimeout(c),n&&p(n)};if(t.timeoutMs&&t.timeoutMs>0&&(c=setTimeout(()=>l(new Error("waitForTaskResponded: timeout")),t.timeoutMs)),t.abortSignal){if(t.abortSignal.aborted){l(new Error("waitForTaskResponded: aborted"));return}t.abortSignal.addEventListener("abort",()=>l(new Error("waitForTaskResponded: aborted")),{once:!0})}u=e.watchContractEvent({address:e.chain?.testnet?g:h,abi:i,eventName:"TaskResponded",onLogs:n=>{for(const f of n)if(T(f.args.taskResponse.taskId,{size:32})===a){const E=R(f);l(),r(E);return}},onError:n=>{l(n)}})})},O=(e,t)=>e.readContract({address:e.chain?.testnet?g:h,abi:i,functionName:"allTaskHashes",args:[t.taskId]}),K=async(e,t)=>{const s=e.chain?.testnet?g:h,a=await e.readContract({address:s,abi:i,functionName:"allTaskHashes",args:[t.taskId]});if(!b(a))throw new Error(`Failed to retrieve task status for taskId ${t.taskId}`);const w=await e.readContract({address:s,abi:i,functionName:"allTaskResponses",args:[t.taskId]}),o=!!b(w);if(!o)return k.Created;const d=(await e.getContractEvents({address:e.chain?.testnet?g:h,abi:i,eventName:"TaskResponded",fromBlock:N[e.chain?.id??1],toBlock:"latest"})).find(c=>T(c.args.taskResponse.taskId,{size:32})===t.taskId);if(!d)throw new Error(`Failed to retrieve task status for taskId ${t.taskId}`);const r=R(d),p=await e.getBlockNumber();if(r?.responseCertificate?.responseExpireBlock&&p>r.responseCertificate.responseExpireBlock)return k.AttestationExpired;const u=await e.readContract({address:s,abi:i,functionName:"attestations",args:[t.taskId]});return b(u)?await e.readContract({address:s,abi:i,functionName:"taskSuccesfullyChallenged",args:[t.taskId]})?k.SuccessfullyChallenged:o?k.Responded:k.Created:k.AttestationSpent};async function L(e,t){const s=e.extend(P),a={taskRequestedAtBlock:await s.getBlockNumber()},w=new x(!!s?.chain?.testnet),o=e.account;if(!o||!o.sign)throw new Error("Newton SDK: walletClient must have a local account to sign the request");const{policyClient:d,quorumNumber:r,quorumThresholdPercentage:p,wasmArgs:u,timeout:c}=t,l=y(t.intent),n=F({policyClient:d,intent:l,quorumNumber:r?I(r):"0x",quorumThresholdPercentage:p,wasmArgs:u?I(u):"0x",timeout:c}),f=await o.sign({hash:n}),E=M(t.intent),C={policy_client:t.policyClient,intent:E,quorum_number:t.quorumNumber?I(t.quorumNumber):null,quorum_threshold_percentage:t.quorumThresholdPercentage??null,wasm_args:t.wasmArgs?I(t.wasmArgs):null,timeout:t.timeout,signature:f},m=await w.Post(B.createTaskAndWait,[C],f);if(m.error)throw m.error;if(m.result.error)throw new Error(m.result.error);const _=m.result;a.taskId=_.result.task_id;const v={get taskId(){return a.taskId},waitForTaskResponded:async({timeoutMs:S})=>{const q=a.taskId;return A(s,{taskId:q,timeoutMs:S},a.taskRequestedAtBlock)}};return{result:{taskId:m.result.task_id,txHash:m.result.tx_hash},...v}}export{O as getTaskResponseHash,K as getTaskStatus,L as submitEvaluationRequest,A as waitForTaskResponded};
@@ -1 +1 @@
1
- import{hexToBigInt as i,keccak256 as r,encodePacked as p}from"viem";import{normalizeIntent as c}from"./intent.js";import{normalizeBytes as u}from"./bytes.js";const l=e=>{const{policyClient:t,quorumNumber:n,quorumThresholdPercentage:a,timeout:o}=e,s=c(e.intent);return r(p(["address","address","address","uint256","bytes","uint256","bytes","bytes","uint32","uint64"],[t,s.from,s.to,s.value,s.data,s.chainId,s.functionSignature,n?u(n):"0x",a??0,BigInt(o)]))};function d(e){const t={...e.args.taskResponse,intent:{...e.args.taskResponse.intent,value:BigInt(e.args.taskResponse.intent.value),data:e.args.taskResponse.intent.data,chainId:BigInt(e.args.taskResponse.intent.chainId)},evaluationResult:!!(e.args.taskResponse.evaluationResult&&i(e.args.taskResponse.evaluationResult))},n={taskResponsedBlock:Number(e.args.responseCertificate.taskResponsedBlock),responseExpireBlock:Number(e.args.responseCertificate.responseExpireBlock),hashOfNonSigners:e.args.responseCertificate.hashOfNonSigners},a={taskId:t.taskId,policyId:t.policyId,policyClient:t.policyClient,intent:t.intent,expiration:n.responseExpireBlock};return{taskResponse:t,responseCertificate:n,attestation:a}}export{d as convertLogToTaskResponse,l as getEvaluationRequestHash};
1
+ import{hexToBigInt as p,keccak256 as c,encodePacked as u}from"viem";import{normalizeIntent as l}from"./intent.js";import{normalizeBytes as i}from"./bytes.js";const d=e=>{const{policyClient:t,quorumNumber:n,quorumThresholdPercentage:a,wasmArgs:o,timeout:r}=e,s=l(e.intent);return c(u(["address","address","address","uint256","bytes","uint256","bytes","bytes","uint32","bytes","uint64"],[t,s.from,s.to,s.value,s.data,s.chainId,s.functionSignature,n?i(n):"0x",a??0,o?i(o):"0x",BigInt(r)]))};function g(e){const t={...e.args.taskResponse,intent:{...e.args.taskResponse.intent,value:BigInt(e.args.taskResponse.intent.value),data:e.args.taskResponse.intent.data,chainId:BigInt(e.args.taskResponse.intent.chainId)},evaluationResult:!!(e.args.taskResponse.evaluationResult&&p(e.args.taskResponse.evaluationResult))},n={taskResponsedBlock:Number(e.args.responseCertificate.taskResponsedBlock),responseExpireBlock:Number(e.args.responseCertificate.responseExpireBlock),hashOfNonSigners:e.args.responseCertificate.hashOfNonSigners},a={taskId:t.taskId,policyId:t.policyId,policyClient:t.policyClient,intent:t.intent,expiration:n.responseExpireBlock};return{taskResponse:t,responseCertificate:n,attestation:a}}export{g as convertLogToTaskResponse,d as getEvaluationRequestHash};
@@ -13,6 +13,7 @@ export interface SubmitEvaluationRequestParams {
13
13
  intent: Intent;
14
14
  quorumNumber?: Hex | Uint8Array;
15
15
  quorumThresholdPercentage?: number;
16
+ wasmArgs?: Hex | Uint8Array;
16
17
  timeout: number;
17
18
  }
18
19
  export interface NormalizedIntent {
@@ -6,6 +6,7 @@ export declare const getEvaluationRequestHash: (args: {
6
6
  intent: NormalizedIntent;
7
7
  quorumNumber?: Hex;
8
8
  quorumThresholdPercentage?: number;
9
+ wasmArgs?: Hex;
9
10
  timeout: number;
10
11
  }) => `0x${string}`;
11
12
  export declare function convertLogToTaskResponse(log: TaskRespondedLog): TaskResponseResult;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magicnewton/newton-protocol-sdk",
3
- "version": "0.0.8",
3
+ "version": "0.0.9",
4
4
  "description": "Official SDK for the Newton Protocol.",
5
5
  "author": "Newton Foundation <https://x.com/newtfoundation> (https://newton.foundation)",
6
6
  "private": false,