{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import type { Schema } from \"@fastnear/borsh\"\n\nexport const nearChainSchema = new (class BorshSchema {\n  Ed25519Signature: Schema = {\n    struct: {\n      data: { array: { type: \"u8\", len: 64 } },\n    },\n  };\n  Secp256k1Signature: Schema = {\n    struct: {\n      data: { array: { type: \"u8\", len: 65 } },\n    },\n  };\n  Signature: Schema = {\n    enum: [\n      { struct: { ed25519Signature: this.Ed25519Signature } },\n      { struct: { secp256k1Signature: this.Secp256k1Signature } },\n    ],\n  };\n  Ed25519Data: Schema = {\n    struct: {\n      data: { array: { type: \"u8\", len: 32 } },\n    },\n  };\n  Secp256k1Data: Schema = {\n    struct: {\n      data: { array: { type: \"u8\", len: 64 } },\n    },\n  };\n  PublicKey: Schema = {\n    enum: [\n      { struct: { ed25519Key: this.Ed25519Data } },\n      { struct: { secp256k1Key: this.Secp256k1Data } },\n    ],\n  };\n  FunctionCallPermission: Schema = {\n    struct: {\n      allowance: { option: \"u128\" },\n      receiverId: \"string\",\n      methodNames: { array: { type: \"string\" } },\n    },\n  };\n  FullAccessPermission: Schema = {\n    struct: {},\n  };\n  AccessKeyPermission: Schema = {\n    enum: [\n      { struct: { functionCall: this.FunctionCallPermission } },\n      { struct: { fullAccess: this.FullAccessPermission } },\n    ],\n  };\n  AccessKey: Schema = {\n    struct: {\n      nonce: \"u64\",\n      permission: this.AccessKeyPermission,\n    },\n  };\n  CreateAccount: Schema = {\n    struct: {},\n  };\n  DeployContract: Schema = {\n    struct: {\n      code: { array: { type: \"u8\" } },\n    },\n  };\n  FunctionCall: Schema = {\n    struct: {\n      methodName: \"string\",\n      args: { array: { type: \"u8\" } },\n      gas: \"u64\",\n      deposit: \"u128\",\n    },\n  };\n  Transfer: Schema = {\n    struct: {\n      deposit: \"u128\",\n    },\n  };\n  Stake: Schema = {\n    struct: {\n      stake: \"u128\",\n      publicKey: this.PublicKey,\n    },\n  };\n  AddKey: Schema = {\n    struct: {\n      publicKey: this.PublicKey,\n      accessKey: this.AccessKey,\n    },\n  };\n  DeleteKey: Schema = {\n    struct: {\n      publicKey: this.PublicKey,\n    },\n  };\n  DeleteAccount: Schema = {\n    struct: {\n      beneficiaryId: \"string\",\n    },\n  };\n  ClassicAction: Schema = {\n    enum: [\n      { struct: { createAccount: this.CreateAccount } },\n      { struct: { deployContract: this.DeployContract } },\n      { struct: { functionCall: this.FunctionCall } },\n      { struct: { transfer: this.Transfer } },\n      { struct: { stake: this.Stake } },\n      { struct: { addKey: this.AddKey } },\n      { struct: { deleteKey: this.DeleteKey } },\n      { struct: { deleteAccount: this.DeleteAccount } },\n    ],\n  };\n  DelegateAction: Schema = {\n    struct: {\n      senderId: \"string\",\n      receiverId: \"string\",\n      actions: { array: { type: this.ClassicAction } },\n      nonce: \"u64\",\n      maxBlockHeight: \"u64\",\n      publicKey: this.PublicKey,\n    },\n  };\n  SignedDelegate: Schema = {\n    struct: {\n      delegateAction: this.DelegateAction,\n      signature: this.Signature,\n    },\n  };\n  Action: Schema = {\n    enum: [\n      { struct: { createAccount: this.CreateAccount } },\n      { struct: { deployContract: this.DeployContract } },\n      { struct: { functionCall: this.FunctionCall } },\n      { struct: { transfer: this.Transfer } },\n      { struct: { stake: this.Stake } },\n      { struct: { addKey: this.AddKey } },\n      { struct: { deleteKey: this.DeleteKey } },\n      { struct: { deleteAccount: this.DeleteAccount } },\n      { struct: { signedDelegate: this.SignedDelegate } },\n    ],\n  };\n  Transaction: Schema = {\n    struct: {\n      signerId: \"string\",\n      publicKey: this.PublicKey,\n      nonce: \"u64\",\n      receiverId: \"string\",\n      blockHash: { array: { type: \"u8\", len: 32 } },\n      actions: { array: { type: this.Action } },\n    },\n  };\n  SignedTransaction: Schema = {\n    struct: {\n      transaction: this.Transaction,\n      signature: this.Signature,\n    },\n  };\n})();\n\nexport const getBorshSchema = () => nearChainSchema;\n"],"mappings":"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","names":[]}