Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
v9n committed Nov 20, 2024
1 parent 7f64198 commit 79d9183
Show file tree
Hide file tree
Showing 5 changed files with 1,171 additions and 1,138 deletions.
67 changes: 9 additions & 58 deletions examples/example.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ const { Wallet } = ethers;
const { UlidMonotonic } = require("id128");
const util = require("util");

const { TaskType, TriggerType } = require("./static_codegen/avs_pb");
const { TaskType, TaskTrigger } = require("./static_codegen/avs_pb");

// Load the protobuf definition
const packageDefinition = protoLoader.loadSync("../protobuf/avs.proto", {
Expand Down Expand Up @@ -394,42 +394,42 @@ async function scheduleERC20TransferJob(owner, token, taskCondition) {
metadata.add("authkey", token);

let trigger = {
trigger_type: TriggerType.BLOCKTRIGGER,
trigger_type: TaskTrigger.TriggerTypeCase.BLOCK,
block: {
interval: 5, // run every 5 block
},
};

if (process.argv[2] == "schedule-cron") {
trigger = {
trigger_type: TriggerType.TIMETRIGGER,
trigger_type: TaskTrigger.TriggerTypeCase.CRON,
cron: {
cron_table: [
schedule: [
// every 5 hours
"0 */5 * * *",
],
},
};
} else if (process.argv[2] == "schedule-event") {
trigger = {
trigger_type: TriggerType.EVENTTRIGGER,
trigger_type: TaskTrigger.TriggerTypeCase.EVENT,
event: {
expression: taskCondition,
},
};
} else if (process.argv[2] == "schedule-fixed") {
trigger = {
trigger_type: TriggerType.FIXEDEPOCHTRIGGER,
at: {
epoches: [
trigger_type: TaskTrigger.TriggerTypeCase.AT,
fixed_time: {
epochs: [
Math.floor(new Date().getTime() / 1000 + 3600),
Math.floor(new Date().getTime() / 1000 + 7200),
],
},
};
} else if (process.argv[2] == "schedule-manual") {
trigger = {
trigger_type: TriggerType.MANUALTRIGGER,
trigger_type: TriggerType.MANUAL,
manual: true,
};
}
Expand Down Expand Up @@ -498,55 +498,6 @@ async function scheduleERC20TransferJob(owner, token, taskCondition) {
return result;
}

async function scheduleTimeTransfer(owner, token) {
// Now we can schedule a task
// 1. Generate the calldata to check condition
const taskBody = getTaskData();
console.log("Task body:", taskBody);
console.log("\nTask condition: Timeschedule", "*/2");

const metadata = new grpc.Metadata();
metadata.add("authkey", token);

console.log("Trigger type", TriggerType.TIMETRIGGER);

const result = await asyncRPC(
client,
"CreateTask",
{
// A contract execution will be perform for this taks
task_type: TaskType.CONTRACTEXECUTIONTASK,

actions: [{
contract_execution: {
// Our ERC20 test token deploy on sepolia
// https://sepolia.etherscan.io/token/0x69256ca54e6296e460dec7b29b7dcd97b81a3d55#code
contract_address: config[env].TEST_TRANSFER_TOKEN,
call_data: taskBody,
},
}],
trigger: {
//trigger_type: TriggerType.TIMETRIGGER,
//schedule: {
// cron: "*/2 * * * *",
//},

trigger_type: TriggerType.EVENTTRIGGER,
event: {
expression: `topic0 == "123" && topic2 == "334"`,
},
},

start_at: Math.floor(Date.now() / 1000) + 30,
expired_at: Math.floor(Date.now() / 1000 + 3600 * 24 * 30),
memo: `Demo Example task for ${owner}`,
},
metadata
);

console.log("Expression Task ID is:", result);
}

(async () => {
try {
main(process.argv[2]);
Expand Down
112 changes: 56 additions & 56 deletions examples/static_codegen/avs_grpc_pb.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,6 @@ var avs_pb = require('./avs_pb.js');
var google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');
var google_protobuf_wrappers_pb = require('google-protobuf/google/protobuf/wrappers_pb.js');

function serialize_aggregator_AddressRequest(arg) {
if (!(arg instanceof avs_pb.AddressRequest)) {
throw new Error('Expected argument of type aggregator.AddressRequest');
}
return Buffer.from(arg.serializeBinary());
}

function deserialize_aggregator_AddressRequest(buffer_arg) {
return avs_pb.AddressRequest.deserializeBinary(new Uint8Array(buffer_arg));
}

function serialize_aggregator_AddressResp(arg) {
if (!(arg instanceof avs_pb.AddressResp)) {
throw new Error('Expected argument of type aggregator.AddressResp');
}
return Buffer.from(arg.serializeBinary());
}

function deserialize_aggregator_AddressResp(buffer_arg) {
return avs_pb.AddressResp.deserializeBinary(new Uint8Array(buffer_arg));
}

function serialize_aggregator_Checkin(arg) {
if (!(arg instanceof avs_pb.Checkin)) {
throw new Error('Expected argument of type aggregator.Checkin');
Expand Down Expand Up @@ -105,6 +83,17 @@ function deserialize_aggregator_GetKeyReq(buffer_arg) {
return avs_pb.GetKeyReq.deserializeBinary(new Uint8Array(buffer_arg));
}

function serialize_aggregator_IdReq(arg) {
if (!(arg instanceof avs_pb.IdReq)) {
throw new Error('Expected argument of type aggregator.IdReq');
}
return Buffer.from(arg.serializeBinary());
}

function deserialize_aggregator_IdReq(buffer_arg) {
return avs_pb.IdReq.deserializeBinary(new Uint8Array(buffer_arg));
}

function serialize_aggregator_KeyResp(arg) {
if (!(arg instanceof avs_pb.KeyResp)) {
throw new Error('Expected argument of type aggregator.KeyResp');
Expand Down Expand Up @@ -138,6 +127,28 @@ function deserialize_aggregator_ListTasksResp(buffer_arg) {
return avs_pb.ListTasksResp.deserializeBinary(new Uint8Array(buffer_arg));
}

function serialize_aggregator_ListWalletReq(arg) {
if (!(arg instanceof avs_pb.ListWalletReq)) {
throw new Error('Expected argument of type aggregator.ListWalletReq');
}
return Buffer.from(arg.serializeBinary());
}

function deserialize_aggregator_ListWalletReq(buffer_arg) {
return avs_pb.ListWalletReq.deserializeBinary(new Uint8Array(buffer_arg));
}

function serialize_aggregator_ListWalletResp(arg) {
if (!(arg instanceof avs_pb.ListWalletResp)) {
throw new Error('Expected argument of type aggregator.ListWalletResp');
}
return Buffer.from(arg.serializeBinary());
}

function deserialize_aggregator_ListWalletResp(buffer_arg) {
return avs_pb.ListWalletResp.deserializeBinary(new Uint8Array(buffer_arg));
}

function serialize_aggregator_NonceRequest(arg) {
if (!(arg instanceof avs_pb.NonceRequest)) {
throw new Error('Expected argument of type aggregator.NonceRequest');
Expand Down Expand Up @@ -193,17 +204,6 @@ function deserialize_aggregator_Task(buffer_arg) {
return avs_pb.Task.deserializeBinary(new Uint8Array(buffer_arg));
}

function serialize_aggregator_UUID(arg) {
if (!(arg instanceof avs_pb.UUID)) {
throw new Error('Expected argument of type aggregator.UUID');
}
return Buffer.from(arg.serializeBinary());
}

function deserialize_aggregator_UUID(buffer_arg) {
return avs_pb.UUID.deserializeBinary(new Uint8Array(buffer_arg));
}

function serialize_aggregator_UpdateChecksReq(arg) {
if (!(arg instanceof avs_pb.UpdateChecksReq)) {
throw new Error('Expected argument of type aggregator.UpdateChecksReq');
Expand Down Expand Up @@ -263,19 +263,7 @@ getNonce: {
responseSerialize: serialize_aggregator_NonceResp,
responseDeserialize: deserialize_aggregator_NonceResp,
},
getSmartAccountAddress: {
path: '/aggregator.Aggregator/GetSmartAccountAddress',
requestStream: false,
responseStream: false,
requestType: avs_pb.AddressRequest,
responseType: avs_pb.AddressResp,
requestSerialize: serialize_aggregator_AddressRequest,
requestDeserialize: deserialize_aggregator_AddressRequest,
responseSerialize: serialize_aggregator_AddressResp,
responseDeserialize: deserialize_aggregator_AddressResp,
},
// Task Management
createWallet: {
createWallet: {
path: '/aggregator.Aggregator/CreateWallet',
requestStream: false,
responseStream: false,
Expand All @@ -286,7 +274,19 @@ createWallet: {
responseSerialize: serialize_aggregator_CreateWalletResp,
responseDeserialize: deserialize_aggregator_CreateWalletResp,
},
createTask: {
listWallets: {
path: '/aggregator.Aggregator/ListWallets',
requestStream: false,
responseStream: false,
requestType: avs_pb.ListWalletReq,
responseType: avs_pb.ListWalletResp,
requestSerialize: serialize_aggregator_ListWalletReq,
requestDeserialize: deserialize_aggregator_ListWalletReq,
responseSerialize: serialize_aggregator_ListWalletResp,
responseDeserialize: deserialize_aggregator_ListWalletResp,
},
// Task Management
createTask: {
path: '/aggregator.Aggregator/CreateTask',
requestStream: false,
responseStream: false,
Expand All @@ -312,32 +312,32 @@ createWallet: {
path: '/aggregator.Aggregator/GetTask',
requestStream: false,
responseStream: false,
requestType: avs_pb.UUID,
requestType: avs_pb.IdReq,
responseType: avs_pb.Task,
requestSerialize: serialize_aggregator_UUID,
requestDeserialize: deserialize_aggregator_UUID,
requestSerialize: serialize_aggregator_IdReq,
requestDeserialize: deserialize_aggregator_IdReq,
responseSerialize: serialize_aggregator_Task,
responseDeserialize: deserialize_aggregator_Task,
},
cancelTask: {
path: '/aggregator.Aggregator/CancelTask',
requestStream: false,
responseStream: false,
requestType: avs_pb.UUID,
requestType: avs_pb.IdReq,
responseType: google_protobuf_wrappers_pb.BoolValue,
requestSerialize: serialize_aggregator_UUID,
requestDeserialize: deserialize_aggregator_UUID,
requestSerialize: serialize_aggregator_IdReq,
requestDeserialize: deserialize_aggregator_IdReq,
responseSerialize: serialize_google_protobuf_BoolValue,
responseDeserialize: deserialize_google_protobuf_BoolValue,
},
deleteTask: {
path: '/aggregator.Aggregator/DeleteTask',
requestStream: false,
responseStream: false,
requestType: avs_pb.UUID,
requestType: avs_pb.IdReq,
responseType: google_protobuf_wrappers_pb.BoolValue,
requestSerialize: serialize_aggregator_UUID,
requestDeserialize: deserialize_aggregator_UUID,
requestSerialize: serialize_aggregator_IdReq,
requestDeserialize: deserialize_aggregator_IdReq,
responseSerialize: serialize_google_protobuf_BoolValue,
responseDeserialize: deserialize_google_protobuf_BoolValue,
},
Expand Down
Loading

0 comments on commit 79d9183

Please sign in to comment.