@bitgo/sdk-core 35.4.1 → 35.6.0
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.
- package/CHANGELOG.md +19 -0
- package/dist/src/account-lib/baseCoin/errors.d.ts +3 -0
- package/dist/src/account-lib/baseCoin/errors.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/errors.js +8 -2
- package/dist/src/account-lib/baseCoin/iface.d.ts +8 -0
- package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/iface.js +23 -1
- package/dist/src/account-lib/baseCoin/index.d.ts +1 -0
- package/dist/src/account-lib/baseCoin/index.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/index.js +2 -1
- package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts +88 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessage.js +153 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +67 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.js +144 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +33 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +44 -0
- package/dist/src/account-lib/baseCoin/messages/iface.d.ts +164 -0
- package/dist/src/account-lib/baseCoin/messages/iface.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/iface.js +3 -0
- package/dist/src/account-lib/baseCoin/messages/index.d.ts +6 -0
- package/dist/src/account-lib/baseCoin/messages/index.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/index.js +22 -0
- package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts +3 -0
- package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/simple/index.js +19 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts +13 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.js +28 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts +21 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.js +28 -0
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +3 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.js +1 -1
- package/dist/src/bitgo/environments.d.ts.map +1 -1
- package/dist/src/bitgo/environments.js +17 -1
- package/dist/src/bitgo/staking/goStakingInterfaces.d.ts +129 -0
- package/dist/src/bitgo/staking/goStakingInterfaces.d.ts.map +1 -0
- package/dist/src/bitgo/staking/goStakingInterfaces.js +3 -0
- package/dist/src/bitgo/staking/goStakingWallet.d.ts +27 -1
- package/dist/src/bitgo/staking/goStakingWallet.d.ts.map +1 -1
- package/dist/src/bitgo/staking/goStakingWallet.js +52 -1
- package/dist/src/bitgo/staking/iGoStakingWallet.d.ts +8 -35
- package/dist/src/bitgo/staking/iGoStakingWallet.d.ts.map +1 -1
- package/dist/src/bitgo/staking/iGoStakingWallet.js +1 -1
- package/dist/src/bitgo/staking/index.d.ts +1 -0
- package/dist/src/bitgo/staking/index.d.ts.map +1 -1
- package/dist/src/bitgo/staking/index.js +2 -1
- package/dist/src/bitgo/utils/index.d.ts +1 -0
- package/dist/src/bitgo/utils/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/index.js +2 -1
- package/dist/src/bitgo/utils/messageTypes.d.ts +37 -0
- package/dist/src/bitgo/utils/messageTypes.d.ts.map +1 -0
- package/dist/src/bitgo/utils/messageTypes.js +14 -0
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +16 -2
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.js +48 -2
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts +3 -0
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTypes.js +1 -1
- package/dist/src/bitgo/wallet/iWallet.d.ts +2 -1
- package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallet.js +1 -1
- package/dist/src/bitgo/wallet/wallet.d.ts +7 -0
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallet.js +51 -11
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts +2 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.js +206 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +2 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.js +173 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +2 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +105 -0
- package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts +46 -0
- package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts.map +1 -0
- package/dist/test/unit/account-lib/baseCoin/messages/fixtures.js +69 -0
- package/dist/test/unit/bitgo/utils/messageTypes.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/messageTypes.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/messageTypes.js +64 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseMessageBuilder = void 0;
|
|
4
|
+
const bitgo_1 = require("../../../bitgo");
|
|
5
|
+
const iface_1 = require("../iface");
|
|
6
|
+
/**
|
|
7
|
+
* Base Message Builder
|
|
8
|
+
*/
|
|
9
|
+
class BaseMessageBuilder {
|
|
10
|
+
/**
|
|
11
|
+
* Base constructor.
|
|
12
|
+
* @param coinConfig BaseCoin from statics library
|
|
13
|
+
* @param messageType The type of message this builder creates, defaults to UNKNOWN
|
|
14
|
+
*/
|
|
15
|
+
constructor(coinConfig, messageType = bitgo_1.MessageStandardType.UNKNOWN) {
|
|
16
|
+
this.payload = '';
|
|
17
|
+
this.signatures = [];
|
|
18
|
+
this.signers = [];
|
|
19
|
+
this.metadata = {};
|
|
20
|
+
this.coinConfig = coinConfig;
|
|
21
|
+
this.type = messageType;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Sets the message payload to be used when building the message
|
|
25
|
+
* @param payload The message payload (string, JSON, etc.)
|
|
26
|
+
* @returns The builder instance for chaining
|
|
27
|
+
*/
|
|
28
|
+
setPayload(payload) {
|
|
29
|
+
this.payload = payload;
|
|
30
|
+
return this;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Sets metadata for the message
|
|
34
|
+
* @param metadata Additional metadata for the message
|
|
35
|
+
* @returns The builder instance for chaining
|
|
36
|
+
*/
|
|
37
|
+
setMetadata(metadata) {
|
|
38
|
+
this.metadata = metadata;
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Gets the current message payload
|
|
43
|
+
* @returns The current message payload
|
|
44
|
+
*/
|
|
45
|
+
getPayload() {
|
|
46
|
+
return this.payload;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Gets the current metadata
|
|
50
|
+
* @returns The current metadata
|
|
51
|
+
*/
|
|
52
|
+
getMetadata() {
|
|
53
|
+
return this.metadata;
|
|
54
|
+
}
|
|
55
|
+
getType() {
|
|
56
|
+
return this.type;
|
|
57
|
+
}
|
|
58
|
+
setType(value) {
|
|
59
|
+
this.type = value;
|
|
60
|
+
return this;
|
|
61
|
+
}
|
|
62
|
+
getSignatures() {
|
|
63
|
+
return this.signatures;
|
|
64
|
+
}
|
|
65
|
+
setSignatures(signatures) {
|
|
66
|
+
this.signatures = signatures;
|
|
67
|
+
return this;
|
|
68
|
+
}
|
|
69
|
+
addSignature(signature) {
|
|
70
|
+
if (!this.signatures.some((sig) => sig.publicKey.pub === signature.publicKey.pub && sig.signature.equals(signature.signature))) {
|
|
71
|
+
this.signatures.push(signature);
|
|
72
|
+
}
|
|
73
|
+
return this;
|
|
74
|
+
}
|
|
75
|
+
getSigners() {
|
|
76
|
+
return this.signers;
|
|
77
|
+
}
|
|
78
|
+
setSigners(value) {
|
|
79
|
+
this.signers = value;
|
|
80
|
+
return this;
|
|
81
|
+
}
|
|
82
|
+
addSigner(signer) {
|
|
83
|
+
if (!this.signers.includes(signer)) {
|
|
84
|
+
this.signers.push(signer);
|
|
85
|
+
}
|
|
86
|
+
return this;
|
|
87
|
+
}
|
|
88
|
+
getDigest() {
|
|
89
|
+
return this.digest;
|
|
90
|
+
}
|
|
91
|
+
setDigest(value) {
|
|
92
|
+
this.digest = value;
|
|
93
|
+
return this;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Builds a message using the previously set payload and metadata
|
|
97
|
+
* @returns A Promise resolving to the built IMessage
|
|
98
|
+
*/
|
|
99
|
+
async build() {
|
|
100
|
+
try {
|
|
101
|
+
if (!this.payload) {
|
|
102
|
+
throw new Error('Message payload must be set before building the message');
|
|
103
|
+
}
|
|
104
|
+
return this.buildMessage({
|
|
105
|
+
coinConfig: this.coinConfig,
|
|
106
|
+
payload: this.payload,
|
|
107
|
+
type: this.type,
|
|
108
|
+
signatures: this.signatures,
|
|
109
|
+
signers: this.signers,
|
|
110
|
+
metadata: {
|
|
111
|
+
...this.metadata,
|
|
112
|
+
encoding: 'utf8',
|
|
113
|
+
},
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
catch (err) {
|
|
117
|
+
if (err instanceof Error) {
|
|
118
|
+
throw err;
|
|
119
|
+
}
|
|
120
|
+
throw new Error(`Failed to build message of type ${this.type}`);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Parse a broadcastable message back into a message
|
|
125
|
+
* @param broadcastMessage The broadcastable message to parse
|
|
126
|
+
* @returns The parsed message
|
|
127
|
+
*/
|
|
128
|
+
async fromBroadcastFormat(broadcastMessage) {
|
|
129
|
+
const { type, payload, serializedSignatures, signers, metadata } = broadcastMessage;
|
|
130
|
+
if (type !== this.type) {
|
|
131
|
+
throw new Error(`Invalid message type, expected ${this.type}`);
|
|
132
|
+
}
|
|
133
|
+
this.payload = payload;
|
|
134
|
+
this.signatures = (0, iface_1.deserializeSignatures)(serializedSignatures);
|
|
135
|
+
this.signers = signers || [];
|
|
136
|
+
this.metadata = {
|
|
137
|
+
...metadata,
|
|
138
|
+
encoding: 'utf8',
|
|
139
|
+
};
|
|
140
|
+
return this.build();
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
exports.BaseMessageBuilder = BaseMessageBuilder;
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZU1lc3NhZ2VCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FjY291bnQtbGliL2Jhc2VDb2luL21lc3NhZ2VzL2Jhc2VNZXNzYWdlQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwwQ0FBMkc7QUFHM0csb0NBQTREO0FBRTVEOztHQUVHO0FBQ0gsTUFBc0Isa0JBQWtCO0lBU3RDOzs7O09BSUc7SUFDSCxZQUNFLFVBQWdDLEVBQ2hDLGNBQW1DLDJCQUFtQixDQUFDLE9BQU87UUFkdEQsWUFBTyxHQUFtQixFQUFFLENBQUM7UUFFN0IsZUFBVSxHQUFnQixFQUFFLENBQUM7UUFDN0IsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUN2QixhQUFRLEdBQTZCLEVBQUUsQ0FBQztRQVloRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFVBQVUsQ0FBQyxPQUF1QjtRQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksV0FBVyxDQUFDLFFBQWlDO1FBQ2xELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFdBQVc7UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxPQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFTSxPQUFPLENBQUMsS0FBMEI7UUFDdkMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVNLGFBQWEsQ0FBQyxVQUF1QjtRQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxZQUFZLENBQUMsU0FBb0I7UUFDdEMsSUFDRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUNuQixDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEtBQUssU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUNwRyxFQUNELENBQUM7WUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQWU7UUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sU0FBUyxDQUFDLE1BQWM7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVNLFNBQVMsQ0FBQyxLQUFhO1FBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxLQUFLO1FBQ2hCLElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMseURBQXlELENBQUMsQ0FBQztZQUM3RSxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUN2QixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQzNCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtnQkFDM0IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNyQixRQUFRLEVBQUU7b0JBQ1IsR0FBRyxJQUFJLENBQUMsUUFBUTtvQkFDaEIsUUFBUSxFQUFFLE1BQU07aUJBQ2pCO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixJQUFJLEdBQUcsWUFBWSxLQUFLLEVBQUUsQ0FBQztnQkFDekIsTUFBTSxHQUFHLENBQUM7WUFDWixDQUFDO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDbEUsQ0FBQztJQUNILENBQUM7SUFJRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLG1CQUFtQixDQUFDLGdCQUFzQztRQUNyRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsZ0JBQWdCLENBQUM7UUFDcEYsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUEsNkJBQXFCLEVBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLEdBQUcsUUFBUTtZQUNYLFFBQVEsRUFBRSxNQUFNO1NBQ2pCLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixDQUFDO0NBQ0Y7QUFqS0QsZ0RBaUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJvYWRjYXN0YWJsZU1lc3NhZ2UsIE1lc3NhZ2VPcHRpb25zLCBNZXNzYWdlUGF5bG9hZCwgTWVzc2FnZVN0YW5kYXJkVHlwZSB9IGZyb20gJy4uLy4uLy4uL2JpdGdvJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBJTWVzc2FnZSwgSU1lc3NhZ2VCdWlsZGVyIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBkZXNlcmlhbGl6ZVNpZ25hdHVyZXMsIFNpZ25hdHVyZSB9IGZyb20gJy4uL2lmYWNlJztcblxuLyoqXG4gKiBCYXNlIE1lc3NhZ2UgQnVpbGRlclxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZU1lc3NhZ2VCdWlsZGVyIGltcGxlbWVudHMgSU1lc3NhZ2VCdWlsZGVyIHtcbiAgcHJvdGVjdGVkIGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+O1xuICBwcm90ZWN0ZWQgcGF5bG9hZDogTWVzc2FnZVBheWxvYWQgPSAnJztcbiAgcHJvdGVjdGVkIHR5cGU6IE1lc3NhZ2VTdGFuZGFyZFR5cGU7XG4gIHByb3RlY3RlZCBzaWduYXR1cmVzOiBTaWduYXR1cmVbXSA9IFtdO1xuICBwcm90ZWN0ZWQgc2lnbmVyczogc3RyaW5nW10gPSBbXTtcbiAgcHJvdGVjdGVkIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcbiAgcHJvdGVjdGVkIGRpZ2VzdD86IHN0cmluZztcblxuICAvKipcbiAgICogQmFzZSBjb25zdHJ1Y3Rvci5cbiAgICogQHBhcmFtIGNvaW5Db25maWcgQmFzZUNvaW4gZnJvbSBzdGF0aWNzIGxpYnJhcnlcbiAgICogQHBhcmFtIG1lc3NhZ2VUeXBlIFRoZSB0eXBlIG9mIG1lc3NhZ2UgdGhpcyBidWlsZGVyIGNyZWF0ZXMsIGRlZmF1bHRzIHRvIFVOS05PV05cbiAgICovXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPixcbiAgICBtZXNzYWdlVHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZSA9IE1lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTlxuICApIHtcbiAgICB0aGlzLmNvaW5Db25maWcgPSBjb2luQ29uZmlnO1xuICAgIHRoaXMudHlwZSA9IG1lc3NhZ2VUeXBlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG1lc3NhZ2UgcGF5bG9hZCB0byBiZSB1c2VkIHdoZW4gYnVpbGRpbmcgdGhlIG1lc3NhZ2VcbiAgICogQHBhcmFtIHBheWxvYWQgVGhlIG1lc3NhZ2UgcGF5bG9hZCAoc3RyaW5nLCBKU09OLCBldGMuKVxuICAgKiBAcmV0dXJucyBUaGUgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHB1YmxpYyBzZXRQYXlsb2FkKHBheWxvYWQ6IE1lc3NhZ2VQYXlsb2FkKTogSU1lc3NhZ2VCdWlsZGVyIHtcbiAgICB0aGlzLnBheWxvYWQgPSBwYXlsb2FkO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgbWV0YWRhdGEgZm9yIHRoZSBtZXNzYWdlXG4gICAqIEBwYXJhbSBtZXRhZGF0YSBBZGRpdGlvbmFsIG1ldGFkYXRhIGZvciB0aGUgbWVzc2FnZVxuICAgKiBAcmV0dXJucyBUaGUgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHB1YmxpYyBzZXRNZXRhZGF0YShtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBJTWVzc2FnZUJ1aWxkZXIge1xuICAgIHRoaXMubWV0YWRhdGEgPSBtZXRhZGF0YTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjdXJyZW50IG1lc3NhZ2UgcGF5bG9hZFxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBtZXNzYWdlIHBheWxvYWRcbiAgICovXG4gIHB1YmxpYyBnZXRQYXlsb2FkKCk6IE1lc3NhZ2VQYXlsb2FkIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5wYXlsb2FkO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGN1cnJlbnQgbWV0YWRhdGFcbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgbWV0YWRhdGFcbiAgICovXG4gIHB1YmxpYyBnZXRNZXRhZGF0YSgpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMubWV0YWRhdGE7XG4gIH1cblxuICBwdWJsaWMgZ2V0VHlwZSgpOiBNZXNzYWdlU3RhbmRhcmRUeXBlIHtcbiAgICByZXR1cm4gdGhpcy50eXBlO1xuICB9XG5cbiAgcHVibGljIHNldFR5cGUodmFsdWU6IE1lc3NhZ2VTdGFuZGFyZFR5cGUpOiBJTWVzc2FnZUJ1aWxkZXIge1xuICAgIHRoaXMudHlwZSA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGdldFNpZ25hdHVyZXMoKTogU2lnbmF0dXJlW10ge1xuICAgIHJldHVybiB0aGlzLnNpZ25hdHVyZXM7XG4gIH1cblxuICBwdWJsaWMgc2V0U2lnbmF0dXJlcyhzaWduYXR1cmVzOiBTaWduYXR1cmVbXSk6IElNZXNzYWdlQnVpbGRlciB7XG4gICAgdGhpcy5zaWduYXR1cmVzID0gc2lnbmF0dXJlcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBhZGRTaWduYXR1cmUoc2lnbmF0dXJlOiBTaWduYXR1cmUpOiBJTWVzc2FnZUJ1aWxkZXIge1xuICAgIGlmIChcbiAgICAgICF0aGlzLnNpZ25hdHVyZXMuc29tZShcbiAgICAgICAgKHNpZykgPT4gc2lnLnB1YmxpY0tleS5wdWIgPT09IHNpZ25hdHVyZS5wdWJsaWNLZXkucHViICYmIHNpZy5zaWduYXR1cmUuZXF1YWxzKHNpZ25hdHVyZS5zaWduYXR1cmUpXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aGlzLnNpZ25hdHVyZXMucHVzaChzaWduYXR1cmUpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBnZXRTaWduZXJzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5zaWduZXJzO1xuICB9XG5cbiAgcHVibGljIHNldFNpZ25lcnModmFsdWU6IHN0cmluZ1tdKTogSU1lc3NhZ2VCdWlsZGVyIHtcbiAgICB0aGlzLnNpZ25lcnMgPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBhZGRTaWduZXIoc2lnbmVyOiBzdHJpbmcpOiBJTWVzc2FnZUJ1aWxkZXIge1xuICAgIGlmICghdGhpcy5zaWduZXJzLmluY2x1ZGVzKHNpZ25lcikpIHtcbiAgICAgIHRoaXMuc2lnbmVycy5wdXNoKHNpZ25lcik7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGdldERpZ2VzdCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmRpZ2VzdDtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaWdlc3QodmFsdWU6IHN0cmluZyk6IElNZXNzYWdlQnVpbGRlciB7XG4gICAgdGhpcy5kaWdlc3QgPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYSBtZXNzYWdlIHVzaW5nIHRoZSBwcmV2aW91c2x5IHNldCBwYXlsb2FkIGFuZCBtZXRhZGF0YVxuICAgKiBAcmV0dXJucyBBIFByb21pc2UgcmVzb2x2aW5nIHRvIHRoZSBidWlsdCBJTWVzc2FnZVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGJ1aWxkKCk6IFByb21pc2U8SU1lc3NhZ2U+IHtcbiAgICB0cnkge1xuICAgICAgaWYgKCF0aGlzLnBheWxvYWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNZXNzYWdlIHBheWxvYWQgbXVzdCBiZSBzZXQgYmVmb3JlIGJ1aWxkaW5nIHRoZSBtZXNzYWdlJyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5idWlsZE1lc3NhZ2Uoe1xuICAgICAgICBjb2luQ29uZmlnOiB0aGlzLmNvaW5Db25maWcsXG4gICAgICAgIHBheWxvYWQ6IHRoaXMucGF5bG9hZCxcbiAgICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgICBzaWduYXR1cmVzOiB0aGlzLnNpZ25hdHVyZXMsXG4gICAgICAgIHNpZ25lcnM6IHRoaXMuc2lnbmVycyxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAuLi50aGlzLm1ldGFkYXRhLFxuICAgICAgICAgIGVuY29kaW5nOiAndXRmOCcsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICB0aHJvdyBlcnI7XG4gICAgICB9XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBidWlsZCBtZXNzYWdlIG9mIHR5cGUgJHt0aGlzLnR5cGV9YCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGJ1aWxkTWVzc2FnZShvcHRpb25zOiBNZXNzYWdlT3B0aW9ucyk6IFByb21pc2U8SU1lc3NhZ2U+O1xuXG4gIC8qKlxuICAgKiBQYXJzZSBhIGJyb2FkY2FzdGFibGUgbWVzc2FnZSBiYWNrIGludG8gYSBtZXNzYWdlXG4gICAqIEBwYXJhbSBicm9hZGNhc3RNZXNzYWdlIFRoZSBicm9hZGNhc3RhYmxlIG1lc3NhZ2UgdG8gcGFyc2VcbiAgICogQHJldHVybnMgVGhlIHBhcnNlZCBtZXNzYWdlXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZnJvbUJyb2FkY2FzdEZvcm1hdChicm9hZGNhc3RNZXNzYWdlOiBCcm9hZGNhc3RhYmxlTWVzc2FnZSk6IFByb21pc2U8SU1lc3NhZ2U+IHtcbiAgICBjb25zdCB7IHR5cGUsIHBheWxvYWQsIHNlcmlhbGl6ZWRTaWduYXR1cmVzLCBzaWduZXJzLCBtZXRhZGF0YSB9ID0gYnJvYWRjYXN0TWVzc2FnZTtcbiAgICBpZiAodHlwZSAhPT0gdGhpcy50eXBlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbWVzc2FnZSB0eXBlLCBleHBlY3RlZCAke3RoaXMudHlwZX1gKTtcbiAgICB9XG4gICAgdGhpcy5wYXlsb2FkID0gcGF5bG9hZDtcbiAgICB0aGlzLnNpZ25hdHVyZXMgPSBkZXNlcmlhbGl6ZVNpZ25hdHVyZXMoc2VyaWFsaXplZFNpZ25hdHVyZXMpO1xuICAgIHRoaXMuc2lnbmVycyA9IHNpZ25lcnMgfHwgW107XG4gICAgdGhpcy5tZXRhZGF0YSA9IHtcbiAgICAgIC4uLm1ldGFkYXRhLFxuICAgICAgZW5jb2Rpbmc6ICd1dGY4JyxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmJ1aWxkKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
|
+
import { IMessageBuilder, IMessageBuilderFactory } from './iface';
|
|
3
|
+
import { BroadcastableMessage, MessageStandardType } from '../../../bitgo';
|
|
4
|
+
/**
|
|
5
|
+
* Base Message Builder
|
|
6
|
+
*/
|
|
7
|
+
export declare abstract class BaseMessageBuilderFactory implements IMessageBuilderFactory {
|
|
8
|
+
protected coinConfig: Readonly<CoinConfig>;
|
|
9
|
+
/**
|
|
10
|
+
* Base constructor.
|
|
11
|
+
* @param coinConfig BaseCoin from statics library
|
|
12
|
+
*/
|
|
13
|
+
protected constructor(coinConfig: Readonly<CoinConfig>);
|
|
14
|
+
/**
|
|
15
|
+
* Gets a message builder for the specified message type
|
|
16
|
+
* @param type The type of message to build
|
|
17
|
+
* @returns A message builder instance for the specified type
|
|
18
|
+
*/
|
|
19
|
+
abstract getMessageBuilder(type: MessageStandardType): IMessageBuilder;
|
|
20
|
+
/**
|
|
21
|
+
* Gets a message builder from a broadcastable message
|
|
22
|
+
* @param broadcastMessage The broadcastable message
|
|
23
|
+
* @returns A message builder instance for the broadcastable message type
|
|
24
|
+
*/
|
|
25
|
+
fromBroadcastFormat(broadcastMessage: BroadcastableMessage): IMessageBuilder;
|
|
26
|
+
/**
|
|
27
|
+
* Parses a broadcastable message and gets the message builder based on the message type.
|
|
28
|
+
* @param broadcastString The broadcastable message to parse
|
|
29
|
+
* @returns A message builder instance for the parsed broadcastable message type
|
|
30
|
+
*/
|
|
31
|
+
fromBroadcastString(broadcastString: string): IMessageBuilder;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=baseMessageBuilderFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseMessageBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../../src/account-lib/baseCoin/messages/baseMessageBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG3E;;GAEG;AACH,8BAAsB,yBAA0B,YAAW,sBAAsB;IAC/E,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAE3C;;;OAGG;IACH,SAAS,aAAa,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAItD;;;;OAIG;aACa,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe;IAE7E;;;;OAIG;IACH,mBAAmB,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,eAAe;IAa5E;;;;OAIG;IACH,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,eAAe;CAI9D"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseMessageBuilderFactory = void 0;
|
|
4
|
+
const iface_1 = require("../iface");
|
|
5
|
+
/**
|
|
6
|
+
* Base Message Builder
|
|
7
|
+
*/
|
|
8
|
+
class BaseMessageBuilderFactory {
|
|
9
|
+
/**
|
|
10
|
+
* Base constructor.
|
|
11
|
+
* @param coinConfig BaseCoin from statics library
|
|
12
|
+
*/
|
|
13
|
+
constructor(coinConfig) {
|
|
14
|
+
this.coinConfig = coinConfig;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Gets a message builder from a broadcastable message
|
|
18
|
+
* @param broadcastMessage The broadcastable message
|
|
19
|
+
* @returns A message builder instance for the broadcastable message type
|
|
20
|
+
*/
|
|
21
|
+
fromBroadcastFormat(broadcastMessage) {
|
|
22
|
+
const builder = this.getMessageBuilder(broadcastMessage.type);
|
|
23
|
+
builder.setPayload(broadcastMessage.payload);
|
|
24
|
+
builder.setMetadata(broadcastMessage.metadata || {});
|
|
25
|
+
if (broadcastMessage.signers) {
|
|
26
|
+
builder.setSigners(broadcastMessage.signers);
|
|
27
|
+
}
|
|
28
|
+
if (broadcastMessage.serializedSignatures) {
|
|
29
|
+
builder.setSignatures((0, iface_1.deserializeSignatures)(broadcastMessage.serializedSignatures));
|
|
30
|
+
}
|
|
31
|
+
return builder;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Parses a broadcastable message and gets the message builder based on the message type.
|
|
35
|
+
* @param broadcastString The broadcastable message to parse
|
|
36
|
+
* @returns A message builder instance for the parsed broadcastable message type
|
|
37
|
+
*/
|
|
38
|
+
fromBroadcastString(broadcastString) {
|
|
39
|
+
const broadcastMessage = JSON.parse(broadcastString);
|
|
40
|
+
return this.fromBroadcastFormat(broadcastMessage);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.BaseMessageBuilderFactory = BaseMessageBuilderFactory;
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZU1lc3NhZ2VCdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hY2NvdW50LWxpYi9iYXNlQ29pbi9tZXNzYWdlcy9iYXNlTWVzc2FnZUJ1aWxkZXJGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLG9DQUFpRDtBQUVqRDs7R0FFRztBQUNILE1BQXNCLHlCQUF5QjtJQUc3Qzs7O09BR0c7SUFDSCxZQUFzQixVQUFnQztRQUNwRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBU0Q7Ozs7T0FJRztJQUNILG1CQUFtQixDQUFDLGdCQUFzQztRQUN4RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxPQUFPLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNyRCxJQUFJLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzdCLE9BQU8sQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUNELElBQUksZ0JBQWdCLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUMxQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUEsNkJBQXFCLEVBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG1CQUFtQixDQUFDLGVBQXVCO1FBQ3pDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQXlCLENBQUM7UUFDN0UsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNwRCxDQUFDO0NBQ0Y7QUE3Q0QsOERBNkNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IElNZXNzYWdlQnVpbGRlciwgSU1lc3NhZ2VCdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgQnJvYWRjYXN0YWJsZU1lc3NhZ2UsIE1lc3NhZ2VTdGFuZGFyZFR5cGUgfSBmcm9tICcuLi8uLi8uLi9iaXRnbyc7XG5pbXBvcnQgeyBkZXNlcmlhbGl6ZVNpZ25hdHVyZXMgfSBmcm9tICcuLi9pZmFjZSc7XG5cbi8qKlxuICogQmFzZSBNZXNzYWdlIEJ1aWxkZXJcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VNZXNzYWdlQnVpbGRlckZhY3RvcnkgaW1wbGVtZW50cyBJTWVzc2FnZUJ1aWxkZXJGYWN0b3J5IHtcbiAgcHJvdGVjdGVkIGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+O1xuXG4gIC8qKlxuICAgKiBCYXNlIGNvbnN0cnVjdG9yLlxuICAgKiBAcGFyYW0gY29pbkNvbmZpZyBCYXNlQ29pbiBmcm9tIHN0YXRpY3MgbGlicmFyeVxuICAgKi9cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgdGhpcy5jb2luQ29uZmlnID0gY29pbkNvbmZpZztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgbWVzc2FnZSBidWlsZGVyIGZvciB0aGUgc3BlY2lmaWVkIG1lc3NhZ2UgdHlwZVxuICAgKiBAcGFyYW0gdHlwZSBUaGUgdHlwZSBvZiBtZXNzYWdlIHRvIGJ1aWxkXG4gICAqIEByZXR1cm5zIEEgbWVzc2FnZSBidWlsZGVyIGluc3RhbmNlIGZvciB0aGUgc3BlY2lmaWVkIHR5cGVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXRNZXNzYWdlQnVpbGRlcih0eXBlOiBNZXNzYWdlU3RhbmRhcmRUeXBlKTogSU1lc3NhZ2VCdWlsZGVyO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgbWVzc2FnZSBidWlsZGVyIGZyb20gYSBicm9hZGNhc3RhYmxlIG1lc3NhZ2VcbiAgICogQHBhcmFtIGJyb2FkY2FzdE1lc3NhZ2UgVGhlIGJyb2FkY2FzdGFibGUgbWVzc2FnZVxuICAgKiBAcmV0dXJucyBBIG1lc3NhZ2UgYnVpbGRlciBpbnN0YW5jZSBmb3IgdGhlIGJyb2FkY2FzdGFibGUgbWVzc2FnZSB0eXBlXG4gICAqL1xuICBmcm9tQnJvYWRjYXN0Rm9ybWF0KGJyb2FkY2FzdE1lc3NhZ2U6IEJyb2FkY2FzdGFibGVNZXNzYWdlKTogSU1lc3NhZ2VCdWlsZGVyIHtcbiAgICBjb25zdCBidWlsZGVyID0gdGhpcy5nZXRNZXNzYWdlQnVpbGRlcihicm9hZGNhc3RNZXNzYWdlLnR5cGUpO1xuICAgIGJ1aWxkZXIuc2V0UGF5bG9hZChicm9hZGNhc3RNZXNzYWdlLnBheWxvYWQpO1xuICAgIGJ1aWxkZXIuc2V0TWV0YWRhdGEoYnJvYWRjYXN0TWVzc2FnZS5tZXRhZGF0YSB8fCB7fSk7XG4gICAgaWYgKGJyb2FkY2FzdE1lc3NhZ2Uuc2lnbmVycykge1xuICAgICAgYnVpbGRlci5zZXRTaWduZXJzKGJyb2FkY2FzdE1lc3NhZ2Uuc2lnbmVycyk7XG4gICAgfVxuICAgIGlmIChicm9hZGNhc3RNZXNzYWdlLnNlcmlhbGl6ZWRTaWduYXR1cmVzKSB7XG4gICAgICBidWlsZGVyLnNldFNpZ25hdHVyZXMoZGVzZXJpYWxpemVTaWduYXR1cmVzKGJyb2FkY2FzdE1lc3NhZ2Uuc2VyaWFsaXplZFNpZ25hdHVyZXMpKTtcbiAgICB9XG4gICAgcmV0dXJuIGJ1aWxkZXI7XG4gIH1cblxuICAvKipcbiAgICogUGFyc2VzIGEgYnJvYWRjYXN0YWJsZSBtZXNzYWdlIGFuZCBnZXRzIHRoZSBtZXNzYWdlIGJ1aWxkZXIgYmFzZWQgb24gdGhlIG1lc3NhZ2UgdHlwZS5cbiAgICogQHBhcmFtIGJyb2FkY2FzdFN0cmluZyBUaGUgYnJvYWRjYXN0YWJsZSBtZXNzYWdlIHRvIHBhcnNlXG4gICAqIEByZXR1cm5zIEEgbWVzc2FnZSBidWlsZGVyIGluc3RhbmNlIGZvciB0aGUgcGFyc2VkIGJyb2FkY2FzdGFibGUgbWVzc2FnZSB0eXBlXG4gICAqL1xuICBmcm9tQnJvYWRjYXN0U3RyaW5nKGJyb2FkY2FzdFN0cmluZzogc3RyaW5nKTogSU1lc3NhZ2VCdWlsZGVyIHtcbiAgICBjb25zdCBicm9hZGNhc3RNZXNzYWdlID0gSlNPTi5wYXJzZShicm9hZGNhc3RTdHJpbmcpIGFzIEJyb2FkY2FzdGFibGVNZXNzYWdlO1xuICAgIHJldHVybiB0aGlzLmZyb21Ccm9hZGNhc3RGb3JtYXQoYnJvYWRjYXN0TWVzc2FnZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { BroadcastableMessage, MessageMetadata, MessagePayload, MessageStandardType } from '../../../bitgo';
|
|
2
|
+
import { Signature } from '../iface';
|
|
3
|
+
/**
|
|
4
|
+
* Represents a built message that can be signed
|
|
5
|
+
*/
|
|
6
|
+
export interface IMessage {
|
|
7
|
+
/**
|
|
8
|
+
* Get the message type
|
|
9
|
+
*/
|
|
10
|
+
getType(): MessageStandardType;
|
|
11
|
+
/**
|
|
12
|
+
* Get the message payload
|
|
13
|
+
*/
|
|
14
|
+
getPayload(): MessagePayload;
|
|
15
|
+
/**
|
|
16
|
+
* Get the metadata associated with the message
|
|
17
|
+
*/
|
|
18
|
+
getMetadata(): MessageMetadata | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* Gets all signers addresses or public keys
|
|
21
|
+
*/
|
|
22
|
+
getSigners(): string[];
|
|
23
|
+
/**
|
|
24
|
+
* Adds a signer address or public key
|
|
25
|
+
* @param signer The address or public key of the signer
|
|
26
|
+
*/
|
|
27
|
+
addSigner(signer: string): void;
|
|
28
|
+
/**
|
|
29
|
+
* Sets signers addresses or public keys
|
|
30
|
+
* @param signers Array of addresses or public keys
|
|
31
|
+
*/
|
|
32
|
+
setSigners(signers: string[]): void;
|
|
33
|
+
/**
|
|
34
|
+
* Gets all signatures associated with this message
|
|
35
|
+
*/
|
|
36
|
+
getSignatures(): Signature[];
|
|
37
|
+
/**
|
|
38
|
+
* Sets signatures for this message
|
|
39
|
+
* @param signatures Array of signatures to set
|
|
40
|
+
*/
|
|
41
|
+
setSignatures(signatures: Signature[]): void;
|
|
42
|
+
/**
|
|
43
|
+
* Adds a signature to this message
|
|
44
|
+
* @param signature The signature to add
|
|
45
|
+
*/
|
|
46
|
+
addSignature(signature: Signature): void;
|
|
47
|
+
/**
|
|
48
|
+
* Returns the payload that should be signed
|
|
49
|
+
* This might be different from the original payload in some standards
|
|
50
|
+
* For example, in EIP-712, this would be the encoded typed data hash
|
|
51
|
+
*/
|
|
52
|
+
getSignablePayload(): Promise<string | Buffer>;
|
|
53
|
+
/**
|
|
54
|
+
* Creates a broadcastable message format that includes the signatures
|
|
55
|
+
* Uses internal signatures and signers that were previously set
|
|
56
|
+
* @returns A serializable format for broadcasting
|
|
57
|
+
*/
|
|
58
|
+
toBroadcastFormat(): Promise<BroadcastableMessage>;
|
|
59
|
+
/**
|
|
60
|
+
* Serializes the broadcastable message to a string
|
|
61
|
+
* Uses internal signatures and signers that were previously set
|
|
62
|
+
* @returns A JSON string representation of the broadcastable message
|
|
63
|
+
*/
|
|
64
|
+
toBroadcastString(): Promise<string>;
|
|
65
|
+
/**
|
|
66
|
+
* Verifies if the provided encoded message matches the expected format
|
|
67
|
+
* @param messageEncodedHex The encoded message in hex format to verify
|
|
68
|
+
* @param metadata Optional metadata to include in the verification
|
|
69
|
+
* @returns A Promise resolving to true if the message is valid, false otherwise
|
|
70
|
+
*/
|
|
71
|
+
verifyEncodedPayload(messageEncodedHex: string, metadata?: Record<string, unknown>): Promise<boolean>;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Core interface for message building strategies
|
|
75
|
+
*/
|
|
76
|
+
export interface IMessageBuilder {
|
|
77
|
+
/**
|
|
78
|
+
* Sets the message payload to be used when building the message
|
|
79
|
+
* @param payload The message payload (string, JSON, etc.)
|
|
80
|
+
* @returns The builder instance for chaining
|
|
81
|
+
*/
|
|
82
|
+
setPayload(payload: MessagePayload): IMessageBuilder;
|
|
83
|
+
/**
|
|
84
|
+
* Sets metadata for the message
|
|
85
|
+
* @param metadata Additional metadata for the message
|
|
86
|
+
* @returns The builder instance for chaining
|
|
87
|
+
*/
|
|
88
|
+
setMetadata(metadata: Record<string, unknown>): IMessageBuilder;
|
|
89
|
+
/**
|
|
90
|
+
* Sets the signatures to the message
|
|
91
|
+
* @param signatures The signatures to add
|
|
92
|
+
* @returns The builder instance for chaining
|
|
93
|
+
*/
|
|
94
|
+
setSignatures(signatures: Signature[]): IMessageBuilder;
|
|
95
|
+
/**
|
|
96
|
+
* Adds a signature to the message
|
|
97
|
+
* @param signature The signature to add
|
|
98
|
+
* @returns The builder instance for chaining
|
|
99
|
+
*/
|
|
100
|
+
addSignature(signature: Signature): IMessageBuilder;
|
|
101
|
+
/**
|
|
102
|
+
* Sets the signers for the message
|
|
103
|
+
* @param signers Array of addresses or public keys
|
|
104
|
+
* @returns The builder instance for chaining
|
|
105
|
+
*/
|
|
106
|
+
setSigners(signers: string[]): IMessageBuilder;
|
|
107
|
+
/**
|
|
108
|
+
* Adds a signer address or public key
|
|
109
|
+
* @param signer The address or public key of the signer
|
|
110
|
+
* @returns The builder instance for chaining
|
|
111
|
+
*/
|
|
112
|
+
addSigner(signer: string): IMessageBuilder;
|
|
113
|
+
/**
|
|
114
|
+
* Gets the current message payload
|
|
115
|
+
* @returns The current message payload
|
|
116
|
+
*/
|
|
117
|
+
getPayload(): MessagePayload | undefined;
|
|
118
|
+
/**
|
|
119
|
+
* Gets the current metadata
|
|
120
|
+
* @returns The current metadata
|
|
121
|
+
*/
|
|
122
|
+
getMetadata(): Record<string, unknown> | undefined;
|
|
123
|
+
/**
|
|
124
|
+
* Gets the type of message being built
|
|
125
|
+
* @returns The type of message standard
|
|
126
|
+
*/
|
|
127
|
+
getType(): MessageStandardType;
|
|
128
|
+
/**
|
|
129
|
+
* Builds a message using the previously set payload and metadata
|
|
130
|
+
* @returns A Promise resolving to the built SignableMessage
|
|
131
|
+
*/
|
|
132
|
+
build(): Promise<IMessage>;
|
|
133
|
+
/**
|
|
134
|
+
* Parse a broadcastable message back into a message and signatures
|
|
135
|
+
* @param message The broadcastable message to parse
|
|
136
|
+
* @returns The parsed message and signature
|
|
137
|
+
*/
|
|
138
|
+
fromBroadcastFormat(message: BroadcastableMessage): Promise<IMessage>;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Factory interface for creating message builders
|
|
142
|
+
*/
|
|
143
|
+
export interface IMessageBuilderFactory {
|
|
144
|
+
/**
|
|
145
|
+
* Gets a message builder for the specified message type
|
|
146
|
+
* @param type The type of message to build
|
|
147
|
+
* @returns A message builder instance for the specified type
|
|
148
|
+
*/
|
|
149
|
+
getMessageBuilder(type: MessageStandardType): IMessageBuilder;
|
|
150
|
+
/**
|
|
151
|
+
* Parse a broadcastable message back into a signable message and signature
|
|
152
|
+
* This factory method will automatically choose the correct builder based on the message type
|
|
153
|
+
* @param broadcastMessage The broadcastable message to parse
|
|
154
|
+
* @returns A message builder instance for the parsed specified type
|
|
155
|
+
*/
|
|
156
|
+
fromBroadcastFormat(broadcastMessage: BroadcastableMessage): IMessageBuilder;
|
|
157
|
+
/**
|
|
158
|
+
* Parse a broadcastable message string back into a signable message and signature
|
|
159
|
+
* @param broadcastString The JSON string representation of the broadcast message
|
|
160
|
+
* @returns A message builder instance for the parsed specified type
|
|
161
|
+
*/
|
|
162
|
+
fromBroadcastString(broadcastString: string): IMessageBuilder;
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=iface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../../../src/account-lib/baseCoin/messages/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC5G,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,OAAO,IAAI,mBAAmB,CAAC;IAE/B;;OAEG;IACH,UAAU,IAAI,cAAc,CAAC;IAE7B;;OAEG;IACH,WAAW,IAAI,eAAe,GAAG,SAAS,CAAC;IAE3C;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE,CAAC;IAEvB;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAEpC;;OAEG;IACH,aAAa,IAAI,SAAS,EAAE,CAAC;IAE7B;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAE7C;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAEzC;;;;OAIG;IACH,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAE/C;;;;OAIG;IACH,iBAAiB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEnD;;;;OAIG;IACH,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAErC;;;;;OAKG;IACH,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACvG;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,eAAe,CAAC;IAErD;;;;OAIG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe,CAAC;IAEhE;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC;IAExD;;;;OAIG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,eAAe,CAAC;IAEpD;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC;IAE/C;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC;IAE3C;;;OAGG;IACH,UAAU,IAAI,cAAc,GAAG,SAAS,CAAC;IAEzC;;;OAGG;IACH,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAEnD;;;OAGG;IACH,OAAO,IAAI,mBAAmB,CAAC;IAE/B;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE3B;;;;OAIG;IACH,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACvE;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe,CAAC;IAE9D;;;;;OAKG;IACH,mBAAmB,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,eAAe,CAAC;IAE7E;;;;OAIG;IACH,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,eAAe,CAAC;CAC/D"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvYmFzZUNvaW4vbWVzc2FnZXMvaWZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyb2FkY2FzdGFibGVNZXNzYWdlLCBNZXNzYWdlTWV0YWRhdGEsIE1lc3NhZ2VQYXlsb2FkLCBNZXNzYWdlU3RhbmRhcmRUeXBlIH0gZnJvbSAnLi4vLi4vLi4vYml0Z28nO1xuaW1wb3J0IHsgU2lnbmF0dXJlIH0gZnJvbSAnLi4vaWZhY2UnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBidWlsdCBtZXNzYWdlIHRoYXQgY2FuIGJlIHNpZ25lZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElNZXNzYWdlIHtcbiAgLyoqXG4gICAqIEdldCB0aGUgbWVzc2FnZSB0eXBlXG4gICAqL1xuICBnZXRUeXBlKCk6IE1lc3NhZ2VTdGFuZGFyZFR5cGU7XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbWVzc2FnZSBwYXlsb2FkXG4gICAqL1xuICBnZXRQYXlsb2FkKCk6IE1lc3NhZ2VQYXlsb2FkO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG1ldGFkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGUgbWVzc2FnZVxuICAgKi9cbiAgZ2V0TWV0YWRhdGEoKTogTWVzc2FnZU1ldGFkYXRhIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBHZXRzIGFsbCBzaWduZXJzIGFkZHJlc3NlcyBvciBwdWJsaWMga2V5c1xuICAgKi9cbiAgZ2V0U2lnbmVycygpOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQWRkcyBhIHNpZ25lciBhZGRyZXNzIG9yIHB1YmxpYyBrZXlcbiAgICogQHBhcmFtIHNpZ25lciBUaGUgYWRkcmVzcyBvciBwdWJsaWMga2V5IG9mIHRoZSBzaWduZXJcbiAgICovXG4gIGFkZFNpZ25lcihzaWduZXI6IHN0cmluZyk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFNldHMgc2lnbmVycyBhZGRyZXNzZXMgb3IgcHVibGljIGtleXNcbiAgICogQHBhcmFtIHNpZ25lcnMgQXJyYXkgb2YgYWRkcmVzc2VzIG9yIHB1YmxpYyBrZXlzXG4gICAqL1xuICBzZXRTaWduZXJzKHNpZ25lcnM6IHN0cmluZ1tdKTogdm9pZDtcblxuICAvKipcbiAgICogR2V0cyBhbGwgc2lnbmF0dXJlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBtZXNzYWdlXG4gICAqL1xuICBnZXRTaWduYXR1cmVzKCk6IFNpZ25hdHVyZVtdO1xuXG4gIC8qKlxuICAgKiBTZXRzIHNpZ25hdHVyZXMgZm9yIHRoaXMgbWVzc2FnZVxuICAgKiBAcGFyYW0gc2lnbmF0dXJlcyBBcnJheSBvZiBzaWduYXR1cmVzIHRvIHNldFxuICAgKi9cbiAgc2V0U2lnbmF0dXJlcyhzaWduYXR1cmVzOiBTaWduYXR1cmVbXSk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBzaWduYXR1cmUgdG8gdGhpcyBtZXNzYWdlXG4gICAqIEBwYXJhbSBzaWduYXR1cmUgVGhlIHNpZ25hdHVyZSB0byBhZGRcbiAgICovXG4gIGFkZFNpZ25hdHVyZShzaWduYXR1cmU6IFNpZ25hdHVyZSk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHBheWxvYWQgdGhhdCBzaG91bGQgYmUgc2lnbmVkXG4gICAqIFRoaXMgbWlnaHQgYmUgZGlmZmVyZW50IGZyb20gdGhlIG9yaWdpbmFsIHBheWxvYWQgaW4gc29tZSBzdGFuZGFyZHNcbiAgICogRm9yIGV4YW1wbGUsIGluIEVJUC03MTIsIHRoaXMgd291bGQgYmUgdGhlIGVuY29kZWQgdHlwZWQgZGF0YSBoYXNoXG4gICAqL1xuICBnZXRTaWduYWJsZVBheWxvYWQoKTogUHJvbWlzZTxzdHJpbmcgfCBCdWZmZXI+O1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgYnJvYWRjYXN0YWJsZSBtZXNzYWdlIGZvcm1hdCB0aGF0IGluY2x1ZGVzIHRoZSBzaWduYXR1cmVzXG4gICAqIFVzZXMgaW50ZXJuYWwgc2lnbmF0dXJlcyBhbmQgc2lnbmVycyB0aGF0IHdlcmUgcHJldmlvdXNseSBzZXRcbiAgICogQHJldHVybnMgQSBzZXJpYWxpemFibGUgZm9ybWF0IGZvciBicm9hZGNhc3RpbmdcbiAgICovXG4gIHRvQnJvYWRjYXN0Rm9ybWF0KCk6IFByb21pc2U8QnJvYWRjYXN0YWJsZU1lc3NhZ2U+O1xuXG4gIC8qKlxuICAgKiBTZXJpYWxpemVzIHRoZSBicm9hZGNhc3RhYmxlIG1lc3NhZ2UgdG8gYSBzdHJpbmdcbiAgICogVXNlcyBpbnRlcm5hbCBzaWduYXR1cmVzIGFuZCBzaWduZXJzIHRoYXQgd2VyZSBwcmV2aW91c2x5IHNldFxuICAgKiBAcmV0dXJucyBBIEpTT04gc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBicm9hZGNhc3RhYmxlIG1lc3NhZ2VcbiAgICovXG4gIHRvQnJvYWRjYXN0U3RyaW5nKCk6IFByb21pc2U8c3RyaW5nPjtcblxuICAvKipcbiAgICogVmVyaWZpZXMgaWYgdGhlIHByb3ZpZGVkIGVuY29kZWQgbWVzc2FnZSBtYXRjaGVzIHRoZSBleHBlY3RlZCBmb3JtYXRcbiAgICogQHBhcmFtIG1lc3NhZ2VFbmNvZGVkSGV4IFRoZSBlbmNvZGVkIG1lc3NhZ2UgaW4gaGV4IGZvcm1hdCB0byB2ZXJpZnlcbiAgICogQHBhcmFtIG1ldGFkYXRhIE9wdGlvbmFsIG1ldGFkYXRhIHRvIGluY2x1ZGUgaW4gdGhlIHZlcmlmaWNhdGlvblxuICAgKiBAcmV0dXJucyBBIFByb21pc2UgcmVzb2x2aW5nIHRvIHRydWUgaWYgdGhlIG1lc3NhZ2UgaXMgdmFsaWQsIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgdmVyaWZ5RW5jb2RlZFBheWxvYWQobWVzc2FnZUVuY29kZWRIZXg6IHN0cmluZywgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFByb21pc2U8Ym9vbGVhbj47XG59XG5cbi8qKlxuICogQ29yZSBpbnRlcmZhY2UgZm9yIG1lc3NhZ2UgYnVpbGRpbmcgc3RyYXRlZ2llc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElNZXNzYWdlQnVpbGRlciB7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBtZXNzYWdlIHBheWxvYWQgdG8gYmUgdXNlZCB3aGVuIGJ1aWxkaW5nIHRoZSBtZXNzYWdlXG4gICAqIEBwYXJhbSBwYXlsb2FkIFRoZSBtZXNzYWdlIHBheWxvYWQgKHN0cmluZywgSlNPTiwgZXRjLilcbiAgICogQHJldHVybnMgVGhlIGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nXG4gICAqL1xuICBzZXRQYXlsb2FkKHBheWxvYWQ6IE1lc3NhZ2VQYXlsb2FkKTogSU1lc3NhZ2VCdWlsZGVyO1xuXG4gIC8qKlxuICAgKiBTZXRzIG1ldGFkYXRhIGZvciB0aGUgbWVzc2FnZVxuICAgKiBAcGFyYW0gbWV0YWRhdGEgQWRkaXRpb25hbCBtZXRhZGF0YSBmb3IgdGhlIG1lc3NhZ2VcbiAgICogQHJldHVybnMgVGhlIGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nXG4gICAqL1xuICBzZXRNZXRhZGF0YShtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBJTWVzc2FnZUJ1aWxkZXI7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHNpZ25hdHVyZXMgdG8gdGhlIG1lc3NhZ2VcbiAgICogQHBhcmFtIHNpZ25hdHVyZXMgVGhlIHNpZ25hdHVyZXMgdG8gYWRkXG4gICAqIEByZXR1cm5zIFRoZSBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgc2V0U2lnbmF0dXJlcyhzaWduYXR1cmVzOiBTaWduYXR1cmVbXSk6IElNZXNzYWdlQnVpbGRlcjtcblxuICAvKipcbiAgICogQWRkcyBhIHNpZ25hdHVyZSB0byB0aGUgbWVzc2FnZVxuICAgKiBAcGFyYW0gc2lnbmF0dXJlIFRoZSBzaWduYXR1cmUgdG8gYWRkXG4gICAqIEByZXR1cm5zIFRoZSBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgYWRkU2lnbmF0dXJlKHNpZ25hdHVyZTogU2lnbmF0dXJlKTogSU1lc3NhZ2VCdWlsZGVyO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzaWduZXJzIGZvciB0aGUgbWVzc2FnZVxuICAgKiBAcGFyYW0gc2lnbmVycyBBcnJheSBvZiBhZGRyZXNzZXMgb3IgcHVibGljIGtleXNcbiAgICogQHJldHVybnMgVGhlIGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nXG4gICAqL1xuICBzZXRTaWduZXJzKHNpZ25lcnM6IHN0cmluZ1tdKTogSU1lc3NhZ2VCdWlsZGVyO1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgc2lnbmVyIGFkZHJlc3Mgb3IgcHVibGljIGtleVxuICAgKiBAcGFyYW0gc2lnbmVyIFRoZSBhZGRyZXNzIG9yIHB1YmxpYyBrZXkgb2YgdGhlIHNpZ25lclxuICAgKiBAcmV0dXJucyBUaGUgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmdcbiAgICovXG4gIGFkZFNpZ25lcihzaWduZXI6IHN0cmluZyk6IElNZXNzYWdlQnVpbGRlcjtcblxuICAvKipcbiAgICogR2V0cyB0aGUgY3VycmVudCBtZXNzYWdlIHBheWxvYWRcbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgbWVzc2FnZSBwYXlsb2FkXG4gICAqL1xuICBnZXRQYXlsb2FkKCk6IE1lc3NhZ2VQYXlsb2FkIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjdXJyZW50IG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IG1ldGFkYXRhXG4gICAqL1xuICBnZXRNZXRhZGF0YSgpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogR2V0cyB0aGUgdHlwZSBvZiBtZXNzYWdlIGJlaW5nIGJ1aWx0XG4gICAqIEByZXR1cm5zIFRoZSB0eXBlIG9mIG1lc3NhZ2Ugc3RhbmRhcmRcbiAgICovXG4gIGdldFR5cGUoKTogTWVzc2FnZVN0YW5kYXJkVHlwZTtcblxuICAvKipcbiAgICogQnVpbGRzIGEgbWVzc2FnZSB1c2luZyB0aGUgcHJldmlvdXNseSBzZXQgcGF5bG9hZCBhbmQgbWV0YWRhdGFcbiAgICogQHJldHVybnMgQSBQcm9taXNlIHJlc29sdmluZyB0byB0aGUgYnVpbHQgU2lnbmFibGVNZXNzYWdlXG4gICAqL1xuICBidWlsZCgpOiBQcm9taXNlPElNZXNzYWdlPjtcblxuICAvKipcbiAgICogUGFyc2UgYSBicm9hZGNhc3RhYmxlIG1lc3NhZ2UgYmFjayBpbnRvIGEgbWVzc2FnZSBhbmQgc2lnbmF0dXJlc1xuICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgYnJvYWRjYXN0YWJsZSBtZXNzYWdlIHRvIHBhcnNlXG4gICAqIEByZXR1cm5zIFRoZSBwYXJzZWQgbWVzc2FnZSBhbmQgc2lnbmF0dXJlXG4gICAqL1xuICBmcm9tQnJvYWRjYXN0Rm9ybWF0KG1lc3NhZ2U6IEJyb2FkY2FzdGFibGVNZXNzYWdlKTogUHJvbWlzZTxJTWVzc2FnZT47XG59XG5cbi8qKlxuICogRmFjdG9yeSBpbnRlcmZhY2UgZm9yIGNyZWF0aW5nIG1lc3NhZ2UgYnVpbGRlcnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJTWVzc2FnZUJ1aWxkZXJGYWN0b3J5IHtcbiAgLyoqXG4gICAqIEdldHMgYSBtZXNzYWdlIGJ1aWxkZXIgZm9yIHRoZSBzcGVjaWZpZWQgbWVzc2FnZSB0eXBlXG4gICAqIEBwYXJhbSB0eXBlIFRoZSB0eXBlIG9mIG1lc3NhZ2UgdG8gYnVpbGRcbiAgICogQHJldHVybnMgQSBtZXNzYWdlIGJ1aWxkZXIgaW5zdGFuY2UgZm9yIHRoZSBzcGVjaWZpZWQgdHlwZVxuICAgKi9cbiAgZ2V0TWVzc2FnZUJ1aWxkZXIodHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZSk6IElNZXNzYWdlQnVpbGRlcjtcblxuICAvKipcbiAgICogUGFyc2UgYSBicm9hZGNhc3RhYmxlIG1lc3NhZ2UgYmFjayBpbnRvIGEgc2lnbmFibGUgbWVzc2FnZSBhbmQgc2lnbmF0dXJlXG4gICAqIFRoaXMgZmFjdG9yeSBtZXRob2Qgd2lsbCBhdXRvbWF0aWNhbGx5IGNob29zZSB0aGUgY29ycmVjdCBidWlsZGVyIGJhc2VkIG9uIHRoZSBtZXNzYWdlIHR5cGVcbiAgICogQHBhcmFtIGJyb2FkY2FzdE1lc3NhZ2UgVGhlIGJyb2FkY2FzdGFibGUgbWVzc2FnZSB0byBwYXJzZVxuICAgKiBAcmV0dXJucyBBIG1lc3NhZ2UgYnVpbGRlciBpbnN0YW5jZSBmb3IgdGhlIHBhcnNlZCBzcGVjaWZpZWQgdHlwZVxuICAgKi9cbiAgZnJvbUJyb2FkY2FzdEZvcm1hdChicm9hZGNhc3RNZXNzYWdlOiBCcm9hZGNhc3RhYmxlTWVzc2FnZSk6IElNZXNzYWdlQnVpbGRlcjtcblxuICAvKipcbiAgICogUGFyc2UgYSBicm9hZGNhc3RhYmxlIG1lc3NhZ2Ugc3RyaW5nIGJhY2sgaW50byBhIHNpZ25hYmxlIG1lc3NhZ2UgYW5kIHNpZ25hdHVyZVxuICAgKiBAcGFyYW0gYnJvYWRjYXN0U3RyaW5nIFRoZSBKU09OIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgYnJvYWRjYXN0IG1lc3NhZ2VcbiAgICogQHJldHVybnMgQSBtZXNzYWdlIGJ1aWxkZXIgaW5zdGFuY2UgZm9yIHRoZSBwYXJzZWQgc3BlY2lmaWVkIHR5cGVcbiAgICovXG4gIGZyb21Ccm9hZGNhc3RTdHJpbmcoYnJvYWRjYXN0U3RyaW5nOiBzdHJpbmcpOiBJTWVzc2FnZUJ1aWxkZXI7XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/account-lib/baseCoin/messages/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./baseMessage"), exports);
|
|
18
|
+
__exportStar(require("./baseMessageBuilder"), exports);
|
|
19
|
+
__exportStar(require("./baseMessageBuilderFactory"), exports);
|
|
20
|
+
__exportStar(require("./iface"), exports);
|
|
21
|
+
__exportStar(require("./simple"), exports);
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvYmFzZUNvaW4vbWVzc2FnZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdEQUE4QjtBQUM5Qix1REFBcUM7QUFDckMsOERBQTRDO0FBQzVDLDBDQUF3QjtBQUN4QiwyQ0FBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Jhc2VNZXNzYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZU1lc3NhZ2VCdWlsZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZU1lc3NhZ2VCdWlsZGVyRmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2lmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2ltcGxlJztcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/account-lib/baseCoin/messages/simple/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./simpleMessage"), exports);
|
|
18
|
+
__exportStar(require("./simpleMessageBuilder"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvYmFzZUNvaW4vbWVzc2FnZXMvc2ltcGxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrREFBZ0M7QUFDaEMseURBQXVDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaW1wbGVNZXNzYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vc2ltcGxlTWVzc2FnZUJ1aWxkZXInO1xuIl19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseMessage } from '../baseMessage';
|
|
2
|
+
import { MessageOptions } from '../../../../bitgo';
|
|
3
|
+
/**
|
|
4
|
+
* Implementation of String Message
|
|
5
|
+
*/
|
|
6
|
+
export declare class SimpleMessage extends BaseMessage {
|
|
7
|
+
constructor(options: MessageOptions);
|
|
8
|
+
/**
|
|
9
|
+
* Returns the signable payload for the message
|
|
10
|
+
*/
|
|
11
|
+
getSignablePayload(): Promise<string | Buffer>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=simpleMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simpleMessage.d.ts","sourceRoot":"","sources":["../../../../../../src/account-lib/baseCoin/messages/simple/simpleMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAuB,MAAM,mBAAmB,CAAC;AAExE;;GAEG;AACH,qBAAa,aAAc,SAAQ,WAAW;gBAChC,OAAO,EAAE,cAAc;IAOnC;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;CAOrD"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SimpleMessage = void 0;
|
|
4
|
+
const baseMessage_1 = require("../baseMessage");
|
|
5
|
+
const bitgo_1 = require("../../../../bitgo");
|
|
6
|
+
/**
|
|
7
|
+
* Implementation of String Message
|
|
8
|
+
*/
|
|
9
|
+
class SimpleMessage extends baseMessage_1.BaseMessage {
|
|
10
|
+
constructor(options) {
|
|
11
|
+
super({
|
|
12
|
+
...options,
|
|
13
|
+
type: bitgo_1.MessageStandardType.SIMPLE,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Returns the signable payload for the message
|
|
18
|
+
*/
|
|
19
|
+
async getSignablePayload() {
|
|
20
|
+
if (!this.payload) {
|
|
21
|
+
throw new Error('Message payload is missing');
|
|
22
|
+
}
|
|
23
|
+
this.signablePayload = Buffer.from(this.payload);
|
|
24
|
+
return this.signablePayload;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.SimpleMessage = SimpleMessage;
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlTWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hY2NvdW50LWxpYi9iYXNlQ29pbi9tZXNzYWdlcy9zaW1wbGUvc2ltcGxlTWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnREFBNkM7QUFDN0MsNkNBQXdFO0FBRXhFOztHQUVHO0FBQ0gsTUFBYSxhQUFjLFNBQVEseUJBQVc7SUFDNUMsWUFBWSxPQUF1QjtRQUNqQyxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixJQUFJLEVBQUUsMkJBQW1CLENBQUMsTUFBTTtTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsa0JBQWtCO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFDRCxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0NBQ0Y7QUFsQkQsc0NBa0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZU1lc3NhZ2UgfSBmcm9tICcuLi9iYXNlTWVzc2FnZSc7XG5pbXBvcnQgeyBNZXNzYWdlT3B0aW9ucywgTWVzc2FnZVN0YW5kYXJkVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL2JpdGdvJztcblxuLyoqXG4gKiBJbXBsZW1lbnRhdGlvbiBvZiBTdHJpbmcgTWVzc2FnZVxuICovXG5leHBvcnQgY2xhc3MgU2ltcGxlTWVzc2FnZSBleHRlbmRzIEJhc2VNZXNzYWdlIHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogTWVzc2FnZU9wdGlvbnMpIHtcbiAgICBzdXBlcih7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZS5TSU1QTEUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgc2lnbmFibGUgcGF5bG9hZCBmb3IgdGhlIG1lc3NhZ2VcbiAgICovXG4gIGFzeW5jIGdldFNpZ25hYmxlUGF5bG9hZCgpOiBQcm9taXNlPHN0cmluZyB8IEJ1ZmZlcj4ge1xuICAgIGlmICghdGhpcy5wYXlsb2FkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01lc3NhZ2UgcGF5bG9hZCBpcyBtaXNzaW5nJyk7XG4gICAgfVxuICAgIHRoaXMuc2lnbmFibGVQYXlsb2FkID0gQnVmZmVyLmZyb20odGhpcy5wYXlsb2FkKTtcbiAgICByZXR1cm4gdGhpcy5zaWduYWJsZVBheWxvYWQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
|
+
import { BaseMessageBuilder } from '../baseMessageBuilder';
|
|
3
|
+
import { MessageOptions } from '../../../../bitgo';
|
|
4
|
+
import { IMessage } from '../iface';
|
|
5
|
+
/**
|
|
6
|
+
* Builder for string messages
|
|
7
|
+
*/
|
|
8
|
+
export declare class SimpleMessageBuilder extends BaseMessageBuilder {
|
|
9
|
+
/**
|
|
10
|
+
* Base constructor.
|
|
11
|
+
* @param _coinConfig BaseCoin from statics library
|
|
12
|
+
*/
|
|
13
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
14
|
+
/**
|
|
15
|
+
* Builds a SimpleMessage instance with the provided options
|
|
16
|
+
* @param options Options to create the message
|
|
17
|
+
* @returns A Promise that resolves to a SimpleMessage instance
|
|
18
|
+
*/
|
|
19
|
+
buildMessage(options: MessageOptions): Promise<IMessage>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=simpleMessageBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simpleMessageBuilder.d.ts","sourceRoot":"","sources":["../../../../../../src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAuB,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,kBAAkB;IAC1D;;;OAGG;gBACgB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAIpD;;;;OAIG;IACU,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;CAGtE"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SimpleMessageBuilder = void 0;
|
|
4
|
+
const simpleMessage_1 = require("./simpleMessage");
|
|
5
|
+
const baseMessageBuilder_1 = require("../baseMessageBuilder");
|
|
6
|
+
const bitgo_1 = require("../../../../bitgo");
|
|
7
|
+
/**
|
|
8
|
+
* Builder for string messages
|
|
9
|
+
*/
|
|
10
|
+
class SimpleMessageBuilder extends baseMessageBuilder_1.BaseMessageBuilder {
|
|
11
|
+
/**
|
|
12
|
+
* Base constructor.
|
|
13
|
+
* @param _coinConfig BaseCoin from statics library
|
|
14
|
+
*/
|
|
15
|
+
constructor(_coinConfig) {
|
|
16
|
+
super(_coinConfig, bitgo_1.MessageStandardType.SIMPLE);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Builds a SimpleMessage instance with the provided options
|
|
20
|
+
* @param options Options to create the message
|
|
21
|
+
* @returns A Promise that resolves to a SimpleMessage instance
|
|
22
|
+
*/
|
|
23
|
+
async buildMessage(options) {
|
|
24
|
+
return new simpleMessage_1.SimpleMessage(options);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.SimpleMessageBuilder = SimpleMessageBuilder;
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlTWVzc2FnZUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvYmFzZUNvaW4vbWVzc2FnZXMvc2ltcGxlL3NpbXBsZU1lc3NhZ2VCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFnRDtBQUVoRCw4REFBMkQ7QUFDM0QsNkNBQXdFO0FBR3hFOztHQUVHO0FBQ0gsTUFBYSxvQkFBcUIsU0FBUSx1Q0FBa0I7SUFDMUQ7OztPQUdHO0lBQ0gsWUFBbUIsV0FBaUM7UUFDbEQsS0FBSyxDQUFDLFdBQVcsRUFBRSwyQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBdUI7UUFDL0MsT0FBTyxJQUFJLDZCQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBakJELG9EQWlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpbXBsZU1lc3NhZ2UgfSBmcm9tICcuL3NpbXBsZU1lc3NhZ2UnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IEJhc2VNZXNzYWdlQnVpbGRlciB9IGZyb20gJy4uL2Jhc2VNZXNzYWdlQnVpbGRlcic7XG5pbXBvcnQgeyBNZXNzYWdlT3B0aW9ucywgTWVzc2FnZVN0YW5kYXJkVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL2JpdGdvJztcbmltcG9ydCB7IElNZXNzYWdlIH0gZnJvbSAnLi4vaWZhY2UnO1xuXG4vKipcbiAqIEJ1aWxkZXIgZm9yIHN0cmluZyBtZXNzYWdlc1xuICovXG5leHBvcnQgY2xhc3MgU2ltcGxlTWVzc2FnZUJ1aWxkZXIgZXh0ZW5kcyBCYXNlTWVzc2FnZUJ1aWxkZXIge1xuICAvKipcbiAgICogQmFzZSBjb25zdHJ1Y3Rvci5cbiAgICogQHBhcmFtIF9jb2luQ29uZmlnIEJhc2VDb2luIGZyb20gc3RhdGljcyBsaWJyYXJ5XG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcsIE1lc3NhZ2VTdGFuZGFyZFR5cGUuU0lNUExFKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYSBTaW1wbGVNZXNzYWdlIGluc3RhbmNlIHdpdGggdGhlIHByb3ZpZGVkIG9wdGlvbnNcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyB0byBjcmVhdGUgdGhlIG1lc3NhZ2VcbiAgICogQHJldHVybnMgQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYSBTaW1wbGVNZXNzYWdlIGluc3RhbmNlXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgYnVpbGRNZXNzYWdlKG9wdGlvbnM6IE1lc3NhZ2VPcHRpb25zKTogUHJvbWlzZTxJTWVzc2FnZT4ge1xuICAgIHJldHVybiBuZXcgU2ltcGxlTWVzc2FnZShvcHRpb25zKTtcbiAgfVxufVxuIl19
|
|
@@ -13,7 +13,7 @@ import { IWebhooks } from '../webhook/iWebhooks';
|
|
|
13
13
|
import { TransactionType } from '../../account-lib';
|
|
14
14
|
import { IInscriptionBuilder } from '../inscriptionBuilder';
|
|
15
15
|
import { Hash } from 'crypto';
|
|
16
|
-
import { MPCTx, PopulatedIntent, TokenType } from '../utils';
|
|
16
|
+
import { MessageStandardType, MPCTx, PopulatedIntent, TokenType } from '../utils';
|
|
17
17
|
export declare const multisigTypes: {
|
|
18
18
|
readonly onchain: "onchain";
|
|
19
19
|
readonly tss: "tss";
|
|
@@ -256,6 +256,7 @@ export interface TransactionPrebuild extends BaseSignable {
|
|
|
256
256
|
export interface Message extends BaseSignable {
|
|
257
257
|
messageRaw: string;
|
|
258
258
|
messageEncoded?: string;
|
|
259
|
+
messageStandardType?: MessageStandardType;
|
|
259
260
|
}
|
|
260
261
|
export interface MessageTypeProperty {
|
|
261
262
|
name: string;
|
|
@@ -353,6 +354,7 @@ export interface SignedMessage {
|
|
|
353
354
|
signature: string;
|
|
354
355
|
messageRaw: string;
|
|
355
356
|
messageEncoded?: string;
|
|
357
|
+
messageStandardType?: MessageStandardType;
|
|
356
358
|
txRequestId: string;
|
|
357
359
|
}
|
|
358
360
|
export interface RecoverWalletTokenOptions {
|