@veive-io/mod-validation-multisign-as
Version:
Validation multisign module for Veive
126 lines (113 loc) • 5.89 kB
text/typescript
import { System, Protobuf, StringBytes } from "@koinos/sdk-as";
import { modvalidation } from "@veive-io/mod-validation-as";
import { modvalidationmultisign } from "./proto/modvalidationmultisign";
import { IModValidation as ModValidation } from "@veive-io/mod-validation-as";
export class ModValidationMultisign extends ModValidation {
/**
* Validate operation by checking allowance
* @external
*/
is_authorized(args: modvalidation.authorize_arguments): modvalidation.authorize_result {
const argsBuffer = Protobuf.encode(args, modvalidation.authorize_arguments.encode);
const callRes = System.call(this._contractId, 0x671f5bf7, argsBuffer);
if (callRes.code != 0) {
const errorMessage = `failed to call 'ModValidationMultisign.is_authorized': ${callRes.res.error && callRes.res.error!.message ? callRes.res.error!.message : "unknown error"}`;
System.exit(callRes.code, StringBytes.stringToBytes(errorMessage));
}
if (!callRes.res.object) return new modvalidation.authorize_result();
return Protobuf.decode<modvalidation.authorize_result>(callRes.res.object, modvalidation.authorize_result.decode);
}
/**
* @external
*/
set_threshold(args: modvalidationmultisign.set_threshold_args): void {
const argsBuffer = Protobuf.encode(args, modvalidationmultisign.set_threshold_args.encode);
const callRes = System.call(this._contractId, 0x0a141a40, argsBuffer);
if (callRes.code != 0) {
const errorMessage = `failed to call 'ModValidationMultisign.set_threshold': ${callRes.res.error && callRes.res.error!.message ? callRes.res.error!.message : "unknown error"}`;
System.exit(callRes.code, StringBytes.stringToBytes(errorMessage));
}
return;
}
/**
* @external
* @readonly
*/
get_threshold(args: modvalidationmultisign.get_threshold_args): modvalidationmultisign.get_threshold_result {
const argsBuffer = Protobuf.encode(args, modvalidationmultisign.get_threshold_args.encode);
const callRes = System.call(this._contractId, 0x00ff64fa, argsBuffer);
if (callRes.code != 0) {
const errorMessage = `failed to call 'ModValidationMultisign.get_threshold': ${callRes.res.error && callRes.res.error!.message ? callRes.res.error!.message : "unknown error"}`;
System.exit(callRes.code, StringBytes.stringToBytes(errorMessage));
}
if (!callRes.res.object) return new modvalidationmultisign.get_threshold_result();
return Protobuf.decode<modvalidationmultisign.get_threshold_result>(callRes.res.object, modvalidationmultisign.get_threshold_result.decode);
}
/**
* @external
*/
on_install(args: modvalidation.on_install_args): void {
const argsBuffer = Protobuf.encode(args, modvalidation.on_install_args.encode);
const callRes = System.call(this._contractId, 0xd3813539, argsBuffer);
if (callRes.code != 0) {
const errorMessage = `failed to call 'ModValidationMultisign.on_install': ${callRes.res.error && callRes.res.error!.message ? callRes.res.error!.message : "unknown error"}`;
System.exit(callRes.code, StringBytes.stringToBytes(errorMessage));
}
return;
}
/**
* @external
* @readonly
*/
manifest(): modvalidation.manifest {
const argsBuffer = new Uint8Array(0);
const callRes = System.call(this._contractId, 0x05b3abf2, argsBuffer);
if (callRes.code != 0) {
const errorMessage = `failed to call 'ModValidationMultisign.manifest': ${callRes.res.error && callRes.res.error!.message ? callRes.res.error!.message : "unknown error"}`;
System.exit(callRes.code, StringBytes.stringToBytes(errorMessage));
}
if (!callRes.res.object) return new modvalidation.manifest();
return Protobuf.decode<modvalidation.manifest>(callRes.res.object, modvalidation.manifest.decode);
}
/**
* Add a guardian
* @external
*/
add_guardian(args: modvalidationmultisign.add_guardian_args): void {
const argsBuffer = Protobuf.encode(args, modvalidationmultisign.add_guardian_args.encode);
const callRes = System.call(this._contractId, 0xacd71204, argsBuffer);
if (callRes.code != 0) {
const errorMessage = `failed to call 'ModValidationMultisign.add_guardian': ${callRes.res.error && callRes.res.error!.message ? callRes.res.error!.message : "unknown error"}`;
System.exit(callRes.code, StringBytes.stringToBytes(errorMessage));
}
return;
}
/**
* Remove a guardian
* @external
*/
remove_guardian(args: modvalidationmultisign.remove_guardian_args): void {
const argsBuffer = Protobuf.encode(args, modvalidationmultisign.remove_guardian_args.encode);
const callRes = System.call(this._contractId, 0x6f6fbc01, argsBuffer);
if (callRes.code != 0) {
const errorMessage = `failed to call 'ModValidationMultisign.remove_guardian': ${callRes.res.error && callRes.res.error!.message ? callRes.res.error!.message : "unknown error"}`;
System.exit(callRes.code, StringBytes.stringToBytes(errorMessage));
}
return;
}
/**
* Get all guardians
* @readonly
* @external
*/
get_guardians(args: modvalidationmultisign.get_guardians_args): modvalidationmultisign.get_guardians_result {
const argsBuffer = Protobuf.encode(args, modvalidationmultisign.get_guardians_args.encode);
const callRes = System.call(this._contractId, 0xf04bd5cb, argsBuffer);
if (callRes.code != 0) {
const errorMessage = `failed to call 'ModValidationMultisign.get_guardians': ${callRes.res.error && callRes.res.error!.message ? callRes.res.error!.message : "unknown error"}`;
System.exit(callRes.code, StringBytes.stringToBytes(errorMessage));
}
if (!callRes.res.object) return new modvalidationmultisign.get_guardians_result();
return Protobuf.decode<modvalidationmultisign.get_guardians_result>(callRes.res.object, modvalidationmultisign.get_guardians_result.decode);
}
}