From 36884dfe1770fa21b217d83551ac275bf7729edc Mon Sep 17 00:00:00 2001 From: Sid Sethi <3323835+SidSethi@users.noreply.github.com> Date: Fri, 23 Sep 2022 21:17:03 -0400 Subject: [PATCH] Patch staging CN delegateOwnerWallet (#3933) --- creator-node/src/config.js | 13 +++++++++++++ .../src/services/URSMRegistrationManager.js | 16 +++++++++++++++- creator-node/src/services/initAudiusLibs.js | 3 ++- 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/creator-node/src/config.js b/creator-node/src/config.js index f9a0be0e89a..ad84e1f3e25 100644 --- a/creator-node/src/config.js +++ b/creator-node/src/config.js @@ -294,6 +294,19 @@ const config = convict({ env: 'delegatePrivateKey', default: null }, + // wallet information + oldDelegateOwnerWallet: { + doc: 'wallet address', + format: String, + env: 'oldDelegateOwnerWallet', + default: '' + }, + oldDelegatePrivateKey: { + doc: 'private key string', + format: String, + env: 'oldDelegatePrivateKey', + default: '' + }, solDelegatePrivateKeyBase64: { doc: 'Base64-encoded Solana private key created using delegatePrivateKey as the seed (auto-generated -- any input here will be overwritten)', format: String, diff --git a/creator-node/src/services/URSMRegistrationManager.js b/creator-node/src/services/URSMRegistrationManager.js index 3c81c1bd981..37bdf34ae22 100644 --- a/creator-node/src/services/URSMRegistrationManager.js +++ b/creator-node/src/services/URSMRegistrationManager.js @@ -28,6 +28,8 @@ class URSMRegistrationManager { this.delegateOwnerWallet = nodeConfig.get('delegateOwnerWallet') this.delegatePrivateKey = nodeConfig.get('delegatePrivateKey') this.spOwnerWallet = nodeConfig.get('spOwnerWallet') + this.oldDelegateOwnerWallet = this.nodeConfig.get('oldDelegateOwnerWallet') + this.oldDelegatePrivateKey = this.nodeConfig.get('oldDelegatePrivateKey') if ( !this.audiusLibs || @@ -119,7 +121,14 @@ class URSMRegistrationManager { /** * 2-a. Short-circuit if L2 record for node already matches L1 record (i.e. delegateOwnerWallets match) */ - if (delegateOwnerWalletFromSPFactory === delegateOwnerWalletFromURSM) { + const activeDelegateOwnerWallet = + this.oldDelegateOwnerWallet || this.delegateOwnerWallet + this.logError( + `activeDelegateOwnerWallet: ${activeDelegateOwnerWallet.toLowerCase()} // delegateOwnerWalletFromURSM: ${delegateOwnerWalletFromURSM}` + ) + if ( + activeDelegateOwnerWallet.toLowerCase() === delegateOwnerWalletFromURSM + ) { // Update config this.nodeConfig.set('isRegisteredOnURSM', true) @@ -129,6 +138,11 @@ class URSMRegistrationManager { return } + if (this.oldDelegateOwnerWallet) { + // New node registration is disabled if using oldDelegateOwnerWallet and above URSM check failed + throw new Error('Something went wrong if we got here') + } + /** * 3. Fetch list of all nodes registered on URSM, in order to submit requests for proposal * a. Randomize list to minimize bias diff --git a/creator-node/src/services/initAudiusLibs.js b/creator-node/src/services/initAudiusLibs.js index 7de5b73e960..96dc887acfc 100644 --- a/creator-node/src/services/initAudiusLibs.js +++ b/creator-node/src/services/initAudiusLibs.js @@ -33,6 +33,7 @@ module.exports = async ({ const dataRegistryAddress = config.get('dataRegistryAddress') const dataProviderUrl = config.get('dataProviderUrl') const delegatePrivateKey = config.get('delegatePrivateKey') + const oldDelegatePrivateKey = config.get('oldDelegatePrivateKey') const creatorNodeIsDebug = config.get('creatorNodeIsDebug') const discoveryProviderWhitelist = discoveryProviderWhitelistConfig @@ -72,7 +73,7 @@ module.exports = async ({ // pass as array [dataProviderUrl], // TODO - formatting this private key here is not ideal - delegatePrivateKey.replace('0x', '') + (oldDelegatePrivateKey || delegatePrivateKey).replace('0x', '') ) : null, discoveryProviderConfig: enableDiscovery