@bitgo-beta/sdk-coin-flrp 1.0.1-beta.9 → 1.0.1-beta.91

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/dist/src/flrp.d.ts +82 -61
  2. package/dist/src/flrp.d.ts.map +1 -1
  3. package/dist/src/flrp.js +293 -134
  4. package/dist/src/lib/atomicTransactionBuilder.d.ts +42 -6
  5. package/dist/src/lib/atomicTransactionBuilder.d.ts.map +1 -1
  6. package/dist/src/lib/atomicTransactionBuilder.js +233 -29
  7. package/dist/src/lib/constants.d.ts +160 -1
  8. package/dist/src/lib/constants.d.ts.map +1 -1
  9. package/dist/src/lib/constants.js +213 -3
  10. package/dist/src/lib/delegatorTxBuilder.d.ts +58 -0
  11. package/dist/src/lib/delegatorTxBuilder.d.ts.map +1 -0
  12. package/dist/src/lib/delegatorTxBuilder.js +224 -0
  13. package/dist/src/lib/exportInCTxBuilder.d.ts +1 -1
  14. package/dist/src/lib/exportInCTxBuilder.d.ts.map +1 -1
  15. package/dist/src/lib/exportInCTxBuilder.js +46 -17
  16. package/dist/src/lib/exportInPTxBuilder.d.ts +1 -1
  17. package/dist/src/lib/exportInPTxBuilder.d.ts.map +1 -1
  18. package/dist/src/lib/exportInPTxBuilder.js +70 -6
  19. package/dist/src/lib/iface.d.ts +52 -1
  20. package/dist/src/lib/iface.d.ts.map +1 -1
  21. package/dist/src/lib/iface.js +1 -1
  22. package/dist/src/lib/importInCTxBuilder.d.ts +67 -0
  23. package/dist/src/lib/importInCTxBuilder.d.ts.map +1 -0
  24. package/dist/src/lib/importInCTxBuilder.js +403 -0
  25. package/dist/src/lib/importInPTxBuilder.d.ts +73 -0
  26. package/dist/src/lib/importInPTxBuilder.d.ts.map +1 -0
  27. package/dist/src/lib/importInPTxBuilder.js +464 -0
  28. package/dist/src/lib/index.d.ts +7 -0
  29. package/dist/src/lib/index.d.ts.map +1 -1
  30. package/dist/src/lib/index.js +15 -2
  31. package/dist/src/lib/keyPair.d.ts.map +1 -1
  32. package/dist/src/lib/keyPair.js +4 -6
  33. package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts +81 -0
  34. package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts.map +1 -0
  35. package/dist/src/lib/permissionlessValidatorTxBuilder.js +248 -0
  36. package/dist/src/lib/transaction.d.ts +111 -0
  37. package/dist/src/lib/transaction.d.ts.map +1 -0
  38. package/dist/src/lib/transaction.js +322 -0
  39. package/dist/src/lib/transactionBuilder.d.ts +85 -0
  40. package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
  41. package/dist/src/lib/transactionBuilder.js +167 -0
  42. package/dist/src/lib/transactionBuilderFactory.d.ts +37 -0
  43. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -0
  44. package/dist/src/lib/transactionBuilderFactory.js +91 -0
  45. package/dist/src/lib/types.d.ts +78 -0
  46. package/dist/src/lib/types.d.ts.map +1 -0
  47. package/dist/src/lib/types.js +5 -0
  48. package/dist/src/lib/utils.d.ts +59 -0
  49. package/dist/src/lib/utils.d.ts.map +1 -1
  50. package/dist/src/lib/utils.js +160 -52
  51. package/dist/src/lib/validatorTxBuilder.d.ts +40 -0
  52. package/dist/src/lib/validatorTxBuilder.d.ts.map +1 -0
  53. package/dist/src/lib/validatorTxBuilder.js +180 -0
  54. package/dist/test/unit/delegatorTxBuilder.test.d.ts +2 -0
  55. package/dist/test/unit/delegatorTxBuilder.test.d.ts.map +1 -0
  56. package/dist/test/unit/delegatorTxBuilder.test.js +233 -0
  57. package/dist/test/unit/lib/atomicTransactionBuilder.js +37 -11
  58. package/dist/test/unit/lib/exportInCTxBuilder.d.ts +2 -0
  59. package/dist/test/unit/lib/exportInCTxBuilder.d.ts.map +1 -0
  60. package/dist/test/unit/lib/exportInCTxBuilder.js +584 -0
  61. package/dist/test/unit/lib/exportInPTxBuilder.d.ts +2 -0
  62. package/dist/test/unit/lib/exportInPTxBuilder.d.ts.map +1 -0
  63. package/dist/test/unit/lib/exportInPTxBuilder.js +377 -0
  64. package/dist/test/unit/lib/importInCTxBuilder.d.ts +2 -0
  65. package/dist/test/unit/lib/importInCTxBuilder.d.ts.map +1 -0
  66. package/dist/test/unit/lib/importInCTxBuilder.js +257 -0
  67. package/dist/test/unit/lib/importInPTxBuilder.d.ts +2 -0
  68. package/dist/test/unit/lib/importInPTxBuilder.d.ts.map +1 -0
  69. package/dist/test/unit/lib/importInPTxBuilder.js +500 -0
  70. package/dist/test/unit/lib/transaction.d.ts +2 -0
  71. package/dist/test/unit/lib/transaction.d.ts.map +1 -0
  72. package/dist/test/unit/lib/transaction.js +460 -0
  73. package/dist/test/unit/lib/utils.js +55 -1
  74. package/dist/test/unit/permissionlessValidatorTxBuilder.test.d.ts +2 -0
  75. package/dist/test/unit/permissionlessValidatorTxBuilder.test.d.ts.map +1 -0
  76. package/dist/test/unit/permissionlessValidatorTxBuilder.test.js +271 -0
  77. package/dist/test/unit/transactionBuilder.test.d.ts +2 -0
  78. package/dist/test/unit/transactionBuilder.test.d.ts.map +1 -0
  79. package/dist/test/unit/transactionBuilder.test.js +114 -0
  80. package/dist/test/unit/validatorTxBuilder.test.d.ts +2 -0
  81. package/dist/test/unit/validatorTxBuilder.test.d.ts.map +1 -0
  82. package/dist/test/unit/validatorTxBuilder.test.js +293 -0
  83. package/dist/tsconfig.tsbuildinfo +1 -1
  84. package/package.json +11 -11
  85. package/.eslintignore +0 -5
  86. package/.eslintrc.json +0 -7
  87. package/.mocharc.yml +0 -8
  88. package/CHANGELOG.md +0 -0
  89. package/dist/test/unit/lib/exportTxBuilder.d.ts +0 -2
  90. package/dist/test/unit/lib/exportTxBuilder.d.ts.map +0 -1
  91. package/dist/test/unit/lib/exportTxBuilder.js +0 -45
