diff --git a/src/Commands/Sync.php b/src/Commands/Sync.php index 7478453f..3af36a4f 100644 --- a/src/Commands/Sync.php +++ b/src/Commands/Sync.php @@ -2,7 +2,6 @@ namespace Enjin\Platform\Commands; -use Amp\Future; use Amp\Serialization\SerializationException; use Amp\Sync\ChannelException; use Carbon\Carbon; @@ -30,9 +29,6 @@ use Symfony\Component\Console\Helper\ProgressBar; use Throwable; -use function Amp\async; -use function Amp\Parallel\Context\contextFactory; - class Sync extends Command { /** @@ -175,30 +171,62 @@ protected function getStorageAt(string $blockHash): array $storageKeys = $this->getStorageKeys($blockHash); $progress = $this->createAndStartDebugBar(count($storageKeys)); - $storages = Future\await( - array_map( - fn ($keyAndHash) => async(function () use ($progress, $keyAndHash) { - try { - $storageKey = $keyAndHash[0]; - - $context = contextFactory()->start(__DIR__ . '/contexts/get_storage.php'); - $context->send($keyAndHash); - [$storage, $total] = $context->join(); + $rpc = new SubstrateSocketClient(); + + $storages = array_map( + function ($keyAndHash) use ($rpc, $progress) { + try { + $storageKey = $keyAndHash[0]; + $blockHash = $keyAndHash[1]; + + $total = 0; + $storageValues = []; + + while (true) { + try { + $keys = $rpc->send( + 'state_getKeysPaged', + [ + $storageKey->value, + 1000, + $startKey ?? null, + $blockHash, + ] + ); + } catch (Throwable) { + continue; + } + + if (empty($keys)) { + break; + } + + $storage = $rpc->send( + 'state_queryStorageAt', + [ + $keys, + $blockHash, + ] + ); + $storageValues[] = Arr::get($storage, '0.changes'); + $total += count($keys); + $startKey = Arr::last($keys); + } - $this->newLine(); - $this->info('Finished to fetch: ' . $storageKey->type->name . ' storage'); + $this->newLine(); + $this->info('Finished to fetch: ' . $storageKey->type->name . ' storage'); - $progress->advance(); + $progress->advance(); - return [$storageKey, $storage, $total]; - } catch (SerializationException|ChannelException $e) { - throw new PlatformException("Failed to sync: {$e->getMessage()}"); - } - }), - $storageKeys, - ) + return [$storageKey, $storageValues, $total]; + } catch (SerializationException|ChannelException $e) { + throw new PlatformException("Failed to sync: {$e->getMessage()}"); + } + }, + $storageKeys, ); + $rpc->close(); $progress->finish(); return $storages; diff --git a/src/Services/Processor/Substrate/BlockProcessor.php b/src/Services/Processor/Substrate/BlockProcessor.php index 1c9d09f6..6f0f2b34 100644 --- a/src/Services/Processor/Substrate/BlockProcessor.php +++ b/src/Services/Processor/Substrate/BlockProcessor.php @@ -124,7 +124,7 @@ public function subscribeToNewHeads(): void PlatformBlockIngesting::dispatch($block); - $this->info(sprintf('Ingested header for block #%s in %s seconds', $blockNumber, now()->diffInMilliseconds($syncTime) / 1000)); + $this->info(sprintf('Ingested header for block #%s in %s seconds', $blockNumber, $syncTime->diffInMilliseconds(now()) / 1000)); $this->fetchEvents($block); $this->fetchExtrinsics($block); @@ -193,7 +193,7 @@ public function process(Block $block): ?Block } $block->fill(['synced' => true, 'failed' => false, 'exception' => null])->save(); - $this->info(sprintf("Process completed for block #{$blockNumber} in %s seconds", now()->diffInMilliseconds($syncTime) / 1000)); + $this->info(sprintf("Process completed for block #{$blockNumber} in %s seconds", $syncTime->diffInMilliseconds(now()) / 1000)); } catch (Throwable $exception) { $this->error("Failed processing block #{$blockNumber}"); $block->fill(['synced' => true, 'failed' => true, 'exception' => $exception->getMessage()])->save(); diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/BalanceSet.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/BalanceSet.php index 9e559248..2716cc22 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/BalanceSet.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/BalanceSet.php @@ -22,8 +22,8 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->who = Account::parseAccount($self->getValue($data, ['who', 'T::AccountId'])); - $self->free = $self->getValue($data, ['free', 'T::Balance']); + $self->who = Account::parseAccount($self->getValue($data, 'T::AccountId')); + $self->free = $self->getValue($data, 'T::Balance'); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Deposit.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Deposit.php index 5b38456d..fe66f530 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Deposit.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Deposit.php @@ -22,8 +22,8 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->who = Account::parseAccount($self->getValue($data, ['who', 'T::AccountId'])); - $self->amount = $self->getValue($data, ['amount', 'T::Balance']); + $self->who = Account::parseAccount($self->getValue($data, 'T::AccountId')); + $self->amount = $self->getValue($data, 'T::Balance'); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/DustLost.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/DustLost.php index 5a788611..6ff4b1db 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/DustLost.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/DustLost.php @@ -22,8 +22,8 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->account = Account::parseAccount($self->getValue($data, ['account', 'T::AccountId'])); - $self->amount = $self->getValue($data, ['amount', 'T::Balance']); + $self->account = Account::parseAccount($self->getValue($data, 'T::AccountId')); + $self->amount = $self->getValue($data, 'T::Balance'); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Endowed.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Endowed.php index 177cf321..6385a0f6 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Endowed.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Endowed.php @@ -22,8 +22,8 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->account = Account::parseAccount($self->getValue($data, ['account', 'T::AccountId'])); - $self->freeBalance = $self->getValue($data, ['free_balance', 'T::Balance']); + $self->account = Account::parseAccount($self->getValue($data, 'T::AccountId')); + $self->freeBalance = $self->getValue($data, 'T::Balance'); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/ReserveRepatriated.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/ReserveRepatriated.php index 7d218248..3780d5d9 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/ReserveRepatriated.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/ReserveRepatriated.php @@ -24,10 +24,10 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->from = Account::parseAccount($self->getValue($data, ['from', '0'])); - $self->to = Account::parseAccount($self->getValue($data, ['to', '1'])); - $self->amount = $self->getValue($data, ['amount', '2']); - $self->destinationStatus = $self->getValue($data, ['destination_status', '3']); + $self->from = Account::parseAccount($self->getValue($data, 0)); + $self->to = Account::parseAccount($self->getValue($data, 1)); + $self->amount = $self->getValue($data, 2); + $self->destinationStatus = $self->getValue($data, 3); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Reserved.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Reserved.php index 2e1a34ab..7f9d78e1 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Reserved.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Reserved.php @@ -22,8 +22,8 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->who = Account::parseAccount($self->getValue($data, ['who', 'T::AccountId'])); - $self->amount = $self->getValue($data, ['amount', 'T::Balance']); + $self->who = Account::parseAccount($self->getValue($data, 'T::AccountId')); + $self->amount = $self->getValue($data, 'T::Balance'); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Slashed.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Slashed.php index 78ef7f80..9143389f 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Slashed.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Slashed.php @@ -22,8 +22,8 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->who = Account::parseAccount($self->getValue($data, ['who', 'T::AccountId'])); - $self->amount = $self->getValue($data, ['amount', 'T::Balance']); + $self->who = Account::parseAccount($self->getValue($data, 'T::AccountId')); + $self->amount = $self->getValue($data, 'T::Balance'); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Transfer.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Transfer.php index 94d0e71d..7381d3bf 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Transfer.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Transfer.php @@ -23,9 +23,9 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->from = Account::parseAccount($self->getValue($data, ['from', '0'])); - $self->to = Account::parseAccount($self->getValue($data, ['to', '1'])); - $self->amount = $self->getValue($data, ['amount', '2']); + $self->from = Account::parseAccount($self->getValue($data, 0)); + $self->to = Account::parseAccount($self->getValue($data, 1)); + $self->amount = $self->getValue($data, 2); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Unreserved.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Unreserved.php index 8d6dcf67..99436c2b 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Unreserved.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Unreserved.php @@ -22,8 +22,8 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->who = Account::parseAccount($self->getValue($data, ['who', 'T::AccountId'])); - $self->amount = $self->getValue($data, ['amount', 'T::Balance']); + $self->who = Account::parseAccount($self->getValue($data, 'T::AccountId')); + $self->amount = $self->getValue($data, 'T::Balance'); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Withdraw.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Withdraw.php index 1f643be8..2493aae3 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Withdraw.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Balances/Withdraw.php @@ -22,8 +22,8 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->who = Account::parseAccount($self->getValue($data, ['who', 'T::AccountId'])); - $self->amount = $self->getValue($data, ['amount', 'T::Balance']); + $self->who = Account::parseAccount($self->getValue($data, 'T::AccountId')); + $self->amount = $self->getValue($data, 'T::Balance'); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Event.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Event.php index b060d3f4..c4cc5e10 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Event.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Event.php @@ -31,8 +31,12 @@ public function toBroadcast(?array $with = null): array ]; } - public function getValue(array $data, array $keys): mixed + public function getValue(array $data, array|string|int $keys): mixed { + if (!is_array($keys)) { + $keys = [$keys]; + } + foreach ($keys as $key) { if (Arr::has($data, $k = "event.{$this->getKey($key)}")) { return Arr::get($data, $k); diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/AccountAdded.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/AccountAdded.php index 7e3159e1..76724f89 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/AccountAdded.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/AccountAdded.php @@ -25,11 +25,11 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->tankId = Account::parseAccount($self->getValue($data, ['tank_id', '0'])); - $self->userId = Account::parseAccount($self->getValue($data, ['user_id', '1'])); - $self->tankDeposit = $self->getValue($data, ['tank_deposit', '2']); - $self->userDeposit = $self->getValue($data, ['user_deposit', '3']); - $self->totalReceived = $self->getValue($data, ['total_received', '4']); + $self->tankId = Account::parseAccount($self->getValue($data, 0)); + $self->userId = Account::parseAccount($self->getValue($data, 1)); + $self->tankDeposit = $self->getValue($data, 2); + $self->userDeposit = $self->getValue($data, 3); + $self->totalReceived = $self->getValue($data, 4); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/AccountRemoved.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/AccountRemoved.php index e7e4459b..281ee720 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/AccountRemoved.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/AccountRemoved.php @@ -22,8 +22,8 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->tankId = Account::parseAccount($self->getValue($data, ['tank_id', '0'])); - $self->userId = Account::parseAccount($self->getValue($data, ['user_id', '1'])); + $self->tankId = Account::parseAccount($self->getValue($data, 0)); + $self->userId = Account::parseAccount($self->getValue($data, 1)); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/AccountRuleDataRemoved.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/AccountRuleDataRemoved.php index 1b9d81fc..1c48e44c 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/AccountRuleDataRemoved.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/AccountRuleDataRemoved.php @@ -24,10 +24,10 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->tankId = Account::parseAccount($self->getValue($data, ['tank_id', '0'])); - $self->userId = Account::parseAccount($self->getValue($data, ['user_id', '1'])); - $self->ruleSetId = $self->getValue($data, ['rule_set_id', '2']); - $self->ruleKind = $self->getValue($data, ['rule_kind', '3']); + $self->tankId = Account::parseAccount($self->getValue($data, 0)); + $self->userId = Account::parseAccount($self->getValue($data, 1)); + $self->ruleSetId = $self->getValue($data, 2); + $self->ruleKind = $self->getValue($data, 3); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/CallDispatched.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/CallDispatched.php index 307dcfe2..e2a79465 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/CallDispatched.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/CallDispatched.php @@ -22,8 +22,8 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->caller = Account::parseAccount($self->getValue($data, ['caller', '0'])); - $self->tankId = Account::parseAccount($self->getValue($data, ['tank_id', '1'])); + $self->caller = Account::parseAccount($self->getValue($data, 0)); + $self->tankId = Account::parseAccount($self->getValue($data, 1)); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/ConsumptionSet.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/ConsumptionSet.php index 2fa2fd17..97c74983 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/ConsumptionSet.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/ConsumptionSet.php @@ -23,9 +23,9 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->tankId = Account::parseAccount($self->getValue($data, ['tank_id', 'T::AccountId'])); - $self->userId = Account::parseAccount($self->getValue($data, ['user_id', 'Option'])); - $self->consumption = $self->getValue($data, ['consumption', 'ConsumptionOf']); + $self->tankId = Account::parseAccount($self->getValue($data, 'T::AccountId')); + $self->userId = Account::parseAccount($self->getValue($data, 'Option')); + $self->consumption = $self->getValue($data, 'ConsumptionOf'); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/FreezeStateMutated.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/FreezeStateMutated.php index 35c9be1d..41c42560 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/FreezeStateMutated.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/FreezeStateMutated.php @@ -23,9 +23,9 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->tankId = Account::parseAccount($self->getValue($data, ['tank_id', 'T::AccountId'])); - $self->ruleSetId = $self->getValue($data, ['rule_set_id.Some', 'Option']); - $self->isFrozen = $self->getValue($data, ['is_frozen', 'bool']) ?? false; + $self->tankId = Account::parseAccount($self->getValue($data, 'T::AccountId')); + $self->ruleSetId = $self->getValue($data, 'Option'); + $self->isFrozen = $self->getValue($data, 'bool') ?? false; return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/FuelTankCreated.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/FuelTankCreated.php index f8f4fd10..2cebf9bc 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/FuelTankCreated.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/FuelTankCreated.php @@ -24,9 +24,9 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->owner = Account::parseAccount($self->getValue($data, ['owner', '0'])); - $self->tankName = HexConverter::hexToString(is_string($value = $self->getValue($data, ['name', '1'])) ? $value : HexConverter::bytesToHex($value)); - $self->tankId = HexConverter::prefix(is_string($value = $self->getValue($data, ['tank_id', '2'])) ? $value : HexConverter::bytesToHex($value)); + $self->owner = Account::parseAccount($self->getValue($data, 0)); + $self->tankName = HexConverter::hexToString(is_string($value = $self->getValue($data, 1)) ? $value : HexConverter::bytesToHex($value)); + $self->tankId = HexConverter::prefix(is_string($value = $self->getValue($data, 2)) ? $value : HexConverter::bytesToHex($value)); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/FuelTankDestroyed.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/FuelTankDestroyed.php index a7acfbc8..1325db49 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/FuelTankDestroyed.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/FuelTankDestroyed.php @@ -21,7 +21,7 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->tankId = Account::parseAccount($self->getValue($data, ['tank_id', 'T::AccountId'])); + $self->tankId = Account::parseAccount($self->getValue($data, 'T::AccountId')); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/FuelTankMutated.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/FuelTankMutated.php index bd2f763d..735c33fb 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/FuelTankMutated.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/FuelTankMutated.php @@ -25,16 +25,14 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->tankId = Account::parseAccount($self->getValue($data, ['tank_id', 'T::AccountId'])); + $self->tankId = Account::parseAccount($self->getValue($data, 'T::AccountId')); - $self->userAccountManagement = is_bool($b = $self->getValue($data, ['mutation.user_account_management.SomeMutation', 'T::TankMutation.user_account_management.SomeMutation'])) + $self->userAccountManagement = is_bool($b = $self->getValue($data, 'T::TankMutation.user_account_management.SomeMutation')) ? ['tankReservesAccountCreationDeposit' => $b] : $b; - $self->providesDeposit = is_bool($b = $self->getValue($data, ['mutation.provides_deposit.Some', 'T::TankMutation.provides_deposit', 'T::TankMutation.coverage_policy'])) - ? $b - : $b === 'FeesAndDeposit'; - $self->accountRules = $self->getValue($data, ['mutation.account_rules.Some', 'T::TankMutation.account_rules']); + $self->providesDeposit = $self->getValue($data, 'T::TankMutation.coverage_policy') === 'FeesAndDeposit'; + $self->accountRules = $self->getValue($data, 'T::TankMutation.account_rules'); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/RuleSetInserted.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/RuleSetInserted.php index 1778fb01..33bba739 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/RuleSetInserted.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/RuleSetInserted.php @@ -22,8 +22,8 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->tankId = Account::parseAccount($self->getValue($data, ['tank_id', 'T::AccountId'])); - $self->ruleSetId = $self->getValue($data, ['rule_set_id', 'T::RuleSetId']); + $self->tankId = Account::parseAccount($self->getValue($data, 'T::AccountId')); + $self->ruleSetId = $self->getValue($data, 'T::RuleSetId'); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/RuleSetRemoved.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/RuleSetRemoved.php index ddfeac83..af0e96b5 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/RuleSetRemoved.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/FuelTanks/RuleSetRemoved.php @@ -22,8 +22,8 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->tankId = Account::parseAccount($self->getValue($data, ['tank_id', 'T::AccountId'])); - $self->ruleSetId = $self->getValue($data, ['rule_set_id', 'T::RuleSetId']); + $self->tankId = Account::parseAccount($self->getValue($data, 'T::AccountId')); + $self->ruleSetId = $self->getValue($data, 'T::RuleSetId'); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/AuctionFinalized.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/AuctionFinalized.php index 1b5e1aab..3380ad2b 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/AuctionFinalized.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/AuctionFinalized.php @@ -26,11 +26,11 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->listingId = HexConverter::prefix(is_string($value = $self->getValue($data, ['listing_id', '0'])) ? $value : HexConverter::bytesToHex($value)); - $self->winningBidder = Account::parseAccount($self->getValue($data, ['winning_bid.Some.bidder', '1.bidder'])); - $self->price = $self->getValue($data, ['winning_bid.Some.price', '1.price']); - $self->protocolFee = $self->getValue($data, ['protocol_fee', '2']); - $self->royalty = $self->getValue($data, ['royalty', '3']); + $self->listingId = HexConverter::prefix(is_string($value = $self->getValue($data, 0)) ? $value : HexConverter::bytesToHex($value)); + $self->winningBidder = Account::parseAccount($self->getValue($data, '1.bidder')); + $self->price = $self->getValue($data, '1.price'); + $self->protocolFee = $self->getValue($data, 2); + $self->royalty = $self->getValue($data, 3); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/BidPlaced.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/BidPlaced.php index 00cc2a83..b849b7ae 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/BidPlaced.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/BidPlaced.php @@ -24,9 +24,9 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->listingId = HexConverter::prefix(is_string($value = $self->getValue($data, ['listing_id', 'ListingIdOf'])) ? $value : HexConverter::bytesToHex($value)); - $self->bidder = Account::parseAccount($self->getValue($data, ['bid.bidder', 'BidOf.bidder', 'Bid.bidder'])); - $self->price = $self->getValue($data, ['bid.price', 'BidOf.price', 'Bid.price']); + $self->listingId = HexConverter::prefix(is_string($value = $self->getValue($data, 'ListingIdOf')) ? $value : HexConverter::bytesToHex($value)); + $self->bidder = Account::parseAccount($self->getValue($data, 'Bid.bidder')); + $self->price = $self->getValue($data, 'Bid.price'); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/CounterOfferAnswered.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/CounterOfferAnswered.php index 874024fb..1f354fe4 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/CounterOfferAnswered.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/CounterOfferAnswered.php @@ -13,6 +13,8 @@ class CounterOfferAnswered extends Event implements PolkadartEvent public readonly string $module; public readonly string $name; public readonly string $listingId; + public readonly string $creator; + public readonly ?string $response; // Null means the offer was rejected public static function fromChain(array $data): self { @@ -21,7 +23,9 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->listingId = HexConverter::prefix(is_string($value = $self->getValue($data, ['listing_id', 'ListingIdOf'])) ? $value : HexConverter::bytesToHex($value)); + $self->listingId = HexConverter::prefix(is_string($value = $self->getValue($data, 'ListingIdOf')) ? $value : HexConverter::bytesToHex($value)); + $self->creator = HexConverter::prefix(is_string($value = $self->getValue($data, 'T::AccountId')) ? $value : HexConverter::bytesToHex($value)); + $self->response = $self->getValue($data, 'CounterOfferResponseOf.Counter'); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/CounterOfferPlaced.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/CounterOfferPlaced.php index 85e93acb..0173b1bb 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/CounterOfferPlaced.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/CounterOfferPlaced.php @@ -13,7 +13,10 @@ class CounterOfferPlaced extends Event implements PolkadartEvent public readonly string $module; public readonly string $name; public readonly string $listingId; - public readonly string $counterOffer; + public readonly string $sellerPrice; + public readonly ?string $buyerPrice; + public readonly string $depositor; + public readonly string $depositAmount; public static function fromChain(array $data): self { @@ -22,8 +25,12 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->listingId = HexConverter::prefix(is_string($value = $self->getValue($data, ['listing_id', 'ListingIdOf'])) ? $value : HexConverter::bytesToHex($value)); - $self->counterOffer = $self->getValue($data, ['CounterOffer']); + $self->listingId = HexConverter::prefix(is_string($value = $self->getValue($data, 'ListingIdOf')) ? $value : HexConverter::bytesToHex($value)); + $self->sellerPrice = $self->getValue($data, 'CounterOffer.seller_price'); + $self->buyerPrice = $self->getValue($data, 'CounterOffer.buyer_price'); + $self->depositor = HexConverter::prefix(is_string($value = $self->getValue($data, 'CounterOffer.deposit.depositor')) ? $value : HexConverter::bytesToHex($value)); + $self->depositAmount = $self->getValue($data, 'CounterOffer.deposit.amount'); + return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/CounterOfferRemoved.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/CounterOfferRemoved.php index 9f7aba0e..69eddfd6 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/CounterOfferRemoved.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/CounterOfferRemoved.php @@ -14,7 +14,7 @@ class CounterOfferRemoved extends Event implements PolkadartEvent public readonly string $module; public readonly string $name; public readonly string $listingId; - public readonly ?string $creator; // TODO: Should not be null after mainnet upgrade + public readonly string $creator; public static function fromChain(array $data): self { @@ -23,8 +23,8 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->listingId = HexConverter::prefix(is_string($value = $self->getValue($data, ['listing_id', 'ListingIdOf'])) ? $value : HexConverter::bytesToHex($value)); - $self->creator = Account::parseAccount($self->getValue($data, ['T::AccountId'])); + $self->listingId = HexConverter::prefix(is_string($value = $self->getValue($data, 'ListingIdOf')) ? $value : HexConverter::bytesToHex($value)); + $self->creator = Account::parseAccount($self->getValue($data, 'T::AccountId')); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/ExpiredListingRemoved.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/ExpiredListingRemoved.php index 9f2173f5..ef22e879 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/ExpiredListingRemoved.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/ExpiredListingRemoved.php @@ -21,7 +21,7 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->listingId = HexConverter::prefix(is_string($value = $self->getValue($data, ['listing_id', 'ListingIdOf'])) ? $value : HexConverter::bytesToHex($value)); + $self->listingId = HexConverter::prefix(is_string($value = $self->getValue($data, 'ListingIdOf')) ? $value : HexConverter::bytesToHex($value)); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/ListingCancelled.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/ListingCancelled.php index caf72d60..e6d2cf0d 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/ListingCancelled.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/ListingCancelled.php @@ -21,7 +21,7 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->listingId = HexConverter::prefix(is_string($value = $self->getValue($data, ['listing_id', 'ListingIdOf'])) ? $value : HexConverter::bytesToHex($value)); + $self->listingId = HexConverter::prefix(is_string($value = $self->getValue($data, 'ListingIdOf')) ? $value : HexConverter::bytesToHex($value)); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/ListingConverted.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/ListingConverted.php index e9dd40af..a66ea2d6 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/ListingConverted.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/ListingConverted.php @@ -21,7 +21,7 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->listingId = HexConverter::prefix(is_string($value = $self->getValue($data, ['listing_id', 'ListingIdOf'])) ? $value : HexConverter::bytesToHex($value)); + $self->listingId = HexConverter::prefix(is_string($value = $self->getValue($data, 'ListingIdOf')) ? $value : HexConverter::bytesToHex($value)); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/ListingCreated.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/ListingCreated.php index ba3f4946..3613b9f3 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/ListingCreated.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/ListingCreated.php @@ -34,19 +34,19 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->listingId = HexConverter::prefix(is_string($value = $self->getValue($data, ['listing_id', 'ListingIdOf'])) ? $value : HexConverter::bytesToHex($value)); - $self->seller = Account::parseAccount($self->getValue($data, ['listing.seller', 'ListingOf.seller', 'Listing.creator'])); - $self->makeAssetId = $self->getValue($data, ['listing.make_asset_id', 'ListingOf.make_asset_id', 'Listing.make_asset_id']); - $self->takeAssetId = $self->getValue($data, ['listing.take_asset_id', 'ListingOf.take_asset_id', 'Listing.take_asset_id']); - $self->amount = $self->getValue($data, ['listing.amount', 'ListingOf.amount', 'Listing.amount']); - $self->price = $self->getValue($data, ['listing.price', 'ListingOf.price', 'Listing.price']); - $self->minTakeValue = $self->getValue($data, ['listing.min_take_value', 'ListingOf.min_take_value', 'Listing.min_received']); - $self->feeSide = $self->getValue($data, ['listing.fee_side', 'ListingOf.fee_side', 'Listing.fee_side']); - $self->creationBlock = $self->getValue($data, ['listing.creation_block', 'ListingOf.creation_block', 'Listing.creation_block']); - $self->deposit = $self->getValue($data, ['listing.deposit', 'ListingOf.deposit', 'Listing.deposit.amount']); - $self->salt = HexConverter::bytesToHexPrefixed($self->getValue($data, ['listing.salt', 'ListingOf.salt', 'Listing.salt'])); - $self->data = $self->getValue($data, ['listing.data', 'ListingOf.data', 'Listing.data']); - $self->state = $self->getValue($data, ['listing.state', 'ListingOf.state', 'Listing.state']); + $self->listingId = HexConverter::prefix(is_string($value = $self->getValue($data, 'ListingIdOf')) ? $value : HexConverter::bytesToHex($value)); + $self->seller = Account::parseAccount($self->getValue($data, 'Listing.creator')); + $self->makeAssetId = $self->getValue($data, 'Listing.make_asset_id'); + $self->takeAssetId = $self->getValue($data, 'Listing.take_asset_id'); + $self->amount = $self->getValue($data, 'Listing.amount'); + $self->price = $self->getValue($data, 'Listing.price'); + $self->minTakeValue = $self->getValue($data, 'Listing.min_received'); + $self->feeSide = $self->getValue($data, 'Listing.fee_side'); + $self->creationBlock = $self->getValue($data, 'Listing.creation_block'); + $self->deposit = $self->getValue($data, 'Listing.deposit.amount'); + $self->salt = HexConverter::bytesToHexPrefixed($self->getValue($data, 'Listing.salt')); + $self->data = $self->getValue($data, 'Listing.data'); + $self->state = $self->getValue($data, 'Listing.state'); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/ListingFilled.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/ListingFilled.php index 6ae347b2..61997bb1 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/ListingFilled.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/ListingFilled.php @@ -15,7 +15,7 @@ class ListingFilled extends Event implements PolkadartEvent public readonly string $name; public readonly string $listingId; public readonly string $buyer; - public readonly ?string $price; // TODO: Should not be null after mainnet upgrade + public readonly string $price; public readonly string $amountFilled; public readonly string $amountRemaining; public readonly string $protocolFee; @@ -28,21 +28,14 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->listingId = HexConverter::prefix(is_string($value = $self->getValue($data, ['listing_id', '0'])) ? $value : HexConverter::bytesToHex($value)); - $self->buyer = Account::parseAccount($self->getValue($data, ['buyer', '1'])); + $self->listingId = HexConverter::prefix(is_string($value = $self->getValue($data, 0)) ? $value : HexConverter::bytesToHex($value)); + $self->buyer = Account::parseAccount($self->getValue($data, 1)); + $self->price = $self->getValue($data, 2); + $self->amountFilled = $self->getValue($data, 3); + $self->amountRemaining = $self->getValue($data, 4); + $self->protocolFee = $self->getValue($data, 5); + $self->royalty = $self->getValue($data, 6); - if (networkConfig('spec-version') >= 1010) { - $self->price = $self->getValue($data, ['price', '2']); - $self->amountFilled = $self->getValue($data, ['amount_filled', '3']); - $self->amountRemaining = $self->getValue($data, ['amount_remaining', '4']); - $self->protocolFee = $self->getValue($data, ['protocol_fee', '5']); - $self->royalty = $self->getValue($data, ['royalty', '6']); - } else { - $self->amountFilled = $self->getValue($data, ['amount_filled', '2']); - $self->amountRemaining = $self->getValue($data, ['amount_remaining', '3']); - $self->protocolFee = $self->getValue($data, ['protocol_fee', '4']); - $self->royalty = $self->getValue($data, ['royalty', '5']); - } return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/ProtocolFeeSet.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/ProtocolFeeSet.php index deb8da1a..560912a8 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/ProtocolFeeSet.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/Marketplace/ProtocolFeeSet.php @@ -20,7 +20,7 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->protocolFee = $self->getValue($data, ['Perbill']); + $self->protocolFee = $self->getValue($data, 'Perbill'); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Approved.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Approved.php index 71d0f648..e023d99c 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Approved.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Approved.php @@ -26,12 +26,12 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->collectionId = $self->getValue($data, ['collection_id', '0']); - $self->tokenId = $self->getValue($data, ['token_id.Some', '1']); - $self->owner = Account::parseAccount($self->getValue($data, ['owner', '2'])); - $self->operator = Account::parseAccount($self->getValue($data, ['operator', '3'])); - $self->amount = $self->getValue($data, ['amount.Some', '4']); - $self->expiration = $self->getValue($data, ['expiration.Some', '5']); + $self->collectionId = $self->getValue($data, 0); + $self->tokenId = $self->getValue($data, 1); + $self->owner = Account::parseAccount($self->getValue($data, 2)); + $self->operator = Account::parseAccount($self->getValue($data, 3)); + $self->amount = $self->getValue($data, 4); + $self->expiration = $self->getValue($data, 5); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/AttributeRemoved.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/AttributeRemoved.php index f751ad20..71429e99 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/AttributeRemoved.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/AttributeRemoved.php @@ -23,9 +23,9 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->collectionId = $self->getValue($data, ['collection_id', 'T::CollectionId']); - $self->tokenId = $self->getValue($data, ['token_id.Some', 'Option']); - $self->key = (is_string($value = $self->getValue($data, ['key', 'T::AttributeKey'])) ? $value : HexConverter::bytesToHex($value)); + $self->collectionId = $self->getValue($data, 'T::CollectionId'); + $self->tokenId = $self->getValue($data, 'Option'); + $self->key = (is_string($value = $self->getValue($data, 'T::AttributeKey')) ? $value : HexConverter::bytesToHex($value)); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/AttributeSet.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/AttributeSet.php index a1803a20..92a3e3cb 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/AttributeSet.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/AttributeSet.php @@ -24,10 +24,10 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->collectionId = $self->getValue($data, ['collection_id', 'T::CollectionId']); - $self->tokenId = $self->getValue($data, ['token_id.Some', 'Option']); - $self->key = is_string($value = $self->getValue($data, ['key', 'T::AttributeKey'])) ? $value : HexConverter::bytesToHex($value); - $self->value = is_string($value = $self->getValue($data, ['value', 'T::AttributeValue'])) ? $value : HexConverter::bytesToHex($value); + $self->collectionId = $self->getValue($data, 'T::CollectionId'); + $self->tokenId = $self->getValue($data, 'Option'); + $self->key = is_string($value = $self->getValue($data, 'T::AttributeKey')) ? $value : HexConverter::bytesToHex($value); + $self->value = is_string($value = $self->getValue($data, 'T::AttributeValue')) ? $value : HexConverter::bytesToHex($value); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Burned.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Burned.php index d783799a..121905c3 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Burned.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Burned.php @@ -24,10 +24,10 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->collectionId = $self->getValue($data, ['collection_id', 'T::CollectionId']); - $self->tokenId = $self->getValue($data, ['token_id', 'T::TokenId']); - $self->account = Account::parseAccount($self->getValue($data, ['account_id', 'T::AccountId'])); - $self->amount = $self->getValue($data, ['amount', 'T::TokenBalance']); + $self->collectionId = $self->getValue($data, 'T::CollectionId'); + $self->tokenId = $self->getValue($data, 'T::TokenId'); + $self->account = Account::parseAccount($self->getValue($data, 'T::AccountId')); + $self->amount = $self->getValue($data, 'T::TokenBalance'); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/CollectionAccountCreated.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/CollectionAccountCreated.php index a4986790..05717b56 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/CollectionAccountCreated.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/CollectionAccountCreated.php @@ -22,8 +22,8 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->collectionId = $self->getValue($data, ['collection_id', 'T::CollectionId']); - $self->account = Account::parseAccount($self->getValue($data, ['account_id', 'T::AccountId'])); + $self->collectionId = $self->getValue($data, 'T::CollectionId'); + $self->account = Account::parseAccount($self->getValue($data, 'T::AccountId')); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/CollectionAccountDestroyed.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/CollectionAccountDestroyed.php index 5ac7b456..6c778989 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/CollectionAccountDestroyed.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/CollectionAccountDestroyed.php @@ -22,8 +22,8 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->collectionId = $self->getValue($data, ['collection_id', 'T::CollectionId']); - $self->account = Account::parseAccount($self->getValue($data, ['account_id', 'T::AccountId'])); + $self->collectionId = $self->getValue($data, 'T::CollectionId'); + $self->account = Account::parseAccount($self->getValue($data, 'T::AccountId')); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/CollectionCreated.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/CollectionCreated.php index df5a0122..4a9d4cfa 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/CollectionCreated.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/CollectionCreated.php @@ -22,8 +22,8 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->collectionId = $self->getValue($data, ['collection_id', 'T::CollectionId']); - $self->owner = Account::parseAccount($self->getValue($data, ['owner', 'T::AccountId'])); + $self->collectionId = $self->getValue($data, 'T::CollectionId'); + $self->owner = Account::parseAccount($self->getValue($data, 'T::AccountId')); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/CollectionDestroyed.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/CollectionDestroyed.php index 2c03749d..b0371313 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/CollectionDestroyed.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/CollectionDestroyed.php @@ -22,8 +22,8 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->collectionId = $self->getValue($data, ['collection_id', 'T::CollectionId']); - $self->caller = Account::parseAccount($self->getValue($data, ['caller', 'T::AccountId'])); + $self->collectionId = $self->getValue($data, 'T::CollectionId'); + $self->caller = Account::parseAccount($self->getValue($data, 'T::AccountId')); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/CollectionMutated.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/CollectionMutated.php index 757e1b16..7b6a76ba 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/CollectionMutated.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/CollectionMutated.php @@ -26,12 +26,12 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->collectionId = $self->getValue($data, ['collection_id', 'T::CollectionId']); - $self->owner = Account::parseAccount($self->getValue($data, ['mutation.owner.Some', 'T::CollectionMutation.owner'])); + $self->collectionId = $self->getValue($data, 'T::CollectionId'); + $self->owner = Account::parseAccount($self->getValue($data, 'T::CollectionMutation.owner')); $self->royalty = $self->getRoyalty($data); $self->beneficiary = Account::parseAccount($self->getBeneficiary($data, $self->royalty)); $self->percentage = $self->getPercentage($data, $self->royalty); - $self->explicitRoyaltyCurrencies = $self->getValue($data, ['mutation.explicit_royalty_currencies.Some', 'T::CollectionMutation.explicit_royalty_currencies']); + $self->explicitRoyaltyCurrencies = $self->getValue($data, 'T::CollectionMutation.explicit_royalty_currencies'); return $self; } @@ -53,7 +53,7 @@ public function getParams(): array protected function getRoyalty($data): string { - $royalty = $this->getValue($data, ['mutation.royalty', 'T::CollectionMutation.royalty']); + $royalty = $this->getValue($data, 'T::CollectionMutation.royalty'); if ($royalty === null || $royalty === 'NoMutation') { return 'NoMutation'; @@ -68,7 +68,7 @@ protected function getBeneficiary($data, $royalty): string|array|null return null; } - return $this->getValue($data, ['mutation.royalty.SomeMutation.Some.beneficiary', 'T::CollectionMutation.royalty.SomeMutation.beneficiary']); + return $this->getValue($data, 'T::CollectionMutation.royalty.SomeMutation.beneficiary'); } protected function getPercentage($data, $royalty): ?string @@ -77,7 +77,7 @@ protected function getPercentage($data, $royalty): ?string return null; } - return $this->getValue($data, ['mutation.royalty.SomeMutation.Some.percentage', 'T::CollectionMutation.royalty.SomeMutation.percentage']); + return $this->getValue($data, 'T::CollectionMutation.royalty.SomeMutation.percentage'); } } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/CollectionTransferred.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/CollectionTransferred.php index 163c846a..b74a25f4 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/CollectionTransferred.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/CollectionTransferred.php @@ -22,8 +22,8 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->collectionId = $self->getValue($data, ['collection_id', 'T::CollectionId']); - $self->owner = Account::parseAccount($self->getValue($data, ['new_owner', 'T::AccountId'])); + $self->collectionId = $self->getValue($data, 'T::CollectionId'); + $self->owner = Account::parseAccount($self->getValue($data, 'T::AccountId')); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Frozen.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Frozen.php index 3be205f7..ac400434 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Frozen.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Frozen.php @@ -24,8 +24,8 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->collectionId = $self->getValue($data, ['collection_id', 'FreezeOf.collection_id']); - $self->freezeType = is_string($type = $self->getValue($data, ['freeze_type', 'FreezeOf.freeze_type'])) ? $type : array_key_first($type); + $self->collectionId = $self->getValue($data, 'FreezeOf.collection_id'); + $self->freezeType = is_string($type = $self->getValue($data, 'FreezeOf.freeze_type')) ? $type : array_key_first($type); $self->tokenId = $self->getTokenId($data, $self->freezeType); $self->account = Account::parseAccount($self->getAccount($data, $self->freezeType)); @@ -49,8 +49,8 @@ protected function getTokenId(array $data, string $freezeType): ?string } return $freezeType === 'Token' - ? $this->getValue($data, ['freeze_type.Token.token_id', 'FreezeOf.freeze_type.Token.token_id']) - : $this->getValue($data, ['freeze_type.TokenAccount.token_id', 'FreezeOf.freeze_type.TokenAccount.token_id']); + ? $this->getValue($data, 'FreezeOf.freeze_type.Token.token_id') + : $this->getValue($data, 'FreezeOf.freeze_type.TokenAccount.token_id'); } protected function getAccount(array $data, string $freezeType): string|array|null @@ -60,8 +60,8 @@ protected function getAccount(array $data, string $freezeType): string|array|nul } return $freezeType === 'CollectionAccount' - ? $this->getValue($data, ['freeze_type.CollectionAccount', 'FreezeOf.freeze_type.CollectionAccount']) - : $this->getValue($data, ['freeze_type.TokenAccount.account_id', 'FreezeOf.freeze_type.TokenAccount.account_id']); + ? $this->getValue($data, 'FreezeOf.freeze_type.CollectionAccount') + : $this->getValue($data, 'FreezeOf.freeze_type.TokenAccount.account_id'); } } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Minted.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Minted.php index 650410ee..8f4b5e7e 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Minted.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Minted.php @@ -25,11 +25,11 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->collectionId = $self->getValue($data, ['collection_id', 'T::CollectionId']); - $self->tokenId = $self->getValue($data, ['token_id', 'T::TokenId']); - $self->issuer = Account::parseAccount($self->getValue($data, ['issuer.Signed', 'RootOrSigned.Signed'])); - $self->recipient = Account::parseAccount($self->getValue($data, ['recipient', 'T::AccountId'])); - $self->amount = $self->getValue($data, ['amount', 'T::TokenBalance']); + $self->collectionId = $self->getValue($data, 'T::CollectionId'); + $self->tokenId = $self->getValue($data, 'T::TokenId'); + $self->issuer = Account::parseAccount($self->getValue($data, 'RootOrSigned.Signed')); + $self->recipient = Account::parseAccount($self->getValue($data, 'T::AccountId')); + $self->amount = $self->getValue($data, 'T::TokenBalance'); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Reserved.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Reserved.php index 7f9c01f3..02e37440 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Reserved.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Reserved.php @@ -26,12 +26,12 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->collectionId = $self->getValue($data, ['collection_id', 'T::CollectionId']); - $self->tokenId = $self->getValue($data, ['token_id', 'T::TokenId']); - $self->accountId = Account::parseAccount($self->getValue($data, ['account_id', 'T::AccountId'])); - $self->amount = $self->getValue($data, ['amount', 'T::TokenBalance']); + $self->collectionId = $self->getValue($data, 'T::CollectionId'); + $self->tokenId = $self->getValue($data, 'T::TokenId'); + $self->accountId = Account::parseAccount($self->getValue($data, 'T::AccountId')); + $self->amount = $self->getValue($data, 'T::TokenBalance'); $self->reserveId = HexConverter::hexToString( - is_string($value = $self->getValue($data, ['reserve_id.Some', 'Option'])) + is_string($value = $self->getValue($data, 'Option')) ? $value : HexConverter::bytesToHex($value) ); diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Thawed.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Thawed.php index b20e8deb..eb6a999e 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Thawed.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Thawed.php @@ -24,8 +24,8 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->collectionId = $self->getValue($data, ['collection_id', 'FreezeOf.collection_id']); - $self->freezeType = is_string($type = $self->getValue($data, ['freeze_type', 'FreezeOf.freeze_type'])) ? $type : array_key_first($type); + $self->collectionId = $self->getValue($data, 'FreezeOf.collection_id'); + $self->freezeType = is_string($type = $self->getValue($data, 'FreezeOf.freeze_type')) ? $type : array_key_first($type); $self->tokenId = $self->getTokenId($data, $self->freezeType); $self->account = Account::parseAccount($self->getAccount($data, $self->freezeType)); @@ -50,8 +50,8 @@ protected function getTokenId(array $data, string $freezeType): ?string // We can use only freeze_type.Token.token_id when Substrate is upgraded return $freezeType === 'Token' - ? $this->getValue($data, ['freeze_type.Token.token_id', 'FreezeOf.freeze_type.Token.token_id']) - : $this->getValue($data, ['freeze_type.TokenAccount.token_id', 'FreezeOf.freeze_type.TokenAccount.token_id']); + ? $this->getValue($data, 'FreezeOf.freeze_type.Token.token_id') + : $this->getValue($data, 'FreezeOf.freeze_type.TokenAccount.token_id'); } protected function getAccount(array $data, string $freezeType): string|array|null @@ -61,8 +61,8 @@ protected function getAccount(array $data, string $freezeType): string|array|nul } return $freezeType === 'CollectionAccount' - ? $this->getValue($data, ['freeze_type.CollectionAccount', 'FreezeOf.freeze_type.CollectionAccount']) - : $this->getValue($data, ['freeze_type.TokenAccount.account_id', 'FreezeOf.freeze_type.TokenAccount.account_id']); + ? $this->getValue($data, 'FreezeOf.freeze_type.CollectionAccount') + : $this->getValue($data, 'FreezeOf.freeze_type.TokenAccount.account_id'); } } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/TokenAccountCreated.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/TokenAccountCreated.php index dcae3b08..f656d4a8 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/TokenAccountCreated.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/TokenAccountCreated.php @@ -24,10 +24,10 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->collectionId = $self->getValue($data, ['collection_id', 'T::CollectionId']); - $self->tokenId = $self->getValue($data, ['token_id', 'T::TokenId']); - $self->account = Account::parseAccount($self->getValue($data, ['account_id', 'T::AccountId'])); - $self->balance = $self->getValue($data, ['balance', 'T::TokenBalance']); + $self->collectionId = $self->getValue($data, 'T::CollectionId'); + $self->tokenId = $self->getValue($data, 'T::TokenId'); + $self->account = Account::parseAccount($self->getValue($data, 'T::AccountId')); + $self->balance = $self->getValue($data, 'T::TokenBalance'); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/TokenAccountDestroyed.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/TokenAccountDestroyed.php index d3e39e54..5c9af7ab 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/TokenAccountDestroyed.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/TokenAccountDestroyed.php @@ -23,9 +23,9 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->collectionId = $self->getValue($data, ['collection_id', 'T::CollectionId']); - $self->tokenId = $self->getValue($data, ['token_id', 'T::TokenId']); - $self->account = Account::parseAccount($self->getValue($data, ['account_id', 'T::AccountId'])); + $self->collectionId = $self->getValue($data, 'T::CollectionId'); + $self->tokenId = $self->getValue($data, 'T::TokenId'); + $self->account = Account::parseAccount($self->getValue($data, 'T::AccountId')); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/TokenCreated.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/TokenCreated.php index 6566d00c..989c7d53 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/TokenCreated.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/TokenCreated.php @@ -24,10 +24,10 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->collectionId = $self->getValue($data, ['collection_id', 'T::CollectionId']); - $self->tokenId = $self->getValue($data, ['token_id', 'T::TokenId']); - $self->issuer = Account::parseAccount($self->getValue($data, ['issuer.Signed', 'RootOrSigned.Signed'])); - $self->initialSupply = $self->getValue($data, ['initial_supply', 'T::TokenBalance']); + $self->collectionId = $self->getValue($data, 'T::CollectionId'); + $self->tokenId = $self->getValue($data, 'T::TokenId'); + $self->issuer = Account::parseAccount($self->getValue($data, 'RootOrSigned.Signed')); + $self->initialSupply = $self->getValue($data, 'T::TokenBalance'); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/TokenDestroyed.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/TokenDestroyed.php index b9bc8b5e..9f157da2 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/TokenDestroyed.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/TokenDestroyed.php @@ -23,9 +23,9 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->collectionId = $self->getValue($data, ['collection_id', 'T::CollectionId']); - $self->tokenId = $self->getValue($data, ['token_id', 'T::TokenId']); - $self->caller = Account::parseAccount($self->getValue($data, ['caller', 'T::AccountId'])); + $self->collectionId = $self->getValue($data, 'T::CollectionId'); + $self->tokenId = $self->getValue($data, 'T::TokenId'); + $self->caller = Account::parseAccount($self->getValue($data, 'T::AccountId')); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/TokenMutated.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/TokenMutated.php index a807ebd8..95278152 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/TokenMutated.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/TokenMutated.php @@ -30,15 +30,15 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->collectionId = $self->getValue($data, ['collection_id', 'T::CollectionId']); - $self->tokenId = $self->getValue($data, ['token_id', 'T::TokenId']); - $self->listingForbidden = $self->getValue($data, ['mutation.listing_forbidden.SomeMutation', 'T::TokenMutation.listing_forbidden.SomeMutation']); - $self->behavior = is_string($behavior = $self->getValue($data, ['mutation.behavior', 'T::TokenMutation.behavior'])) ? $behavior : array_key_first($behavior); - $self->isCurrency = $self->getValue($data, ['mutation.behavior.SomeMutation.Some', 'T::TokenMutation.behavior.SomeMutation.Some']) === 'IsCurrency'; - $self->beneficiary = Account::parseAccount($self->getValue($data, ['mutation.behavior.SomeMutation.Some.HasRoyalty.beneficiary', 'T::TokenMutation.behavior.SomeMutation.HasRoyalty.beneficiary'])); - $self->percentage = $self->getValue($data, ['mutation.behavior.SomeMutation.Some.HasRoyalty.percentage', 'T::TokenMutation.behavior.SomeMutation.HasRoyalty.percentage']); - $self->anyoneCanInfuse = $self->getValue($data, ['T::TokenMutation.anyone_can_infuse.SomeMutation']); - $self->tokenName = is_array($s = $self->getValue($data, ['T::TokenMutation.name.SomeMutation'])) ? HexConverter::bytesToHex($s) : $s; + $self->collectionId = $self->getValue($data, 'T::CollectionId'); + $self->tokenId = $self->getValue($data, 'T::TokenId'); + $self->listingForbidden = $self->getValue($data, 'T::TokenMutation.listing_forbidden.SomeMutation'); + $self->behavior = is_string($behavior = $self->getValue($data, 'T::TokenMutation.behavior')) ? $behavior : array_key_first($behavior); + $self->isCurrency = $self->getValue($data, 'T::TokenMutation.behavior.SomeMutation.Some') === 'IsCurrency'; + $self->beneficiary = Account::parseAccount($self->getValue($data, 'T::TokenMutation.behavior.SomeMutation.HasRoyalty.beneficiary')); + $self->percentage = $self->getValue($data, 'T::TokenMutation.behavior.SomeMutation.HasRoyalty.percentage'); + $self->anyoneCanInfuse = $self->getValue($data, 'T::TokenMutation.anyone_can_infuse.SomeMutation'); + $self->tokenName = is_array($s = $self->getValue($data, 'T::TokenMutation.name.SomeMutation')) ? HexConverter::bytesToHex($s) : $s; return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Transferred.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Transferred.php index 971731c7..1ff5d9a5 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Transferred.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Transferred.php @@ -26,12 +26,12 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->collectionId = $self->getValue($data, ['collection_id', '0']); - $self->tokenId = $self->getValue($data, ['token_id', '1']); - $self->operator = Account::parseAccount($self->getValue($data, ['operator', '2'])); - $self->from = Account::parseAccount($self->getValue($data, ['from', '3'])); - $self->to = Account::parseAccount($self->getValue($data, ['to', '4'])); - $self->amount = $self->getValue($data, ['amount', '5']); + $self->collectionId = $self->getValue($data, 0); + $self->tokenId = $self->getValue($data, 1); + $self->operator = Account::parseAccount($self->getValue($data, 2)); + $self->from = Account::parseAccount($self->getValue($data, 3)); + $self->to = Account::parseAccount($self->getValue($data, 4)); + $self->amount = $self->getValue($data, 5); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Unapproved.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Unapproved.php index 74af2ea9..fe5ce99a 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Unapproved.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Unapproved.php @@ -24,10 +24,10 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->collectionId = $self->getValue($data, ['collection_id', '0']); - $self->tokenId = $self->getValue($data, ['token_id.Some', '1']); - $self->owner = Account::parseAccount($self->getValue($data, ['owner', '2'])); - $self->operator = Account::parseAccount($self->getValue($data, ['operator', '3'])); + $self->collectionId = $self->getValue($data, 0); + $self->tokenId = $self->getValue($data, 1); + $self->owner = Account::parseAccount($self->getValue($data, 2)); + $self->operator = Account::parseAccount($self->getValue($data, 3)); return $self; } diff --git a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Unreserved.php b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Unreserved.php index ef6f1868..59780715 100644 --- a/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Unreserved.php +++ b/src/Services/Processor/Substrate/Codec/Polkadart/Events/MultiTokens/Unreserved.php @@ -26,12 +26,12 @@ public static function fromChain(array $data): self $self->extrinsicIndex = Arr::get($data, 'phase.ApplyExtrinsic'); $self->module = array_key_first(Arr::get($data, 'event')); $self->name = array_key_first(Arr::get($data, 'event.' . $self->module)); - $self->collectionId = $self->getValue($data, ['collection_id', 'T::CollectionId']); - $self->tokenId = $self->getValue($data, ['token_id', 'T::TokenId']); - $self->accountId = Account::parseAccount($self->getValue($data, ['account_id', 'T::AccountId'])); - $self->amount = $self->getValue($data, ['amount', 'T::TokenBalance']); + $self->collectionId = $self->getValue($data, 'T::CollectionId'); + $self->tokenId = $self->getValue($data, 'T::TokenId'); + $self->accountId = Account::parseAccount($self->getValue($data, 'T::AccountId')); + $self->amount = $self->getValue($data, 'T::TokenBalance'); $self->reserveId = HexConverter::hexToString( - is_string($value = $self->getValue($data, ['reserve_id.Some', 'Option'])) + is_string($value = $self->getValue($data, 'Option')) ? $value : HexConverter::bytesToHex($value) );