import { ManuscriptWallet } from "./ManuscriptWallet"; import { common, smartwalletallowance } from "@koinosbox/contracts"; import { manuscriptwallet } from "./proto/manuscriptwallet"; import { authority, System, Protobuf } from "@koinos/sdk-as"; const contract = new ManuscriptWallet(); contract.callArgs = System.getArguments(); let returnBuffer = new Uint8Array(1024); switch (contract.callArgs!.entry_point) { /* class ManuscriptWallet */ // get_nonce case 0x8e465905: { const result = contract.get_nonce(); returnBuffer = Protobuf.encode(result, common.uint32.encode); break; } // get_authorities case 0xd93a59eb: { const result = contract.get_authorities(); returnBuffer = Protobuf.encode(result, manuscriptwallet.authorities.encode); break; } // set_authorities case 0x478e1871: { const args = Protobuf.decode(contract.callArgs!.args, manuscriptwallet.authorities.decode); contract.set_authorities(args); returnBuffer = new Uint8Array(0); break; } // set_allowance case 0xb1569611: { const args = Protobuf.decode(contract.callArgs!.args, smartwalletallowance.allowance.decode); contract.set_allowance(args); returnBuffer = new Uint8Array(0); break; } // execute_transaction case 0x05fa2e2f: { const args = Protobuf.decode(contract.callArgs!.args, manuscriptwallet.execute_transaction_args.decode); contract.execute_transaction(args); returnBuffer = new Uint8Array(0); break; } // authorize case 0x4a2dbd90: { const args = Protobuf.decode(contract.callArgs!.args, authority.authorize_arguments.decode); const result = contract.authorize(args); returnBuffer = Protobuf.encode(result, authority.authorize_result.encode); break; } /* class SmartWalletAllowance */ default: { System.exit(1); break; } } System.exit(0, returnBuffer);