@@ -1,70 +1,91 @@
1
- import { BaseCoin, BitGoBase, VerifyAddressOptions, ParsedTransaction, ParseTransactionOptions, KeyPair, SignTransactionOptions, SignedTransaction, InitiateRecoveryOptions, SupplementGenerateWalletOptions, KeychainsTriplet, TransactionPrebuild, PresignTransactionOptions, FeeEstimateOptions, DeriveKeyWithSeedOptions, AuditKeyParams, PopulatedIntent, PrebuildTransactionWithIntentOptions, TokenTransferRecipientParams, BuildNftTransferDataOptions, BaseBroadcastTransactionOptions, BaseBroadcastTransactionResult, MPCAlgorithm, Wallet, IInscriptionBuilder, ExtraPrebuildParamsOptions, ValidMofNOptions, VerifyTransactionOptions, ITransactionExplanation, RecoverTokenTransaction, RecoverWalletTokenOptions, PrecreateBitGoOptions, IWallet } from '@bitgo-beta/sdk-core';
2
1
  import { BaseCoin as StaticsBaseCoin, CoinFamily } from '@bitgo-beta/statics';
3
- import { Hash } from 'crypto';
2
+ import { BaseCoin, BitGoBase, KeyPair, VerifyAddressOptions, SignedTransaction, ParseTransactionOptions, ITransactionRecipient, ParsedTransaction, MultisigType, AuditDecryptedKeyParams } from '@bitgo-beta/sdk-core';
3
+ import * as FlrpLib from './lib';
4
+ import { FlrpSignTransactionOptions, ExplainTransactionOptions, FlrpVerifyTransactionOptions, FlrpTransactionStakingOptions, FlrpTransactionParams } from './lib/iface';
4
5
  export declare class Flrp extends BaseCoin {
5
6
  protected readonly _staticsCoin: Readonly<StaticsBaseCoin>;
6
- protected constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
7
+ constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
7
8
  static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin;
8
9
  getChain(): string;
9
10
  getFamily(): CoinFamily;
10
11
  getFullName(): string;
11
- getBaseFactor(): number | string;
12
- supportsTss(): boolean;
13
- supportsMessageSigning(): boolean;
14
- supportsSigningTypedData(): boolean;
15
- supportsBlockTarget(): boolean;
16
- supportsLightning(): boolean;
17
- supportsBlsDkg(): boolean;
18
- isEVM(): boolean;
19
- generateKeyPair(): KeyPair;
20
- generateRootKeyPair(): KeyPair;
21
- keyIdsForSigning(): number[];
22
- isValidPub(_pub: string): boolean;
23
- isValidAddress(_address: string): boolean;
24
- isValidMofNSetup(_params: ValidMofNOptions): boolean;
25
- canonicalAddress(address: string): string;
26
- checkRecipient(_recipient: {
27
- address: string;
28
- amount: string | number;
29
- }): void;
30
- verifyAddress(_params: VerifyAddressOptions): Promise<boolean>;
31
- isWalletAddress(_params: VerifyAddressOptions): Promise<boolean>;
32
- verifyTransaction(_params: VerifyTransactionOptions): Promise<boolean>;
33
- signTransaction(_params: SignTransactionOptions): Promise<SignedTransaction>;
34
- explainTransaction(_options: Record<string, unknown>): Promise<ITransactionExplanation<unknown, string | number> | undefined>;
35
- parseTransaction(_params: ParseTransactionOptions): Promise<ParsedTransaction>;
36
- presignTransaction(_params: PresignTransactionOptions): Promise<PresignTransactionOptions>;
37
- postProcessPrebuild(prebuild: TransactionPrebuild): Promise<TransactionPrebuild>;
38
- getExtraPrebuildParams(_buildParams: ExtraPrebuildParamsOptions): Promise<Record<string, unknown>>;
39
- feeEstimate(_params: FeeEstimateOptions): Promise<unknown>;
40
- broadcastTransaction(_params: BaseBroadcastTransactionOptions): Promise<BaseBroadcastTransactionResult>;
41
- supplementGenerateWallet(_walletParams: SupplementGenerateWalletOptions, _keychains: KeychainsTriplet): Promise<Record<string, unknown>>;
42
- newWalletObject(walletParams: unknown): IWallet;
43
- preCreateBitGo(_params: PrecreateBitGoOptions): void;
44
- initiateRecovery(_params: InitiateRecoveryOptions): never;
45
- signMessage(_key: {
46
- prv: string;
47
- }, _message: string): Promise<Buffer>;
48
- createKeySignatures(_prv: string, _backup: {
49
- pub: string;
50
- }, _bitgo: {
51
- pub: string;
52
- }): Promise<{
53
- backup: string;
54
- bitgo: string;
55
- }>;
56
- getSignablePayload(_serializedTx: string): Promise<Buffer>;
57
- getMPCAlgorithm(): MPCAlgorithm;
58
- recoverToken(_params: RecoverWalletTokenOptions): Promise<RecoverTokenTransaction>;
59
- buildNftTransferData(_params: BuildNftTransferDataOptions): string | TokenTransferRecipientParams;
60
- getInscriptionBuilder(_wallet: Wallet): IInscriptionBuilder;
61
- getHashFunction(): Hash;
62
- deriveKeyWithSeed(_params: DeriveKeyWithSeedOptions): {
63
- key: string;
64
- derivationPath: string;
65
- };
66
- setCoinSpecificFieldsInIntent(_intent: PopulatedIntent, _params: PrebuildTransactionWithIntentOptions): void;
67
- assertIsValidKey(_params: AuditKeyParams): void;
68
- auditDecryptedKey(): void;
12
+ getBaseFactor(): string | number;
13
+ /** inherited doc */
14
+ getDefaultMultisigType(): MultisigType;
15
+ /**
16
+ * Check if staking txn is valid, based on expected tx params.
17
+ *
18
+ * @param {FlrpTransactionStakingOptions} stakingOptions expected staking params to check against
19
+ * @param {FlrpLib.TransactionExplanation} explainedTx explained staking transaction
20
+ */
21
+ validateStakingTx(stakingOptions: FlrpTransactionStakingOptions, explainedTx: FlrpLib.TransactionExplanation): void;
22
+ /**
23
+ * Check if export txn is valid, based on expected tx params.
24
+ *
25
+ * @param {ITransactionRecipient[]} recipients expected recipients and info
26
+ * @param {FlrpLib.TransactionExplanation} explainedTx explained export transaction
27
+ */
28
+ validateExportTx(recipients: ITransactionRecipient[], explainedTx: FlrpLib.TransactionExplanation): void;
29
+ /**
30
+ * Check if import txn into P is valid, based on expected tx params.
31
+ *
32
+ * @param {FlrpLib.FlrpEntry[]} explainedTxInputs tx inputs (unspents to be imported)
33
+ * @param {FlrpTransactionParams} txParams expected tx info to check against
34
+ */
35
+ validateImportTx(explainedTxInputs: FlrpLib.FlrpEntry[], txParams: FlrpTransactionParams): void;
36
+ verifyTransaction(params: FlrpVerifyTransactionOptions): Promise<boolean>;
37
+ /**
38
+ * Check if address is valid, then make sure it matches the root address.
39
+ *
40
+ * @param params.address address to validate
41
+ * @param params.keychains public keys to generate the wallet
42
+ */
43
+ isWalletAddress(params: VerifyAddressOptions): Promise<boolean>;
44
+ /**
45
+ * Validate that two multisig address arrays have the same elements, order doesnt matter
46
+ * @param addressArray1
47
+ * @param addressArray2
48
+ * @returns true if address arrays have the same addresses
49
+ * @private
50
+ */
51
+ private adressesArraysMatch;
52
+ /**
53
+ * Generate Flrp key pair
54
+ *
55
+ * @param {Buffer} seed - Seed from which the new keypair should be generated, otherwise a random seed is used
56
+ * @returns {Object} object with generated pub and prv
57
+ */
58
+ generateKeyPair(seed?: Buffer): KeyPair;
59
+ /**
60
+ * Return boolean indicating whether input is valid public key for the coin
61
+ *
62
+ * @param {string} pub the prv to be checked
63
+ * @returns is it valid?
64
+ */
65
+ isValidPub(pub: string): boolean;
66
+ /**
67
+ * Return boolean indicating whether input is valid private key for the coin
68
+ *
69
+ * @param {string} prv the prv to be checked
70
+ * @returns is it valid?
71
+ */
72
+ isValidPrv(prv: string): boolean;
73
+ isValidAddress(address: string | string[]): boolean;
74
+ /**
75
+ * Signs Flrp transaction
76
+ */
77
+ signTransaction(params: FlrpSignTransactionOptions): Promise<SignedTransaction>;
78
+ parseTransaction(params: ParseTransactionOptions): Promise<ParsedTransaction>;
79
+ /**
80
+ * Explain a Flrp transaction from txHex
81
+ * @param params
82
+ * @param callback
83
+ */
84
+ explainTransaction(params: ExplainTransactionOptions): Promise<FlrpLib.TransactionExplanation>;
85
+ recoverySignature(message: Buffer, signature: Buffer): Buffer;
86
+ signMessage(key: KeyPair, message: string | Buffer): Promise<Buffer>;
87
+ private getBuilder;
88
+ /** @inheritDoc */
89
+ auditDecryptedKey(params: AuditDecryptedKeyParams): void;
69
90
  }
