index.ts 639 B

1234567891011121314151617181920212223242526272829303132333435
  1. import * as borsh from "borsh";
  2. import { Buffer } from "buffer";
  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. [ User, {
  22. kind: 'struct',
  23. fields: [
  24. ['name', 'string'],
  25. ],
  26. }]
  27. ]);