index.ts 576 B

12345678910111213141516171819202122232425262728293031323334
  1. import { Buffer } from 'node:buffer';
  2. import * as borsh from 'borsh';
  3. export class User {
  4. name: string;
  5. constructor(props: {
  6. name: string;
  7. }) {
  8. this.name = props.name;
  9. }
  10. toBase58() {
  11. return borsh.serialize(UserSchema, this).toString();
  12. }
  13. toBuffer() {
  14. return Buffer.from(borsh.serialize(UserSchema, this));
  15. }
  16. static fromBuffer(buffer: Buffer) {
  17. return borsh.deserialize(UserSchema, User, buffer);
  18. }
  19. }
  20. export const UserSchema = new Map([
  21. [
  22. User,
  23. {
  24. kind: 'struct',
  25. fields: [['name', 'string']],
  26. },
  27. ],
  28. ]);