70
91
  //# sourceMappingURL=flrp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"flrp.d.ts","sourceRoot":"","sources":["../../src/flrp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flrp.d.ts","sourceRoot":"","sources":["../../src/flrp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,QAAQ,IAAI,eAAe,EAAE,UAAU,EAAS,MAAM,qBAAqB,CAAC;AACnG,OAAO,EACL,QAAQ,EACR,SAAS,EACT,OAAO,EACP,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EAOvB,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EAEZ,uBAAuB,EAExB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,OAAO,MAAM,OAAO,CAAC;AACjC,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,4BAA4B,EAC5B,6BAA6B,EAC7B,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAIrB,qBAAa,IAAK,SAAQ,QAAQ;IAChC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;gBAE/C,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAUrE,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F,QAAQ,IAAI,MAAM;IAGlB,SAAS,IAAI,UAAU;IAGvB,WAAW,IAAI,MAAM;IAGrB,aAAa,IAAI,MAAM,GAAG,MAAM;IAIhC,oBAAoB;IACpB,sBAAsB,IAAI,YAAY;IAItC;;;;;OAKG;IACH,iBAAiB,CAAC,cAAc,EAAE,6BAA6B,EAAE,WAAW,EAAE,OAAO,CAAC,sBAAsB,GAAG,IAAI;IAYnH;;;;;OAKG;IACH,gBAAgB,CAAC,UAAU,EAAE,qBAAqB,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,sBAAsB,GAAG,IAAI;IAqBxG;;;;;OAKG;IACH,gBAAgB,CAAC,iBAAiB,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAgBzF,iBAAiB,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,OAAO,CAAC;IA4D/E;;;;;OAKG;IACG,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IA6BrE;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;;;OAKG;IACH,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO;IAcvC;;;;;OAKG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAShC;;;;;OAKG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAShC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO;IAanD;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkB/E,gBAAgB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAInF;;;;OAIG;IACG,kBAAkB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC;IAcpG,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAIvD,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAW1E,OAAO,CAAC,UAAU;IAIlB,kBAAkB;IAClB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI;CAIzD"}