Keeta LogoKeeta Logo@keetanetwork/keetanet-client
    Preparing search index...

    Block: An item which contains a number of operations (transactions) which originated from an account at a particular instant

    Hierarchy (View Summary)

    Implements

    Index

    Constructors

    • Parameters

      • input:
            | string
            | Buffer
            | ArrayBuffer
            | Block
            | {
                $hash: BlockHashString;
                $opening: boolean;
                account: TokenPublicKeyString | NetworkPublicKeyString | StoragePublicKeyString | MultisigPublicKeyString | Secp256K1PublicKeyString | Secp256R1PublicKeyString | ED25519PublicKeyString;
                date: string;
                network: string;
                operations: (
                    | {
                        amount: string;
                        to: string;
                        token: TokenPublicKeyString;
                        type: SEND;
                    } & { external?: string }
                    | { to: string; type: SET_REP } & {}
                    | { description: string; metadata: string; name: string; type: SET_INFO } & {
                        defaultPermission?:
                            | false
                            | [string, number[]]
                            | [string, string]
                            | [number[] | BaseFlagNames, number[]];
                    }
                    | {
                        method: AdjustMethod;
                        permissions: | null
                        | false
                        | [string, number[]]
                        | [string, string]
                        | [number[] | BaseFlagNames, number[]];
                        principal: string;
                        type: MODIFY_PERMISSIONS;
                    } & { target?: string }
                    | { identifier: string; type: CREATE_IDENTIFIER } & {
                        createArguments?:
                            | {
                                quorum: string;
                                signers: (
                                    MultisigPublicKeyString | Secp256K1PublicKeyString | Secp256R1PublicKeyString | ED25519PublicKeyString
                                )[];
                                type: MULTISIG;
                            } & {}
                            | {
                                quorum: string;
                                signers: (
                                    MultisigPublicKeyString | Secp256K1PublicKeyString | Secp256R1PublicKeyString | ED25519PublicKeyString
                                )[];
                                type: MULTISIG;
                            } & {};
                    }
                    | { amount: string; method: ADD
                    | SUBTRACT; type: TOKEN_ADMIN_SUPPLY } & {}
                    | {
                        amount: string;
                        method: AdjustMethod;
                        token: TokenPublicKeyString;
                        type: TOKEN_ADMIN_MODIFY_BALANCE;
                    } & {}
                    | {
                        amount: string;
                        from: string;
                        token: TokenPublicKeyString;
                        type: RECEIVE;
                    } & { exact?: boolean; forward?: string }
                    | {
                        certificateOrHash:
                            | string
                            | CertificateHashString
                            | {
                                $hash: CertificateHashString;
                                issuer: string;
                                issuerDN: { name: string; value: string }[];
                                notAfter: string;
                                notBefore: string;
                                serial: string;
                                subject: string;
                                subjectDN: { name: string; value: string }[];
                                subjectPublicKey: Secp256K1PublicKeyString | Secp256R1PublicKeyString | ED25519PublicKeyString;
                            } & {
                                $binary?: string;
                                $chain?: undefined;
                                baseExtensions?: {} & {
                                    authorityKeyIdentifier?: {
                                        contains: string;
                                        type: "context";
                                        value: 0;
                                    } & {};
                                    basicConstraints?: [ca: boolean, pathLenConstraint?: null | string];
                                    keyUsage?: KeyUsage;
                                    subjectKeyIdentifier?: string;
                                };
                            }
                            | {
                                $hash: CertificateHashString;
                                issuer: string;
                                issuerDN: { name: string; value: string }[];
                                notAfter: string;
                                notBefore: string;
                                serial: string;
                                subject: string;
                                subjectDN: { name: string; value: string }[];
                                subjectPublicKey: Secp256K1PublicKeyString | Secp256R1PublicKeyString | ED25519PublicKeyString;
                            } & {
                                $binary?: string;
                                $chain?: undefined;
                                baseExtensions?: {} & {
                                    authorityKeyIdentifier?: {
                                        contains: string;
                                        type: "context";
                                        value: 0;
                                    } & {};
                                    basicConstraints?: [ca: boolean, pathLenConstraint?: null | string];
                                    keyUsage?: KeyUsage;
                                    subjectKeyIdentifier?: string;
                                };
                            };
                        method: ADD
                        | SUBTRACT;
                        type: MANAGE_CERTIFICATE;
                    } & {
                        intermediateCertificates?: null
                        | string
                        | { certificates: string[] };
                    }
                )[];
                previous: BlockHashString;
                purpose: BlockPurpose;
                signer: Secp256K1PublicKeyString | Secp256R1PublicKeyString | ED25519PublicKeyString | [MultisigPublicKeyString, (Secp256K1PublicKeyString | ... 2 more ... | [...])[]];
                version: 1
                | 2;
            } & {
                $binary?: string;
                idempotent?: string;
                signature?: string;
                signatures?: string[];
                subnet?: string;
            }
            | BlockJSON
            | BlockJSONOptionalSigned
            | {
                $hash: BlockHashString;
                $opening: boolean;
                account: TokenPublicKeyString | NetworkPublicKeyString | StoragePublicKeyString | MultisigPublicKeyString | Secp256K1PublicKeyString | Secp256R1PublicKeyString | ED25519PublicKeyString;
                date: string;
                network: string;
                operations: (
                    | {
                        amount: string;
                        to: string;
                        token: TokenPublicKeyString;
                        type: SEND;
                    } & { external?: string }
                    | { to: string; type: SET_REP } & {}
                    | { description: string; metadata: string; name: string; type: SET_INFO } & {
                        defaultPermission?:
                            | false
                            | [string, number[]]
                            | [string, string]
                            | [number[] | BaseFlagNames, number[]];
                    }
                    | {
                        method: AdjustMethod;
                        permissions: | null
                        | false
                        | [string, number[]]
                        | [string, string]
                        | [number[] | BaseFlagNames, number[]];
                        principal: string;
                        type: MODIFY_PERMISSIONS;
                    } & { target?: string }
                    | { identifier: string; type: CREATE_IDENTIFIER } & {
                        createArguments?:
                            | {
                                quorum: string;
                                signers: (
                                    MultisigPublicKeyString | Secp256K1PublicKeyString | Secp256R1PublicKeyString | ED25519PublicKeyString
                                )[];
                                type: MULTISIG;
                            } & {}
                            | {
                                quorum: string;
                                signers: (
                                    MultisigPublicKeyString | Secp256K1PublicKeyString | Secp256R1PublicKeyString | ED25519PublicKeyString
                                )[];
                                type: MULTISIG;
                            } & {};
                    }
                    | { amount: string; method: ADD
                    | SUBTRACT; type: TOKEN_ADMIN_SUPPLY } & {}
                    | {
                        amount: string;
                        method: AdjustMethod;
                        token: TokenPublicKeyString;
                        type: TOKEN_ADMIN_MODIFY_BALANCE;
                    } & {}
                    | {
                        amount: string;
                        from: string;
                        token: TokenPublicKeyString;
                        type: RECEIVE;
                    } & { exact?: boolean; forward?: string }
                    | {
                        certificateOrHash:
                            | string
                            | CertificateHashString
                            | {
                                $hash: CertificateHashString;
                                issuer: string;
                                issuerDN: { name: string; value: string }[];
                                notAfter: string;
                                notBefore: string;
                                serial: string;
                                subject: string;
                                subjectDN: { name: string; value: string }[];
                                subjectPublicKey: Secp256K1PublicKeyString | Secp256R1PublicKeyString | ED25519PublicKeyString;
                            } & {
                                $binary?: string;
                                $chain?: undefined;
                                baseExtensions?: {} & {
                                    authorityKeyIdentifier?: {
                                        contains: string;
                                        type: "context";
                                        value: 0;
                                    } & {};
                                    basicConstraints?: [ca: boolean, pathLenConstraint?: null | string];
                                    keyUsage?: KeyUsage;
                                    subjectKeyIdentifier?: string;
                                };
                            }
                            | {
                                $hash: CertificateHashString;
                                issuer: string;
                                issuerDN: { name: string; value: string }[];
                                notAfter: string;
                                notBefore: string;
                                serial: string;
                                subject: string;
                                subjectDN: { name: string; value: string }[];
                                subjectPublicKey: Secp256K1PublicKeyString | Secp256R1PublicKeyString | ED25519PublicKeyString;
                            } & {
                                $binary?: string;
                                $chain?: undefined;
                                baseExtensions?: {} & {
                                    authorityKeyIdentifier?: {
                                        contains: string;
                                        type: "context";
                                        value: 0;
                                    } & {};
                                    basicConstraints?: [ca: boolean, pathLenConstraint?: null | string];
                                    keyUsage?: KeyUsage;
                                    subjectKeyIdentifier?: string;
                                };
                            };
                        method: ADD
                        | SUBTRACT;
                        type: MANAGE_CERTIFICATE;
                    } & {
                        intermediateCertificates?: null
                        | string
                        | { certificates: string[] };
                    }
                )[];
                previous: BlockHashString;
                purpose: BlockPurpose;
                signer: Secp256K1PublicKeyString | Secp256R1PublicKeyString | ED25519PublicKeyString | [MultisigPublicKeyString, (Secp256K1PublicKeyString | ... 2 more ... | [...])[]];
                version: 1
                | 2;
            } & {
                $binary?: string;
                idempotent?: string;
                signature?: string;
                signatures?: string[];
                subnet?: string;
            }
            | UnsignedBlock

      Returns Block

    Properties

    $opening: boolean = false
    date: Date
    idempotent: undefined | Buffer
    network: bigint
    operations: BlockOperations[]
    previous: BlockHash
    purpose: BlockPurpose
    subnet: undefined | bigint
    version: 1 | 2
    AdjustMethod: typeof AdjustMethod = AdjustMethod
    Builder: typeof BlockBuilder
    Hash: typeof BlockHash = BlockHash
    isInstance: (obj: any, strict?: boolean) => obj is Block = ...
    NO_PREVIOUS: "9bd05fa2-8e59-42a2-8153-26d8e8c10143:NO_PREVIOUS" = NO_PREVIOUS
    Operation: {
        CREATE_IDENTIFIER: typeof BlockOperationCREATE_IDENTIFIER;
        MANAGE_CERTIFICATE: typeof BlockOperationMANAGE_CERTIFICATE;
        MODIFY_PERMISSIONS: typeof BlockOperationMODIFY_PERMISSIONS;
        RECEIVE: typeof BlockOperationRECEIVE;
        SEND: typeof BlockOperationSEND;
        SET_INFO: typeof BlockOperationSET_INFO;
        SET_REP: typeof BlockOperationSET_REP;
        TOKEN_ADMIN_MODIFY_BALANCE: typeof BlockOperationTOKEN_ADMIN_MODIFY_BALANCE;
        TOKEN_ADMIN_SUPPLY: typeof BlockOperationTOKEN_ADMIN_SUPPLY;
    } = Operations.Operation
    OperationType: typeof OperationType = Operations.OperationType
    Purpose: typeof BlockPurpose = BlockPurpose

    Accessors

    • get hash(): BlockHash

      Hash of the block minus the signature

      XXX:TODO: Should the hash of the block normally include the signature ? One reason against is that it would allow for identical blocks that only differ by signature (which isn't signed)

      Returns BlockHash

    Methods

    • Parameters

      • OptionalincludeSignatures: true

      Returns ArrayBuffer

    • Parameters

      Returns {
          $hash: BlockHashString;
          $opening: boolean;
          account:
              | TokenPublicKeyString
              | NetworkPublicKeyString
              | StoragePublicKeyString
              | MultisigPublicKeyString
              | Secp256K1PublicKeyString
              | Secp256R1PublicKeyString
              | ED25519PublicKeyString;
          date: string;
          network: string;
          operations: (
              | {
                  amount: string;
                  to: string;
                  token: TokenPublicKeyString;
                  type: SEND;
              } & { external?: string }
              | { to: string; type: SET_REP } & {}
              | { description: string; metadata: string; name: string; type: SET_INFO } & {
                  defaultPermission?:
                      | false
                      | [string, number[]]
                      | [string, string]
                      | [number[] | BaseFlagNames, number[]];
              }
              | {
                  method: AdjustMethod;
                  permissions: | null
                  | false
                  | [string, number[]]
                  | [string, string]
                  | [number[] | BaseFlagNames, number[]];
                  principal: string;
                  type: MODIFY_PERMISSIONS;
              } & { target?: string }
              | { identifier: string; type: CREATE_IDENTIFIER } & {
                  createArguments?:
                      | {
                          quorum: string;
                          signers: (
                              | MultisigPublicKeyString
                              | Secp256K1PublicKeyString
                              | Secp256R1PublicKeyString
                              | ED25519PublicKeyString
                          )[];
                          type: MULTISIG;
                      } & {}
                      | {
                          quorum: string;
                          signers: (
                              | MultisigPublicKeyString
                              | Secp256K1PublicKeyString
                              | Secp256R1PublicKeyString
                              | ED25519PublicKeyString
                          )[];
                          type: MULTISIG;
                      } & {};
              }
              | { amount: string; method: ADD
              | SUBTRACT; type: TOKEN_ADMIN_SUPPLY } & {}
              | {
                  amount: string;
                  method: AdjustMethod;
                  token: TokenPublicKeyString;
                  type: TOKEN_ADMIN_MODIFY_BALANCE;
              } & {}
              | {
                  amount: string;
                  from: string;
                  token: TokenPublicKeyString;
                  type: RECEIVE;
              } & { exact?: boolean; forward?: string }
              | {
                  certificateOrHash:
                      | string
                      | CertificateHashString
                      | {
                          $hash: CertificateHashString;
                          issuer: string;
                          issuerDN: { name: string; value: string }[];
                          notAfter: string;
                          notBefore: string;
                          serial: string;
                          subject: string;
                          subjectDN: { name: string; value: string }[];
                          subjectPublicKey:
                              | Secp256K1PublicKeyString
                              | Secp256R1PublicKeyString
                              | ED25519PublicKeyString;
                      } & {
                          $binary?: string;
                          $chain?: undefined;
                          baseExtensions?: {} & {
                              authorityKeyIdentifier?: {
                                  contains: string;
                                  type: "context";
                                  value: 0;
                              } & {};
                              basicConstraints?: [ca: boolean, pathLenConstraint?: null | string];
                              keyUsage?: KeyUsage;
                              subjectKeyIdentifier?: string;
                          };
                      }
                      | {
                          $hash: CertificateHashString;
                          issuer: string;
                          issuerDN: { name: string; value: string }[];
                          notAfter: string;
                          notBefore: string;
                          serial: string;
                          subject: string;
                          subjectDN: { name: string; value: string }[];
                          subjectPublicKey:
                              | Secp256K1PublicKeyString
                              | Secp256R1PublicKeyString
                              | ED25519PublicKeyString;
                      } & {
                          $binary?: string;
                          $chain?: undefined;
                          baseExtensions?: {} & {
                              authorityKeyIdentifier?: {
                                  contains: string;
                                  type: "context";
                                  value: 0;
                              } & {};
                              basicConstraints?: [ca: boolean, pathLenConstraint?: null | string];
                              keyUsage?: KeyUsage;
                              subjectKeyIdentifier?: string;
                          };
                      };
                  method: ADD
                  | SUBTRACT;
                  type: MANAGE_CERTIFICATE;
              } & {
                  intermediateCertificates?: null
                  | string
                  | { certificates: string[] };
              }
          )[];
          previous: BlockHashString;
          purpose: BlockPurpose;
          signer: | Secp256K1PublicKeyString
          | Secp256R1PublicKeyString
          | ED25519PublicKeyString
          | [
              MultisigPublicKeyString,
              (
                  Secp256K1PublicKeyString | Secp256R1PublicKeyString | ED25519PublicKeyString | [MultisigPublicKeyString, (Secp256K1PublicKeyString | ... 2 more ... | [...])[]]
              )[],
          ];
          version: 1
          | 2;
      } & {
          $binary?: string;
          idempotent?: string;
          signature?: string;
          signatures?: string[];
          subnet?: string;
      }

    • Returns [
          version: 0n,
          network: bigint,
          subnet: null
          | bigint,
          idempotent: Buffer,
          date: Omit<ASN1Date, "kind"> & { kind: "general" },
          signer: Buffer,
          account: null | Buffer,
          previous: Buffer,
          operations: (
              | Omit<ASN1ContextTag, "kind" | "value" | "contains"> & {
                  contains: [bigint, bigint];
                  kind: "explicit";
                  value: TOKEN_ADMIN_SUPPLY;
              }
              | Omit<ASN1ContextTag, "kind" | "value" | "contains"> & {
                  contains: [Buffer, bigint, bigint];
                  kind: "explicit";
                  value: TOKEN_ADMIN_MODIFY_BALANCE;
              }
              | Omit<ASN1ContextTag, "kind" | "value" | "contains"> & {
                  contains: [bigint, Buffer, undefined | null | Buffer[]];
                  kind: "explicit";
                  value: MANAGE_CERTIFICATE;
              }
              | Omit<ASN1ContextTag, "kind" | "value" | "contains"> & {
                  contains: [
                      Buffer,
                      bigint,
                      Buffer,
                      undefined
                      | Omit<ASN1String, "kind"> & { kind: "utf8" },
                  ];
                  kind: "explicit";
                  value: SEND;
              }
              | Omit<ASN1ContextTag, "kind" | "value" | "contains"> & {
                  contains: [Buffer];
                  kind: "explicit";
                  value: SET_REP;
              }
              | Omit<ASN1ContextTag, "kind" | "value" | "contains"> & {
                  contains: [
                      Omit<ASN1String, "kind"> & { kind: "utf8" },
                      Omit<ASN1String, "kind"> & { kind: "utf8" },
                      Omit<ASN1String, "kind"> & { kind: "utf8" },
                      undefined | [bigint, bigint],
                  ];
                  kind: "explicit";
                  value: SET_INFO;
              }
              | Omit<ASN1ContextTag, "kind" | "value" | "contains"> & {
                  contains: [
                      Buffer,
                      bigint,
                      null
                      | [bigint, bigint],
                      undefined | Buffer,
                  ];
                  kind: "explicit";
                  value: MODIFY_PERMISSIONS;
              }
              | Omit<ASN1ContextTag, "kind" | "value" | "contains"> & {
                  contains: [
                      Buffer,
                      | undefined
                      | Omit<ASN1ContextTag, "kind" | "value" | "contains"> & {
                          contains: [Buffer[], bigint];
                          kind: "explicit";
                          value: 7;
                      },
                  ];
                  kind: "explicit";
                  value: CREATE_IDENTIFIER;
              }
              | Omit<ASN1ContextTag, "kind" | "value" | "contains"> & {
                  contains: [bigint, Buffer, Buffer, boolean, undefined | Buffer];
                  kind: "explicit";
                  value: RECEIVE;
              }
          )[],
      ]

    • Returns [
          network: bigint,
          subnet: bigint,
          idempotent: Buffer,
          date: Omit<ASN1Date, "kind"> & { kind: "general" },
          purpose: bigint,
          account: Buffer,
          signer: null | Buffer | [multisigPubKey: Buffer, signers: any[]],
          previous: Buffer,
          operations: (
              | Omit<ASN1ContextTag, "kind" | "value" | "contains"> & {
                  contains: [bigint, bigint];
                  kind: "explicit";
                  value: TOKEN_ADMIN_SUPPLY;
              }
              | Omit<ASN1ContextTag, "kind" | "value" | "contains"> & {
                  contains: [Buffer, bigint, bigint];
                  kind: "explicit";
                  value: TOKEN_ADMIN_MODIFY_BALANCE;
              }
              | Omit<ASN1ContextTag, "kind" | "value" | "contains"> & {
                  contains: [bigint, Buffer, undefined | null | Buffer[]];
                  kind: "explicit";
                  value: MANAGE_CERTIFICATE;
              }
              | Omit<ASN1ContextTag, "kind" | "value" | "contains"> & {
                  contains: [
                      Buffer,
                      bigint,
                      Buffer,
                      undefined
                      | Omit<ASN1String, "kind"> & { kind: "utf8" },
                  ];
                  kind: "explicit";
                  value: SEND;
              }
              | Omit<ASN1ContextTag, "kind" | "value" | "contains"> & {
                  contains: [Buffer];
                  kind: "explicit";
                  value: SET_REP;
              }
              | Omit<ASN1ContextTag, "kind" | "value" | "contains"> & {
                  contains: [
                      Omit<ASN1String, "kind"> & { kind: "utf8" },
                      Omit<ASN1String, "kind"> & { kind: "utf8" },
                      Omit<ASN1String, "kind"> & { kind: "utf8" },
                      undefined | [bigint, bigint],
                  ];
                  kind: "explicit";
                  value: SET_INFO;
              }
              | Omit<ASN1ContextTag, "kind" | "value" | "contains"> & {
                  contains: [
                      Buffer,
                      bigint,
                      null
                      | [bigint, bigint],
                      undefined | Buffer,
                  ];
                  kind: "explicit";
                  value: MODIFY_PERMISSIONS;
              }
              | Omit<ASN1ContextTag, "kind" | "value" | "contains"> & {
                  contains: [
                      Buffer,
                      | undefined
                      | Omit<ASN1ContextTag, "kind" | "value" | "contains"> & {
                          contains: [Buffer[], bigint];
                          kind: "explicit";
                          value: 7;
                      },
                  ];
                  kind: "explicit";
                  value: CREATE_IDENTIFIER;
              }
              | Omit<ASN1ContextTag, "kind" | "value" | "contains"> & {
                  contains: [bigint, Buffer, Buffer, boolean, undefined | Buffer];
                  kind: "explicit";
                  value: RECEIVE;
              }
          )[],
      ]