diff --git a/packages/leveldb/__tests__/leveldb-dlc-store.spec.ts b/packages/leveldb/__tests__/leveldb-dlc-store.spec.ts index 3dfa45e7..b33572e3 100644 --- a/packages/leveldb/__tests__/leveldb-dlc-store.spec.ts +++ b/packages/leveldb/__tests__/leveldb-dlc-store.spec.ts @@ -61,7 +61,7 @@ describe('LeveldbDlcStore', () => { // Create oracle announcement const oracleAnnouncement = new OracleAnnouncement(); oracleAnnouncement.announcementSig = Buffer.alloc(64, 0xfa); - oracleAnnouncement.oraclePubkey = Buffer.alloc(32, 0xda); + oracleAnnouncement.oraclePublicKey = Buffer.alloc(32, 0xda); oracleAnnouncement.oracleEvent = oracleEvent; // Create oracle info diff --git a/packages/leveldb/__tests__/leveldb-oracle-store.spec.ts b/packages/leveldb/__tests__/leveldb-oracle-store.spec.ts index 08a60a85..027c6556 100644 --- a/packages/leveldb/__tests__/leveldb-oracle-store.spec.ts +++ b/packages/leveldb/__tests__/leveldb-oracle-store.spec.ts @@ -34,13 +34,13 @@ describe('LeveldbOracleStore', () => { // Create oracle announcement const oracleAnnouncement = new OracleAnnouncement(); oracleAnnouncement.announcementSig = Buffer.alloc(64, 0xfa); - oracleAnnouncement.oraclePubkey = Buffer.alloc(32, 0xda); + oracleAnnouncement.oraclePublicKey = Buffer.alloc(32, 0xda); oracleAnnouncement.oracleEvent = oracleEvent; // Create oracle attestation const oracleAttestation = new OracleAttestation(); oracleAttestation.eventId = 'BTC-USD-OVER-50K-COINBASE'; - oracleAttestation.oraclePubkey = Buffer.from( + oracleAttestation.oraclePublicKey = Buffer.from( '1d5dcdba2e64cb116cc0c375a0856298f0058b778f46bfe625ac6576204889e4', 'hex', ); diff --git a/packages/leveldb/__tests__/leveldb-order-store.spec.ts b/packages/leveldb/__tests__/leveldb-order-store.spec.ts index cb7473bb..491831a6 100644 --- a/packages/leveldb/__tests__/leveldb-order-store.spec.ts +++ b/packages/leveldb/__tests__/leveldb-order-store.spec.ts @@ -36,7 +36,7 @@ describe('LeveldbOrderStore', () => { // Create oracle announcement const oracleAnnouncement = new OracleAnnouncement(); oracleAnnouncement.announcementSig = Buffer.alloc(64, 0xfa); - oracleAnnouncement.oraclePubkey = Buffer.alloc(32, 0xda); + oracleAnnouncement.oraclePublicKey = Buffer.alloc(32, 0xda); oracleAnnouncement.oracleEvent = oracleEvent; // Create oracle info diff --git a/packages/messaging/__tests__/messages/ContractInfo.spec.ts b/packages/messaging/__tests__/messages/ContractInfo.spec.ts index a9814c32..15bd857b 100644 --- a/packages/messaging/__tests__/messages/ContractInfo.spec.ts +++ b/packages/messaging/__tests__/messages/ContractInfo.spec.ts @@ -46,7 +46,7 @@ describe('ContractInfo', () => { 'fab22628f6e2602e1671c286a2f63a9246794008627a1749639217f4214cb4a9494c93d1a852221080f44f697adb4355df59eb339f6ba0f9b01ba661a8b108d4', 'hex', ); - oracleAnnouncement.oraclePubkey = Buffer.from( + oracleAnnouncement.oraclePublicKey = Buffer.from( 'da078bbb1d34e7729e38e2ae34236e776da121af442626fa31e31ae55a279a0b', 'hex', ); @@ -168,7 +168,7 @@ describe('ContractInfo', () => { 'c3347aa29db9f5e619483a92e746be91982bc66127e856bee62daeb91148cb92a1074a802a481c008ba44143c752e519c28d906658e5257d9d82e80ef66cbf0f', 'hex', ); - oracleAnnouncement.oraclePubkey = Buffer.from( + oracleAnnouncement.oraclePublicKey = Buffer.from( '4f15b5e4b8000c33a8e5bbdbc6802375a7d6e7cefcfbf098aa51ce7da0f910c1', 'hex', ); @@ -206,7 +206,7 @@ describe('ContractInfo', () => { 'fab22628f6e2602e1671c286a2f63a9246794008627a1749639217f4214cb4a9494c93d1a852221080f44f697adb4355df59eb339f6ba0f9b01ba661a8b108d4', 'hex', ); - oracleAnnouncement.oraclePubkey = Buffer.from( + oracleAnnouncement.oraclePublicKey = Buffer.from( 'da078bbb1d34e7729e38e2ae34236e776da121af442626fa31e31ae55a279a0b', 'hex', ); @@ -304,7 +304,7 @@ describe('ContractInfo', () => { 'c3347aa29db9f5e619483a92e746be91982bc66127e856bee62daeb91148cb92a1074a802a481c008ba44143c752e519c28d906658e5257d9d82e80ef66cbf0f', 'hex', ); - oracleAnnouncement.oraclePubkey = Buffer.from( + oracleAnnouncement.oraclePublicKey = Buffer.from( '4f15b5e4b8000c33a8e5bbdbc6802375a7d6e7cefcfbf098aa51ce7da0f910c1', 'hex', ); diff --git a/packages/messaging/__tests__/messages/DlcOffer.spec.ts b/packages/messaging/__tests__/messages/DlcOffer.spec.ts index f557259b..a68eb93e 100644 --- a/packages/messaging/__tests__/messages/DlcOffer.spec.ts +++ b/packages/messaging/__tests__/messages/DlcOffer.spec.ts @@ -56,7 +56,7 @@ describe('DlcOffer', () => { 'fab22628f6e2602e1671c286a2f63a9246794008627a1749639217f4214cb4a9494c93d1a852221080f44f697adb4355df59eb339f6ba0f9b01ba661a8b108d4', 'hex', ); - announcement.oraclePubkey = Buffer.from( + announcement.oraclePublicKey = Buffer.from( 'da078bbb1d34e7729e38e2ae34236e776da121af442626fa31e31ae55a279a0b', 'hex', ); diff --git a/packages/messaging/__tests__/messages/OracleAnnouncement.spec.ts b/packages/messaging/__tests__/messages/OracleAnnouncement.spec.ts index 43716a20..d37e74ae 100644 --- a/packages/messaging/__tests__/messages/OracleAnnouncement.spec.ts +++ b/packages/messaging/__tests__/messages/OracleAnnouncement.spec.ts @@ -39,7 +39,7 @@ describe('OracleAnnouncement', () => { instance.length = BigInt(164); instance.announcementSig = announcementSig; - instance.oraclePubkey = oraclePubkey; + instance.oraclePublicKey = oraclePubkey; instance.oracleEvent = OracleEvent.deserialize( Buffer.from( 'fdd822' + // type oracle_event @@ -113,7 +113,7 @@ describe('OracleAnnouncement', () => { expect(instance.length).to.deep.equal(BigInt(164)); expect(instance.announcementSig).to.deep.equal(announcementSig); - expect(instance.oraclePubkey).to.deep.equal(oraclePubkey); + expect(instance.oraclePublicKey).to.deep.equal(oraclePubkey); expect(instance.oracleEvent.serialize().toString('hex')).to.equal( 'fdd822' + // type oracle_event '40' + // length @@ -139,7 +139,7 @@ describe('OracleAnnouncement', () => { instance.length = BigInt(164); instance.announcementSig = announcementSig; - instance.oraclePubkey = oraclePubkey; + instance.oraclePublicKey = oraclePubkey; instance.oracleEvent = OracleEvent.deserialize( Buffer.from( 'fdd822' + // type oracle_event @@ -170,7 +170,7 @@ describe('OracleAnnouncement', () => { instance.length = BigInt(164); instance.announcementSig = announcementSig; - instance.oraclePubkey = invalidOraclePubkey; + instance.oraclePublicKey = invalidOraclePubkey; instance.oracleEvent = OracleEvent.deserialize( Buffer.from( 'fdd822' + // type oracle_event @@ -218,7 +218,7 @@ describe('OracleAnnouncement', () => { 'hex', ), ); - expect(instance.oraclePubkey).to.deep.equal( + expect(instance.oraclePublicKey).to.deep.equal( Buffer.from( 'b8b005b07acf849ad2cec22107331dedbf5a607654fad4eafe39c278e27dde68', 'hex', @@ -261,8 +261,8 @@ describe('OracleAnnouncement', () => { expect(Number(instance.length)).to.be.greaterThan(0); expect(instance.announcementSig).to.be.instanceOf(Buffer); expect(instance.announcementSig.length).to.equal(64); - expect(instance.oraclePubkey).to.be.instanceOf(Buffer); - expect(instance.oraclePubkey.length).to.equal(32); + expect(instance.oraclePublicKey).to.be.instanceOf(Buffer); + expect(instance.oraclePublicKey.length).to.equal(32); expect(instance.oracleEvent).to.be.instanceOf(OracleEvent); expect(instance.getEventId()).to.equal( testVectors.atomic.metadata.eventId, @@ -288,7 +288,9 @@ describe('OracleAnnouncement', () => { const serialized = instance.serialize(); const deserialized = OracleAnnouncement.deserialize(serialized); expect(deserialized.getEventId()).to.equal(instance.getEventId()); - expect(deserialized.oraclePubkey).to.deep.equal(instance.oraclePubkey); + expect(deserialized.oraclePublicKey).to.deep.equal( + instance.oraclePublicKey, + ); }); }); @@ -305,8 +307,8 @@ describe('OracleAnnouncement', () => { expect(Number(instance.length)).to.be.greaterThan(0); expect(instance.announcementSig).to.be.instanceOf(Buffer); expect(instance.announcementSig.length).to.equal(64); - expect(instance.oraclePubkey).to.be.instanceOf(Buffer); - expect(instance.oraclePubkey.length).to.equal(32); + expect(instance.oraclePublicKey).to.be.instanceOf(Buffer); + expect(instance.oraclePublicKey.length).to.equal(32); expect(instance.oracleEvent).to.be.instanceOf(OracleEvent); }); @@ -326,7 +328,9 @@ describe('OracleAnnouncement', () => { const deserialized = OracleAnnouncement.deserialize(serialized); expect(deserialized.getEventId()).to.equal(instance.getEventId()); - expect(deserialized.oraclePubkey).to.deep.equal(instance.oraclePubkey); + expect(deserialized.oraclePublicKey).to.deep.equal( + instance.oraclePublicKey, + ); }); }); @@ -342,8 +346,8 @@ describe('OracleAnnouncement', () => { expect(Number(instance.length)).to.be.greaterThan(0); expect(instance.announcementSig).to.be.instanceOf(Buffer); expect(instance.announcementSig.length).to.equal(64); - expect(instance.oraclePubkey).to.be.instanceOf(Buffer); - expect(instance.oraclePubkey.length).to.equal(32); + expect(instance.oraclePublicKey).to.be.instanceOf(Buffer); + expect(instance.oraclePublicKey.length).to.equal(32); expect(instance.oracleEvent).to.be.instanceOf(OracleEvent); expect(instance.getEventId()).to.equal('sports-match-001'); }); @@ -363,7 +367,9 @@ describe('OracleAnnouncement', () => { const serialized = instance.serialize(); const deserialized = OracleAnnouncement.deserialize(serialized); expect(deserialized.getEventId()).to.equal(instance.getEventId()); - expect(deserialized.oraclePubkey).to.deep.equal(instance.oraclePubkey); + expect(deserialized.oraclePublicKey).to.deep.equal( + instance.oraclePublicKey, + ); }); }); @@ -382,8 +388,8 @@ describe('OracleAnnouncement', () => { expect(Number(instance.length)).to.be.greaterThan(0); expect(instance.announcementSig).to.be.instanceOf(Buffer); expect(instance.announcementSig.length).to.equal(64); - expect(instance.oraclePubkey).to.be.instanceOf(Buffer); - expect(instance.oraclePubkey.length).to.equal(32); + expect(instance.oraclePublicKey).to.be.instanceOf(Buffer); + expect(instance.oraclePublicKey.length).to.equal(32); expect(instance.oracleEvent).to.be.instanceOf(OracleEvent); expect(instance.getEventId()).to.equal('btc-price-test'); }); @@ -408,7 +414,9 @@ describe('OracleAnnouncement', () => { const serialized = instance.serialize(); const deserialized = OracleAnnouncement.deserialize(serialized); expect(deserialized.getEventId()).to.equal(instance.getEventId()); - expect(deserialized.oraclePubkey).to.deep.equal(instance.oraclePubkey); + expect(deserialized.oraclePublicKey).to.deep.equal( + instance.oraclePublicKey, + ); }); }); }); diff --git a/packages/messaging/__tests__/messages/OracleAttestation.spec.ts b/packages/messaging/__tests__/messages/OracleAttestation.spec.ts index ef5cb6c6..2cc4d18a 100644 --- a/packages/messaging/__tests__/messages/OracleAttestation.spec.ts +++ b/packages/messaging/__tests__/messages/OracleAttestation.spec.ts @@ -34,7 +34,7 @@ describe('OracleAttestation', () => { const instance = new OracleAttestation(); instance.eventId = 'BTC-USD-OVER-50K-COINBASE'; - instance.oraclePubkey = oraclePubkey; + instance.oraclePublicKey = oraclePubkey; instance.signatures.push(attestationSig); instance.outcomes.push('NO'); @@ -50,7 +50,7 @@ describe('OracleAttestation', () => { // Create a test instance and serialize it first for round-trip testing const originalInstance = new OracleAttestation(); originalInstance.eventId = 'BTC-USD-OVER-50K-COINBASE'; - originalInstance.oraclePubkey = oraclePubkey; + originalInstance.oraclePublicKey = oraclePubkey; originalInstance.signatures.push(attestationSig); originalInstance.outcomes.push('NO'); @@ -60,7 +60,7 @@ describe('OracleAttestation', () => { expect(Number(instance.length)).to.be.greaterThan(0); // Length is calculated automatically expect(instance.eventId).to.equal('BTC-USD-OVER-50K-COINBASE'); - expect(instance.oraclePubkey).to.deep.equal(oraclePubkey); + expect(instance.oraclePublicKey).to.deep.equal(oraclePubkey); expect(instance.signatures[0]).to.deep.equal(attestationSig); expect(instance.outcomes[0]).to.equal('NO'); }); @@ -71,7 +71,7 @@ describe('OracleAttestation', () => { const instance = new OracleAttestation(); instance.eventId = 'BTC-USD-OVER-50K-COINBASE'; - instance.oraclePubkey = oraclePubkey; + instance.oraclePublicKey = oraclePubkey; instance.signatures.push(attestationSig); instance.outcomes.push('NO'); @@ -84,7 +84,7 @@ describe('OracleAttestation', () => { const instance = new OracleAttestation(); instance.eventId = 'BTC-USD-OVER-50K-COINBASE'; - instance.oraclePubkey = invalidOraclePubkey; + instance.oraclePublicKey = invalidOraclePubkey; instance.signatures.push(attestationSig); instance.outcomes.push('NO'); @@ -119,8 +119,8 @@ describe('OracleAttestation', () => { it('deserializes Atomic oracle attestation', () => { expect(Number(instance.length)).to.be.greaterThan(0); expect(instance.eventId).to.equal(testVectors.atomic.metadata.eventId); - expect(instance.oraclePubkey).to.be.instanceOf(Buffer); - expect(instance.oraclePubkey.length).to.equal(32); + expect(instance.oraclePublicKey).to.be.instanceOf(Buffer); + expect(instance.oraclePublicKey.length).to.equal(32); expect(instance.signatures).to.be.an('array'); expect(instance.outcomes).to.be.an('array'); expect(instance.signatures.length).to.equal(instance.outcomes.length); @@ -149,7 +149,9 @@ describe('OracleAttestation', () => { const serialized = instance.serialize(); const deserialized = OracleAttestation.deserialize(serialized); expect(deserialized.eventId).to.equal(instance.eventId); - expect(deserialized.oraclePubkey).to.deep.equal(instance.oraclePubkey); + expect(deserialized.oraclePublicKey).to.deep.equal( + instance.oraclePublicKey, + ); expect(deserialized.outcomes).to.deep.equal(instance.outcomes); }); }); @@ -170,8 +172,8 @@ describe('OracleAttestation', () => { it('deserializes Lava oracle attestation', () => { expect(Number(instance.length)).to.be.greaterThan(0); expect(instance.eventId).to.be.a('string'); - expect(instance.oraclePubkey).to.be.instanceOf(Buffer); - expect(instance.oraclePubkey.length).to.equal(32); + expect(instance.oraclePublicKey).to.be.instanceOf(Buffer); + expect(instance.oraclePublicKey.length).to.equal(32); expect(instance.signatures).to.be.an('array'); expect(instance.outcomes).to.be.an('array'); expect(instance.signatures.length).to.equal(instance.outcomes.length); @@ -192,7 +194,9 @@ describe('OracleAttestation', () => { const serialized = instance.serialize(); const deserialized = OracleAttestation.deserialize(serialized); expect(deserialized.eventId).to.equal(instance.eventId); - expect(deserialized.oraclePubkey).to.deep.equal(instance.oraclePubkey); + expect(deserialized.oraclePublicKey).to.deep.equal( + instance.oraclePublicKey, + ); expect(deserialized.outcomes).to.deep.equal(instance.outcomes); }); }); @@ -216,8 +220,8 @@ describe('OracleAttestation', () => { it('deserializes rust-dlc enum oracle attestation', () => { expect(Number(instance.length)).to.be.greaterThan(0); expect(instance.eventId).to.equal('sports-match-001'); - expect(instance.oraclePubkey).to.be.instanceOf(Buffer); - expect(instance.oraclePubkey.length).to.equal(32); + expect(instance.oraclePublicKey).to.be.instanceOf(Buffer); + expect(instance.oraclePublicKey.length).to.equal(32); expect(instance.signatures).to.be.an('array'); expect(instance.outcomes).to.be.an('array'); expect(instance.signatures.length).to.equal(instance.outcomes.length); @@ -237,7 +241,9 @@ describe('OracleAttestation', () => { const serialized = instance.serialize(); const deserialized = OracleAttestation.deserialize(serialized); expect(deserialized.eventId).to.equal(instance.eventId); - expect(deserialized.oraclePubkey).to.deep.equal(instance.oraclePubkey); + expect(deserialized.oraclePublicKey).to.deep.equal( + instance.oraclePublicKey, + ); expect(deserialized.outcomes).to.deep.equal(instance.outcomes); }); }); @@ -256,8 +262,8 @@ describe('OracleAttestation', () => { it('deserializes rust-dlc numeric oracle attestation', () => { expect(Number(instance.length)).to.be.greaterThan(0); expect(instance.eventId).to.equal('btc-price-test'); - expect(instance.oraclePubkey).to.be.instanceOf(Buffer); - expect(instance.oraclePubkey.length).to.equal(32); + expect(instance.oraclePublicKey).to.be.instanceOf(Buffer); + expect(instance.oraclePublicKey.length).to.equal(32); expect(instance.signatures).to.be.an('array'); expect(instance.outcomes).to.be.an('array'); expect(instance.signatures.length).to.equal(instance.outcomes.length); @@ -284,7 +290,9 @@ describe('OracleAttestation', () => { const serialized = instance.serialize(); const deserialized = OracleAttestation.deserialize(serialized); expect(deserialized.eventId).to.equal(instance.eventId); - expect(deserialized.oraclePubkey).to.deep.equal(instance.oraclePubkey); + expect(deserialized.oraclePublicKey).to.deep.equal( + instance.oraclePublicKey, + ); expect(deserialized.outcomes).to.deep.equal(instance.outcomes); }); }); diff --git a/packages/messaging/__tests__/messages/OracleEventContainer.spec.ts b/packages/messaging/__tests__/messages/OracleEventContainer.spec.ts index e9c6cbaf..5f350db3 100644 --- a/packages/messaging/__tests__/messages/OracleEventContainer.spec.ts +++ b/packages/messaging/__tests__/messages/OracleEventContainer.spec.ts @@ -13,7 +13,7 @@ describe('OracleEventContainer', () => { 'fab22628f6e2602e1671c286a2f63a9246794008627a1749639217f4214cb4a9494c93d1a852221080f44f697adb4355df59eb339f6ba0f9b01ba661a8b108d4', 'hex', ); - announcement.oraclePubkey = Buffer.from( + announcement.oraclePublicKey = Buffer.from( 'da078bbb1d34e7729e38e2ae34236e776da121af442626fa31e31ae55a279a0b', 'hex', ); @@ -39,7 +39,7 @@ describe('OracleEventContainer', () => { function createTestOracleAttestation(): OracleAttestation { const attestation = new OracleAttestation(); attestation.eventId = 'BTC-USD-OVER-50K-COINBASE'; - attestation.oraclePubkey = Buffer.from( + attestation.oraclePublicKey = Buffer.from( '1d5dcdba2e64cb116cc0c375a0856298f0058b778f46bfe625ac6576204889e4', 'hex', ); diff --git a/packages/messaging/__tests__/messages/OrderNegotiationFields.spec.ts b/packages/messaging/__tests__/messages/OrderNegotiationFields.spec.ts index 3b85e075..14928dd0 100644 --- a/packages/messaging/__tests__/messages/OrderNegotiationFields.spec.ts +++ b/packages/messaging/__tests__/messages/OrderNegotiationFields.spec.ts @@ -97,7 +97,7 @@ describe('OrderNegotiationFields', () => { const oracleInfo = new SingleOracleInfo(); const announcement = new OracleAnnouncement(); announcement.announcementSig = Buffer.alloc(64); - announcement.oraclePubkey = Buffer.alloc(32); + announcement.oraclePublicKey = Buffer.alloc(32); const oracleEvent = new OracleEvent(); oracleEvent.oracleNonces = [Buffer.alloc(32)]; @@ -164,7 +164,7 @@ describe('OrderNegotiationFields', () => { const oracleInfo = new SingleOracleInfo(); const announcement = new OracleAnnouncement(); announcement.announcementSig = Buffer.alloc(64); - announcement.oraclePubkey = Buffer.alloc(32); + announcement.oraclePublicKey = Buffer.alloc(32); const oracleEvent = new OracleEvent(); oracleEvent.oracleNonces = [Buffer.alloc(32)]; @@ -264,7 +264,7 @@ describe('OrderNegotiationFields', () => { const oracleInfo = new SingleOracleInfo(); const announcement = new OracleAnnouncement(); announcement.announcementSig = Buffer.alloc(64); - announcement.oraclePubkey = Buffer.alloc(32); + announcement.oraclePublicKey = Buffer.alloc(32); const oracleEvent = new OracleEvent(); oracleEvent.oracleNonces = [Buffer.alloc(32)]; diff --git a/packages/messaging/__tests__/messages/OrderOffer.spec.ts b/packages/messaging/__tests__/messages/OrderOffer.spec.ts index 67cde7e5..37fdbdd0 100644 --- a/packages/messaging/__tests__/messages/OrderOffer.spec.ts +++ b/packages/messaging/__tests__/messages/OrderOffer.spec.ts @@ -43,7 +43,7 @@ describe('OrderOffer', () => { const oracleInfo = new SingleOracleInfo(); const announcement = new OracleAnnouncement(); announcement.announcementSig = Buffer.alloc(64); - announcement.oraclePubkey = Buffer.alloc(32); + announcement.oraclePublicKey = Buffer.alloc(32); const oracleEvent = new OracleEvent(); oracleEvent.oracleNonces = [Buffer.alloc(32)]; diff --git a/packages/messaging/lib/messages/OracleAnnouncement.ts b/packages/messaging/lib/messages/OracleAnnouncement.ts index 815e4ebe..7f80e0f2 100644 --- a/packages/messaging/lib/messages/OracleAnnouncement.ts +++ b/packages/messaging/lib/messages/OracleAnnouncement.ts @@ -39,7 +39,7 @@ export class OracleAnnouncement implements IDlcMessage { json.announcement_signature, 'hex', ); - instance.oraclePubkey = Buffer.from( + instance.oraclePublicKey = Buffer.from( json.oraclePublicKey || json.oraclePubkey || json.oracle_public_key, 'hex', ); @@ -61,7 +61,7 @@ export class OracleAnnouncement implements IDlcMessage { reader.readBigSize(); // read type instance.length = reader.readBigSize(); instance.announcementSig = reader.readBytes(64); - instance.oraclePubkey = reader.readBytes(32); + instance.oraclePublicKey = reader.readBytes(32); instance.oracleEvent = OracleEvent.deserialize(getTlv(reader)); return instance; @@ -78,7 +78,7 @@ export class OracleAnnouncement implements IDlcMessage { public announcementSig: Buffer; /** The public key of the oracle (32 bytes, x-only). */ - public oraclePubkey: Buffer; + public oraclePublicKey: Buffer; /** The description of the event and attesting. */ public oracleEvent: OracleEvent; @@ -93,7 +93,7 @@ export class OracleAnnouncement implements IDlcMessage { this.oracleEvent.validate(); // Validate oracle public key format (32 bytes for x-only) - if (!this.oraclePubkey || this.oraclePubkey.length !== 32) { + if (!this.oraclePublicKey || this.oraclePublicKey.length !== 32) { throw new Error('Oracle public key must be 32 bytes (x-only format)'); } @@ -110,7 +110,7 @@ export class OracleAnnouncement implements IDlcMessage { 'DLC/oracle/announcement/v0', this.oracleEvent.serialize(), ); - verify(this.oraclePubkey, msg, this.announcementSig); + verify(this.oraclePublicKey, msg, this.announcementSig); } catch (error) { throw new Error(`Invalid announcement signature: ${error.message}`); } @@ -144,7 +144,7 @@ export class OracleAnnouncement implements IDlcMessage { public toJSON(): OracleAnnouncementJSON { return { announcementSignature: this.announcementSig.toString('hex'), - oraclePublicKey: this.oraclePubkey.toString('hex'), + oraclePublicKey: this.oraclePublicKey.toString('hex'), oracleEvent: this.oracleEvent.toJSON(), }; } @@ -158,7 +158,7 @@ export class OracleAnnouncement implements IDlcMessage { const dataWriter = new BufferWriter(); dataWriter.writeBytes(this.announcementSig); - dataWriter.writeBytes(this.oraclePubkey); + dataWriter.writeBytes(this.oraclePublicKey); dataWriter.writeBytes(this.oracleEvent.serialize()); writer.writeBigSize(dataWriter.size); diff --git a/packages/messaging/lib/messages/OracleAttestation.ts b/packages/messaging/lib/messages/OracleAttestation.ts index bdd1b890..4de5b9d0 100644 --- a/packages/messaging/lib/messages/OracleAttestation.ts +++ b/packages/messaging/lib/messages/OracleAttestation.ts @@ -16,6 +16,30 @@ import { OracleAnnouncement } from './OracleAnnouncement'; export class OracleAttestation implements IDlcMessage { public static type = MessageType.OracleAttestation; + /** + * Creates an Attestation from JSON data + * @param json JSON object representing oracle announcement + */ + // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any + public static fromJSON(json: any): OracleAttestation { + const instance = new OracleAttestation(); + + // Handle different field name variations + instance.eventId = json.eventId; + instance.oraclePublicKey = Buffer.from( + json.oraclePublicKey || json.oraclePubkey || json.oracle_public_key, + 'hex', + ); + + instance.signatures = json.signatures.map((signature: string) => + Buffer.from(signature, 'hex'), + ); + + instance.outcomes = json.outcomes; + + return instance; + } + /** * Deserializes an oracle_attestation message * @param buf @@ -42,18 +66,18 @@ export class OracleAttestation implements IDlcMessage { const eventIdBuf = reader.readBytes(Number(eventIdLength)); instance.eventId = eventIdBuf.toString(); } - instance.oraclePubkey = reader.readBytes(32); + instance.oraclePublicKey = reader.readBytes(32); } else { // Event ID length is unreasonable, probably old format without event_id reader.position = currentPos; instance.eventId = ''; // Default empty event ID for old format - instance.oraclePubkey = reader.readBytes(32); + instance.oraclePublicKey = reader.readBytes(32); } } catch (error) { // If reading fails, assume old format without event_id reader.position = currentPos; instance.eventId = ''; // Default empty event ID for old format - instance.oraclePubkey = reader.readBytes(32); + instance.oraclePublicKey = reader.readBytes(32); } const numSignatures = reader.readUInt16BE(); @@ -122,7 +146,7 @@ export class OracleAttestation implements IDlcMessage { public eventId: string; /** The public key of the oracle (32 bytes, x-only). */ - public oraclePubkey: Buffer; + public oraclePublicKey: Buffer; /** The signatures over the event outcome (64 bytes each, Schnorr format). */ public signatures: Buffer[] = []; @@ -152,7 +176,7 @@ export class OracleAttestation implements IDlcMessage { } // Validate oracle public key format - if (!this.oraclePubkey || this.oraclePubkey.length !== 32) { + if (!this.oraclePublicKey || this.oraclePublicKey.length !== 32) { throw new Error('Oracle public key must be 32 bytes (x-only format)'); } @@ -177,7 +201,7 @@ export class OracleAttestation implements IDlcMessage { const outcome = this.outcomes[index]; try { const msg = math.taggedHash('DLC/oracle/attestation/v0', outcome); - verify(this.oraclePubkey, msg, sig); + verify(this.oraclePublicKey, msg, sig); } catch (error) { throw new Error( `Invalid signature for outcome "${outcome}" at index ${index}: ${error.message}`, @@ -199,7 +223,7 @@ export class OracleAttestation implements IDlcMessage { */ private validateAgainstAnnouncement(announcement: OracleAnnouncement): void { // Validate oracle public key matches announcement - if (!this.oraclePubkey.equals(announcement.oraclePubkey)) { + if (!this.oraclePublicKey.equals(announcement.oraclePublicKey)) { throw new Error('Oracle public key must match announcement'); } @@ -246,7 +270,7 @@ export class OracleAttestation implements IDlcMessage { return { type: this.type, eventId: this.eventId, - oraclePubkey: this.oraclePubkey.toString('hex'), + oraclePublicKey: this.oraclePublicKey.toString('hex'), signatures: this.signatures.map((sig) => sig.toString('hex')), outcomes: this.outcomes, }; @@ -262,7 +286,7 @@ export class OracleAttestation implements IDlcMessage { const dataWriter = new BufferWriter(); dataWriter.writeBigSize(this.eventId.length); dataWriter.writeBytes(Buffer.from(this.eventId)); - dataWriter.writeBytes(this.oraclePubkey); + dataWriter.writeBytes(this.oraclePublicKey); dataWriter.writeUInt16BE(this.signatures.length); for (const signature of this.signatures) { @@ -284,9 +308,9 @@ export class OracleAttestation implements IDlcMessage { } export interface OracleAttestationJSON { - type: number; + type?: number; // Made optional for rust-dlc compatibility eventId: string; - oraclePubkey: string; + oraclePublicKey: string; signatures: string[]; outcomes: string[]; }