@@ -45,11 +45,12 @@ import {
4545 CLI_NAME ,
4646 OFFER_FLAG_NAME ,
4747 OFFER_IDS_FLAG_NAME ,
48+ PROVIDER_ADDRESS_FLAG_NAME ,
4849 PROVIDER_ARTIFACTS_CONFIG_FULL_FILE_NAME ,
4950 PROVIDER_CONFIG_FULL_FILE_NAME ,
5051 SINGLE_OFFER_FLAG_NAME ,
5152 SINGLE_OFFER_ID_FLAG_NAME ,
52- VCPU_PER_CU ,
53+ VCPU_PER_CU
5354} from "../../const.js" ;
5455import {
5556 getContracts ,
@@ -76,7 +77,7 @@ import {
7677 resourceSupplyFromConfigToChain ,
7778} from "../conversions.js" ;
7879import { ptFormatWithSymbol } from "../currencies.js" ;
79- import { assertProviderIsRegistered } from "../providerInfo.js" ;
80+ import { makeProviderAddressValidator } from "../providerInfo.js" ;
8081
8182const MARKET_OFFER_REGISTERED_EVENT_NAME = "MarketOfferRegistered" ;
8283const OFFER_ID_PROPERTY = "offerId" ;
@@ -87,12 +88,16 @@ export type OffersArgs = {
8788 force ?: boolean | undefined ;
8889} ;
8990
91+ export type CreateOffersArgs = OffersArgs & {
92+ [ PROVIDER_ADDRESS_FLAG_NAME ] ?: string | undefined ;
93+ } ;
94+
9095export type SingleOffersArgs = {
9196 [ SINGLE_OFFER_FLAG_NAME ] ?: string | undefined ;
9297 [ SINGLE_OFFER_ID_FLAG_NAME ] ?: string | undefined ;
9398} ;
9499
95- export async function createOffers ( flags : OffersArgs ) {
100+ export async function createOffers ( flags : CreateOffersArgs , maybeProviderAddress ?: string ) {
96101 const allOffers = await resolveOffersFromProviderConfig ( flags ) ;
97102 const providerConfig = await ensureReadonlyProviderConfig ( ) ;
98103 const providerConfigPath = providerConfig . $getPath ( ) ;
@@ -164,6 +169,8 @@ export async function createOffers(flags: OffersArgs) {
164169 let addedCPs ;
165170 let offerRegisterTxReceipt ;
166171
172+ const signerAddress = await getSignerAddress ( ) ;
173+ const providerAddress = maybeProviderAddress ?? signerAddress ;
167174 try {
168175 ( {
169176 sliceIndex : registeredCUsCount ,
@@ -174,17 +181,18 @@ export async function createOffers(flags: OffersArgs) {
174181 sliceIndex : allCUs . length ,
175182 getArgs ( computePeersToRegister ) {
176183 return [
184+ providerAddress ,
177185 contracts . deployment . usdc ,
178186 resourcePricesArray ,
179187 setCPUSupplyForCP ( computePeersToRegister ) ,
180- dataCenter . id ,
188+ dataCenter . id
181189 ] ;
182190 } ,
183191 getTitle ( ) {
184192 return `Register offer: ${ offerName } ` ;
185193 } ,
186- method : contracts . diamond . registerMarketOfferV2 ,
187- validateAddress : assertProviderIsRegistered ,
194+ method : contracts . diamond . registerMarketOfferV2Delegated ,
195+ validateAddress : makeProviderAddressValidator ( providerAddress ) ,
188196 } ) ) ;
189197 } catch ( e ) {
190198 pushOfferRegisterResult ( {
@@ -221,7 +229,6 @@ export async function createOffers(flags: OffersArgs) {
221229 continue ;
222230 }
223231
224- const providerAddress = await getSignerAddress ( ) ;
225232 const offerPerEnv = providerArtifactsConfig . offers [ fluenceEnv ] ?? { } ;
226233 offerPerEnv [ offerName ] = { id : offerId , providerAddress } ;
227234 providerArtifactsConfig . offers [ fluenceEnv ] = offerPerEnv ;
0 commit comments