Skip to content

Commit 769e003

Browse files
committed
SF-126: Show error message
1 parent aea14c0 commit 769e003

File tree

9 files changed

+10534
-4038
lines changed

9 files changed

+10534
-4038
lines changed

package-lock.json

Lines changed: 9211 additions & 3982 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,12 @@
1212
"test": "jest"
1313
},
1414
"dependencies": {
15-
"@project-serum/anchor": "^0.21.0",
16-
"@solana/web3.js": "^1.22.0",
15+
"@project-serum/anchor": "^0.24.2",
16+
"@solana/web3.js": "^1.37.2",
1717
"lodash": "^4.17.21"
1818
},
1919
"devDependencies": {
20+
"@types/bn.js": "^5.1.0",
2021
"@types/jest": "^27.4.0",
2122
"@types/mocha": "^9.1.0",
2223
"buffer-layout": "^1.2.2",

src/builder/instruction-builder.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { Keypair, PublicKey, SystemProgram } from "@solana/web3.js";
2-
import { Program } from "@project-serum/anchor";
2+
import { Program, AnchorProvider } from "@project-serum/anchor";
33
import { InstructionsAndSigners, Job } from "../model/job";
4-
import { JOB_ACCOUNT_DEFAULT_SIZE } from "../config/job-config";
4+
import { Snowflake } from "../idl/snowflake";
55

66
export class InstructionBuilder {
7-
program: Program;
8-
constructor(program: Program) {
7+
program: Program<Snowflake>;
8+
constructor(program: Program<Snowflake>) {
99
this.program = program;
1010
}
1111

@@ -19,7 +19,7 @@ export class InstructionBuilder {
1919
let createContext: any = {
2020
accounts: {
2121
flow: newFlowKeyPair.publicKey,
22-
owner: this.program.provider.wallet.publicKey,
22+
owner: (this.program.provider as AnchorProvider).wallet.publicKey,
2323
systemProgram: SystemProgram.programId,
2424
},
2525
};
@@ -37,7 +37,7 @@ export class InstructionBuilder {
3737
let updateContext: any = {
3838
accounts: {
3939
flow: job.pubKey,
40-
owner: this.program.provider.wallet.publicKey,
40+
owner: (this.program.provider as AnchorProvider).wallet.publicKey,
4141
},
4242
signers: [],
4343
};
@@ -53,7 +53,7 @@ export class InstructionBuilder {
5353
let deleteContext: any = {
5454
accounts: {
5555
flow: jobPubKey,
56-
owner: this.program.provider.wallet.publicKey,
56+
owner: (this.program.provider as AnchorProvider).wallet.publicKey,
5757
},
5858
signers: [],
5959
};

src/idl/snowflake.json

Lines changed: 83 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,42 @@
166166
],
167167
"args": []
168168
},
169+
{
170+
"name": "chargeFlowMonitoringFee",
171+
"accounts": [
172+
{
173+
"name": "flow",
174+
"isMut": true,
175+
"isSigner": false
176+
},
177+
{
178+
"name": "owner",
179+
"isMut": false,
180+
"isSigner": false
181+
},
182+
{
183+
"name": "pda",
184+
"isMut": true,
185+
"isSigner": false
186+
},
187+
{
188+
"name": "caller",
189+
"isMut": false,
190+
"isSigner": true
191+
},
192+
{
193+
"name": "systemProgram",
194+
"isMut": false,
195+
"isSigner": false
196+
},
197+
{
198+
"name": "programSettings",
199+
"isMut": false,
200+
"isSigner": false
201+
}
202+
],
203+
"args": []
204+
},
169205
{
170206
"name": "withdrawNative",
171207
"accounts": [
@@ -482,35 +518,6 @@
482518
]
483519
}
484520
},
485-
{
486-
"name": "ErrorCode",
487-
"type": {
488-
"kind": "enum",
489-
"variants": [
490-
{
491-
"name": "InvalidJobData"
492-
},
493-
{
494-
"name": "JobIsNotAssignedToOperator"
495-
},
496-
{
497-
"name": "JobIsNotDueForExecution"
498-
},
499-
{
500-
"name": "CannotMarkJobAsErrorIfItsWithinSchedule"
501-
},
502-
{
503-
"name": "OperatorIsAlreadyRegistered"
504-
},
505-
{
506-
"name": "ExecuteNowCanOnlyBePerformedByFlowOwner"
507-
},
508-
{
509-
"name": "UserInstructionMustNotReferenceTheNodeOperator"
510-
}
511-
]
512-
}
513-
},
514521
{
515522
"name": "TriggerType",
516523
"type": {
@@ -543,6 +550,53 @@
543550
}
544551
}
545552
],
553+
"errors": [
554+
{
555+
"code": 6000,
556+
"name": "InvalidJobData",
557+
"msg": "The job data is invalid."
558+
},
559+
{
560+
"code": 6001,
561+
"name": "JobIsNotAssignedToOperator",
562+
"msg": "The job is not assigned to this operator."
563+
},
564+
{
565+
"code": 6002,
566+
"name": "JobIsNotDueForExecution",
567+
"msg": "The job is not due for execution."
568+
},
569+
{
570+
"code": 6003,
571+
"name": "JobDoesNotRequireFrequentMonitoring",
572+
"msg": "The job does not require frequent monitoring."
573+
},
574+
{
575+
"code": 6004,
576+
"name": "JobIsAlreadyCharged",
577+
"msg": "The job is already charged."
578+
},
579+
{
580+
"code": 6005,
581+
"name": "CannotMarkJobAsErrorIfItsWithinSchedule",
582+
"msg": "Unable to mark the time triggered job as error because it is still within schedule."
583+
},
584+
{
585+
"code": 6006,
586+
"name": "OperatorIsAlreadyRegistered",
587+
"msg": "The operator is already registered."
588+
},
589+
{
590+
"code": 6007,
591+
"name": "ExecuteNowCanOnlyBePerformedByFlowOwner",
592+
"msg": "Execute now can only be performed by flow owner."
593+
},
594+
{
595+
"code": 6008,
596+
"name": "UserInstructionMustNotReferenceTheNodeOperator",
597+
"msg": "User instruction must not reference the node operator."
598+
}
599+
],
546600
"metadata": {
547601
"address": "BiVwqu45yQTxqTTTAD1UrMZNyZ3qsEVqKwTEfG9BvUs6"
548602
}

0 commit comments

Comments
 (0)